{"version":3,"sources":["./src/app/stores/app.reducers.ts","./src/app/landing-pages/ebooks/download-ebook/download-ebook.component.ts","./src/app/landing-pages/ebooks/download-ebook/download-ebook.component.html","./src/app/login-guard.service.ts","./src/app/home-page/shared/free-trial-details/free-trial-expiry/free-trial-expiry.component.ts","./src/app/home-page/shared/free-trial-details/free-trial-expiry/free-trial-expiry.component.html","./src/app/home-page/shared/home-search/home-search.component.ts","./src/app/home-page/shared/home-search/home-search.component.html","./src/app/shared/components/myplan-popup/myplan-popup.component.ts","./src/app/shared/components/myplan-popup/myplan-popup.component.html","./src/app/home-page/shared/selected-card-loader/selected-card-loader.component.html","./src/app/home-page/shared/selected-card-loader/selected-card-loader.component.ts","./src/app/home-page/services/assigned-tests.service.ts","./src/app/shared/components/header-after-login/profile-dropdown/profile-dropdown.component.ts","./src/app/shared/components/header-after-login/profile-dropdown/profile-dropdown.component.html","./src/app/shared/components/profile-user-info/profile-user-info.component.html","./src/app/shared/components/profile-user-info/profile-user-info.component.ts","./src/app/shared/services/g-lite-utility.service.ts","./src/app/on-spot-test/on-spot-test.constants.ts","./src/app/application-survey/application-survey.component.ts","./src/app/application-survey/application-survey.component.html","./src/app/shared/components/otp-verify-modal/otp-verify-modal.component.ts","./src/app/shared/components/otp-verify-modal/otp-verify-modal.component.html","./src/app/shared/pipes/convert-seconds.pipe.ts","./src/app/shared/directives/captcha.directive.ts","./src/app/auth-guard.service.ts","./src/app/shared/components/loader/loader.component.ts","./src/app/shared/components/loader/loader.component.html","./src/app/goal-setting/services/goal-setting.service.ts","./src/app/help-and-support/services/help.service.ts","./src/app/test/shared/components/auto-proctor-dialog/auto-proctor-dialog.component.ts","./src/app/test/shared/components/auto-proctor-dialog/auto-proctor-dialog.component.html","./src/app/stores/auth/auth.actions.ts","./src/app/shared/components/courses-we-offer/courses.constant.ts","./src/app/shared/pipes/date-difference.pipe.ts","./src/app/shared/services/notification.service.ts","./src/app/shared/services/utility.service.ts","./src/app/components/header-before-login/headermenus.constant.ts","./src/app/utility/extra-edge-v3.service.ts","./src/app/shared/services/extra-edge.service.ts","./src/environments/environment.prod.ts","./src/app/components/footer-before-login/ebook.constant.ts","./src/app/shared/services/alert.service.ts","./src/app/shared/directives/zoom.directive.ts","./src/app/home-page/services/upcoming-tests.service.ts","./src/app/stores/profile/user-profile.reducers.ts","./src/app/auth/fiit-jee-login/service/fiit-jee.service.ts","./src/app/stores/auth/auth.reducers.ts","./src/app/shared/services/detect-location.service.ts","./src/app/landing-pages/ebooks/ebooks.service.ts","./src/app/stores/proforma/proforma.actions.ts","./src/app/shared/pipes/safe.pipe.ts","./src/app/home-page/cards-detail/right-selected-card/buy-courses/actions.enum.ts","./src/app/shared/components/header-after-login/notification/notification.component.html","./src/app/shared/components/header-after-login/notification/notification.component.ts","./src/app/home-page/shared/test-filters/date-filter/date-filter.component.ts","./src/app/home-page/shared/test-filters/date-filter/date-filter.component.html","./src/app/home-page/shared/api-failed-for-cards/api-failed-for-cards.component.ts","./src/app/home-page/shared/api-failed-for-cards/api-failed-for-cards.component.html","./src/app/shared/constants/previous-year-papers.constant.ts","./src/app/shared/directives/detect-visibility.directive.ts","./src/app/stores/proforma/proforma.reducers.ts","./src/app/shared/components/report-an-issue-idea/report-an-issue-idea.component.ts","./src/app/shared/components/report-an-issue-idea/report-an-issue-idea.component.html","./src/app/shared/components/report-an-issue/report-an-issue.component.ts","./src/app/shared/components/report-an-issue/report-an-issue.component.html","./src/app/shared/components/primary-goal-popup/primary-goal-popup.component.html","./src/app/shared/components/primary-goal-popup/primary-goal-popup.component.ts","./src/app/shared/components/tag-creator-shared/tag-creator-shared.component.ts","./src/app/shared/components/tag-creator-shared/tag-creator-shared.component.html","./src/app/shared/components/testimonial-home/testimonial-home.component.ts","./src/app/shared/components/testimonial-home/testimonial-home.component.html","./src/app/shared/components/courses-we-offer/courses-we-offer.component.ts","./src/app/shared/components/courses-we-offer/courses-we-offer.component.html","./src/app/components/footer-before-login/footer-before-login.component.ts","./src/app/components/footer-before-login/footer-before-login.component.html","./src/app/models/profile.model.ts","./src/app/shared/shared.module.ts","./src/app/auth/signup-login-master/shared/services/signup.service.ts","./src/app/shared/components/logout-confirm/logout-confirm.component.ts","./src/app/shared/components/logout-confirm/logout-confirm.component.html","./src/app/components/alert/alert.component.ts","./src/app/components/alert/alert.component.html","./src/app/home-page/cards-detail/right-selected-card/buy-courses/course-card/course-card.service.ts","./src/app/shared/pipes/sanitise-html.pipe.ts","./src/app/shared/components/change-password/change-password.component.ts","./src/app/shared/components/change-password/change-password.component.html","./src/app/app.component.ts","./src/app/app.component.html","./src/app/shared/services/http.service.ts","./src/app/home-page/shared/test-filters/test-filters.component.ts","./src/app/home-page/shared/test-filters/test-filters.component.html","./src/app/shared/services/clever-tap.service.ts","./src/app/components/header-before-login/header-before-login.component.ts","./src/app/components/header-before-login/header-before-login.component.html","./src/app/shared/utils/admissionTest.util.ts","./src/app/stores/test-ongoing/test-ongoing.reducers.ts","./src/app/stores/profile/user-profile.actions.ts","./src/app/models/proforma.model.ts","./src/app/shared/constants/user-action.constant.ts","./src/app/app.module.ts","./src/app/shared/serious-attempt-warning/serious-attempt-warning.component.ts","./src/app/shared/serious-attempt-warning/serious-attempt-warning.component.html","./src/app/auth/signup-login-master/shared/social-signup-login/social-signup-login.component.ts","./src/app/auth/signup-login-master/shared/social-signup-login/social-signup-login.component.html","./src/app/new-community/shared/utility.service.ts","./src/app/shared/constants/error.constants.ts","./src/app/home-page/constants/routes.constant.ts","./src/app/stores/test-ongoing/test-ongoing.actions.ts","./src/app/shared/loader-lite/loader-lite.component.ts","./src/app/shared/loader-lite/loader-lite.component.html","./src/app/app.constants.ts","./src/app/shared/services/lazy-loading.service.ts","./src/app/shared/components/info-popup/info-popup.component.ts","./src/app/shared/components/info-popup/info-popup.component.html","./src/app/home-page/services/home.service.ts","./src/app/shared/components/done-with-revision/done-with-revision.component.ts","./src/app/shared/components/done-with-revision/done-with-revision.component.html","./src/app/profile/shared/services/profile.service.ts","./src/app/admissionTestGuard.resolver.ts","./src/app/shared/page-lock/page-lock.component.html","./src/app/shared/page-lock/page-lock.component.ts","./src/app/stores/loader/loader.actions.ts","./src/app/test-results-analytics/side-filter-list/multiselectfilter/multiselectfilter.component.ts","./src/app/test-results-analytics/side-filter-list/multiselectfilter/multiselectfilter.component.html","./src/app/shared/constants/glite.constants.ts","./src/app/shared/components/form/free-trial-form/form.constant.ts","./src/app/shared/components/report-abuse/report-abuse.component.ts","./src/app/shared/components/report-abuse/report-abuse.component.html","./src/app/test-results-analytics/services/solution.service.ts","./src/app/stores/auth/auth.effects.ts","./src/app/stores/proforma/proforma.effect.ts","./src/app/shared/components/form/free-trial-form/free-trial-form.component.ts","./src/app/shared/components/form/free-trial-form/free-trial-form.component.html","./src/app/invalid-login/invalid-login.component.ts","./src/app/invalid-login/invalid-login.component.html","./src/app/shared/constants/common.constant.ts","./src/app/shared/services/helper.service.ts","./src/app/shared/components/transfer-to-paytm/transfer-to-paytm.component.ts","./src/app/shared/components/transfer-to-paytm/transfer-to-paytm.component.html","./src/app/test-results-analytics/side-filter-list/side-filter-list.component.ts","./src/app/test-results-analytics/side-filter-list/side-filter-list.component.html","./src/app/auth/verify-passcode/verify-passcode.component.html","./src/app/auth/verify-passcode/verify-passcode.component.ts","./src/app/shared/pipes/highlight-search.pipe.ts","./src/app/shared/components/test-details-syllabus/test-details-syllabus.component.html","./src/app/shared/components/test-details-syllabus/test-details-syllabus.component.ts","./src/app/stores/loader/loader.reducers.ts","./src/app/stores/profile/user-profile.effect.ts","./src/app/shared/components/header-after-login/header-after-login.component.ts","./src/app/shared/components/header-after-login/header-after-login.component.html","./src/app/app-routing.module.ts","./src/app/user-onboarding/service/onboarding.service.ts","./src/app/home-page/cards-detail/right-selected-card/buy-courses/buy-courses.service.ts","./src/app/quiz-platform/constants/quiz.constants.ts","./src/app/shared/components/under-development/under-development.component.ts","./src/app/shared/components/under-development/under-development.component.html","./src/app/shared/directives/mathlive.directive.ts","./src/main.ts","./src/app/profile/my-cash-card/share-referral-popup/share-referral-popup.component.ts","./src/app/profile/my-cash-card/share-referral-popup/share-referral-popup.component.html","./$_lazy_route_resource lazy namespace object","./src/app/home-page/shared/locked-state/locked-state.component.ts","./src/app/home-page/shared/locked-state/locked-state.component.html"],"names":[],"mappings":";;;;;;;;;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiD;AACc;AACR;AACM;AACO;AAW7D,MAAM,WAAW,GAA+B;IACnD,IAAI,EAAE,+DAAoB;IAC1B,WAAW,EAAE,iFAA8B;IAC3C,MAAM,EAAE,qEAAwB;IAChC,QAAQ,EAAE,2EAA4B;IACtC,WAAW,EAAE,sFAA8B;CAC9C,CAAC;;;;;;;;;;;;;ACpBF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoC;AAC2C;AAEP;AAGP;AAEtB;;;;;;;;;;;;;ICGzB,2EAAqD;IAAA,uDAAqB;IAAA,4DAAO;;;IAA5B,0DAAqB;IAArB,yFAAqB;;;;IASpE,wEAA0G;IAA7B,mWAA4B;IAAC,uDAAe;IAAA,4DAAI;;;IAAnB,0DAAe;IAAf,gFAAe;;;IAG/H,2EAAsD;IAAA,uDAAsB;IAAA,4DAAO;;;IAA7B,0DAAsB;IAAtB,0FAAsB;;;;IAWpE,yEAAmG;IAArC,sXAAoC;IAAC,qEAA0F;IAAA,uDAAoB;IAAA,4DAAK;;;IAA9G,0DAA+D;IAA/D,2MAA+D;IAAC,iFAAoB;IAAC,0DAAoB;IAApB,qFAAoB;;;;IANvN,0EAAwG;IAAxB,6TAAuB;IACrG,0EAAgE;IAC5D,qEAAqG;IAAA,uDACrG;IAAA,qEAAiD;IACrD,4DAAM;IACN,yEAAsC;IAClC,wHAAsN;IAC1N,4DAAK;IACT,4DAAM;;;IANO,0DAAgE;IAAhE,+MAAgE;IAAC,6FAA6B;IAAE,0DACrG;IADqG,2GACrG;IAG8C,0DAAc;IAAd,uFAAc;;;IAKpE,2EAAuD;IAAA,uDAA4B;IAAA,4DAAO;;;IAAnC,0DAA4B;IAA5B,gGAA4B;;;;IAErF,0EAA+D;IAC7D,0EACqC;IADyB,kVAAmC;IAC5D,4DAAM;IAC7C,4DAAM;;IAF4B,0DAAe;IAAf,wEAAe;;;IAGjD,0EAAuF;IAAA,2EAA4B;IAAA,gFAAqB;IAAA,4DAAO;IAAA,4DAAM;;;;IAWrK,sFAA4K;;;IAAzH,6MAAiG;;;;ADxC7I,MAAM,sBAAsB;IAgCjC,YACqC,QAAkB,EAC7C,EAAe,EACf,OAAuB,EACvB,MAAqB,EACrB,KAA8B,EAC9B,OAAsB;QALK,aAAQ,GAAR,QAAQ,CAAU;QAC7C,OAAE,GAAF,EAAE,CAAa;QACf,YAAO,GAAP,OAAO,CAAgB;QACvB,WAAM,GAAN,MAAM,CAAe;QACrB,UAAK,GAAL,KAAK,CAAyB;QAC9B,YAAO,GAAP,OAAO,CAAe;QA7BxB,uBAAkB,GAAG,IAAI,iDAAY,EAAE,CAAC;QACxC,mBAAc,GAAY,KAAK,CAAC;QACjC,4BAAuB,GAAW,EAAE,CAAC;QACrC,yBAAoB,GAAY,KAAK,CAAC;QACtC,sBAAiB,GAAc,IAAI,CAAC;QACpC,kBAAa,GAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QAC1D,gBAAW,GAAQ;YACxB,WAAW,EAAE,KAAK;YAClB,cAAc,EAAE,IAAI;YACpB,gBAAgB,EAAE,KAAK;SACxB,CAAC;QACK,cAAS,GAAQ;YACtB,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,YAAY,EAAE,KAAK;YACnB,OAAO,EAAE,yCAAyC;YAClD,QAAQ,EAAE,wBAAwB;YAClC,cAAc,EAAE,sBAAsB;YACtC,eAAe,EAAE,CAAC;YAClB,cAAc,EAAE,IAAI;SACrB,CAAC;QACK,qBAAgB,GAAQ,qFAAY,CAAC,CAAC,CAAC,CAAC;IAS3C,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CACzB,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,YAAqB,EAAE,EAAE;YACnE,IAAI,YAAY,EAAE;gBAChB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;QACH,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CACzB,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,SAAkB,EAAE,EAAE;YACpE,IAAI,SAAS,EAAE;gBACb,CAAC,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAClC,IAAI,CAAC,iBAAiB,EAAE,CAAC;aAC1B;QACH,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CACzB,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE;YACrD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,CAAC,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aACnC;iBAAM;gBACL,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;QACH,CAAC,CAAC,CACH;IACH,CAAC;IAGD,eAAe,CAAC,KAAU;QACxB,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE;YAC9I,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7B;IACH,CAAC;IAED,eAAe;QACb,MAAM,eAAe,GAAG,UAAU,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;QAClC,IAAI,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC;QACjD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACnC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACvD;QACD,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAC/E,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACrC,IAAI,EAAE,CAAC,EAAE,CAAC;YACV,MAAM,EAAE,CAAC,EAAE,CAAC;SACb,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QAC1D,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,KAAK,CAAC;IACtC,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;SACjB;QACD,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,KAAK,CAAC;IAC1C,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;SACjB;QACD,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,KAAK,CAAC;QACxC,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,KAAK,CAAC;IACvC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,qFAAY,CAAC;IACtB,CAAC;IAED,UAAU;QACR,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC1C,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,WAAW,CAAC,YAAiB;QAC3B,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC;QACnC,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,KAAK,YAAY,CAAC,GAAG,EAAE;YAC/C,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;YAC9C,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC;SAC3C;IACH,CAAC;IAED,iBAAiB,CAAC,gBAAqB;QACrC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,kBAAkB,CAAC,CAAM;QACvB,IAAI,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC;QACvD,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,KAAK,CAAC;QACpC,IAAI,OAAO,GAAG,UAAU,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;YAC/B,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACnE;aAAM,IAAI,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,uBAAuB,EAAE;YAC7D,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;SACxE;QACD,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC;QACjF,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACnE,CAAC;IAED,aAAa;QACX,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC;IACvD,CAAC;IAED,aAAa;QACX,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,EAAE,EAAE;YACpC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;SACtC;QAED,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI;YACvC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ;YAC3C,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM;YACjD,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,EAAE;YAChB,KAAK,EAAE;gBACL,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG;gBAC/B,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK;aAC/B;YACD,YAAY;SACb,CAAC;QACF,CAAC,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,sEAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,WAAW;QACT,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;IACxC,CAAC;IAED,WAAW;QACT,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC;IACtE,CAAC;;4FAtMU,sBAAsB,kEAiCvB,wDAAQ;sGAjCP,sBAAsB;kEACtB,4FAAgB;;;;;;;;;oJADhB,2BAAuB;;QClBpC,yEAAiH;QAC/G,yEAAkE;QAC9D,yEAA2B;QACvB,4EAAiE;QAA7B,8IAAS,sBAAkB,IAAC;QAAC,oEAA6D;QAAA,4DAAS;QACvI,yEAA8B;QAC5B,0EAAiE;QAC7D,wEAA6B;QAAA,uDAAgB;QAAA,4DAAK;QAClD,yEAAwB;QACtB,yEAAO;QAAA,qEAAS;QAAA,4DAAQ;QACxB,0EAAwB;QACpB,6EAA4K;QAA7B,8IAAS,qBAAiB,IAAC;QAA1K,4DAA4K;QAC5K,sEAAiE;QACrE,4DAAM;QACN,uHAAiF;QACnF,4DAAM;QACN,0EAAwB;QACtB,yEAAO;QAAA,iEAAK;QAAA,4DAAQ;QACpB,+EAAiG;QAC7F,8EAA4K;QAAhC,+IAAS,yBAAqB,IAAC;QACvK,wDACJ;QAAA,4DAAS;QACT,2EAAgE;QAC9D,iHAA6H;QAC/H,4DAAM;QACV,4DAAM;QACN,uHAAmF;QACrF,4DAAM;QACN,0EAAwB;QACtB,yEAAO;QAAA,sEAAU;QAAA,4DAAQ;QACzB,+EAA8G;QAC5G,qHAQI;QACF,6EAA2I;QAAtC,oJAAS,8BAA0B,IAAC;QAAzI,4DAA2I;QAC/I,4DAAM;QACN,uHAA0F;QAC5F,4DAAM;QACN,qHAGM;QACN,qHAAqJ;QACvJ,2EAAiC;QAC/B,8EAAmS;QAA1B,+IAAS,mBAAe,IAAC;QAAC,wDAAY;QAAA,4DAAS;QAC1T,4DAAM;QACR,4DAAO;QACT,4DAAM;QACV,4DAAM;QACV,4DAAM;QACR,4DAAM;QAGN,uJAA4K;;QArD/H,0DAA+B;QAA/B,4FAA+B;QAC/B,0DAAgB;QAAhB,iFAAgB;QAIpB,0DAAiD;QAAjD,qKAAiD;QAG/C,0DAA0B;QAA1B,0FAA0B;QAIL,0DAAkD;QAAlD,sKAAkD;QAExF,0DACJ;QADI,mGACJ;QAE2D,0DAAkB;QAAlB,wFAAkB;QAGxD,0DAA2B;QAA3B,2FAA2B;QAIX,0DAAmD;QAAnD,uKAAmD;QAChD,0DAAoC;QAApC,oGAAoC;QAWvD,0DAA4B;QAA5B,4FAA4B;QAEvB,0DAA6B;QAA7B,6FAA6B;QAIzC,0DAAiE;QAAjE,qIAAiE;QAEjB,0DAAoM;QAApM,0nBAAoM;QAA2B,0DAAY;QAAZ,6EAAY;QASxS,0DAA0B;QAA1B,0FAA0B;;;;;;;;;;;;;;AChDjD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqC;;;;AAG9B,MAAM,UAAU;IAErB,YAAoB,MAAc,EAAU,KAA8B;QAAtD,WAAM,GAAN,MAAM,CAAQ;QAAU,UAAK,GAAL,KAAK,CAAyB;IAAI,CAAC;IAC/E,WAAW,CAAC,KAA6B,EAAE,KAA0B;QACnE,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CACnC,0DAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACX,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY,EAAE;gBACxC,OAAO,IAAI,CAAC;aACb;iBAAK,IAAG,YAAY,EAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;gBACpC,OAAO,KAAK,CAAC;aACd;iBAAK;gBACJ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC/B,OAAO,KAAK,CAAC;aACd;QACH,CAAC,CACA,CACF,CAAC;IACJ,CAAC;;oEAnBU,UAAU;6FAAV,UAAU,WAAV,UAAU;;;;;;;;;;;;;;;;;;;ACLhB,MAAM,wBAAwB;IAEnC,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAI,CAAC;IAEvC,QAAQ;IACR,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC5C,CAAC;;gGATU,wBAAwB;wGAAxB,wBAAwB;QCPrC,yEAA0F;QACtF,yEAAkE;QAC9D,yEAA2B;QACvB,4EAAyD;QAAA,oEAA6D;QAAA,4DAAS;QAC/H,yEAAwB;QACpB,yEAAqB;QACjB,oEAA8E;QAC9E,qEAAI;QAAA,8EAAmB;QAAA,4DAAK;QAChC,4DAAM;QACN,qEAAG;QACD,kIACF;QAAA,4DAAI;QACJ,wEAAqB;QAAA,2FAA+B;QAAA,4DAAI;QACxD,qEAAG;QAAA,kEAAM;QAAA,qEAAG;QAAA,iEAAK;QAAA,4DAAI;QAAC,2HAA8D;QAAA,4DAAI;QAC5F,4DAAM;QACN,0EAAqC;QACjC,8EAA0H;QAAjC,iJAAS,0BAAsB,IAAC;QAAC,sEAAU;QAAA,4DAAS;QACjJ,4DAAM;QACV,4DAAM;QACV,4DAAM;QACR,4DAAM;;;;;;;;;;;;;;ACrBR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsG;AAC9C;AAGhB;AACjB;;;;;;;;;ICgCX,2EAAkG;IAAA,uDAAsB;IAAA,4DAAO;;;IAAhG,8JAAkE;IAAC,0DAAsB;IAAtB,kHAAsB;;;;IAN5H,yEAAiG;IAA7F,kYAAgD;IAClD,0EAAkC;IAChC,0EAAuC;IAAA,qEAA+E;IAAA,4DAAM;IAC5H,0EAAkC;IAAA,oEAAG;IAAA,uDAAkC;;IAAA,4DAAI;IAAA,4DAAM;IACnF,4DAAM;IACN,0EAAmC;IACjC,6HAA+H;IACjI,4DAAM;IACR,4DAAK;;;IALoC,0DAAkC;IAAlC,mLAAkC;IAGhE,0DAAsB;IAAtB,mHAAsB;;;IAZrC,yEAAyG;IACvG,0EAAqB;IACnB,0EAAyC;IACvC,2EAA4B;IAAA,iEAAM;IAAA,4DAAO;IACzC,wEAA2D;IAAA,oEAAS;IAAA,4DAAI;IAC1E,4DAAM;IACN,qHAQK;IACP,4DAAM;IACR,4DAAK;;;IAV2E,0DAAmB;IAAnB,4FAAmB;;;IAmB3F,0EAAsG;IAAA,qEAA+E;IAAA,4DAAM;;;IAEzL,0EAAuC;IAAA,qEAAiF;IAAA,4DAAM;;;IAKhI,2EAAkG;IAAA,uDAAsB;IAAA,4DAAO;;;IAAhG,gKAAkE;IAAC,0DAAsB;IAAtB,oHAAsB;;;;IAT5H,yEAAkG;IAA9F,uYAAgD;IAClD,0EAAkC;IAChC,2HAA2L;IAC3L,uNAEc;IACd,wEAAoB;IAAA,uDAAkC;;IAAA,4DAAI;IAC5D,4DAAM;IACN,0EAAmC;IACjC,6HAA+H;IACjI,4DAAM;IACR,4DAAK;;;;IATK,0DAAqC;IAArC,mGAAqC;IAIvB,0DAAkC;IAAlC,qLAAkC;IAG/C,0DAAsB;IAAtB,qHAAsB;;;;IAfrC,yEAA2D;IACzD,0EAAyB;IACvB,0EAA0D;IAAnC,oUAAkC;IACvD,mFACC;IAAA,uEAAM;IAAA,uDAAc;IAAA,4DAAO;IAAA,8DAC9B;IAAA,4DAAM;IACN,qHAWK;IACP,4DAAM;IACR,4DAAK;;;IAfQ,0DAAc;IAAd,kFAAc;IAEqD,0DAAoB;IAApB,6FAAoB;;ADjCjG,MAAM,mBAAmB;IAiB9B,YAAoB,WAAwB,EAClC,MAAc,EAAU,YAA0B;QADxC,gBAAW,GAAX,WAAW,CAAa;QAClC,WAAM,GAAN,MAAM,CAAQ;QAAU,iBAAY,GAAZ,YAAY,CAAc;QAhBlD,aAAQ,GAAG,IAAI,0DAAY,EAAO,CAAC;QAI7C,0BAAqB,GAAY,KAAK,CAAC;QACvC,qBAAgB,GAAY,KAAK,CAAC;QAClC,gBAAW,GAAY,KAAK,CAAC;QAC7B,eAAU,GAAW,EAAE,CAAC;QACxB,4BAAuB,GAAG,KAAK,CAAC;QAEhC,yBAAoB,GAAY,KAAK,CAAC;QACtC,eAAU,GAAkB;YAC1B,iBAAiB,EAAE,kBAAkB,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY;SACjG,CAAC;QA6MF,wBAAmB,GAAG,6CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE;YACzC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YAExB,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE;gBACnC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;gBACnC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC9B,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,OAAO;aACR;YACD,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChC,CAAC,EAAE,GAAG,CAAC,CAAC;QAuDD,wBAAmB,GAAG,6CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;QA5Q9E,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAC/B,6DAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,YAAY,6DAAa,CAAC,CAClD,CAAC;QACF,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAgB,EAAE,EAAE;YACpC,IAAI,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE;gBAC7C,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBACvE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,IAAI;aAClC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YACnD,QAAQ,IAAI,CAAC,MAAM,EAAE;gBACnB,KAAK,sBAAsB;oBACzB,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC5B,MAAM;gBACR,KAAK,qBAAqB;oBACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;aACnB;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YACrD,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACvE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,IAAI;SAClC;QAED,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAClD,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gBACrB,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CAAC;QAEH,8BAA8B;QAC9B,CAAC,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC;YACpB,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC,IAAI,CAAC;YACN,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;SACtB;IACH,CAAC;IAED,cAAc,CAAC,YAAY,EAAE,KAAK;QAChC,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC;QACpC,IAAI,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC;QACzB,YAAY,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAC7C,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,IAAI,CAAC,uBAAuB,EAAE;gBAChC,OAAO;aACR;YAED,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACzB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;gBAC3B,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;oBAChD,IAAI,GAAG,EAAE;wBACP,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;wBACpC,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;wBAC5B,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,EAAE,EAAE;4BACrC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;yBAC5D;wBACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;qBAC5B;gBACH,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;aAC5B;SACF;aAAM;YACL,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC7B,OAAO;aACR;YACD,IAAI,IAAI,CAAC,qBAAqB,EAAE;gBAC9B,IAAI,KAAK,GAAG,iBAAiB,CAAC;gBAC9B,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC9B,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;oBACtE,IAAI,GAAG,EAAE;wBACP,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,6CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;wBAC5G,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;wBACjC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;qBACnC;yBAAM;wBACL,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;wBACnC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;qBACnC;oBACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,iBAAiB,GAAG,EAAE;aAC5B;SACF;IACH,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC3D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB,CAAC,CAAC,EAAE,YAAY;QAChC,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,YAAY,IAAI,YAAY,CAAC,IAAI,CAAC;QACpD,IAAI,EAAE,GAAG,YAAY,IAAI,YAAY,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,YAAY,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAE7C,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;QACxE,IAAI,EAAE,EAAE;YACN,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACnB,qBAAqB,EAAE,EAAE;aAC1B,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACnB,wCAAwC,YAAY,CAAC,IAAI,EAAE;aAC5D,CAAC,CAAC;SACJ;IACH,CAAC;IAED,sBAAsB;QACpB,IAAI,YAAY,GAAG;YACjB,IAAI,EAAE,IAAI,CAAC,UAAU;SACtB;QACD,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YACnB,wCAAwC,YAAY,CAAC,IAAI,EAAE;SAC5D,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACvE,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,UAAU,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;gBACjF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACnB,qBAAqB,EAAE,EAAE;iBAC1B,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,sBAAsB,EAAE;aAC9B;YACD,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;IACH,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,SAAS,GAAQ,QAAQ,CAAC,sBAAsB,CAAC,eAAe,CAAC;QACrE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACjD,CAAC;IAED,YAAY,CAAC,MAAM;QACjB,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,iBAAiB,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,kBAAkB,EAAE;YACrF,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;aAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YACtD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAC7F,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;IACH,CAAC;IAED,qBAAqB;QACnB,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAgBD,sBAAsB;QACpB,MAAM,KAAK,GAAG,iBAAiB,CAAC;QAEhC,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACtE,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,6CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAC5G,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;gBAClC,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,EAAE,EAAE;oBACtC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;iBAC9D;aACF;iBAAM;gBACL,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;gBACnC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;aACnC;YACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE;YACtD,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;gBACpB,IAAI,CAAC,gBAAgB,GAAG,EAAE;aAC3B;QACH,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,eAAe;QACb,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,oBAAoB,CAAC,cAAe;QAClC,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACzB,IAAI,CAAC,cAAc,EAAE;oBACnB,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;iBAC7C;gBACD,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;aAC7C;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAID,4BAA4B;QAC1B,IAAI,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAE9D,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACnC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yBAAyB,CAAC,OAAO;QAC/B,IAAI,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACtC,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;YACzE,IAAI,KAAK,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;YAC7E,IAAI,cAAc,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAClF,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YAC3C,OAAO,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,gEAAgE,cAAc,SAAS,CAAC,CAAC;SACjI;aAAM;YACL,OAAO,WAAW,CAAC;SACpB;IACH,CAAC;;sFAnTU,mBAAmB;mGAAnB,mBAAmB;;;;;;QCfhC,yEAAsE;QACpE,uEAA6E;QAA9B,sIAAS,uBAAmB,IAAC;QAC1E,oEAA+D;QACjE,4DAAI;QACJ,uEAAM;QACJ,8EASoF;QAJpF,0IAAS,4BAAwB,IAAC,wGACjB,+BAA2B,IADV,8FAEnB,mBAAe,IAFI;QALlC,4DASoF;QACpF,0EAA4G;QAAnC,yIAAS,4BAAwB,IAAC;QACzG,8DAAmG;QAAnG,yEAAmG;QACjG,qEAA+yB;QACjzB,4DAAM;QACR,4DAAO;QACP,+DAAiG;QAAjG,0EAAiG;QAA5B,yIAAS,qBAAiB,IAAC;QAC9F,wEAA6B;QAC3B,sEAA8C;QAChD,4DAAI;QACN,4DAAO;QACP,gHAgBK;QACL,gHAmBK;QACP,4DAAO;QACT,4DAAM;;QA/DiB,oFAA4B;QAE1C,0DAA6C;QAA7C,kKAA6C;QAIlD,0DAAkC;QAAlC,0FAAkC;QAOlC,mFAAwB;QAEC,0DAA+C;QAA/C,uGAA+C;QAKhD,0DAA4C;QAA5C,oGAA4C;QAE3D,0DAAuC;QAAvC,4JAAuC;QAGlB,0DAAyE;QAAzE,iJAAyE;QAiBzE,0DAA2B;QAA3B,2FAA2B;;;;;;;;;;;;;;;;;;;;ACjCtD,MAAM,oBAAoB;IAE/B,YAAoB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAAI,CAAC;IAEvD,QAAQ;QACN,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,eAAwB,EAAE,EAAE;YACzE,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,OAAO,CAAC,CAAC;YACvF,IAAI,eAAe,IAAI,CAAC,eAAe,EAAE;gBACvC,CAAC,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;;wFAhBU,oBAAoB;oGAApB,oBAAoB;QCTjC,yEAAwH;QACtH,yEAA0B;QACxB,yEAA2B;QACzB,yEAAwB;QACtB,oEAAwC;QACxC,qEAAI;QAAA,uEAAY;QAAA,4DAAK;QACrB,oEAAG;QAAA,qGAA0C;QAAA,4DAAI;QACjD,4EAAyD;QAAzB,4IAAS,kBAAc,IAAC;QAAC,kEAAM;QAAA,4DAAS;QAC1E,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICAF,qEAAkC;IAChC,0EAAiC;IAC/B,qEAA0B;IAC1B,qEAA0B;IAC1B,qEAA0B;IAC1B,0EAAiB;IACf,qEAA0B;IAC1B,qEAA0B;IAC5B,4DAAM;IACR,4DAAM;IACR,4DAAK;;;IApBT,0EAAmE;IACjE,qEAAI;IACF,qEAAI;IACF,0EAAiC;IAC/B,qEAA8B;IAC9B,qEAA8B;IAC9B,qEAA8B;IAC9B,qEAA8B;IAChC,4DAAM;IACR,4DAAK;IACL,4HAUK;IACP,4DAAK;IACL,qEAA0B;IAC5B,4DAAM;;;IAbmB,0DAAW;IAAX,oFAAW;;;IAgBpC,0EAA2G;IACzG,qEAAI;IACF,qEAAI;IACF,0EAAiC;IAC/B,0EAAyB;IACvB,0EAAsB;IACpB,0EAAuB;IACrB,mEAA0B;IAC5B,4DAAM;IACN,0EAAwB;IACtB,mEAAuC;IACvC,oEAAuC;IACzC,4DAAM;IACR,4DAAM;IACN,2EAAuB;IACrB,sEAA0B;IAC5B,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAK;IACP,4DAAK;IACP,4DAAM;;;IAKF,qEAAmC;IACjC,0EAAiC;IAC/B,mEAA2B;IAC3B,0EAAyB;IACvB,0EAAsB;IACpB,0EAAuB;IACrB,mEAAsB;IACtB,mEAAsB;IACxB,4DAAM;IACN,0EAAwB;IACtB,mEAA8B;IAC9B,oEAA8B;IAChC,4DAAM;IACR,4DAAM;IACN,2EAAuB;IACrB,sEAA0B;IAC5B,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAK;;;IArBT,0EAA4E;IAC1E,qEAAI;IACF,6HAmBK;IACP,4DAAK;IACP,4DAAM;;;IArBmB,0DAAY;IAAZ,qFAAY;;;IAwBrC,0EAAkE;IAChE,qEAAI;IACF,qEAAI;IACF,0EAAiC;IAC/B,qEAA8B;IAC9B,0EAA4C;IAC1C,qEAA8B;IAC9B,qEAA8B;IAChC,4DAAM;IACR,4DAAM;IACR,4DAAK;IACL,qEAAI;IACF,0EAAwC;IACtC,sEAA0B;IAC1B,sEAA0B;IAC1B,sEAA0B;IAC1B,sEAA0B;IAC1B,sEAA0B;IAC5B,4DAAM;IACR,4DAAK;IACL,sEAAI;IACA,2EAA4C;IACxC,sEAAgC;IAChC,sEAAgC;IAChC,sEAAgC;IAChC,sEAAgC;IACpC,4DAAM;IACV,4DAAK;IACL,sEAAI;IACA,sEAA0B;IAC1B,sEAA0B;IAC9B,4DAAK;IACL,sEAAI;IACA,sEAA0B;IAC1B,sEAA0B;IAC9B,4DAAK;IACP,4DAAK;IACP,4DAAM;;;IAGN,0EAAwE;IACtE,qEAAI;IACF,qEAAI;IACF,0EAA4C;IAC1C,qEAA8B;IAC9B,0EAA4C;IAC1C,qEAA8B;IAC9B,qEAA8B;IAC9B,qEAA8B;IAChC,4DAAM;IACR,4DAAM;IACN,0EAA4D;IAC1D,uEAAK;IACL,sEAA8B;IAC9B,sEAA8B;IAC9B,sEAA8B;IAC9B,sEAA8B;IAC9B,sEAA8B;IAC9B,sEAA8B;IAC9B,4DAAM;IACN,2EAAsB;IACtB,sEAAyB;IACzB,4DAAM;IACR,4DAAM;IACN,2EAA2B;IACzB,sEAA2B;IAC3B,sEAA2B;IAC3B,sEAA2B;IAC3B,sEAA2B;IAC7B,4DAAM;IACR,4DAAK;IACP,4DAAK;IACP,4DAAM;;;IAIN,0EAAqF;IACnF,qEAAI;IACF,qEAAI;IACF,0EAA4C;IAC1C,sEAAK;IACH,qEAA8B;IAC9B,qEAA8B;IAChC,4DAAM;IACN,sEAAK;IACH,qEAA8B;IAC9B,qEAA8B;IAChC,4DAAM;IACR,4DAAM;IACR,4DAAK;IACL,sEAAI;IACF,2EAA4C;IAC1C,uEAAK;IACH,sEAA8B;IAC9B,sEAA8B;IAChC,4DAAM;IACN,uEAAK;IACH,sEAA8B;IAC9B,sEAA8B;IAChC,4DAAM;IACR,4DAAM;IACR,4DAAK;IACL,sEAAI;IACF,2EAA4C;IAC1C,uEAAK;IACH,sEAA8B;IAC9B,sEAA8B;IAChC,4DAAM;IACN,uEAAK;IACH,sEAA8B;IAC9B,sEAA8B;IAChC,4DAAM;IACR,4DAAM;IACR,4DAAK;IACL,sEAAI;IACF,2EAA4C;IAC1C,uEAAK;IACH,sEAA8B;IAC9B,sEAA8B;IAChC,4DAAM;IACN,uEAAK;IACH,sEAA8B;IAC9B,sEAA8B;IAChC,4DAAM;IACR,4DAAM;IACR,4DAAK;IACP,4DAAK;IACP,4DAAM;;;IAGN,0EAAiG;IAC/F,qEAAI;IACF,qEAAI;IACF,0EAAoB;IAChB,qEAAqE;IACrE,qEAAqE;IACzE,4DAAM;IACR,4DAAK;IACL,qEAAI;IACF,0EAAoB;IAChB,qEAAqE;IACrE,qEAAqE;IACzE,4DAAM;IACR,4DAAK;IACL,sEAAI;IACF,2EAAoB;IAChB,sEAAqE;IACrE,sEAAqE;IACzE,4DAAM;IACR,4DAAK;IACL,sEAAI;IACF,2EAAoB;IAChB,sEAAqE;IACrE,sEAAqE;IACzE,4DAAM;IACR,4DAAK;IACL,sEAAI;IACF,2EAAoB;IAChB,sEAAqE;IACrE,sEAAqE;IACzE,4DAAM;IACR,4DAAK;IACP,4DAAK;IACP,4DAAM;;;IAIN,0EAA2E;IACzE,0EAA8B;IAC5B,qEACM;IACN,qEACM;IACN,qEACM;IACN,qEACM;IACR,4DAAM;IACN,qEAAI;IACF,qEAAI;IACF,0EAAoB;IAChB,qEAAsE;IAC1E,4DAAM;IACR,4DAAK;IACL,sEAAI;IACF,2EAAoB;IAChB,sEAAsE;IAC1E,4DAAM;IACR,4DAAK;IACL,sEAAI;IACF,2EAAoB;IAChB,sEAAsE;IAC1E,4DAAM;IACR,4DAAK;IACL,sEAAI;IACF,2EAAoB;IAChB,sEAAsE;IAC1E,4DAAM;IACR,4DAAK;IACL,sEAAI;IACF,2EAAoB;IAChB,sEAAsE;IAC1E,4DAAM;IACR,4DAAK;IACP,4DAAK;IACP,4DAAM;;;IAGN,0EAA0E;IAsC1E,0EAAsC;IACpC,0EAAkB;IAClB,qEAAsE;IACtE,qEAAsE;IACtE,qEAAsE;IACxE,4DAAM;IACN,0EAAmB;IACjB,qEAAsE;IACtE,qEAAsE;IACtE,qEAAsE;IACxE,4DAAM;IACN,4DAAM;IACN,2EAAsB;IACpB,sEAAuE;IACvE,sEAAuE;IACvE,sEAAuE;IACvE,sEAAuE;IACzE,4DAAM;IACN,4DAAM;;;IAEN,0EAA6E;IAC3E,yEAAqB;IACnB,oEAA8B;IAC9B,oEAA8B;IAC9B,oEAA8B;IAC9B,oEAA8B;IAChC,4DAAK;IACP,4DAAM;;ACtVC,MAAM,2BAA2B;IAItC,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;IAED,KAAK,CAAC,CAAS;QACb,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3C,OAAO,GAAG,CAAC;IACb,CAAC;;sGAbU,2BAA2B;2GAA3B,2BAA2B;QDPxC,wHAuBM;QAGN,wHAqBM;QAGN,uHAuBM;QAGN,wHAqCM;QAGN,wHAgCM;QAIN,wHAmDM;QAGN,wHAiCM;QAIN,wHAsCM;QAGN,wHAwDM;QAEN,uHAOM;;QA7V+B,4FAA4B;QA0BtB,0DAA8D;QAA9D,kIAA8D;QAwB/D,0DAAgC;QAAhC,gGAAgC;QA0BrC,0DAA2B;QAA3B,2FAA2B;QAwCxB,0DAA8B;QAA9B,8FAA8B;QAoCjC,0DAA8C;QAA9C,8GAA8C;QAsDnB,0DAA+B;QAA/B,+FAA+B;QAqC3D,0DAAqC;QAArC,qGAAqC;QAyCrC,0DAAoC;QAApC,oGAAoC;QA0D9B,0DAAiC;QAAjC,iGAAiC;;;;;;;;;;;;;;AEnV3E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuC;;;;AAKhC,MAAM,oBAAoB;IAK/B,YACU,WAAwB,EACxB,YAA0B;QAD1B,gBAAW,GAAX,WAAW,CAAa;QACxB,iBAAY,GAAZ,YAAY,CAAc;QALpC,mBAAc,GAAG,IAAI,oDAAe,CAAC,IAAI,CAAC,CAAC;QAC3C,qBAAgB,GAAG,IAAI,oDAAe,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB;IAK9D,CAAC;IAEL,gBAAgB,CAAC,IAAI;QACnB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAChG,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACnB;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;;wFApBU,oBAAoB;uGAApB,oBAAoB,WAApB,oBAAoB,mBAFnB,MAAM;;;;;;;;;;;;;ACPpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;;;;;;;ICS3E,2EAA2C;IACzC,qEAA0B;IAC5B,4DAAO;;;IADA,0DAAkB;IAAlB,wJAAkB;;;IAEzB,uEAA6E;IAAC,uDAAqB;IAAA,4DAAO;;;IAAlF,6HAAoD;IAAE,0DAAqB;IAArB,mGAAqB;;;;;IAajG,wEAA4C;IAE1C,wEAA2E;IAAxB,kUAAuB;IAAC,qEAAgG;IAAC,wEAAY;IAAA,4DAAI;IAI5L,wEAAgF;IAAtB,gUAAqB;IAAC,yEAAc;IAAA,4DAAI;IAElG,wEAA8E;IAA3B,qUAA0B;IAAC,qEAAsG;IAAC,2EAAe;IAAA,4DAAI;IAExM,wEAC8D;IAA7B,uUAA4B;IAAC,sEAA+F;IAAC,yEAAY;IAAA,4DAAI;IAChL,qEAAe;;IADb,0DAAgC;IAAhC,6IAAgC;;;ADzBjC,MAAM,wBAAwB;IAYnC,YACU,MAAc,EACd,KAA8B;QAD9B,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAyB;QAX/B,yBAAoB,GAAW,KAAK,CAAC;QACvC,aAAQ,GAAG,EAAE,CAAC;QACd,aAAQ,GAAG,EAAE,CAAC;QACd,aAAQ,GAAG,KAAK,CAAC;QACjB,aAAQ,GAAQ,EAAE,CAAC;QAEhB,eAAU,GAAG,IAAI,0DAAY,EAAO,CAAC;QACrC,iBAAY,GAAG,IAAI,0DAAY,EAAO,CAAC;QACvC,gBAAW,GAAG,IAAI,0DAAY,EAAO,CAAC;IAI5C,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE;YACzD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;YACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;IACH,CAAC;IACD,WAAW;QACT,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,SAAS;QACP,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,aAAa;QACX,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;YAC3B,OAAO;SACR;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;;gGA1DU,wBAAwB;wGAAxB,wBAAwB;QCXrC,yEAAmC;QACjC,4EAOwB;QACtB,sHAEO;QACP,sHAA0G;QAO5G,4DAAS;QACT,yEAAgE;QAC9D,yEAAuE;QACrE,sFAAqE;QACvE,4DAAM;QACN,yEAAoC;QAClC,uIAYe;QACf,uEAAuI;QAA1B,2IAAS,mBAAe,IAAC;QAAC,sEAAoF;QAAC,mEAAM;QAAA,4DAAI;QACxO,4DAAM;QACR,4DAAM;QACR,4DAAM;;QAhCyB,0DAAc;QAAd,8EAAc;QAGlC,0DAAe;QAAf,+EAAe;QAUG,0DAAqB;QAArB,kFAAqB;QAG7B,0DAA2B;QAA3B,2FAA2B;QAajB,0DAAwD;QAAxD,kKAAwD;;;;;;;;;;;;;;;;;;;;;ICjCkE,wEAA+H;IAAA,uDAAkC;IAAA,4DAAI;;;IAAtC,0DAAkC;IAAlC,+GAAkC;;;IAAlT,2EAAuG;IAAA,uDAA0C;IAAA,wHAAqK;IAAA,4DAAO;;;IAAlP,oGAA2B;IAAC,0DAA0C;IAA1C,uHAA0C;IAA0F,0DAAmC;IAAnC,sGAAmC;;;IAQ1Q,qEAA0C;IAAA,uDAAe;IAAA,4DAAK;;;IAApB,0DAAe;IAAf,wGAAe;;;IAH7D,wEAAkD;IAC9C,2EAA2B;IAAA,uDAAiC;IAAA,8DAA0D;IAA1D,0EAA0D;IAAA,sEAA+d;IAAA,4DAAM;IAAA,4DAAO;IAClmB,+DAA+B;IAA/B,yEAA+B;IAC/B,wIAA8D;IAC9D,4DAAK;IACT,qEAAe;;;IAJgB,0DAAiC;IAAjC,uJAAiC;IAEtC,0DAAkB;IAAlB,2FAAkB;;;IANhD,sEAAqC;IACjC,2EAA2B;IAC3B,uDACA;IAAA,4IAKe;IACf,4DAAO;IACX,4DAAM;;;IARF,0DACA;IADA,qJACA;IAAe,0DAAiC;IAAjC,6IAAiC;;;IAc5C,qEAAiD;IAAA,uDAAgB;IAAA,4DAAK;;;IAArB,0DAAgB;IAAhB,4GAAgB;;;IAHrE,wEAAwD;IACpD,2EAA2B;IAAA,uDAAuC;IAAA,8DAA0D;IAA1D,0EAA0D;IAAA,sEAA+d;IAAA,4DAAM;IAAA,4DAAO;IACxmB,+DAA+B;IAA/B,yEAA+B;IAC/B,wIAAsE;IACtE,4DAAK;IACT,qEAAe;;;IAJgB,0DAAuC;IAAvC,kMAAuC;IAE3C,0DAAwB;IAAxB,iIAAwB;;;IANvD,sEAA2C;IACvC,2EAA2B;IAC3B,uDACA;IAAA,4IAKe;IACf,4DAAO;IACX,4DAAM;;;IARF,0DACA;IADA,gMACA;IAAe,0DAAuC;IAAvC,wLAAuC;;;IAiB1C,uEAA+C;IAAA,uDAA8B;IAAA,4DAAO;;;IAArC,0DAA8B;IAA9B,oKAA8B;;AC/B1F,MAAM,wBAAwB;IAwBnC;QAtBO,sBAAiB,GAAG;YACzB,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YAC9B,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;YAC/B,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;YAChC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;YAC/B,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YAC9B,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;YAC/B,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;YAChC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;YACjC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;YAC/B,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE;YAC/B,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;YAChC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;YACjC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAC;YAC1C,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAC;SACrC,CAAC;QACK,aAAQ,GAAY,KAAK,CAAC;QAC1B,iBAAY,GAAQ,EAAE,CAAC;QACvB,oBAAe,GAAQ,EAAE,CAAC;QAC1B,oBAAe,GAAQ,EAAE,CAAC;QAC1B,oBAAe,GAAU,EAAE,CAAC;IAEnB,CAAC;IAEjB,QAAQ;;QACN,0CAA0C;QAC1C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvD,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;gBACxC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;gBAC3G,MAAM;aACP;SACF;QACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE;YAC1G,0CAA0C;YAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzD,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;oBACnD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;iBACtB;gBACD,0CAA0C;gBAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACpE,MAAM,GAAG,GAAG,EAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAChH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAC7B;aACF;YACD,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACtB;YACD,MAAM,eAAe,GAAG,EAAE,CAAC;YAC3B,gBAAI,CAAC,QAAQ,0CAAE,WAAW,0CAAE,OAAO,CAAC,MAAM,CAAC,EAAE;;gBAC3C,YAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,OAAO,CAAC,KAAK,CAAC,EAAE;oBAC/B,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC9B,CAAC,EAAE;YACL,CAAC,EAAE;YACH,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;SACxC;IACH,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAC1G,CAAC;IAED,OAAO,CAAC,IAAI;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,QAAQ,CAAC,SAAS;QAChB,0CAA0C;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtD,IAAI,SAAS,KAAK,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;gBACnD,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;aACxC;SACF;IACH,CAAC;IAED,QAAQ;QACN,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE;YAC5E,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;SAClG;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;;gGAnFU,wBAAwB;wGAAxB,wBAAwB;QDPrC,yEAAyB;QACrB,wEAAsB;QAAA,uDAAiC;QAAA,4DAAK;QAC5D,yEAAiC;QAE7B,0EAA2F;QAAA,uDAAiC;QAAA,4DAAO;QACnI,sHAA6T;QACjU,4DAAM;QACN,oHAUM;QACN,oHAUM;QACV,4DAAM;QAEN,yEAAmJ;QAC/I,0EAAkF;QAC9E,0EAA2B;QACvB,6EAAyD;QAAA,sEAA6D;QAAA,4DAAS;QAC/H,2EAAwB;QACpB,0EAA6B;QAAA,wEAAY;QAAA,4DAAK;QAC9C,2EAA6B;QACzB,yHAAoF;QACxF,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;;QA1CoB,0DAAiC;QAAjC,+GAAiC;QAGI,0DAAmC;QAAnC,yGAAmC;QAAC,0DAAiC;QAAjC,2GAAiC;QACxE,0DAAqB;QAArB,qFAAqB;QAEvE,0DAA6B;QAA7B,iIAA6B;QAW7B,0DAAmC;QAAnC,yKAAmC;QAoBE,2DAAkB;QAAlB,wFAAkB;;;;;;;;;;;;;;AEpCjE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgD;AACW;;;AAE3D,MAAM,sBAAsB,GAAG;IAC7B,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM;CAC5C,CAAC;AAEF,MAAM,SAAS,GAAG;IAChB,WAAW,EAAE,QAAQ;CACtB,CAAC;AAKK,MAAM,mBAAmB;IAS9B,YAAoB,KAAkB;QAAlB,UAAK,GAAL,KAAK,CAAa;QAR/B,wBAAmB,GAAG,IAAI,oDAAe,CAAM,KAAK,CAAC,CAAC;QACtD,cAAS,GAAe,EAAE,CAAC;QAC3B,kBAAa,GAAQ,EAAE,CAAC;QACxB,gBAAW,GAAQ,EAAE,CAAC;QACtB,0BAAqB,GAAG,IAAI,4CAAO,EAAO,CAAC;QAC3C,qBAAgB,GAAG,IAAI,4CAAO,EAAO,CAAC;QACtC,eAAU,GAAQ,EAAE,CAAC;IAEc,CAAC;IAE3C,WAAW;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC;IACvF,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC;IACnF,CAAC;IAED,cAAc,CAAC,IAAS;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,4BAA4B,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC;IAC9G,CAAC;IAED,MAAM,CAAC,KAAU;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC;IACrF,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC;IACjG,CAAC;IAED,mBAAmB,CAAC,QAAa;QAC/B,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;YACjD,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,eAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,SAAS,OAAK,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,GAAE;gBACrD,IAAI,cAAc,CAAC,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW,EAAE;oBACvE,YAAY,GAAG,KAAK,CAAC;iBACtB;qBAAM,IAAI,eAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,kBAAkB,KAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAC,KAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,EAAC,EAAE;oBACjI,YAAY,GAAG,IAAI,CAAC;iBACrB;aACF;QACH,CAAC,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,UAAU,CAAC,OAAY;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAC,KAAK,EAAC,OAAO,EAAC,IAAI,EAAC,KAAK,EAAC,wEAAW,CAAC,WAAW,CAAC,CAAC;IACrF,CAAC;;sFAhDU,mBAAmB;sGAAnB,mBAAmB,WAAnB,mBAAmB,mBAFlB,MAAM;;;;;;;;;;;;;ACdpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAM,MAAM,GAAG;IACX,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;CACzB,CAAC;AAEF,MAAM,iBAAiB,GAAG;IACtB,YAAY,EAAE,aAAa;IAC3B,WAAW,EAAE,YAAY;CAC5B,CAAC;AAEF,MAAM,aAAa,GAAG;IAClB,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;CAC7B,CAAC;AAEF,MAAM,cAAc,GAAG;IACnB,QAAQ,EAAE,UAAU;CACvB;AAED,MAAM,4BAA4B,GAAG,uCAAuC,CAAC;AAQ5E;;;;;;;;;;;;;AC5BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoE;AACL;AAI3B;;;;;;;;ICQlB,0EAAuE;IACrE,uDACF;IAAA,4DAAM;;;IADJ,0DACF;IADE,gIACF;;;;IAJJ,0EAA2F;IACzF,4EAAsR;IAAlG,6UAAkC,gSAA0C,mBAAmB,KAA7D;IAAtN,4DAAsR;IACpR,8HAEM;IACV,4DAAM;;;IAJgG,0DAAmE;IAAnE,4IAAmE;IAC/J,0DAAiD;IAAjD,oHAAiD;;;IAMvD,0EAA4D;IAC1D,uDACF;IAAA,4DAAM;;;IADJ,0DACF;IADE,qHACF;;;;IAJJ,0EAAgF;IAC9E,4EAAyN;IAA1E,wUAA6B;IAA5K,4DAAyN;IACvN,8HAEM;IACV,4DAAM;;;IAJkF,0DAAwD;IAAxD,iIAAwD;IACtI,0DAAsC;IAAtC,yGAAsC;;;IAM5C,0EAA2D;IACzD,uDACF;IAAA,4DAAM;;;IADJ,0DACF;IADE,oHACF;;;;IAJJ,0EAA+E;IAC7E,4EAAiL;IAAzB,mUAAwB;IAAhL,4DAAiL;IAC/K,8HAEM;IACV,4DAAM;;;IAJgF,0DAAuD;IAAvD,gIAAuD;IACnI,0DAAqC;IAArC,wGAAqC;;;IAM3C,0EAAgE;IAC9D,uDACF;IAAA,4DAAM;;;IADJ,0DACF;IADE,yHACF;;;;IAJJ,0EAAoF;IAClF,4EAA2P;IAApF,sUAA2B,gSAA0C,YAAY,KAAtD;IAAlM,4DAA2P;IACzP,8HAEM;IACV,4DAAM;;;IAJ0F,0DAA4D;IAA5D,qIAA4D;IAClJ,0DAA0C;IAA1C,6GAA0C;;;IAMhD,0EAA2D;IACzD,uDACF;IAAA,4DAAM;;;IADJ,0DACF;IADE,oHACF;;;;IAJJ,0EAA0F;IACxF,4EAAqL;IAAvB,iUAAsB;IAApL,4DAAqL;IACnL,8HAEM;IACV,4DAAM;;;IAJoF,0DAAuD;IAAvD,gIAAuD;IACvI,0DAAqC;IAArC,wGAAqC;;;IAI/C,4EAAyF;IAAA,mFAAwB;IAAA,4DAAQ;;;IACzH,4EAAoG;IAAA,iFAAsB;IAAA,4DAAQ;;;;IAEhI,0EAAwG;IACtG,6EAA4C;IAC1C,qEAAqF;IACrF,4EAAyI;IAAtH,+UAA+B,gBAAgB,KAAE;IAApE,4DAAyI;IAC3I,4DAAS;IACX,4DAAM;;;;IAEN,0EAAkE;IAChE,0EAAyB;IACvB,0EAA0B;IACxB,oEAA8C;IAC9C,wEAA+C;IAAA,0EAA0E;IAA1B,iUAAuB;IAAvE,4DAA0E;IAAA,4DAAI;IAC/H,4DAAM;IACN,6EAA4C;IAC1C,kFACA;IAAA,4EAA8H;IAA3G,kVAA+B;IAAlD,4DAA8H;IAChI,4DAAS;IACX,4DAAM;IACR,4DAAM;;;IARK,0DAAuC;IAAvC,6KAAuC;;;;IASlD,0EAAmH;IACjH,6EAA4C;IAC1C,qEAA4E;IAC5E,4EAA0I;IAAvH,+UAA+B,gBAAgB,KAAE;IAApE,4DAA0I;IAC5I,4DAAS;IACX,4DAAM;;;IAEN,uEAAmK;IAAA,oGAAyC;IAAA,4DAAO;;;IACnN,2EAAkE;IAChE,iIACF;IAAA,4DAAO;;;IACP,2EAA8H;IAC5H,uDACF;IAAA,4DAAO;;;IADL,0DACF;IADE,8MACF;;;IAaA,0EAAiE;IAC/D,uDACF;IAAA,4DAAM;;;IADJ,0DACF;IADE,0HACF;;;;IAbF,0EAAmF;IACjF,0EAAoB;IAClB,4EAAgG;IAA7C,+TAAsB,IAAI,KAAE;IAA/E,4DAAgG;IAChG,4EAAuB;IAAA,0EAAe;IAAA,4DAAQ;IAC9C,qEAAyB;IAC3B,4DAAM;IACN,0EAAoB;IAClB,4EAAiG;IAA9C,+TAAsB,KAAK,KAAE;IAAhF,4DAAiG;IACjG,4EAAuB;IAAA,8EAAmB;IAAA,4DAAQ;IAClD,sEAAyB;IAC3B,4DAAM;IACN,gIAEM;IACR,4DAAM;;;IAHgB,2DAA2C;IAA3C,+GAA2C;;;IAO3D,0EAA6D;IAC3D,uDACF;IAAA,4DAAM;;;IADJ,0DACF;IADE,sHACF;;;;IAJJ,0EAAiF;IAC/E,4EAAyL;IAAzB,mVAAwB;IAAxL,4DAAyL;IACvL,6IAEM;IACV,4DAAM;;;IAJoF,0DAAyD;IAAzD,mIAAyD;IACzI,0DAAuC;IAAvC,2GAAuC;;;IAM7C,0EAA2D;IACzD,uDACF;IAAA,4DAAM;;;IADJ,0DACF;IADE,oHACF;;;;IAJJ,0EAAyF;IACvF,4EAAqL;IAAvB,iVAAsB;IAApL,4DAAqL;IACnL,6IAEM;IACV,4DAAM;;;IAJoF,0DAAuD;IAAvD,iIAAuD;IACvI,0DAAqC;IAArC,yGAAqC;;;IATjD,wEAAuD;IACrD,sIAKM;IACN,sIAKM;IACR,qEAAe;;;IAZgC,0DAAkC;IAAlC,sGAAkC;IAMlC,0DAA0C;IAA1C,sHAA0C;;;IAOzF,4EAAmG;IAAA,iFAAsB;IAAA,4DAAQ;;;;IAE/H,0EAAsE;IACpE,0EAAyB;IACvB,0EAA0B;IACxB,oEAAkD;IAClD,wEAA+C;IAAA,0EAA8E;IAA9B,mUAAqB,IAAI,KAAE;IAA3E,4DAA8E;IAAA,4DAAI;IACnI,4DAAM;IACN,6EAA4C;IAC1C,kFACA;IAAA,4EAAkI;IAA/G,6VAAmC;IAAtD,4DAAkI;IACpI,4DAAS;IACX,4DAAM;IACR,4DAAM;;;IARK,0DAA2C;IAA3C,kLAA2C;;;;IAUtD,0EAA4G;IAC1G,6EAA4C;IAC1C,qEAA4E;IAC5E,4EAA4H;IAAzG,6VAAmC;IAAtD,4DAA4H;IAC9H,4DAAS;IACX,4DAAM;;;IAEN,uEAA6H;IAAA,oGAAyC;IAAA,4DAAO;;;IAC7K,2EAAsE;IACpE,iIACF;IAAA,4DAAO;;;IACP,2EAAqE;IACnE,uDACF;IAAA,4DAAO;;;IADL,0DACF;IADE,yJACF;;;IA3BF,0EAAoE;IAClE,8HAWM;IAEN,8HAKM;IAEN,gIAA6K;IAC7K,gIAEO;IACP,gIAEO;IACT,4DAAM;;;IA3ByB,0DAAuC;IAAvC,2GAAuC;IAazC,0DAA+E;IAA/E,2JAA+E;IAOnG,0DAAoH;IAApH,wMAAoH;IACtG,0DAA+C;IAA/C,mHAA+C;IAG/C,0DAA8C;IAA9C,kHAA8C;;;;IAKnE,6EAA4G;IAArE,sUAAsB;IAA+C,iEAAM;IAAA,4DAAS;;AD5HpI,MAAM,0BAA0B;IA+DrC,YACU,WAAuB,EACvB,cAA8B,EAC9B,KAAsB;QAFtB,gBAAW,GAAX,WAAW,CAAY;QACvB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAiB;QA5DxB,gBAAW,GAAG,CAAC,mBAAmB,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACzF,mBAAc,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,oBAAe,GAAG,KAAK,CAAC;QACxB,wBAAmB,GAAG,KAAK,CAAC;QAC5B,WAAM,GAAG,KAAK,CAAC;QACd,oBAAe,GAAG,KAAK,CAAC;QACzB,yBAAoB,GAAG,KAAK,CAAC;QAC7B,yBAAoB,GAAG;YAC5B,SAAS,EAAE,EAAE;YACb,iBAAiB,EAAE,KAAK;YACxB,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,KAAK;YACZ,4BAA4B,EAAE,EAAE;YAChC,qBAAqB,EAAE,EAAE;YACzB,gBAAgB,EAAE,EAAE;YACpB,uBAAuB,EAAE,EAAE;YAC3B,gBAAgB,EAAE,EAAE;YACpB,WAAW,EAAE,EAAE;YACf,sBAAsB,EAAE,KAAK;YAC7B,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,KAAK;YACb,iBAAiB,EAAE,EAAE;YACrB,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,KAAK;YAClB,KAAK,EAAE,KAAK;YACZ,gBAAgB,EAAE,EAAE;YACpB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,KAAK;YACjB,cAAc,EAAE,KAAK;YACrB,cAAc,EAAE,KAAK;YACrB,oBAAoB,EAAE,EAAE;YACxB,oBAAoB,EAAE,EAAE;YACxB,mBAAmB,EAAE,KAAK;YAC1B,mBAAmB,EAAE,KAAK;YAC1B,gBAAgB,EAAE,IAAI;YACtB,QAAQ,EAAE,EAAE;YACZ,gBAAgB,EAAE,KAAK;YACvB,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,KAAK;YAClB,iBAAiB,EAAE,EAAE;YACrB,gBAAgB,EAAE,KAAK;YACvB,OAAO,EAAE,KAAK;YACd,kBAAkB,EAAE,EAAE;YACtB,YAAY,EAAE,KAAK;YACnB,aAAa,EAAE,EAAE;YACjB,YAAY,EAAE,EAAE;YAChB,oBAAoB,EAAE,KAAK;SAC5B,CAAC;QACK,cAAS,GAAG;YACjB,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,EAAE;SACV;QAEO,uBAAkB,GAAG,IAAI,iDAAY,EAAE,CAAC;QAChD,qBAAgB,GAAG,KAAK,CAAC;IAIW,CAAC;IAErC,QAAQ;QACN,IAAI,CAAC,iBAAiB,GAAG,IAAI,wDAAS,CAAC;YACrC,mBAAmB,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC7D,YAAY,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACtD,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACjD,QAAQ,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAClD,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACjD,SAAS,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACpD,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC;QACtF,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,IAAI,CAAC,gBAAgB;gBACxB,CAAC,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED,eAAe;QACb,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;QACjF,IAAI,CAAC,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;QAC5D,IAAI,CAAC,oBAAoB,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC;QACpE,IAAI,CAAC,oBAAoB,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC;QAE1E,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEhE,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YAC3C,IAAI,KAAK,CAAC,GAAG,KAAK,aAAa,EAAE;gBAC/B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;aAClC;iBAAM,IAAI,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBAC9D,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;gBAC5C,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC;gBACzE,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC;gBACrE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;gBACvE,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;aACtF;SACF;QAED,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;QAEjH,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;YACjC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE;gBACpC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;aAC5C;SACF;IACH,CAAC;IAED,UAAU;QACR,CAAC,CAAC,qBAAqB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE;YAC9C,CAAC,CAAC,qBAAqB,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAC9D;IACH,CAAC;IAED,oBAAoB,CAAC,IAAS;QAC5B,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC;QAChE,IAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QACnE,KAAK,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;YACrC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACzC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC;YACnE,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC;SAChE;IACH,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;IAC9D,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACzD,IAAI,CAAC,oBAAoB,CAAC,eAAe,GAAG,KAAK,CAAC;QAClD,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,KAAK,CAAC;QAC7C,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACtD,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACtD,IAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,KAAK,CAAC;QAC/C,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,KAAK,CAAC;QAC7C,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC;QACrF,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC;QAC1F,MAAM,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;QAE9E,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,IAAI,gBAAgB,IAAI,aAAa,IAAI,kBAAkB,EAAE;YAC7F,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;YAEnE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;gBAC7D,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACtC,IAAI,CAAC,oBAAoB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;YACH,IAAI,gBAAgB,EAAE;gBACpB,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC;aAC1F;YACD,IAAI,aAAa,EAAE;gBACjB,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC;aAC1F;YACD,OAAO;SACR;QAED,MAAM,OAAO,GAAG;YACd,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;YACtC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY;SAC9C,CAAC;QAEF,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC;SAChE;QAED,IAAI,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,EAAE;YAC/C,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC;SAC/E;QAED,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE;YACnC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC;SACvD;QAED,IAAI,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE;YACxC,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC;SACjE;QAED,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE;YACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC;SACzD;QAED,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE;YACnC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC;SACvD;QAED,IAAI,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE;YACrC,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC;SAC3D;QAED,IAAI,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE;YAC5C,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC;SACpE;QACD,IAAI,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE;YAC5C,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC;SAChE;QAED,IAAI,CAAC,kBAAkB,CAAC,GAAG,CACzB,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YACtE,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE;gBACrB,CAAC,CAAC,qBAAqB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACzD,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE;oBAC9C,CAAC,CAAC,qBAAqB,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;iBAC9D;aACF;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACzD,IAAI,CAAC,oBAAoB,CAAC,eAAe,GAAG,KAAK,CAAC;QAClD,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,KAAK,CAAC;QAC7C,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACtD,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,KAAK,CAAC;QAEtD,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE;YACnG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;gBAC7D,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACtC,IAAI,CAAC,oBAAoB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;iBACjD;gBACD,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE;oBAC/D,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC;oBACzF,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC;iBAC1F;YACH,CAAC,CAAC,CAAC;YACH,OAAO;SACR;QAED,MAAM,OAAO,GAAG;YACd,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;YACtC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY;SAC9C,CAAC;QAEF,IAAI,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,EAAE;YAC/C,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC;SAC/E;QAED,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE;YACnC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC;SACvD;QAED,IAAI,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE;YACxC,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC;SACjE;QAED,IAAI,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE;YAC5C,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC;SAChE;aAAM;YACL,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC;SAChE;QAED,IAAI,CAAC,kBAAkB,CAAC,GAAG,CACzB,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YACtE,CAAC,CAAC,qBAAqB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE;gBAC9C,CAAC,CAAC,qBAAqB,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aAC9D;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,iBAAiB;QACf,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC5D,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE;YACtB,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SAC5D;IACH,CAAC;IAED,uBAAuB,CAAC,CAAM,EAAE,WAAgB;QAC9C,IAAI,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC3B,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED,uBAAuB;QACrB,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACzG,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,oBAAoB,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3F,CAAC;IAED,WAAW;QACT,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjF,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnF,CAAC;IAED,aAAa;QACX,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjF,CAAC;IAED,aAAa;QACX,IAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrF,CAAC;IAED,YAAY,CAAC,MAAe;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,KAAK,CAAC;QAC/C,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,KAAK,CAAC;QAC7C,IAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,MAAM,CAAC;QAC/C,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAEnD,IAAI,CAAC,MAAM,EAAE;YACX,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;SAC/C;aAAM;YACL,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvF,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;SACtF;IACH,CAAC;IAED,WAAW,CAAC,WAAqB;QAC/B,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,EAAE,CAAC;IACvG,CAAC;IAED,gBAAgB,CAAC,KAAK;QACpB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC/D,OAAO,GAAG,GAAG,SAAS,CAAC;IACzB,CAAC;IAED,YAAY,CAAC,CAAM,EAAE,IAAa;QAChC,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC;SACvG;QACD,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,KAAK,CAAC;QACnD,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACtD,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,KAAK,CAAC;QAEtD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC5C,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAClD,OAAO;SACR;QAED,MAAM,MAAM,GAAG;YACb,GAAG,EAAE,QAAQ;YACb,IAAI,EAAE,IAAI;YACV,aAAa,EAAE,SAAS;SACzB,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CACzB,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE;YACpE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACrC,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;aAC5D;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,CAAM;QACrB,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,gBAAgB,CAAC;QAC9B,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,GAAG,KAAK,CAAC;QACvD,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,KAAK,CAAC;QAEtD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC5C,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACtD,OAAO;SACR;QAED,MAAM,MAAM,GAAG;YACb,GAAG,EAAE,QAAQ;YACb,IAAI;YACJ,aAAa,EAAE,SAAS;SACzB,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CACzB,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE;YACpE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACrC,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;aAC5D;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,IAAS,EAAE,MAAW,EAAE,IAAY;QAClD,MAAM,QAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;QAC1C,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACxC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;SACxC;QACD,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAErB,MAAM,OAAO,GAAG,IAAI,gEAAW,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QACpE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE;YAC7E,MAAM,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAChB,IAAI,CAAC,oBAAoB,CAAC,QAAQ,GAAG,QAAQ,CAAC;aAC/C;iBAAM;gBACL,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,GAAG,QAAQ,CAAC;aACjI;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,WAAW;QACT,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;IACxC,CAAC;;oGAnaU,0BAA0B;0GAA1B,0BAA0B;QCfvC,yEAAiJ;QAC7I,yEAA0B;QAExB,yEAA2B;QACzB,yEAAwB;QAEtB,yEAA8B;QAC5B,yEAAuB;QAAA,oEAA8C;QAAA,4DAAM;QAC3E,qEAAI;QAAA,uDAAkC;QAAA,4DAAK;QAE3C,0EAAsC;QACpC,4EAAmC;QAAA,wDAA8F;QAAA,4DAAQ;QACzI,wHAKM;QACN,wHAKM;QACN,wHAKM;QACN,wHAKM;QACN,wHAKM;QACN,6HAAyH;QACzH,6HAAkI;QAClI,2EAAqD;QACnD,yHAKM;QAEN,yHAWM;QACN,yHAKM;QAEN,2HAAmN;QACnN,2HAEO;QACP,2HAEO;QACT,4DAAM;QACN,yHAcM;QACN,2IAae;QACf,6HAAiI;QACjI,yHA4BM;QACN,2EAA8C;QAC5C,+HAA2H;QAC3H,8EAAkE;QAAvB,mJAAS,gBAAY,IAAC;QAAC,kEAAM;QAAA,4DAAS;QACnF,4DAAM;QACR,4DAAO;QACT,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;;QAnJmG,oHAAqC;QAOxG,0DAAsC;QAAtC,yKAAsC;QAC9D,0DAAkC;QAAlC,mGAAkC;QAEhC,0DAA+B;QAA/B,4FAA+B;QACA,0DAA8F;QAA9F,wKAA8F;QACpF,0DAA4C;QAA5C,4GAA4C;QAM5C,0DAAiC;QAAjC,iGAAiC;QAMjC,0DAAgC;QAAhC,gGAAgC;QAMhC,0DAAqC;QAArC,qGAAqC;QAMrC,0DAA2C;QAA3C,+GAA2C;QAM1C,0DAAyC;QAAzC,yGAAyC;QACzC,0DAAoD;QAApD,wHAAoD;QAErE,0DAA2E;QAA3E,+IAA2E;QAOzE,0DAAmC;QAAnC,mGAAmC;QAYrC,0DAAsF;QAAtF,8JAAsF;QAO1G,0DAA0J;QAA1J,sOAA0J;QAC5I,0DAA2C;QAA3C,2GAA2C;QAG3C,0DAAuG;QAAvG,6KAAuG;QAIjF,0DAAoC;QAApC,wGAAoC;QAelE,0DAAsC;QAAtC,sGAAsC;QAcP,0DAAmD;QAAnD,uHAAmD;QAC3F,0DAAY;QAAZ,4EAAY;QA8B+C,0DAA2C;QAA3C,2GAA2C;;;;;;;;;;;;;;ACxI1H;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AACA;AAGsB;AAEC;AAEN;;;;;;;;;;ICSpC,2EAAyC;IAAA,uDAAY;IAAA,4DAAO;;;IAAnB,0DAAY;IAAZ,gFAAY;;;IACrD,2EAAgD;IAAA,uDAAkC;IAAA,4DAAO;;;IAAzC,0DAAkC;IAAlC,8GAAkC;;;;IAKxF,0EAAmD;IAAA,2EAAgB;IAAA,2EAA4B;IAAtB,0TAAqB;IAAC,qEAAU;IAAA,4DAAO;IAAA,4DAAM;;;;ADNjI,MAAM,uBAAuB;IAiBlC,YACU,QAAwB,EACxB,EAAe,EACf,KAA8B,EAC9B,MAAoB,EACpB,OAAsB,EACtB,MAAc;QALd,aAAQ,GAAR,QAAQ,CAAgB;QACxB,OAAE,GAAF,EAAE,CAAa;QACf,UAAK,GAAL,KAAK,CAAyB;QAC9B,WAAM,GAAN,MAAM,CAAc;QACpB,YAAO,GAAP,OAAO,CAAe;QACtB,WAAM,GAAN,MAAM,CAAQ;QArBf,gBAAW,GAAG,6EAAS,CAAC,SAAS,CAAC;QAEnC,uBAAkB,GAAG,IAAI,iDAAY,EAAE,CAAC;QACxC,gBAAW,GAAQ;YACzB,uBAAuB,EAAE,EAAE;YAC3B,cAAc,EAAE,CAAC;SAClB,CAAC;QACK,cAAS,GAAQ;YACtB,SAAS,EAAE,KAAK;YAChB,WAAW,EAAE,IAAI;SAClB,CAAC;QACK,kBAAa,GAAY,KAAK,CAAC;QAC/B,wBAAmB,GAAc,IAAI,CAAC;QACtC,aAAQ,GAAW,EAAE,CAAC;QACtB,eAAU,GAAY,IAAI,CAAC;QAwClC,cAAS,GAAG,kDAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAC7B,2DAAI,CAAC,EAAE,CAAC,EACR,0DAAG,CAAC,cAAc,CAAC,EAAE;YACnB,MAAM,gBAAgB,GAAG,EAAE,GAAG,cAAc,CAAC;YAC7C,OAAO,gBAAgB,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QACtF,CAAC,CAAC,CACH,CAAC;IAtCE,CAAC;IAEL,QAAQ;QACN,CAAC,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACvC,YAAY,EAAE,EAAE;YAChB,GAAG,EAAE,EAAE;SACR,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,GAAG,CACzB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE;YAClD,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAAE;gBACpB,IAAI,CAAC,QAAQ,GAAG,oEAAS,CAAC,SAAS,CAAC;aACrC;QACH,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,eAAe;QACb,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CACzB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;YACrC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;YACzC,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,KAAK,IAAI,EAAE;gBACvC,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC;gBACjC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAWD,SAAS;QACP,IAAI,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,OAAO,GAAG,UAAU,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACtB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACxC;aAAM,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE;YACvD,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;SACzD;QACD,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;QACjE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;IAED,SAAS;QACP,MAAM,OAAO,GAAG;YACd,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY;YAC1C,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ;SACvD,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CACzB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjD,IAAI,IAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,MAAK,GAAG,EAAE;gBACrB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC,CAAC;aAC9C;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC,CAAC;aAC5C;QACH,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;YACT,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC,CAAC;QAC7C,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,MAAM,cAAc,GAAG;gBACrB,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY;gBAC1C,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ;gBACtD,GAAG,EAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG;gBACvC,MAAM,EAAE,KAAK;gBACb,WAAW,EAAE,EAAE;aAChB,CAAC;YACF,IAAI,IAAI,CAAC,WAAW,KAAK,6EAAS,CAAC,SAAS,EAAE;gBAC5C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,sEAAwB,CAAC,cAAc,CAAC,CAAC,CAAC;aACnE;iBAAM;gBACL,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;aAChC;SACF;IACH,CAAC;IAED,SAAS,CAAC,OAAO;QACf,IAAI,CAAC,kBAAkB,CAAC,GAAG,CACzB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,GAAG,GAAE;;YAC9C,IAAG,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAC;gBACzB,MAAM,MAAM,eAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,OAAO,0CAAE,MAAM,CAAC,GAAG,CAAC;gBAC9C,CAAC,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC9B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvC,IAAG,IAAI,CAAC,YAAY;oBACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,sBAAsB,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;aACjF;iBAAI;gBACH,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aAC3C;QACH,CAAC,EAAC,KAAK,GAAE;YACP,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC,CAAC,CACH;IACH,CAAC;IAED,gBAAgB;QACd,CAAC,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,WAAW;QACT,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;IACxC,CAAC;;8FA9IU,uBAAuB;uGAAvB,uBAAuB;QCnBpC,yEAA6G;QACzG,yEAAkE;QAC9D,yEAA2B;QACvB,4EAAiE;QAA7B,+IAAS,sBAAkB,IAAC;QAAC,oEAA6D;QAAA,4DAAS;QACvI,yEAAwB;QACtB,0EAAmE;QAC/D,qEAAI;QAAA,qEAAU;QAAA,4DAAK;QACnB,qEAAI;QAAA,2GAA+C;QAAA,4DAAK;QACxD,0EAAqB;QACnB,0EAAwB;QACtB,0EAA+C;QAC7C,2EAAuC;QACnC,yEAAkD;QAAA,sEAAoI;QAAA,wDAA0C;QAAA,4DAAI;QACxO,4DAAM;QACN,wEAAuH;QACzH,4DAAM;QACR,4DAAM;QACN,0EAAwB;QACpB,6EAAiK;QAAvB,+IAAS,eAAW,IAAC;QAA/J,4DAAiK;QACjK,wHAA4D;QAC5D,wHAAyF;QAC7F,4DAAM;QACR,4DAAM;QAER,2EAAiC;QAC/B,sHAAsH;QACtH,8EAA+H;QAAtB,gJAAS,eAAW,IAAC;QAAC,kEAAM;QAAA,4DAAS;QAChJ,4DAAM;QACR,4DAAO;QACT,4DAAM;QACV,4DAAM;QACV,4DAAM;QACR,4DAAM;;QA3BuC,0DAAiC;QAAjC,8FAAiC;QAOG,2DAAmF;QAAnF,+NAAmF;QAAC,qGAAwC;QAAG,0DAA0C;QAA1C,0LAA0C;QAEjJ,0DAAkC;QAAlC,8HAAkC;QAI/D,0DAAqC;QAArC,yJAAqC;QAClE,0DAAc;QAAd,8EAAc;QAClB,0DAAyB;QAAzB,yFAAyB;QAKtB,0DAAmB;QAAnB,mFAAmB;QACmB,0DAAoC;QAApC,2JAAoC;;;;;;;;;;;;;;;;;;ACtBnH,MAAM,kBAAkB;IAE7B,SAAS,CAAC,KAAU,EAAE,IAAU;QAC9B,IAAI,OAAe,CAAC;QACpB,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,KAAK,GAAG,IAAI,EAAE;YAChB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;YACnC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9B,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;YACrB,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC;SACpC;QACD,IAAI,KAAK,GAAG,EAAE,EAAE;YACd,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;YACjC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9B,KAAK,GAAG,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC;SACpC;QACD,IAAI,KAAK,GAAG,EAAE,EAAE;YACd,OAAO,GAAG,KAAK,CAAC;YAChB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC;SACpC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;;oFAvBU,kBAAkB;sHAAlB,kBAAkB;;;;;;;;;;;;;ACL/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoJ;AACjC;AAEnD;AAC3B;;;AAerC,oEAAoE;AAG7D,MAAM,uBAAuB;IAElC,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAI,CAAC;IAEzC,aAAa,CAAC,KAAa;QACzB,OAAO,CAAC,CAAkB,EAAE,EAAE;YAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CACtE,0DAAG,CAAC,GAAG,CAAC,EAAE;gBACR,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;oBACnB,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;iBAC/B;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CACH,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;;8FAfU,uBAAuB;0GAAvB,uBAAuB,WAAvB,uBAAuB;AAqC7B,MAAM,gBAAgB;IAgB3B,YAAoB,OAAmB,EAAU,MAAc,EAAU,uBAAgD;QAArG,YAAO,GAAP,OAAO,CAAY;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,4BAAuB,GAAvB,uBAAuB,CAAyB;QAfhH,WAAM,GAAoB,EAAE,CAAC;QAEtC,wBAAwB;QAEd,oBAAe,GAAG,IAAI,0DAAY,EAAU,CAAC;QAC7C,mBAAc,GAAG,IAAI,0DAAY,EAAE,CAAC;QAOtC,QAAG,GAAQ,qEAAW,CAAC,UAAU,CAAC;IAGkF,CAAC;IAE7H,QAAQ;IAER,CAAC;IAED,yBAAyB;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,CAAC,aAAa,GAAG,GAAG,EAAE;YAC1B,MAAM,MAAM,mCACP,IAAI,CAAC,MAAM,KACd,OAAO,EAAE,IAAI,CAAC,GAAG,EACjB,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EACnC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAC9C,CAAC;YACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAClE,CAAC,CAAC;IACJ,CAAC;IAED,eAAe;QACb,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,UAAU,CAAC,GAAQ;IACnB,CAAC;IAED,gBAAgB,CAAC,EAAO;QACtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,iBAAiB,CAAC,EAAO;QACvB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,SAAS;QACP,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;YACnB,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,KAAa;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;YACnB,2BAA2B;YAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACrB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,KAAa;QACvB,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAClF,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACK,MAAM,CAAC,OAAoB,EAAE,MAAM;QACzC,OAAO,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACjC;IACH,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,sBAAsB;QACtB,OAAO,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,SAAS;QACP,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,CAAC,GAAG,GAAG,+EAA+E,IAAI,EAAE,CAAC;QACnG,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;;gFAnIU,gBAAgB,oTAgBuE,uBAAuB;gGAhB9G,gBAAgB,6QAThB;YACT;gBACE,OAAO,EAAE,gEAAiB;gBAC1B,WAAW,EAAE,gEAAU,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC;gBAC/C,KAAK,EAAE,IAAI;aACZ;YACD,uBAAuB;SACxB;;;;;;;;;;;;;AC/CH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqC;;;;AAI9B,MAAM,SAAS;IAEpB,YAAoB,MAAc,EAAU,KAA8B;QAAtD,WAAM,GAAN,MAAM,CAAQ;QAAU,UAAK,GAAL,KAAK,CAAyB;IAAI,CAAC;IAC/E,WAAW,CAAC,KAA6B,EAAE,KAA0B;QACnE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CACnC,0DAAG,CAAC,CAAC,IAAI,EAAE,EAAE;;YACX,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,MAAM,WAAW,GAAQ,KAAK,CAAC,aAAa,CAAC;gBAC7C,UAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,0CAAE,SAAS,EAAE;oBAClC,OAAO,KAAK,CAAC;iBACd;gBACD,OAAO,IAAI,CAAC;aACb;iBAAM,IAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,EAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;gBACrC,OAAO,KAAK,CAAC;aACd;iBAAK;gBACJ,IAAI,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAC5D,IAAI,QAAQ,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBACnD,YAAY,CAAC,KAAK,EAAE,CAAC;gBACrB,cAAc,CAAC,KAAK,EAAE,CAAC;gBACvB,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;gBACvD,OAAO,KAAK,CAAC;aACd;QACH,CAAC,CACA,CACF,CAAC;IACJ,CAAC;;kEA1BU,SAAS;4FAAT,SAAS,WAAT,SAAS;;;;;;;;;;;;;ACVtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqC;;;;;ICFrC,yEAA8C;IAC5C,yEAAsB;IACtB,oEAAuB;IACvB,oEAAuB;IACvB,oEAAuB;IACzB,4DAAM;IACN,4DAAM;;;IAEN,yEAAuD;IACrD,oEAAyB;IACzB,oEAAyB;IACzB,oEAAyB;IACzB,oEAAyB;IACzB,qEAAyB;IAC3B,4DAAM;;ADLC,MAAM,eAAe;IAI1B,YAAoB,KAA8B;QAA9B,UAAK,GAAL,KAAK,CAAyB;QAF3C,aAAQ,GAAY,IAAI,CAAC;QAG9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC/C,0DAAG,CAAC,CAAC,IAAS,EAAE,EAAE;YAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YAC7B,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,QAAQ;IAER,CAAC;;8EAlBU,eAAe;+FAAf,eAAe;QCT5B,2GAMM;QAEN,2GAMM;;QAdwB,8EAAc;QAQtB,0DAA+B;QAA/B,iGAA+B;;;;;;;;;;;;;;ACNrD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgD;;;;;AAoBzC,MAAM,kBAAkB;IAiB7B,YACU,IAAiB,EACjB,KAAmB,EACnB,MAAc;QAFd,SAAI,GAAJ,IAAI,CAAa;QACjB,UAAK,GAAL,KAAK,CAAc;QACnB,WAAM,GAAN,MAAM,CAAQ;QAnBjB,kBAAa,GAAG,KAAK,CAAC;QACtB,eAAU,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QAC1C,gBAAW,GAAG,IAAI,oDAAe,CAAS,GAAG,CAAC,CAAC;QAC/C,iBAAY,GAAG,IAAI,4CAAO,EAAE,CAAC;QAC7B,kBAAa,GAAG,IAAI,4CAAO,EAAE,CAAC;QACrC,UAAK,GAAG,KAAK,CAAC;QAMP,sBAAiB,GAAW,KAAK,CAAC;QAsNzC,qBAAqB;QAIrB,gCAAgC;QACzB,oBAAe,GAAG,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEjE,mBAAmB;QACZ,oBAAe,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;QAEjD,gCAAgC;QACzB,4BAAuB,GAAG,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAEhF,mBAAmB;QACZ,4BAAuB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;QAGhE,uBAAuB;QAChB,sBAAiB,GAAG,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI;QAEvE,uBAAuB;QAChB,wBAAmB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAG1D,YAAY;QACL,qBAAgB,GAAG,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAE3D,YAAY;QACL,qBAAgB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;QAxOzC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG;YAChB,KAAK,EAAC,CAAC;YACP,KAAK,EAAC,EAAE;YACR,SAAS,EAAC,KAAK;YACf,QAAQ,EAAC,KAAK;YACd,aAAa,EAAC,CAAC;YACf,aAAa,EAAC,CAAC;SAChB;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IAC3C,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;IAC3C,CAAC;IACD,uBAAuB;IACvB,eAAe,CAAC,GAAW;QACzB,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;YACnC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;SACzB;aAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;YAC3C,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;SAC1B;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,mBAAmB;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAC3F,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC;QAClF,IAAI,WAAW,EAAE;YACf,OAAO,WAAW,CAAC,KAAK,CAAC;SAC1B;aAAM;YACL,OAAO,EAAE,CAAC;SACX;IACH,CAAC;IAED,gBAAgB,CAAC,OAAO;QACtB,MAAM,KAAK,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QACtF,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC;QAClF,IAAI,WAAW,EAAE;YACf,OAAO,WAAW,CAAC,aAAa,CAAC;SAClC;aAAM;YACL,OAAO,CAAC,CAAC;SACV;IACH,CAAC;IAED,gBAAgB,CAAC,OAAO;QACtB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3F,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;SAC3F;aAAM;YACL,MAAM,KAAK,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YACtF,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC;YAClF,IAAI,WAAW,EAAE;gBACf,OAAO,WAAW,CAAC,aAAa,CAAC;aAClC;iBAAM;gBACL,OAAO,CAAC,CAAC;aACV;SACF;IACH,CAAC;IAED,gBAAgB,CAAC,GAAW,EAAE,KAAa;QACzC,MAAM,KAAK,GAAG,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAElF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,EAAE;gBACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACvB;YACD,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;gBACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;aACxB;YACD,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,EAAE;gBACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;aACxB;QACH,CAAC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC;QAC/E,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;SAC1C;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC;SAC3B;IACH,CAAC;IAED,eAAe;QACb,MAAM,UAAU,GAAG;YACjB,KAAK,EAAE,iCAAiC;YACxC,KAAK,EAAE;gBACL;oBACE,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,sBAAsB;oBAC7B,SAAS,EAAE,KAAK;oBAChB,QAAQ,EAAE,IAAI;oBACd,aAAa,EAAE,CAAC,CAAC;oBACjB,aAAa,EAAE,CAAC;iBACjB;gBACD;oBACE,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,eAAe;oBACtB,SAAS,EAAE,KAAK;oBAChB,QAAQ,EAAE,KAAK;oBACf,aAAa,EAAE,CAAC;oBAChB,aAAa,EAAE,CAAC;iBACjB;gBACD;oBACE,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,mBAAmB;oBAC1B,SAAS,EAAE,KAAK;oBAChB,QAAQ,EAAE,KAAK;oBACf,aAAa,EAAE,CAAC;oBAChB,aAAa,EAAE,CAAC;iBACjB;gBACD;oBACE,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,gBAAgB;oBACvB,SAAS,EAAE,KAAK;oBAChB,QAAQ,EAAE,KAAK;oBACf,aAAa,EAAE,CAAC;oBAChB,aAAa,EAAE,CAAC;iBACjB;gBACD;oBACE,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,mBAAmB;oBAC1B,SAAS,EAAE,KAAK;oBAChB,QAAQ,EAAE,KAAK;oBACf,aAAa,EAAE,CAAC;oBAChB,aAAa,EAAE,CAAC;iBACjB;aACF;SACF,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,iBAAiB,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU;QACpD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACvC,QAAQ,IAAI,CAAC,KAAK,EAAE;gBAClB,KAAK,CAAC;oBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;oBAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;oBAAC,MAAM;gBAC/F,KAAK,CAAC;oBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;oBAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;oBAAC,MAAM;gBACnI,KAAK,CAAC;oBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;oBAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;oBAAC,MAAM;gBAC/I,KAAK,CAAC;oBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;oBAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;oBAAC,MAAM;gBAC3I,KAAK,CAAC;oBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;oBAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;oBAAC,MAAM;aACrH;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc;QACZ,MAAM,UAAU,GAAG;YACjB,KAAK,EAAE,gCAAgC;YACvC,KAAK,EAAE;gBACL;oBACE,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,qBAAqB;oBAC5B,SAAS,EAAE,KAAK;oBAChB,QAAQ,EAAE,IAAI;oBACd,aAAa,EAAE,CAAC,CAAC;oBACjB,aAAa,EAAE,CAAC;iBACjB;gBACD;oBACE,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,kBAAkB;oBACzB,SAAS,EAAE,KAAK;oBAChB,QAAQ,EAAE,KAAK;oBACf,aAAa,EAAE,CAAC;oBAChB,aAAa,EAAE,CAAC;iBACjB;gBACD;oBACE,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,uBAAuB;oBAC9B,SAAS,EAAE,KAAK;oBAChB,QAAQ,EAAE,KAAK;oBACf,aAAa,EAAE,CAAC;oBAChB,aAAa,EAAE,CAAC;iBACjB;gBACD;oBACE,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,mBAAmB;oBAC1B,SAAS,EAAE,KAAK;oBAChB,QAAQ,EAAE,KAAK;oBACf,aAAa,EAAE,CAAC;oBAChB,aAAa,EAAE,CAAC;iBACjB;aACF;SACF,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,gBAAgB,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU;QACnD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACtC,QAAQ,IAAI,CAAC,KAAK,EAAE;gBAElB,KAAK,CAAC;oBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;oBAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;oBAAC,MAAM;gBAC/F,KAAK,CAAC;oBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;oBAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;oBAAC,MAAM;gBACnI,KAAK,CAAC;oBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;oBAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;oBAAC,MAAM;gBAC/H,KAAK,CAAC;oBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;oBAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;oBAAC,MAAM;aACrH;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IA+BD,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU;QAC9D,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE;YAC5C,IAAI,OAAO,IAAI,QAAQ,EAAE;gBACvB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;aAC7D;iBAAM;gBACL,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;aAC9D;YACD,MAAM,KAAK,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YACtF,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;YACpF,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;gBACxD,OAAO,CAAC,CAAC;aACV;YACD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC;YAClF,IAAI,WAAW,EAAE;gBACf,OAAO,WAAW,CAAC,KAAK,CAAC;aAC1B;SACF;aAAM;YACL,OAAO,CAAC,CAAC,CAAC;SACX;IACH,CAAC;IAED,SAAS,CAAC,QAAQ,EAAE,cAAc;QAChC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,IAAI,cAAc,KAAK,MAAM,CAAC,EAAE;YACnK,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,SAAS,CAAC,QAAQ,EAAE,cAAc;QAChC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,IAAI,cAAc,KAAK,MAAM,CAAC,EAAE;YAC1E,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,SAAS,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU;QAC5C,IAAI,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,IAAI,MAAM,CAAC,IAAI,UAAU,IAAI,MAAM,CAAC,EAAE;YAChG,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,SAAS,CAAC,QAAQ,EAAE,UAAU;QAC5B,IAAI,QAAQ,CAAC,gBAAgB,CAAC,MAAM,IAAG,CAAC,IAAI,CAAC,UAAU,IAAI,SAAS,IAAI,UAAU,IAAI,MAAM,CAAC,EAAE;YAC7F,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,YAAY,CAAC,UAAU;QACrB,IAAI,UAAU,IAAI,MAAM,EAAE;YACxB,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAEM,YAAY,CAAC,OAAY;QAC9B,MAAM,MAAM,GAAG,qCAAqC,CAAC;QACrD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBACzD,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACpB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC;oBAC1C,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,aAAa,CAAC,QAAQ;QAC3B,MAAM,MAAM,GAAG,6CAA6C,QAAQ,EAAE,CAAC;QACvE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBACpD,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;IAEM,cAAc,CAAC,OAAY;QAChC,MAAM,MAAM,GAAG,uBAAuB,CAAC;QACvC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;YACtC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBAC1D,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC;iBACzC;YACH,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,kBAAkB,CAAC,OAAW;QACnC,MAAM,MAAM,GAAG,uBAAuB,CAAC;QACvC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;YACtC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBAC3D,IAAI,GAAG,EAAG;oBACR,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC;iBACzC;YACH,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,QAAQ,CAAC,GAAG,EAAE,IAAI;QACvB,MAAM,MAAM,GAAG,6BAA6B,GAAG,UAAU,IAAI,EAAE,CAAC;QAChE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBAChD,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;IAEM,YAAY,CAAC,OAAO;QACzB,MAAM,MAAM,GAAG,cAAc,CAAC;QAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBACzD,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;IAEM,YAAY,CAAC,GAAW;QAC7B,MAAM,MAAM,GAAG,mCAAmC,GAAG,EAAE,CAAC;QACxD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBACtD,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACpB,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;IAEM,aAAa,CAAC,IAAS;QAC5B,MAAM,MAAM,GAAG,uBAAuB,CAAC;QACvC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBACvD,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACpB,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;IAEM,iBAAiB,CAAC,IAAS;QAChC,MAAM,MAAM,GAAG,mBAAmB,CAAC;QACnC,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC;QAC3D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBACxD,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACpB,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACzC,IAAI,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;wBACzC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;qBAClE;iBACF;YACH,CAAC,EACC,KAAK,CAAC,EAAE;gBAEN,IAAI,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;oBACzC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;iBAClE;YACH,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,WAAW;QAChB,MAAM,MAAM,GAAG,8BAA8B,CAAC;QAC9C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBAChD,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;;oFAxcU,kBAAkB;qGAAlB,kBAAkB,WAAlB,kBAAkB,mBAFjB,MAAM;;;;;;;;;;;;;ACrBpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuC;AAGoB;;;;AAKpD,MAAM,WAAW;IAOtB,YAAoB,IAAiB,EAAU,KAAmB;QAA9C,SAAI,GAAJ,IAAI,CAAa;QAAU,UAAK,GAAL,KAAK,CAAc;QAN3D,gBAAW,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QAC3C,oBAAe,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC;QAC9C,WAAM,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QACtC,eAAU,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QAC1C,uBAAkB,GAAG,IAAI,oDAAe,CAAM,KAAK,CAAC,CAAC;QAC5D,kBAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;IACe,CAAC;IAEvE,cAAc,CAAC,SAAS;QACpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mCAAmC,EACnC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CACjD,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClB,IAAI,GAAG,EAAE;oBACP,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACnB;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,eAAe,CAAC,OAAO;QACrB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,oCAAoC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CACtE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClB,IAAI,GAAG,EAAE;oBACP,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACnB;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,aAAa;QACX,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,sCAAsC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAC5E,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClB,IAAI,GAAG,EAAE;oBACP,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACnB;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,SAAS;QACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,IAAI,EAChD,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAC5B,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClB,IAAI,GAAG,EAAE;oBACP,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,aAAa,CAAC,SAAS;QACrB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC,EAAE,IAAI,EACrD,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAC5B,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClB,IAAI,GAAG,EAAE;oBACP,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IACF,SAAS;QACP,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EACjC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAC5C,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClB,IAAI,GAAG,EAAE;oBACP,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACnB;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,MAAM;QACf,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CACxF,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClB,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACpB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC3C,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,OAAO;QACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,8CAA8C,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAC7F,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClB,IAAI,GAAG,EAAE;oBACP,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACnB;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,OAAO;QACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,oCAAoC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACxG,IAAI,GAAG,EAAE;oBACP,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;;sEA/HU,WAAW;8FAAX,WAAW,WAAX,WAAW,mBAFV,MAAM;;;;;;;;;;;;;ACPpB;AAAA;AAAA;AAAA;AAAA;AAA+E;;;;;ICkBvE,0EAAwE;IACtE,qEAAI;IAAA,qEAAU;IAAA,4DAAK;IACnB,oEAAG;IAAA,iFAAsB;IAAA,4DAAI;IAC/B,4DAAM;;;IACN,0EAAwE;IACtE,qEAAI;IAAA,sEAAW;IAAA,4DAAK;IACpB,oEAAG;IAAA,kFAAuB;IAAA,4DAAI;IAChC,4DAAM;;;IA0BN,0EAAwE;IACtE,qEAAI;IAAA,qEAAU;IAAA,4DAAK;IACnB,oEAAG;IAAA,iFAAsB;IAAA,4DAAI;IAC/B,4DAAM;;;IACN,0EAAwE;IACtE,qEAAI;IAAA,sEAAW;IAAA,4DAAK;IACpB,oEAAG;IAAA,kFAAuB;IAAA,4DAAI;IAChC,4DAAM;;;IAoCN,0EAAwE;IACtE,qEAAI;IAAA,qEAAU;IAAA,4DAAK;IACnB,oEAAG;IAAA,iFAAsB;IAAA,4DAAI;IAC/B,4DAAM;;;IACN,0EAAwE;IACtE,qEAAI;IAAA,sEAAW;IAAA,4DAAK;IACpB,oEAAG;IAAA,kFAAuB;IAAA,4DAAI;IAChC,4DAAM;;;IAiDN,0EAAwE;IACtE,qEAAI;IAAA,qEAAU;IAAA,4DAAK;IACnB,oEAAG;IAAA,iFAAsB;IAAA,4DAAI;IAC/B,4DAAM;;;IACN,0EAAwE;IACtE,qEAAI;IAAA,sEAAW;IAAA,4DAAK;IACpB,oEAAG;IAAA,kFAAuB;IAAA,4DAAI;IAChC,4DAAM;;ADtJP,MAAM,0BAA0B;IAQrC;QAJU,sBAAiB,GAAG,IAAI,0DAAY,EAAO,CAAC;QAC5C,2BAAsB,GAAG,IAAI,0DAAY,EAAO,CAAC;QACjD,kBAAa,GAAG,IAAI,0DAAY,EAAO,CAAC;QAC3C,qBAAgB,GAAY,KAAK,CAAC;IACzB,CAAC;IAEjB,QAAQ;IACR,CAAC;IAED,YAAY,CAAC,GAAG;QACd,IAAI,GAAG,KAAK,CAAC,EAAE;YACb,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACzB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAClC;SACF;aAAM;YACL,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAClC;IACH,CAAC;IAED,aAAa,CAAC,KAAK;IACnB,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;;oGAhCU,0BAA0B;0GAA1B,0BAA0B;QCJvC,yEAMC;QACC,yEAAgD;QAC9C,yEAA2B;QACzB,yEAAwB;QACtB,yEAAuB;QACrB,wEACF;QAAA,4DAAM;QACN,oEAA2E;QAC3E,qEAAI;QAAA,kEAAO;QAAA,4DAAK;QAChB,sHAGM;QACN,wHAGM;QACN,qEAAG;QAAA,2IAA0E;QAAA,4DAAI;QACjF,6EAAwE;QAAlD,mJAAS,iBAAa,CAAC,CAAC,IAAC;QAAyB,uEAAW;QAAA,4DAAS;QAC9F,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QAKN,0EAMC;QACC,0EAAgD;QAC9C,0EAA2B;QACzB,0EAAwB;QACtB,0EAAuB;QACrB,yEACF;QAAA,4DAAM;QACN,qEAAgF;QAChF,sEAAI;QAAA,sEAAU;QAAA,4DAAK;QACnB,wHAGM;QACN,wHAGM;QACN,qEAAG;QACD,yKACF;QAAA,4DAAI;QACJ,6EAAwE;QAAlD,mJAAS,iBAAa,CAAC,CAAC,IAAC;QAAyB,uEAAW;QAAA,4DAAS;QAC9F,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QAGN,2EAMC;QACC,0EAAgD;QAC9C,0EAA2B;QAWzB,0EAAwB;QACtB,0EAAuB;QACrB,yEACF;QAAA,4DAAM;QACN,sEAA0F;QAC1F,sEAAI;QAAA,kEAAM;QAAA,4DAAK;QACf,wHAGM;QACN,wHAGM;QACN,qEAAG;QAAA,yLAA6H;QAAA,4DAAI;QACpI,qEAAG;QAAA,iHAAqD;QAAA,4DAAI;QAE5D,2EAAmD;QACjD,iFAA2J;QAApI,0JAAU,yBAAqB,IAAC;QAAvD,4DAA2J;QAC3J,6EACG;QAAA,+IAAmF;QAAA,4DACrF;QACH,4DAAM;QAEN,8EAAuG;QAAlD,mJAAS,iBAAa,CAAC,CAAC,IAAC;QAC5E,sEAEE;QAEF,oEACF;QAAA,4DAAS;QACX,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QAGN,2EAMC;QACC,0EAAgD;QAC9C,2EAAuC;QAWrC,2EAA4B;QAC1B,0EAAuB;QACrB,wDACF;QAAA,4DAAM;QACN,sEAA+F;QAC/F,sEAAI;QAAA,qFAAyB;QAAA,4DAAK;QAClC,wHAGM;QACN,wHAGM;QACN,yEAAmB;QAAA,yGAA6C;QAAA,iEAAI;QAClE,+GAAkD;QAAA,iEAAI;QACtD,iGAAoC;QAAA,4DAAI;QAC5C,4DAAM;QACN,2EAA0B;QAC1B,6EAAyE;QAAnD,mJAAS,oBAAgB,IAAC;QAC9C,oEACF;QAAA,4DAAS;QACT,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QAGN,2EAMC;QACC,0EAAgD;QAC9C,0EAA2B;QAWzB,2EAA6B;QAC3B,sEAAsE;QACtE,sEAAI;QAAA,wEAAY;QAAA,4DAAK;QACrB,qEAAG;QAAA,8FAAkC;QAAA,4DAAI;QAEzC,6EAAwE;QAAlD,mJAAS,iBAAa,CAAC,CAAC,IAAC;QAAyB,uEAAW;QAAA,4DAAS;QAE9F,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QAGN,2EAKC;QACC,0EAAgD;QAC9C,0EAA2B;QACzB,0EAAwB;QACtB,sEAA2E;QAC3E,sEAAI;QAAA,oFAAwB;QAAA,4DAAK;QACjC,qEAAG;QAAA,wJAA4F;QAAA,4DAAI;QACnG,2EAA6B;QAC3B,sEAAI;QAAA,sEAAuE;QAAC,oEAAO;QAAA,4DAAK;QACxF,qEAAG;QAAA,uFAA2B;QAAA,4DAAI;QAClC,qEAAG;QAAA,sFAAyB;QAAA,4DAAI;QAChC,sEAAG;QAAA,yGAA4C;QAAA,4DAAI;QACnD,sEAAG;QAAA,0FAA6B;QAAA,4DAAI;QACpC,sEAAG;QAAA,oFAAuB;QAAA,4DAAI;QAChC,4DAAM;QACN,+EAA6E;QAA3B,oJAAS,oBAAgB,IAAC;QAAC,yEAAY;QAAA,4DAAS;QAEpG,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;;QAnNgC,0DAAwC;QAAxC,0GAAwC;QAIxC,0DAAwC;QAAxC,0GAAwC;QA6BxC,2DAAwC;QAAxC,0GAAwC;QAIxC,0DAAwC;QAAxC,0GAAwC;QAuCxC,2DAAwC;QAAxC,0GAAwC;QAIxC,0DAAwC;QAAxC,0GAAwC;QAQZ,0DAA8B;QAA9B,yFAA8B;QAMlE,0DAA8B;QAA9B,2FAA8B;QAkClD,0DACF;QADE,uIACF;QAG8B,0DAAwC;QAAxC,0GAAwC;QAIxC,0DAAwC;QAAxC,0GAAwC;;;;;;;;;;;;;;ACxJ9E;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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AACpD,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AACpD,MAAM,MAAM,GAAG,QAAQ,CAAC;AACxB,MAAM,MAAM,GAAG,QAAQ,CAAC;AACxB,MAAM,MAAM,GAAG,QAAQ,CAAC;AACxB,MAAM,cAAc,GAAG,gBAAgB,CAAC;AACxC,MAAM,SAAS,GAAG,WAAW,CAAC;AAC9B,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAC5C,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAC9C,MAAM,yBAAyB,GAAG,2BAA2B,CAAC;AAC9D,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAC5C,MAAM,IAAI,GAAG,MAAM,CAAC;AACpB,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAClD,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAClD,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAC9C,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAC9C,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AACxD,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAC1C,MAAM,aAAa,GAAG,eAAe,CAAC;AACtC,MAAM,aAAa,GAAG,eAAe,CAAC;AACtC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AACxC,MAAM,aAAa,GAAG,eAAe,CAAC;AACtC,MAAM,UAAU,GAAG,YAAY,CAAC;AAEhC,MAAM,MAAM;IAEf,YAAmB,OAOlB;QAPkB,YAAO,GAAP,OAAO,CAOzB;QARQ,SAAI,GAAG,MAAM,CAAC;IAQlB,CAAC;CACT;AAEM,MAAM,MAAM;IAEf,YAAmB,OAKlB;QALkB,YAAO,GAAP,OAAO,CAKzB;QANQ,SAAI,GAAG,MAAM,CAAC;IAMlB,CAAC;CACT;AAEM,MAAM,kBAAkB;IAA/B;QACa,SAAI,GAAG,oBAAoB,CAAC;IACzC,CAAC;CAAA;AAEM,MAAM,kBAAkB;IAA/B;QACa,SAAI,GAAG,oBAAoB,CAAC;IACzC,CAAC;CAAA;AAEM,MAAM,iBAAiB;IAA9B;QACa,SAAI,GAAG,mBAAmB,CAAC;IACxC,CAAC;CAAA;AAEM,MAAM,MAAM;IAAnB;QACa,SAAI,GAAG,MAAM,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,aAAa;IAA1B;QACa,SAAI,GAAG,cAAc,CAAC;IACnC,CAAC;CAAA;AAEM,MAAM,IAAI;IAAjB;QACa,SAAI,GAAG,IAAI,CAAC;IACzB,CAAC;CAAA;AACM,MAAM,QAAQ;IAEjB,YAAmB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;QADzB,SAAI,GAAG,SAAS,CAAC;IACY,CAAC;CAC1C;AAEM,MAAM,eAAe;IAExB,YAAmB,OAIlB;QAJkB,YAAO,GAAP,OAAO,CAIzB;QALQ,SAAI,GAAG,iBAAiB,CAAC;IAK7B,CAAC;CACT;AACM,MAAM,cAAc;IAEvB,YAAmB,OAGlB;QAHkB,YAAO,GAAP,OAAO,CAGzB;QAJQ,SAAI,GAAG,gBAAgB,CAAC;IAI5B,CAAC;CACT;AAEM,MAAM,cAAc;IAA3B;QACa,SAAI,GAAG,gBAAgB,CAAC;IACrC,CAAC;CAAA;AAEM,MAAM,gBAAgB;IAEzB,YAAmB,OAOlB;QAPkB,YAAO,GAAP,OAAO,CAOzB;QARQ,SAAI,GAAG,mBAAmB,CAAC;IAQ/B,CAAC;CACT;AAEM,MAAM,eAAe;IAExB,YAAmB,OAOlB;QAPkB,YAAO,GAAP,OAAO,CAOzB;QARQ,SAAI,GAAG,iBAAiB,CAAC;IAQ7B,CAAC;CACT;AACM,MAAM,eAAe;IAExB,YAAmB,OAMlB;QANkB,YAAO,GAAP,OAAO,CAMzB;QAPQ,SAAI,GAAG,iBAAiB,CAAC;IAO7B,CAAC;CACT;AAEM,MAAM,oBAAoB;IAE7B,YAAmB,OAKlB;QALkB,YAAO,GAAP,OAAO,CAKzB;QANQ,SAAI,GAAG,sBAAsB,CAAC;IAMlC,CAAC;CACT;AAIM,MAAM,aAAa;IAEtB,YAAmB,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;QAD7B,SAAI,GAAG,eAAe,CAAC;IACU,CAAC;CAC9C;AACM,MAAM,YAAY;IAErB,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,aAAa,CAAC;IACI,CAAC;CACtC;AACM,MAAM,YAAY;IAErB,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,aAAa,CAAC;IACI,CAAC;CACtC;AACM,MAAM,YAAY;IAErB,YAAmB,OAOlB;QAPkB,YAAO,GAAP,OAAO,CAOzB;QARQ,SAAI,GAAG,cAAc,CAAC;IAQ1B,CAAC;CACT;AACM,MAAM,YAAY;IAErB,YAAmB,OAIlB;QAJkB,YAAO,GAAP,OAAO,CAIzB;QALQ,SAAI,GAAC,aAAa,CAAC;IAKzB,CAAC;IAAA,CAAC;CACR;AACM,MAAM,SAAS;IAElB,YAAmB,OAKlB;QALkB,YAAO,GAAP,OAAO,CAKzB;QANQ,SAAI,GAAG,UAAU,CAAC;IAMtB,CAAC;CACT;;;;;;;;;;;;;ACrLD;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,SAAS,GAAG;IACrB,QAAQ,EAAC;QACL,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,eAAe;QAC1B,YAAY,EAAE,kBAAkB;QAChC,SAAS,EAAE,gBAAgB;KAC9B;IACD,QAAQ,EAAC;QACL,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,WAAW;QACtB,YAAY,EAAE,eAAe;QAC7B,SAAS,EAAE,mFAAmF;KACjG;IACD,QAAQ,EAAC;QACL,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,SAAS;QACpB,YAAY,EAAE,aAAa;QAC3B,SAAS,EAAE,4FAA4F;KAC1G;IACD,gDAAgD,EAAC;QAC7C,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,OAAO;QAClB,YAAY,EAAE,WAAW;QACzB,SAAS,EAAE,+CAA+C;KAC7D;CACJ,CAAC;AAEK,MAAM,YAAY,GAAC;IACtB,SAAS,EAAC,WAAW;IACrB,WAAW,EAAC,aAAa;IACzB,YAAY,EAAC,cAAc;CAC9B;AAEM,MAAM,iBAAiB,GAAG;IAC7B,KAAK,EAAE,0BAA0B;IACjC,MAAM,EAAE,0BAA0B;IAClC,MAAM,EAAE,0BAA0B;IAClC,MAAM,EAAE,0BAA0B;IAClC,WAAW,EAAE,0BAA0B;CAC1C,CAAC;AAEK,MAAM,uBAAuB,GAAG;IACnC,cAAc,EAAE,OAAO;IACvB,aAAa,EAAE,MAAM;CACxB,CAAC;;;;;;;;;;;;;;;;;ACtCK,MAAM,kBAAkB;IAE7B,SAAS,CAAC,YAAiB;QACzB,MAAM,IAAI,GAAS,IAAI,IAAI,CAAC,YAAY,CAAC;QACzC,MAAM,WAAW,GAAS,IAAI,IAAI,EAAE,CAAC;QACrC,MAAM,CAAC,GAAW,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC/C,OAAO,WAAW,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,CAAC,IAAU,EAAE,WAAiB;QAChC,MAAM,CAAC,GAAG,WAAW,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACzD,IAAI,CAAC,KAAK,CAAC,EAAE;YACX,OAAO,CAAC,GAAG,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACnD;aAAM;YACL,MAAM,CAAC,GAAG,WAAW,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnD,IAAI,CAAC,KAAK,CAAC,EAAE;gBACX,OAAO,CAAC,GAAG,QAAQ,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACpD;iBAAM;gBACL,MAAM,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjD,IAAI,CAAC,KAAK,CAAC,EAAE;oBACX,OAAO,CAAC,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAClD;qBAAM;oBACL,MAAM,CAAC,GAAG,WAAW,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACnD,IAAI,CAAC,KAAK,CAAC,EAAE;wBACX,OAAO,CAAC,GAAG,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBACnD;yBAAM;wBACL,MAAM,CAAC,GAAG,WAAW,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;wBACvD,IAAI,CAAC,KAAK,CAAC,EAAE;4BACX,OAAO,CAAC,GAAG,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;yBACrD;6BAAM;4BACL,MAAM,CAAC,GAAG,WAAW,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;4BACvD,IAAI,CAAC,KAAK,CAAC,EAAE;gCACX,OAAO,CAAC,GAAG,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;6BACrD;iCAAM;gCACL,OAAO,eAAe,CAAC;6BACxB;yBACF;qBACF;iBACF;aACF;SACF;IACH,CAAC;;oFAxCU,kBAAkB;sHAAlB,kBAAkB;;;;;;;;;;;;;ACH/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgE;AACb;;;;AAK5C,MAAM,mBAAmB;IAE9B,YAAoB,IAAiB,EAAU,KAAmB;QAA9C,SAAI,GAAJ,IAAI,CAAa;QAAU,UAAK,GAAL,KAAK,CAAc;QAD3D,4BAAuB,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;IACQ,CAAC;IAEvE,qBAAqB;QACnB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,qEAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBAC9G,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACnB;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB,CAAC,IAAI;QACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,qEAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBAC5G,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB,CAAC,eAAe;QACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,IAAI,EAAE,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,KAAK,EACvF,KAAK,EAAE,qEAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjD,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACnB;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB,CAAC,EAAE;QACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG;gBACb,cAAc,EAAE,MAAM;aACvB,CAAC;YACF,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,qEAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC3H,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACnB;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;;sFAxDU,mBAAmB;sGAAnB,mBAAmB,WAAnB,mBAAmB,mBAFlB,MAAM;;;;;;;;;;;;;ACJpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgD;AACgB;AAID;AACJ;;;;;;;AAKpD,MAAM,cAAc;IAyBzB,YAAoB,SAAuB,EAAU,WAAuB,EAAU,IAAiB,EAAU,YAA0B,EAAU,YAAmB,EAAU,WAAiB,EACzL,KAA8B,EAAU,KAAiB;QAD/C,cAAS,GAAT,SAAS,CAAc;QAAU,gBAAW,GAAX,WAAW,CAAY;QAAU,SAAI,GAAJ,IAAI,CAAa;QAAU,iBAAY,GAAZ,YAAY,CAAc;QAAU,iBAAY,GAAZ,YAAY,CAAO;QAAU,gBAAW,GAAX,WAAW,CAAM;QACzL,UAAK,GAAL,KAAK,CAAyB;QAAU,UAAK,GAAL,KAAK,CAAY;QAxB3D,sBAAiB,GAAY,KAAK,CAAC;QACpC,iBAAY,GAAQ,EAAE,CAAC;QACvB,2BAAsB,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QACtD,2BAAsB,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QACtD,wBAAmB,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QACnD,sBAAiB,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QACjD,qBAAgB,GAAG,IAAI,4CAAO,EAAW,CAAC;QAC1C,+BAA0B,GAAG,IAAI,oDAAe,CAAM,KAAK,CAAC,CAAC;QAC7D,oBAAe,GAAG,IAAI,4CAAO,EAAO,CAAC;QACrC,wBAAmB,GAAG,IAAI,oDAAe,CAAM,KAAK,CAAC,CAAC;QACtD,0BAAqB,GAAG,IAAI,4CAAO,EAAW,CAAC;QAC/C,kBAAa,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QAC7C,qBAAgB,GAAG,IAAI,4CAAO,EAAO,CAAC;QACtC,eAAU,GAAG,IAAI,oDAAe,CAAM,IAAI,CAAC,CAAC;QAC5C,eAAU,GAAG,IAAI,oDAAe,CAAM,IAAI,CAAC,CAAC;QAC5C,cAAS,GAAG,IAAI,oDAAe,CAAM,IAAI,CAAC,CAAC;QAC3C,kBAAa,GAAG,IAAI,oDAAe,CAAM,KAAK,CAAC,CAAC;QAChD,gBAAW,GAAG,IAAI,oDAAe,CAAS,EAAE,CAAC,CAAC;QAC7C,oBAAe,GAAG,EAAE,CAAC;QACtB,wBAAmB,GAAG,IAAI,oDAAe,CAAU,KAAK,CAAC,CAAC;QAC1D,2BAAsB,GAAG,IAAI,oDAAe,CAAU,KAAK,CAAC,CAAC;QACpE,qBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,CAAC;IAI9D,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEM,cAAc,CAAC,IAAI;QACxB,IAAI,CAAC,eAAe,qBAAQ,IAAI,CAAE,CAAC;IACrC,CAAC;IAED,eAAe,CAAC,KAAK;QACnB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;IACnC,CAAC;IAED,iBAAiB;QAEf,IAAI,CAAC,YAAY,GAAG;YAClB;gBACE,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,gDAAgD;aACvD;YACD;gBACE,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,gDAAgD;aACvD;YACD;gBACE,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE,oCAAoC;gBAC3C,IAAI,EAAE,uDAAuD;aAC9D;YACD;gBACE,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,UAAU;gBACjB,KAAK,EAAE,yBAAyB;gBAChC,IAAI,EAAE,mDAAmD;aAC1D;YACD;gBACE,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,sBAAsB;gBAC5B,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,oBAAoB;gBAC3B,KAAK,EAAE,iCAAiC;gBACxC,IAAI,EAAE,+DAA+D;aACtE;YACD;gBACE,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,aAAa;gBACpB,IAAI,EAAE,kDAAkD;aACzD;YACD;gBACE,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,UAAU;gBACjB,KAAK,EAAE,aAAa;gBACpB,IAAI,EAAE,oDAAoD;aAC3D;YACD;gBACE,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,+CAA+C;aACtD;YACD;gBACE,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,mBAAmB;gBAC1B,IAAI,EAAE,oDAAoD;aAC3D;YACD;gBACE,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,sFAAsF;gBAC7F,IAAI,EAAE,kDAAkD;aACzD;YACD;gBACE,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,mBAAmB;gBAC1B,IAAI,EAAE,gDAAgD;aACvD;YACD;gBACE,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,uDAAuD;aAC9D;YACD;gBACE,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,0BAA0B;gBAChC,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,cAAc;gBACrB,KAAK,EAAE,8BAA8B;gBACrC,IAAI,EAAE,mEAAmE;aAC1E;SAQF,CAAC;QACF,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,aAAa;QACX,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC/D,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE;oBACnB,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC9E,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE;oBACnB,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,qEAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CACxG,QAAQ,CAAC,EAAE;YACT,IAAI,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE;gBACzB,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC;gBACrC,cAAc,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;gBAChD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aAClD;iBAAM;gBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aACtD;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,IAAI;QACV,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACrE,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;oBACb,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACnD;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,IAAI;QACpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,qEAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClG,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,IAAI;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YACxC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACnD,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7E,OAAO,QAAQ,CAAC;SACjB;aAAM;YACL,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACvD,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;SAC/B;IACH,CAAC;IAED,eAAe,CAAC,eAAe;QAC7B,IAAI,kBAAkB,GAAG,EAAE;QAC3B,kBAAkB,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;QAC5D,OAAO,kBAAkB,CAAC,WAAW,EAAE,CAAC;IAC1C,CAAC;IAGD,gBAAgB;QACd,MAAM,UAAU,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;QACpG,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACnE,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAED,mBAAmB,CAAC,KAAa,EAAE,IAAY;QAC7C,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClC,wCAAwC;QACxC,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACnD,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAEM,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI;QAC1C,MAAM,IAAI,GAAG;YACX,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE;YACpD,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE;YAC1D,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;SACxD,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAC7C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,UAAU;QACR,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,OAAO,GAAG,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACxD,0CAA0C;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACvC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;gBACtG,OAAO,GAAG,IAAI,CAAC;aAChB;SACF;QACD,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,cAAc,GAAG,CAAC,kCAAkC,CAAC,CAAC;YAC5D,0CAA0C;YAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC9C,IAAI,CAAC,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;gBAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBACvB,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC5D;SACF;IACH,CAAC;IAED,sBAAsB,CAAC,GAAG,EAAE,QAAQ;QAClC,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,IAAI,MAAM,CAAC;QACX,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YAClD,IAAI,MAAM,IAAI,MAAM,CAAC,YAAY,EAAE;gBACjC,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;aAC1C;QACH,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9D,SAAS,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACrD,SAAS,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3D,SAAS,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3D,SAAS,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9D,SAAS,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7E,SAAS,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC;QACnC,SAAS,CAAC,mBAAmB,CAAC,GAAG,GAAG,CAAC,iBAAiB,CAAC;QACvD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,GAAG,KAAK;QACpC,IAAI,OAAO,CAAC;QACZ,OAAO;YACL,IAAI,OAAO,GAAG,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;YACrC,IAAI,KAAK,GAAG;gBACV,OAAO,GAAG,IAAI,CAAC;gBACf,IAAI,CAAC,SAAS;oBAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC5C,CAAC,CAAC;YACF,IAAI,OAAO,GAAG,SAAS,IAAI,CAAC,OAAO,CAAC;YACpC,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAClC,IAAI,OAAO;gBAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC,CAAC;IACJ,CAAC;IAAA,CAAC;IAEF,mBAAmB;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,qEAAW,CAAC,WAAW,CAAC,CAAC;IAC9F,CAAC;IAED,iBAAiB,CAAC,MAAY;QAC5B,MAAM,GAAG,GAAG,0BAA0B,MAAM,CAAC,IAAI,QAAQ,MAAM,CAAC,GAAG,EAAE,CAAC;QACtE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,qEAAW,CAAC,WAAW,CAAC,CAAC;IAC7E,CAAC;IAED,uBAAuB,CAAC,MAAM;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qEAAW,CAAC,WAAW,CAAC,CAAC;IAC3F,CAAC;IACD,sBAAsB,CAAE,OAAY;QAClC,IAAI,GAAG,GAAC,iBAAiB,OAAO,CAAC,MAAM,qBAAqB,OAAO,CAAC,QAAQ,cAAc,OAAO,CAAC,SAAS,EAAE;QAC7G,IAAG,OAAO,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,UAAU,EAAE;YAC1D,GAAG,IAAI,eAAe,OAAO,CAAC,UAAU,EAAE;SAC3C;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,qEAAW,CAAC,WAAW,CAAC,CAAC;IAC5E,CAAC;IAED,gBAAgB,CAAC,QAAQ;;QACvB,IAAI,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YAChE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;YACrC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YAErC,MAAM,OAAO,GAAG,OAAO,IAAI,QAAQ,CAAC;YACpC,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAEvD,MAAM,OAAO,GAAG;gBACd,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,IAAI;gBACd,gBAAgB,EAAE,IAAI;gBACtB,SAAS,EAAE,cAAO,CAAC,OAAO,0CAAE,WAAW,MAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBAC/D,WAAW,EAAE,EAAE;gBACf,MAAM,EAAE,IAAI;aACb,CAAC;YAEF,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE;gBAC3C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;gBACrD,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;gBACrC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;gBACzC,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;gBACxD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;gBAC1C,OAAO,CAAC,WAAW,GAAG,KAAK,IAAI,EAAE,CAAC;gBAClC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;aACjE;YAED,MAAM,UAAU,GAAG;gBACjB,SAAS,EAAE,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE;gBACvF,WAAW,EAAE,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE;gBAC9F,OAAO,EAAE,aAAa,CAAC,MAAM,WAAI,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,aAAa,0CAAE,OAAO,KAAI,EAAE;gBACrG,SAAS,EAAE,aAAa,CAAC,MAAM,WAAI,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,aAAa,0CAAE,SAAS,KAAI,EAAE;aAC1G,CAAC;YAEF,MAAM,EACJ,GAAG,EACH,IAAI,EAAE,EAAE,SAAS,EAAE,EACnB,MAAM,EACN,KAAK,EACL,KAAK,EACL,KAAK,EAAE,SAAS,EAChB,QAAQ,EACR,aAAa,EACb,MAAM,EACN,aAAa,EACb,QAAQ,EACR,aAAa,EACb,WAAW,EACX,UAAU,EACV,IAAI,EACJ,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,SAAS,GACV,GAAG,OAAO,CAAC,MAAM,CAAC;YAEnB,MAAM,IAAI,GAAG,IAAI,wEAAW,CAC1B,GAAG,EACH,SAAS,EACT,MAAM,EACN,KAAK,EACL,KAAK,EACL,SAAS,IAAI,OAAO,CAAC,SAAS,EAC9B,QAAQ,EACR,OAAO,EACP,OAAO,CAAC,MAAM,EACd,aAAa,EACb,MAAM,EACN,aAAa,EACb,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,aAAa,EACb,WAAW,EACX,UAAU,EACV,IAAI,EACJ,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACT,WAAW,CACZ,CAAC;YAEF,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAGD,UAAU;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,qEAAW,CAAC,WAAW,CAAC,CAAC;IACnG,CAAC;IAED,SAAS,CAAC,MAAW;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,qEAAW,CAAC,WAAW,CAAC,CAAC;IAC9F,CAAC;IAED,SAAS,CAAC,MAAW;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,qEAAW,CAAC,WAAW,CAAC,CAAC;IACtG,CAAC;IAED,kBAAkB,CAAC,MAAM;QACvB,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;QAChC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,SAAS,CAAC,IAAI;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,qEAAW,CAAC,WAAW,CAAC,CAAC;IACtG,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,qEAAW,CAAC,WAAW,CAAC,CAAC;IAC5F,CAAC;IACD,aAAa;QACX,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;QACvD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC;IAClD,CAAC;IAED,kBAAkB,CAAC,IAAI,EAAE,SAAS;QAChC,MAAM,QAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;QAC1C,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9C,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QACtC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACnE,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACrE,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACzD,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjD,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACnE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACvB,MAAM,EAAE,kBAAkB;aAC3B,CAAC;SACH,CAAC;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,iBAAiB,CAAC,WAAwB,EAAE,QAAgB;;QAC1D,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,SAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,cAAc,0CAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,YAAY,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC;QAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;YACrC,UAAU,CAAC,CAAC,CAAC,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,CAAC,CAAC,CAAC,CAAC;SAC7C;QACD,OAAO,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9D,CAAC;;4EAhfU,cAAc;iGAAd,cAAc,WAAd,cAAc,mBAFb,MAAM;;;;;;;;;;;;;ACZpB;AAAA,MAAM,UAAU,GAAG;IACf,UAAU,EAAE,WAAW;IACvB,SAAS,EAAE,UAAU;IACrB,cAAc,EAAE,eAAe;IAC/B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,aAAa;IAC3B,KAAK,EAAE,OAAO;IACd,cAAc,EAAE,eAAe;IAC/B,YAAY,EAAE,aAAa;IAC3B,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;CACzB;AAEc,yEAAU,EAAC;;;;;;;;;;;;;ACX1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuB;AACsC;AAET;;;;;;AAK7C,MAAM,kBAAkB;IAO7B,YACU,KAAqB,EACrB,IAAgB,EAChB,KAA8B,EAC9B,qBAA4C;QAH5C,UAAK,GAAL,KAAK,CAAgB;QACrB,SAAI,GAAJ,IAAI,CAAY;QAChB,UAAK,GAAL,KAAK,CAAyB;QAC9B,0BAAqB,GAArB,qBAAqB,CAAuB;QAN9C,YAAO,GAAG,oGAAoG,CAAC;IAOnH,CAAC;IAGL,MAAM;QACJ,OAAO,qEAAW,CAAC,UAAU,CAAC;IAChC,CAAC;IAED,eAAe,CAAC,UAAU;QACxB,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;YAChE,IAAI,CAAC,CAAC,6CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE;gBACxB,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE;oBACxB,GAAG,GAAG,GAAG,GAAG,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;oBAClD,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC;iBAC5E;qBAAM;oBACL,GAAG,GAAG,GAAG,GAAG,qBAAqB,CAAC;iBACnC;gBAED,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE;oBACtB,GAAG,GAAG,GAAG,GAAG,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;iBAC/C;qBAAM;oBACL,GAAG,GAAG,GAAG,GAAG,kBAAkB,CAAC;iBAChC;gBAED,IAAI,MAAM,CAAC,aAAa,CAAC,EAAE;oBACzB,GAAG,GAAG,GAAG,GAAG,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;iBAClD;qBAAM;oBACL,GAAG,GAAG,GAAG,GAAG,2BAA2B,CAAC;iBACzC;gBACD,GAAG,GAAG,GAAG,GAAG,UAAU,GAAG,+BAA+B,CAAC;gBAEzD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;aAC3C;iBAAM;gBACL,GAAG,GAAG,GAAG,GAAG,UAAU,GAAG,2FAA2F,CAAC;gBACrH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;aAC3C;YACD,IAAI,GAAG,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB,CAAC,MAAM;QAC1B,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,yBAAyB,CAAC,MAAM;QAE9B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/F,cAAc,GAAG,GAAG,GAAG,cAAc,CAAC;QAEtC,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,mBAAmB,CAAC,MAA4B,EAAE,UAA0D,EAAE;;QAC5G,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QACzB,wBAAwB;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YACtC,MAAM,CAAC,UAAU,GAAG,WAAW,CAAC;QAClC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/F,cAAc,GAAG,GAAG,GAAG,cAAc,CAAC;QAEtC,MAAM,IAAI,SAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,mCAAI,iBAAiB,CAAC;QAEtD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1C,IAAI,CAAC,CAAC,6CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE;gBACxB,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC;gBACrD,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC;gBAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC;gBAE/C,IAAI,aAAa,GAAG,GAAG,GAAG,eAAe,UAAU,EAAE,CAAC;gBACtD,aAAa,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,aAAa,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC;gBAC/F,aAAa,GAAG,GAAG,aAAa,aAAa,QAAQ,aAAa,QAAQ,GAAG,cAAc,+BAA+B,CAAC;gBAC3H,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;aACtD;iBAAM;gBACL,MAAM,aAAa,GAAG,GAAG,GAAG,GAAG,cAAc,6EAA6E,IAAI,EAAE,CAAC;gBACjI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;aACtD;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB,CAAC,UAAU,EAAE,IAAI;QAClC,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;YAChE,IAAI,CAAC,CAAC,6CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE;gBACxB,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE;oBACxB,GAAG,GAAG,GAAG,GAAG,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;oBAClD,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC;iBAC5E;qBAAM;oBACL,GAAG,GAAG,GAAG,GAAG,qBAAqB,CAAC;iBACnC;gBAED,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE;oBACtB,GAAG,GAAG,GAAG,GAAG,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;iBAC/C;qBAAM;oBACL,GAAG,GAAG,GAAG,GAAG,kBAAkB,CAAC;iBAChC;gBAED,IAAI,MAAM,CAAC,aAAa,CAAC,EAAE;oBACzB,GAAG,GAAG,GAAG,GAAG,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;iBAClD;qBAAM;oBACL,GAAG,GAAG,GAAG,GAAG,YAAY,GAAG,IAAI,CAAC;iBACjC;gBACD,GAAG,GAAG,GAAG,GAAG,UAAU,GAAG,+BAA+B,CAAC;gBACzD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;aAE3C;iBAAM;gBACL,GAAG,GAAG,GAAG,GAAG,UAAU,GAAG,4EAA4E,GAAG,IAAI,CAAC;gBAC7G,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;aAC3C;YACD,IAAI,GAAG,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,eAAe;QAChD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC;YAC9B,IAAI,CACF,6DAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,EAC5B,4DAAK,EAAE,EAAE,gBAAgB;QACzB,0DAAG,CAAC,IAAI,CAAC,EAAE;YACT,MAAM,gBAAgB,GAAG;gBACvB,mDAAmD;gBACnD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAC9B,SAAS,EAAE,GAAG,QAAQ,KAAK,QAAQ,EAAE;gBACrC,iBAAiB,EAAE,eAAe;aACnC,CAAC;YACF,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAC7C,CAAC,CAAC,CACH,CAAC,SAAS,EAAE,CAAC;IAClB,CAAC;;oFAjJU,kBAAkB;qGAAlB,kBAAkB,WAAlB,kBAAkB,mBAFjB,MAAM;;;;;;;;;;;;;ACRpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuB;AACyC;;;;AAMzD,MAAM,gBAAgB;IAO3B,YACU,KAAqB,EACrB,IAAgB;QADhB,UAAK,GAAL,KAAK,CAAgB;QACrB,SAAI,GAAJ,IAAI,CAAY;QAJlB,YAAO,GAAG,oGAAoG,CAAC;IAKnH,CAAC;IAEL,yBAAyB,CAAC,UAAU;QAClC,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1C,IAAI,CAAC,CAAC,6CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE;gBACxB,IAAI,MAAM,CAAC,UAAU,EAAE;oBACrB,GAAG,GAAG,GAAG,GAAG,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC;oBAC/C,GAAG,GAAG,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC;iBACzE;qBAAM;oBACL,GAAG,GAAG,GAAG,GAAG,qBAAqB,CAAC;iBACnC;gBACD,IAAI,MAAM,CAAC,QAAQ,EAAE;oBACnB,GAAG,GAAG,GAAG,GAAG,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC;iBAC5C;qBAAM;oBACL,GAAG,GAAG,GAAG,GAAG,kBAAkB,CAAC;iBAChC;gBAED,IAAI,MAAM,CAAC,WAAW,EAAE;oBACtB,GAAG,GAAG,GAAG,GAAG,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;iBAC/C;qBAAM;oBACL,GAAG,GAAG,GAAG,GAAG,2BAA2B,CAAC;iBACzC;gBACD,GAAG,GAAG,GAAG,GAAG,UAAU,GAAG,+BAA+B,CAAC;gBAEzD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;aAC5C;iBAAM;gBACL,GAAG,GAAG,GAAG,GAAG,UAAU,GAAG,2FAA2F,CAAC;gBACrH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;aAC5C;YACD,IAAI,GAAG,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB,CAAC,MAAM;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,GAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,mBAAmB,CAAC,MAAM;QACxB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/F,cAAc,GAAG,GAAG,GAAG,cAAc,CAAC;QAEtC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,GAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,6BAA6B,CAAC,MAA4B,EAAE,UAA0D,EAAE;QACtH,IAAI,IAAI,GAAY,IAAI,CAAC;QACzB,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QACvB,wBAAwB;QACxB,IAAI,CAAC,qEAAW,CAAC,UAAU,EAAE;YAC3B,MAAM,CAAC,UAAU,GAAG,WAAW,CAAC;SACjC;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/F,cAAc,GAAG,GAAG,GAAG,cAAc,CAAC;QACtC,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE;YAClC,MAAM,IAAI,GAAG,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC;YACpF,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC3C,IAAI,CAAC,CAAC,6CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE;oBACzB,IAAI,MAAM,CAAC,UAAU,EAAE;wBACrB,GAAG,GAAG,GAAG,GAAG,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC;wBAC/C,GAAG,GAAG,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC;qBACzE;yBAAM;wBACL,GAAG,GAAG,GAAG,GAAG,qBAAqB,CAAC;qBACnC;oBAED,IAAI,MAAM,CAAC,QAAQ,EAAE;wBACnB,GAAG,GAAG,GAAG,GAAG,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC;qBAC5C;yBAAM;wBACL,GAAG,GAAG,GAAG,GAAG,kBAAkB,CAAC;qBAChC;oBAED,IAAI,MAAM,CAAC,WAAW,EAAE;wBACtB,GAAG,GAAG,GAAG,GAAG,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;qBAC/C;yBAAM;wBACL,GAAG,GAAG,GAAG,GAAG,YAAY,GAAG,IAAI,CAAC;qBACjC;oBACD,GAAG,GAAG,GAAG,GAAG,cAAc,GAAG,+BAA+B,CAAC;iBAC9D;qBAAM;oBACL,GAAG,GAAG,GAAG,GAAG,cAAc,GAAG,4EAA4E,GAAG,IAAI,CAAC;iBAClH;gBACD,IAAI,GAAG,KAAK,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,GAAG,GAAG,GAAG,GAAG,cAAc,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;SAC5C;IACH,CAAC;IAED,cAAc,CAAC,YAAY,EAAE,GAAG;QAC9B,IAAI,aAAa,CAAC;QAClB,IAAI,YAAY,CAAC;QACjB,QAAQ,GAAG,EAAE;YACX,KAAK,SAAS,CAAC,CAAC;gBACd,aAAa,GAAG;oBACd,YAAY,EAAE,YAAY,CAAC,MAAM;oBACjC,MAAM,EAAE,YAAY,CAAC,SAAS;iBAC/B,CAAC;gBACF,YAAY,GAAG,EAAE,CAAC;gBAClB,MAAM;aACP;YAED,KAAK,YAAY,CAAC,CAAC;gBACjB,aAAa,GAAG;oBACd,YAAY,EAAE,YAAY,CAAC,MAAM;oBACjC,cAAc,EAAE,IAAI;iBACrB,CAAC;gBACF,YAAY,GAAG,EAAE,CAAC;gBAClB,MAAM;aACP;SACF;QAED,IAAI,CAAC,6BAA6B,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACrG,CAAC;;gFAlIU,gBAAgB;mGAAhB,gBAAgB,WAAhB,gBAAgB,mBAFf,MAAM;;;;;;;;;;;;;ACTpB;AAAA;AAAO,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,kBAAkB;IAC5B,UAAU,EAAE,kBAAkB;IAC9B,YAAY,EAAE,6BAA6B;IAC3C,YAAY,EAAE,0BAA0B;IACxC,WAAW,EAAE,+BAA+B;IAC5C,SAAS,EAAE,6BAA6B;IACxC,WAAW,EAAE,mCAAmC;IAChD,aAAa,EAAE,EAAE;IACjB,OAAO,EAAE,iBAAiB;IAC1B,eAAe,EAAE,0EAA0E;IAC3F,aAAa,EAAE,6CAA6C;IAC5D,WAAW,EAAE,yBAAyB;IACtC,WAAW,EAAE,cAAc;IAC3B,aAAa,EAAG,4EAA4E;IAC5F,IAAI,EAAE,MAAM;IACZ,UAAU,EAAG,0CAA0C;IACvD,mBAAmB,EAAE,sCAAsC;IAC3D,yBAAyB,EAAE,sCAAsC;IACjE,cAAc,EAAE,wCAAwC;IACxD,mBAAmB,EAAE,2BAA2B;IAChD,gBAAgB,EAAE,oCAAoC;IACtD,eAAe,EAAE,sDAAsD;IACvE,kBAAkB,EAAE,iCAAiC;IACrD,oBAAoB,EAAE,mCAAmC;IACzD,KAAK,EAAE,aAAa;IACpB,UAAU,EAAE,yDAAyD;IACrE,MAAM,EAAE,EAAE;IACV,OAAO,EAAC,yDAAyD;IACjE,SAAS,EAAC,wCAAwC;IAClD,QAAQ,EAAC,4JAA4J;IACrK,OAAO,EAAC,iCAAiC;IACzC,QAAQ,EAAC,wDAAwD;IACjE,IAAI,EAAC,wBAAwB;IAC7B,aAAa,EAAE,mBAAmB;CAEnC,CAAC;;;;;;;;;;;;;ACtCF;AAAA;AAAA;AAAO,MAAM,MAAM,GAAG;IAClB;QACI,IAAI,EAAE,iCAAiC;QACvC,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,gBAAgB;KAC3B;IACD;QACI,IAAI,EAAE,iCAAiC;QACvC,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,eAAe;KAC1B;IACD;QACI,IAAI,EAAE,iCAAiC;QACvC,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,SAAS;KACpB;IACD;QACI,IAAI,EAAE,yCAAyC;QAC/C,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,iBAAiB;KAC5B;CACJ;AAEO,MAAM,WAAW,GAAE;IACvB,OAAO,EAAE,GAAG;IACZ,KAAK,EAAC,QAAQ;CACjB,CAAC;;;;;;;;;;;;;ACzBF;AAAA;AAAA;AAAA;AAAgD;;AAezC,MAAM,YAAY;IA0CrB;QAxCA,WAAM,GAAmB;YACrB,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,CAAC,CAAC;YACR,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;SACjB,CAAC;QAGF,kBAAkB;QAClB,kBAAa,GAAG,IAAI,4CAAO,EAAkB,CAAC;QACvC,4BAAuB,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QACvD,0BAAqB,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QACrD,yBAAoB,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QACpD,2BAAsB,GAAG,IAAI,oDAAe,CAAM,IAAI,CAAC,CAAC;QACxD,wBAAmB,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QACnD,gBAAW,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QAC3C,eAAU,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QAC1C,aAAQ,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QACxC,oBAAe,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC;QAC9C,iBAAY,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QAC5C,eAAU,GAAE,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QACzC,YAAO,GAAC,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QACrC,WAAM,GAAC,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QACpC,eAAU,GAAC,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QACxC,qBAAgB,GAAC,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QAC9C,eAAU,GAAC,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QACxC,aAAQ,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QACxC,4BAAuB,GAAG,IAAI,oDAAe,CAAM,CAAC,CAAC,CAAC;QACtD,oBAAe,GAAG,IAAI,oDAAe,CAAM,KAAK,CAAC,CAAC;QAEzD,gBAAW,GAAG,IAAI,4CAAO,EAAO,CAAC;QACjC,gBAAW,GAAG,IAAI,4CAAO,EAAO,CAAC;IAGjB,CAAC;IAEjB,YAAY;QACR,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG;YACV,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,CAAC,CAAC;YACR,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,EAAE;SAChB,CAAC;IACN,CAAC;IAED,gBAAgB,CAAC,GAAG;QAChB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE;YACzC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,CAAC;SACxC;aAAM;YACH,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;SAC3B;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;IACD,kBAAkB,CAAC,GAAG;QAClB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE;YACzC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,CAAC;SACxC;aAAM;YACH,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;SAC7B;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;IAED,kBAAkB,CAAC,GAAG;QAClB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;IAED,iBAAiB,CAAC,GAAG;QACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,gBAAgB,CAAC,GAAG;QAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,iBAAiB,CAAC,GAAG,EAAE,SAAS,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;QACjD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;IAED,2BAA2B,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC;QAC9C,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;IAED,wBAAwB;QACpB,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,aAAa;QACT,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;IAC7C,CAAC;;wEAtJQ,YAAY;+FAAZ,YAAY,WAAZ,YAAY;;;;;;;;;;;;;ACNvB;AAAA;AAAA;AAAA;AAAA;AAA8B;;AA2CvB,MAAM,aAAa;IA2CxB,YAAmB,QAAoB,EAAU,SAAoB;QAAlD,aAAQ,GAAR,QAAQ,CAAY;QAAU,cAAS,GAAT,SAAS,CAAW;QA1CrC,oBAAe,GAG3C;YACF,GAAG,uBAAmB;YACtB,IAAI,uBAAmB;SACxB,CAAC;QAEM,YAAO,GAAG,CAAC,CAAC;QACD,YAAO,GAAG,CAAC,CAAC;QAIvB,aAAQ,GAAG,GAAG,CAAC;QACf,gBAAW,GAAG,CAAC,CAAC;QAChB,UAAK,GAAG,CAAC,CAAC;QACV,kBAAa,GAAG;YACtB,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;SACV,CAAC;QACM,kBAAa,GAAG;YACtB,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,IAAI;SACX,CAAC;QACM,aAAQ,GAAG;YACjB,WAAW,EAAE,IAAI;YACjB,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;YACjB,mBAAmB,EAAE,IAAI;SAC1B,CAAC;QACM,mBAAc,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAChC,UAAK,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAgXA,aAAQ,GAAG,UAAU,CAAC;IA7WmB,CAAC;IAEzE,QAAQ;QACN,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,2BAAgB,CAAC;QAClD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IACD,WAAW;QACT,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAC3D,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;SAC3B;QACD,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;SACnB;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE;YACrC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAChC,WAAW,EACX,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAClC,CAAC;SACH;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa;YAC7B,QAAQ,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC5E,CAAC;IAEO,SAAS;QACf,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;YACtC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,GAAG,IAAI,+CAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;YACrC,QAAQ,EAAE;gBACR,SAAS,EAAE,KAAK;gBAChB,cAAc,EAAE,IAAI;aACrB;YACD,WAAW,EAAE,CAAC,CAAC,+CAAM,CAAC,GAAG,CAAC,CAAC;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,+CAAM,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,IAAI,UAAU,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;YACrC,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YAChC,IAAI,CAAC,WAAW,IAAI,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC;YACzC,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC;YACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,EACxC,IAAI,CAAC,OAAO,CACb,CAAC;YACF,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC,KAAK,CAAC;YAC/D,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC;YAC9D,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE;YAC5B,EAAE,CAAC,cAAc,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAC7B,WAAW,EACX,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,CAAC,KAAK,EAAE,EAAE;YAC7C,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,KAAK,CAAC,wBAAwB,EAAE,CAAC;QACnC,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAC7B,WAAW,EACX,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,CAAC,KAAK,EAAE,EAAE;YAC7C,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,KAAK,CAAC,wBAAwB,EAAE,CAAC;QACnC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;QAC5D,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QACzD,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;QAEvD,QAAQ,IAAI,CAAC,UAAU,EAAE;YACvB,KAAK,YAAY;gBACf,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;gBACrD,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBAClE,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;oBAC1D,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;oBACvD,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;iBACnE;gBACD,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;gBACrD,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBAClE,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;oBAC1D,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;oBACvD,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;iBACnE;gBACD,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CACjC,IAAI,CAAC,aAAa,CAAC,MAAM,EACzB,IAAI,CAAC,GAAG,CAAC,YAAY,CACtB,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBAClE,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;oBAC1D,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAClC,IAAI,CAAC,aAAa,CAAC,OAAO,EAC1B,IAAI,CAAC,GAAG,CAAC,aAAa,CACvB,CAAC;oBACF,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;iBACnE;gBACD,MAAM;YACR,KAAK,KAAK;gBACR,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;gBACrD,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBAClE,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;oBAC1D,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;oBACvD,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;iBACnE;gBACD,MAAM;SACT;QACD,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,oBACpD,IAAI,CAAC,aAAa,EACrB,CAAC;QACH,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACpC,CAAC;IAED,UAAU;QACR,QAAQ,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE;YAChC,KAAK,QAAQ;gBACX,IAAI,CAAC,aAAa,CAAC,GAAG;oBACpB,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC/D,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,aAAa,CAAC,GAAG;oBACpB,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;gBACzD,MAAM;SACT;QACD,QAAQ,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;YACjC,KAAK,QAAQ;gBACX,IAAI,CAAC,aAAa,CAAC,IAAI;oBACrB,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC7D,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,aAAa,CAAC,IAAI;oBACrB,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;gBACvD,MAAM;SACT;IACH,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;YACzD,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC;YACvE,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC;SACtE;QACD,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK;YAC/B,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI;SAC9B,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,CAAC;QACX,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,EAAE,CAAC,EAAE,CACR,SAAS,EACT,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE,EAAE;YACjC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC,CAAC,cAAc,EAAE,CAAC;QACrB,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,EAAE,CAAC,EAAE,CACR,QAAQ,EACR,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE,EAAE;YACnC,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC,CAAC,CACH,CAAC;QACF,QAAQ,CAAC,gBAAgB,CACvB,YAAY,EACZ,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE,EAAE;YACnC,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC,CAAC,CACH,CAAC;QACF,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;IACtB,CAAC;IAEO,WAAW,CAAC,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAEO,MAAM,CAAC,CAAC;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAExE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CACrB,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAC1D,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CACtB,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAC3D,CAAC;QACF,IAAI,CAAC,KAAK,GAAG;YACX,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;SACnC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IACnD,CAAC;IAEO,SAAS;QACf,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;YAC7B,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;SACnD;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;YAC/B,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACnD,QAAQ,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACxE,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC;SACpC;IACH,CAAC;IAED,YAAY,CAAC,CAAC;QACZ,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC,KAAK,CAAC;QACtD,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC;QACrD,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAChB,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC;SACnC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,EACxC,IAAI,CAAC,OAAO,CACb,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,MAAM;QACJ,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,EACxC,IAAI,CAAC,OAAO,CACb,CAAC;QACF,IAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;IACL,CAAC;IACD,OAAO;QACL,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,EACxC,IAAI,CAAC,OAAO,CACb,CAAC;QACF,IAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,CAAC,CAAC;SACV,CAAC,CAAC;IACL,CAAC;IACD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;IACzC,CAAC;IACD,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;IACzC,CAAC;IACO,IAAI,CAAC,UAAsB;QACjC,UAAU,GAAG,MAAM,CAAC,MAAM,CACxB;YACE,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;YAChC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,CAAC;SAClC,EACD,UAAU,CACX,CAAC;QACF,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC;YACZ,KAAK,EAAE,MAAM,CAAC,QAAQ;YACtB,MAAM,EAAE,MAAM,CAAC,SAAS;YACxB,GAAG,EAAE,MAAM,CAAC,OAAO;YACnB,IAAI,EAAE,MAAM,CAAC,OAAO;SACrB,CAAC,CAAC;IACL,CAAC;IAEO,SAAS,CAAC,UAAsB;QACtC,IAAI,UAAU,GAAG,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EACrD,UAAU,GAAG,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAClD,KAAK,GAAG,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAC7C,KAAK,GAAG,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAC9C,UAAU,EACV,UAAU,EACV,QAAQ,GAAG,IAAI,CAAC;QAElB,IAAI,UAAU,CAAC,KAAK,GAAG,CAAC,EAAE;SACzB;aAAM;YACL,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;YACpC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;SACtC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,EACxC,IAAI,CAAC,OAAO,CACb,CAAC;QACF,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;QACvD,MAAM,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;QACxC,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,GAAG,QAAQ,GAAG,KAAK,CAAC;QAChD,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,GAAG,SAAS,GAAG,KAAK,CAAC;QAEjD,MAAM,MAAM,GAAG;YACb,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,UAAU;YACtB,UAAU,EAAE,UAAU;SACvB,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,aAAa,CAAC,MAAmB;QACvC,MAAM,GAAG,GACP,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,MAAM,CAAC,UAAU;YAAE,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC;QAC9D,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,MAAM,CAAC,UAAU;YAAE,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC;QAC9D,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE;YACtB,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;SACpB;QACD,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE;YACtB,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;SACpB;IACH,CAAC;IAEO,QAAQ,CAAC,SAAoB;QACnC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;QAE3D,IAAI,CAAC,GAAG;YACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO;gBACtC,CAAC,CAAC,YAAY,GAAG,CAAC;gBAClB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI;YACP,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM;gBACpC,CAAC,CAAC,WAAW,GAAG,CAAC;gBACjB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC5C,qBAAqB;QACrB,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAClC,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACpC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACxC,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACxC,CAAC;IACD,SAAS;QACP,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;IACtB,CAAC;;0EAlZU,aAAa;6FAAb,aAAa;2IAAb,wBAAoB;;;;;;;;;;;;;;;;ACnDnC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuC;;;;AAQhC,MAAM,oBAAoB;IAI/B,YACU,WAAwB,EACxB,YAA0B;QAD1B,gBAAW,GAAX,WAAW,CAAa;QACxB,iBAAY,GAAZ,YAAY,CAAc;QAJpC,qBAAgB,GAAG,IAAI,oDAAe,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB;IAK9D,CAAC;IAEL,gBAAgB,CAAC,IAAI;QACnB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjF,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACnB;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CACpE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClB,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACnB;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;;wFAhCU,oBAAoB;uGAApB,oBAAoB,WAApB,oBAAoB,mBAFnB,MAAM;;;;;;;;;;;;;ACRpB;AAAA;AAAA;AAAA;AAAgE;AACP;AAczD,MAAM,WAAW,GAAU;IACzB,QAAQ,EAAE,IAAI,iEAAW,EAAE;IAC3B,qBAAqB,EAAE,KAAK;IAC5B,oBAAoB,EAAE,KAAK;IAC3B,gBAAgB,EAAE,CAAC;IACnB,2BAA2B,EAAE,IAAI;IACjC,WAAW,EAAE,GAAG;IAChB,QAAQ,EAAE,IAAI;IACd,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC;QAC9C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC,CAAC,IAAI;CACT,CAAC;AAEK,SAAS,kBAAkB,CAChC,KAAK,GAAG,WAAW,EACnB,MAAmD;IAEnD,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,wEAAwC;YAC3C,uCACK,KAAK,KACR,QAAQ,EAAE,MAAM,CAAC,OAAO,IACxB;QACJ,KAAK,sEAAsC;YACzC,uCACK,KAAK,KACR,WAAW,EAAE,IAAI,EACjB,QAAQ,EAAE,GAAG,EACb,QAAQ,kCACH,KAAK,CAAC,QAAQ;oBACjB,8CAA8C;oBAC9C,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;oBAC5B,8CAA8C;oBAC9C,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAEtC;QACJ,KAAK,+DAA+B;YAClC,uCACK,KAAK,KACR,WAAW,EAAE,IAAI,EACjB,QAAQ,EAAE,IAAI,EACd,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EACrC,QAAQ,kCACH,KAAK,CAAC,QAAQ,KACjB,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EACtC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAC1C,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAEpC;QACJ,KAAK,gEAAgC;YACnC,uCACK,KAAK,KACR,WAAW,EAAE,IAAI,EACjB,QAAQ,EAAE,IAAI,EACd,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EACrC,QAAQ,kCACH,KAAK,CAAC,QAAQ,KACjB,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAC1C,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAEpC;QACJ,KAAK,8DAA8B;YACjC,uCACK,KAAK,KACR,WAAW,EAAE,GAAG,EAChB,QAAQ,EAAE,IAAI;gBACd,8CAA8C;gBAC9C,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EACrC,QAAQ,kCACH,KAAK,CAAC,QAAQ;oBACjB,8CAA8C;oBAC9C,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAClC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EACtC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAE5C;QACJ,KAAK,sEAAsC;YACzC,uCACK,KAAK,KACR,WAAW,EAAE,GAAG,EAChB,QAAQ,EAAE,IAAI;gBACd,8CAA8C;gBAC9C,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EACrC,QAAQ,kCACH,KAAK,CAAC,QAAQ;oBACjB,8CAA8C;oBAC9C,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAClC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EACtC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAE5C;QACJ,KAAK,wEAAwC;YAC3C,uCACK,KAAK,KACR,WAAW,EAAE,GAAG,EAChB,QAAQ,EAAE,GAAG,EACb,QAAQ,kCACH,KAAK,CAAC,QAAQ,KACjB,MAAM,EAAE;wBACN,8CAA8C;wBAC9C,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;4BAC3E,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO;wBACjC,8CAA8C;wBAC9C,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;4BACrE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;wBAC/B,8CAA8C;wBAC9C,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;4BAClE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI;wBAC9B,8CAA8C;wBAC9C,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;wBACxE,8CAA8C;wBAC9C,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;wBACtC,8CAA8C;wBAC9C,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;qBACpG,OAEH;QACJ,KAAK,yEAAyC;YAC5C,uCACK,KAAK,KACR,WAAW,EAAE,IAAI,EACjB,QAAQ,EAAE,GAAG,EACb,QAAQ,kCACH,KAAK,CAAC,QAAQ;oBACjB,8CAA8C;oBAC9C,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAEtC;QACJ,KAAK,mFAAmD;YACtD,uCACK,KAAK,KACR,WAAW,EAAE,IAAI,EACjB,QAAQ,EAAE,IAAI,EACd,qBAAqB,EAAE,IAAI,EAC3B,QAAQ,kCACH,KAAK,CAAC,QAAQ;oBACjB,8CAA8C;oBAC9C,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;oBACpC,8CAA8C;oBAC9C,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAC1C,gBAAgB,EAAE,IAAI,OAExB;QACJ,KAAK,kFAAkD;YACrD,uCACK,KAAK,KACR,WAAW,EAAE,GAAG,EAChB,QAAQ,EAAE,IAAI,EACd,oBAAoB,EAAE,IAAI,EAC1B,QAAQ,kCACH,KAAK,CAAC,QAAQ;oBACjB,8CAA8C;oBAC9C,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAC9B,eAAe,EAAE,IAAI,OAEvB;QACJ,KAAK,sFAAsD;YACzD,uCACK,KAAK,KACR,QAAQ,kCACH,KAAK,CAAC,QAAQ;oBACjB,8CAA8C;oBAC9C,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAEtC;QACJ,KAAK,4EAA4C;YAC/C,yBACK,KAAK,EACR;QACJ,KAAK,0EAA0C;YAC7C,yBACK,KAAK,EACR;QACJ,KAAK,2EAA2C;YAC9C,yBACK,KAAK,EACR;QACJ,KAAK,0EAA0C;YAC7C,yBACK,KAAK,EACR;QACJ,KAAK,6EAA6C;YAChD,yBACK,KAAK,EACR;QACJ,KAAK,kFAAkD;YACrD,uCACK,KAAK,KACR,QAAQ,kCACH,KAAK,CAAC,QAAQ;oBACjB,8CAA8C;oBAC9C,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAC/B,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAC1C,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EACpC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAE1C;QACF,KAAK,6DAA6B;YAChC,uCACK,KAAK,KACR,QAAQ,kCACH,KAAK,CAAC,QAAQ,KACjB,KAAK,EAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAC7B,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAE5C;QACN;YACE,OAAO,KAAK,CAAC;KAChB;AACH,CAAC;;;;;;;;;;;;;AC9ND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4D;AAGf;AAKyB;AACX;;;;;AAIpD,MAAM,cAAc;IAyBzB,YAAoB,IAAiB,EAAU,KAAsB,EAAU,KAAmB;QAA9E,SAAI,GAAJ,IAAI,CAAa;QAAU,UAAK,GAAL,KAAK,CAAiB;QAAU,UAAK,GAAL,KAAK,CAAc;QAvB3F,gBAAW,GAAG,IAAI,4CAAO,EAAO,CAAC;QACjC,eAAU,GAAG,IAAI,4CAAO,EAAO,CAAC;QAEhC,yBAAoB,GAAG,IAAI,4CAAO,EAAO,CAAC;QAC1C,kBAAa,GAAG,IAAI,4CAAO,EAAO,CAAC;QAInC,cAAS,GAAY,KAAK,CAAC;QAG3B,iBAAY,GAAG,IAAI,4CAAO,EAAO,CAAC;QAElC,qBAAgB,GAAG,IAAI,4CAAO,EAAO,CAAC;QAC7C,mBAAc,GAAQ,EAAE,CAAC;QAIlB,sBAAiB,GAAG,IAAI,oDAAe,CAAM,KAAK,CAAC,CAAC;QACpD,cAAS,GAAW,EAAE,CAAC;QACvB,eAAU,GAAW,EAAE,CAAC;QACxB,sBAAiB,GAAW,EAAE,CAAC;QAGpC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YAC/C,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC/B,CAAC,CAAC,CAAC;IAEL,CAAC;IAGD,iCAAiC;IACjC,6CAA6C;IAC7C,4FAA4F;IAC5F,uGAAuG;IACvG,yGAAyG;IACzG,6FAA6F;IAE7F,yBAAyB;IACzB,yCAAyC;IAEzC,oFAAoF;IACpF,gBAAgB,CAAC,MAAM;QACrB,MAAM,SAAS,qBAAO,MAAM,CAAC,CAAC;QAC9B,IAAI,SAAS,CAAC,cAAc,EAAE;YAC5B,SAAS,CAAC,YAAY,GAAG,SAAS,CAAC,cAAc,CAAC;YAClD,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;YAC5C,IAAI,CAAC,QAAQ,GAAG,oBAAoB,CAAC;SACtC;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,kBAAkB,CAAC;YACnC,YAAY,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;SAC/C;QACD,SAAS,CAAC,MAAM,GAAG,WAAW,CAAC;QAC/B,OAAO,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACnC,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC,YAAY,CAAC;QAClD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACvG,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;gBACtC,MAAM,cAAc,GAAG;oBACrB,MAAM,EAAE;wBACJ,2BAA2B,EAAE,IAAI,CAAC,mBAAmB;qBACxD;iBACJ,CAAC;gBACF,sDAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBACrC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACxD;iBAAM;gBACL,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;aAC1C;YACD,QAAQ,GAAG,CAAC,IAAI,EAAE;gBAChB,KAAK,GAAG,CAAC,CAAC;oBACR,YAAY,CAAC,OAAO,CAAC,4BAA4B,EAAC,KAAK,CAAC,CAAC;oBACzD,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC;oBACzB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC/B,MAAM;iBACP;gBACD,KAAK,GAAG,CAAC,CAAC;oBACR,YAAY,CAAC,OAAO,CAAC,4BAA4B,EAAC,IAAI,CAAC,CAAC;oBACxD,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC;oBACzB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC/B,MAAM;iBACP;gBACD,KAAK,GAAG,CAAC,CAAC;oBACR,YAAY,CAAC,OAAO,CAAC,4BAA4B,EAAC,IAAI,CAAC,CAAC;oBACxD,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC;oBACzB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC9B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC/B,MAAM;iBACP;gBACD,KAAK,GAAG,CAAC,CAAC;oBACR,YAAY,CAAC,OAAO,CAAC,4BAA4B,EAAC,IAAI,CAAC,CAAC;oBACxD,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC;oBACzB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC9B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC/B,MAAM;iBACP;gBACD,KAAK,GAAG,CAAC,CAAC;oBACR,YAAY,CAAC,OAAO,CAAC,4BAA4B,EAAC,IAAI,CAAC,CAAC;oBACxD,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC;oBACzB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACnC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC/B,MAAM;iBACP;gBACD,OAAO,CAAC,CAAC;oBACP,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;iBAC7C;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,uHAAuH;IACvH,wBAAwB;IACxB,8BAA8B;IAC9B,kCAAkC;IAClC,gCAAgC;IAChC,+BAA+B;IAC/B,8BAA8B;IAE9B,gBAAgB,CAAC,IAAI;QACnB,QAAQ,IAAI,EAAE;YACZ,KAAK,KAAK,CAAC,CAAC;gBACV,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAC,aAAa,CAAC,CAAC;gBACxD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1B,MAAM;aACP;YACD,KAAK,KAAK,CAAC,CAAC;gBACV,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAC,aAAa,CAAC,CAAC;gBACxD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1B,MAAM;aACP;YACD,KAAK,cAAc,CAAC,CAAC;gBACnB,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAC,0BAA0B,CAAC,CAAC;gBACrE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1B,MAAM;aACP;YACD,KAAK,YAAY,CAAC,CAAC;gBACjB,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAC,wBAAwB,CAAC,CAAC;gBACnE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1B,MAAM;aACP;YACD,KAAK,gBAAgB,CAAC,CAAC;gBACrB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1B,MAAM;aACP;YACD,KAAK,eAAe,CAAC,CAAC;gBACpB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1B,MAAM;aACP;SACF;IACH,CAAC;IAGD,WAAW,CAAC,OAAY,EAAE,SAAkB,EAAE,aAAqB,IAAI,CAAC,UAAU;QAChF,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;;YAC3F,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;gBACpB,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,EAAC;oBACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC7C,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;oBAC1C,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAC;wBAClB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;qBAC/B;iBACF;qBACI,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAC;oBACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACxC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;oBACrC,IAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAC;wBACjB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;qBAC/B;iBACF;gBACD,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE;oBACvB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;iBACtC;gBACD,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE;oBACxB,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;iBAC/C;gBACD,IAAI,CAAC,SAAS;oBACZ,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAChC;iBACI;gBACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;gBAC1B,IAAI,IAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,CAAC,cAAc,CAAC,uBAAuB,MAAK,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE;oBACxF,IAAI,CAAC,KAAK,CAAC,gBAAgB,OAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,OAAO,CAAC,CAAC;iBACjD;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC1C;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,OAAO;QACrB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;gBACrE,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;oBAChC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC/C,OAAO,CAAC,IAAI,CAAC,CAAC;iBACf;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;iBAC9C;YACH,CAAC,EACC,KAAK,CAAC,EAAE;gBACN,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvD,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAChD,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;;4EA3NU,cAAc;iGAAd,cAAc,WAAd,cAAc;;;;;;;;;;;;;ACf3B;AAAA;AAAA;AAAiD;AAQjD,MAAM,WAAW,GAAU;IACvB,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC;IACpH,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;IACtG,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;IACnG,QAAQ,EAAE,KAAK;CAClB,CAAC;AAEK,SAAS,WAAW,CAAC,KAAK,GAAG,WAAW,EAAE,MAAqC;IAClF,QAAQ,MAAM,CAAC,IAAI,EAAE;QAEjB,KAAK,iEAAkC;YACvC,uCACO,KAAK,KACR,aAAa,EAAE,IAAI,IACrB;QACF,KAAK,oDAAqB;YAC1B,uCACO,KAAK,KACR,aAAa,EAAE,IAAI,IACrB;QACF,KAAK,oDAAqB;YAC1B,uCACO,KAAK,KACR,UAAU,EAAE,IAAI,IAClB;QAEF,KAAK,4DAA6B;YAC9B,uCACO,KAAK,KACR,aAAa,EAAE,KAAK,EACpB,KAAK,EAAE,EAAE,IACf;QACF,KAAK,uDAAwB;YACzB,uCACO,KAAK,KACR,KAAK,EAAE,MAAM,CAAC,OAAO,IACvB;QACN,KAAK,6DAA8B;YAC/B,uCACO,KAAK,KACR,QAAQ,EAAE,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IACtD;QACN;YACI,OAAO,KAAK,CAAC;KACpB;AACL,CAAC;;;;;;;;;;;;;ACnDD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqD;AACL;AAGmB;AAGf;;;;;;AAK7C,MAAM,qBAAqB;IAOhC,YAAoB,kBAAqC,EAAU,WAAuB,EAAU,KAA8B,EAAU,KAAmB;QAA3I,uBAAkB,GAAlB,kBAAkB,CAAmB;QAAU,gBAAW,GAAX,WAAW,CAAY;QAAU,UAAK,GAAL,KAAK,CAAyB;QAAU,UAAK,GAAL,KAAK,CAAc;QALxJ,aAAQ,GAAG;YAChB,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,CAAC;SACb,CAAC;QAmBF,gBAAW,GAAG,CAAC,KAAU,EAAmB,EAAE;YAC5C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;YACvD,IAAI;gBACF,OAAO,uDAAU,CAAC,KAAK,CAAC,CAAC;aAC1B;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,uDAAU,CAAC,CAAC,CAAC,CAAC;aACtB;QACH,CAAC;IAvBD,CAAC;IAED,oBAAoB;QAClB,IAAI,SAAS,CAAC,WAAW,EAAE;YACzB,SAAS,CAAC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE;gBAClD,IAAI,QAAQ,CAAC,MAAM,EAAE;oBACnB,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;oBAClD,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;oBACpD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;wBAC/B,IAAI,+DAAgB,CAAC,sGAAsG,EAAC,QAAQ,CAAC;qBACtI,CAAC,CAAC,SAAS,EAAE,CAAC;iBAChB;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAWD,WAAW;QACP,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACpC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE;YAC1B,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,+BAA+B,CAAC,CAAC;YAC7D,OAAO,0CAAK,CAAC;SACd;aAAM;YACL,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE;gBAC1B,yDAAyD;gBACzD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,2DAA2D,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,0DAA0D,CAAC,CAAC,IAAI,CAC1K,0DAAG,CAAC,CAAC,GAAa,EAAE,EAAE;oBACpB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvD,OAAO,GAAG,CAAC;gBACb,CAAC,CAAC,EACF,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC7B,CAAC;aACH;iBAAM;gBACL,OAAO,0CAAK,CAAC;aACd;SACF;IACL,CAAC;IAED,eAAe;QACb,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC1D,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,cAAc;QACZ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACzD,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;;0FAnEU,qBAAqB;wGAArB,qBAAqB,WAArB,qBAAqB,mBAFpB,MAAM;;;;;;;;;;;;;ACVpB;AAAA;AAAA;AAAA;AAAA;AAAuC;;;AAKhC,MAAM,aAAa;IAIxB,YACU,KAAiB;QAAjB,UAAK,GAAL,KAAK,CAAY;QAJpB,6BAAwB,GAAG,IAAI,oDAAe,CAAM,KAAK,CAAC,CAAC;QAC3D,sBAAiB,GAAW,EAAE,CAAC;IAIlC,CAAC;IAEL,kBAAkB;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IACxD,CAAC;;0EAVU,aAAa;gGAAb,aAAa,WAAb,aAAa,mBAFZ,MAAM;;;;;;;;;;;;;ACFpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAClD,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AACxD,MAAM,IAAI,GAAG,MAAM,CAAC;AACpB,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAC1D,MAAM,wBAAwB,GAAG,0BAA0B;AAC3D,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AACxD,MAAM,yBAAyB,GAAG,2BAA2B;AAC7D,MAAM,6BAA6B,GAAG,+BAA+B;AACrE,MAAM,8BAA8B,GAAG,gCAAgC;AACvE,MAAM,iBAAiB;IAE1B,YAAmB,OAAqE;QAArE,YAAO,GAAP,OAAO,CAA8D;QAD/E,SAAI,GAAG,mBAAmB,CAAC;IACwD,CAAC;CAChG;AAEM,MAAM,cAAc;IAEvB,YAAmB,OAAY;QAAZ,YAAO,GAAP,OAAO,CAAK;QADtB,SAAI,GAAG,sBAAsB,CAAC;IACJ,CAAC;CACvC;AAEM,MAAM,0BAA0B;IAEnC,YAAmB,OAAY;QAAZ,YAAO,GAAP,OAAO,CAAK;QADtB,SAAI,GAAG,6BAA6B,CAAC;IACX,CAAC;CACvC;AAEM,MAAM,2BAA2B;IAEpC,YAAmB,OAAY;QAAZ,YAAO,GAAP,OAAO,CAAK;QADtB,SAAI,GAAG,8BAA8B,CAAC;IACZ,CAAC;CACvC;AAEM,MAAM,kBAAkB;IAE3B,YAAmB,OAAY;QAAZ,YAAO,GAAP,OAAO,CAAK;QADtB,SAAI,GAAG,yBAAyB,CAAC;IACP,CAAC;CACvC;AACM,MAAM,oBAAoB;IAE7B,YAAmB,OAAiB;QAAjB,YAAO,GAAP,OAAO,CAAU;QAD3B,SAAI,GAAG,sBAAsB,CAAC;IACC,CAAC;CAC5C;AAEM,MAAM,uBAAuB;IAEhC,YAAmB,OAAY;QAAZ,YAAO,GAAP,OAAO,CAAK;QADtB,SAAI,GAAG,wBAAwB,CAAC;IACN,CAAC;CACvC;AACM,MAAM,IAAI;IAAjB;QACa,SAAI,GAAG,IAAI,CAAC;IACzB,CAAC;CAAA;AACM,MAAM,qBAAqB;IAE9B,YAAmB,OAAiB;QAAjB,YAAO,GAAP,OAAO,CAAU;QAD3B,SAAI,GAAG,uBAAuB,CAAC;IACA,CAAC;CAC5C;;;;;;;;;;;;;;;;;;;AC7CM,MAAM,QAAQ;IAEnB,YAAoB,UAAwB;QAAxB,eAAU,GAAV,UAAU,CAAc;IAAE,CAAC;IAE/C,SAAS,CAAC,KAAa;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;;gEANU,QAAQ;oGAAR,QAAQ;;;;;;;;;;;;;ACNrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAY,YAMX;AAND,WAAY,YAAY;IACpB,2CAA2B;IAC3B,mCAAmB;IACnB,iDAAiC;IACjC,6CAA6B;IAC7B,yCAAyB;AAC7B,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB;AAED,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IACzB,qDAAiC;IACjC,qDAAiC;IACjC,qDAAiC;AACpC,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AAED,IAAY,OAMX;AAND,WAAY,OAAO;IACf,0BAAe;IACf,4BAAiB;IACjB,4BAAiB;IACjB,4BAAiB;IACjB,sCAA2B;AAC/B,CAAC,EANW,OAAO,KAAP,OAAO,QAMlB;AAED,IAAY,KAKX;AALD,WAAY,KAAK;IACb,yBAAgB;IAChB,yBAAgB;IAChB,gEAAuD;IACvD,0BAAiB;AACrB,CAAC,EALW,KAAK,KAAL,KAAK,QAKhB;AAED,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IACzB,gDAA2B;IAC3B,8CAAyB;AAC7B,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B;AAED,IAAY,aAEX;AAFD,WAAY,aAAa;IACrB,8DAA6C;AACjD,CAAC,EAFW,aAAa,KAAb,aAAa,QAExB;AAED,IAAY,iBAKX;AALD,WAAY,iBAAiB;IACzB,oCAAe;IACf,sCAAiB;IACjB,4CAAuB;IACvB,0CAAqB;AACzB,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B;AAED,IAAY,WAKX;AALD,WAAY,WAAW;IACnB,4BAAa;IACb,oCAAqB;IACrB,4BAAa;IACb,8BAAe;AACnB,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC9CG,2EAAyD;IAAA,uDAAkB;IAAA,4DAAO;;;IAAzB,0DAAkB;IAAlB,sFAAkB;;;;IAG3E,0EAAyE;IAApC,oUAAmC;IACtE,oEAAG;IAAA,uEAAY;IAAA,4DAAI;IAAA,6EAAgC;IAAA,2EAAgB;IAAA,4DAAS;IAC9E,4DAAM;;;IAGJ,yEAAsE;IACpE,uEAAM;IAAA,mFAAwB;IAAA,4DAAO;IACvC,4DAAK;;;IAID,2EAAwG;IACtG,qEAA2D;IAC7D,4DAAO;;;;IADY,0DAAkC;IAAlC,kKAAkC;;;IAKvD,2EAA6E;IAC3E,qEAA2E;IAC7E,4DAAO;;;IACP,2EAA+E;IAC7E,qEAAiF;IACnF,4DAAO;;;IACP,2EAA+E;IAC7E,qEAA2E;IAC7E,4DAAO;;;IACP,2EAAwE;IACtE,qEAA2E;IAC7E,4DAAO;;;IACP,2EAAkF;IAChF,qEAA2E;IAC7E,4DAAO;;;IACP,2EAA+D;IAC7D,qEAA6E;IAC/E,4DAAO;;;IACP,2EAA+E;IAC7E,qEAA8E;IAChF,4DAAO;;;IACP,2EAA+E;IAC7E,qEAA8E;IAChF,4DAAO;;;IACP,2EAAuE;IACrE,qEAA2E;IAC7E,4DAAO;;;IACP,2EAAwE;IACtE,qEAA2E;IAC7E,4DAAO;;;IACP,2EAAqE;IACnE,qEAA2E;IAC7E,4DAAO;;;IACP,2EAA8E;IAC5E,qEAA2E;IAC7E,4DAAO;;;IACP,2EAA4E;IAC1E,qEAA2E;IAC7E,4DAAO;;;IACP,2EAAsE;IACpE,qEAA2E;IAC7E,4DAAO;;;IACP,2EAAqE;IACnE,qEAA2E;IAC7E,4DAAO;;;IACP,2EAAuH;IACrH,qEAAoE;IACtE,4DAAO;;;IACP,2EAAoE;IAClE,qEAA0E;IAC5E,4DAAO;;;IACP,2EAA4D;IAC1D,qEAAsE;IACxE,4DAAO;;;IACP,2EAAiE;IAC/D,qEAAqG;IACvG,4DAAO;;;IAzDP,uEAAO;IACP,8IAEO;IACP,8IAEO;IACP,8IAEO;IACP,8IAEO;IACP,8IAEO;IACP,8IAEO;IACP,8IAEO;IACP,8IAEO;IACP,8IAEO;IACP,gJAEO;IACP,gJAEO;IACP,gJAEO;IACP,gJAEO;IACP,gJAEO;IACP,gJAEO;IACP,gJAEO;IACP,gJAEO;IACP,gJAEO;IACP,gJAEO;IACR,4DAAO;;;IAzDC,0DAAmD;IAAnD,oHAAmD;IAGnD,0DAAqD;IAArD,sHAAqD;IAGrD,0DAAqD;IAArD,sHAAqD;IAGrD,0DAA8C;IAA9C,+GAA8C;IAG9C,0DAAwD;IAAxD,yHAAwD;IAGxD,0DAAqC;IAArC,sGAAqC;IAGrC,0DAAqD;IAArD,sHAAqD;IAGrD,0DAAqD;IAArD,sHAAqD;IAGrD,0DAA6C;IAA7C,8GAA6C;IAG7C,0DAA8C;IAA9C,+GAA8C;IAG9C,0DAA2C;IAA3C,4GAA2C;IAG3C,0DAAoD;IAApD,qHAAoD;IAGpD,0DAAkD;IAAlD,mHAAkD;IAGlD,0DAA4C;IAA5C,6GAA4C;IAG5C,0DAA2C;IAA3C,4GAA2C;IAG3C,0DAA6F;IAA7F,iKAA6F;IAG7F,0DAA0C;IAA1C,2GAA0C;IAG1C,0DAAkC;IAAlC,mGAAkC;IAGlC,0DAAuC;IAAvC,wGAAuC;;;IAMzC,mEAA0G;;;IAAvG,yLAA4D;;;IAEnE,2EACmC;IAChC,uEAAM;IAAA,uDAA2B;IAAA,4DAAO;IAE1C,4DAAO;;;IAFC,0DAA2B;IAA3B,2FAA2B;;;;IAxErC,yEAAiG;IACjG,uEAAM;IACJ,gIAEO;IACT,4DAAO;IACP,4NA4Dc;IACd,wEAA+E;IAAxC,0XAAuC;IAC5E,oEAAG;IAAA,0HAA0G;IAAA,4DAAI;IACjH,mEAAsE;IACvE,gIAIQ;IA2BT,4DAAI;IACJ,4DAAK;;;;;IAtG8C,6GAA6C;IAEtF,0DAA+D;IAA/D,qIAA+D;IAkEH,0DAAkC;IAAlC,mGAAkC;IACnG,0DAA8D;IAA9D,2LAA8D;IAE9D,0DAA6B;IAA7B,4FAA6B;;;IAxEpC,uEAAmD;IACjD,wHAsGK;IACP,4DAAO;;;IAvG0B,0DAAmB;IAAnB,4FAAmB;;;IAwGpD,4EAAoE;;IAAzC,oFAA2B;;ACvGrD,MAAM,qBAAqB;IAYhC,YAAoB,YAAiC,EAAU,MAAc,EAAU,KAAmB,EAAS,eAA2B,EAAS,QAAkB;QAArJ,iBAAY,GAAZ,YAAY,CAAqB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,UAAK,GAAL,KAAK,CAAc;QAAS,oBAAe,GAAf,eAAe,CAAY;QAAS,aAAQ,GAAR,QAAQ,CAAU;QAVlK,mBAAc,GAAG,CAAC,CAAC;QACnB,6BAAwB,GAAG,CAAC,CAAC;QAC7B,qBAAgB,GAAQ,EAAE,CAAC;QAC3B,6BAAwB,GAAG,CAAC,CAAC;QAC7B,4BAAuB,GAAG,CAAC,CAAC;QAC5B,uBAAkB,GAAG,KAAK,CAAC;QAE3B,WAAM,GAAG,KAAK,CAAC;QACf,WAAM,GAAY,IAAI,CAAC;QACvB,4BAAuB,GAAC,CAAE,iBAAiB,EAAC,iCAAiC,EAAC,oCAAoC,EAAC,0BAA0B,EAAC,yBAAyB,EAAC,eAAe,EAAC,MAAM,EAAC,YAAY,EAAC,iBAAiB,EAAC,WAAW,CAAC,CAAC;IACrE,CAAC;IAE9K,QAAQ;QACN,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IACD,WAAW;QACT,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACnD,IAAI,GAAG,KAAK,CAAC,EAAE;gBACb,IAAI,CAAC,oBAAoB,EAAE,CAAC;aAC7B;QACH,CAAC,CAAC;IACJ,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,CAAC,GAAqB,EAAE,EAAE;YACvE,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IAED,4BAA4B;QAC1B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAqB,EAAE,EAAE;YACrG,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAChF,0CAA0C;gBAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC7C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC9C;gBACD,IAAI,IAAI,CAAC,wBAAwB,KAAK,CAAC,EAAE;oBACvC,IAAI,CAAC,uBAAuB,GAAG,GAAG,CAAC,KAAK,CAAC;iBAC1C;gBACD,0CAA0C;gBAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACrD,IAAI,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;oBAC7F,QAAQ,GAAG,QAAQ,GAAG,IAAI;oBAC1B,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;iBAChE;gBACD,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;oBACtC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;iBACpB;qBAAM;oBACL,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;iBACrB;aACF;YACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAE9B,CAAC;IAED,eAAe,CAAC,YAAY;QAC1B,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACnE,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB,CAAC,YAAY;;QAC7B,IAAI,YAAY,CAAC,MAAM,KAAK,yBAAyB,IAAI,YAAY,CAAC,MAAM,KAAK,kBAAkB;eAC9F,YAAY,CAAC,MAAM,KAAK,wBAAwB,EAAE;YACrD,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,0CAA0C;YAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE;oBAC1E,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC;iBACrB;aACF;YACD,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE;gBACtB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;aAC5B;YACD,IAAI,KAAK,KAAK,EAAE,EAAE;gBAChB,KAAK,GAAG,uBAAuB,CAAC;aACjC;YAED,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACjC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;YACpD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACnC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACjC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACrC,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1C,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;SACpC;QACH,IAAG,YAAY,CAAC,MAAM,KAAG,0BAA0B,IAAG,YAAY,CAAC,MAAM,KAAG,yBAAyB,EAAC;YACpG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,YAAY,EAAC,CAAC,CAAC;YAAA,CAAC;SAClE;aAAI;YACH,QAAQ,YAAY,CAAC,MAAM,EAAE;gBAC3B,KAAK,yBAAyB,CAAC,CAAC;oBAC9B,YAAY,CAAC,OAAO,CAAC,eAAe,EAAC,cAAc,CAAC,CAAC;oBACrD,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,cAAc,CAAC;oBACtC,MAAM;iBACP;gBAED,KAAK,yBAAyB,CAAC,CAAC;oBAC9B,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;oBAC/B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;oBAC/B,MAAM;iBACP;gBAED,KAAK,SAAS,CAAC,CAAC;oBACd,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBAChC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;oBAC9D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;oBAClC,MAAM;iBACP;gBAED,KAAK,yBAAyB,CAAC,CAAC;oBAC9B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBAChC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,6BAA6B,GAAG,KAAK,GAAG,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC1G,MAAM;iBACP;gBAED,KAAK,kBAAkB,CAAC,CAAC;oBACvB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBAChC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,6BAA6B,GAAG,KAAK,GAAG,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC1G,MAAM;iBACP;gBAED,KAAK,uBAAuB,CAAC,CAAC;oBAC5B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBAChC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,6BAA6B,GAAG,KAAK,GAAG,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC1G,MAAM;iBACP;gBACD,KAAK,4BAA4B,CAAC,CAAC;oBACjC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBAChC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,6BAA6B,GAAG,KAAK,GAAG,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC1G,MAAM;iBACP;gBAED,KAAK,yBAAyB,CAAC,CAAC;oBAC9B,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;oBAC/B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;oBAC/B,MAAM;iBACP;gBAED,KAAK,iBAAiB,CAAC,CAAC;oBACtB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBAChC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,wCAAwC,CAAC,CAAC;oBACpE,MAAM;iBACP;gBAED,KAAK,kBAAkB,CAAC,CAAC;oBACvB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBAChC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,6BAA6B,GAAG,KAAK,GAAG,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC1G,MAAM;iBACP;gBAED,KAAK,eAAe,CAAC,CAAC;oBACpB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBAChC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,6BAA6B,GAAG,KAAK,GAAG,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC1G,MAAM;iBACP;gBAED,KAAK,wBAAwB,CAAC,CAAC;oBAC7B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBAChC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,wCAAwC,CAAC,CAAC;oBACpE,MAAM;iBACP;gBAED,KAAK,sBAAsB,CAAC,CAAC;oBAC3B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBAChC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;oBACxD,MAAM;iBACP;gBAED,KAAK,gBAAgB,CAAC,CAAC;oBACrB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBAChC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,6BAA6B,GAAG,KAAK,GAAG,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC1G,MAAM;iBACP;gBACD,KAAK,oBAAoB,CAAC;gBAC1B,KAAK,iBAAiB,CAAC,CAAC;oBACtB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG;4BACzG,YAAY,CAAC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC;oBAC7C,MAAM;iBACP;gBACD,KAAK,cAAc,CAAC,CAAC;oBACnB,IAAG,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,EAAC;wBAC3B,YAAY,CAAC,OAAO,CAAC,eAAe,EAAC,eAAe,CAAC,CAAC;wBACtD,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,eAAe,CAAC;qBACxC;oBACF,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,oBAAoB,EAAC,CAAC,CAAC;oBACxE,MAAM;iBACN;gBACD,KAAK,iBAAiB,CAAC,CAAC;oBACtB,MAAM,EAAC,YAAY,EAAC,QAAQ,EAAC,SAAS,EAAC,EAAE,EAAC,GAAC,YAAY,CAAC,IAAI,CAAC;oBAC9D,IAAG,YAAY,EAAC;wBACf,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,sBAAsB,GAAC,QAAQ,GAAC,cAAc,GAAC,YAAY,GAAC,QAAQ,GAAC,EAAE,GAAC,GAAG,CAAC,CAAC,CAAC;qBACpG;yBAAI;wBACJ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,sBAAsB,GAAC,QAAQ,GAAC,QAAQ,GAAC,EAAE,GAAE,CAAC,SAAS,EAAC,YAAW,GAAC,SAAS,GAAC,GAAG,EAAC,GAAE,CAAC,CAAC,CAAC,CAAC;qBAC9G;oBACD,MAAM;iBACN;gBACD,KAAK,iCAAiC,CAAC,CAAC;oBACtC,IAAI,EAAC,QAAQ,EAAC,SAAS,GAAC,EAAE,EAAC,OAAO,GAAC,cAAc,EAAC,GAAC,YAAY,CAAC,IAAI,CAAC;oBACrE,IAAI,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAC,WAAU,EAAC,GAAE,CAAC;oBACtE,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,cAAc,EAAC,CAAC,CAAC;oBAClE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAClC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,iBAAiB,GAAG,QAAQ,GAAG,OAAO,GAAE,SAAS,GAAG,SAAS,GAAE,OAAO,CAAC,CAAC;oBACnG,MAAM;iBACP;gBACD,KAAK,oCAAoC,CAAC,CAAC;oBACzC,IAAI,EAAC,QAAQ,EAAC,SAAS,GAAC,EAAE,EAAC,OAAO,GAAC,cAAc,EAAC,GAAC,YAAY,CAAC,IAAI,CAAC;oBACrE,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,cAAc,EAAC,CAAC,CAAC;oBAClE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;oBACvC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,iBAAiB,GAAG,QAAQ,GAAG,OAAO,GAAE,SAAS,GAAG,SAAS,GAAE,OAAO,CAAC,CAAC;oBACnG,MAAM;iBACP;gBACD,KAAK,WAAW,CAAC;oBACf,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAC,YAAY,CAAC,IAAI,0CAAE,QAAQ,CAAC,CAAC;oBACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAC;wBAC7B,WAAW,EAAE;4BACX,GAAG,QAAE,YAAY,CAAC,IAAI,0CAAE,QAAQ;yBACjC;qBACF,CAAC,CAAC;oBACH,MAAM;iBACP;gBACD,KAAK,iBAAiB,CAAC;oBACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAC,YAAY,CAAC,IAAI,0CAAE,QAAQ,CAAC,CAAC;oBACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAC;wBAC3B,WAAW,EAAE;4BACX,GAAG,QAAE,YAAY,CAAC,IAAI,0CAAE,QAAQ;yBACjC;qBACF,CAAC,CAAC;oBACH,MAAM;iBACP;gBACD,KAAK,YAAY,CAAC,CAAC;oBACjB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,OAAC,YAAY,CAAC,IAAI,0CAAE,QAAQ,CAAC,CAAC;oBACpD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAC;wBAC7B,WAAW,EAAE;4BACX,GAAG,QAAE,YAAY,CAAC,IAAI,0CAAE,QAAQ;yBACjC;qBACF,CAAC,CAAC;oBACH,MAAM;iBACP;aACF;SACD;QACA,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,qBAAqB,CAAC,YAAY;QAChC,OAAO,CAAC,YAAY,CAAC,MAAM,KAAK,kBAAkB,IAAI,YAAY,CAAC,MAAM,KAAK,4BAA4B;eACrG,YAAY,CAAC,MAAM,KAAK,iBAAiB,IAAI,YAAY,CAAC,MAAM,KAAK,kBAAkB;eACvF,YAAY,CAAC,MAAM,KAAK,eAAe,IAAI,YAAY,CAAC,MAAM,KAAK,wBAAwB;eAC3F,YAAY,CAAC,MAAM,KAAK,sBAAsB,IAAI,YAAY,CAAC,MAAM,KAAK,gBAAgB;eAC1F,YAAY,CAAC,MAAM,KAAK,eAAe,IAAG,YAAY,CAAC,MAAM,KAAK,oCAAoC,IAAE,YAAY,CAAC,MAAM,KAAK,iCAAiC;eAClK,YAAY,CAAC,MAAM,KAAK,0BAA0B,IAAE,YAAY,CAAC,MAAM,KAAK,yBAAyB,CACtG,CAAC;IACN,CAAC;IAED,uBAAuB;QACrB,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvG,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACpE,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;gBACxB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;oBACzC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;wBACnB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;qBAC1C;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAI,IAAI,CAAC,uBAAuB,EAAE;YAChE,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;IACH,CAAC;IACD,WAAW;QACT,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,YAAY,CAAC,YAAY;QACvB,IAAI,GAAG,GAAC,8CAA8C,CAAC;QACtD,QAAO,YAAY,CAAC,IAAI,EAAC;YACvB,KAAI,MAAM,CAAC;gBACV,GAAG,GAAC,2CAA2C,CAAC;gBAChD,MAAM;aACN;YACD,KAAI,aAAa,CAAC;gBACjB,GAAG,GAAC,iDAAiD,CAAC;gBACtD,MAAM;aACP;YACD,KAAI,MAAM,CAAC;gBACT,IAAG,YAAY,CAAC,MAAM,KAAG,iCAAiC,EAAC;oBACvD,GAAG,GAAC,8CAA8C,CAAC;iBACrD;qBACG;oBACF,GAAG,GAAC,iDAAiD,CAAC;iBACvD;gBACF,MAAM;aACP;YACD,KAAI,eAAe,CAAC;gBAClB,GAAG,GAAC,oDAAoD,CAAC;gBACzD,MAAM;aACP;YACD,KAAI,gBAAgB,CAAC;gBACnB,GAAG,GAAC,iDAAiD,CAAC;gBACtD,MAAM;aACP;YACD,KAAI,YAAY,CAAC;gBACf,GAAG,GAAC,gDAAgD,CAAC;gBACrD,MAAM;aACP;YACD,KAAI,cAAc,CAAC;gBACjB,GAAG,GAAC,mDAAmD,CAAC;gBACxD,MAAM;aACP;YACD,KAAI,cAAc,CAAC;gBACjB,GAAG,GAAC,+CAA+C,CAAC;gBACpD,MAAM;aACP;YACD,KAAK,QAAQ,CAAC,CAAC;gBACb,GAAG,GAAC,yDAAyD,CAAC;gBAC9D,MAAM;aACP;YACD,KAAK,YAAY,CAAC,CAAC;gBACjB,GAAG,GAAC,kDAAkD,CAAC;gBACvD,MAAM;aACP;YACD,KAAK,eAAe,CAAC,CAAC;gBACpB,GAAG,GAAC,kDAAkD,CAAC;gBACvD,MAAM;aACP;YACD,KAAK,eAAe,CAAC,CAAC;gBACpB,GAAG,GAAC,yDAAyD,CAAC;gBAC9D,MAAM;aACP;YACD,KAAK,gBAAgB,CAAC,CAAC;gBACrB,GAAG,GAAC,mDAAmD,CAAC;gBACxD,MAAM;aACP;YACD,KAAK,cAAc,CAAC,CAAC;gBACnB,GAAG,GAAC,iDAAiD,CAAC;gBACtD,MAAM;aACP;YACD,KAAK,mBAAmB,CAAC,CAAC;gBACxB,GAAG,GAAC,4DAA4D,CAAC;gBACjE,MAAM;aACP;YACD,KAAK,aAAa,CAAC,CAAC;gBAClB,GAAG,GAAC,4DAA4D,CAAC;gBACjE,MAAM;aACP;YACD,KAAK,gBAAgB,CAAC,CAAC;gBACrB,GAAG,GAAC,mDAAmD,CAAC;gBACxD,MAAM;aACP;YACD,KAAK,gBAAgB,CAAC;gBACpB,GAAG,GAAC,gDAAgD,CAAC;gBACrD,MAAM;aACP;YACD,KAAK,eAAe,CAAC;gBACnB,GAAG,GAAC,kDAAkD,CAAC;gBACvD,MAAM;aACP;YACD,KAAK,cAAc,CAAC;gBAClB,GAAG,GAAC,iDAAiD,CAAC;gBACtD,MAAM;aACP;YACD,KAAK,gBAAgB,CAAC;gBACpB,GAAG,GAAC,mDAAmD,CAAC;gBACxD,MAAM;aACP;YACD,KAAK,sBAAsB,CAAC;gBAC1B,GAAG,GAAC,gDAAgD,CAAC;gBACrD,MAAM;aACP;YACD,KAAK,qBAAqB,CAAC;gBACzB,GAAG,GAAC,kDAAkD,CAAC;gBACvD,MAAM;aACP;YACD,KAAK,oBAAoB,CAAC;gBACxB,GAAG,GAAC,iDAAiD,CAAC;gBACtD,MAAM;aACP;YACD,KAAK,sBAAsB,CAAC;gBAC1B,GAAG,GAAC,mDAAmD,CAAC;gBACxD,MAAM;aACP;YACD,OAAO,CAAC;gBACN,GAAG,GAAC,8CAA8C,CAAC;aACpD;SACF;QACF,OAAO,GAAG,CAAC;IACZ,CAAC;IAGD,SAAS,CAAC,QAAQ;QAChB,IAAI,QAAQ,GAAG,EAAE,EAAE,EAAE,QAAQ;YAC3B,OAAO,UAAU;SAClB;aAAM,IAAI,QAAQ,GAAG,GAAG,EAAE,EAAE,OAAO;YAClC,OAAO,cAAc,CAAC;SACvB;aAAM,IAAI,QAAQ,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS;YACxC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,cAAc,CAAC;SAClD;aAAM,IAAI,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,UAAU;YAC9C,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,YAAY,CAAC;SACvD;aAAM,IAAI,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU;YAClD,OAAO,WAAW,CAAC;SACpB;aAAM,IAAI,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,UAAU;YACnD,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC;SAC3D;aAAM,IAAI,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU;YACvD,OAAO,aAAa,CAAC;SACtB;aAAM,IAAI,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE;YACxC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,YAAY;SACrE;aAAM;YACL,OAAO,uBAAuB,CAAC;SAChC;IACH,CAAC;;0FA7aU,qBAAqB;qGAArB,qBAAqB;QDjBlC,yEAAwC;QACtC,4EAC8E;QAAjC,6IAAS,0BAAsB,IAAC;QAC3E,oEAA+C;QAC/C,mHAAkF;QACpF,4DAAS;QACT,yEAAoE;QAClE,iHAEM;QACN,wEAC0B;QAAxB,+IAAY,cAAU,IAAC;QACvB,+GAEK;QACL,mHAwGO;QACP,+HAAoE;QACtE,4DAAK;QAEP,4DAAM;QACR,4DAAM;;QAzHG,0DAAuC;QAAvC,4JAAuC;QACrC,0DAAwB;QAAxB,wFAAwB;QAGT,0DAAa;QAAb,6EAAa;QAGW,0DAA4B;QAA5B,qFAA4B;QAE/C,0DAA2C;QAA3C,iHAA2C;QAG7D,0DAA0C;QAA1C,gHAA0C;QAyGpC,0DAAY;QAAZ,4EAAY;;;;;;;;;;;;;;AEvH/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;;;;;;ICgB/E,wEAAoG;IAChG,6FACJ;IAAA,4DAAI;;;IACJ,wEAA2E;IACvE,uFACJ;IAAA,4DAAI;;;IACJ,wEAA2E;IACvE,yFACJ;IAAA,4DAAI;;ADhBG,MAAM,mBAAmB;IA8B9B,YACU,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;QA3BjB,aAAQ,GAAG,IAAI,0DAAY,EAAE,CAAC;QAExC,cAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,kBAAa,GAAiB,SAAS,CAAC;QACxC,gBAAW,GAAiB,SAAS,CAAC;QACtC,aAAQ,GAAY;YAClB,GAAG,EAAE,CAAC;YACN,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,CAAC;SACR;QACD,oBAAe,GAAG,KAAK,CAAC;QACxB,kBAAa,GAAG,KAAK,CAAC;QACtB,oBAAe,GAAG,KAAK,CAAC;QACjB,wBAAmB,GAAwB;YAChD,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,YAAY;YACxB,YAAY,oBAAM,IAAI,CAAC,QAAQ,CAAC;SACjC,CAAC;QAEK,+BAA0B,GAAwB;YACvD,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,YAAY;YACxB,YAAY,oBAAM,IAAI,CAAC,QAAQ,CAAC;YAChC,YAAY,oBAAM,IAAI,CAAC,QAAQ,CAAC;SACjC,CAAC;IAIE,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACjC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE;gBACvC,IAAI,KAAK,CAAC,KAAK,EAAE;oBACf,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;oBAC7E,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;oBACvC,KAAK,CAAC,YAAY,CAAC,GAAG;wBACpB,IAAI,EAAE;4BACJ,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE;4BAC7B,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC;4BAC/B,GAAG,EAAE,SAAS,CAAC,OAAO,EAAE;yBACzB;wBACD,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAC,YAAY,CAAC;wBAC1D,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE;wBACzB,MAAM,EAAE,SAAS;qBAClB,CAAC;iBACH;aACF;QACH,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE;YAClE,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACnD,IAAI,CAAC,aAAa,GAAG;gBACnB,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE;wBACxB,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC;wBAC1B,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE;qBACpB;oBACD,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAC,YAAY,CAAC;oBACrD,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;oBACpB,MAAM,EAAE,IAAI;iBACb;aACF,CAAC;YACF,IAAI,CAAC,WAAW,GAAG;gBACjB,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU;aAC7C,CAAC;SACH;IACH,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;gBAC/B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC/B,CAAC,EAAE,EAAE,CAAC,CAAC;YACP,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B;IACH,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,aAAa,CAAC,SAAuB,EAAE,IAAI;QACzC,QAAQ,IAAI,EAAE;YACZ,KAAK,MAAM;gBACT,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;gBAC/B,MAAM;YACR,KAAK,IAAI;gBACP,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;SAChC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,EAAE;YAC9D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7B;aAAM;YACL,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;SAC9B;QAED,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACvC,MAAM,EAAE,GACR,SAAS,CAAC,WAAW,EAAE;YACrB,GAAG;YACH,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACxB,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,QAAQ,EAAE;gBAC5B,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YACzB,GAAG;YACH,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE;gBACvB,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,OAAO,EAAE;gBAC3B,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3B,IAAI,IAAI,KAAK,MAAM,EAAE;YACnB,MAAM,eAAe,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,GAAG,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;YAChF,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACtF,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;SAClF;aAAM;YACL,MAAM,eAAe,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,GAAG,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC7E,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC/E,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3E;QAED,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE;YACxH,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC;YAC7D,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAC,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAC,YAAY,CAAC,GAAG,gBAAgB,CAAC;YAChG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,EAAC,YAAY,CAAC,GAAG,gBAAgB,CAAC;YAC1H,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;SACzC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,EAAE;YAC1C,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE;gBAC7E,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,OAAO,KAAK,CAAC;aACd;SACF;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,OAAO,CAAC,KAAK;;QACX,MAAM,WAAW,GAAI,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAsB,CAAC,KAAK,CAAC;QACpF,MAAM,SAAS,GAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAsB,CAAC,KAAK,CAAC;QAEhF,IAAI,WAAW,KAAK,EAAE,EAAC;YACrB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC;YACrD,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC;YACvD,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC;YACtD,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC;YACrD,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC;YACvD,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC;SACvD;QACD,IAAI,SAAS,KAAK,EAAE,EAAC;YACnB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;YAC7B,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,KAAK,EAAE,IAAI,SAAS,KAAK,EAAE,CAAC,EAAE;YACzG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7B;aAAM;YACL,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;SAC9B;QAED,IAAI,IAAI,CAAC,aAAa,EAAC;YACrB,IAAI,QAAQ,GAAG,IAAI,IAAI,OAAC,IAAI,CAAC,aAAa,0CAAE,UAAU,CAAC,MAAM,CAAC;YAC9D,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAC,CAAC,CAAC;YAEtC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAC,YAAY,CAAC,GAAG,gBAAgB,CAAC;YAChG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;SACzC;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;SAC1C;QACD,IAAI,IAAI,CAAC,WAAW,EAAC;YACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,OAAC,IAAI,CAAC,WAAW,0CAAE,UAAU,CAAC,MAAM,EAAC,YAAY,CAAC,GAAG,gBAAgB,CAAC;YAC3H,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;SACzC;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;SAC1C;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,UAAU,CAAC,KAAK;QACd,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAC7D,yBAAyB;QACzB,IAAI,QAAQ,GAAG,EAAE,IAAI,QAAQ,GAAG,EAAE,EAAE;YAClC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;SACd;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;;sFAlNU,mBAAmB;mGAAnB,mBAAmB;;QCThC,yEAA6B;QACzB,yEAA2B;QACvB,8EACuK;QAD3I,8LAA2B,oGACsB,0BAAsB,MAAM,CAAC,IADnD,8FACiE,sBAAkB,IADnF,wFAC8F,mBAAe,IAD7G;QAAvD,4DACuK;QACvK,0EAAwE;QAAlE,qRAAS,oBAAyB,IAAC;QACrC,oEAAsD;QAC1D,4DAAO;QACX,4DAAM;QACN,yEAAgB;QAAA,6DAAE;QAAA,4DAAM;QACxB,yEAA4B;QACxB,8EACmK;QADvI,4LAAyB,oGACsB,0BAAsB,IAAI,CAAC,IADjD,8FAC+D,sBAAkB,IADjF,wFAC4F,mBAAe,IAD3G;QAArD,4DACmK;QACnK,4EAAoE;QAA9D,uRAAS,oBAAuB,IAAC;QACnC,qEAAsD;QAC1D,4DAAO;QACX,4DAAM;QACV,4DAAM;QACN,8GAEI;QACJ,8GAEI;QACJ,8GAEI;;QAvBgC,0DAA2B;QAA3B,sFAA2B;QAQ3B,0DAAyB;QAAzB,oFAAyB;QAOtC,0DAA2E;QAA3E,mJAA2E;QAG3E,0DAAkD;QAAlD,oHAAkD;QAGlD,0DAAkD;QAAlD,oHAAkD;;;;;;;;;;;;;;ACvBzE;AAAA;AAAA;AAAwE;;AAOjE,MAAM,0BAA0B;IAGrC;QADU,mBAAc,GAAG,IAAI,0DAAY,EAAO,CAAC;IACnC,CAAC;IAEjB,QAAQ;IACR,CAAC;IAED,WAAW;QACT,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;;oGAVU,0BAA0B;0GAA1B,0BAA0B;QCPvC,yEAAsC;QAClC,oEAAuD;QACvD,oEAAG;QAAA,uFAA4B;QAAA,4DAAI;QACnC,oEAAG;QAAA,mGAAmC;QAAA,gEAAM;QAAC,4FAAgC;QAAA,4DAAI;QACjF,4EAAwD;QAAxB,kJAAS,iBAAa,IAAC;QAAC,iEAAM;QAAA,4DAAS;QAC3E,4DAAM;;;;;;;;;;;;;;ACLN;AAAA;AAAA;AAAA,MAAM,SAAS,GAAG;IACd,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;CACnB;AACD,MAAM,SAAS,GAAG;IACd,SAAS,EAAG;QACR,IAAI,EAAE,qBAAqB;QAC3B,cAAc,EAAE,gBAAgB;QAChC,iBAAiB,EAAE,4BAA4B;QAC/C,gBAAgB,EAAE,aAAa;QAC/B,oBAAoB,EAAE,QAAQ;KACjC;IACD,IAAI,EAAG;QACH,IAAI,EAAE,MAAM;QACZ,cAAc,EAAE,wBAAwB;QACxC,iBAAiB,EAAE,wBAAwB;QAC3C,gBAAgB,EAAE,aAAa;QAC/B,oBAAoB,EAAE,QAAQ;KACjC;IACD,MAAM,EAAG;QACL,gBAAgB,EAAE,aAAa;QAC/B,oBAAoB,EAAE,QAAQ;KACjC;CACJ;AAE8B;;;;;;;;;;;;;AC1B/B;AAAA;AAAA;AAAA;AAA2C;AACoD;;AAKxF,MAAM,yBAAyB;IAIpC,YAA+C,QAAiB,EAAU,KAAiB;;QAA5C,aAAQ,GAAR,QAAQ,CAAS;QAAU,UAAK,GAAL,KAAK,CAAY;QAF3F,aAAQ,GAAW,KAAK,CAAC;QACf,wBAAmB,GAAG,IAAI,0DAAY,EAAW,CAAC;QAE1D,MAAM,OAAO,GAAG;YACd,uBAAuB;YACvB,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,GAAG;SACf;QACD,MAAM,oBAAoB,GAAG,CAAC,OAAoC,EAAE,EAAE;YACpE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,KAAK,CAAC,EAAE;gBACrB,IAAG,KAAK,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAC;oBACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACrB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpC,OAAO,KAAK,CAAC;iBACd;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,EAAC;QACJ,CAAC,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAoB,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QACxE,MAAM,MAAM,SAAG,IAAI,CAAC,KAAK,0CAAE,aAAa,CAAC;QACzC,MAAM,WAAI,IAAI,CAAC,QAAQ,0CAAE,OAAO,CAAC,MAAM,EAAC,CAAC;IAC3C,CAAC;IACD,WAAW;;QACT,gBAAI,CAAC,QAAQ,0CAAE,UAAU,mDAAK;IAChC,CAAC;;kGA1BU,yBAAyB,kEAIhB,wDAAQ;yGAJjB,yBAAyB;;;;;;;;;;;;;ACNtC;AAAA;AAAA;AAAA;AAAyD;AACF;AAOvD,MAAM,WAAW,GAAU;IACzB,IAAI,EAAE,IAAI,+DAAQ,EAAE;CACrB,CAAC;AAEK,SAAS,eAAe,CAC7B,KAAK,GAAG,WAAW,EACnB,MAA6C;IAE7C,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,wEAAyC;YAC5C,uCACK,KAAK,KACR,IAAI,EAAE,MAAM,CAAC,OAAO,IACpB;QACJ,KAAK,yEAA0C;YAC7C,uCACK,KAAK,KACR,IAAI,EAAE,MAAM,CAAC,OAAO,IACpB;QACJ,KAAK,wEAAyC;YAC5C,IAAI,WAAW,qBAAQ,KAAK,CAAC,IAAI,CAAE,CAAC;YAEpC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;gBACnC,WAAW,CAAC,OAAO,GAAG;oBACpB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;iBACxC,CAAC;aACH;YAED,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;gBACnC,WAAW,CAAC,OAAO,mCACd,KAAK,CAAC,IAAI,CAAC,OAAO,KACrB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,GACxC,CAAC;aACH;YACD,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;gBAClC,WAAW,CAAC,MAAM,mCACb,KAAK,CAAC,IAAI,CAAC,MAAM,KACpB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,GACvC,CAAC;aACH;YACD,uCACK,KAAK,KACR,IAAI,EAAE,WAAW,IACjB;QACF,KAAK,2EAA4C;YAC/C,IAAI,eAAe,qBAAM,KAAK,CAAC,IAAI,CAAC;YACpC,eAAe,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;YACvD,eAAe,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC1D,uCACK,KAAK,KACR,IAAI,EAAE,eAAe,IACtB;QACL,KAAK,+EAAgD;YACnD,IAAI,aAAa,qBAAQ,KAAK,CAAC,IAAI,CAAE;YACrC,aAAa,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACvD,aAAa,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACrD,uCACK,KAAK,KACR,IAAI,EAAE,aAAa,IACpB;QACH,KAAK,gFAAiD;YACpD,IAAI,cAAc,qBAAQ,KAAK,CAAC,IAAI,CAAE;YACtC,cAAc,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACzD,cAAc,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACzD,cAAc,CAAC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACvD,uCACK,KAAK,KACR,IAAI,EAAE,cAAc,IACrB;QACH;YACE,yBACK,KAAK,EACR;KACL;AACH,CAAC;;;;;;;;;;;;;AClFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+D;AACS;AAIF;;;;;;;;;;;IC+CyE,2EAAiF;IAAA,uDAA4B;IAAA,4DAAO;;;IAAnC,0DAA4B;IAA5B,0GAA4B;;;IAC1O,2EAAgF;IAAA,uDAA4B;IAAA,4DAAO;;;IAAnC,0DAA4B;IAA5B,0GAA4B;;;IAC5G,2EAAgF;IAAA,uDAA4B;IAAA,4DAAO;;;IAAnC,0DAA4B;IAA5B,0GAA4B;;;IAF9G,wEAA+D;IAAA,2EAAkC;IAAA,uDAAuB;IAAA,4DAAO;IAAA,8HAAoH;IACjP,8HAAmH;IACnH,8HAAmH;IAAA,4DAAI;;;IAFxB,0DAAuB;IAAvB,2FAAuB;IAAkC,0DAAoD;IAApD,qIAAoD;IACjL,0DAAmD;IAAnD,oIAAmD;IACnD,0DAAmD;IAAnD,oIAAmD;;;IAChF,wEAAiE;IAAA,uDAAyB;IAAA,4DAAI;;;IAA7B,0DAAyB;IAAzB,6FAAyB;;;;IAcpF,qEAA+C;IAC7C,4EAA0D;IAAnD,qgBAAkD;IAAC,4EAAyG;IAA9D,2QAA+B;IAA1E,4DAAyG;IACnK,uDACF;IAAA,4DAAQ;IACR,4DAAK;;;IAHkG,0DAA+B;IAA/B,0FAA+B;IACpI,0DACF;IADE,4FACF;;;IANJ,yEAAkC;IAChC,uDACA;IAAA,qEAAI;IACF,+IAIK;IACP,4DAAK;IACP,4DAAK;;;IARH,0DACA;IADA,yFACA;IAC0B,0DAAqB;IAArB,2FAAqB;;;IAJnD,wEAAqE;IACnE,0IASK;IACP,qEAAe;;;IAVR,0DAAS;IAAT,2EAAS;;;;IAPlB,qEAAkC;IAChC,qEAAI;IAAA,wEAAO;IACT,4EAA6F;IAA1C,2VAAyC;IAA5F,4DAA6F;IAC7F,oEACF;IAAA,4DAAQ;IACR,4DAAK;IACL,+IAWe;IACjB,4DAAK;;;IAhBsB,0DAA2B;IAA3B,2FAA2B;IAIrB,0DAAyB;IAAzB,gGAAyB;;;;IAcxD,yEAAqF;IAAvC,+XAAsC;IAClF,wEAAO;IAAA,uEAAkD;IACzD,uDACF;IAAA,4DAAQ;IACR,4DAAK;;;IAH2B,0DAA0B;IAA1B,uFAA0B;IACxD,0DACF;IADE,yFACF;;;IAJF,qEAAkC;IAChC,2HAIK;IACP,4DAAK;;;IALkB,0DAAuB;IAAvB,gGAAuB;;;IAYmG,uEAAqC;IAAA,oEAAS;IAAA,4DAAO;;;IAAA,uEAAqC;IAAA,qEAAU;IAAA,4DAAO;;;;;IAFhQ,yEAAsD;IACpD,+EAAiO;IAAvN,0WAAgC;IAAuL,4DAAW;IAC5O,2EAAyF;IAAA,2EAAoC;IAAA,uDAAsB;IAAA,gIAAqD;IAAA,gIAAsD;IAAA,4DAAO;IAAC,+EAAmB;IAAA,4DAAO;IAClS,4DAAM;;;IAFM,0DAAgC;IAAhC,8FAAgC;IACd,0DAA4D;IAA5D,4HAA4D;IAAqC,0DAAsB;IAAtB,mGAAsB;IAAO,0DAA4B;IAA5B,+FAA4B;IAAyB,0DAA4B;IAA5B,+FAA4B;;;IAIxF,uEAAqC;IAAA,oEAAS;IAAA,4DAAO;;;IAAA,uEAAqC;IAAA,qEAAU;IAAA,4DAAO;;;;IAFhQ,yEAA4D;IAC1D,+EAAmO;IAAzN,0WAAgC;IAAyL,4DAAW;IAC9O,2EAAyF;IAAA,2EAAoC;IAAA,uDAAsB;IAAA,gIAAqD;IAAA,gIAAsD;IAAA,4DAAO;IAAC,+EAAmB;IAAA,4DAAO;IAClS,4DAAM;;;IAFM,0DAAgC;IAAhC,8FAAgC;IACd,0DAA4D;IAA5D,4HAA4D;IAAqC,0DAAsB;IAAtB,mGAAsB;IAAO,0DAA4B;IAA5B,+FAA4B;IAAyB,0DAA4B;IAA5B,+FAA4B;;;IAUvO,qEAAiE;;;IAAnB,0IAAgB;;;IAE9D,qEAGE;;;;IANJ,uEAAoD;IAClD,+HAAiE;IAEjE,+HAGE;IACF,6EACG;IAD0B,0WAA2B;IACrD,qEAGD;IAAA,4DAAS;IACb,4DAAO;;;;IAXa,0DAA0B;IAA1B,0FAA0B;IAE1B,0DAA0B;IAA1B,0FAA0B;IAIyC,0DAA8B;IAA9B,8FAA8B;;;IAUvH,wEAAgD;IAAA,iFAAsB;IAAA,4DAAI;;;IAC1E,0EAA8C;IAAA,oGAAyC;IAAA,4DAAM;;;;IAG/F,0EAAmD;IACjD,0EAAwB;IACtB,oEAAG;IAAA,2EAAgB;IAAA,4DAAI;IACvB,qEAAI;IAAA,wFAA6B;IAAA,4DAAK;IACxC,4DAAM;IACN,0EAAwB;IACtB,6EAAmE;IAA7C,kUAAqB;IAAwB,kEAAO;IAAA,4DAAS;IACnF,6EAAsE;IAAhD,oUAAuB;IAAyB,kEAAM;IAAA,4DAAS;IACvF,4DAAM;IACR,4DAAM;;;IAEJ,4EAAwD;IAAA,2EAAgB;IAAA,4DAAQ;;;IAChF,4EAAuD;IAAA,uDAA4E;IAAA,4DAAQ;;;IAApF,0DAA4E;IAA5E,0JAA4E;;;IAKvI,0EAAoD;IACpD,0EAA0C;IACxC,qEAA8D;IAChE,4DAAM;IACN,4DAAM;;;;;ADvId,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAMrB,MAAM,0BAA0B;IA4BrC,YAAoB,YAAyB,EAAU,IAAgB,EAC7D,KAA8B,EAAU,eAA4B,EACpE,WAAwB,EAAU,KAAmB;QAF3C,iBAAY,GAAZ,YAAY,CAAa;QAAU,SAAI,GAAJ,IAAI,CAAY;QAC7D,UAAK,GAAL,KAAK,CAAyB;QAAU,oBAAe,GAAf,eAAe,CAAa;QACpE,gBAAW,GAAX,WAAW,CAAa;QAAU,UAAK,GAAL,KAAK,CAAc;QA7BrD,oBAAe,GAAG,IAAI,0DAAY,EAAO,CAAC;QACpD,WAAM,GAAG;YACP,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,EAAE;YACd,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,EAAE;SAChB,CAAC;QACF,kBAAa,GAAG,KAAK,CAAC;QACtB,oBAAe,GAAG,KAAK,CAAC;QACxB,kBAAa,GAAY,KAAK,CAAC;QAGxB,cAAS,GAAG,EAAC,UAAU,EAAE,EAAE,EAAC,CAAC;QAC7B,0BAAqB,GAAW,WAAW,CAAC;QAC5C,aAAQ,GAAG,MAAM,CAAC;QAClB,oBAAe,GAAY,KAAK,CAAC;QACjC,mBAAc,GAAY,KAAK,CAAC;QAChC,cAAS,GAAY,KAAK,CAAC;QAE3B,sBAAiB,GAAY,KAAK,CAAC;QACnC,aAAQ,GAAY,KAAK,CAAC;QAC1B,UAAK,GAAY,KAAK,CAAC;QACvB,cAAS,GAAY,KAAK,CAAC;QAClC,qBAAgB,GAAa,KAAK,CAAC;QACzB,iBAAY,GAAG,IAAI,0DAAY,EAAO,CAAC;QACvC,oBAAe,GAAG,IAAI,0DAAY,EAAO,CAAC;QAC1C,uBAAkB,GAAG,IAAI,0DAAY,EAAO,CAAC;QAsIvD,WAAM,GAAG,EAAE,CAAC;QACZ,kBAAa,GAAG,KAAK,CAAC;QACtB,mBAAc,GAAG,KAAK,CAAC;QA8MvB,uBAAkB,GAAG,CAAC,CAAC;QACvB,cAAS,GAAG,KAAK,CAAC;QAClB,qBAAgB,GAAG,KAAK,CAAC;QAqClB,sBAAiB,GAAG,CAAC,CAAC;QAe7B,mBAAc,GAAG,KAAK,CAAC;QAxYrB,IAAI,WAAW,GAAG,IAAI,MAAM,CAAC,4BAA4B,CAAC,CAAC;QAC3D,IAAI,cAAc,GAAG,IAAI,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACzD,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC3C,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;gBACzC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;aACnB;iBAAM,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;gBACnD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;aACpB;SACF;aAAM,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;aAAM,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC/C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;SACnB;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;IACH,CAAC;IAED,QAAQ;QACN,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC;YAC1B,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,KAAK;SAClB,CAAC;QACA,mBAAmB;QACnB,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;YACjB,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,CAAC;gBACjD,CAAC,CAAC,eAAe,EAAE,CAAC;YACtB,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7C,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,KAAU,EAAE,IAAS;QACnC,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,EAAC;YAClC,KAAK,CAAC,cAAc,EAAE,CAAC;SACzB;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;QAChF,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,KAAK,IAAI,CAAC,EAAC;YACb,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SACzC;aAAI;YACH,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAC;YACtC,6BAA6B;SAC9B;IACH,CAAC;IACD,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO;QACtC,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,EAAC;YAClC,KAAK,CAAC,cAAc,EAAE,CAAC;SACzB;QACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,OAAO,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC;QACvC,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9E,IAAI,UAAU,EAAC;YACb,UAAU,qBAAO,UAAU,CAAC,CAAC;YAC7B,IAAI,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5F,IAAI,aAAa,EAAC;gBAChB,aAAa,qBAAO,aAAa,CAAC,CAAC;gBACnC,UAAU,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;aACrG;iBAAI;gBACH,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACxC;YACD,IAAI,UAAU,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;aACrF;iBAAI;gBACH,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChF,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC;aAC5C;SACF;aAAI;YACH,MAAM,OAAO,qBAAO,IAAI,CAAC,CAAC;YAC1B,MAAM,UAAU,qBAAO,OAAO,CAAC,CAAC;YAChC,OAAO,CAAC,aAAa,GAAG,CAAC,UAAU,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACtC;QACD,4CAA4C;QAC5C,+BAA+B;QAC/B,IAAI;IACN,CAAC;IACD,sBAAsB,CAAC,KAAK;QAC1B,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,EAAC;YAClC,KAAK,CAAC,cAAc,EAAE,CAAC;SACzB;QACD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,eAAe,EAAC;YACxB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;SACzF;aAAI;YACH,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;YAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnC;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,4CAA4C;QAC5C,+BAA+B;QAC/B,IAAI;IACN,CAAC;IACD,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACxB,IAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAC;YACxB,IAAI,IAAI,KAAK,MAAM,EAAC;gBAClB,IAAI,CAAC,qBAAqB,GAAG,WAAW,CAAC;gBACzC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC7C,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC;gBAC5B,CAAC,CAAC,CAAC;aACJ;iBAAI;gBACH,IAAI,CAAC,qBAAqB,GAAG,iBAAiB,CAAC;gBAC/C,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC7C,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC;gBAClC,CAAC,CAAC,CAAC;aACJ;YACC,IAAI,CAAC,QAAQ,GAAC,IAAI;YAClB,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;SAC/B;IACH,CAAC;IAMD,YAAY;QACV,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,YAAY,CAAC,KAAK;QAChB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAEjC,IAAI,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3D,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,MAAM,EAAE;YAC1G,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,OAAO,KAAK,CAAC;SACZ;QAED,IAAI,KAAK,EAAE;YACT,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAChC,IAAI,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClE,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC/C,MAAM,CAAC,MAAM,GAAG,CAAC,CAAM,EAAE,EAAE;oBACzB,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;wBACnC,IAAI,QAAQ,KAAK,CAAC,IAAI,UAAU,IAAI,GAAG,EAAE;4BACvC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;4BAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;4BACvB,OAAO;yBACR;wBACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;wBACxE,IAAI,KAAK,IAAI,CAAC,CAAC,EAAE;4BACf,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;4BACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gCACf,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;gCACpB,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,IAAI;6BACX,CAAC,CAAC;yBACJ;6BAAM;4BACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;4BACtB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;yBAC5B;wBACD,0BAA0B;qBAC3B;yBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;wBAC1C,IAAI,QAAQ,KAAK,CAAC,IAAI,UAAU,IAAI,GAAG,EAAE;4BACvC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;4BAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;4BACvB,OAAO;yBACR;wBACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;wBACxE,IAAI,KAAK,IAAI,CAAC,CAAC,EAAE;4BACf,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;4BACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gCACf,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;gCACpB,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,IAAI;6BACX,CAAC,CAAC;yBACJ;6BAAM;4BACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;4BACtB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;yBAC5B;qBACF;gBACH,CAAC,CAAC;gBACF,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;aAC5B;SACF;IACH,CAAC;IAED,UAAU,CAAC,KAAK;QACd,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,yCAAyC;IACzC,eAAe,CAAC,GAAG;QACjB,MAAM,MAAM,GAAG,wDAAwD,CAAC;QACxE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC,SAAS,CACpE,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;gBAC3B,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;oBACnC,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;oBAC5D,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;iBACxC;aACF;QACH,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;YACX,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC;YACtB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,+BAA+B;IAC/B,kBAAkB,CAAC,IAAI,EAAE,GAAG;QAC1B,MAAM,QAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;QAC1C,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9C,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QACtC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACnE,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACrE,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACzD,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjD,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACnE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAE5C,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACvB,MAAM,EAAE,kBAAkB;aAC3B,CAAC;SACH,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5D,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC;YACxB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,EAAE,GAAG,EAAE;YACN,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC;YACtB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAChD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;SAC5D;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC3B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;oBAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,GAAG,EAAE,IAAI,CAAC,YAAY;iBACvB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IAAI,aAAa,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAC,EAAE;gBACxC,IAAG,IAAI,CAAC,SAAS,EAAC;oBAChB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACvB;gBACD,IAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAC;oBAC3B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;wBACnC,IAAG,OAAO,CAAC,SAAS,EAAC;4BAClB,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;yBAC7B;oBACH,CAAC,CAAC,CAAC;oBACH,IAAG,aAAa,CAAC,MAAM,EAAC;wBACtB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;wBACnC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACtB,aAAa,GAAG,EAAE;qBACnB;iBACF;YACH,CAAC,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;YACpC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC5D,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACpB,UAAU;oBACV,YAAY,CAAC,OAAO,CAAC,cAAc,EAAC,qBAAqB,CAAC,CAAC;oBAC3D,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACpC,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;oBACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;oBACjD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;oBAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;oBAC3B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;oBACvB,4DAA4D;oBAC5D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvD,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC3C,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC3C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAClC,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;wBACrD,IAAI,GAAG,EAAC;4BACN,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE;gCACzC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;gCACxE,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oCACpD,IAAI,OAAO,CAAC,IAAI,KAAK,qBAAqB,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,iBAAiB,EAAC;wCAClG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;qCACjD;gCACH,CAAC,CAAC,CAAC;6BACJ;4BACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;yBAC5B;oBAEH,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC5C,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;iBAC/B;qBAAM;oBACN,qBAAqB;oBACrB,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACzC,cAAc;oBACd,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;oBAC3B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;iBAG5B;YACH,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;gBACX,wDAAwD;gBACxD,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;gBACpD,cAAc;YAChB,CAAC,CAAC,CAAC;SAEJ;IACH,CAAC;IAMD,aAAa;QACX,cAAc;QACd,6BAA6B;QAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,iCAAiC;QACjC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAC;YACtC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,OAAO;SACR;QACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC,EAAC;YACjE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,OAAO;SACR;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC,EAAE;YAC7D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,OAAO;SACR;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC,EAAE;YACxE,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,OAAO;SACR;aACG;YACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAC/B;QACF,2FAA2F;QAC1F,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAID,OAAO;QACL,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;QACxD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE;YACvF,wBAAwB;YACxB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;SAC/B;aAAM;YACL,yBAAyB;YACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;SAC/B;IACH,CAAC;IAGD,WAAW;QACT,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAC/C,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAChD,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC1C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YACzB,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SAC1C;IACH,CAAC;IAED,SAAS;QACP,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,4CAA4C;QAC5C,kCAAkC;QAClC,YAAY;QACZ,IAAI;IACN,CAAC;IAED,iBAAiB;QACf,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAa,EAAE,EAAE;YAClD,IAAI,QAAQ,CAAC,SAAS,EAAE;gBACtB,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aAClC;YACD,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE;gBACjC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,WAAgB,EAAE,EAAE;oBAClD,IAAI,WAAW,CAAC,SAAS,EAAE;wBACzB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;qBACrC;gBACH,CAAC,CAAC;aACH;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YAC5D,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5C;QACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE;YAC3D,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5C;QACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YAC3D,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5C;QACD,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,iBAAiB,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EACrE;YACA,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IACD,kBAAkB;QAChB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI;QACjD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,mBAAmB,CAAC;QAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QAC/B,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,IAAI;SACd;QACD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACb,OAAO,EAAE,CAAC;SACb;QACD,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;;oGAngBU,0BAA0B;0GAA1B,0BAA0B;QCjBvC,yEAA0E;QACtE,yEAA8F;QAC5F,yEAA2B;QAAA,oEAAkC;QAC3D,yEAA0B;QAEtB,wEAAwB;QAAA,oFAAyB;QAAA,4DAAK;QAEtD,4EAIC;QAFC,kJAAS,gBAAY,IAAC;QAGxB,4DAAS;QAEb,4DAAM;QACN,yEAAwB;QACpB,yEAAwB;QACpB,0EAAsB;QACpB,8EAQC;QACC,yEAAsC;QAAA,wDAA2B;;QAAA,4DAAI;QACvE,4DAAS;QACT,2EAA6D;QAC3D,0EAAuB;QACrB,0EAAmC;QAA/B,+IAAS,iBAAa,MAAM,CAAC,IAAC;QAAC,gEAAI;QAAA,4DAAK;QAC5C,0EAAyC;QAArC,+IAAS,iBAAa,YAAY,CAAC,IAAC;QAAC,sEAAU;QAAA,4DAAK;QAC1D,4DAAK;QACP,4DAAM;QACR,4DAAM;QACL,4DAAM;QAGb,0EAAwB;QACtB,0EAAsB;QACpB,8EAUC;QAFC,mJAAS,sBAAkB,IAAC;QAG5B,qHAEyH;QACzH,qHAA8F;QAC9F,uEAA2B;QAC7B,4DAAS;QACT,2EAA2F;QAC3F,uHAkBK;QACL,uHAMK;QACP,4DAAM;QACN,4DAAM;QAER,4DAAM;QACN,0HAGM;QACN,0HAGM;QACN,2EAAoC;QAClC,yEAAO;QAAA,uEAAW;QAAA,2EAAgF;QAAA,+GAAmD;QAAA,4DAAM;QAAA,4DAAQ;QACnK,2EAAwB;QACtB,4EAA4D;QAC1D,wEAAuC;QACvC,6EAAwJ;QAA3F,0JAAU,wBAAoB,IAAC,0FAAU,kBAAc,IAAxB;QAA5F,4DAAwJ;QAC1J,4DAAO;QACP,2HAYO;QACP,2EAA4B;QAC5B,yEAAwB;QAAA,kFAAsB;QAAA,4DAAI;QAClD,4DAAM;QACR,4DAAM;QACN,qHAA0E;QAC1E,yHAA6F;QAE/F,4DAAM;QACN,0HASM;QACN,2EAAuB;QACrB,6HAAgF;QAChF,6HAA2I;QAC3I,8EAAkK;QAAlD,mJAAS,mBAAe,IAAC;QACvI,mEAAM;QAAA,4DAAS;QACnB,4DAAM;QACR,4DAAM;QACN,yHAIM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;;QA7IM,0DAAyD;QAAzD,wHAAyD;QAiBnD,0DAAsB;QAAtB,mFAAsB;QAEgB,0DAA2B;QAA3B,mJAA2B;QAqBrE,2DAAsB;QAAtB,mFAAsB;QAIO,0DAAgC;QAAhC,kGAAgC;QAGhC,0DAAkC;QAAlC,oGAAkC;QAI5D,0DAA2B;QAA3B,2FAA2B;QAmB3B,0DAA2B;QAA3B,2FAA2B;QAWX,0DAA2B;QAA3B,2FAA2B;QAI3B,0DAAiC;QAAjC,iGAAiC;QAKjC,0DAAmD;QAAnD,oHAAmD;QAEhD,0DAAmC;QAAnC,0JAAmC;QAIpC,0DAAU;QAAV,+EAAU;QAiBJ,0DAAe;QAAf,+EAAe;QACrB,0DAAmB;QAAnB,mFAAmB;QAGxC,0DAAoB;QAApB,oFAAoB;QAWhB,0DAAyB;QAAzB,oFAAyB;QACJ,0DAAwB;QAAxB,mFAAwB;QAC/B,0DAAiD;QAAjD,mKAAiD;QAI5C,0DAAmB;QAAnB,mFAAmB;;;;;;;;;;;;;;AC9I1D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+D;AACoB;AAS5D;;;;;;;;;;;;;ICqCL,wEAC2B;IADO,wVAAyB,UAAU,eAAO;IAE1E,uEAAM;IAAA,uDAAa;IAAA,4DAAO;IAAA,4DAAI;;;;IAF6C,6GAA8C;IAEnH,0DAAa;IAAb,8EAAa;;;;IAkBnB,wEAC2B;IADY,wVAAyB,gBAAgB,oBAAY;IAE1F,uEAAM;IAAA,uDAAa;IAAA,4DAAO;IAAA,4DAAI;;;;IAF6D,iHAAkD;IAEvI,0DAAa;IAAb,8EAAa;;;IAK7B,0EAAiD;IAAA,qFAA0B;IAAA,4DAAM;;;IAIgE,uEAAqC;IAAA,oEAAS;IAAA,4DAAO;;;IAAA,uEAAqC;IAAA,qEAAU;IAAA,4DAAO;;;IAU1P,qEAAiE;;;IAAnB,0IAAgB;;;IAE9D,qEAGE;;;;IANJ,uEAAoD;IAClD,2HAAiE;IAEjE,2HAGE;IACF,6EACG;IADyB,sWAA2B;IACpD,qEAGD;IAAA,4DAAS;IACb,4DAAO;;;;IAXa,0DAA0B;IAA1B,0FAA0B;IAE1B,0DAA0B;IAA1B,0FAA0B;IAIuC,0DAA8B;IAA9B,8FAA8B;;;IAWrH,wEAAgD;IAAA,iFAAsB;IAAA,4DAAI;;;IAC1E,0EAA8C;IAAA,oGAAyC;IAAA,4DAAM;;;;IAG/F,0EAAmD;IACjD,0EAAwB;IACtB,oEAAG;IAAA,2EAAgB;IAAA,4DAAI;IACvB,qEAAI;IAAA,wFAA6B;IAAA,4DAAK;IACxC,4DAAM;IACN,0EAAwB;IACtB,6EAAmE;IAA7C,8TAAqB;IAAwB,kEAAO;IAAA,4DAAS;IACnF,6EAAsE;IAAhD,gUAAuB;IAAyB,kEAAM;IAAA,4DAAS;IACvF,4DAAM;IACR,4DAAM;;;IAEJ,4EAAwD;IAAA,2EAAgB;IAAA,4DAAQ;;;IAChF,4EAAuD;IAAA,uDAA4E;IAAA,4DAAQ;;;IAApF,0DAA4E;IAA5E,0JAA4E;;;;;;;ADvGtI,MAAM,sBAAsB;IA0BjC,YACU,YAAyB,EACzB,IAAgB,EAChB,KAA8B,EAC9B,WAAwB,EACxB,KAAmB,EACnB,MAAc,EACd,QAAkB,EAClB,eAA4B;QAP5B,iBAAY,GAAZ,YAAY,CAAa;QACzB,SAAI,GAAJ,IAAI,CAAY;QAChB,UAAK,GAAL,KAAK,CAAyB;QAC9B,gBAAW,GAAX,WAAW,CAAa;QACxB,UAAK,GAAL,KAAK,CAAc;QACnB,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAU;QAClB,oBAAe,GAAf,eAAe,CAAa;QAjC5B,oBAAe,GAAG,IAAI,0DAAY,EAAO,CAAC;QACpD,WAAM,GAAG;YACP,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,qBAAqB;YAC/B,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,EAAE;SAChB,CAAC;QAEF,oBAAe,GAAG,KAAK,CAAC;QACxB,cAAS,GAAG,KAAK,CAAC;QAGlB,cAAS,GAAG,EAAE,CAAC;QACf,mBAAc,GAAQ,EAAE,CAAC;QACzB,wBAAmB,GAAW,cAAc,CAAC;QAC7C,0BAAqB,GAAY,KAAK,CAAC;QACvC,2BAAsB,GAAa,KAAK,CAAC;QACzC,qBAAgB,GAAa,KAAK,CAAC;QAEnC,cAAS,GAAY,KAAK,CAAC;QACpB,sBAAiB,GAAY,KAAK,CAAC;QACnC,sBAAiB,GAAY,KAAK,CAAC;QACnC,oBAAe,GAAE,EAAE,CAAC;QACjB,oBAAe,GAAG,IAAI,0DAAY,EAAO,CAAC;QAC1C,wBAAmB,GAAG,IAAI,0DAAY,EAAO,CAAC;QAiDxD,WAAM,GAAG,EAAE,CAAC;QACZ,kBAAa,GAAG,KAAK,CAAC;QACtB,mBAAc,GAAG,KAAK,CAAC;QAqNvB,uBAAkB,GAAG,CAAC,CAAC;QACvB,oBAAoB;QACpB,qBAAgB,GAAG,KAAK,CAAC;QAgDlB,sBAAiB,GAAG,CAAC,CAAC;QAkD7B,mBAAc,GAAG,KAAK,CAAC;IAlWpB,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7C,IAAI,CAAC,SAAS,GAAG,6CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,IAAY,EAAE,IAAS;QACrC,IAAI,IAAI,KAAK,UAAU,EAAE;YACvB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;gBAC7B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;aAC5B;YACD,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;YACjC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,qBAAqB,EAAE;gBAClD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC7B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;aAC1B;iBAAM;gBACL,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;aAC1C;YACD,IAAG,IAAI,CAAC,eAAe,MAAK,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,KAAI,IAAI,KAAK,UAAU,EAAC;gBAC5D,IAAI,CAAC,eAAe,GAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAC;gBAChC,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC;aAC3C;SACF;aAAM;YACL,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;YACnC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,IAAI,CAAC,mBAAmB,IAAI,cAAc,EAAE;gBAC9C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;aACnC;SACF;IACH,CAAC;IAMD,YAAY;QACX,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;IACjC,CAAC;IACD,YAAY,CAAC,KAAK;QAChB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACjC,IAAI,GAAG,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QAC/D,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,EAAC;YACjC,OAAO;SACR;QACD,IACE,GAAG,KAAK,KAAK;YACb,GAAG,KAAK,MAAM;YACd,GAAG,KAAK,KAAK;YACb,GAAG,KAAK,KAAK;YACb,GAAG,KAAK,KAAK;YACb,GAAG,KAAK,MAAM,EACd;YACA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,OAAO,KAAK,CAAC;SACd;QAED,IAAI,KAAK,EAAE;YACT,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAChC,IAAI,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClE,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC/C,MAAM,CAAC,MAAM,GAAG,CAAC,CAAM,EAAE,EAAE;oBACzB,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;wBACnC,IAAI,QAAQ,KAAK,CAAC,IAAI,UAAU,IAAI,GAAG,EAAE;4BACvC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;4BAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;4BACvB,OAAO;yBACR;wBACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;wBACxE,IAAI,KAAK,IAAI,CAAC,CAAC,EAAE;4BACf,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;4BACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gCACf,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;gCACpB,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,IAAI;6BACX,CAAC,CAAC;yBACJ;6BAAM;4BACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;4BACtB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;yBAC5B;wBACD,0BAA0B;qBAC3B;yBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;wBAC1C,IAAI,QAAQ,KAAK,CAAC,IAAI,UAAU,IAAI,GAAG,EAAE;4BACvC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;4BAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;4BACvB,OAAO;yBACR;wBACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;wBACxE,IAAI,KAAK,IAAI,CAAC,CAAC,EAAE;4BACf,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;4BACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gCACf,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;gCACpB,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,IAAI;6BACX,CAAC,CAAC;yBACJ;6BAAM;4BACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;4BACtB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;yBAC5B;qBACF;gBACH,CAAC,CAAC;gBACF,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;aAC5B;SACF;IACH,CAAC;IAED,UAAU,CAAC,KAAK;QACd,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,yCAAyC;IACzC,eAAe,CAAC,GAAG;QACjB,MAAM,MAAM,GAAG,wDAAwD,CAAC;QACxE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC,SAAS,CACpE,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;gBAC3B,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;oBACnC,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;oBAC5D,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;iBACxC;aACF;QACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC;YACtB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,+BAA+B;IAC/B,kBAAkB,CAAC,IAAI,EAAE,GAAG;QAC1B,MAAM,QAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;QAC1C,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9C,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QACtC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACnE,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACrE,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACzD,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjD,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACnE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAE5C,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACvB,MAAM,EAAE,kBAAkB;aAC3B,CAAC;SACH,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,CACnD,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC;YACxB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,EACD,GAAG,EAAE;YACH,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC;YACtB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,WAAW;QACT,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAChD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;SAC5D;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC3B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;oBAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,GAAG,EAAE,IAAI,CAAC,YAAY;iBACvB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,MAAM,IAAI,qBAAa,IAAI,CAAC,MAAM,CAAE,CAAC;YACrC,IAAI,CAAC,UAAU,GAAG,CAAC;oBACjB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;oBAC1B,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC;iBACtD,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAC5C,CAAC,GAAG,EAAE,EAAE;gBACN,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACpB,UAAU;oBACV,YAAY,CAAC,OAAO,CAAC,cAAc,EAAC,MAAM,CAAC,CAAC;oBAC5C,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;oBAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,qBAAqB,CAAC;oBAC7C,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC;oBAC1C,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;oBACzB,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;oBAC7B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;oBAC9B,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;oBACpC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;oBAC9B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;oBACjB,CAAC,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAChC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;oBACnB,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;oBACzC,CAAC,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;oBAC7C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;oBAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;oBACvB,8BAA8B;oBAC9B,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC3C,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC3C,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACrC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAE/B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAChC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpC,4DAA4D;oBAC5D,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;wBACrD,IAAI,GAAG,EAAE;4BACP,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE;gCACzC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,KAAK,CACtC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAC9B,CAAC;gCACF,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oCACtD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;wCAC5E,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;qCACjD;gCACH,CAAC,CAAC,CAAC;6BACJ;yBACF;oBACH,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,qBAAqB;oBACrB,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACzC,cAAc;iBACf;YACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACR,wDAAwD;gBACxD,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;gBACpD,cAAc;YAChB,CAAC,CACF,CAAC;SACH;IACH,CAAC;IAKD,aAAa;QACX,yBAAyB;QACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,iCAAiC;QACjC,iCAAiC;QACjC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,qBAAqB,EAAE;YAClD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,OAAO;SACR;QACD,IAAI,IAAI,CAAC,cAAc,KAAK,cAAc,EAAE;YAC1C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,OAAO;SACR;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,qBAAqB,IAAI,IAAI,CAAC,mBAAmB,KAAK,cAAc,EAAE;YACjG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACnC,OAAO;SACR;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,qBAAqB,IAAI,IAAI,CAAC,mBAAmB,KAAK,cAAc,IAAI,CAAC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC,EAAE;YAClI,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,OAAO;SACR;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,qBAAqB,IAAI,IAAI,CAAC,mBAAmB,KAAK,cAAc,IAAI,CAAC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC,EAAE;YAClI,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,OAAO;SACR;aACG;YACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAC/B;QACD,IACE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW;YACxB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,EAAE,EACrD;YACA,wBAAwB;YACxB,OAAO;SACR;QACD,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAEzD,cAAc;QACd,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAID,OAAO;QACL,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;QACxD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAG,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW;YAC3B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,EAAE,EAAC;YACpD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;SAC/B;aACI;YACH,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;SAC/B;QACD,oDAAoD;QACpD,2BAA2B;QAC3B,4BAA4B;QAC5B,+BAA+B;QAC/B,yCAAyC;QACzC,IAAI;QACJ,0BAA0B;QAC1B,QAAQ;QACR,+BAA+B;QAC/B,iBAAiB;QACjB,eAAe;QACf,gCAAgC;QAChC,QAAQ;QACR,IAAI;QAEN,yCAAyC;QACzC,uCAAuC;QACvC,KAAK;QACL,8BAA8B;QAC9B,mBAAmB;QACnB,mCAAmC;QACnC,UAAU;QACV,mCAAmC;QACnC,0IAA0I;QAC1I,8BAA8B;QAC9B,iBAAiB;QACjB,kCAAkC;QAClC,iBAAiB;QACjB,WAAW;QACX,KAAK;QACL,gBAAgB;QACZ,wBAAwB;QAC1B,WAAW;QACX,8BAA8B;QAC9B,IAAI;IACN,CAAC;IAGD,WAAW;QACT,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAC/C,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAChD,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC1C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,qBAAqB,CAAC;YAC7C,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC;YAC1C,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,CAAC,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;IACH,CAAC;IAED,SAAS;QACP,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,qBAAqB,CAAC;QAC7C,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC7C,CAAC,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,eAAe;QACb,IACE,IAAI,CAAC,mBAAmB,KAAK,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,qBAAqB;YAC7F,IAAI,CAAC,iBAAiB,IAAI,EAAE,EAC5B;YACA,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,WAAW;QACT,yBAAyB;QACzB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAChC,CAAC;IACD,eAAe;QACb,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAChC,CAAC;IACD,kBAAkB;QAChB,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;IACtC,CAAC;IACD,kBAAkB;QAChB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAChC,CAAC;;4FAhdU,sBAAsB;sGAAtB,sBAAsB;QClBnC,yEAAoI;QACnI,yEAA4E;QACzE,yEAA2B;QAAA,oEAAkC;QAC3D,yEAA0B;QACxB,oEAAyB;QACzB,yEAAgC;QAC9B,wEAAwB;QAAA,0EAAe;QAAA,4DAAK;QAC9C,4DAAM;QACN,yEAAwB;QACtB,6EAKC;QAFC,+IAAS,gBAAY,IAAC;QAGxB,4DAAS;QACX,4DAAM;QACR,4DAAM;QACN,2EAAwB;QAoBpB,2EAAwB;QACxB,2EAA4B;QAC1B,2EAAsB;QACpB,8EAC8I;QAA9B,+IAAW,qBAAiB,IAAC;QAC3I,yEAA4B;QAAA,wDAAmB;QAAA,4DAAI;QACrD,4DAAS;QACT,2EAAgE;QAC9D,2EAAsB;QACpB,iHAEgC;QAClC,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QAGN,4DAAM;QAEN,2EAAwB;QACtB,2EAAmC;QACjC,2EAA2E;QACzE,8EACuJ;QAAjC,+IAAW,wBAAoB,IAAC;QACpJ,yEAA4B;QAAA,wDAAuB;QAAA,4DAAI;QACzD,4DAAS;QACT,2EAAgE;QAC9D,2EAAsB;QACpB,iHAEgC;QAClC,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QACN,qHAAiF;QACnF,4DAAM;QACR,2EAAwB;QACtB,gFAAqS;QAA3G,0MAAgC,yFAAU,aAAS,IAAnB;QAA2E,4DAAW;QAChT,4EAAyF;QAAA,4EAAoC;QAAA,wDAAsB;QAAA,uHAAqD;QAAA,uHAAsD;QAAA,4DAAO;QAAC,gFAAmB;QAAA,4DAAO;QAClS,4DAAM;QACN,2EAAoC;QAClC,yEAAO;QAAA,uEAAW;QAAA,2EAA+E;QAAA,+GAAmD;QAAA,4DAAM;QAAA,4DAAQ;QAClK,2EAAwB;QACtB,4EAA4D;QAC1D,wEAA2C;QAC3C,6EAAmI;QAAnE,sJAAU,wBAAoB,IAAC,sFAAU,kBAAc,IAAxB;QAA/F,4DAAmI;QACvI,4DAAO;QACL,uHAYO;QACP,2EAA4B;QAC9B,yEAAwB;QAAA,kFAAsB;QAAA,4DAAI;QAEpD,4DAAM;QACJ,4DAAM;QACN,iHAA0E;QAC1E,qHAA6F;QAE/F,4DAAM;QACN,sHASM;QACN,2EAAuB;QACrB,yHAAgF;QAChF,yHAA2I;QAC3I,8EAAiJ;QAA3H,+IAAS,mBAAe,IAAC;QAC7C,uEAAgD;QAChD,oEACF;QAAA,4DAAS;QACX,4DAAM;QACR,4DAAM;QAER,4DAAM;QACR,4DAAM;QACR,4DAAM;;QAxHM,2DAAyD;QAAzD,wHAAyD;QA+BV,0DAAsB;QAAtB,mFAAsB;QACrC,0DAAmB;QAAnB,oFAAmB;QAIzB,0DAAY;QAAZ,kFAAY;QAad,0DAAoD;QAApD,2KAAoD;QAE3B,0DAAsB;QAAtB,mFAAsB;QACrC,0DAAuB;QAAvB,wFAAuB;QAI7B,0DAAiB;QAAjB,uFAAiB;QAOzB,0DAA2B;QAA3B,2FAA2B;QAGxB,0DAA+F;QAA/F,6MAA+F;QAC5F,0DAA4D;QAA5D,yHAA4D;QAAqC,0DAAsB;QAAtB,gGAAsB;QAAO,0DAA4B;QAA5B,4FAA4B;QAAyB,0DAA4B;QAA5B,4FAA4B;QAGpN,0DAAmD;QAAnD,oHAAmD;QAEhD,0DAAmC;QAAnC,0JAAmC;QAIpC,0DAAU;QAAV,+EAAU;QAkBJ,0DAAe;QAAf,+EAAe;QACrB,0DAAmB;QAAnB,mFAAmB;QAGxC,0DAAoB;QAApB,oFAAoB;QAWhB,0DAAyB;QAAzB,oFAAyB;QACJ,0DAAwB;QAAxB,mFAAwB;QACL,0DAAsB;QAAtB,mFAAsB;QAC9D,0DAAkC;QAAlC,0JAAkC;;;;;;;;;;;;;;;;;;;;;ICnHtC,uEAA+C;IAAA,uDAAkB;IAAA,4DAAO;;;IAAzB,0DAAkB;IAAlB,8GAAkB;;ACDxE,MAAM,yBAAyB;IAGpC;QAFS,YAAO,GAAW,EAAE,CAAC;QACrB,oBAAe,GAAQ,EAAE,CAAC;IACnB,CAAC;IAEjB,QAAQ;IACR,CAAC;;kGANU,yBAAyB;yGAAzB,yBAAyB;QDNtC,yEAAwI;QACpI,yEAAkF;QAChF,yEAA2B;QACzB,4EAAyD;QAAA,oEAA6D;QAAA,4DAAS;QAC/H,yEAAwB;QACpB,wEAA6B;QAAA,uDAAW;QAAA,4DAAK;QAC7C,yEAA6B;QAC3B,uHAAwE;QAC1E,4DAAM;QACV,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;;QAPiC,0DAAW;QAAX,4EAAW;QAEX,0DAAkB;QAAlB,wFAAkB;;;;;;;;;;;;;;AER3D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsG;;;;;;;;;ICO5F,2EAAuC;IAAA,2EAAgB;IAAA,4DAAO;;;IAC9D,2EAA6C;IAAA,qEAAU;IAAA,4DAAO;;;IAC9D,2EAA2C;IAAA,mEAAQ;IAAA,4DAAO;;;;IAH5D,0EAAsE;IACpE,8HAA8D;IAC9D,8HAA8D;IAC9D,8HAA0D;IAC1D,6EAA2D;IAAvB,iUAAsB;IAAC,qEAAgD;IAAA,4DAAS;IACtH,4DAAM;;;IAJiB,0DAAgB;IAAhB,mFAAgB;IAChB,0DAAsB;IAAtB,yFAAsB;IACtB,0DAAoB;IAApB,uFAAoB;;;;IAerC,0EAAsE;IACpE,0EACkC;IAAhC,obAA+B;IADjC,4DACkC;IAChC,0EACgC;IAAhC,obAA+B;IAD/B,4DACgC;IAClC,0EACoC;IAAlC,sbAAiC;IADnC,4DACoC;IACtC,4DAAM;;;;;;IAfR,0EAA4E;IAC1E,4EAA2B;IACzB,2EAAqC;IAAA,uDAAiB;IAAA,4DAAO;IAC7D,4EAAmG;IAAhD,2YAA6C;IAAhG,4DAAmG;IACnG,2EAAqG;IACnG,sEAAkF;IACpF,4DAAO;IACT,4DAAQ;IACR,kIAOM;IACR,4DAAM;;;;IAdmC,0DAAiB;IAAjB,gFAAiB;IAC/B,0DAA2B;IAA3B,wFAA2B;IACpB,0DAAsE;IAAtE,0MAAsE;IAC1E,0DAAkD;IAAlD,gKAAkD;IAG3C,0DAAiC;IAAjC,iGAAiC;;;;IAZ1E,0EAA2C;IAC3C,0EAA8B;IAC5B,0EAA4B;IAAA,qIAA0E;IAAA,4DAAM;IAC5G,sEAAK;IACH,4HAgBM;IACN,0EAAkC;IAChC,0EAAkB;IAChB,0EAAmF;IAAxD,sUAA8B;IACvD,yEAAQ;IACN,sEAAmE;IACrE,4DAAS;IACT,wEAAM;IAAA,sEAAU;IAAA,4DAAO;IACzB,4DAAM;IACN,sEACM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;;;IA/BgD,0DAAa;IAAb,oFAAa;;;;IAkC7D,6EAC8B;IAA5B,gVAA2B;IAAC,iEAAM;IAAA,4DAAS;;;IADrC,mGAAkC;;;;IAFhD,0EAA6C;IACzC,0EAAyB;IACvB,kIAC6C;IAC7C,6EAAqF;IAA9C,gUAAwB,MAAM,KAAE;IAAc,+DAAI;IAAA,4DAAS;IACpG,4DAAM;IACR,4DAAM;;;IAJ0C,0DAAwB;IAAxB,2FAAwB;IAE5D,0DAA8B;IAA9B,8FAA8B;;;IAMtC,0EAAqD;IAAA,4HAAiE;IAAA,4DAAM;;;IAC5H,0EAAmD;IAAA,iIACvC;IAAA,4DAAM;;;;IAUZ,4EAA8E;IAC5E,4EACgE;IAA9D,8ZAA2D;IAD7D,4DACgE;IAChE,2EAA6F;IAC3F,sEAAoF;IACtF,4DAAO;IACT,4DAAQ;;;;IALiB,0DAA6B;IAA7B,0FAA6B;IAEtB,0DAA8D;IAA9D,8LAA8D;IAClE,0DAAoD;IAApD,kKAAoD;;;;IAlB1F,0EAAmE;IACjE,0EAA6B;IAC3B,4HAA4H;IAC5H,4HACkB;IAChB,0EAA4B;IAC1B,sEAAK;IAAA,6EAAkB;IAAA,4DAAM;IAC7B,4EACyC;IADU,6VAAwB;IAA3E,4DACyC;IACzC,2EAAiC;IAAA,uDAAmB;IAAA,4DAAO;IAC7D,4DAAM;IACN,2EAA8B;IAC5B,uEAAK;IAAA,oFAAwB;IAAA,4DAAM;IACnC,2EAAiC;IAC/B,kIAMQ;IACV,4DAAM;IACR,4DAAM;IAGV,4DAAM;IAER,4DAAM;;;IAzB2B,0DAAsB;IAAtB,yFAAsB;IACtB,0DAAoB;IAApB,uFAAoB;IAIM,0DAAwB;IAAxB,sFAAwB;IAE1C,0DAAmB;IAAnB,qFAAmB;IAKF,0DAAe;IAAf,sFAAe;;;;IAczE,0EAAqE;IACnE,0EAAyB;IACvB,6EAAkE;IAA1B,oUAAyB;IAAC,+DAAI;IAAA,4DAAS;IAC/E,6EAC+E;IAA7E,0XAA+D;IAAc,+DAAI;IAAA,4DAAS;IAC9F,4DAAM;IACR,4DAAM;;;IAHM,0DAA0B;IAA1B,0FAA0B;;;IAKpC,2EAA0C;IAAA,sEAAW;IAAA,4DAAO;;;IAC5D,2EAA6C;IAAA,sEAAW;IAAA,4DAAO;;;IAG/B,uEAAoC;IAAA,uDAAyB;IAAA,4DAAO;;;IAAhC,0DAAyB;IAAzB,4FAAyB;;;IAF7F,2EAAgD;IAC9C,uDAC8B;IAAA,qIAAoE;IAAC,2FACrG;IAAA,4DAAO;;;IAFL,0DAC8B;IAD9B,6KAC8B;IAAO,0DAA2B;IAA3B,iGAA2B;;;IAElE,2EAA+E;IAC7E,uDAEF;IAAA,4DAAO;;;IAFL,0DAEF;IAFE,uJAEF;;;IACA,2EAAkF;IAChF,uIAEF;IAAA,4DAAO;;;;IAdT,0EAAqE;IACnE,8HAA4D;IAC5D,8HAA+D;IAC/D,8HAGO;IACP,8HAGO;IACP,8HAGO;IACP,0EAA0B;IACxB,6EAA+F;IAAvD,iXAAsD;IAAC,iEAAM;IAAA,4DAAS;IAC9G,6EAA0F;IAAzD,mXAAwD;IAAC,kEAAM;IAAA,4DAAS;IAC3G,4DAAM;IACR,4DAAM;;;IAlBiB,0DAAmB;IAAnB,sFAAmB;IACnB,0DAAsB;IAAtB,yFAAsB;IAChB,0DAAmB;IAAnB,sFAAmB;IAInB,0DAAkD;IAAlD,4HAAkD;IAIlD,0DAAqD;IAArD,+HAAqD;;;IASlF,0EAA4E;IAC1E,qEACM;IACN,qEACM;IACN,qEACM;IACN,qEACM;IACV,4DAAM;;;AD7GL,MAAM,yBAAyB;IA4ClC,YAAoB,QAAyB,EAAU,YAA0B,EACrE,OAAuB;QADf,aAAQ,GAAR,QAAQ,CAAiB;QAAU,iBAAY,GAAZ,YAAY,CAAc;QACrE,YAAO,GAAP,OAAO,CAAgB;QArC1B,aAAQ,GAAY,KAAK,CAAC;QACzB,iBAAY,GAAG,IAAI,0DAAY,EAAO,CAAC;QAC1C,aAAQ,GAAG,EAAE,CAAC;QACd,kBAAa,GAAW,EAAE,CAAC;QAC3B,qBAAgB,GAAY,KAAK,CAAC;QAClC,mBAAc,GAAY,KAAK,CAAC;QAChC,eAAU,GAAY,KAAK,CAAC;QAC5B,kBAAa,GAAY,KAAK,CAAC;QAC/B,eAAU,GAAW,EAAE,CAAC;QACxB,kBAAa,GAAW,EAAE,CAAC;QAC3B,mBAAc,GAAQ,EAAE,CAAC;QACzB,qBAAgB,GAAY,KAAK,CAAC;QAClC,yBAAoB,GAAY,KAAK,CAAC;QAEtC,qBAAgB,GAAW,IAAI;QAC/B,eAAU,GAAG;YAChB;gBACI,SAAS,EAAE,SAAS;gBACpB,QAAQ,EAAE,KAAK;aAClB;YACD;gBACI,SAAS,EAAE,SAAS;gBACpB,QAAQ,EAAE,KAAK;aAClB;YACD;gBACI,SAAS,EAAE,SAAS;gBACpB,QAAQ,EAAE,KAAK;aAClB;YACD;gBACI,SAAS,EAAE,SAAS;gBACpB,QAAQ,EAAE,KAAK;aAClB;SACJ;QACD,wBAAmB,GAAW,CAAC,CAAC;IAIO,CAAC;IAExC,QAAQ;QACJ,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,eAAe,EAAE,CAAC;SAC1B;aAAM;YACH,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;SACtC;IAEL,CAAC;IAED,WAAW;QACP,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,eAAe,EAAE,CAAC;SAC1B;aAAM;YACH,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;SACtC;IAEL,CAAC;IAED,4BAA4B,CAAC,EAAE;QAC3B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC;QAC7C,IAAI,CAAC,cAAc,CAAC,UAAU,GAAG,EAAE,CAAC,SAAS,CAAC;QAC9C,IAAI,CAAC,cAAc,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC;IAEM,cAAc,CAAC,GAAG;QACrB,IAAI,aAAa,CAAC;QAClB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACnB,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,IAAI,IAAI,GAAG,KAAK,OAAO,EAAE;gBAC5C,aAAa,GAAG,EAAE,CAAC,GAAG,CAAC;gBACvB,IAAI,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC;aACzC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,aAAa,IAAI,CAAC,GAAG,KAAK,OAAO,CAAC,EAAE;YACpC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SAC5C;aAAM;YACH,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;SAC9D;IACL,CAAC;IAEM,eAAe;QAElB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACnB,EAAE,CAAC,UAAU,CAAC,GAAG,KAAK;QAE1B,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,kBAAkB,CAAC,GAAG;QACzB,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;aAC1B,SAAS,CACN,GAAG,CAAC,EAAE;YACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACnC,EAAE,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;gBACvB,OAAO,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;YACH,IAAG,IAAI,CAAC,QAAQ,EAAC;gBACb,IAAI,CAAC,gBAAgB,GAAG,KAAK;aAChC;YACD,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,SAAS,EAAE;gBACtE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC;gBACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;oBACnB,IAAI,IAAI,CAAC,WAAW,KAAK,EAAE,CAAC,GAAG,EAAE;wBAC7B,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;qBACpC;yBAAM;wBACH,EAAE,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;qBAC1B;gBACL,CAAC,CAAC,CAAC;aACN;QACL,CAAC,CACJ;IACT,CAAC;IAEM,cAAc,CAAC,KAAK,EAAE,KAAa;QACtC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;YACtB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;SAC9B;aAAM;YACH,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;SAC3B;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACnB,IAAI,KAAK,KAAK,EAAE,CAAC,GAAG,EAAE;gBAClB,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;aACpC;iBAAM;gBACH,EAAE,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;aAC1B;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,gBAAgB,CAAC,KAAa,EAAE,EAAU;QAC7C,IAAI,IAAI,CAAC,aAAa,KAAK,EAAE,EAAE;YAC3B,OAAO,aAAa,KAAK,EAAE,CAAC;SAC/B;aAAM;YACH,OAAO,EAAE,CAAC;SACb;IACL,CAAC;IAEM,eAAe;QAClB,IAAI,YAAoB,CAAC;QACzB,IAAI,aAAqB,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACnB,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;gBACzB,YAAY,GAAG,EAAE,CAAC,IAAI,CAAC;gBACvB,aAAa,GAAG,EAAE,CAAC,SAAS,CAAC;aAChC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,QAAQ,GAAG;YACX,MAAM,EAAE,YAAY;YACpB,WAAW,EAAE,aAAa;SAC7B;QACD,IAAI,YAAY,IAAI,aAAa,EAAE;YAC/B,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC;iBAClC,SAAS,CACN,GAAG,CAAC,EAAE;gBACF,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAClB,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;iBAC5C;qBAAM;oBACH,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACnD;YACL,CAAC,EACD,GAAG,CAAC,EAAE;gBACF,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;YACrD,CAAC,CACJ,CAAC;SACT;IACL,CAAC;IAGM,kBAAkB,CAAC,SAAiB;QACvC,IAAI,aAAqB,CAAC;QAC1B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACzB,IAAI,EAAE,CAAC,QAAQ,EAAE;gBACb,aAAa,GAAG,EAAE,CAAC,SAAS,CAAC;aAChC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,aAAa,KAAK,SAAS,EAAE;YAC7B,OAAO,aAAa,SAAS,EAAE,CAAC;SACnC;aAAM;YACH,OAAO,EAAE,CAAC;SACb;IACL,CAAC;IAEM,oBAAoB,CAAC,KAAK,EAAE,SAAS;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACvC,IAAI,EAAE,CAAC,SAAS,KAAK,SAAS,EAAE;gBAC5B,EAAE,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC;aAC9B;iBAAM;gBACH,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;aACvB;YACD,OAAO,EAAE,CAAC;QACd,CAAC,CAAC;IACN,CAAC;IAEM,oBAAoB,CAAC,KAAK,GAAG,IAAI,EAAE,QAAQ,GAAG,IAAI;QACrD,IAAI,QAAQ,EAAE;YACV,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE;gBACvB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;gBAC3B,IAAI,CAAC,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;aACpD;SACJ;aAAM;YACH,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE;gBACjC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;gBACrC,IAAI,CAAC,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;aACpD;SACJ;IACL,CAAC;IAEM,kBAAkB;QACrB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACrB,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;YACpB,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,aAAa,CAAC,aAAa,EAAE,gBAAgB;QAChD,IAAI,aAAa,EAAE;YACf,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;SACvC;aAAM,IAAI,gBAAgB,EAAE;YACzB,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SAC5C;aAAM;YACH,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;SACvC;IACL,CAAC;IAEM,mBAAmB,CAAC,MAAe,EAAE,IAAa;QACrD,IAAI,aAAa,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACzB,IAAI,EAAE,CAAC,QAAQ,EAAE;gBACb,aAAa,GAAG,EAAE,CAAC,SAAS,CAAC;aAChC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,aAAa,EAAE;YACvD,MAAM,QAAQ,GAAG;gBACb,WAAW,EAAE,aAAa;aAC7B,CAAC;YACF,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE;gBACrC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aACtC;YACD,IAAI,MAAM,EAAE;gBACR,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC;qBAClC,SAAS,CACN,GAAG,CAAC,EAAE;oBACF,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;wBAClB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;wBACpC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;qBACzC;yBAAM;wBACH,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;qBACnD;gBACL,CAAC,EACD,GAAG,CAAC,EAAE;oBACF,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;gBAC1D,CAAC,CACJ,CAAC;aACT;YACD,IAAI,IAAI,EAAE;gBACN,IAAI,CAAC,cAAc,CAAC,UAAU,GAAG,aAAa,CAAC;gBAC/C,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;gBAC3C,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,aAAa,CAAC;gBAC9C,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC;qBAC3D,SAAS,CACN,GAAG,CAAC,EAAE;oBACF,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;wBAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC;wBACtC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;wBACvD,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;qBACtC;yBAAM;wBACH,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;qBACnD;gBACL,CAAC,EACD,GAAG,CAAC,EAAE;oBACF,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC;gBAC5D,CAAC,CACJ,CAAC;aACT;SACJ;IACL,CAAC;IAEM,YAAY,CAAC,SAAiB;QACjC,IAAI,WAAW,GAAY,KAAK,CAAC;QACjC,IAAI,cAAc,GAAY,KAAK,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACnB,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;gBACzB,WAAW,GAAG,IAAI,CAAC;aACtB;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACnB,IAAI,IAAI,CAAC,WAAW,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,QAAQ,EAAE;gBAC5C,cAAc,GAAG,IAAI,CAAC;aACzB;QACL,CAAC,CAAC,CAAC;QACH,IAAI,SAAS,KAAK,IAAI,EAAE;YACpB,IAAI,WAAW,EAAE;gBACb,OAAO,kBAAkB;aAC5B;iBAAM;gBACH,OAAO,sBAAsB;aAChC;SACJ;QACD,IAAI,SAAS,KAAK,QAAQ,EAAE;YACxB,IAAI,cAAc,EAAE;gBAChB,OAAO,yBAAyB;aACnC;iBAAM;gBACH,OAAO,YAAY;aACtB;SACJ;IACL,CAAC;IAEM,YAAY;QACf,IAAI,aAAa,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACzB,IAAI,EAAE,CAAC,QAAQ,EAAE;gBACb,aAAa,GAAG,EAAE,CAAC,SAAS,CAAC;aAChC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,EAAE;YAC7C,OAAO,kBAAkB;SAC5B;aAAM;YACH,OAAO,sBAAsB;SAChC;IACL,CAAC;IAEM,eAAe,CAAC,KAAU;QAC7B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI;QACzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,aAAa,CAAC;aACnD,SAAS,CACN,GAAG,CAAC,EAAE;;YACF,IAAI,CAAC,mBAAmB,eAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,QAAQ,0CAAE,KAAK,CAAC;QAC1D,CAAC,CACJ;IACT,CAAC;IAEM,aAAa,CAAC,OAAO;QACxB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC;QAEjC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC;aAC9C,SAAS,CACN,QAAQ,CAAC,EAAE;YACP,IAAI,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;YACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACvC,IAAI,EAAE,CAAC,SAAS,KAAK,WAAW,CAAC,SAAS,EAAE;oBACxC,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACnB,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC;oBACrC,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC;oBACnC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;iBACpD;qBAAM;oBACH,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;iBACvB;gBACD,OAAO,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;QACP,CAAC,EACD,KAAK,CAAC,EAAE;YACJ,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;QACnE,CAAC,CACJ;IACT,CAAC;IAEM,WAAW,CAAC,SAAkB,EAAE,SAAkB;QACrD,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC;iBAC5C,SAAS,CACN,QAAQ,CAAC,EAAE;gBACP,IAAI,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE;oBACvB,IAAI,IAAI,CAAC,mBAAmB,GAAG,CAAC,EAAE;wBAC9B,IAAI,CAAC,cAAc,GAAG;4BAClB,SAAS,EAAE,SAAS;4BACpB,UAAU,EAAE,SAAS;4BACrB,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,KAAK;4BACX,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE;yBAC1C,CAAC;wBACF,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAC7C,UAAU,CAAC,GAAG,EAAE;4BACb,8DAA8D;4BAC7D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;4BAC5C,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;wBAC7C,CAAC,EAAE,GAAG,CAAC,CAAC;qBACX;yBAAM,IAAI,IAAI,CAAC,mBAAmB,KAAK,CAAC,EAAE;wBACvC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;qBACrC;iBACJ;YACL,CAAC,EACD,KAAK,CAAC,EAAE;gBACJ,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YACtD,CAAC,CACJ;SACR;QACD,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,cAAc,GAAG;gBAClB,SAAS,EAAE,SAAS;gBACpB,UAAU,EAAE,SAAS;gBACrB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,KAAK;aACd;YACF,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7C,UAAU,CAAC,GAAG,EAAE;gBACb,IAAI,CAAC,gBAAgB,GAAG,KAAK;gBAC5B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC5C,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;gBAC/D,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC7C,CAAC,EAAE,GAAG,CAAC,CAAC;SACX;IACL,CAAC;IAED,UAAU;QACN,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAC9C,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YAC5B,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC;YAC9B,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;SACvC;aAAM;YACH,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;SAChC;IACL,CAAC;;kGA1cQ,yBAAyB;yGAAzB,yBAAyB;;;;;;QCVtC,yEAAsF;QAClF,yEAA0F;QAExF,yEAA2B;QAEzB,qHAKM;QACN,sHAmCI;QACN,qHAMQ;QAEN,sHA2BM;QACN,qHAMM;QACN,sHAmBM;QACN,qHASI;QACN,4DAAM;QACR,4DAAM;QACN,2EAAqE;QACvE,4DAAM;;QA3H4C,wJAAiC;QAKlD,0DAAyC;QAAzC,6GAAyC;QAM3C,0DAAgB;QAAhB,gFAAgB;QAoChB,0DAAgB;QAAhB,gFAAgB;QAQhB,0DAAwC;QAAxC,4GAAwC;QA4BtC,0DAAwC;QAAxC,4GAAwC;QAOvC,0DAAuC;QAAvC,2GAAuC;QAoBf,0DAAsB;QAAtB,sFAAsB;QAYvD,0DAAe;QAAf,wEAAe;;;;;;;;;;;;;;;;;;ACnHnC,MAAM,wBAAwB;IACnC,gBAAgB,CAAC;IAEjB,QAAQ;QACN,wBAAwB;QACxB,CAAC,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC;YACjC,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,KAAK;YACX,SAAS,EAAG,KAAK;YACjB,SAAS,EAAE,KAAK;YAChB,KAAK,EAAC,CAAC;YACP,OAAO,EAAE,CAAC,oDAAoD,EAAC,oDAAoD,CAAC;YACpH,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;IACL,CAAC;;gGAdU,wBAAwB;wGAAxB,wBAAwB;QCRrC,6EAAkC;QAC9B,yEAAuB;QACrB,yEAAqD;QAEnD,sEAAK;QACH,qEAAI;QAAA,gEAAK;QAAA,uEAAM;QAAA,iEAAM;QAAA,4DAAO;QAAA,4DAAK;QACjC,yEAAwB;QACtB,yEAAyB;QACvB,qEAAyE;QAC3E,4DAAM;QACN,0EAAwB;QACtB,qEAAG;QAAA,+FAAmC;QAAA,uEAAK;QAAA,kEAAK;QAAA,4DAAM;QAAA,uHAA2D;QAAA,uEAAK;QAAA,kEAAK;QAAA,4DAAM;QAAA,gYAAoU;QAAA,uEAAK;QAAA,kEAAK;QAAA,4DAAM;QAAC,4MAA+I;QAAA,4DAAI;QACzmB,wEAAM;QACJ,qEAA4E;QAC5E,qEAAG;QAAA,oFAAwB;QAAA,4DAAI;QAC/B,qEAAG;QAAA,mFAAuB;QAAA,4DAAI;QAChC,4DAAO;QACT,4DAAM;QACR,4DAAM;QACR,4DAAM;QACN,uEAAK;QACH,sEAAI;QAAA,iEAAK;QAAA,wEAAM;QAAA,mEAAO;QAAA,4DAAO;QAAA,4DAAK;QAClC,0EAAwB;QACtB,0EAAyB;QACvB,qEAA4E;QAC9E,4DAAM;QACN,0EAAwB;QACtB,qEAAG;QAAA,iEAAK;QAAA,uEAAK;QAAA,kEAAK;QAAA,4DAAM;QAAC,sRAAyN;QAAA,uEAAK;QAAA,kEAAK;QAAA,4DAAM;QAAA,sQAA0M;QAAA,uEAAK;QAAA,kEAAK;QAAA,4DAAM;QAAC,2KAA8G;QAAA,uEAAK;QAAA,kEAAK;QAAA,4DAAM;QAAA,8FAChkB;QAAA,4DAAI;QAC/B,wEAAM;QACJ,qEAA6E;QAC7E,qEAAG;QAAA,qFAAyB;QAAA,4DAAI;QAChC,qEAAG;QAAA,gGAAoC;QAAA,4DAAI;QAC7C,4DAAO;QACT,4DAAM;QACR,4DAAM;QACR,4DAAM;QACN,uEAAK;QACH,sEAAI;QAAA,iEAAK;QAAA,wEAAM;QAAA,kEAAM;QAAA,4DAAO;QAAA,4DAAK;QACjC,0EAAwB;QACtB,0EAAyB;QACvB,sEAA0E;QAC5E,4DAAM;QACN,0EAAwB;QACtB,qEAAG;QAAA,iEAAK;QAAA,uEAAK;QAAA,kEAAK;QAAA,4DAAM;QAAC,kaAAqW;QAAA,uEAAK;QAAA,kEAAK;QAAA,4DAAM;QAAA,uMAA2I;QAAA,uEAAK;QAAA,kEAAK;QAAA,4DAAM;QAAC,mHAAsD;QAAA,4DAAI;QACpmB,wEAAM;QACJ,sEAA4E;QAC5E,qEAAG;QAAA,qFAAyB;QAAA,4DAAI;QAChC,qEAAG;QAAA,gGAAoC;QAAA,4DAAI;QAC7C,4DAAO;QACT,4DAAM;QACR,4DAAM;QACR,4DAAM;QACN,uEAAK;QACH,sEAAI;QAAA,iEAAK;QAAA,wEAAM;QAAA,mEAAO;QAAA,4DAAO;QAAA,4DAAK;QAClC,0EAAwB;QACtB,0EAAyB;QACvB,sEAA2E;QAC7E,4DAAM;QACN,0EAAwB;QACtB,qEAAG;QAAA,iEAAK;QAAA,uEAAK;QAAA,kEAAK;QAAA,4DAAM;QAAC,wLAA2H;QAAA,uEAAK;QAAA,kEAAK;QAAA,4DAAM;QAAA,oUAAuQ;QAAA,wEAAK;QAAA,mEAAK;QAAA,4DAAM;QAAC,+LAAiI;QAAA,4DAAI;QACjkB,yEAAM;QACJ,uEAAgF;QAChF,sEAAG;QAAA,qFAAwB;QAAA,4DAAI;QAC/B,sEAAG;QAAA,kGAAqC;QAAA,4DAAI;QAC9C,4DAAO;QACT,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAU;;;;;;;;;;;;;;ACtEZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoC;AAG2F;AAGtB;AAEjC;;;;;;;;;;;;;;;;ICPpE,sEAAqE;IACnE,yEAA4C;IAAA,uEAAM;IAAA,kEAAO;IAAA,4DAAO;IAAC,oEAAQ;IAAA,4DAAK;IAC9E,yEAAmC;IAAA,yEAAQ;IAAA,8DAAG;IAAA,4DAAS;IAAC,sHAA0D;IAAA,4DAAK;IACzH,4DAAM;;;IAEJ,sEAAyE;IACvE,yEAA4C;IAAA,uEAAM;IAAA,sEAAW;IAAA,4DAAO;IAAA,4DAAK;IAC3E,4DAAM;;;IAFN,iIAEM;;;;IAFA,iHAAuC;;;IAK7C,yEAA4C;IAAA,wFAA6B;IAAA,uEAAM;IAAA,sEAAW;IAAA,4DAAO;IAAA,4DAAK;IACtG,yEAAmC;IAAA,uKAA4G;IAAA,4DAAK;;;;;IAKlJ,qEAAuD;IAAA,wEACrB;IAA9B,uYAA6B;IAAC,uDAAa;IAAA,4DAAI;IAAA,4DAAK;;;;;IADE,0DAA+C;IAA/C,+KAA+C;IACvE,0DAAa;IAAb,8EAAa;;;IAFjD,yEAAuF;IACrF,uHACwD;IAC1D,4DAAK;;;IAFkB,0DAAmB;IAAnB,0FAAmB;;;IASuC,uEAA8C;IAAA,sEAAW;IAAA,4DAAO;;;;IAA7I,yEAA6E;IAA3B,mWAA0B;IAAC,kIAAgE;IAAA,uEAAM;IAAA,uDAAe;IAAA,4DAAO;IACzK,4DAAK;;;;IAD+E,0DAAqC;IAArC,mHAAqC;IAA0B,0DAAe;IAAf,gFAAe;;;;IANtK,0EAAgL;IAC9K,6EAAoF;IAClF,2EAA0B;IAAA,uDAA6B;IAAA,4DAAO;IAC9D,2EAAyB;IAAA,qEAAiD;IAAA,4DAAO;IACnF,4DAAS;IACT,yEAAsC;IACpC,yHACK;IACP,4DAAK;IACP,4DAAM;;;IATqH,yLAAoD;IAEjJ,0DAA6B;IAA7B,0GAA6B;IAIjC,0DAAe;IAAf,uFAAe;;;;IAKzC,0EAA8I;IAC5I,0EAAsB;IACpB,qEACsB;IACtB,sEAAK;IACH,qEAAI;IAAA,uDAA6D;IAAA,4DAAK;IACtE,0EAAoB;IAAA,sEAAW;IAAA,mEAA6F;IAAA,4DAAM;IACpI,4DAAM;IACR,4DAAM;IACN,wEAAqE;IAAzB,6TAAwB;IAAC,mFAAuB;IAAA,4DAAI;IAClG,4DAAM;;;IARG,0DAAyG;IAAzG,sQAAyG;IAGxG,0DAA6D;IAA7D,0JAA6D;IAClB,0DAAwE;IAAxE,oNAAwE;;;IAQvH,0EAAuF;IACrF,qEACwB;IACxB,qEAAI;IAAA,2EAAgB;IAAA,4DAAK;IAC3B,4DAAM;;;IAW0D,wEAAyB;IAAA,kEAAO;IAAA,qEAAe;;;IAD/F,wEAAwE;IACtE,uDAA8C;IAAA,gNAA+C;IAC/F,qEAAe;;;;IADb,0DAA8C;IAA9C,8JAA8C;IAAe,0DAAQ;IAAR,wEAAQ;;;IAFzE,2EAA6D;IAC3D,iMAEe;IACjB,4DAAO;;;IAHgC,0DAAuB;IAAvB,sHAAuB;;;IAWxD,2EAAqD;IAAA,uDAAkC;;IAAA,4DAAO;;;IAAzC,0DAAkC;IAAlC,yLAAkC;;;IAFzF,wEAAwD;IACtD,yEAAyB;IAAA,uDAA6C;;IAAA,4DAAK;IAC3E,wMAA8F;IAChG,qEAAe;;;IAFY,0DAA6C;IAA7C,6MAA6C;IACzC,0DAAsB;IAAtB,iHAAsB;;;IAHvD,wEAA8C;IAC5C,wMAGe;IACjB,qEAAe;;;;;IAJE,0DAAuB;IAAvB,iHAAuB;;;IAMtC,yEAAyB;IAAA,+DAAI;IAAA,4DAAK;;;IAGlC,yEAAyB;IAAA,uDAAoC;;IAAA,4DAAK;;;IAAzC,0DAAoC;IAApC,yLAAoC;;;;IAK/D,wEAAmF;IACjF,wEAA6F;IAApD,ggBAAmD;IAAC,kEACxF;IAAA,4DAAI;IACT,wEAA+F;IAAxD,ogBAAuD;IAAC,sEACtF;IAAA,4DAAI;IACf,qEAAe;;;IAGf,qEAA2C;IAAA,qEACzB;IAAA,uDAAQ;IAAA,4DAAK;;;IAAb,0DAAQ;IAAR,yEAAQ;;;;IApChC,0EAAmC;IACjC,qEAAiG;IACjG,0EAA8B;IAC5B,0KAIO;IACP,yEAAgD;IAAA,uDAAgB;IAAA,4DAAK;IACrE,0EAAiC;IAC/B,yEAA2B;IAAA,uDACnB;IAAA,4DAAK;IACb,yLAKe;IACf,sQAEc;IACd,sQAEc;IAChB,4DAAM;IACN,2EAA2B;IACzB,2EAA6B;IAAA,wDAAuC;;IAAA,4DAAM;IAC1E,2LAKe;IACjB,4DAAM;IACN,0EAA4B;IAC1B,wKAC+B;IACjC,4DAAK;IACL,yEAA6D;IAA/B,6gBAA8B;IAAC,wEAAY;IAAA,4DAAI;IAC/E,4DAAM;IACR,4DAAM;;;;;;IArCyB,0DAAgC;IAAhC,iKAAgC;IAKpC,0DAAwB;IAAxB,yHAAwB;IAAC,0DAAgB;IAAhB,4GAAgB;IAEnC,0DACnB;IADmB,uNACnB;IACO,0DAAoB;IAApB,8GAAoB;IAcN,0DAAuC;IAAvC,wMAAuC;IACrD,0DAA+C;IAA/C,gJAA+C;IAQzC,0DAAoB;IAApB,qHAAoB;;;IApCjD,4KA0Cc;;;IA5ClB,wEAA6D;IAC3D,qFAA2C;IACzC,wJA0Cc;IAChB,4DAAiB;IACnB,qEAAe;;;IA7CG,0DAA0B;IAA1B,2FAA0B;IACR,0DAAqB;IAArB,6FAAqB;;;IAoDC,wEAAyB;IAAA,kEAAO;IAAA,qEAAe;;;IAD/F,wEAAwE;IACtE,uDAA8C;IAAA,qMAA+C;IAC/F,qEAAe;;;;IADb,0DAA8C;IAA9C,8JAA8C;IAAe,0DAAQ;IAAR,wEAAQ;;;IAFzE,2EAA6D;IAC3D,sLAEe;IACjB,4DAAO;;;IAHgC,0DAAuB;IAAvB,sHAAuB;;;IAWxD,2EAAqD;IAAA,uDAAkC;;IAAA,4DAAO;;;IAAzC,0DAAkC;IAAlC,yLAAkC;;;IAFzF,wEAAwD;IACtD,yEAAyB;IAAA,uDAA6C;;IAAA,4DAAK;IAC3E,6LAA8F;IAChG,qEAAe;;;IAFY,0DAA6C;IAA7C,6MAA6C;IACzC,0DAAsB;IAAtB,iHAAsB;;;IAHvD,wEAA8C;IAC5C,6LAGe;IACjB,qEAAe;;;;IAJE,0DAAuB;IAAvB,iHAAuB;;;IAMtC,yEAAyB;IAAA,+DAAI;IAAA,4DAAK;;;IAGlC,yEAAyB;IAAA,uDAAoC;;IAAA,4DAAK;;;IAAzC,0DAAoC;IAApC,yLAAoC;;;;IAK/D,wEAAmF;IACjF,wEAA6F;IAApD,ofAAmD;IAAC,kEACxF;IAAA,4DAAI;IACT,wEAA+F;IAAxD,wfAAuD;IAAC,sEACtF;IAAA,4DAAI;IACf,qEAAe;;;IAGf,qEAA2C;IAAA,qEACzB;IAAA,uDAAQ;IAAA,4DAAK;;;IAAb,0DAAQ;IAAR,0EAAQ;;;;IApChC,0EAAuF;IACrF,qEAAiG;IACjG,0EAA8B;IAC5B,+JAIO;IACP,yEAAgD;IAAA,uDAAgB;IAAA,4DAAK;IACrE,0EAAiC;IAC/B,yEAA2B;IAAA,uDACnB;IAAA,4DAAK;IACb,8KAKe;IACf,2PAEc;IACd,2PAEc;IAChB,4DAAM;IACN,2EAA2B;IACzB,2EAA6B;IAAA,wDAAuC;;IAAA,4DAAM;IAC1E,gLAKe;IACjB,4DAAM;IACN,0EAA4B;IAC1B,6JAC+B;IACjC,4DAAK;IACL,yEAA6D;IAA/B,8aAA8B;IAAC,wEAAY;IAAA,4DAAI;IAC/E,4DAAM;IACR,4DAAM;;;;;;IArCyB,0DAAgC;IAAhC,iKAAgC;IAKpC,0DAAwB;IAAxB,yHAAwB;IAAC,0DAAgB;IAAhB,4GAAgB;IAEnC,0DACnB;IADmB,uNACnB;IACO,0DAAoB;IAApB,8GAAoB;IAcN,0DAAuC;IAAvC,wMAAuC;IACrD,0DAA+C;IAA/C,gJAA+C;IAQzC,0DAAoB;IAApB,qHAAoB;;;IApCjD,0EAAyC;IACvC,yJAwCM;IACR,4DAAM;;;IAzCkD,0DAAoB;IAApB,6FAAoB;;;;IAlDhF,0EAA+F;IAC7F,0JA8Ce;IACf,qOA4Cc;IAChB,4DAAM;;;;IA7FwB,6LAAgE;IAC7E,0DAAqB;IAArB,wFAAqB;;;IAiG1C,wEAA0E;IACxE,wEAA2D;IAAA,2EAAgB;IAAA,4DAAI;IAC/E,0EAAuB;IAAA,kFAAuB;IAAA,4DAAM;IACtD,qEAAe;;IAFgB,0DAA6B;IAA7B,sFAA6B;;;IAI1D,0EAAuB;IAAA,oGAAyC;IAAA,4DAAM;;;;IAhH5E,sEAA4C;IAC1C,0EAAgK;IAC9J,0EAAyB;IACvB,2HAIM;IACN,uNA+Fc;IAChB,4DAAM;IACR,4DAAM;IACN,0EAA+B;IAC7B,4IAGe;IACf,uNAEc;IAChB,4DAAM;IACR,4DAAM;;;;;IAlHoB,0DAAuI;IAAvI,6OAAuI;IAExH,0DAAgC;IAAhC,iGAAgC;IAwGtD,0DAAqC;IAArC,+GAAqC;;;IAUtD,yEAA2B;;;IA2BT,mEAAwD;;;IAoBpC,uEAAiC;IAAA,yEAAc;IAAA,oEAAG;IAAA,uDAA6C;;IAAA,4DAAI;IAAA,4DAAO;;;IAAxD,0DAA6C;IAA7C,mMAA6C;;;;IAJ3G,0EAA8E;IAC1E,0EAAuB;IACnB,qEAAI;IAAA,uDAAqB;IAAA,4DAAK;IAC9B,oEAAG;IACC,2IAA0G;IAC1G,uEAAM;IAAA,qEAAU;IAAA,oEAAG;IAAA,uDAAsB;IAAA,4DAAI;IAAA,4DAAO;IACxD,4DAAI;IACR,4DAAM;IACN,2EAAiB;IACb,yEAAsE;IAAjC,8XAAgC;IAAC,oEAAQ;IAAA,4DAAI;IACtF,4DAAM;IACV,4DAAM;;;IATM,0DAAqB;IAArB,iHAAqB;IAEd,0DAAwB;IAAxB,mHAAwB;IACZ,0DAAsB;IAAtB,2HAAsB;;;IAjBzE,0EAA0F;IACtF,0EAA2B;IACvB,0EAAkB;IACd,0EAAqJ;IACjJ,yEAAiB;IACb,6EAA6B;IACzB,qEAA6H;;IAAA,uDACjI;;IAAA,4DAAS;IACb,4DAAK;IACT,4DAAM;IACN,2EAAoG;IAChG,2EAAuB;IACnB,qIAWM;IACV,4DAAM;IACV,4DAAM;IACV,4DAAM;IACV,4DAAM;IACV,4DAAM;;;;;IA3BG,0DAAqB;IAArB,qGAAqB;IAEb,0DAAgE;IAAhE,gJAAgE;IAAwB,iHAAuD;IAGnI,0DAAkF;IAAlF,wOAAkF;IAAC,yKAAmC;IAAE,0DACjI;IADiI,uRACjI;IAG4D,0DAA+B;IAA/B,0GAA+B;IAA9F,kGAAwC;IAEG,0DAAoC;IAApC,oHAAoC;;;IAsB5F,mEAAwD;;;;IAzD1E,0EAAyI;IACvI,0EAAqD;IACnD,0EAA2B;IACzB,0EAAwB;IACpB,0EAA6C;IAAzB,kUAAwB;IACxC,qEAA4D;IAAA,+EAChE;IAAA,4DAAM;IACN,0EAAoC;IAEhC,0EAAiD;IAC7C,qEAA+E;IAAA,oFACnF;IAAA,4DAAM;IACN,2EAAoB;IAChB,uEAAK;IACD,sEAAI;IAAA,wDAAqB;IAAA,4DAAK;IAC9B,uEAAK;IAAA,wDAA+G;IAAA,4DAAM;IAC9H,4DAAM;IACN,2EAAiB;IACb,yEAAe;IACX,+IAAwD;IAC5D,qEAAe;IACnB,4DAAM;IACV,4DAAM;IACN,+HA4BM;IACV,4DAAM;IACV,4DAAM;IAEN,2EAA0B;IACtB,2EAAiB;IACT,+IAAwD;IAChE,4DAAM;IACV,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;;;;IA9DwC,sGAAmC;IAcvD,2DAAqB;IAArB,8HAAqB;IACpB,0DAA+G;IAA/G,+WAA+G;IAIjG,0DAAwB;IAAxB,kFAAwB;IAII,0DAAmB;IAAnB,2FAAmB;IAkCvD,0DAAwB;IAAxB,kFAAwB;;;;IAQrD,wEAAuH;IAAhE,kYAA+D;IAAC,qEAAsE;IAAA,sEAAW;IAAA,4DAAI;IAAA,kEAC5M;IAAA,yEAAgG;IAA5D,8XAA2D;IAAC,sEAA4D;IAAA,kEAAO;IAAA,4DAAI;;;IA4CjI,sEAA8G;;;IAQ1G,0EAAyE;IACrE,oEAAG;IACC,uDACJ;IAAA,4DAAI;IACJ,yEAAuB;IACnB,uDACJ;IAAA,4DAAI;IACR,4DAAK;;;;;IALG,0DACJ;IADI,uGACJ;IAEI,0DACJ;IADI,6FACJ;;;;IAjBpB,2EAAgJ;IAC5I,+EAAiJ;IAC7I,2EAA6B;IACzB,mJAA8G;IAC9G,oEAAG;IACC,yEAA6C;IAAA,uDAAyB;IAAA,4DAAI;IAC1E,uEAAM;IAAA,uDAA6B;IAAA,4DAAO;IAC9C,4DAAI;IACR,4DAAM;IACN,iFAA4F;IACxF,2EAAyH;IACrH,mJAOK;IACT,4DAAK;IACT,4DAAM;IACV,4DAAI;IACR,4DAAM;;;;;;IAtBD,yMAAqE;IACzD,0DAAiF;IAAjF,wJAAiF;IAE5B,0DAAgD;IAAhD,8HAAgD;IAElF,0DAAwB;IAAxB,+FAAwB;IAAC,0DAAyB;IAAzB,6GAAyB;IAChE,0DAA6B;IAA7B,wGAA6B;IAGpB,0DAAiC;IAAjC,wHAAiC;IAChD,0DAAoH;IAApH,6LAAoH;IAC5E,0DAAoB;IAApB,0FAAoB;;;;IA3BxF,wEAAgF;IAC5E,8EAAoJ;IAChJ,2EAA6B;IACzB,qEAAuD;IACvD,2EAA0B;IACtB,oEAAG;IAAA,uDAAgB;IAAA,4DAAI;IAC3B,4DAAM;IACV,4DAAM;IACN,2EAA6B;IACzB,oEAAG;IAAA,wEAAM;IAAA,wDAA2B;IAAA,4DAAO;IAAC,wDAAgD;IAAA,4DAAI;IAChG,wEAA6B;IAC7B,qEAAG;IAAA,wEAAM;IAAA,wDAAwB;IAAA,4DAAO;IAAC,wDAA6C;IAAA,4DAAI;IAC9F,4DAAM;IACV,4DAAI;IACJ,iFAAiE;IAC7D,4EAA2B;IACvB,gJAsBM;IACV,4DAAM;IACV,4DAAM;IACV,qEAAe;;;;IAxC6F,0DAAsB;IAAtB,mKAAsB;IAA3H,yKAAmD;IAEzC,0DAA0B;IAA1B,oNAA0B;IAExB,0DAAgB;IAAhB,kFAAgB;IAId,0DAA2B;IAA3B,6FAA2B;IAAQ,0DAAgD;IAAhD,6HAAgD;IAEnF,0DAAwB;IAAxB,0FAAwB;IAAQ,0DAA6C;IAA7C,0HAA6C;IAGvE,0DAAmB;IAAnB,mGAAmB;IAE6E,0DAAoB;IAApB,0FAAoB;;;;;IApCjK,2EAAiH;IAC/G,2EAA2E;IACvE,0EAA2B;IACvB,8EAA8G;IAAA,sEAA6D;IAAA,4DAAS;IACpL,2EAA2C;IACvC,qEAAI;IAAA,wEAAa;IAAA,4DAAK;IACtB,2EAA4B;IACxB,2EAA0B;IACtB,qEAAG;IAAA,wEAAM;IAAA,oFAAwB;IAAA,4DAAO;IAAA,wDAAqB;IAAA,4DAAI;IACjE,qEAAG;IAAA,wEAAM;IAAA,sEAAU;IAAA,4DAAO;IAAA,wDAAqB;IAAA,4DAAI;IACvD,4DAAM;IACN,4EAA6B;IACzB,qEAAG;IAAA,qEAAG;IAAA,wDAA6B;IAAA,4DAAI;IAAC,qEAAQ;IAAA,4DAAI;IACpD,4EAAmC;IAC/B,4EACwD;IAAxD,2WAAuD;IAAE,sEAAS;IAAA,4DAAM;IACxE,4EACwD;IAAxD,2WAAuD;IAAE,sEAAS;IAAA,4DAAM;IAC5E,4DAAM;IACV,4DAAM;IACN,iJAyCe;IACnB,4DAAM;IACV,4DAAM;IACV,4DAAM;IACV,4DAAM;IACR,4DAAM;;;IAlEoD,6FAA4B;IAQxB,2DAAqB;IAArB,0FAAqB;IACnC,0DAAqB;IAArB,0FAAqB;IAGzC,0DAA6B;IAA7B,kGAA6B;IAEN,0DAAyE;IAAzE,uMAAyE;IAExE,0DAAyE;IAAzE,uMAAyE;IAIzE,0DAAiC;IAAjC,0GAAiC;;;IAiDnF,2EAA0B;IACxB,sEAAqE;IAAA,gFACvE;IAAA,4DAAM;;;ADzSR,MAAM,kBAAkB,GAAG;IACzB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;CACrB;AAMM,MAAM,uBAAuB;IAqElC,YACU,WAA8B,EAC9B,MAA2B,EAC3B,MAAoB,EACpB,cAA8B,EAC9B,MAAc,EACd,KAAqB,EACrB,kBAAqC;QANrC,gBAAW,GAAX,WAAW,CAAmB;QAC9B,WAAM,GAAN,MAAM,CAAqB;QAC3B,WAAM,GAAN,MAAM,CAAc;QACpB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,uBAAkB,GAAlB,kBAAkB,CAAmB;QA3EtC,SAAI,GAAQ,8DAAY,CAAC,WAAW,CAAC;QAEtC,wBAAmB,GAAG,IAAI,iDAAY,EAAE,CAAC;QACzC,iBAAY,GAAG,GAAG,CAAC;QACnB,0BAAqB,GAAG,EAAE,CAAC;QAC3B,yBAAoB,GAAG,EAAE,CAAC;QAC3B,iBAAY,GAAQ,EAAE,CAAC;QACvB,sBAAiB,GAAW,CAAC,CAAC;QAC9B,kBAAa,GAAO,EAAE,CAAC;QACvB,mBAAc,GAAU,EAAE,CAAC;QAC3B,oBAAe,GAAU,EAAE,CAAC;QAC5B,qBAAgB,GAAU,EAAE,CAAC;QAC7B,gBAAW,GAAS,EAAE,CAAC;QACvB,mBAAc,GAAG,MAAM,CAAC;QACxB,kBAAa,GAAW,IAAI,CAAC;QAC7B,mBAAc,GAAE;YACrB,SAAS,EAAC,IAAI,IAAI,EAAE;YACpB,OAAO,EAAC,IAAI,IAAI,EAAE;SACnB;QACM,mBAAc,GAAe,EAAE,CAAC;QAChC,aAAQ,GAAU,EAAE,CAAC;QACrB,qBAAgB,GAAW,KAAK,CAAC;QACjC,gBAAW,GAAG,IAAI,CAAC;QACnB,uBAAkB,GAAG,EAAE,CAAC;QACxB,oBAAe,GAAG,EAAE,CAAC;QACrB,mBAAc,GAAG,EAAE,CAAC;QACpB,YAAO,GAAG;YACf,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,UAAU;YAClB,UAAU,EAAE,EAAE;SACf,CAAC;QACM,oBAAe,GAAG;YACxB,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,aAAa,EAAE,CAAC;YAChB,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,CAAC;YACb,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,CAAC;SACR,CAAC;QAEK,mBAAc,GAAG;YACtB,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,YAAY;YACtB,MAAM,EAAE,UAAU;YAClB,UAAU,EAAE,UAAU;YACtB,SAAS,EAAE,aAAa;YACxB,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,UAAU;YAClB,YAAY,EAAE,SAAS;SACxB;QAEM,kBAAa,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC3C,iBAAY,GAAQ;YACzB,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,EAAE;YACR,YAAY,EAAE,CAAC;YACf,gBAAgB,EAAE,EAAE;SACrB,CAAC;QACK,kBAAa,GAAW,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;QACtD,aAAQ,GAAU,EAAE,CAAC;IAUxB,CAAC;IAEL,IAAW,WAAW;QACpB,OAAO,iHAAY,CAAC;IACtB,CAAC;IAED,IAAW,eAAe;QACxB,OAAO,sHAAiB,CAAC;IAC3B,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACxC,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,yEAAuB,CAAC,cAAc,CAAC,CAAC;YAC5E,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,yEAAuB,CAAC,aAAa,CAAC,CAAC;YAC1E,IAAI,IAAI,CAAC,IAAI,KAAK,8DAAY,CAAC,SAAS,EAAE;gBACxC,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;QACH,CAAC,CAAC,CACH,CAAC;QACF,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;aAAM;YACL,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,SAAc,EAAE,EAAE;gBACxD,IAAI,SAAS,CAAC,QAAQ,EAAE;oBACtB,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC;oBAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;iBACjB;YACH,CAAC,CAAC,CACH,CAAC;SACH;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;QACnE,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,GAAG;gBACpB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,KAAK;gBACf,SAAS,EAAE,KAAK;gBAChB,MAAM,EAAE,KAAK;gBACb,SAAS,EAAE,KAAK;gBAChB,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE,CAAC;gBACR,GAAG,EAAE,IAAI;gBACT,OAAO,EAAE,CAAC,gFAAgF,EAAC,gFAAgF,CAAC;gBAC5K,UAAU,EAAC;oBACT,CAAC,EAAC,EAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAC;oBAC9C,GAAG,EAAC,EAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAC;oBAChD,GAAG,EAAC,EAAC,KAAK,EAAE,CAAC,EAAC;oBACd,GAAG,EAAC,EAAC,KAAK,EAAE,CAAC,EAAC;oBACd,IAAI,EAAC,EAAC,KAAK,EAAE,CAAC,EAAC;iBAChB;aACF,CAAC;SACH;IACH,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;;YACnE,MAAM,OAAO,GAAG,UAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,QAAQ,KAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;YACrC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,iCAAM,MAAM,KAAE,YAAY,EAAE,sHAAiB,CAAC,WAAW,IAAG,CAAC,CAAC;YAC5G,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,cAAc,SAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,0CAAE,UAAU,CAAC;YAC3D,IAAI,CAAC,cAAc,CAAC,SAAS,qBAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,0CAAE,UAAU,CAAC,CAAC,2CAAG,SAAS,CAAC,CAAC,2CAAG,SAAS,CAAC;YACjG,IAAI,CAAC,cAAc,CAAC,OAAO,qBAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,0CAAE,UAAU,CAAC,CAAC,2CAAG,SAAS,CAAC,CAAC,2CAAG,OAAO,CAAC;YAC7F,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChC,CAAC,EACC,GAAG,CAAC,EAAE;YACJ,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC,CACF;IACH,CAAC;IAED,6BAA6B;QAC3B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC,SAAS,CAChD,GAAG,CAAC,EAAE;;YACJ,IAAI,IAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,MAAK,GAAG,EAAE;gBACrB,IAAI,CAAC,eAAe,GAAG,CAAC,SAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,QAAQ,CAAC,CAAC;aACjD;QACH,CAAC,EACD,GAAG,CAAC,EAAE;YACJ,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC,CAAC;QAC7C,CAAC,CACF,CACF;IACH,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,cAAc,GAAC,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,GAAC,IAAI,CAAC;QACxB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YAChE,IAAI,CAAC,cAAc,GAAG,IAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,KAAI,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;gBAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC9E,IAAI,CAAC,YAAY,GAAG,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBAC7D,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrE,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC5B;QACH,CAAC,EACC,GAAG,CAAC,EAAE;YACJ,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC,CACF,CACF,CAAC;IACJ,CAAC;IAED,kBAAkB;QAChB,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,KAAa,EAAE,EAAE;YAC7E,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE;gBACjD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,OAAO,IAAI,CAAC;aACb;QACH,CAAC,CAAC,CAAC;QACH,OAAO,cAAc,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,UAAU,CAAC,YAAiB,EAAE,aAAqB;QACjD,IAAI,IAAI,CAAC,iBAAiB,KAAK,aAAa,EAAE;YAC5C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACjC,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC;YACvC,IAAG,IAAI,CAAC,IAAI,KAAK,8DAAY,CAAC,YAAY,EAAC;gBAC3C,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAClB,EAAE,EACF;oBACE,UAAU,EAAE,IAAI,CAAC,KAAK;oBACtB,WAAW;oBACX,mBAAmB,EAAE,OAAO;iBAC7B,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;IACH,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,aAAa,GAAC,IAAI,CAAC;QACxB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;;YACzF,MAAM,OAAO,GAAG,UAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,QAAQ,KAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;YACrC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,iCAAM,MAAM,KAAE,YAAY,EAAE,sHAAiB,CAAC,WAAW,IAAG,CAAC,CAAC;YAC5G,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,cAAc,SAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,0CAAE,UAAU,CAAC;YAC3D,IAAI,CAAC,cAAc,CAAC,SAAS,qBAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,0CAAE,UAAU,CAAC,CAAC,2CAAG,SAAS,CAAC,CAAC,2CAAG,SAAS,CAAC;YACjG,IAAI,CAAC,cAAc,CAAC,OAAO,qBAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,0CAAE,UAAU,CAAC,CAAC,2CAAG,SAAS,CAAC,CAAC,2CAAG,OAAO,CAAC;YAC7F,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChC,CAAC,EACC,GAAG,CAAC,EAAE;YACJ,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC,CAAC,CACL,CAAC;IACJ,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;YAC1C,IAAI,CAAC,gBAAgB,CAAC,GAAG,KAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,IAAG,IAAI,CAAC,YAAY,CAAC;YAC5D,IAAI,CAAC,iBAAiB,CAAC,GAAG,KAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,IAAG,CAAC,KAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,IAAG,GAAG,CAAC,CAAC;QAC/E,CAAC,CAAC;IACJ,CAAC;IAED,UAAU;QACR,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;;YACjD,IAAG,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAC;gBACzB,IAAI,CAAC,WAAW,GAAG,IAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,KAAI,EAAE,CAAC;gBACnC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;oBAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE,mEAAiB,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,WAAI,CAAC,WAAW,0CAAE,MAAM,IAAG,CAAC,CAAC,CAAC;oBAC7L,IAAI,CAAC,QAAQ,EAAE,CAAC;iBACjB;aACF;iBAAI;gBACH,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aAC3C;QACH,CAAC,EAAC,KAAK,GAAE;YACP,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,KAAK;QACjB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAClB,EAAE,EACF;YACE,UAAU,EAAE,IAAI,CAAC,KAAK;YACtB,WAAW;YACX,mBAAmB,EAAE,OAAO;SAC7B,CAAC,CAAC;QACL,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,WAAW;QACT,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;IACzC,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,2DAAS,CAAC;IACnB,CAAC;IACD,IAAW,UAAU;QACnB,OAAO,uEAAoB,CAAC;IAC9B,CAAC;IACD,IAAW,YAAY;QACrB,OAAO,8DAAY,CAAC;IACtB,CAAC;IAED,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,cAAc,CAAC,MAAM,EAAC,IAAI;QACxB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,CAAC,MAAM,CAAC,GAAC,IAAI,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAC,IAAI,CAAC,aAAa,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChE,IAAI,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;YACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;SACxC;IACH,CAAC;IAED,YAAY;QACV,MAAM,YAAY,GAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC;QACpE,IAAI,GAAG,GAAG,2DAAS,CAAC,YAAY,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC;QAClD,IAAG,CAAC,GAAG,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAC;YACrD,GAAG,GAAC,OAAO,CAAC;SACb;QACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;IACvC,CAAC;IAGD,UAAU,CAAC,KAAK,EAAC,MAAM;QACrB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;;YACpE,IAAG,IAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,MAAK,GAAG,EAAC;gBACnB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAC9B,IAAI,CAAC,WAAW,SAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,cAAc,CAAC;gBAC7C,IAAI,CAAC,kBAAkB,qBAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,cAAc,0CAAE,WAAW,0CAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3G,gBAAI,CAAC,WAAW,0CAAE,KAAK,0CAAE,OAAO,CAAC,IAAI,CAAC,EAAE;oBACtC,IAAG,KAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,MAAK,UAAU,EAAC;wBACnC,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;qBACnC;oBACD,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,CAAC,EAAE;wBAC5C,IAAI,CAAC,eAAe,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC7D;yBAAM;wBACL,IAAI,CAAC,eAAe,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;wBACxE,IAAI,CAAC,eAAe,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,CAAC,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;wBAC1D,IAAI,CAAC,eAAe,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,CAAC,CAAC;qBAC9F;gBACH,CAAC,EAAE;gBACH,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACpE,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ;gBAC5E,CAAC,CAAC,CAAC;gBACH,UAAU,CAAC,GAAG,EAAE;oBAChB,CAAC,CAAC,oBAAoB,GAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACjD,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnC,CAAC,EAAE,CAAC,CAAC,CAAC;aACL;QACH,CAAC,EACD,GAAG,CAAC,EAAE;YACJ,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,KAAI,+CAA+C,CAAC,CAAC;QAChG,CAAC,CAAC,CACH;IACL,CAAC;IACD,YAAY;QACV,CAAC,CAAC,oBAAoB,GAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAED,gBAAgB,CAAC,WAAgB;QAC/B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;;YACxM,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;gBACpB,MAAM,QAAQ,SAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,QAAQ,CAAC;gBACrC,MAAM,WAAW,SAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,WAAW,CAAC;gBAC3C,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,CAAC;gBAClD,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,eAAe,CAAC;gBACtD,IAAI,CAAC,YAAY,CAAC,YAAY,SAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,0CAAE,MAAM,CAAC;gBAC5D,IAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,CAAC,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,gBAAgB,CAAC,CAAC;gBACrE,IAAI,CAAC,aAAa,GAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;gBAClD,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,WAAW,GAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;aACjE;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aAC3C;QACH,CAAC,EAAE,CAAC,GAAQ,EAAE,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAMD,IAAI,eAAe;QACjB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IACD,mBAAmB,CAAC,KAAa;QAC/B,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,EAAE;YAChC,OAAO;SACR;QACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7C,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACrC,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,KAAK,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE;YAC3C,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC7C,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACrC,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;YACH,OAAO;SACR;QACD,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7C,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACrC,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC;;8FA1ZU,uBAAuB;uGAAvB,uBAAuB;;;;;;;;;;;;QCtBpC,6EAAiC;QAC/B,yEAAuB;QACrB,mHAGM;QACN,+MAIc;QACd,+MAGc;QACd,yEAAiC;QAC/B,yEAA2F;QAC3F,iHAGK;QACL,qHASM;QACN,4DAAM;QACN,sHAUM;QACN,sHAmHM;QACN,kNAEc;QAChB,4DAAM;QACR,4DAAM;QACR,4DAAU;QAIV,uHA8DM;QAEN,kNAGc;QAId,wHAkEM;QAEN,kNAIc;;;;QArTJ,0DAAuC;QAAvC,yGAAuC;QAchB,0DAA+D;QAA/D,wLAA+D;QAChE,0DAA2D;QAA3D,mIAA2D;QAI/E,0DAA2D;QAA3D,mIAA2D;QAWhC,0DAA2G;QAA3G,yPAA2G;QAWtI,0DAAsB;QAAtB,oFAAsB;QA6H6E,0DAAwB;QAAxB,wFAAwB;QAuE/C,0DAAuB;QAAvB,uFAAuB;;;;;;;;;;;;;;AC9O/G;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgE;AACT;;;;;;ICmCjC,wEAA8E;IAAhD,qWAAgC;IAAgB,uDAAa;IAAA,4DAAI;;;IAAjB,0DAAa;IAAb,6EAAa;;;;;;;;;;AD5B1G,MAAM,0BAA0B;IAErC,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAC3B,aAAQ,GAAY,KAAK,CAAC;QAC1B,gBAAW,GAAY,KAAK,CAAC;QAC7B,kBAAa,GAAY,KAAK,CAAC;QAC/B,cAAS,GAAY,KAAK,CAAC;QAC3B,uBAAkB,GAAY,KAAK,CAAC;QACpC,eAAU,GAAY,KAAK,CAAC;QAC5B,cAAS,GAAY,KAAK,CAAC;QAC3B,gBAAW,GAAY,KAAK,CAAC;IARE,CAAC;IASvC,QAAQ;QACN,IAAI,2DAA2D,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAC;YACxF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;IACH,CAAC;IACD,IAAW,SAAS;QAClB,OAAO,qEAAW,CAAC;IACrB,CAAC;IAED,IAAW,KAAK;QACd,OAAO,sDAAM,CAAC;IAChB,CAAC;IAED,gBAAgB,CAAC,KAAK;QACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAC,EAAC,WAAW,EAAC,EAAC,IAAI,EAAC,KAAK,CAAC,QAAQ,EAAC,EAAC,CAAC,CAAC;IACxE,CAAC;IAED,WAAW,CAAC,KAAK;;QACf,IAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,KAAK,2DAAW,CAAC,OAAO,IAAI,YAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,SAAS,CAAC,CAAC,OAAM,2DAAW,CAAC,KAAK,EAAC;YACpG,UAAU,CAAC,GAAE,EAAE;gBACb,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACxB,CAAC,EAAC,GAAG,CAAC,CAAC;SACR;IACH,CAAC;;oGAlCU,0BAA0B;0GAA1B,0BAA0B;QCRvC,4EAA8D;QAA9B,wJAAS,uBAAmB,IAAC;QACzD,yEAAuB;QACnB,yEAA0B;QACtB,yEAAuB;QACnB,sEAAK;QACD,uEAAqF;QAAlF,mLAAoC;QAA8C,kEAAO;QAAA,4DAAI;QAChG,yEAAuE;QACrE,uEAAgC;QAAA,mEAAQ;QAAA,4DAAI;QAC9C,4DAAM;QACN,wEAA2F;QAAxF,wLAAwC;QAAgD,qEAAS;QAAA,4DAAI;QACxG,0EAAyE;QACvE,wEAAgD;QAAA,gEAAI;QAAA,4DAAI;QAC1D,4DAAM;QACV,4DAAM;QACN,uEAAK;QACD,wEAAmF;QAAhF,gLAAgC;QAAgD,iEAAK;QAAA,4DAAI;QAC5F,0EAAqE;QACnE,wEAAqC;QAAA,oEAAQ;QAAA,4DAAI;QACjD,wEAAyC;QAAA,wEAAY;QAAA,4DAAI;QACzD,wEAAmC;QAAA,kEAAM;QAAA,4DAAI;QAC7C,wEAAiC;QAAA,gEAAI;QAAA,4DAAI;QAC3C,4DAAM;QACV,4DAAM;QACN,uEAAK;QACD,wEAA0G;QAAvG,kMAAkD;QAAqD,2EAAe;QAAA,4DAAI;QAC7H,0EAA8E;QAC5E,wEAA4D;QAAA,+EAAuB;QAAA,4DAAI;QACvF,wEAAyD;QAAA,gEAAI;QAAA,4DAAI;QAEnE,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,0EAAuB;QACnB,uEAAK;QACD,wEAAkF;QAA/E,kLAAkC;QAA6C,mEAAO;QAAA,4DAAI;QAC7F,0EAAsE;QACpE,oHAA+F;QACjG,4DAAM;QACV,4DAAM;QACN,uEAAK;QACD,wEAA+E;QAA5E,gLAAgC;QAA4C,iEAAK;QAAA,4DAAI;QACxF,0EAAqE;QACjE,wEAAoD;QAAA,qFAAyB;QAAA,4DAAI;QACjF,wEAAgD;QAAA,qFAAyB;QAAA,4DAAI;QAC7E,wEAA2C;QAAA,wFAA4B;QAAA,4DAAI;QAC3E,wEAA+C;QAAA,4FAAgC;QAAA,4DAAI;QACnF,wEAAyC;QAAA,sFAA0B;QAAA,4DAAI;QACvE,wEAAuC;QAAA,oFAAwB;QAAA,4DAAI;QACvE,4DAAM;QACV,4DAAM;QACN,2EAAmC;QAC/B,wEAAqF;QAAlF,oLAAoC;QAA8C,uEAAW;QAAA,4DAAI;QACpG,0EAAuE;QACrE,sEAAI;QACA,sEAAwD;QACxD,qEAAG;QAAA,mEAAO;QAAA,yEAAkC;QAAA,4EAAgB;QAAA,4DAAI;QAAA,4DAAI;QACxE,4DAAK;QACL,sEAAI;QACA,sEAA8D;QAC9D,qEAAG;QACC,0EAAQ;QAAA,yEAA4B;QAAA,yEAAa;QAAA,4DAAI;QAAA,4DAAS;QAAC,wEAAW;QAAA,iEAAI;QAC9E,0FAA6B;QAAA,iEAAI;QAAA,sFACrC;QAAA,4DAAI;QACR,4DAAK;QACL,sEAAI;QACA,sEAAyD;QACzD,qEAAG;QACC,0EAAQ;QAAA,mEAAO;QAAA,4DAAS;QAAA,iEAAI;QAC5B,mFAAsB;QAAA,iEAAI;QAAA,yFAA6B;QAAA,iEAAI;QAAA,wFAA4B;QAAA,iEAAI;QAAC,8EAChG;QAAA,4DAAI;QACR,4DAAK;QACT,4DAAK;QACP,4DAAM;QACV,4DAAM;QACN,yEAAwG;QAAA,sEAAsD;QAAA,4DAAI;QACtK,4DAAM;QACN,2EAAkC;QAChC,qEAAG;QAAA,uEAAW;QAAA,4DAAI;QAClB,0EAA0B;QACxB,sEAAI;QACA,sEAAwD;QACxD,qEAAG;QAAA,oEAAO;QAAA,0EAAkC;QAAA,6EAAgB;QAAA,4DAAI;QAAA,4DAAI;QACxE,4DAAK;QACL,uEAAI;QACA,uEAA8D;QAC9D,sEAAG;QACC,2EAAQ;QAAA,0EAA4B;QAAA,0EAAa;QAAA,4DAAI;QAAA,4DAAS;QAAC,yEAAW;QAAA,kEAAI;QAC9E,2FAA6B;QAAA,kEAAI;QAAA,uFACrC;QAAA,4DAAI;QACR,4DAAK;QACL,uEAAI;QACA,uEAAyD;QACzD,sEAAG;QACC,2EAAQ;QAAA,oEAAO;QAAA,4DAAS;QAAA,kEAAI;QAC5B,yFAA2B;QAAA,kEAAI;QAAA,sFAAyB;QAAA,kEAAI;QAAA,yFAA4B;QAAA,kEAAI;QAAC,+EACjG;QAAA,4DAAI;QACR,4DAAK;QACP,4DAAK;QACP,4DAAM;QACN,4EAAwB;QACpB,4EAAuB;QAAA,0GAAwC;QAAA,4DAAM;QACrE,4EAA2B;QACvB,0EAA4C;QAAA,yEAAY;QAAA,4DAAI;QAC5D,0EAAgD;QAAA,2EAAc;QAAA,4DAAI;QAClE,0EAAwC;QAAA,sEAAS;QAAA,4DAAI;QACrD,0EAAyC;QAAA,uEAAU;QAAA,4DAAI;QAC3D,4DAAM;QACN,4EAAyB;QACrB,0EAAgE;QAAA,uEAAqE;QAAA,4DAAI;QACzI,0EAA8D;QAAA,uEAAoE;QAAA,4DAAI;QACtI,0EAAkE;QAAA,uEAAyE;QAAA,4DAAI;QAC/I,0EACgB;QAAA,uEAAqE;QAAA,4DAAI;QACzF,0EAA8D;QAAA,uEAAoE;QAAA,4DAAI;QAC1I,4DAAM;QACV,4DAAM;QACV,4DAAM;QACR,4DAAS;;QAhHiD,0DAA4C;QAA5C,4KAA4C;QAC1D,0DAA4C;QAA5C,4KAA4C;QACjE,0DAA4B;QAA5B,8IAA4B;QAEW,0DAA8C;QAA9C,8KAA8C;QAChE,0DAA8C;QAA9C,8KAA8C;QAKpC,0DAA8C;QAA9C,8KAA8C;QACxD,0DAA0C;QAA1C,0KAA0C;QAC/D,0DAAiC;QAAjC,8IAAiC;QACjC,0DAAqC;QAArC,8IAAqC;QACrC,0DAA+B;QAA/B,8IAA+B;QAC/B,0DAA6B;QAA7B,8IAA6B;QAIoB,0DAAmD;QAAnD,mLAAmD;QAC/E,0DAAmD;QAAnD,mLAAmD;QACxE,0DAAwD;QAAxD,8IAAwD;QACxD,0DAAqD;QAArD,8IAAqD;QAOpB,0DAA2C;QAA3C,2KAA2C;QACvD,0DAA2C;QAA3C,2KAA2C;QAC/C,0DAAQ;QAAR,8EAAQ;QAIM,0DAA0C;QAA1C,0KAA0C;QACpD,0DAA0C;QAA1C,0KAA0C;QAC7D,0DAAgD;QAAhD,yGAAgD;QAChD,0DAA4C;QAA5C,qGAA4C;QAC5C,0DAAuC;QAAvC,gGAAuC;QACvC,0DAA2C;QAA3C,oGAA2C;QAC3C,0DAAqC;QAArC,8FAAqC;QACrC,0DAAmC;QAAnC,4FAAmC;QAIF,0DAA4C;QAA5C,4KAA4C;QAC1D,0DAA4C;QAA5C,4KAA4C;QAwDtD,2DAA2B;QAA3B,qJAA2B;QAC5B,0DAA0B;QAA1B,oJAA0B;QACxB,0DAA4B;QAA5B,sJAA4B;QAC7B,0DAA2B;QAA3B,qJAA2B;QAE5B,0DAA0B;QAA1B,oJAA0B;;;;;;;;;;;;;;AClH7D;AAAA;AAAO,MAAM,WAAW;IA6EpB,YACI,MAAO,EAAE,IAAK,EAAE,QAAS,EAAE,UAAW,EAAC,WAAY,EAAE,KAAM,EAAC,WAAY,EAAE,SAAU,EAAE,SAAU,EAAE,WAAY,EAC9G,YAAa,EAAE,OAAQ,EAAE,gBAAiB,EAAE,aAAc,EAC1D,MAAO,EAAE,aAAc,EAAE,QAAS,EAAE,WAAY,EAAE,UAAW,EAAE,aAAc,EAC7E,WAAY,EAAE,aAAc,EAAE,UAAW,EAAE,YAAa,EAAE,iBAAkB,EAC5E,UAAW,EAAE,cAAe,EAAE,SAAU,EAAE,SAAU,EAAE,QAAS,EAAE,gBAAiB,EAAE,eAAgB,EACpG,aAAc,EAAE,cAAe,EAAE,QAAS,EAAE,aAAc,EAAE,WAAY,EAAE,uBAAwB,EAClG,UAAW,EAAE,kBAAmB,EAAE,SAAU,EAAE,mBAAoB,EAAE,mBAAoB,EAAE,gBAAiB,EAC3G,WAAY,EACZ,oBAAqB;QAGrB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,GAAC,WAAW,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,KAAK,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,KAAK,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,KAAK,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACnG,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,UAAU,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,IAAI,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,KAAK,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,KAAK,CAAC;QAClC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,KAAK,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,eAAe,IAAI,KAAK,CAAC;QAChD,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,IAAI,CAAC;QACvC,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,IAAI,EAAE,CAAC;QAC7D,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,KAAK,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,IAAI,EAAE,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,KAAK,CAAC;QACpC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,IAAI,KAAK,CAAC;QACxD,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,KAAK,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC,oBAAoB,CAAC;IACvD,CAAC;CACJ;;;;;;;;;;;;;ACzID;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;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;AAAA;AAAA;AAAA;AAAgE;AAEjB;AACU;AACS;AACV;AAEG;AAEL;AAEW;AACA;AACK;AAEJ;AAEK;AAC0B;AACK;AACG;AACiB;AAClC;AACtB;AACrB;AACO;AACyD;AAC3B;AACU;AACa;AACA;AACrC;AAC4B;AACc;AACQ;AACJ;AACtD;AACgD;AACW;AACzB;AAC5B;AACG;AAC2C;AACS;AACa;AAClE;AACoB;AACd;AAC2B;AACF;AACA;AACC;AACvD;AACiB;AAC2C;AACyB;AAC7C;AACoB;AACuB;AACjC;AACsB;AACtB;AACO;AACG;AACxC;;AAO1D,MAAM,gBAAgB;IAG3B,YAAY,GAAW,EAAE,IAA6B;QACpD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AA0EM,MAAM,YAAY;;wEAAZ,YAAY;4FAAZ,YAAY;iGAFZ,CAAC,kFAAkB,EAAE,wDAAQ,EAAE,kEAAW,EAAE,6EAAgB,EAAE,6EAAgB,EAAE,kFAAmB,CAAC,YArEtG;YACP,4DAAY,EAAE,2DAAS,EAAE,0DAAW,EAAE,qEAAgB,EAAE,wEAAoB;YAC5E,4DAAY,EAAE,kEAAmB,EAAE,kEAAc,EAAE,+EAAyB;SAC7E,EAuDC,4DAAY,EAAE,2DAAS,EAAE,0DAAW,EAAE,qEAAgB,EAAE,wEAAoB;QAC5E,4DAAY,EAAE,kEAAmB;oIAYxB,YAAY,mBAjErB,+EAAgB;QAChB,8GAAuB,EAAE,sHAAyB,EAAE,oFAAe;QACnE,sIAA2B,EAAE,mHAAwB;QACrD,qGAAoB,EAAE,+EAAkB,EAAE,0HAA8B;QACxE,wGAAmB,EAAE,iFAAiB;QACtC,4EAAe;QACf,yHAAqB;QACrB,oIAAwB;QACxB,2GAAsB;QACtB,+FAAkB;QAClB,sHAAyB;QACzB,sHAAyB;QACzB,6GAAsB;QACtB,2HAA0B;QAC1B,kIAA2B;QAC3B,4HAAuB;QACvB,qIAA0B;QAC1B,kJAA0B;QAC1B,eAAe;QACf,+HAA4B;QAC5B,yEAAa;QACb,+EAAkB;QAClB,iFAAiB;QACjB,qGAAoB;QACpB,uFAAmB;QACnB,kHAAsB;QACtB,gHAAuB;QACvB,gHAAuB;QACvB,iHAAwB;QACxB,0DAAQ;QACR,2EAAgB;QAChB,qHAAsB;QACtB,8IAA0B;QAC1B,kGAAyB;QACzB,4IAAwB;QACxB,2GAAoB;QACpB,iIAA0B;QAC1B,2GAAoB;QACpB,sHAAyB;QACzB,mHAAwB;QACxB,qHAAmB,aA7CnB,4DAAY,EAAE,2DAAS,EAAE,0DAAW,EAAE,qEAAgB,EAAE,wEAAoB;QAC5E,4DAAY,EAAE,kEAAmB,EAAE,kEAAc,EAAE,+EAAyB,aA+C5E,+EAAgB;QAChB,oFAAe,EAAE,sHAAyB;QAC1C,sIAA2B,EAAE,mHAAwB;QACrD,qGAAoB,EAAE,+EAAkB,EAAE,0HAA8B;QACxE,4EAAe;QACf,+FAAkB,EAAE,wGAAmB;QACvC,sHAAyB,EAAE,sHAAyB,EAAE,iFAAiB;QACvE,6GAAsB,EAAE,2HAA0B;QAClD,kIAA2B,EAAE,yEAAa;QAC1C,4DAAY,EAAE,2DAAS,EAAE,0DAAW,EAAE,qEAAgB,EAAE,wEAAoB;QAC5E,4DAAY,EAAE,kEAAmB,EAAE,+EAAkB;QACrD,8GAAuB,EAAE,yHAAqB,EAAE,oIAAwB,EAAE,2GAAsB,EAAE,4HAAuB,EAAE,qIAA0B,EAAE,kJAA0B,EAAE,+HAA4B;QAC/M,qGAAoB,EAAE,iFAAiB;QACvC,uFAAmB,EAAE,kHAAsB,EAAE,gHAAuB,EAAE,gHAAuB,EAAE,iHAAwB,EAAE,0DAAQ,EAAE,2EAAgB,EAAE,qHAAsB,EAAE,8IAA0B,EAAE,kGAAyB;QAClO,4IAAwB;QACxB,2GAAoB;QACpB,iIAA0B;QAC1B,2GAAoB;QACpB,sHAAyB;;;;;;;;;;;;;AC/I7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuC;AAG6B;AACqB;;;;;;AASlF,MAAM,aAAa;IAKxB,YAAoB,IAAiB,EAC3B,KAAmB,EACnB,KAA8B,EAC9B,MAAc;QAHJ,SAAI,GAAJ,IAAI,CAAa;QAC3B,UAAK,GAAL,KAAK,CAAc;QACnB,UAAK,GAAL,KAAK,CAAyB;QAC9B,WAAM,GAAN,MAAM,CAAQ;QAPjB,mBAAc,GAAG,IAAI,oDAAe,CAAM,KAAK,CAAC,CAAC;QACjD,gBAAW,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QAC3C,iBAAY,GAAG,IAAI,oDAAe,CAAM,KAAK,CAAC,CAAC;QAC/C,aAAQ,GAAG,KAAK,CAAC;IAKpB,CAAC;IAEL,iBAAiB,CAAC,KAAK;QACrB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,mBAAmB,GAAG,KAAK,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBACvD,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,IAAI;QACjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,oBAAoB,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBACxD,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACxC,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;wBACpB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;qBAC5C;yBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,gBAAgB,EAAE;wBAC7E,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;qBAC1C;oBACD,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,IAAI,EAAE,IAAI;QAClB,IAAI,MAAM,GAAG,2BAA2B,CAAC;QACzC,IAAI,IAAI,IAAI,UAAU,EAAE;YACtB,MAAM,GAAG,qBAAqB,CAAC;SAChC;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBACxD,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACpB,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;oBACzC,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,IAAI;QAChB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,wBAAwB,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBACvD,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,EAAE,IAAI;QACnB,IAAI,MAAM,CAAC;QACX,QAAQ,SAAS,EAAE;YACjB,KAAK,CAAC;gBACJ,MAAM,GAAG,UAAU,CAAC;gBACpB,MAAM;YACR,KAAK,CAAC;gBACJ,MAAM,GAAG,qBAAqB,CAAC;SAClC;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBACxD,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACpB,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,wDAAwD,EAAE;wBAChG,8CAA8C;qBAC/C;oBACD,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,KAAK;QACnB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,MAAM,GAAG,kBAAkB,CAAC;YAChC,MAAM,WAAW,GAAG,gBAAgB,KAAK,CAAC,WAAW,EAAE,CAAC;YACxD,MAAM,IAAI,WAAW,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBACvD,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACpB,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,IAAI;QACV,MAAM,MAAM,GAAG,mBAAmB,CAAC;QACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBACxD,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACpB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC3C,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,sGAAsG;oBACtG,gDAAgD;oBAChD,IAAI;oBACJ,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB,CAAC,IAAI,EAAE,UAAkB,SAAS;QAClD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC;QACnB,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACzC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,kEAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,2EAA6B,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,kFAAmC,CAAC,IAAI,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,WAAW,CAAC,SAAS;QACnB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,kEAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,2EAA6B,EAAE,CAAC,CAAC;IAC3D,CAAC;;0EApIU,aAAa;gGAAb,aAAa,WAAb,aAAa,mBAFZ,MAAM;;;;;;;;;;;;;AChBpB;AAAA;AAAA;AAAA;AAAA;AAAwE;AACP;;;AAS1D,MAAM,sBAAsB;IAGjC,YAAoB,KAA8B;QAA9B,UAAK,GAAL,KAAK,CAAyB;QADxC,qBAAgB,GAAG,IAAI,0DAAY,EAAO,CAAC;IACC,CAAC;IAEvD,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE;YACzD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU;QACR,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,gEAAkB,EAAE,CAAC,CAAC;IAChD,CAAC;;4FAjBU,sBAAsB;sGAAtB,sBAAsB;QCTnC,yEAAoD;QAClD,yEAAkF;QAChF,yEAA2B;QACzB,4EAAyD;QAAA,yEAAoF;QAAvB,2IAAS,gBAAY,IAAC;QAAnF,4DAAoF;QAAA,4DAAS;QACtJ,yEAAwB;QACtB,yEAA2B;QACzB,oEAA0D;QAC1D,wEAAwB;QAAA,iEAAM;QAAA,4DAAK;QACnC,qEAAG;QAAA,4FAAgC;QAAA,4DAAI;QACzC,4DAAM;QACR,4DAAM;QACN,0EAA0B;QACxB,8EAAoE;QAAvB,+IAAS,gBAAY,IAAC;QAAC,8DAAE;QAAA,4DAAS;QAC/E,8EAA2E;QAAnB,+IAAS,YAAQ,IAAC;QAAC,+DAAG;QAAA,4DAAS;QACzF,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;;;;;;;;;;;;;;AChBN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuB;;;;;ICMX,wEAAoD;IAAA,uDAA+B;IAAA,4DAAI;;;IAAnC,0DAA+B;IAA/B,mGAA+B;;;;;IAP/F,yEAA0J;IACtJ,yEAA0B;IACtB,yEAAkB;IACd,oEAA2E;IAC/E,4DAAM;IACN,yEAA4B;IACxB,oEAAG;IAAA,uDAAuB;IAAA,4DAAI;IAC9B,6GAAuF;IAC3F,4DAAM;IACN,0EAAmB;IACf,wEAAqD;IAAxB,+SAAuB;IAAC,kEAAO;IAAA,4DAAI;IACpE,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IAb+B,8KAAwD;IAM9E,0DAAuB;IAAvB,2FAAuB;IACtB,0DAAiC;IAAjC,oGAAiC;;;IAerC,wEAAkD;IAAA,uDAA6B;IAAA,4DAAI;;;IAAjC,0DAA6B;IAA7B,iGAA6B;;;;IAP3F,0EAA2F;IACvF,yEAA0B;IACtB,yEAAkB;IACd,qEAAwE;IAC5E,4DAAM;IACN,yEAA4B;IACxB,oEAAG;IAAA,uDAAqB;IAAA,4DAAI;IAC5B,6GAAmF;IACvF,4DAAM;IACN,0EAAmB;IACf,wEAAqD;IAAxB,gTAAuB;IAAC,kEAAO;IAAA,4DAAI;IACpE,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IAPS,0DAAqB;IAArB,yFAAqB;IACpB,0DAA+B;IAA/B,kGAA+B;;;;IAQ/C,0EAAiG;IAC7F,yEAA0B;IACtB,yEAAkB;IACd,qEAA2E;IAC/E,4DAAM;IACN,yEAA4B;IACxB,oEAAG;IAAA,uDAAuB;IAAA,4DAAI;IAClC,4DAAM;IACN,0EAAmB;IACf,wEAAqD;IAAxB,kTAAuB;IAAC,iEAAO;IAAA,4DAAI;IACpE,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IANS,0DAAuB;IAAvB,2FAAuB;;;;IAStC,0EAA8H;IAC1H,yEAA0B;IACtB,yEAAkB;IACd,qEAAuF;IAC3F,4DAAM;IACN,yEAA4B;IACxB,oEAAG;IAAA,uDAA4B;IAAA,4DAAI;IACnC,oEAAG;IAAA,kGAAuC;IAAA,4DAAI;IAClD,4DAAM;IACN,0EAAmB;IAEf,4EAA+B;IAAzB,uTAAwB;IAAC,wDAA0B;IAAA,4DAAO;IACpE,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IARS,0DAA4B;IAA5B,gGAA4B;IAKA,0DAA0B;IAA1B,8FAA0B;;;;IAMrE,0EAA2H;IACvH,yEAA0B;IACtB,yEAAkB;IACd,qEAAsE;IAC1E,4DAAM;IACN,yEAA4B;IACxB,oEAAG;IAAA,uDAA6B;IAAA,4DAAI;IAExC,4DAAM;IACN,0EAAmB;IACf,wEAAqD;IAAxB,kTAAuB;IAAC,iEAAO;IAAA,4DAAI;IACpE,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IAbD,qHAA4C;IAGI,0DAA4B;IAA5B,kKAA4B;IAGlE,0DAA6B;IAA7B,iGAA6B;;ADvDrC,MAAM,cAAc;IAoCzB,YAAoB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;QAhCvC,wBAAmB,GAAG,EAAE,CAAC;QACzB,gCAA2B,GAAG,EAAE,CAAC;QACjC,sBAAiB,GAAG,EAAE,CAAC;QACvB,8BAAyB,GAAG,EAAE,CAAC;QAC/B,wBAAmB,GAAG,EAAE,CAAC;QACzB,uBAAkB,GAAG;YAC1B,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,EAAE;SACR,CAAC;QACK,8BAAyB,GAAG,EAAE,CAAC;QAC/B,wBAAmB,GAAW,EAAE,CAAC;QACjC,uBAAkB,GAAW,EAAE,CAAC;IAsBvC,CAAC;IApBD,WAAW,CAAC,GAAG;QACb,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,WAAW;QACT,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC7B,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,2BAA2B,GAAG,EAAE,CAAC;YACtC,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC;YACpC,IAAI,CAAC,kBAAkB,GAAG;gBACxB,KAAK,EAAE,EAAE;gBACT,GAAG,EAAE,EAAE;aACR,CAAC;QACJ,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAKD,QAAQ;QACN,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1E,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC;YACpC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAC5B,QAAQ,IAAI,CAAC,IAAI,EAAE;gBACjB,KAAK,CAAC;oBACJ,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,EAAE;wBAClB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,6CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;wBACpE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,6CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC9G,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,QAAQ,CAAC;qBAChD;oBACD,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAAE;wBACf,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,6CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;wBAC3D,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,6CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBACnG;oBACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC;oBACpC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;oBAC1B,MAAM;gBACR,KAAK,CAAC;oBACJ,IAAI,IAAI,CAAC,OAAO,EAAE;wBAChB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBAC7E;oBACD,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,EAAE;wBAClB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,6CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;wBACpE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,6CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC9G,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,QAAQ,CAAC;qBAClD;oBACD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC;oBACxC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;oBAC5B,MAAM;gBACR,KAAK,CAAC;oBACJ,IAAI,IAAI,CAAC,OAAO,EAAE;wBAChB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBAC7E;oBACD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC;oBACxC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;oBAC5B,MAAM;gBACR,KAAK,CAAC;oBACJ,IAAI,IAAI,CAAC,MAAM,EAAE;wBACf,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,6CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;wBAC9D,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,6CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBACvG;oBACD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC;oBAC1C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC;oBACpC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,MAAM,CAAC;oBAC7C,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;oBACnC,MAAM;gBACR,KAAK,CAAC;oBACJ,IAAI,IAAI,CAAC,SAAS,EAAE;wBAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;wBACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBACnF;oBACD,IAAI,CAAC,kBAAkB,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;oBAC/C,IAAI,CAAC,kBAAkB,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;oBAC3C,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;oBAC9B,MAAM;gBACR,KAAK,CAAC,CAAC;oBACL,IAAI,CAAC,WAAW,EAAE,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;;4EA1GU,cAAc;8FAAd,cAAc;QCb3B,2GAaM;QAEN,2GAaM;QAEN,2GAYM;QAGN,2GAcM;QAGN,2GAaM;;QA3EyH,yFAAyB;QAetF,0DAAuB;QAAvB,uFAAuB;QAenB,0DAAyB;QAAzB,yFAAyB;QAevB,0DAAoD;QAApD,wHAAoD;QAiBlC,0DAA+B;QAA/B,+FAA+B;;;;;;;;;;;;;;AC7DzH;AAAA;AAAA;AAAA;AAAA;AAA2D;;;AAKpD,MAAM,iBAAiB;IAE5B,YAAoB,KAAkB;QAAlB,UAAK,GAAL,KAAK,CAAa;IAAI,CAAC;IAE3C,iBAAiB,CAAC,GAAG;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,GAAG,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC;IACjH,CAAC;IAED,sBAAsB,CAAE,OAAY;QAClC,IAAI,GAAG,GAAC,YAAY,OAAO,CAAC,MAAM,qBAAqB,OAAO,CAAC,QAAQ,cAAc,OAAO,CAAC,SAAS,EAAE;QACxG,IAAG,OAAO,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,UAAU,EAAC;YACzD,GAAG,IAAI,eAAe,OAAO,CAAC,UAAU,EAAE;SAC3C;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC;IAC9E,CAAC;;kFAdU,iBAAiB;oGAAjB,iBAAiB,WAAjB,iBAAiB,mBAFjB,MAAM;;;;;;;;;;;;;;;;;;;ACCZ,MAAM,gBAAgB;IAC3B,YAAoB,UAAwB;QAAxB,eAAU,GAAV,UAAU,CAAc;IAAE,CAAC;IAC/C,SAAS,CAAC,KAAK;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;;gFAJU,gBAAgB;kHAAhB,gBAAgB;;;;;;;;;;;;;ACN7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8F;AAGvC;AACN;AAGe;AAKe;;;;;;;;;;ICGvE,wEAAmD;IACjD,qKACF;IAAA,4DAAI;;;IAME,qEAAgG;;;IAChG,qEAA0F;;;;IAL9F,0EAAwE;IACtE,gFACyF;IADlF,6VAAyB;IAAhC,4DACyF;IACzF,0EAAyD;IAApD,mUAA+B,CAAC,KAAE;IACrC,2HAAgG;IAChG,2HAA0F;IAC5F,4DAAM;IACN,0EAA6B;IAC3B,6EAA6D;IAArD,oUAA0B;IAA2B,2EAAgB;IAAA,4DAAS;IACxF,4DAAM;IACR,4DAAM;;;IATG,0DAAyB;IAAzB,uFAAyB;IAGxB,0DAAyB;IAAzB,4FAAyB;IACzB,0DAAwB;IAAxB,2FAAwB;;;IAShC,0EAAqF;IACnF,uDACF;;IAAA,4DAAM;;;IADJ,0DACF;IADE,uKACF;;;;IACA,0EAA2G;IAAzC,mUAAqB;IACrF,2EACF;IAAA,4DAAM;;;;IARR,0EAAuE;IACrE,4EACqD;IAD9C,+VAA2B;IAAlC,4DACqD;IACrD,2HAEM;;IACN,2HAEM;;IACN,wEAAyB;IACvB,sJACF;IAAA,4DAAI;IACN,4DAAM;;;IAXG,0DAA2B;IAA3B,yFAA2B;IAE5B,0DAA2D;IAA3D,4LAA2D;IAG3D,0DAA0D;IAA1D,2LAA0D;;;IAY9D,qEAAgG;;;IAChG,qEAA0F;;;IAQ1F,qEAAoG;;;IACpG,qEAA8F;;;IAEhG,wEAAgF;IAAA,mFAAwB;IAAA,4DAAI;;;IAG5G,0EAAmG;IACjG,qGACF;IAAA,4DAAM;;;IAQR,wEAA4C;IAAA,wEAAa;IAAA,4DAAI;;;IAC7D,wEAA4C;IAAA,2EAAgB;IAAA,4DAAI;;;IAChE,wEAA+C;IAAA,wEAAa;IAAA,4DAAI;;;IAChE,wEAA8C;IAAA,0EAAe;IAAA,4DAAI;;;;IAoB/D,0EAA4E;IAC1E,0EACiD;IADa,mVAAmC;IAChD,4DAAM;IACzD,4DAAM;;IAF4B,0DAAe;IAAf,wEAAe;;;IAInD,0EAA+D;IAC7D,2EAA4B;IAAA,gFAAqB;IAAA,4DAAO;IAC1D,4DAAM;;;;IAKR,6EACiE;IAA/D,uUAA0B;IAC1B,4EACF;IAAA,4DAAS;;;;IAHqB,yHAAkE;;;;IAKhG,6EAE8D;IAA5D,oUAAuB;IACvB,yEACF;IAAA,4DAAS;;;;IAHP,kKAA2F;;AD9F9F,MAAM,uBAAuB;IAyClC,YACU,WAAwB,EACxB,OAAuB,EACvB,YAA0B,EAC1B,KAA8B;QAH9B,gBAAW,GAAX,WAAW,CAAa;QACxB,YAAO,GAAP,OAAO,CAAgB;QACvB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,UAAK,GAAL,KAAK,CAAyB;QA1C9B,oBAAe,GAAG,IAAI,0DAAY,EAAO,CAAC;QAGpD,kBAAa,GAAY,IAAI,CAAC;QAG9B,gBAAW,GAAG,EAAE,CAAC;QACjB,gBAAW,GAAG,EAAE,CAAC;QACjB,oBAAe,GAAG,EAAE,CAAC;QAErB,uBAAkB,GAAY,KAAK,CAAC;QACpC,uBAAkB,GAAY,KAAK,CAAC;QACpC,2BAAsB,GAAY,KAAK,CAAC;QAExC,aAAQ,GAAG,CAAC,CAAC;QAEb,kBAAa,GAAG,EAAE,CAAC;QACnB,0BAAqB,GAAG,KAAK,CAAC;QAC9B,0BAAqB,GAAY,KAAK,CAAC;QAEvC,mBAAc,GAAY,KAAK,CAAC;QAChC,gBAAW,GAAY,KAAK,CAAC;QAC7B,qBAAgB,GAAY,KAAK,CAAC;QAElC,oBAAe,GAAoB,IAAI,CAAC;QACxC,iBAAY,GAAW,EAAE,CAAC;QAElB,eAAU,GAAQ;YACxB,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,KAAK;SAChB,CAAC;IASE,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE;YACzD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;YACrC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;YACjD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QACzD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAEM,qBAAqB,CAAC,KAAiB;QAC5C,QAAQ,KAAK,EAAE;YACb,KAAK,UAAU,CAAC,YAAY;gBAC1B,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBACnD,MAAM;YACR,KAAK,UAAU,CAAC,aAAa;gBAC3B,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBACnD,MAAM;YACR,KAAK,UAAU,CAAC,gBAAgB;gBAC9B,IAAI,CAAC,sBAAsB,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC;gBAC3D,MAAM;SACT;IACH,CAAC;IAEM,cAAc;QACnB,IAAI,OAAO,GAAG;YACZ,QAAQ,EAAE,IAAI,CAAC,WAAW;YAC1B,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC;QACF,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC9B,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;aAAM;YACL,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;YAC1C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC9E,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,gCAAgC,CAAC,CAAC;oBACvE,IAAI,CAAC,eAAe,EAAE,CAAC;iBACxB;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,WAAW;QACT,MAAM,OAAO,GAAG;YACd,QAAQ,EAAE,IAAI,CAAC,WAAW;YAC1B,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/E,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;gBAC3B,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,CAAC;gBACnE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;aACxB;iBAAM;gBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aACjD;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,cAAc;QACnB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAEM,OAAO;QACZ,IAAI,KAAK,CAAC;QACV,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,EAAE,EAAE;YAC/B,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;SAC/B;QACD,MAAM,IAAI,GAAG;YACX,YAAY,EAAE,KAAK;SACpB,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,yBAAyB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7E,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;gBAC3B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;gBACnC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;aACnC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,MAAM,IAAI,GAAG;YACX,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,IAAI,CAAC,aAAa;SACxB,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gCAAgC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACpF,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;gBAC3B,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtD,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxD,IAAI,yEAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7C,IAAI,kFAA6B,EAAE,CAAC;gBACpC,IAAI,CAAC,WAAW,EAAE,CAAC;aACpB;iBAAM;gBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aACjD;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,cAAc;QACnB,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;SACjB;QACD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAEM,wBAAwB;QAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAEM,kBAAkB;QACvB,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC5C,IAAI,GAAG,EAAE;gBACP,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;iBACzC;gBACD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBACrB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;oBAClC,IAAI,CAAC,OAAO,EAAE,CAAC;iBAChB;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,eAAe,GAAG,kDAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CACxC,2DAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,EACrC,0DAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EACxC,2DAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CACxB,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACpC,CAAC;IAEM,0BAA0B;QAC/B,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,KAAK,EAAE,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,WAAW,CAAC;QACrF,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC9B,SAAS,GAAG,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC;SAC1D;aAAM;YACL,SAAS,GAAG,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SAC1G;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,uBAAuB;QAC7B,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,8CAA8C,CAAC,CAAC;QACrF,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAEO,uBAAuB;QAC7B,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC9B,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;YAClD,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;SACzB;aAAM;YACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,uCAAuC,CAAC,CAAC;YAC5E,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SACvB;IACH,CAAC;IAEO,oBAAoB;QAC1B,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACvF,QAAQ,GAAG,CAAC,IAAI,EAAE;gBAChB,KAAK,iBAAiB;oBACpB,IAAI,GAAG,CAAC,OAAO;wBAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC;;wBAC3C,IAAI,CAAC,uBAAuB,EAAE,CAAC;oBACpC,MAAM;aACT;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,mBAAmB,CAAC,KAAU;QACnC,MAAM,OAAO,GAAG,UAAU,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACrC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC/D,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;SACzC;IACH,CAAC;IAEM,eAAe;QACpB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,gBAAgB,CAAC,QAAQ;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CACrB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAC/B,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IACpB,CAAC;IAEM,eAAe,CAAC,IAAY;QACjC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,gDAAgD;QAChD,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,0CAA0C;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC/C,KAAK,IAAI,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAChC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3B;QACD,gCAAgC;QAChC,MAAM,UAAU,GAAG;YACjB,GAAG,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC;YACrB,GAAG,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;YACtB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACvB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YACzB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YACzB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;SAC1B,CAAC;QACF,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,kCAAkC;QAClC,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE;YAC9B,cAAc,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;SAC5C;QACD,8CAA8C;QAC9C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YACtB,cAAc,GAAG,CAAC,CAAC;SACpB;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,QAAQ,CAAC,KAAa;QAC5B,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,GAAG,GAAG,CAAC,CAAC;SACT;aAAM,IAAI,KAAK,IAAI,CAAC,EAAE;YACrB,GAAG,GAAG,CAAC,CAAC;SACT;aAAM,IAAI,KAAK,KAAK,CAAC,EAAE;YACtB,GAAG,GAAG,CAAC,CAAC;SACT;aAAM,IAAI,KAAK,KAAK,CAAC,EAAE;YACtB,GAAG,GAAG,CAAC,CAAC;SACT;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO;QACL,MAAM,QAAQ,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC7F,QAAQ,IAAI,CAAC,QAAQ,EAAE;YACrB,KAAK,CAAC;gBACJ,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;gBACxB,MAAM;YACR,KAAK,CAAC;gBACJ,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;gBACrB,MAAM;YACR,KAAK,CAAC;gBACJ,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;gBACxB,MAAM;YACR,KAAK,CAAC;gBACJ,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;gBACrB,MAAM;YACR,KAAK,CAAC;gBACJ,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;gBACvB,MAAM;YACR;gBACE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;SAC3B;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,UAAU;QACR,MAAM,QAAQ,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC7F,QAAQ,IAAI,CAAC,QAAQ,EAAE;YACrB,KAAK,CAAC;gBACJ,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;gBACxB,MAAM;YACR,KAAK,CAAC;gBACJ,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;gBACxB,MAAM;YACR,KAAK,CAAC;gBACJ,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;gBACrB,MAAM;YACR,KAAK,CAAC;gBACJ,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;gBACvB,MAAM;YACR;gBACE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;SAC3B;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO;QACL,MAAM,QAAQ,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC7F,QAAQ,IAAI,CAAC,QAAQ,EAAE;YACrB,KAAK,CAAC;gBACJ,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;gBACxB,MAAM;YACR,KAAK,CAAC;gBACJ,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;gBACrB,MAAM;YACR,KAAK,CAAC;gBACJ,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;gBACvB,MAAM;YACR;gBACE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;SAC3B;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,SAAS;QACP,MAAM,QAAQ,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC7F,QAAQ,IAAI,CAAC,QAAQ,EAAE;YACrB,KAAK,CAAC;gBACJ,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;gBACxB,MAAM;YACR,KAAK,CAAC;gBACJ,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;gBACvB,MAAM;YACR;gBACE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;SAC3B;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,WAAW;QACT,IAAI;YACF,IAAI,CAAC,6BAA6B,CAAC,WAAW,EAAE,CAAC;SAClD;QAAC,OAAO,KAAK,EAAE;YACd,aAAa;SACd;IACH,CAAC;;8FApYU,uBAAuB;uGAAvB,uBAAuB;kEAEvB,4FAAgB;;;;;QCtB7B,yEACqB;QACnB,yEAAkF;QAChF,yEAA2B;QACzB,yEAA0B;QACxB,wEAA+C;QAC7C,uDACF;QAAA,4DAAK;QACL,4EAAgE;QAAxD,+IAAS,qBAAiB,IAAC;QACjC,0EAAyB;QACvB,oEAA4D;QAC9D,4DAAO;QACT,4DAAS;QACX,4DAAM;QACN,yEAAwB;QACtB,iHAEI;QACJ,4EAAmC;QACjC,sHAUM;QACN,sHAYM;QACN,2EAAwB;QACtB,iFAEmC;QAF5B,iMAAyB,6GAAkB,4BAAwB,IAA1C;QAAhC,4DAEmC;QACnC,2EAAyD;QAApD,6IAAS,0BAAsB,CAAC,CAAC,IAAC;QACrC,sHAAgG;QAChG,sHAA0F;QAC5F,4DAAM;QACR,4DAAM;QACN,2EAAwB;QACtB,iFAEmC;QAF5B,qMAA6B;QAApC,4DAEmC;QACnC,2EAAyD;QAApD,6IAAS,0BAAsB,CAAC,CAAC,IAAC;QACrC,sHAAoG;QACpG,sHAA8F;QAChG,4DAAM;QACN,kHAA4G;QAC9G,4DAAM;QACN,uEAAK;QACH,sHAEM;QACR,4DAAM;QACN,2EAA+B;QAC7B,uEAAmC;QACnC,uEAAsC;QACtC,uEAAmC;QACnC,uEAAqC;QACvC,4DAAM;QACN,kHAA6D;QAC7D,kHAAgE;QAChE,kHAAgE;QAChE,kHAAiE;QACjE,2EAAkC;QAChC,sEAAI;QACF,0EAC8G;QAC5G,mHACF;QAAA,4DAAK;QACL,0EAAsG;QACpG,uJAEF;QAAA,4DAAK;QACL,0EAC+I;QAC7I,2IAEF;QAAA,4DAAK;QACP,4DAAK;QACP,4DAAM;QAEN,2EAAwB;QACtB,sHAGM;QACR,4DAAM;QACN,sHAEM;QAER,4DAAO;QACT,4DAAM;QACN,2EAA0B;QACxB,4HAGS;QAET,4HAIS;QACX,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;;;QAnHI,0DACF;QADE,kIACF;QAQ6B,0DAAoB;QAApB,oFAAoB;QAIzC,0DAA6C;QAA7C,iHAA6C;QAW7C,0DAA4C;QAA5C,gHAA4C;QAczC,0DAAyB;QAAzB,oFAAyB;QAIxB,0DAAyB;QAAzB,yFAAyB;QACzB,0DAAwB;QAAxB,wFAAwB;QAIzB,0DAA6B;QAA7B,wFAA6B;QAI5B,0DAA6B;QAA7B,6FAA6B;QAC7B,0DAA4B;QAA5B,4FAA4B;QAEhC,0DAAwD;QAAxD,gIAAwD;QAGtD,0DAA6E;QAA7E,2GAA6E;QAK7E,0DAAqB;QAArB,kFAAqB;QACrB,0DAAwB;QAAxB,qFAAwB;QACxB,0DAAqB;QAArB,kFAAqB;QACrB,0DAAuB;QAAvB,oFAAuB;QAE3B,0DAAoB;QAApB,oFAAoB;QACpB,0DAAoB;QAApB,oFAAoB;QACpB,0DAAoB;QAApB,oFAAoB;QACpB,0DAAoB;QAApB,oFAAoB;QAIlB,0DAA2G;QAA3G,4KAA2G;QAGzG,0DAAiG;QAAjG,kKAAiG;QAKnG,0DAA4I;QAA5I,iNAA4I;QAQhH,0DAA0C;QAA1C,8GAA0C;QAKxD,0DAAyC;QAAzC,6GAAyC;QAOtD,0DAAmB;QAAnB,mFAAmB;QAKnB,0DAAoB;QAApB,oFAAoB;;AD0SrC,IAAK,UAEJ;AAFD,WAAK,UAAU;IACb,2DAAY;IAAE,6DAAa;IAAE,mEAAgB;AAC/C,CAAC,EAFI,UAAU,KAAV,UAAU,QAEd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AE5ZkK;AAKpG;AACa;AAElB;AACnC;AAC2C;AACrB;AAGe;AACJ;AAGb;AAKD;AACuC;AAEf;AAEyG;;;;;;;;;;;;;;;;;;;;IC7B3K,sFAAwF;;;IAExF,qFAAqF;;;IAOrF,sFAAwF;;;IAkBxF,yEAAqE;IACjE,wFAA8H;IAClI,sEAAe;;;;;IADa,2DAAiB;IAAjB,8EAAiB;;ADatC,MAAM,YAAY;IA4CvB,YAAoB,KAA8B,EACxC,MAAc,EACd,KAAqB,EACrB,UAAmC,EACnC,cAAqC,EACrC,kBAAsC,EACtC,cAA8B,EACH,QAAkB,EAC7C,WAA8B,EAC9B,oBAAyC,EACzC,aAA2B,EAC3B,YAAmB;QAXT,UAAK,GAAL,KAAK,CAAyB;QACxC,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,eAAU,GAAV,UAAU,CAAyB;QACnC,mBAAc,GAAd,cAAc,CAAuB;QACrC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,mBAAc,GAAd,cAAc,CAAgB;QACH,aAAQ,GAAR,QAAQ,CAAU;QAC7C,gBAAW,GAAX,WAAW,CAAmB;QAC9B,yBAAoB,GAApB,oBAAoB,CAAqB;QACzC,kBAAa,GAAb,aAAa,CAAc;QAC3B,iBAAY,GAAZ,YAAY,CAAO;QAtDrB,yBAAoB,GAAW,CAAC,CAAC;QACzC,UAAK,GAAG,mBAAmB,CAAC;QACrB,kBAAa,GAAY,KAAK,CAAC;QAC/B,eAAU,GAAY,KAAK,CAAC;QAC5B,qBAAgB,GAAQ,EAAE,CAAC;QAC3B,mBAAc,GAAW,CAAC,CAAC;QAC1B,6BAAwB,GAAQ,EAAE,CAAC;QACnC,wBAAmB,GAAG,IAAI,kDAAY,EAAE,CAAC;QACzC,uBAAkB,GAAG;YAC3B,OAAO;YACP,eAAe;YACf,iBAAiB;YACjB,UAAU;YACV,YAAY;YACZ,iBAAiB;YACjB,GAAG;YACH,YAAY;YACZ,gBAAgB;YAChB,kBAAkB;YAClB,mBAAmB;YACnB,WAAW;YACX,6BAA6B;YAC7B,OAAO;YACP,OAAO;YACP,eAAe;YACf,YAAY;YACZ,aAAa;YACb,2CAA2C;YAC3C,OAAO;YACP,WAAW;YACX,mBAAmB;YACnB,+BAA+B;YAC/B,cAAc;YACd,mBAAmB;YACnB,OAAO;YACP,SAAS;YACT,oBAAoB;YACpB,eAAe;YACf,cAAc;SACf,CAAC;QACM,gBAAW,GAAW,CAAC,CAAC;QAChC,qBAAgB,GAAY,KAAK,CAAC;QAehC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;IACrH,CAAC;IACD,oBAAoB;QACjB,8CAA8C;QAC9C,sDAAsD;QACtD,IAAI;QACJ,2DAA2D;QAC3D,kDAAkD;QAClD,KAAK;IACR,CAAC;IAGI,wBAAwB;;YAC5B,sDAAc,CAAC,UAAU,CAAC,qEAAW,CAAC,WAAW,CAAC,CAAC;YACnD,OAAO,OAAO,CAAC,OAAO,EAAE;QAC1B,CAAC;KAAA;IACK,gBAAgB;;YACpB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC9B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;KAAA;IACK,YAAY,CAAC,MAAM;;YACvB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAChC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;KAAA;IACK,WAAW;;YACf,MAAM,CAAC,GAAG,CAAC,MAAM,+GAAoC,CAAC,CAAC,uBAAuB,CAAC;YAC/E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,IAAI,qEAAqB,EAAE,qEAAW,CAAC,KAAK,CAAC,CAAC;YACtE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;KAAA;IAEK,QAAQ;;YACZ,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC1C,IAAI,QAAQ,CAAC,QAAQ,CAAC,6DAAa,CAAC,EAAE;gBACpC,IAAI,CAAC,kBAAkB,CAAC,iEAAiB,EAAE,mEAAmB,CAAC,CAAC;gBAChE,IAAI,CAAC,eAAe,EAAE,CAAC;aACxB;YACD,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACtC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBACtD,IAAI,GAAG;oBACL,CAAC,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC,CAAC,CACF,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;gBACxC,IAAI,CAAC,CAAC,6CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;oBAC/G,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;oBAC3C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;oBACtD,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;oBACzD,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;oBACvD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,kEAAoB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;oBACnE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,2EAA6B,EAAE,CAAC,CAAC;oBACzD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvD,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;wBACnD,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;wBAC7D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC;qBACvD;yBAAM,IAAI,MAAM,CAAC,UAAU,EAAE;wBAC5B,cAAc,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;wBAClE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;wBACjD,MAAM,GAAG,GAAG,eAAe,GAAG,GAAG,GAAG,UAAU,CAAC,MAAM,GAAG,GAAG,GAAG,UAAU,CAAC,SAAS,GAAG,GAAG;4BACtF,UAAU,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,eAAe,CAAC,CAAC;wBAClF,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBAChC;yBAAO,IAAG,MAAM,CAAC,WAAW,KAAK,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,WAAW,EAAC;wBAC7E,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;wBACrC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAC,QAAQ,EAAC,OAAO,EAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;4BACvF,IAAI,IAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,MAAK,GAAG,EAAE;gCACrB,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,mBAAmB,EAAE,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;gCACxH,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;6BACpD;iCAAM;gCACL,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;6BAClD;4BACD,IAAG,MAAM,CAAC,WAAW,KAAK,MAAM,EAAC;gCAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;6BACjC;iCAAI;gCACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;6BAC3C;wBACH,CAAC,CAAC;qBACH;yBAAM;wBACL,IAAI,CAAC,CAAC,OAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,mBAAmB,MAAK,MAAM,CAAC,EAAE;4BAC7C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;yBACjC;qBACF;iBACF;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC;iBAC7B,IAAI,CAAC,6DAAM,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,QAAC,QAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,0CAAE,MAAM,KAAC,CAAC;iBAChD,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;gBAClB,yEAAyE;gBACzE,iCAAiC;gBACjC,IAAI;YACN,CAAC,CAAC,CACL,CAAC;YACF,IAAI,UAAU,GAAG,CAAC,wBAAwB,EAAE,uBAAuB,EAAE,yBAAyB;gBAC5F,4CAA4C,EAAE,uCAAuC,CAAC,CAAC;YACzF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CACrB,6DAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,YAAY,6DAAa,CAAC,CAChD,CAAC,SAAS,CAAC,CAAO,KAAoB,EAAE,EAAE,CAAC;gBAC1C,MAAM,MAAM,GAAQ;oBAClB,KAAK,EAAE,WAAW;oBAClB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;oBAC9B,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;oBAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;iBAC/B,CAAC;gBACF,IAAI,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;oBAC/C,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;iBAC7D;gBACD,IAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAC;oBAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;iBAChC;qBAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;oBAClD,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;iBACjC;YACH,CAAC,EAAC;YACF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACzF,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;aAC/B;YACD,YAAY,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;YACjD,YAAY,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;YACjD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC3C,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE;oBACpG,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;oBACvE,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,EAAE;wBACvB,UAAU,CAAC,GAAG,EAAE;4BACd,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;wBACpC,CAAC,EAAE,GAAG,CAAC,CAAC;qBACT;oBACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;oBACxC,MAAM,OAAO,GAAG;wBACd,UAAU,EAAE,SAAS;wBACrB,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC;wBACnF,GAAG,EAAE,EAAE;qBACR,CAAC;oBACF,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;wBACzG,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;4BACjD,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;4BACxF,qBAAqB;4BACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,kFAAgC,CAAC,OAAO,CAAC,CAAC,CAAC;4BACnE,WAAW;yBACZ;qBACF;yBAAM;wBACL,qBAAqB;wBACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,kFAAgC,CAAC,OAAO,CAAC,CAAC,CAAC;wBACnE,WAAW;qBACZ;iBACF;qBAAM;oBACL,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;iBAC5B;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrC,IAAI,KAAK,YAAY,oEAAoB,EAAE;oBACzC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;iBACvD;qBAAM,IAAI,KAAK,YAAY,kEAAkB,EAAE;oBAC9C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;iBACxD;qBAAM,IAAI,KAAK,YAAY,6DAAa,EAAE;oBACzC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvD,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;oBACjC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;oBACjC,+CAA+C;oBAC/C,6CAA6C;oBAC7C,IAAI;iBACL;qBAAM,IAAI,KAAK,YAAY,gEAAgB,EAAE;oBAC5C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvD,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;oBACjC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;iBAClC;qBAAM,IAAI,KAAK,YAAY,+DAAe,EAAE;oBAC3C,IAAI,IAAI,CAAC,aAAa,EAAE;wBACtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,4EAAc,CAAC,OAAO,CAAC,CAAC,CAAC;qBAChD;iBACF;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,6DAAa,CAAC,EAAE;gBACrC,8CAA8C;aAC/C;YACD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC,KAAc,EAAE,EAAE;gBAC1E,KAAK,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACzC,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;KAAA;IAEO,eAAe;QACrB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnC,IAAI,KAAK,YAAY,6DAAa,EAAE;gBAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC;gBAC3C,IAAI,SAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,CAAC,mEAAmB,MAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;oBAC5E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC;iBACnD;qBAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;oBACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,uEAAuB,CAAC,CAAC,CAAC,CAAC,gCAAgC;iBAClF;aACF;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACO,kBAAkB,CAAC,KAAa,EAAE,UAAkB;QAC1D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,IAAI,GAAoB,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5G,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,GAAG,GAAG,eAAe,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,eAAe,CAAC,OAAO;QACrB,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,+EAAY,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,kDAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAC7C,gEAAS,CAAC,MAAM,CAAC,EAAE,WAAC,WAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,aAAM,CAAC,OAAO,CAAC,0CAAE,GAAG,KAAI,MAAM,EAAE,CAAC,IAAC,EAAE,8DAAO,EAAE,EAAE,2DAAI,EAAE,CACzI,CAAC,SAAS,CAAE,GAAG,CAAC,EAAE;YACf,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACpC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACtD,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBACxD,IAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,IAAI,WAAW,EAAC;oBACzD,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;oBACvC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;iBACxC;YACH,CAAC,CAAC,CACH,CAAC;QACJ,CAAC,CACF,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB,CAAC,KAAK;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED,UAAU,CAAC,GAAW;QACpB,IAAI,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC/C,GAAG,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;SACxB;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAGD,oBAAoB,CAAC,KAAK;IAE1B,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE;;YAChE,UAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,MAAM,EAAE;gBACtB,IAAI,CAAC,wBAAwB,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtD,IAAI,CAAC,oBAAoB,EAAE,CAAC;aAC7B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAI,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;IACrD,CAAC;IAED,WAAW;QACT,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;IACzC,CAAC;;wEAzTU,YAAY,giCAmDb,yDAAQ;6FAnDP,YAAY,0GAFZ,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,qEAAW,CAAC,KAAK,EAAE,CAAC;QCvC7E,iJAAwF;QAExF,+IAAqF;QACrF,yEAAyB;QACzB,4EAA+B;QAC/B,wEAAuB;QAIvB,iJAAwF;QAGxF,0EAAkF;QAC9E,0EAAkE;QAC9D,0EAA2B;QACvB,0EAAwB;QACpB,2EAA0B;QACtB,sEAA8E;QAC9E,uEAAI;QAAA,8EAAiB;QAAA,6DAAK;QAC9B,6DAAM;QACN,yEAAgB;QACZ,kFAAoB;QAAA,wEAAK;QAAA,mEAAK;QAAA,6DAAM;QAAC,yJACzC;QAAA,6DAAI;QACR,6DAAM;QACV,6DAAM;QACV,6DAAM;QACR,6DAAM;QACR,6HAEe;;QA7BW,uGAAkC;QAEnC,2DAAiC;QAAjC,sGAAiC;QAOhC,2DAAkC;QAAlC,uGAAkC;QAkB3B,4DAAqB;QAArB,0FAAqB;;;;;;;;;;;;;;AC1BtD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8F;AAC/B;AACC;AAEN;AAIS;AACL;;;;;;AAMvD,MAAM,WAAW;IAWtB,YACU,WAAuB,EAAU,MAAc,EAAU,KAAmB,EAC5E,KAA8B;QAD9B,gBAAW,GAAX,WAAW,CAAY;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,UAAK,GAAL,KAAK,CAAc;QAC5E,UAAK,GAAL,KAAK,CAAyB;QAZjC,eAAU,GAAG,qEAAW,CAAC,WAAW,CAAC;QAQrC,0BAAqB,GAAG,IAAI,oDAAe,CAAM,IAAI,CAAC,CAAC;QACvD,wBAAmB,GAAG,IAAI,oDAAe,CAAM,IAAI,CAAC,CAAC;QA6B5D,gBAAW,GAAG,CAAC,KAAU,EAAmB,EAAE;;YAC5C,IAAI;gBACF,IAAI,QAAQ,CAAC;gBACb,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,0BAA0B,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE;oBACjG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACvC;gBACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvD,QAAQ,KAAK,CAAC,MAAM,EAAE;oBACpB,KAAK,GAAG,CAAC;oBACT,KAAK,GAAG;wBACN,eAAe;wBACf,CAAC,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;wBAChC,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC;wBAC9B,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;wBACpC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,kEAAoB,CAAC,EAAE,CAAC,CAAC,CAAC;wBAClD,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBAC9C,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;wBAChE,wCAAwC;wBACxC,YAAY,CAAC,KAAK,EAAE,CAAC;wBACrB,cAAc,CAAC,KAAK,EAAE,CAAC;wBACvB,IAAI;4BACF,YAAC,MAAc,0CAAE,kBAAkB,0CAAE,WAAW,CAAC,QAAQ,EAAE;yBAC5D;wBAAC,OAAO,KAAK,EAAE;4BACd,OAAO,CAAC,GAAG,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC,CAAC;yBAC3B;wBACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC5B,OAAO,uDAAU,CAAC,QAAQ,CAAC,CAAC;oBAC9B,KAAK,GAAG,CAAC,CAAC;wBACR,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;wBAChE,wCAAwC;wBACxC,OAAO,uDAAU,CAAC,cAAc,CAAC,CAAC;qBACnC;oBACD,KAAK,GAAG;wBACN,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,KAAK,sBAAsB,EAAE;4BAC1E,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,kEAAoB,CAAC,EAAE,CAAC,CAAC,CAAC;4BAClD,YAAY,CAAC,KAAK,EAAE,CAAC;4BACrB,cAAc,CAAC,KAAK,EAAE,CAAC;4BACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;yBAC7B;6BAAM;4BACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;yBACjE;wBACD,wCAAwC;wBACxC,OAAO,uDAAU,CAAC,cAAc,CAAC,CAAC;oBAEpC;wBACE,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;wBACxC,wCAAwC;wBACxC,OAAO,uDAAU,CAAC,KAAK,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC;iBAChD;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,wCAAwC;gBACxC,OAAO,uDAAU,CAAC,CAAC,CAAC,CAAC;aACtB;QACH,CAAC;QA9EC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3C,IAAI,CAAC,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;YACvC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC9C,CAAC;IAED,gBAAgB,CAAC,KAAK;QACpB,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACzC,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,KAAK,MAAM,EAAE;gBACnC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAC,WAAW,EAAG,cAAc,EAAC,CAAC,CAAC;aAC/D;QACH,CAAC,CAAC,CAAC;QACH,IAAI;YACF,wBAAwB;YACxB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,yCAAyC,CAAC;YAC3E,OAAO,OAAO,CAAC;SAChB;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,uBAAuB,CAAC;SAChC;IACH,CAAC;IAyDD,qBAAqB;IACrB,GAAG,CAAC,OAAe,EAAE,MAAY,EAAE,MAAY,EAAE,MAAO,EAAE,MAAO,EAAE,QAAc,EAAE,aAAuB;;QACxG,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;QAC7D,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YAC7B,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;QACD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACrB,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,uCAAuC,CAAC,CAAC;YACrE,OAAO,uDAAU,CAAC,uCAAuC,CAAC,CAAC;SAC5D;QACD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,EAAE;YAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;SACvD;QACD,kCAAkC;QAClC,wCAAwC;QACxC,IAAI,OAAO,CAAC;QACZ,IAAI,MAAM,EAAE;YACV,IAAI,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE;gBAC3C,OAAO,GAAG,IAAI,gEAAW,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;aACjG;iBAAM,IAAG,aAAa,EAAC;gBACtB,OAAO,GAAG,IAAI,gEAAW,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,GAAG,IAAI,gEAAW,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;aACpE;YACD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;SAC9D;aAAM;YACL,OAAO,GAAG,IAAI,gEAAW,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;SACrE;QACD,oBAAoB;QACpB,IAAI,MAAM,EAAE;YACV,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,MAAM,SAAG,IAAI,CAAC,YAAY,0CAAE,QAAQ,CAAC;gBAC5C,MAAM,CAAC,QAAQ,SAAG,IAAI,CAAC,YAAY,0CAAE,IAAI,CAAC;aAC3C;SACF;aAAM,IAAI,MAAM,EAAE;YACjB,IAAI,KAAU,CAAC;YACf,KAAK,GAAG;gBACN,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ;aACnC,CAAC;SACH;QAED,IAAI,gBAAgB,GAAG,IAAI,+DAAU,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;YACtB,IAAI,CAAC,EAAE;gBACL,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1D;SACF;QACD,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,gBAAgB;YACxB,OAAO;SACR,CAAC;QAEF,0BAA0B;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CACjD,0DAAG,CAAC,CAAC,GAAa,EAAE,EAAE;YACpB,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,EAAE;gBAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;aACxD;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,EACF,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC7B,CAAC;QACF,mBAAmB;IACrB,CAAC;IACD,mBAAmB;IAEnB,sBAAsB;IACtB,IAAI,CAAC,OAAe,EAAE,MAAY,EAAE,IAAU,EAAE,MAAO,EAAE,SAAU,EAAE,MAAO,EAAE,SAAU,EAAE,aAAuB;QAC/G,IAAI,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;QAC/D,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YAC7B,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;QACD,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;YACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;SACxC;QACD,IAAI,qEAAW,CAAC,IAAI,KAAK,SAAS,EAAE;YAClC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SACzB;QACD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACrB,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,uCAAuC,CAAC,CAAC;YACrE,OAAO,uDAAU,CAAC,uCAAuC,CAAC,CAAC;SAC5D;QACD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,EAAE;YAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;SACvD;QACD,IAAI,OAAO,CAAC;QACZ,IAAI,MAAM,EAAE;YACV,IAAI,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE;gBAC3C,OAAO,GAAG,IAAI,gEAAW,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;aACjG;iBAAM,IAAG,aAAa,EAAC;gBACtB,OAAO,GAAG,IAAI,gEAAW,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,GAAG,IAAI,gEAAW,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;aACpE;YACD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;SAC9D;aAAM;YACL,OAAO,GAAG,IAAI,gEAAW,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;SACrE;QACD,kCAAkC;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAC5E,0DAAG,CACD,CAAC,GAAa,EAAE,EAAE;YAChB,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,EAAE;gBAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;aACxD;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAEF,EACD,8DAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EACxB,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC7B,CAAC;IACJ,CAAC;IACD,oBAAoB;IAEpB,kCAAkC;IAClC,cAAc,CAAC,UAAU,EAAE,SAAS,EAAC,QAAS;QAC5C,MAAM,QAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;QAC1C,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzD,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/D,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QACtC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACzE,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC3E,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QAC/D,8CAA8C;QAC9C,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvD,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACzE,IAAG,QAAQ,EAAC;YACV,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;SAC9C;aACG;YACF,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;SACpD;QAED,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACvB,MAAM,EAAE,kBAAkB;aAC3B,CAAC;YACF,OAAO,EAAE,UAAoB,CAAE,8DAA8D;SAC9F,CAAC;QACF,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAClE,0DAAG,CACD,CAAC,GAAa,EAAE,EAAE;YAChB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;YACvD,OAAO,GAAG,CAAC;QACb,CAAC,CACF;QACD,4BAA4B;QAC5B,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC7B,CAAC;IACJ,CAAC;IACD,gCAAgC;IAChC,qBAAqB;IACrB,GAAG,CAAC,OAAe,EAAE,MAAY,EAAE,IAAU,EAAE,MAAO,EAAE,QAAS,EAAG,aAAuB;QACzF,wCAAwC;QACxC,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;QAC7D,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YAC7B,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;QACD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACrB,OAAO,uDAAU,CAAC,uCAAuC,CAAC,CAAC;SAC5D;QACD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,EAAE;YAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;SACvD;QACD,IAAI,OAAO,CAAC;QACZ,IAAI,aAAa,EAAE;YACjB,OAAO,GAAG,IAAI,gEAAW,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACjE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;SAC9D;aAAM,IAAI,MAAM,EAAE;YACjB,OAAO,GAAG,IAAI,gEAAW,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACnE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;SAC9D;aAAK;YACJ,OAAO,GAAG,IAAI,gEAAW,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;SACrE;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAC3E,0DAAG,CAAC,CAAC,GAAa,EAAE,EAAE;YACpB,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,EAAE;gBAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;aACxD;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CACA,EACD,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC7B,CAAC;IACJ,CAAC;IACD,mBAAmB;IAIlB,uBAAuB;IACvB,KAAK,CAAC,OAAe,EAAE,MAAY,EAAE,IAAU,EAAE,MAAO,EAAE,QAAS,EAAE,aAAuB;QAC3F,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;QAC7D,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YAC7B,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;QACD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACrB,OAAO,uDAAU,CAAC,uCAAuC,CAAC,CAAC;SAC5D;QACD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,EAAE;YAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;SACvD;QACD,IAAI,OAAO,CAAC;QACZ,IAAI,aAAa,EAAE;YACjB,OAAO,GAAG,IAAI,gEAAW,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACjE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;SAC9D;aAAM,IAAI,MAAM,EAAE;YACjB,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAG;gBAC9E,OAAO,GAAG,IAAI,gEAAW,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;aACjG;iBAAM;gBACL,OAAO,GAAG,IAAI,gEAAW,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;aACpE;YACD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;SAC9D;aAAM;YACL,OAAO,GAAG,IAAI,gEAAW,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;SACrE;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAC7E,0DAAG,CAAC,CAAC,GAAa,EAAE,EAAE;YACpB,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,EAAE;gBAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;aACxD;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CACA,EACD,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC7B,CAAC;IACJ,CAAC;IACD,qBAAqB;IACrB,wBAAwB;IACxB,MAAM,CAAC,OAAe,EAAE,MAAO,EAAE,MAAO,EAAE,SAAU;QAClD,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;QAC/D,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACrB,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,uCAAuC,CAAC,CAAC;YACrE,OAAO,uDAAU,CAAC,uCAAuC,CAAC,CAAC;SAC5D;QACD,kCAAkC;QAClC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,EAAE;YAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;SACvD;QACD,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACvB,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,IAAI,CAAC,WAAW;aAChC,CAAC;YACF,IAAI,EAAE,MAAM;SACb,CAAC;QACF,0BAA0B;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CACpD,0DAAG,CACD,CAAC,GAAa,EAAE,EAAE;YAChB,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,EAAE;gBAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;aACxD;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CACF,CACF,CAAC;IACJ,CAAC;IACD,sBAAsB;IAEtB,cAAc,CAAC,aAAuB;QACpC,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa;YACpG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,MAAM,EAAE;YAC9C,8BAA8B;YAC9B,0DAA0D;YAC1D,wDAAwD;YACxD,uDAAuD;YACvD,+CAA+C;YAC/C,WAAW;YACX,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI;SACL;QACD,SAAS;QACT,4DAA4D;QAC5D,IAAI;IACN,CAAC;;sEAtXU,WAAW;8FAAX,WAAW,WAAX,WAAW,mBAFV,MAAM;;;;;;;;;;;;;ACdpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2I;AAUhG;;;;;;;;;;;;ICKnC,6EAAoH;IAClH,qEAAqD;IACvD,4DAAS;;;;IACT,6EAA4H;IAApH,oVAAoC;IAC1C,qEAAoE;IACtE,4DAAS;;;IAKb,0EAEyB;IACvB,qEAAI;IACF,yEAAoB;IAClB,4EACF;IAAA,4DAAK;IACP,4DAAK;IACP,4DAAM;;;;IAMF,yEAAoG;IAAzD,mYAAyC;IAClF,2EAA6B;IAAA,uDAAqB;IAAA,4DAAO;IACzD,2EAAkC;IAAA,uDAA4C;IAAA,4DAAO;IACvF,4DAAK;;;;IAF0B,0DAAqB;IAArB,sFAAqB;IAChB,0DAA4C;IAA5C,qHAA4C;;;IALpF,8EACyB;IACvB,qEAAI;IACF,2HAGK;IACP,4DAAK;IACP,4DAAM;;;IAL2B,0DAAY;IAAZ,oFAAY;;;;IAQ3C,0EAA0F;IACxF,2EAAe;IAAA,uDAAqB;IAAA,4DAAO;IAC3C,wEAAgE;IAA7D,4WAAiC;IAA4B,qEAAwC;IAAA,4DAAI;IAC9G,4DAAM;;;IAFW,0DAAqB;IAArB,sFAAqB;;;IAFxC,0EAAyE;IACvE,6HAGM;IACR,4DAAM;;;IAJ0B,0DAAqB;IAArB,6FAAqB;;;;IAtCvD,0EAAiE;IAC/D,0EAAyB;IACvB,gFAE4D;IAFlC,iWAAiC,giBACrB,IAAI,KADiB;IAA3D,4DAE4D;IAC5D,0EAAgC;IAC9B,6HAES;IACT,6HAES;IACX,4DAAM;IACR,4DAAM;IAGN,uHAQM;IAGN,uHAQM;IAEN,uHAKM;IACR,4DAAM;;;IAzCwB,0DAAiC;IAAjC,+FAAiC;IAIrB,0DAAsC;IAAtC,yGAAsC;IAG5B,0DAAoC;IAApC,uGAAoC;IAQnF,0DAA+G;IAA/G,uMAA+G;IAU5G,0DAA2E;IAA3E,4JAA2E;IAU3E,0DAAmC;IAAnC,sGAAmC;;;;IAO3C,0EAA0F;IACxF,wEAA8E;IAA3E,gUAA+B;IAA4C,oEAAS;IAAA,4DAAI;IAC7F,4DAAM;;;IAOE,wEAA8I;IAC5I,uDACF;IAAA,4DAAI;;;;;IAFmH,kKAAsB;IAC3I,0DACF;IADE,2FACF;;;IAYM,2EAAoJ;IAClJ,oEACF;IAAA,4DAAO;;;;;IAJT,wEAAuE;IAErE,8JAEO;IACP,0EAAwB;IACtB,4EAA2F;IACzF,4EACoD;IAAlD,ugBAAiD;IADnD,4DACoD;IACpD,sEAA+B;IAC/B,uDACF;IAAA,4DAAQ;IACV,4DAAM;IACR,qEAAe;;;;;IAXc,0DAAuH;IAAvH,uUAAuH;IAI9G,0DAAuD;IAAvD,sKAAuD;IAChD,0DAAmC;IAAnC,gGAAmC;IAG1E,0DACF;IADE,uGACF;;;IAZN,wEAAgE;IAC9D,+JAae;IACjB,qEAAe;;;IAdyB,0DAAkB;IAAlB,sFAAkB;;;IAsBpD,qEAA4G;IAC1G,qEACF;IAAA,4DAAK;;;;IART,0EAAiE;IAC/D,4EAA2F;IACzF,4EACoD;IAAlD,6fAAiD;IADnD,4DACoD;IACpD,sEAA+B;IAC/B,uDACA;IAAA,gJAEK;IACP,4DAAQ;IACV,4DAAM;;;;;IAT8B,0DAAuD;IAAvD,sKAAuD;IAChE,0DAAmC;IAAnC,gGAAmC;IAG1D,0DACA;IADA,uGACA;IAAK,0DAAqG;IAArG,iLAAqG;;;IAN9G,4IAUM;;;IAVyC,sFAAgB;;;IA9BvE,0EAAgE;IAC9D,0EAA+B;IAC7B,0HAEI;IAEJ,wEAA0H;IACxH,uDACF;IAAA,4DAAI;IACN,4DAAM;IAEN,0EAA+D;IAC7D,0EAA6B;IAC3B,gJAee;IACf,0NAYc;IAChB,4DAAM;IACR,4DAAM;IACR,4DAAM;;;;;;IA1C2B,0DAAiB;IAAjB,iFAAiB;IAIqD,0DAAsB;IAAtB,kKAAsB;IACvH,0DACF;IADE,kGACF;IAGG,0DAAmB;IAAnB,kGAAmB;IAEL,0DAA4B;IAA5B,2FAA4B;;;;IAgCjD,0EAA4D;IAC1D,0EAA+B;IAE7B,wEAA0H;IACxH,uDACF;IAAA,4DAAI;IACN,4DAAM;IAEN,0EAA8D;IAC5D,0EAA6C;IAC3C,0EAA0B;IAExB,0EAAwB;IACtB,0EAAyB;IACvB,sFAAkG;IAA9B,6VAA6B;IACjG,4DAAkB;IACpB,4DAAM;IACR,4DAAM;IAER,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;;;;;;IAnB4E,0DAAsB;IAAtB,kKAAsB;IAClG,0DACF;IADE,kGACF;IAGG,0DAAmB;IAAnB,kGAAmB;IAMG,0DAAiB;IAAjB,8EAAiB;;;IAqChC,6EAA+F;IAC7F,uDACF;IAAA,4DAAS;;;IAFyD,yFAA4B;IAC5F,0DACF;IADE,0GACF;;;IAQA,6EAA+D;IAAA,uDAAQ;IAAA,4DAAS;;;IAAhC,2EAAc;IAAC,0DAAQ;IAAR,yEAAQ;;;;IAf7E,0EAAmE;IACjE,0EAAwB;IACtB,6EAEuB;IAFf,4ZAAmD;IAGzD,gJAES;IACX,4DAAS;IACX,4DAAM;IACN,0EAAwB;IACtB,6EAEiC;IAFzB,8ZAAqD;IAI3D,gJAAgF;IAClF,4DAAS;IACX,4DAAM;IACN,uEAAM;IAAA,4DAAC;IAAA,4DAAO;IAChB,4DAAM;;;;IAjBM,0DAAmD;IAAnD,8GAAmD;IAGtB,0DAA6B;IAA7B,mGAA6B;IAM1D,0DAAqD;IAArD,gHAAqD;IAIlC,0DAAqB;IAArB,8FAAqB;;;;IAzBxD,0EAAuG;IACrG,0EAAwB;IACtB,0EAA2B;IACzB,4EAAkC;IAChC,4EAC4E;IADrE,gRAA2C;IAAlD,4DAC4E;IAC5E,sEAA+B;IAC/B,uDACF;IAAA,4DAAQ;IACV,4DAAM;IACN,oIAmBM;IACR,4DAAM;IAER,4DAAM;;;IA5BS,0DAA2C;IAA3C,sGAA2C;IAGlD,0DACF;IADE,8GACF;IAEI,0DAAmC;IAAnC,mGAAmC;;;IAtBjD,0EAAsE;IACpE,0EAA+B;IAE7B,wEAAyH;IACvH,6EACF;IAAA,4DAAI;IACN,4DAAM;IAKN,0EAA+D;IAC7D,8HAgCM;IACR,4DAAM;IACR,4DAAM;;;;;IA3CgG,0DAAsB;IAAtB,kKAAsB;IAQrH,0DAAmB;IAAnB,kGAAmB;IACc,0DAAkB;IAAlB,sFAAkB;;;;IAuDlD,0EAAiE;IAC/D,0EAAwB;IACtB,4EAEkB;IAF+C,0YAAoC;IAArG,4DAEkB;IACpB,4DAAM;IACN,uEAAM;IAAA,4DAAC;IAAA,4DAAO;IAChB,4DAAM;;;;;;;IALK,0DAAS;IAAT,kEAAS;;;;;IAXtB,0EAAsF;IACpF,0EAAuB;IACrB,4EAAmG;IACjG,4EACgG;IADzF,4QAAyC;IAAhD,4DACgG;IAChG,sEAA+B;IAC/B,uDACF;IAAA,4DAAQ;IACV,4DAAM;IACN,oIAOM;IACR,4DAAM;;;;;;IAfgC,0DAAgE;IAAhE,kMAAgE;IAE5B,0DAA2B;IAA3B,0GAA2B;IADxF,oGAAyC;IAGhD,0DACF;IADE,4GACF;IAEI,0DAAiC;IAAjC,iGAAiC;;;IAnB/C,0EAAyE;IACvE,0EAA+B;IAE7B,wEAA0H;IACxH,6FACF;IAAA,4DAAI;IACN,4DAAM;IAEN,0EAA8D;IAC5D,0EAAsC;IACpC,8HAiBM;IAEN,wEAAmB;IAAA,sGAA2C;IAAA,4DAAI;IACpE,4DAAM;IACR,4DAAM;IACR,4DAAM;;;;;IA7BiG,0DAAsB;IAAtB,kKAAsB;IAKtH,0DAAmB;IAAnB,kGAAmB;IAEc,0DAAiB;IAAjB,sFAAiB;;;IAkCrD,0EAAyD;IACvD,qEAAmD;IACnD,oEAAG;IAAA,0IAA+E;IAAA,4DAAI;IACxF,4DAAM;;;;;IAEN,0EAA4D;IAC1D,iFAC4F;IADhF,2WAAuB;IAEnC,4DAAa;IAEb,0EAAwD;IACtD,uEAAM;IAAA,qEAC0C;IAAA,uDAA0B;IAAA,4DAAO;IACjF,uEAAM;IAAA,qEAC0C;IAAA,uDAA0B;IAAA,4DAAO;IACnF,4DAAM;IACR,4DAAM;;;IAVQ,0DAAuB;IAAvB,uFAAuB;IAMe,0DAA0B;IAA1B,gGAA0B;IAE1B,0DAA0B;IAA1B,gGAA0B;;;IAxBlF,0EAA2D;IACzD,0EAA+B;IAE7B,wEAAyH;IACvH,2EACF;IAAA,4DAAI;IACN,4DAAM;IAEN,0EAAqD;IAEnD,8HAGM;IAEN,8HAWM;IACR,4DAAM;IAER,4DAAM;;;;IA1BgG,0DAAsB;IAAtB,kKAAsB;IAKrH,0DAAmB;IAAnB,kGAAmB;IAEhB,0DAA+B;IAA/B,mGAA+B;IAK/B,0DAAgC;IAAhC,oGAAgC;;;IAvK5C,0EAA8H;IAC5H,yHA4CM;IACN,yHAsBM;IAEN,wHA8CM;IAEN,wHAgCM;IAEN,wHA6BM;IACR,4DAAM;;;IArL0B,0DAAgC;IAAhC,gGAAgC;IA6ChC,0DAA4B;IAA5B,4FAA4B;IAwB5B,0DAAsC;IAAtC,sGAAsC;IAgDtC,0DAAyC;IAAzC,yGAAyC;IAkCzC,0DAA2B;IAA3B,2FAA2B;;;;IAoC3D,6EAC2B;IAAzB,qUAAwB;IAAC,gEAAK;IAAA,4DAAS;;;IADyC,uIAAgE;;;;IAEhJ,6EACyB;IAAzB,qUAAwB;IAAC,gEAAK;IAAA,4DAAS;;;IAD2C,iIAA0D;;;ADvO3I,MAAM,oBAAoB;IA+B/B,YACU,cAA8B,EAC9B,WAAwB,EACxB,mBAAyC,EACzC,mBAAyC,EACvB,QAAkB,EACpC,UAAsB;QALtB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAa;QACxB,wBAAmB,GAAnB,mBAAmB,CAAsB;QACzC,wBAAmB,GAAnB,mBAAmB,CAAsB;QACvB,aAAQ,GAAR,QAAQ,CAAU;QACpC,eAAU,GAAV,UAAU,CAAY;QAjCtB,mBAAc,GAAG,IAAI,0DAAY,EAAE,CAAC;QAE9C,oBAAe,GAAQ,EAAE,CAAC;QAC1B,gBAAW,GAAG,EAAE,CAAC;QACjB,uBAAkB,GAAG,KAAK,CAAC;QAC3B,mBAAc,GAAQ,EAAE;QAEjB,wBAAmB,GAAW,EAAE,CAAC;QACjC,sBAAiB,GAAY,KAAK,CAAC;QACnC,aAAQ,GAAU,EAAE,CAAC;QACrB,qBAAgB,GAAU,EAAE,CAAC;QAC7B,6BAAwB,GAAY,KAAK,CAAC;QAK1C,gBAAW,GAAW,CAAC,CAAC;QACxB,kBAAa,GAAY;YAC9B,SAAS,EAAE,IAAI;YACf,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,EAAE;SACf,CAAC;QACK,uBAAkB,GAAG;YAC1B,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;SACR,CAAC;QAmQK,8BAAyB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,EAAE;YACnE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,EAAE,GAAG,CAAC,CAAC;IA7PJ,CAAC;IAEL,QAAQ;QACN,IAAI,IAAI,CAAC,QAAQ,KAAK,aAAa,EAAE;YACnC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC;SAC9E;aAAM;YACL,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;SACnE;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,QAAQ,KAAK,cAAc,EAAE;YACpC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAAC;YACrF,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAChC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oBACnE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACnC;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,WAAW,CAAC,OAAsB;QAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACtC,IAAI,MAAM,CAAC,GAAG,KAAK,oBAAoB,EAAC;gBACtC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBAC9B,IAAI,IAAI,CAAC,GAAG,KAAK,oBAAoB,EAAC;wBACpC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;qBAC9B;oBACD,CAAC,EAAE,CAAC;gBACN,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC;QACF,IAAI,IAAI,CAAC,QAAQ,KAAK,cAAc,EAAE;YACpC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAAC;YACrF,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAChC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oBACnE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACnC;gBACD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAC;oBACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC7C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAC;4BAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;yBAC7B;qBACF;iBACF;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,cAAc;QACZ,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,EACzC,WAAW,GAAG,CAAC,CAAC,cAAc,CAAC,EAC/B,KAAK,GAAG,CAAC,8BAA8B,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAC1E,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,aAAa,GAAG,UAAU,EAAE;YAC9B,IAAI,MAAM,GAAG,EAAE,CAAC,KAAK,EACnB,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,YAAY,EACjC,KAAK,GAAG,EAAE,CAAC;YACb,mBAAmB;YACnB,CAAC,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;YAErD,IAAI,QAAQ,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,eAAe,GAAG,MAAM,GAAG,GAAG,CAAC,CAAC;YAEvE,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YACrC,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAExC,6BAA6B;YAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrC,KAAK,IAAI,oEAAoE,GAAG,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,gBAAgB,CAAC;gBAC1H,KAAK,IAAI,iBAAiB,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,6DAA6D,GAAG,GAAG,GAAG,aAAa,GAAG,GAAG,GAAG,mBAAmB,CAAC;aACzJ;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE;YACtB,KAAK,CAAC,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,oCAAoC;QACpC,CAAC,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE;YAChC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YAE5B,WAAW,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE9C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;QACf,oBAAoB;QACpB,IAAI,CAAC,QAAQ,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzL,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACjC,iCAAiC;QAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAChC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACnC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wBAAwB;;QACtB,UAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,0CAAE,SAAS,CAAC,MAAM,CAAC,eAAe,EAAE;QACnF,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACrF,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;QACxD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;QACtD,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,oBAAoB;QAClB,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACpC,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC5B,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjE,IAAI,CAAC,YAAY,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,EAAE;oBACxF,IAAI,GAAG,IAAI,CAAC;iBACb;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,EAAE;YACR,OAAO,KAAK,CAAC;SACd;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,kBAAkB,CAAC,MAAM,EAAE,IAAI;QAC7B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACtB,IAAI,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE;gBACtC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;aAC9B;QACH,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBACxC,IAAI,UAAU,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,EAAE;oBACjC,IAAI,GAAG,IAAI,CAAC;oBACZ,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;iBACnC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,EAAE;gBACT,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACnC;SACF;aAAM;YACL,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACnC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,aAAa,IAAI,MAAM,CAAC,GAAG,KAAK,MAAM,EAAE;YAC5D,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACjC;IACH,CAAC;IAED,qBAAqB,CAAC,IAAI;QACxB,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC;QACtE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,QAAQ,CAAC,IAAI;QACX,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAC,EAAG,qDAAqD;YACrK,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBACxC,IAAI,UAAU,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE;oBAC/B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBACnC;gBACD,CAAC,EAAE,CAAC;YACN,CAAC,CAAC,CAAC;YACH,OAAO;SACR;QAED,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;YACpF,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBACxC,IAAI,UAAU,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE;oBAC/B,IAAI,GAAG,IAAI,CAAC;oBACZ,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;oBAChC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;iBACzC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,EAAE;gBACT,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjC;SACF;aAAM;YACL,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACjC;IACH,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,YAAY,CAAC,OAAO,CAAC,4BAA4B,EAAE,YAAY,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC;YACtG,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC;QACD,oBAAoB;QACpB,IAAI,CAAC,QAAQ,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzL,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACjD,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,YAAY;QACV,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,IAAI,CAAC,QAAQ,KAAK,cAAc,EAAE;YACpC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAChC,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE;oBACxD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;wBACjC,UAAU,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;oBACnC,CAAC,CAAC,CAAC;iBACJ;gBAED,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE;oBAC1B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;wBACjC,OAAO,UAAU,CAAC,UAAU,CAAC;wBAC7B,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC;oBACxB,CAAC,CAAC,CAAC;iBACJ;gBAED,4CAA4C;gBAC5C,IAAI,MAAM,CAAC,GAAG,KAAK,aAAa,IAAI,MAAM,CAAC,GAAG,KAAK,oBAAoB,EAAE;oBACvE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;wBACjC,UAAU,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;wBACjC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC1B,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;SAC5B;aAAM;YACL,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC;YACjF,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAChC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oBACnE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACnC;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAOM,aAAa;QAClB,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;YACvC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,OAAO;SACR;QAED,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAClB,0BAA0B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,mBAAmB,EAAE,EACnF,IAAI,CACL,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YAChB,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;gBACpB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;aACvC;YACD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,qBAAqB,CAAC,GAAW;QACtC,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,0BAA0B,CAAC,IAAa;QAC7C,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IAEM,iBAAiB,CAAC,QAAQ;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,MAAM,EAAE;YACX,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACtC;QACD,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAEM,oBAAoB,CAAC,KAAK;QAC/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;QAC5E,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC;QAC3F,MAAM,OAAO,GAAG;YACd,GAAG,EAAE,UAAU;YACf,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,QAAQ;YACrB,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAO,EAAE,EAAE,CAAC,CAAC;gBAC9D,GAAG,EAAE,EAAE;gBACP,WAAW,EAAE,IAAI;gBACjB,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;SACJ;QAED,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,IAAI,CAAC,eAAe,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;SAC3D;IACH,CAAC;IAED,IAAW,aAAa;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC;QACjF,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAEvB,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC;IACzE,CAAC;IAEM,wBAAwB;;QAC7B,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE5C,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YACnC,IAAI,CAAC,aAAa,GAAG;gBACnB,SAAS,EAAE,IAAI;gBACf,eAAe,EAAE,KAAK;gBACtB,UAAU,EAAE,EAAE;aACf,CAAC;YACF,OAAO;SACR;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;QACzB,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC;QACpF,MAAM,OAAO,SAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,0CAAE,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,MAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,MAAK,OAAO,CAAC,CAAC;QACpF,MAAM,OAAO,GAAQ,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG;YACnB,SAAS,EAAE,IAAI;YACf,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,CAAC,MAAW,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBAChD,KAAK,EAAE,KAAK,GAAG,CAAC;gBAChB,MAAM,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW;aAC5B,CAAC,CAAC;SACJ,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,GAAG,SAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,CAAC,2CAAG,WAAW,CAAC;QACxD,IAAI,CAAC,kBAAkB,CAAC,GAAG,eAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,CAAC,CAAC,2CAAI,CAAC,2CAAG,WAAW,CAAC;IACrE,CAAC;IAEM,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,IAAY;QACnD,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrD,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,0BAA0B,CAAC,eAAe,EAAE,KAAK;QACtD,eAAe,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG;YACtC,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG;SAC3C,CAAC;QACF,IAAI,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC;IACjD,CAAC;IAEM,0BAA0B,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK;QAC7D,eAAe,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG;YACtC,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK;SACxB,CAAC;QACF,IAAI,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC;IACjD,CAAC;IAEM,4BAA4B,CAAC,eAAe;QACjD,IAAI,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC;IACjD,CAAC;IAEM,wBAAwB,CAAC,eAAe;QAC7C,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC;QAE/F,MAAM,iBAAiB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAO,EAAE,EAAE,CAAC,CAAC;YACjH,GAAG;YACH,WAAW;YACX,UAAU;YACV,OAAO,EAAE,CAAC,UAAU;gBAClB,CAAC,CAAC,OAAO,CAAC,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,iCACtB,IAAI,KACP,UAAU,EAAE,IAAI,CAAC,GAAG,KAAK,cAAc,CAAC,GAAG,EAC3C,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAChG,CAAC;SACN,CAAC,CAAC,CAAC;QAEJ,MAAM,sBAAsB,mCACvB,iBAAiB,KACpB,MAAM,EAAE,iBAAiB,GAC1B;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC;QAClG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACpD,CAAC;IAEM,kBAAkB,CAAC,KAAK;QAC7B,MAAM,OAAO,GAAQ,QAAQ,CAAC,sBAAsB,CAAC,wBAAwB,CAAC,CAAC;QAC/E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC1D,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;aAChC;iBAAM;gBACL,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;aAChC;SACF;IACH,CAAC;IAEM,mBAAmB;QACxB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAEM,uBAAuB,CAAC,oBAAoB;QACjD,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,oBAAoB,CAAC,CAAC;QAErG,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAO,EAAE,EAAE,CAAC,CAAC;YACnG,GAAG;YACH,WAAW;YACX,UAAU;YACV,KAAK,EAAE,GAAG,KAAK,EAAE;SAClB,CAAC,CAAC,CAAC;QAEJ,MAAM,qBAAqB,mCACtB,gBAAgB,KACnB,MAAM,EAAE,gBAAgB,GACzB;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,oBAAoB,CAAC,CAAC;QACzG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACnD,CAAC;IAEM,oBAAoB,CAAC,iBAAiB,EAAE,KAAK;QAClD,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QAEtD,MAAM,eAAe,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;aAC1F,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACvE,IAAI,GAAG,IAAI,GAAG;YAAE,OAAO,IAAI,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,qBAAqB,CAAC,iBAAiB,EAAE,KAAK;QACnD,MAAM,eAAe,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,MAAW,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,KAAK,KAAK,CAAC;aACnG,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAEvE,MAAM,SAAS,GAAG,GAAG,GAAG,GAAG,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,2BAA2B,CAAC,KAAK,EAAE,oBAAoB,EAAE,KAAK;QAEnE,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QACpE,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE;YACtC,oBAAoB,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;SACvC;QACD,IAAI,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,CAAC;IACrD,CAAC;IAEM,wBAAwB;QAC7B,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACnC,CAAC;IAGD,uBAAuB,CAAC,KAAK;QAC3B,IAAI,IAAI,CAAC,QAAQ,KAAK,aAAa;YAAE,OAAO;QAC5C,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxE,MAAM,EAAE,GAAG,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QACrG,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,IAAI,EAAE;YAAE,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,WAAW;QACT,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAClC,CAAC;;wFAxgBU,oBAAoB,4pBAoCrB,wDAAQ;oGApCP,oBAAoB;;;;;;;;0JAApB,mCAA+B;;QClB5C,oEAAiC;QACjC,yEAA6B;QAC3B,yEAAwB;QACtB,oEAAG;QAAA,kEAAO;QAAA,4DAAI;QACd,uEAA+F;QAAzD,uIAAS,uBAAmB,IAAC;QACjE,oEAAkE;QACpE,4DAAI;QACN,4DAAM;QAEN,iHA2CM;QACN,gHAEM;QAGN,yEAAyJ;QACvJ,kHAsLM;QACR,4DAAM;QAGN,0EAA0B;QACxB,8EAAuE;QAA1B,6IAAS,kBAAc,IAAE;QAAC,iEAAK;QAAA,4DAAS;QACrF,yHACyC;QACvC,yHACuC;QAC3C,4DAAM;QACR,4DAAM;;QAnP2B,0DAAgC;QAAhC,gGAAgC;QA4CtC,0DAA+D;QAA/D,mIAA+D;QAKpE,0DAA+G;QAA/G,6MAA+G;QAC1D,0DAAgB;QAAhB,oFAAgB;QA4LxC,0DAAiC;QAAjC,iGAAiC;QAE/B,0DAAiC;QAAjC,iGAAiC;;;;;;;;;;;;;;ACxPtF;AAAA;AAAA;AAAA;AAAA;AAA6C;;AAOtC,MAAM,gBAAgB;IAK3B;QAHO,eAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAClC,cAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;IAExB,CAAC;IAEjB,cAAc,CAAC,IAAK;QAClB,MAAM,OAAO,GAAG;YACd,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;SACnC,CAAC;QACF,IAAI,IAAI,EAAE;YACR,OAAO,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;SACjD;QACD,sDAAc,CAAC,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,WAAW,CAAC,IAAK;QACf,IAAI,IAAI,EAAE;YACR,MAAM,OAAO,GAAG;gBACd,gBAAgB,EAAE,IAAI,CAAC,MAAM;gBAC7B,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;gBAC7D,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;aACnC,CAAC;YACF,sDAAc,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;SAC1C;IACH,CAAC;IAED,eAAe,CAAC,YAAY;QAC1B,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,IAAI,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACpC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE;gBACX,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;aAC3C;YACD,OAAO,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;SACpC;aAAM;YACL,OAAO,CAAC,eAAe,CAAC,GAAG,YAAY,CAAC;YACxC,OAAO,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;SAC9C;QACD,sDAAc,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,iBAAiB,CAAC,YAAY;QAC5B,MAAM,cAAc,GAAG;YACnB,IAAI,EAAE;gBACF,KAAK,EAAE,YAAY,CAAC,WAAW,GAAG,EAAE,GAAG,YAAY,CAAC,MAAM;gBAC1D,eAAe,EAAG,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;gBAC5E,KAAK,EAAE,YAAY,CAAC,SAAS;aAChC;SACJ,CAAC;QACF,4CAA4C;QAC5C,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACpD,CAAC;;gFArDU,gBAAgB;mGAAhB,gBAAgB,WAAhB,gBAAgB,mBAFf,MAAM;;;;;;;;;;;;;ACJpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+C;AACJ;AACkD;AACV;AAE/C;AAE4B;;;;;;;;ICGpD,qEAAqB;IAAA,oEAAG;IAAA,uDAAY;IAAA,4DAAI;IAAA,4DAAK;;;IAArB,0DAAY;IAAZ,gFAAY;;;;;;IAalC,0EAA8E;IAC5E,0EAA0B;IACxB,qEAAI;IAAA,uEAAY;IAAA,4DAAK;IACrB,oEAAG;IAAA,sEAAW;IAAA,4DAAI;IACtB,4DAAM;IACJ,0EAA+B;IAC7B,0EAA6B;IAC7B,2EAAmF;IAAnD,iWAAkD;IAAC,4DAAC;IAAA,uEAAK;IAAA,8DAAE;IAAA,4DAAM;IAAA,4DAAO;IACxG,4EAAqF;IAApD,mWAAmD;IAAC,8DAAE;IAAA,uEAAK;IAAA,8DAAE;IAAA,4DAAM;IAAA,4DAAO;IAC3G,4EAAqF;IAApD,mWAAmD;IAAC,8DAAE;IAAA,uEAAK;IAAA,8DAAE;IAAA,4DAAM;IAAA,4DAAO;IAC3G,4EAAqF;IAApD,mWAAmD;IAAC,8DAAE;IAAA,uEAAK;IAAA,8DAAE;IAAA,4DAAM;IAAA,4DAAO;IAC3G,4EAA8F;IAAzD,2WAAwD;IAAC,8DAAE;IAAA,uEAAK;IAAA,8DAAE;IAAA,4DAAM;IAAA,uEAAK;IAAA,gEAAI;IAAA,4DAAM;IAAA,4DAAO;IACnI,4DAAM;IACR,2EAA6B;IAC3B,yEAAuK;IAAhC,uUAA+B;IAAC,sEAAmE;IAAA,0GAA8C;IAAA,4DAAI;IAC9R,4DAAM;IACN,2EAA8B;IAC5B,yEAAwK;IAAhC,uUAA+B;IAAC,sEAAmE;IAAA,0GAA8C;IAAA,4DAAI;IAG/R,4DAAM;IACN,2EAA8B;IAC5B,yEAAyK;IAAhC,uUAA+B;IAAC,sEAA2E;IAAA,oEAAQ;IAAA,4DAAI;IAChQ,yEAAyK;IAAhC,uUAA+B;IAAC,sEAAkF;IAAA,wEAAY;IAAA,4DAAI;IAC3Q,yEAA0K;IAAhC,uUAA+B;IAAC,sEAAuE;IAAA,kEAAM;IAAA,4DAAI;IAC7P,4DAAM;IACN,2EAA8B;IAC5B,yEAAyK;IAAhC,uUAA+B;IAAC,sEAA2E;IAAA,oEAAQ;IAAA,4DAAI;IAChQ,yEAAyK;IAAhC,uUAA+B;IAAC,sEAAkF;IAAA,wEAAY;IAAA,4DAAI;IAC3Q,yEAA0K;IAAhC,uUAA+B;IAAC,sEAAuE;IAAA,kEAAM;IAAA,4DAAI;IAC7P,4DAAM;IACN,2EAAkC;IAChC,yEAA8K;IAAhC,uUAA+B;IAAC,sEAA2E;IAAA,oEAAQ;IAAA,4DAAI;IACrQ,yEAA8K;IAAhC,uUAA+B;IAAC,sEAAkF;IAAA,wEAAY;IAAA,4DAAI;IAChR,yEAA+K;IAAhC,uUAA+B;IAAC,sEAAuE;IAAA,kEAAM;IAAA,4DAAI;IAClQ,4DAAM;IACN,4DAAM;IACR,4DAAM;;;IAvBe,2DAA+B;IAA/B,8IAA+B;IAG/B,0DAA+B;IAA/B,8IAA+B;IAK/B,0DAA+B;IAA/B,8IAA+B;IAC/B,0DAA+B;IAA/B,8IAA+B;IAC/B,0DAA+B;IAA/B,8IAA+B;IAG/B,0DAA+B;IAA/B,8IAA+B;IAC/B,0DAA+B;IAA/B,8IAA+B;IAC/B,0DAA+B;IAA/B,8IAA+B;IAG/B,0DAA+B;IAA/B,8IAA+B;IAC/B,0DAA+B;IAA/B,8IAA+B;IAC/B,0DAA+B;IAA/B,8IAA+B;;;;;;;;IAsBhD,0EAAuF;IACrF,wEAAqE;IAAhC,uUAA+B;IAClE,sEAA2E;IAC3E,oEAAG;IAAA,mEAAQ;IAAA,4DAAI;IACjB,4DAAI;IACJ,wEAAyE;IAAhC,uUAA+B;IACtE,sEAAkF;IAClF,oEAAG;IAAA,uEAAY;IAAA,4DAAI;IACrB,4DAAI;IACJ,wEAAmE;IAAhC,uUAA+B;IAChE,uEAAuE;IACvE,qEAAG;IAAA,kEAAM;IAAA,4DAAI;IACf,4DAAI;IACJ,yEAAiE;IAAhC,wUAA+B;IAC9D,uEAAmE;IACnE,qEAAG;IAAA,gEAAI;IAAA,4DAAI;IACb,4DAAI;IACN,4DAAM;;IAhBD,0DAAiC;IAAjC,6IAAiC;IAIjC,0DAAqC;IAArC,6IAAqC;IAIrC,0DAA+B;IAA/B,6IAA+B;IAI/B,0DAA6B;IAA7B,6IAA6B;;;;;;;;;;;IAwBpC,2EAAyF;IACvF,2EAAsC;IACpC,yEAAuH;IAAjD,gWAAgD;IAAC,+DAAI;IAAA,4DAAI;IAC/H,yEAAgG;IAAhC,uUAA+B;IAAC,kEAAO;IAAA,4DAAI;IAC3G,yEAAuF;IAAlD,iWAAiD;IAAC,gEAAK;IAAA,4DAAI;IAChG,2EAA6B;IAC3B,wEAA6E;IAAhC,uUAA+B;IAAC,gFAAoB;IAAA,4DAAI;IACrG,yEAAyE;IAAhC,wUAA+B;IAAC,6EAAiB;IAAA,4DAAI;IAC9F,yEAAiF;IAAhC,wUAA+B;IAAC,gFAAoB;IAAA,4DAAI;IACzG,yEAA2E;IAAhC,wUAA+B;IAAC,+EAAmB;IAAA,4DAAI;IAClG,yEAAsF;IAAhC,wUAA+B;IAAC,qFAAyB;IAAA,4DAAI;IACnH,yEAAkF;IAAhC,wUAA+B;IAAC,qFAAyB;IAAA,4DAAI;IACjH,4DAAM;IACN,0EAAyG;IAA3D,2WAA0D;IAAC,gFAAoB;IAAA,4DAAI;IAEjI,4EAAsC;IACpC,yEAAwD;IAArD,wYAAoD;IAAC,+EAAmB;IAAA,4DAAI;IAC/E,yEAAqD;IAAlD,qYAAiD;IAAC,gEAAI;IAAA,4DAAI;IAC/D,4DAAM;IACN,4EAAoC;IAClC,yEAAuD;IAApD,uYAAmD;IAAC,6EAAiB;IAAA,4DAAI;IAC5E,qEAAG;IAAA,6EAAiB;IAAA,4DAAI;IACxB,qEAAG;IAAA,2EAAe;IAAA,4DAAI;IACtB,qEAAG;IAAA,+EAAmB;IAAA,4DAAI;IAC1B,qEAAG;IAAA,2EAAe;IAAA,4DAAI;IACtB,qEAAG;IAAA,6EAAiB;IAAA,4DAAI;IAC1B,4DAAM;IACV,4DAAM;IAEN,4DAAM;;;IA3BkC,0DAAiB;IAAjB,8IAAiB;IAChB,0DAA0B;IAA1B,6IAA0B;IAG1D,0DAAyC;IAAzC,6IAAyC;IACzC,0DAAqC;IAArC,8IAAqC;IACrC,0DAA6C;IAA7C,+IAA6C;IAC7C,0DAAuC;IAAvC,+IAAuC;IACvC,0DAAkD;IAAlD,+IAAkD;IAClD,0DAA8C;IAA9C,+IAA8C;;;;;;ADhHhE,MAAM,0BAA0B;IAErC,YACU,OAAe,EAAS,UAAsC,EACnC,QAAkB,EAC7C,cAA8B,EAC9B,MAAqB;QAHrB,YAAO,GAAP,OAAO,CAAQ;QAAS,eAAU,GAAV,UAAU,CAA4B;QACnC,aAAQ,GAAR,QAAQ,CAAU;QAC7C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,WAAM,GAAN,MAAM,CAAe;QAEvB,mBAAc,GAAY,KAAK,CAAC;QAChC,wBAAmB,GAAG,IAAI,iDAAY,EAAE,CAAC;QAC1C,kBAAa,GAAY,KAAK,CAAC;QAC/B,cAAS,GAAY,KAAK,CAAC;QAC3B,uBAAkB,GAAY,KAAK,CAAC;QACpC,eAAU,GAAY,KAAK,CAAC;QAC5B,cAAS,GAAY,KAAK,CAAC;QAE3B,yBAAoB,GAAY,KAAK,CAAC;QACtC,eAAU,GAAQ,EAAE,CAAC;QACrB,kBAAa,GAAU,gBAAgB,CAAC;QACxC,eAAU,GAAQ;YACvB,MAAM,EAAE,IAAI,oFAAW,CAAC,IAAI,IAAI,oFAAW,CAAC,MAAM,EAAE;YACpD,KAAK,EAAE,IAAI,oFAAW,CAAC,IAAI,IAAI,oFAAW,CAAC,KAAK,EAAE;SACnD,CAAC;QACK,iBAAY,GAAY,KAAK,CAAC;QAyD9B,mBAAc,GAAG;YACtB,CAAC,6DAAU,CAAC,UAAU,CAAC,EAAE,KAAK;YAC9B,CAAC,6DAAU,CAAC,SAAS,CAAC,EAAE,KAAK;YAC7B,CAAC,6DAAU,CAAC,cAAc,CAAC,EAAE,KAAK;SACnC;IA7EG,CAAC;IAkBL,QAAQ;;QACN,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,aAAsB,EAAE,EAAE;YACrE,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,aAAa,EAAE;gBAClD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;gBACrD,IAAI,CAAC,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;aACpC;QACH,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,YAAY,SAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,0CAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;;YACnE,IAAI,CAAC,YAAY,SAAG,KAAK,CAAC,KAAK,CAAC,0CAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,IAAW,QAAQ;;QACjB,OAAO,WAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,0CAAE,MAAM,KAAI,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,6FAAoB,CAAC;IAC9B,CAAC;IAGD,eAAe,CAAC,KAAiB;QAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE;YAC9E,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACrE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC5E,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,KAAI,IAAI,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAC;gBACtC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;aACvC;SACF;IACH,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,gGAAS,CAAC;IACnB,CAAC;IAED,qBAAqB,CAAC,QAAgB;QACpC,IAAI,CAAC,WAAW,CAAC,6DAAU,CAAC,cAAc,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,gCAAgC,QAAQ,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,yBAAyB;QACvB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,UAAU;QACR,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC9C,CAAC;IAMD,WAAW,CAAC,GAAG;QACb,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACjE,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC/D,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;QAC5E,KAAI,IAAI,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAC;YACtC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC;SACpD;QACD,QAAO,GAAG,EAAC;YACT,KAAK,6DAAU,CAAC,UAAU;gBACxB,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC1C,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzC,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC9C,MAAM;YACR,KAAK,6DAAU,CAAC,SAAS;gBACvB,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC1C,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC9C,MAAM;YACR,KAAK,6DAAU,CAAC,cAAc;gBAC5B,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC9C,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC1C,MAAM;YACR;gBACE,OAAO;SACV;IACH,CAAC;IAED,gBAAgB,CAAC,GAAG;QAClB,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;QACxE,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;QAC1E,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;QAC1E,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;QAC1E,MAAM,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;QAElF,QAAO,GAAG,EAAC;YACT,KAAK,6DAAU,CAAC,MAAM;gBACpB,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC3C,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC5C,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC5C,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC5C,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAClD,MAAM;YACN,KAAK,6DAAU,CAAC,OAAO;gBACrB,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC5C,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC3C,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC5C,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC5C,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAClD,MAAM;YACN,KAAK,6DAAU,CAAC,OAAO;gBACrB,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC5C,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC3C,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC5C,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC5C,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAClD,MAAM;YACN,KAAK,6DAAU,CAAC,OAAO;gBACrB,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC5C,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC3C,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC5C,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC5C,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAClD,MAAM;YACN,KAAK,6DAAU,CAAC,YAAY;gBAC1B,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAChD,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC3C,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC5C,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC5C,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC9C,MAAM;YACN;gBACE,OAAO;SACV;IACH,CAAC;IACD,gBAAgB,CAAC,GAAG;QAClB,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAC7D,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;QACxF,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;QAC9E,oCAAoC;QACpC,uFAAuF;QACvF,6EAA6E;QAC7E,QAAO,GAAG,EAAE;YACV,KAAK,6DAAU,CAAC,KAAK;gBACnB,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC1C,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACrC,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAClD,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC7C,oCAAoC;gBACpC,mDAAmD;gBACnD,8CAA8C;gBAChD,MAAM;YACN,KAAK,6DAAU,CAAC,cAAc;gBAC5B,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAClD,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC7C,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC1C,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACrC,oCAAoC;gBACpC,mDAAmD;gBACnD,8CAA8C;gBAChD,MAAM;YACN,KAAK,6DAAU,CAAC,YAAY;gBAC1B,oCAAoC;gBACpC,mDAAmD;gBACnD,8CAA8C;gBAC9C,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC1C,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACrC,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAClD,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/C,MAAM;YACN,KAAK,6DAAU,CAAC,IAAI;gBAClB,oCAAoC;gBACpC,mDAAmD;gBACnD,8CAA8C;gBAC9C,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC1C,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACrC,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAClD,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC7C,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,MAAM;YACN,KAAK,6DAAU,CAAC,MAAM;gBACpB,oCAAoC;gBACpC,mDAAmD;gBACnD,8CAA8C;gBAC9C,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC1C,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACrC,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAClD,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/C,MAAM;YACN;gBACE,OAAO;SACV;IACH,CAAC;IACD,iBAAiB,CAAC,GAAG;QACnB,MAAM,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAC/E,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QACxE,MAAM,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;QACjF,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QACrE,MAAM,4BAA4B,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;QAC3F,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;QAC/E,MAAM,6BAA6B,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;QAC5F,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;QAC9E,QAAO,GAAG,EAAC;YACT,KAAK,6DAAU,CAAC,UAAU;gBACxB,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAChD,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACjD,MAAM;YACN,KAAK,6DAAU,CAAC,SAAS;gBACvB,uBAAuB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACnD,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/C,MAAM;YACN,KAAK,6DAAU,CAAC,cAAc;gBAC5B,4BAA4B,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACxD,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACpD,MAAM;YACN,KAAK,6DAAU,CAAC,SAAS;gBACvB,6BAA6B,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzD,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpD;gBACE,OAAO;SACV;IACH,CAAC;IACD,kBAAkB,CAAC,GAAG;QACpB,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAC/D,MAAM,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QAC1E,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QACjE,MAAM,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QAC1E,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QACjE,MAAM,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QAC1E,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QACjE,MAAM,wBAAwB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;QAClF,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;QACzE,QAAO,GAAG,EAAC;YACT,KAAK,6DAAU,CAAC,MAAM;gBACpB,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/C,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACxC,MAAM;YACN,KAAK,6DAAU,CAAC,OAAO;gBACrB,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAChD,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzC,MAAM;YACN,KAAK,6DAAU,CAAC,OAAO;gBACrB,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAChD,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzC,MAAM;YACN,KAAK,6DAAU,CAAC,OAAO;gBACrB,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAChD,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzC,MAAM;YACN,KAAK,6DAAU,CAAC,YAAY;gBAC1B,wBAAwB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACpD,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC7C,MAAM;YACN;gBACE,OAAO;SACV;IACH,CAAC;IACD,sBAAsB,CAAC,GAAG;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAC5D,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;QAC7E,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;QAC7E,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;QACzE,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;QACzE,QAAO,GAAG,EAAC;YACT,KAAK,6DAAU,CAAC,KAAK;gBACnB,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACrC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACvC,MAAM;YACN,KAAK,6DAAU,CAAC,cAAc;gBAC5B,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC7C,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/C,MAAM;YACN,KAAK,6DAAU,CAAC,YAAY;gBAC1B,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC3C,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC7C;gBACE,OAAO;SACV;IACH,CAAC;IACD,qBAAqB;QACnB,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QACzE,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,eAAe;QACb,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,IAAW,eAAe;QACxB,OAAO,6DAAU,CAAC;IACpB,CAAC;IAED,cAAc,CAAC,MAAM;QACnB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IACD,IAAW,QAAQ;QACjB,OAAO,qEAAW,CAAC,IAAI,CAAC;IAC1B,CAAC;;oGAzUU,0BAA0B,sTAI3B,wDAAQ;0GAJP,0BAA0B;;;;;;wJAA1B,2BAAuB;;QChBpC,kFAAkB;QAChB,yEAAuB;QACrB,yEAAqC;QACnC,4EAAsM;QACpM,qEAAyC;QAC3C,4DAAS;QACT,uEAAyE;QAAhC,6IAAS,yBAAqB,IAAC;QAAC,oEAAsE;QAAA,4DAAI;QACnJ,yEAAmC;QACjC,uEAA2C;QACzC,wEAAM;QACJ,qEAAwF;QACxF,uHAA6C;QAC/C,4DAAO;QACP,uEAA4B;QAAA,qEAAG;QAAA,gEAAI;QAAA,4DAAI;QACzC,4DAAI;QACJ,yEAAyD;QAAA,iEAAK;QAAA,4DAAI;QAClE,yEAA2D;QAAA,kEAAM;QAAA,4DAAI;QACvE,4DAAM;QACN,2EAA4C;QAC1C,0EAA+B;QAC7B,0EAAoC;QAClC,yEAAgF;QAAlD,8IAAS,+CAAuC,IAAC;QAAC,oEAAQ;QAAA,4EAAsC;QAAA,sEAAiE;QAAA,4DAAO;QAAA,4DAAI;QAE1M,2EAA+B;QAC7B,2HAqCM;QACN,2EAA8B;QAC5B,yEAAiE;QAAhC,8IAAS,yBAAqB,IAAC;QAAC,6EAAiB;QAAA,8DAA+F;QAA/F,2EAA+F;QACjL,yEAAiD;QACjD,uEAA+b;QACjc,4DAAM;QACR,4DAAI;QACJ,4DAAM;QACN,4DAAM;QACR,4DAAK;QACL,+DAAmC;QAAnC,0EAAmC;QACjC,yEAA+E;QAAjD,8IAAS,8CAAsC,IAAC;QAAC,kEAAM;QAAA,4EAAsC;QAAA,sEAAiE;QAAA,4DAAO;QAAA,4DAAI;QAErM,2EAAgC;QAC9B,2EAAoC;QAClC,2EAA0B;QACxB,sEAAI;QAAA,4EAAgB;QAAA,4DAAK;QACzB,qEAAG;QAAA,oEAAQ;QAAA,4DAAI;QACnB,4DAAM;QACJ,0HAiBM;QACR,4DAAM;QACN,2EAA8B;QAC5B,yEAAwE;QAAhC,8IAAS,yBAAqB,IAAC;QAAC,2EAAe;QAAA,8DAA+F;QAA/F,2EAA+F;QACtL,yEAAiD;QACjD,uEAA+b;QACjc,4DAAM;QACR,4DAAI;QACJ,4DAAM;QACN,4DAAM;QACV,4DAAK;QACL,+DAA2C;QAA3C,0EAA2C;QACzC,yEAAoF;QAAtD,8IAAS,mDAA2C,IAAC;QAAC,sEAAU;QAAA,4EAAsC;QAAA,sEAAiE;QAAA,4DAAO;QAAA,4DAAI;QAEhN,2EAAgC;QAC9B,2EAA0B;QACxB,2EAA0B;QACxB,sEAAI;QAAA,qEAAS;QAAA,4DAAK;QAClB,qEAAG;QAAA,uEAAW;QAAA,4DAAI;QACpB,4DAAM;QACN,2HA6BM;QACR,4DAAM;QAER,4DAAM;QACR,4DAAK;QACL,sEAAI;QAAA,yEAA4J;QAAhC,8IAAS,yBAAqB,IAAC;QAAC,qEAAS;QAAA,4DAAI;QAAA,4DAAK;QACpL,4DAAK;QACP,4DAAM;QACN,2EAAoF;QAClF,2EAAkC;QAClC,2EAAuB;QACrB,yEAAwB;QAAA,qEAAsE;QAAA,4DAAI;QAClG,2EAA2B;QACzB,yEAAyD;QAAA,iEAAK;QAAA,4DAAI;QAClE,8EAA4D;QAA7B,mJAAS,sBAAkB,IAAC;QAAC,kEAAM;QAAA,4DAAS;QAAA,4DAAM;QACrF,4DAAM;QACN,2EAAoC;QAClC,0EAAqB;QACnB,0EAA6B;QAC3B,yEAAgG;QAAxD,8IAAS,qDAA6C,IAAC;QAAC,sEAA4E;QAAA,mEAAO;QAAA,4DAAI;QACvL,0EAA8C;QAC5C,sEAAI;QACF,yEAAiG;QAArD,8IAAS,kDAA0C,IAAC;QAAC,mEAAO;QAAA,4DAAI;QAC1G,0EAA8C;QAC5C,sEAAI;QAAA,yEAAyJ;QAAhC,8IAAS,yBAAqB,IAAC;QAAC,0GAA8C;QAAA,4DAAI;QAAA,4DAAK;QACtN,4DAAK;QACT,4DAAK;QACL,sEAAI;QACF,yEAAmG;QAAtD,8IAAS,mDAA2C,IAAC;QAAC,oEAAQ;QAAA,4DAAI;QAC7G,0EAA+C;QAC7C,sEAAI;QAAA,yEAA0J;QAAhC,8IAAS,yBAAqB,IAAC;QAAC,2GAA8C;QAAA,4DAAI;QAAA,4DAAK;QAGvN,4DAAK;QACT,4DAAK;QACL,uEAAI;QACF,0EAAmG;QAAtD,+IAAS,mDAA2C,IAAC;QAAC,qEAAQ;QAAA,4DAAI;QAC7G,2EAA+C;QAC7C,uEAAI;QAAA,0EAA2J;QAAhC,+IAAS,yBAAqB,IAAC;QAAC,qEAAQ;QAAA,4DAAI;QAAA,4DAAK;QAChL,uEAAI;QAAA,0EAA2J;QAAhC,+IAAS,yBAAqB,IAAC;QAAC,yEAAY;QAAA,4DAAI;QAAA,4DAAK;QACpL,uEAAI;QAAA,0EAA4J;QAAhC,+IAAS,yBAAqB,IAAC;QAAC,mEAAM;QAAA,4DAAI;QAAA,4DAAK;QACjL,4DAAK;QACT,4DAAK;QACL,uEAAI;QACF,0EAAmG;QAAtD,+IAAS,mDAA2C,IAAC;QAAC,qEAAQ;QAAA,4DAAI;QAC7G,2EAA+C;QAC7C,uEAAI;QAAA,0EAA2J;QAAhC,+IAAS,yBAAqB,IAAC;QAAC,qEAAQ;QAAA,4DAAI;QAAA,4DAAK;QAChL,uEAAI;QAAA,0EAA2J;QAAhC,+IAAS,yBAAqB,IAAC;QAAC,yEAAY;QAAA,4DAAI;QAAA,4DAAK;QACpL,uEAAI;QAAA,0EAA4J;QAAhC,+IAAS,yBAAqB,IAAC;QAAC,mEAAM;QAAA,4DAAI;QAAA,4DAAK;QACjL,4DAAK;QACT,4DAAK;QACL,uEAAI;QACF,0EAA4G;QAA3D,+IAAS,wDAAgD,IAAC;QAAC,0EAAa;QAAA,4DAAI;QAC3H,2EAAmD;QACjD,uEAAI;QAAA,0EAAgK;QAAhC,+IAAS,yBAAqB,IAAC;QAAC,qEAAQ;QAAA,4DAAI;QAAA,4DAAK;QACrL,uEAAI;QAAA,0EAAgK;QAAhC,+IAAS,yBAAqB,IAAC;QAAC,yEAAY;QAAA,4DAAI;QAAA,4DAAK;QACzL,uEAAI;QAAA,0EAAiK;QAAhC,+IAAS,yBAAqB,IAAC;QAAC,mEAAM;QAAA,4DAAI;QAAA,4DAAK;QACtL,4DAAK;QACT,4DAAK;QACP,4DAAK;QACP,4DAAK;QACL,2EAA6B;QAC3B,0EAA8F;QAAvD,+IAAS,oDAA4C,IAAC;QAAC,uEAA6E;QAAA,qEAAQ;QAAA,4DAAI;QACvL,2EAA6C;QAC3C,uEAAI;QACF,0EAAkF;QAAA,qEAAQ;QAAA,4DAAI;QAC9F,4DAAK;QACP,uEAAI;QACF,0EAAsF;QAAA,yEAAY;QAAA,4DAAI;QACxG,4DAAK;QACL,uEAAI;QACF,0EAA8E;QAAA,iEAAI;QAAA,4DAAI;QACxF,4DAAK;QACL,uEAAI;QACF,0EAAgF;QAAA,mEAAM;QAAA,4DAAI;QAC5F,4DAAK;QACP,4DAAK;QACP,4DAAK;QACL,2EAA6B;QAC3B,0EAAwG;QAA5D,+IAAS,yDAAiD,IAAC;QAAC,uEAA+E;QAAA,sEAAS;QAAA,4DAAI;QACpM,2EAAkD;QAChD,uEAAI;QACF,0EAA4E;QAAA,iEAAI;QAAA,4DAAI;QACtF,4DAAK;QACL,uEAAI;QACF,0EAAsE;QAAA,oEAAO;QAAA,4DAAI;QACnF,4DAAK;QACL,uEAAI;QACF,0EAAkG;QAAxD,+IAAS,qDAA6C,IAAC;QAAC,kEAAK;QAAA,4DAAI;QACzG,2EAA6C;QAC3C,uEAAI;QAAA,0EAA6C;QAAA,iFAAoB;QAAA,4DAAI;QAAA,4DAAK;QAC9E,uEAAI;QAAA,0EAAyC;QAAA,8EAAiB;QAAA,4DAAI;QAAA,4DAAK;QACvE,uEAAI;QAAA,0EAAiD;QAAA,iFAAoB;QAAA,4DAAI;QAAA,4DAAK;QAClF,uEAAI;QAAA,0EAA2C;QAAA,gFAAmB;QAAA,4DAAI;QAAA,4DAAK;QAC3E,uEAAI;QAAA,0EAAsD;QAAA,sFAAyB;QAAA,4DAAI;QAAA,4DAAK;QAC5F,uEAAI;QAAA,0EAAkD;QAAA,sFAAyB;QAAA,4DAAI;QAAA,4DAAK;QAC1F,4DAAK;QACT,4DAAK;QACL,uEAAI;QACF,0EAAoH;QAAjE,+IAAS,8DAAsD,IAAC;QAAC,iFAAoB;QAAA,4DAAI;QAC1I,2EAAqD;QACnD,uEAAI;QAAA,0EAAwD;QAArD,+IAAS,iFAA0C,IAAC;QAAC,gFAAmB;QAAA,4DAAI;QAAA,4DAAK;QACxF,uEAAI;QAAA,0EAAqD;QAAlD,+IAAS,8EAAuC,IAAC;QAAC,iEAAI;QAAA,4DAAI;QAAA,4DAAK;QACxE,4DAAK;QACT,4DAAK;QAYP,4DAAK;QACP,4DAAK;QACL,2EAA6B;QAC3B,0EAAkG;QAAvD,+IAAS,oDAA4C,IAAC;QAAC,uEAAkF;QAAA,sEAAS;QAAA,4DAAI;QACjM,2EAAkD;QAChD,uEAAI;QACF,0EAAyF;QAAA,oEAAO;QAAA,4DAAI;QACpG,4DAAK;QACP,uEAAI;QACF,0EAA6E;QAAA,wEAAW;QAAA,4DAAI;QAC9F,4DAAK;QACL,uEAAI;QACF,0EAA6E;QAAA,sEAAS;QAAA,4DAAI;QAC5F,4DAAK;QACP,4DAAK;QACP,4DAAK;QACP,4DAAK;QACP,4DAAM;QACN,4EAA0B;QACxB,+EAAgC;QAAA,8DAA+F;QAA/F,4EAA+F;QAC7H,wEAAi1C;QACn1C,4DAAM;QAAA,yEAAY;QAAA,4DAAS;QAC7B,4DAAM;QACN,4DAAM;QACN,+DAA8D;QAA9D,4EAA8D;QAAlC,iJAAS,2BAAuB,IAAC;QAAC,4DAAM;QACtE,4DAAM;QAER,4DAAM;QACR,4DAAM;QACR,4DAAS;;QA7RiB,0DAAoB;QAApB,+IAAoB;QAEpB,0DAAwB;QAAxB,+IAAwB;QAEjC,0DAAsE;QAAtE,sNAAsE;QACtE,0DAAc;QAAd,8EAAc;QAIE,0DAA+B;QAA/B,4FAA+B;QAC9B,0DAAgC;QAAhC,6FAAgC;QAQzB,2DAAiD;QAAjD,yJAAiD;QAuCvE,0DAA6B;QAA7B,sFAA6B;QAiBO,2DAAgD;QAAhD,wJAAgD;QAoBlF,0DAAoC;QAApC,+IAAoC;QAiBP,2DAAqD;QAArD,6JAAqD;QAkCT,0DAA2C;QAA3C,4JAA2C;QAM5H,0DAAoB;QAApB,+IAAoB;QAEI,0DAA+B;QAA/B,4FAA+B;QAWvC,2DAA+B;QAA/B,8IAA+B;QAM/B,0DAA+B;QAA/B,8IAA+B;QAQ/B,0DAA+B;QAA/B,8IAA+B;QAC/B,0DAA+B;QAA/B,8IAA+B;QAC/B,0DAA+B;QAA/B,8IAA+B;QAM/B,0DAA+B;QAA/B,8IAA+B;QAC/B,0DAA+B;QAA/B,8IAA+B;QAC/B,0DAA+B;QAA/B,8IAA+B;QAM/B,0DAA+B;QAA/B,8IAA+B;QAC/B,0DAA+B;QAA/B,8IAA+B;QAC/B,0DAA+B;QAA/B,8IAA+B;QASvC,0DAAiC;QAAjC,8IAAiC;QAGjC,0DAAqC;QAArC,8IAAqC;QAGrC,0DAA6B;QAA7B,8IAA6B;QAG7B,0DAA+B;QAA/B,+IAA+B;QAQQ,0DAAiB;QAAjB,2IAAiB;QAGxD,0DAA0B;QAA1B,+IAA0B;QAKlB,0DAAyC;QAAzC,+IAAyC;QACzC,0DAAqC;QAArC,+IAAqC;QACrC,0DAA6C;QAA7C,gJAA6C;QAC7C,0DAAuC;QAAvC,gJAAuC;QACvC,0DAAkD;QAAlD,gJAAkD;QAClD,0DAA8C;QAA9C,gJAA8C;;;;;;;;;;;;;;AClP3E;AAAA;AAAO,MAAM,8BAA8B,GAAG,CAAC,mBAAwB,EAAE,EAAE;;IACzE,MAAM,QAAQ,GAAG,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACpE,IAAI,cAAc,GAAG,6BAA6B,QAAQ,IAAI,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,MAAM,IAAI,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,QAAQ,EAAE,CAAC;IAC7H,UAAI,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,QAAQ,0CAAE,MAAM,EAAE;QACzC,MAAM,aAAa,GAAG,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvD,cAAc,IAAI,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,EAAE,CAAC;QACjD,IAAI,cAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,MAAK,UAAU,EAAE;YACxC,cAAc,GAAG,iBAAiB,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,MAAM,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,EAAE,CAAC;SACxH;KACF;IACD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;;;;;;;;;;;;;ACXF;AAAA;AAAA;AAAgE;AAgDhE,MAAM,WAAW,GAAU;IACvB,UAAU,EAAE,EAAE;IACd,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,EAAE;IACb,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,SAAS,EAAE,GAAG;IACd,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,EAAE;IACZ,gBAAgB,EAAE,EAAE;IACpB,aAAa,EAAE,EAAE;IACjB,iBAAiB,EAAE,EAAE;IACrB,WAAW,EAAE,EAAE;IACf,YAAY,EAAE,CAAC;IACf,kBAAkB,EAAE,CAAC;IACrB,qBAAqB,EAAE,CAAC;IACxB,gBAAgB,EAAE,CAAC;IACnB,mBAAmB,EAAE,CAAC;IACtB,iBAAiB,EAAE,CAAC;IACpB,yBAAyB,EAAE,CAAC;IAC5B,YAAY,EAAE,CAAC;IACf,YAAY,EAAE,EAAE;IAChB,aAAa,EAAE,KAAK;IACpB,aAAa,EAAE,KAAK;IACpB,aAAa,EAAE,KAAK;IACpB,cAAc,EAAE,EAAE;IAClB,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;IACV,aAAa,EAAC,IAAI,IAAI,EAAE;IACxB,WAAW,EAAC,IAAI,IAAI,EAAE;IACtB,mBAAmB,EAAC,CAAC;IACrB,cAAc,EAAC,EAAE;IACjB,oBAAoB,EAAG,KAAK;IAC5B,gBAAgB,EAAE,GAAG;IACrB,kBAAkB,EAAE,KAAK;IACzB,gBAAgB,EAAE,KAAK;CAC1B,CAAC;AAEF,4BAA4B;AAC5B,SAAS,eAAe,CAAC,SAAS,EAAE,UAAU;IAC1C,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;IAEd,KAAI,IAAI,IAAI,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE;QACnC,KAAK,GAAG,IAAI,CAAC;QACb,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;QAEhB,IAAG,IAAI,IAAI,CAAC,EAAE;YACV,MAAM;SACT;KACJ;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,oEAAoE;AACpE,SAAS,aAAa,CAAC,eAAe,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,YAAY;IACvF,IAAI,kBAAkB,GAAG,gBAAgB,CAAC;IAC1C,IAAI,qBAAqB,GAAG,mBAAmB,CAAC;IAChD,IAAI,aAAa,GAAG,eAAe,CAAC;IAEpC,aAAa,GAAG,aAAa,GAAG,CAAC,CAAC;IAClC,IAAG,aAAa,IAAI,CAAC,EAAE;QACnB,kBAAkB,GAAG,kBAAkB,GAAG,CAAC,CAAC;QAC5C,qBAAqB,GAAG,qBAAqB,GAAG,CAAC,CAAC;QAClD,YAAY,GAAG,YAAY,GAAG,CAAC,CAAC;KACnC;IACD,OAAO,CAAC,aAAa,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,YAAY,CAAC,CAAC;AACpF,CAAC;AAED,aAAa;AACb,SAAS,UAAU,CAAC,aAAa,EAAE,QAAQ,EAAG,sBAAsB;IAChE,aAAa,GAAG,QAAQ,CAAC;IACzB,sBAAsB,GAAG,sBAAsB,GAAG,aAAa,GAAG,QAAQ,CAAC;IAC3E,OAAO,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC;AACnD,CAAC;AAED,iCAAiC;AACjC,SAAS,0BAA0B,CAAC,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,iBAAiB,EAC3F,yBAAyB,EAAE,qBAAqB,EAAE,kBAAkB;IACrE,IAAI,WAAW,EAAE;QACb,WAAW,GAAG,KAAK,CAAC;QACpB,kBAAkB,GAAG,kBAAkB,GAAG,CAAC,CAAC;QAC5C,qBAAqB,GAAG,qBAAqB,GAAG,CAAC,CAAC;KACrD;IAED,IAAI,kBAAkB,EAAE;QACpB,kBAAkB,GAAG,KAAK,CAAC;QAC3B,yBAAyB,GAAG,yBAAyB,GAAG,CAAC,CAAC;QAC1D,qBAAqB,GAAG,qBAAqB,GAAG,CAAC,CAAC;KACrD;IAED,IAAI,CAAC,QAAQ,EAAE;QACX,QAAQ,GAAG,IAAI,CAAC;QAChB,iBAAiB,GAAG,iBAAiB,GAAG,CAAC,CAAC;QAC1C,qBAAqB,GAAG,qBAAqB,GAAG,CAAC,CAAC;KACrD;SAAM,IAAI,QAAQ,EAAE;QACjB,QAAQ,GAAG,KAAK,CAAC;QACjB,iBAAiB,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,kBAAkB,IAAI,CAAC,WAAW,EAAE;YACrC,qBAAqB,IAAI,CAAC,CAAC;SAC9B;KACJ;IACD,OAAO,CAAC,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,iBAAiB;QAChE,yBAAyB,EAAE,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;AAC9E,CAAC;AAED,8BAA8B;AAC9B,SAAS,uBAAuB,CAAC,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,iBAAiB,EACzF,yBAAyB,EAAE,qBAAqB,EAAE,kBAAkB;IAEpE,IAAI,WAAW,IAAI,CAAC,kBAAkB,EAAE;QACpC,WAAW,GAAG,KAAK,CAAC;QACpB,kBAAkB,GAAG,kBAAkB,GAAG,CAAC,CAAC;QAC5C,qBAAqB,GAAG,qBAAqB,GAAG,CAAC,CAAC;KACrD;IAED,IAAI,QAAQ,EAAE;QACV,QAAQ,GAAG,KAAK,CAAC;QACjB,iBAAiB,GAAG,iBAAiB,GAAG,CAAC,CAAC;QAC1C,qBAAqB,GAAG,qBAAqB,GAAG,CAAC,CAAC;KACrD;IAED,IAAI,CAAC,kBAAkB,EAAE;QACrB,kBAAkB,GAAG,IAAI,CAAC;QAC1B,yBAAyB,GAAG,yBAAyB,GAAG,CAAC,CAAC;QAC1D,qBAAqB,GAAG,qBAAqB,GAAG,CAAC,CAAC;KACrD;IACD,OAAO,CAAC,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,yBAAyB;QAC1F,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,iBAAiB,CAAC,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,iBAAiB,EACnF,yBAAyB,EAAE,qBAAqB,EAAE,kBAAkB;IACpE,IAAI,kBAAkB,EAAE;QACpB,WAAW,GAAG,IAAI,CAAC;QACnB,kBAAkB,GAAG,KAAK,CAAC;QAC3B,yBAAyB,IAAI,CAAC,CAAC;QAC/B,kBAAkB,IAAI,CAAC,CAAC;KAC3B;SAAM,IAAI,WAAW,EAAE;QACpB,WAAW,GAAG,KAAK,CAAC;QACpB,kBAAkB,GAAG,IAAI,CAAC;QAC1B,kBAAkB,GAAG,kBAAkB,GAAG,CAAC,CAAC;QAC5C,yBAAyB,GAAG,yBAAyB,GAAG,CAAC,CAAC;KAC7D;SAAM,IAAI,QAAQ,EAAE;QACjB,QAAQ,GAAG,KAAK,CAAC;QACjB,iBAAiB,IAAI,CAAC,CAAC;QACvB,qBAAqB,IAAI,CAAC,CAAC;KAC9B;IACD,OAAO,CAAC,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,yBAAyB;QAC1F,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;AACpD,CAAC;AAED,8BAA8B;AAC9B,SAAS,gBAAgB,CAAC,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,iBAAiB,EAClF,yBAAyB,EAAE,qBAAqB,EAAE,kBAAkB;IACpE,IAAI,WAAW,EAAE;QACb,WAAW,GAAG,KAAK,CAAC;QACpB,kBAAkB,GAAG,kBAAkB,GAAG,CAAC,CAAC;QAC5C,qBAAqB,GAAG,qBAAqB,GAAG,CAAC,CAAC;KACrD;SAAM,IAAI,QAAQ,EAAE;QACjB,QAAQ,GAAG,KAAK,CAAC;QACjB,kBAAkB,GAAG,IAAI,CAAC;QAC1B,yBAAyB,IAAI,CAAC,CAAC;QAC/B,iBAAiB,IAAI,CAAC,CAAC;KAC1B;SAAM,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,EAAE;QAClC,WAAW,GAAG,IAAI,CAAC;QACnB,QAAQ,GAAG,KAAK,CAAC;QACjB,kBAAkB,GAAG,KAAK,CAAC;QAC3B,kBAAkB,IAAI,CAAC,CAAC;KAC3B;IAED,OAAO,CAAC,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,yBAAyB;QAC1F,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;AACpD,CAAC;AAGD,eAAe;AACf,SAAS,YAAY,CAAC,WAAW,EAAE,qBAAqB,EAAE,kBAAkB;IACxE,IAAI,CAAC,WAAW,EAAE;QACd,WAAW,GAAG,IAAI,CAAC;QACnB,kBAAkB,GAAG,kBAAkB,GAAG,CAAC,CAAC;QAC5C,qBAAqB,GAAG,qBAAqB,GAAG,CAAC,CAAC;KACrD;IACD,OAAO,CAAC,WAAW,EAAE,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;AACpE,CAAC;AAED,mBAAmB;AACnB,SAAS,eAAe,CAAC,WAAW,EAAE,qBAAqB,EAAE,kBAAkB;IAC3E,IAAG,WAAW,EAAG;QACb,WAAW,GAAG,KAAK,CAAC;QACpB,kBAAkB,GAAG,kBAAkB,GAAG,CAAC,CAAC;QAC5C,qBAAqB,GAAG,qBAAqB,GAAG,CAAC,CAAC;KAErD;IACD,OAAO,CAAC,WAAW,EAAE,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;AACpE,CAAC;AAED,mBAAmB;AACnB,SAAS,eAAe,CAAC,kBAAkB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,qBAAqB;IACtH,IAAG,kBAAkB,EAAG;QACpB,kBAAkB,GAAG,KAAK,CAAC;QAC3B,yBAAyB,GAAG,yBAAyB,GAAG,CAAC,CAAC;QAC1D,qBAAqB,GAAG,qBAAqB,GAAG,CAAC,CAAC;KACrD;SAAM,IAAG,QAAQ,EAAG;QACjB,QAAQ,GAAG,KAAK,CAAC;QACjB,iBAAiB,GAAG,iBAAiB,GAAG,CAAC,CAAC;QAC1C,qBAAqB,GAAG,qBAAqB,GAAG,CAAC,CAAC;KACrD;IACD,OAAO,CAAC,kBAAkB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,qBAAqB,CAAC,CAAC;AAC/G,CAAC;AAEM,SAAS,kBAAkB,CAAC,KAAK,GAAG,WAAW,EAAE,MAAmD;;IACvG,QAAQ,MAAM,CAAC,IAAI,EAAE;QACjB,KAAK,wEAAwC;YACzC,kCAAkC;YAClC,UAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,0CAAE,SAAS,EAAC;gBAChJ,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;aACvJ;YACD,uCACO,KAAK,KACR,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EACtC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EACzC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EACtC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EACtC,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAChD,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EACzC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAC5C,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EACvC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EACxC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EACtC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EACpC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAC1C,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EACpC,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,EACpD,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAC9C,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EACtD,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,EACrD,kBAAkB,EAAE,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,EACxD,qBAAqB,EAAE,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAC9D,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,EACpD,mBAAmB,EAAE,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAC1D,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EACtD,yBAAyB,EAAE,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,EACtE,aAAa,EAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAC7C,WAAW,EAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EACzC,aAAa,EAAE,IAAI,EACnB,aAAa,EAAE,KAAK,EACpB,aAAa,EAAE,IAAI,EACnB,mBAAmB,EAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,EACzD,cAAc,EAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EACjD,oBAAoB,EAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAC7D,gBAAgB,EAAE,CAAC,EACnB,kBAAkB,EAAE,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,EACxD,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,IACvD;QACL,KAAK,mEAAmC;YACpC,uCACO,KAAK,KACR,aAAa,EAAE,IAAI,EACnB,aAAa,EAAE,KAAK,EACpB,aAAa,EAAE,IAAI,IACtB;QACL,KAAK,yEAAyC;YAC1C,aAAa;YACb,0FAA0F;YAC1F,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YACzD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEhD,iBAAiB;YACjB,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACtD,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;YAEzH,2CAA2C;YAC3C,IAAI,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACtG,IAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;gBACxG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;aAC/J;YAED,IAAG,SAAS,CAAC,SAAS,KAAG,CAAC,IAAI,SAAS,CAAC,WAAW,IAAI,KAAK,EAAE;gBAC1D,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aACjK;YACD,2CAA2C;YAC3C,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,mBAAmB,EAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAClX,uCACO,KAAK,KACR,aAAa,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,KAAI,EAAC,CAAC,KAAK,EACpJ,aAAa,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,KAAI,EAAC,CAAC,KAAK,EAC/K,aAAa,EAAE,IAAI,IACtB;QACL,KAAK,oEAAoC;YACrC,aAAa;YACb,sFAAsF;YACtF,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YACzD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEhD,iBAAiB;YACjB,IAAI,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACjF,KAAK,CAAC,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAE5D,wCAAwC;YACxC,IAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBAC5B,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;aACzD;iBAAM;gBACH,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;aAC/B;YAED,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;YACzH,IAAI,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACtG,IAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;gBACxG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;aAC/J;YAED,IAAG,SAAS,CAAC,SAAS,KAAG,CAAC,IAAK,SAAS,CAAC,WAAW,IAAI,KAAK,EAAE;gBAC3D,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aACjK;YACD,2CAA2C;YAC3C,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,mBAAmB,EAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAClX,uCACO,KAAK,KACR,aAAa,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,KAAI,EAAC,CAAC,KAAK,EACtI,aAAa,EAAE,KAAK,EACpB,aAAa,EAAE,IAAI,IACtB;QACL,KAAK,qEAAqC;YACtC,sFAAsF;YACtF,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YACzD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEhD,iBAAiB;YACjB,KAAK,CAAC,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAC5D,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACtD,KAAK,CAAC,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;YAE9D,IAAI,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACrG,IAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,SAAS,IAAI,CAAC,EAAE;gBACrG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;aAC/J;YAED,IAAG,QAAQ,CAAC,SAAS,KAAG,CAAC,IAAK,QAAQ,CAAC,WAAW,IAAI,KAAK,EAAE;gBACzD,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aACjK;YAED,2CAA2C;YAC3C,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,qBAAqB,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACnX,uCACO,KAAK,KACR,aAAa,EACb,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAC,KAAI,EAAC,CAAC,KAAK,EACxE,aAAa,EACb,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;oBAC5C,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,EAAC,KAAI,EAAC,CAAC,KAAK,EACpD,aAAa,EAAE,IAAI,IACtB;QACL,KAAK,0EAA0C;YAC3C,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YAC1I,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YAEjF,yBACO,KAAK,EACX;QACL,KAAK,iEAAiC;YAClC,aAAa;YACb,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YAEzD,eAAe;YACf,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC/G,yBACO,KAAK,EACX;QACL,KAAK,uEAAuC;YACxC,aAAa;YACb,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YAEzD,iBAAiB;YACjB,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAChH,yBACO,KAAK,EACX;QACL,KAAK,qEAAqC,CAAC,CAAC;YACxC,aAAa;YAEb,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YACzD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEhD,IAAI,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC9B,IAAI,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;YACvC,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAE5G,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,IAAI,CAAC,IAAI,eAAe,CAAC,YAAY,IAAI,CAAC,IAAI,eAAe,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE;gBACrI,eAAe,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACvC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,eAAe,CAAC,WAAW,IAAI,KAAK,IAAI,CAAC,eAAe,CAAC,yBAAyB,EAAE;oBAC/H,iBAAiB;oBACjB,IAAI,eAAe,CAAC,yBAAyB,IAAI,KAAK,EAAE;wBACpD,QAAQ,GAAG,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;qBACvD;oBACD,qCAAqC;oBACrC,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,iBAAiB,IAAI,CAAC,eAAe,CAAC,yBAAyB,EAAE;wBAClH,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBACxJ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBACD,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,eAAe,CAAC,iBAAiB,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;wBACvH,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;wBAC1K,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBAED,IAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,yBAAyB,EAAE;wBAC7F,IAAI,KAAK,GAAG,YAAY,CAAC,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;wBAC9G,eAAe,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBACvC,KAAK,CAAC,qBAAqB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBACvC,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBACpC,6LAA6L;qBAChM;oBAED,8JAA8J;iBACjK;qBAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,EAAG;oBAClI,uCAAuC;oBACvC,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,eAAe,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;oBAE3L,IAAI,eAAe,CAAC,WAAW,IAAI,KAAK,EAAE;wBACtC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;wBAC9J,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;qBAC3J;oBAED,QAAQ,GAAG,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACvD;qBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,EAAG;oBAC7E,wCAAwC;oBACxC,eAAe,CAAC,yBAAyB,GAAG,CAAC,eAAe,CAAC,yBAAyB,CAAC;oBACvF,eAAe,CAAC,WAAW,GAAG,KAAK,CAAC;oBACpC,KAAK,CAAC,qBAAqB,IAAI,CAAC,CAAC;oBACjC,KAAK,CAAC,yBAAyB,IAAI,CAAC,CAAC;oBAErC,IAAI,eAAe,CAAC,yBAAyB,KAAK,KAAK,EAAE;wBACrD,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;wBAC9J,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;qBAC7K;oBAED,QAAQ,GAAG,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACvD;aACJ;iBAAM,IAAI,eAAe,CAAC,YAAY,IAAI,CAAC,IAAI,eAAe,CAAC,YAAY,IAAI,CAAC,IAAI,eAAe,CAAC,YAAY,IAAI,CAAC,IAAI,eAAe,CAAC,YAAY,IAAI,CAAC,IAAI,eAAe,CAAC,YAAY,IAAI,CAAC,EAAE;gBAC9L,2CAA2C;gBAC3C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,WAAW,IAAI,KAAK,IAAI,CAAC,eAAe,CAAC,yBAAyB,EAAE;oBAC1G,iBAAiB;oBACjB,IAAI,eAAe,CAAC,yBAAyB,IAAI,KAAK,EAAE;wBACpD,QAAQ,GAAG,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;qBACvD;oBAED,qCAAqC;oBACrC,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,iBAAiB,IAAI,CAAC,eAAe,CAAC,yBAAyB,EAAE;wBAClH,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBACxJ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBACD,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,eAAe,CAAC,iBAAiB,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;wBACvH,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;wBAC1K,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBAED,IAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,yBAAyB,EAAE;wBAC7F,IAAI,KAAK,GAAG,YAAY,CAAC,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;wBAC9G,eAAe,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBACvC,KAAK,CAAC,qBAAqB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBACvC,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBACpC,6LAA6L;qBAChM;iBACJ;qBAAM,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,EAAG;oBAC5G,uCAAuC;oBACvC,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,eAAe,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;oBAE3L,IAAI,eAAe,CAAC,WAAW,IAAI,KAAK,EAAE;wBACtC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;wBAC9J,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;qBAC3J;oBAED,QAAQ,GAAG,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACvD;qBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,EAAG;oBAC7E,wCAAwC;oBACxC,eAAe,CAAC,yBAAyB,GAAG,CAAC,eAAe,CAAC,yBAAyB,CAAC;oBACvF,eAAe,CAAC,WAAW,GAAG,KAAK,CAAC;oBACpC,KAAK,CAAC,qBAAqB,IAAI,CAAC,CAAC;oBACjC,KAAK,CAAC,yBAAyB,IAAI,CAAC,CAAC;oBAErC,IAAI,eAAe,CAAC,yBAAyB,KAAK,KAAK,EAAE;wBACrD,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;wBAC9J,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;qBAC7K;oBAED,QAAQ,GAAG,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACvD;aACJ;YAED,IAAI,eAAe,CAAC,iBAAiB,EAAG;gBACpC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACpJ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;oBAChD,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;iBACjK;qBAAM;oBACH,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iBAC3J;aACJ;YAED,IAAI,eAAe,CAAC,yBAAyB,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;gBAC/F,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE;oBAC3B,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;oBAC1K,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iBAC3J;aACJ;iBAAM,IAAG,eAAe,CAAC,yBAAyB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;gBACpG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBAC1K,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aAC3J;YAED,IAAI,eAAe,CAAC,yBAAyB,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE;gBACxE,eAAe,CAAC,yBAAyB,GAAG,KAAK,CAAC;gBAClD,eAAe,CAAC,WAAW,GAAG,IAAI,CAAC;gBACnC,KAAK,CAAC,kBAAkB,IAAI,CAAC,CAAC;gBAC9B,KAAK,CAAC,yBAAyB,IAAI,CAAC,CAAC;aACxC;iBAAM;gBACH,sBAAsB;gBACtB,CAAC,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,CAAC,GAAG,eAAe,CAAC,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAC;aAChW;YACD,uCACO,KAAK,KACR,QAAQ,EAAE,QAAQ,IACrB;SACJ;QACD,KAAK,mEAAmC,CAAC,CAAC;YACtC,aAAa;YACb,IAAI,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC;YACjC,IAAI,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;YAC1C,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YACzD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChD,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAE5G,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,IAAI,CAAC,IAAI,eAAe,CAAC,YAAY,IAAI,CAAC,IAAI,eAAe,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE;gBACrI,eAAe,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACvC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;oBACpB,iBAAiB;oBACjB,IAAI,eAAe,CAAC,WAAW,IAAI,KAAK,IAAI,eAAe,CAAC,yBAAyB,IAAI,KAAK,EAAE;wBAC5F,WAAW,GAAG,CAAC,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;qBACnE;oBAED,IAAI,eAAe,CAAC,iBAAiB,EAAG;wBACpC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBACpJ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBAED,IAAI,eAAe,CAAC,WAAW,IAAK,CAAC,eAAe,CAAC,yBAAyB,EAAE;wBAC5E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBACxJ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBAED,IAAI,eAAe,CAAC,yBAAyB,IAAI,KAAK,EAAE;wBACpD,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;wBAC1K,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBAED,2CAA2C;oBAC3C,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,uBAAuB,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;iBACtd;qBAAM;oBACH,mBAAmB;oBACnB,IAAI,eAAe,CAAC,yBAAyB,IAAK,eAAe,CAAC,WAAW,EAAG;wBAC5E,WAAW,GAAG,CAAC,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;qBACnE;oBAED,IAAI,eAAe,CAAC,yBAAyB,EAAG;wBAC5C,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;wBAC1K,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBAED,IAAI,eAAe,CAAC,WAAW,EAAG;wBAC9B,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBACxJ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBAED,IAAI,eAAe,CAAC,iBAAiB,IAAI,KAAK,EAAE;wBAC5C,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBACpJ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBAED,8CAA8C;oBAC9C,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,0BAA0B,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;iBACzd;aACJ;iBAAM,IAAI,eAAe,CAAC,YAAY,IAAI,CAAC,IAAI,eAAe,CAAC,YAAY,IAAI,CAAC,IAAI,eAAe,CAAC,YAAY,IAAI,CAAC,IAAI,eAAe,CAAC,YAAY,KAAK,CAAC,IAAI,eAAe,CAAC,YAAY,KAAK,CAAC,EAAE;gBAChM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpB,iBAAiB;oBACjB,IAAI,eAAe,CAAC,WAAW,IAAI,KAAK,IAAI,eAAe,CAAC,yBAAyB,IAAI,KAAK,EAAE;wBAC5F,WAAW,GAAG,CAAC,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;qBACnE;oBAED,IAAI,eAAe,CAAC,iBAAiB,EAAG;wBACpC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBACpJ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBAED,IAAI,eAAe,CAAC,WAAW,IAAK,CAAC,eAAe,CAAC,yBAAyB,EAAE;wBAC5E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBACxJ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBAED,IAAI,eAAe,CAAC,yBAAyB,IAAI,KAAK,EAAE;wBACpD,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;wBAC1K,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBAED,2CAA2C;oBAC3C,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,uBAAuB,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;iBACtd;qBAAM;oBACH,mBAAmB;oBACnB,IAAI,eAAe,CAAC,yBAAyB,IAAK,eAAe,CAAC,WAAW,EAAG;wBAC5E,WAAW,GAAG,CAAC,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;qBACnE;oBAED,IAAI,eAAe,CAAC,yBAAyB,EAAG;wBAC5C,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;wBAC1K,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBAED,IAAI,eAAe,CAAC,WAAW,EAAG;wBAC9B,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBACxJ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBAED,IAAI,eAAe,CAAC,iBAAiB,IAAI,KAAK,EAAE;wBAC5C,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBACpJ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBAED,8CAA8C;oBAC9C,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,0BAA0B,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;iBACzd;aACJ;YACD,uCACO,KAAK,KACR,QAAQ,EAAE,WAAW,IACxB;SACJ;QACD,KAAK,yEAAyC,CAAC,CAAC;YAC5C,cAAc;YACd,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YACzD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEhD,IAAI,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;YACzC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1C,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAE9G,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,KAAK,CAAC,IAAI,eAAe,CAAC,YAAY,KAAK,CAAC;gBAC9F,eAAe,CAAC,YAAY,KAAK,CAAC,CAAC,EAAE;gBACtC,eAAe,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACvC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE;oBAC3C,CAAC,CAAC,eAAe,CAAC,WAAW,IAAI,eAAe,CAAC,yBAAyB,CAAC,EAAE;oBACzE,kBAAkB;oBAClB,IAAI,CAAC,eAAe,CAAC,yBAAyB,EAAE;wBAC5C,QAAQ,GAAG,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;qBACvD;oBACD,sCAAsC;oBACtC,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE;wBACpC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC;4BACvE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBAC9E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC;4BAC1E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACpF;oBACD,IAAI,eAAe,CAAC,iBAAiB,EAAE;wBACnC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC;4BACjF,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;wBACtF,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;4BAClE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;qBAClF;oBACD,4CAA4C;oBAC5C,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB;wBACtG,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC;wBAChH,gBAAgB,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EACnF,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAC3F,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;iBAClE;qBAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;oBAChD,CAAC,eAAe,CAAC,WAAW,IAAI,eAAe,CAAC,yBAAyB,CAAC,EAAE;oBAC5E,wCAAwC;oBACxC,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC;wBACnF,eAAe,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;oBAErG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;wBAC9B,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC;4BAC1E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;wBACjF,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC;4BACvE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;qBACjF;oBAED,QAAQ,GAAG,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACvD;aACJ;iBAAM,IAAI,eAAe,CAAC,YAAY,KAAK,CAAC,IAAI,eAAe,CAAC,YAAY,KAAK,CAAC;gBAC/E,eAAe,CAAC,YAAY,KAAK,CAAC,IAAI,eAAe,CAAC,YAAY,KAAK,CAAC,IAAI,eAAe,CAAC,YAAY,KAAK,CAAC;mBAC3G,eAAe,CAAC,YAAY,KAAK,CAAC,EAAE;gBACvC,4CAA4C;gBAC5C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,WAAW,IAAI,eAAe,CAAC,yBAAyB,CAAC,EAAE;oBACnG,kBAAkB;oBAClB,IAAI,CAAC,eAAe,CAAC,yBAAyB,EAAE;wBAC5C,QAAQ,GAAG,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;qBACvD;oBAED,sCAAsC;oBACtC,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE;wBACpC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC;4BACvE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBAC9E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC;4BAC1E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACpF;oBACD,IAAI,eAAe,CAAC,iBAAiB,EAAE;wBACnC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC;4BACjF,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;wBACtF,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;4BAClE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;qBAClF;oBACD,4CAA4C;oBAC5C,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB;wBACtG,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC;wBAChH,gBAAgB,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EACnF,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAC3F,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;iBAClE;qBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,eAAe,CAAC,yBAAyB,CAAC,EAAE;oBAC3G,wCAAwC;oBACxC,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC;wBACpF,eAAe,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;oBAEpG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;wBAC9B,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC;4BAC1E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;wBACjF,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC;4BACvE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;qBACjF;oBAED,QAAQ,GAAG,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACvD;aACJ;YACD,uCACO,KAAK,KACR,QAAQ,EAAE,QAAQ,IACpB;SACL;QACD,KAAK,uEAAuC,CAAC,CAAC;YAC1C,cAAc;YACd,IAAI,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC;YACjC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;YAC5C,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YACzD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1C,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAE9G,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,KAAK,CAAC,IAAI,eAAe,CAAC,YAAY,KAAK,CAAC;gBAC9F,eAAe,CAAC,YAAY,KAAK,CAAC,CAAC,EAAE;gBACtC,eAAe,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACvC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;oBACpB,kBAAkB;oBAClB,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,yBAAyB,EAAE;wBAC5E,WAAW,GAAG,CAAC,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;qBACnE;oBAED,IAAI,eAAe,CAAC,iBAAiB,EAAE;wBACnC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;4BACtE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAC3E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC;4BAC3E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACnF;oBAED,IAAI,eAAe,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,yBAAyB,EAAE;wBAC3E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC;4BACxE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBAC7E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC;4BACjF,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;qBACzF;oBAED,IAAI,eAAe,CAAC,yBAAyB,EAAE;wBAC3C,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC;4BACjF,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;wBACtF,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC;4BACxE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;qBAChF;oBACD,IAAI,CAAC,eAAe,CAAC,yBAAyB,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE;wBAClH,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;4BACtE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAC3E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC;4BAC3E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACnF;oBAED,IAAI,CAAC,eAAe,CAAC,yBAAyB,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE;wBAClH,+CAA+C;wBACnD,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB;4BACtG,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC;4BAC5G,0BAA0B,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAC7F,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAC3F,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;qBAClE;yBAAM;wBACH,4CAA4C;wBAC5C,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB;4BAC1G,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC;4BAC5G,iBAAiB,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EACpF,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAC3F,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;qBAClE;iBACJ;qBAAM;oBACH,oBAAoB;oBACpB,IAAI,eAAe,CAAC,yBAAyB,IAAI,eAAe,CAAC,WAAW,EAAE;wBAC1E,WAAW,GAAG,CAAC,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;qBACnE;oBAED,IAAI,eAAe,CAAC,yBAAyB,EAAE;wBAC3C,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC;4BAC7E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;wBAC1F,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC;4BACvE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACvF;oBAED,IAAI,eAAe,CAAC,WAAW,EAAE;wBAC7B,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC;4BACpE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBACjF,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC;4BACvE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACvF;oBAED,IAAI,eAAe,CAAC,iBAAiB,EAAE;wBACnC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;4BAClE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAC/E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC;4BACvE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACvF;oBACD,IAAI,CAAC,eAAe,CAAC,yBAAyB,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE;wBAClH,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;4BACtE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAC3E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC;4BAC3E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACnF;oBAGD,+CAA+C;oBAC/C,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB;wBAC1G,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC;wBAC5G,0BAA0B,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAC7F,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAC3F,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;iBAClE;aACJ;iBAAM,IAAI,eAAe,CAAC,YAAY,KAAK,CAAC,IAAI,eAAe,CAAC,YAAY,KAAK,CAAC,IAAI,eAAe,CAAC,YAAY,KAAK,CAAC;gBACpH,eAAe,CAAC,YAAY,KAAK,CAAC,IAAI,eAAe,CAAC,YAAY,KAAK,CAAC,IAAI,eAAe,CAAC,YAAY,KAAK,CAAC,EAAE;gBACjH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpB,kBAAkB;oBAClB,IAAI,eAAe,CAAC,WAAW,KAAK,KAAK,IAAI,eAAe,CAAC,yBAAyB,KAAK,KAAK,EAAE;wBAC9F,WAAW,GAAG,CAAC,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;qBACnE;oBAED,IAAI,eAAe,CAAC,iBAAiB,EAAE;wBACnC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;4BACtE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAC3E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC;4BAC3E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACnF;oBAED,IAAI,eAAe,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,yBAAyB,EAAE;wBAC3E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC;4BACxE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBAC7E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC;4BACjF,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;qBACzF;oBAED,IAAI,eAAe,CAAC,yBAAyB,EAAE;wBAC3C,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC;4BACjF,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;wBACtF,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC;4BACxE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;qBAChF;oBACD,IAAI,CAAC,eAAe,CAAC,yBAAyB,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE;wBAClH,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;4BACtE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAC3E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC;4BAC3E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACnF;oBAED,IAAI,CAAC,eAAe,CAAC,yBAAyB,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE;wBAClH,+CAA+C;wBACnD,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB;4BACtG,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC;4BAC5G,0BAA0B,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAC7F,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAC3F,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;qBAClE;yBAAM;wBACH,4CAA4C;wBAC5C,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB;4BAC1G,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC;4BAC5G,iBAAiB,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EACpF,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAC3F,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;qBAClE;iBACJ;qBAAM;oBACH,oBAAoB;oBACpB,IAAI,eAAe,CAAC,yBAAyB,IAAI,eAAe,CAAC,WAAW,EAAE;wBAC1E,WAAW,GAAG,CAAC,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;qBACnE;oBAED,IAAI,eAAe,CAAC,yBAAyB,EAAE;wBAC3C,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC;4BAC7E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;wBAC1F,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC;4BACvE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACvF;oBAED,IAAI,eAAe,CAAC,WAAW,EAAE;wBAC7B,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC;4BACpE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBACjF,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC;4BACvE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACvF;oBAED,IAAI,eAAe,CAAC,iBAAiB,EAAE;wBACnC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;4BAClE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAC/E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC;4BACvE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACvF;oBACD,IAAI,CAAC,eAAe,CAAC,yBAAyB,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE;wBAClH,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;4BACtE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAC3E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC;4BAC3E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACnF;oBAGD,+CAA+C;oBAC/C,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB;wBAC1G,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC;wBAC5G,0BAA0B,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAC7F,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAC3F,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;iBAClE;aACJ;YACD,uCACO,KAAK,KACR,QAAQ,EAAE,WAAW,IACxB;SACJ;QAED,KAAK,4EAA4C,CAAC,CAAC;YAC/C,cAAc;YACd,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YACzD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEhD,iDAAiD;YACjD,IAAI,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC9B,iDAAiD;YACjD,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;YACzC,iDAAiD;YACjD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1C,iDAAiD;YACjD,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAE9G,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,KAAK,CAAC,IAAI,eAAe,CAAC,YAAY,KAAK,CAAC;gBAC/F,eAAe,CAAC,YAAY,KAAK,CAAC,CAAC,EAAE;gBACrC,eAAe,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACvC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;oBACzE,kBAAkB;oBAClB,IAAI,CAAC,eAAe,CAAC,yBAAyB,EAAE;wBAC5C,QAAQ,GAAG,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;qBACvD;oBACD,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE;wBACpE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC;4BACpE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBACjF,IAAI,eAAe,CAAC,yBAAyB,EAAE;4BAC3C,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC;gCAC7E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;yBAC7F;6BAAM;4BACH,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC;gCACvE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;yBACvF;qBACJ;oBACD,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,eAAe,CAAC,iBAAiB,EAAE;wBACnE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC;4BAC7E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;wBAC1F,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC;4BACvE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACvF;oBAED,IAAI,CAAC,eAAe,CAAC,yBAAyB,EAAE;wBAE5C,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,YAAY,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;qBAC3L;yBAAM;wBACH,eAAe,CAAC,WAAW,GAAG,IAAI,CAAC;wBACnC,eAAe,CAAC,yBAAyB,GAAG,KAAK,CAAC;wBAClD,KAAK,CAAC,yBAAyB,EAAE,CAAC;wBAClC,KAAK,CAAC,kBAAkB,EAAE,CAAC;qBAC9B;oBAED,8JAA8J;iBACjK;qBAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,eAAe,CAAC,WAAW,EAAG;oBAClF,uCAAuC;oBACvC,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,eAAe,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;oBAE3L,IAAI,eAAe,CAAC,WAAW,IAAI,KAAK,EAAE;wBACtC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;wBAC9J,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;qBAC3J;oBAED,QAAQ,GAAG,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACvD;aACJ;iBAAM,IAAI,eAAe,CAAC,YAAY,KAAK,CAAC,IAAI,eAAe,CAAC,YAAY,KAAK,CAAC;gBAC/E,eAAe,CAAC,YAAY,KAAK,CAAC,IAAI,eAAe,CAAC,YAAY,KAAK,CAAC,IAAI,eAAe,CAAC,YAAY,KAAK,CAAC,EAAE;gBAChH,4CAA4C;gBAC5C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;oBACpD,kBAAkB;oBAClB,IAAI,CAAC,eAAe,CAAC,yBAAyB,EAAE;wBAC5C,QAAQ,GAAG,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;qBACvD;oBAED,sCAAsC;oBACtC,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE;wBACpE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC;4BACpE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBACjF,IAAI,eAAe,CAAC,yBAAyB,EAAE;4BAC3C,eAAe,CAAC,yBAAyB,GAAG,KAAK,CAAC;4BAClD,KAAK,CAAC,yBAAyB,EAAE,CAAC;4BAClC,KAAK,CAAC,qBAAqB,EAAE,CAAC;4BAC9B,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC;gCAC7E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;yBAC7F;6BAAM;4BACH,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC;gCACvE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;yBACvF;wBAED,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC;4BAChF,YAAY,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;qBACxG;oBACD,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,eAAe,CAAC,iBAAiB,EAAE;wBACnE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC;4BAC7E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;wBAC1F,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;4BAClE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAC/E,4CAA4C;wBAC5C,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB;4BAC1G,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC;8BAC1G,uBAAuB,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAC5F,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAC3F,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;qBAClE;iBAEJ;qBAAM,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,eAAe,CAAC,WAAW,EAAG;oBAC5D,uCAAuC;oBACvC,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,eAAe,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;oBAE3L,IAAI,eAAe,CAAC,WAAW,IAAI,KAAK,EAAE;wBACtC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;wBAC9J,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;qBAC3J;oBAED,QAAQ,GAAG,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACvD;aACJ;YAED,4CAA4C;YAC5C,2JAA2J;YAC3J,4DAA4D;YAC5D,yKAAyK;YACzK,eAAe;YACf,mKAAmK;YACnK,QAAQ;YACR,IAAI;YAEJ,oDAAoD;YACpD,iLAAiL;YACjL,qKAAqK;YACrK,IAAI;YAEJ,gWAAgW;YAChW,uCACO,KAAK,KACR,QAAQ,EAAE,QAAQ,IACrB;SACJ;QAED,KAAK,0EAA0C,CAAC,CAAC;YAC7C,aAAa;YACb,IAAI,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC;YACjC,IAAI,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;YAC1C,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YACzD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChD,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAE5G,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,IAAI,CAAC,IAAI,eAAe,CAAC,YAAY,IAAI,CAAC,IAAI,eAAe,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE;gBACrI,eAAe,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACvC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;oBACpB,iBAAiB;oBACjB,IAAI,eAAe,CAAC,WAAW,IAAI,KAAK,IAAI,eAAe,CAAC,yBAAyB,IAAI,KAAK,EAAE;wBAC5F,WAAW,GAAG,CAAC,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;qBACnE;oBAED,IAAI,eAAe,CAAC,iBAAiB,EAAG;wBACpC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBACpJ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBAED,IAAI,eAAe,CAAC,WAAW,EAAG;wBAC9B,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBACxJ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBAED,IAAI,eAAe,CAAC,yBAAyB,IAAI,KAAK,EAAE;wBACpD,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;wBAC1K,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBAED,2CAA2C;oBAC3C,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,uBAAuB,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;iBACtd;qBAAM;oBACH,mBAAmB;oBACnB,IAAI,eAAe,CAAC,yBAAyB,IAAK,eAAe,CAAC,WAAW,EAAG;wBAC5E,WAAW,GAAG,CAAC,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;qBACnE;oBAED,IAAI,eAAe,CAAC,yBAAyB,EAAG;wBAC5C,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;wBAC1K,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBAED,IAAI,eAAe,CAAC,WAAW,EAAG;wBAC9B,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBACxJ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBAED,IAAI,eAAe,CAAC,iBAAiB,IAAI,KAAK,EAAE;wBAC5C,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBACpJ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBAED,8CAA8C;oBAC9C,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,0BAA0B,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;iBACzd;aACJ;iBAAM,IAAI,eAAe,CAAC,YAAY,IAAI,CAAC,IAAI,eAAe,CAAC,YAAY,IAAI,CAAC,IAAI,eAAe,CAAC,YAAY,IAAI,CAAC,IAAI,eAAe,CAAC,YAAY,KAAK,CAAC,IAAI,eAAe,CAAC,YAAY,KAAK,CAAC,EAAE;gBAChM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpB,iBAAiB;oBACjB,IAAI,eAAe,CAAC,WAAW,IAAI,KAAK,IAAI,eAAe,CAAC,yBAAyB,IAAI,KAAK,EAAE;wBAC5F,WAAW,GAAG,CAAC,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;qBACnE;oBAED,IAAI,eAAe,CAAC,iBAAiB,EAAG;wBACpC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBACpJ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBAED,IAAI,eAAe,CAAC,WAAW,EAAG;wBAC9B,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBACxJ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBAED,IAAI,eAAe,CAAC,yBAAyB,IAAI,KAAK,EAAE;wBACpD,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;wBAC1K,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBAED,2CAA2C;oBAC3C,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,uBAAuB,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;iBACtd;qBAAM;oBACH,mBAAmB;oBACnB,IAAI,eAAe,CAAC,yBAAyB,IAAK,eAAe,CAAC,WAAW,EAAG;wBAC5E,WAAW,GAAG,CAAC,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;qBACnE;oBAED,IAAI,eAAe,CAAC,yBAAyB,EAAG;wBAC5C,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;wBAC1K,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBAED,IAAI,eAAe,CAAC,WAAW,EAAG;wBAC9B,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBACxJ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBAED,IAAI,eAAe,CAAC,iBAAiB,IAAI,KAAK,EAAE;wBAC5C,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBACpJ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjK;oBAED,8CAA8C;oBAC9C,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,0BAA0B,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;iBACzd;aACJ;YACD,uCACO,KAAK,KACR,QAAQ,EAAE,WAAW,IACxB;SACJ;QAED,KAAK,oEAAoC,CAAC,CAAC;YACvC,aAAa;YACb,IAAI,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC;YACjC,IAAI,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;YAC1C,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YACzD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChD,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,cAAc,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,CAAC;YAC9D,IAAI,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAC5G,IAAG,eAAe,CAAC,YAAY,KAAK,CAAC,IAAI,eAAe,CAAC,YAAY,KAAK,CAAC,IAAI,eAAe,CAAC,YAAY,KAAK,CAAC,EAAE;gBAC/G,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC;aACpC;YACD,mBAAmB;YACnB,IAAI,eAAe,CAAC,yBAAyB,IAAK,eAAe,CAAC,WAAW,EAAG;gBAC5E,WAAW,GAAG,CAAC,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;aACnE;YAED,IAAI,eAAe,CAAC,yBAAyB,EAAE;gBAC3C,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBAC1K,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBAC9J,iBAAiB,GAAG,KAAK,CAAC,yBAAyB,GAAG,CAAC,CAAC;gBACxD,cAAc,GAAG,KAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC;aACpD;YAED,IAAI,eAAe,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,yBAAyB,EAAE;gBAC3E,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACxJ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBAC9J,WAAW,GAAG,KAAK,CAAC,kBAAkB,GAAG,CAAC,CAAC;gBAC3C,cAAc,GAAG,KAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC;aACpD;YAED,IAAI,eAAe,CAAC,iBAAiB,EAAE;gBACnC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACpJ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBAC9J,SAAS,GAAG,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC;gBACxC,cAAc,GAAG,KAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC;aACpD;YAED,8CAA8C;YAC9C,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YAEnI,uCACO,KAAK,KACR,QAAQ,EAAE,WAAW,EACrB,kBAAkB,EAAE,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,EACvF,qBAAqB,EAAE,CAAC,cAAc,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,qBAAqB,EACnG,iBAAiB,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,EACjF,yBAAyB,EAAE,CAAC,iBAAiB,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,yBAAyB,IACpH;SACJ;QAED,KAAK,gEAAgC;YACjC,yBACO,KAAK,EACX;QACL,KAAK,mEAAmC;YACpC,uCACO,KAAK,KACR,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EACpC,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,IACvD;QACL;YACI,OAAO,KAAK,CAAC;KACpB;AACL,CAAC;;;;;;;;;;;;;AC9wCD;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;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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAC1C,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEhD,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AACtD,MAAM,6BAA6B,GAAG,+BAA+B,CAAC;AAEtE,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AACpD,MAAM,4BAA4B,GAAG,8BAA8B,CAAC;AAEpE,MAAM,QAAQ,GAAG,aAAa,CAAC;AAC/B,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAE5C,MAAM,SAAS,GAAG,WAAW,CAAC;AAC9B,MAAM,UAAU,GAAG,YAAY,CAAC;AAChC,MAAM,QAAQ,GAAG,UAAU,CAAC;AAC5B,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAC5C,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAChD,MAAM,UAAU,GAAG,YAAY,CAAC;AAChC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAElD,MAAM,cAAc,GAAG,gBAAgB,CAAC;AACxC,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AAExD,MAAM,aAAa,GAAG,eAAe,CAAC;AACtC,MAAM,qBAAqB,GAAC,uBAAuB,CAAC;AAEpD,MAAM,YAAY,GAAG,cAAc,CAAC;AACpC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AACpD,MAAM,aAAa,GAAG,eAAe,CAAC;AACtC,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAEtD,MAAM,YAAY,GAAG,cAAc,CAAC;AACpC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAEpD,MAAM,IAAI,GAAG,MAAM,CAAC;AAEpB,MAAM,wBAAwB,GAAG,0BAA0B,CAAC;AAC5D,MAAM,gCAAgC,GAAG,kCAAkC,CAAC;AAE5E,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAC1C,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAE1D,MAAM,4BAA4B,GAAG,8BAA8B,CAAC;AACpE,MAAM,OAAO,GAAG,SAAS,CAAC;AAC1B,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAE1C,MAAM,aAAa;IAEtB,YAAmB,OAAqE;QAArE,YAAO,GAAP,OAAO,CAA8D;QAD/E,SAAI,GAAG,eAAe,CAAC;IAC4D,CAAC;CAChG;AACM,MAAM,aAAa;IAEtB,YAAmB,OAAoB;QAApB,YAAO,GAAP,OAAO,CAAa;QAD9B,SAAI,GAAG,eAAe,CAAC;IACW,CAAC;IAAA,CAAC;CAChD;AACM,MAAM,gBAAgB;IAEzB,YAAmB,OAAoB;QAApB,YAAO,GAAP,OAAO,CAAa;QAD9B,SAAI,GAAG,kBAAkB,CAAC;IACQ,CAAC;CAC/C;AAEM,MAAM,mBAAmB;IAE5B,YAAmB,OAGlB;QAHkB,YAAO,GAAP,OAAO,CAGzB;QAJQ,SAAI,GAAG,qBAAqB,CAAC;IAIjC,CAAC;CACT;AACM,MAAM,0BAA0B;IAEnC,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,6BAA6B,CAAC;IACZ,CAAC;CACtC;AACM,MAAM,kBAAkB;IAE3B,YAAmB,OAA2C;QAA3C,YAAO,GAAP,OAAO,CAAoC;QADrD,SAAI,GAAG,oBAAoB,CAAC;IAC6B,CAAC;CACtE;AACM,MAAM,yBAAyB;IAElC,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,4BAA4B,CAAC;IACX,CAAC;CACtC;AACM,MAAM,YAAY;IAAzB;QACa,SAAI,GAAG,cAAc,CAAC;IACnC,CAAC;CAAA;AAEM,MAAM,mBAAmB;IAE5B,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,sBAAsB,CAAC;IACL,CAAC;CACtC;AAEM,MAAM,WAAW;IAEpB,YAAmB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;QADzB,SAAI,GAAG,aAAa,CAAC;IACQ,CAAC;CAC1C;AAEM,MAAM,OAAO;IAEhB,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,QAAQ,CAAC;IACS,CAAC;CACtC;AACM,MAAM,cAAc;IAEvB,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,gBAAgB,CAAC;IACC,CAAC;CACtC;AACM,MAAM,QAAQ;IAEjB,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,SAAS,CAAC;IACQ,CAAC;CACtC;AACM,MAAM,SAAS;IAElB,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,UAAU,CAAC;IACO,CAAC;CACtC;AACM,MAAM,OAAO;IAEhB,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,QAAQ,CAAC;IACS,CAAC;CACtC;AACM,MAAM,cAAc;IAEvB,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,gBAAgB,CAAC;IACC,CAAC;CACtC;AAEM,MAAM,gBAAgB;IAEzB,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,kBAAkB,CAAC;IACD,CAAC;CACtC;AAEM,MAAM,SAAS;IAElB,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,UAAU,CAAC;IACO,CAAC;CACtC;AAEM,MAAM,iBAAiB;IAE1B,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,mBAAmB,CAAC;IACF,CAAC;CACtC;AACM,MAAM,WAAW;IAEpB,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,YAAY,CAAC;IACK,CAAC;CACtC;AAEM,MAAM,kBAAkB;IAE3B,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,oBAAoB,CAAC;IACH,CAAC;CACtC;AAEM,MAAM,YAAY;IAErB,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,aAAa,CAAC;IACI,CAAC;CACtC;AAEM,MAAM,mBAAmB;IAE5B,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,qBAAqB,CAAC;IACJ,CAAC;CACtC;AAEM,MAAM,WAAW;IAEpB,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,YAAY,CAAC;IACK,CAAC;CACtC;AACM,MAAM,kBAAkB;IAE3B,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,oBAAoB,CAAC;IACH,CAAC;CACtC;AAEM,MAAM,IAAI;IAAjB;QACa,SAAI,GAAG,IAAI,CAAC;IACzB,CAAC;CAAA;AAEM,MAAM,qBAAqB;IAE9B,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,wBAAwB,CAAC;IACP,CAAC;CACtC;AAEM,MAAM,4BAA4B;IAErC,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,gCAAgC,CAAC;IACf,CAAC;CACtC;AAEM,MAAM,cAAc;IAEvB,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,eAAe,CAAC;IACE,CAAC;CACtC;AAEM,MAAM,qBAAqB;IAE9B,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,uBAAuB,CAAC;IACN,CAAC;CACtC;AAEM,MAAM,yBAAyB;IAEpC,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,4BAA4B,CAAC;IACX,CAAC;CACpC;AAEM,MAAM,MAAM;IAEf,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,OAAO,CAAC;IACU,CAAC;CACpC;;;;;;;;;;;;;ACnMH;AAAA;AAAO,MAAM,QAAQ;IAoDjB,YAAY,MAAO,EAAE,IAAK,EAAE,UAAW,EAAE,WAAY,EAAE,KAAM,EAAE,qBAAsB,EACjF,gBAAiB,EAAE,aAAc,EAAE,QAAS,EAAE,SAAU,EAAE,QAAS,EACnE,gBAAiB,EAAE,kBAAmB,EAAE,UAAW,EAAE,SAAU,EAAE,UAAW,EAC5E,kBAAmB,EAAE,QAAS,EAAE,MAAO,EAAE,mBAAoB,EAAE,OAAQ,EAAE,SAAU,EAAE,OAAQ,EAAE,SAAU,EAAE,cAAe,EAAE,SAAU,EACrI,mBAAoB,EAAE,cAAe,EAAE,QAAS,EAAE,aAAc,EAAE,WAAY;QAC/E,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,IAAI,EAAE,CAAC;QACzD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,KAAK,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,KAAK,CAAC;QAClC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,IAAI,EAAE,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,UAAU,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACnD,IAAI,CAAC,MAAM,GAAG,SAAS,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG,UAAU,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACnD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,IAAI,KAAK,CAAC;QACtD,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,IAAI,KAAK,CAAC;QACxD,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,IAAI,CAAC;IAC3C,CAAC;CACJ;;;;;;;;;;;;;ACzFD;AAAA,MAAM,oBAAoB,GAAC;IACvB,OAAO,EAAG,SAAS;IACnB,WAAW,EAAE,aAAa;CAC7B;AAEc,mFAAoB,EAAC;;;;;;;;;;;;;ACLpC;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;AAAA;AAA0D;AAGqB;AAErC;AACI;AAED;AAEW;AACT;AAC/C,8CAA8C;AAEM;AACK;AACU;AACC;AAEd;AAC4B;AAEjC;AACE;AAES;AACe;AACO;AACnB;AAC4B;AACX;AAG4B;AAC5G,oGAAoG;AAChC;AACzB;AACoD;AACf;AAC4B;AACzB;AAIpD;;;;AAb/B,sDAAc,CAAC,UAAU,CAAC,sEAAW,CAAC,WAAW,CAAC,CAAC;AA8D5C,MAAM,SAAS;;kEAAT,SAAS;yFAAT,SAAS,cAFR,2DAAY;8FAvBb,CAAC,yDAAQ,EAAE,4EAAY,EAAE,8DAAS,EAAE,gEAAU,EAAE,+FAAqB,EAAE,wFAAc,EAAE,+FAAkB,EAAE,6FAAc,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,sEAAW,CAAC,KAAK,EAAE,EAClM;YACE,OAAO,EAAE,yBAAyB;YAClC,QAAQ,EAAE;gBACR,SAAS,EAAE,KAAK;gBAChB,SAAS,EAAE;oBACT;wBACE,EAAE,EAAE,0EAAmB,CAAC,WAAW;wBACnC,QAAQ,EAAE,IAAI,0EAAmB,CAC/B,sEAAW,CAAC,eAAe,CAC5B;qBACF;oBACD;wBACE,EAAE,EAAE,4EAAqB,CAAC,WAAW;wBACrC,QAAQ,EAAE,IAAI,4EAAqB,CAAC,sEAAW,CAAC,OAAO,CAAC;qBACzD;iBACF;gBACD,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;oBACf,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC;aACyB;SAC7B;KACF,YAnCQ;YACP,uEAAa;YACb,oEAAgB;YAChB,4FAAuB;YACvB,mEAAY;YACZ,uDAAW,CAAC,OAAO,CAAC,gEAAW,EAAE;gBAC/B,aAAa,EAAE;oBACb,uBAAuB,EAAE,KAAK;iBACjC;aACA,CAAC;YACF,2DAAa,CAAC,OAAO,CAAC,CAAC,qEAAW,EAAE,+EAAW,EAAE,iFAAe,CAAC,CAAC;YAClE,wEAAiB;SAClB;oIA0BU,SAAS,mBA9ClB,iFAAc;QACd,yHAA0B;QAC1B,2DAAY;QACZ,wGAAuB;QACvB,4GAA0B;QAC1B,6FAAqB;QACrB,yHAA0B,aAG1B,uEAAa;QACb,oEAAgB;QAChB,4FAAuB;QACvB,mEAAY,gIAOZ,wEAAiB;;;;;;;;;;;;;AClErB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0F;;;;;;;ICWxE,qEAAuK;;;IACvK,yEAAuD;IAAA,0EAAe;IAAA,4DAAK;;;IAC3E,yEAA2D;IAAA,uDAAoC;IAAA,4DAAK;;;IAAzC,0DAAoC;IAApC,wGAAoC;;;IAC/F,wEAAmD;IAAA,uDACY;;IAAA,4DAAI;;;IADhB,0DACY;IADZ,6TACY;;;IAC7D,wEAAuD;IAAA,uDAAiC;IAAA,4DAAI;;;IAArC,0DAAiC;IAAjC,qGAAiC;;;;IAE5F,0EAA0F;IACxF,wEAAqD;IAAvB,+TAAsB;IAAC,iEAAM;IAAA,4DAAI;IAC/D,6EAA2F;IAAvB,oUAAsB;IAAC,iEAAM;IAAA,4DAAS;IAC5G,4DAAM;;;;IACN,0EAA8F;IAC5F,wEAAqD;IAAvB,kUAAsB;IAAC,+EAAoB;IAAA,4DAAI;IAC7E,6EAAgF;IAAvB,uUAAsB;IAAC,2EAAgB;IAAA,4DAAS;IAC3G,4DAAM;;ADXf,MAAM,8BAA8B;IAEzC,YAAoB,KAAsB,EAAU,MAAc;QAA9C,UAAK,GAAL,KAAK,CAAiB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAEzD,iBAAY,GAAQ,EAAE,CAAC;QAGtB,kBAAa,GAAG,IAAI,0DAAY,EAAO,CAAC;QACxC,gBAAW,GAAG,IAAI,0DAAY,EAAO,CAAC;IANsB,CAAC;IASvE,QAAQ;QACN,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;;YAC1D,UAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,0CAAE,mBAAmB,EAAE;gBACtC,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;YACD,IAAI,GAAG,CAAC,YAAY,EAAE;gBACpB,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;oBAC7E,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;iBAChC;qBAAM,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;oBACpF,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC;iBACpC;qBAAM,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;oBACnF,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;iBAC5B;qBAAM;oBACL,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;iBAC9B;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;YAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;SACzB;aAAM;YACL,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;QACD,2BAA2B;IAC7B,CAAC;IAED,UAAU;QACR,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,UAAU;QACR,YAAY,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;QACjD,CAAC,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC;QAC9B,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;cAC/F,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC;QAC1F,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;SACxB;IACH,CAAC;;4GAzDU,8BAA8B;8GAA9B,8BAA8B;QCZ3C,yEAA6I;QACzI,yEAA0C;QACxC,yEAAsC;QACpC,4EAAgF;QAA1D,sJAAS,gBAAY,IAAC;QAAoC,oEAA6D;QAAA,4DAAS;QACtJ,yEAA+C;QAC7C,yEAAiB;QACf,yEAAuB;QACrB,yEAAiB;QACf,yEAAoC;QAClC,4HAAuK;QACvK,2HAA2E;QAC3E,2HAAoG;QACpG,yHACmE;QACjE,yHAA4F;QAChG,4DAAM;QACN,6HAGM;QACN,6HAGM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;;QArByG,2DAAkD;QAAlD,4HAAkD;QACrH,0DAAyB;QAAzB,2FAAyB;QACzB,0DAA6B;QAA7B,+FAA6B;QACjC,0DAAyB;QAAzB,2FAAyB;QAEvB,0DAA6B;QAA7B,+FAA6B;QAEM,0DAAyB;QAAzB,2FAAyB;QAIzB,0DAA6B;QAA7B,+FAA6B;;;;;;;;;;;;;;ACpB5G;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmF;AAEf;;;;AAQ7D,MAAM,0BAA0B;IAErC,YAAoB,WAA8B,EAAU,KAA8B;QAAtE,gBAAW,GAAX,WAAW,CAAmB;QAAU,UAAK,GAAL,KAAK,CAAyB;IAAI,CAAC;IAE/F,QAAQ;QACN,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,sEAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,yEAAmB,CAAC,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,YAAY;QACV,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,2EAAqB,CAAC,WAAW,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO;QACL,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;;oGApBU,0BAA0B;0GAA1B,0BAA0B;QCZvC,yEAAwB;QACpB,yEAA8B;QAC1B,0EAA2B;QAAA,2EAAgB;QAAA,4DAAO;QAClD,uEAAiG;QAAjE,6IAAS,sBAAkB,IAAC;QACxD,oEAAwF;QAC5F,4DAAI;QACJ,uEAA8F;QAA5D,6IAAS,kBAAc,IAAC;QACtD,oEAA4F;QAChG,4DAAI;QACR,4DAAM;QACV,4DAAM;;;;;;;;;;;;;;ACRN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiC;AAM0B;;;;AAIpD,MAAM,cAAc;IAYzB,YAAoB,IAAiB,EAAU,KAAsB;QAAjD,SAAI,GAAJ,IAAI,CAAa;QAAU,UAAK,GAAL,KAAK,CAAiB;QAVrE,aAAQ,GAAG;YACT,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,SAAS;SACrB;QACD,qBAAgB,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;QAI/H,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACzC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACxC,IAAI,CAAC,OAAO,GAAG,oCAAoC,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,GAAG,sDAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC;IACxD,CAAC;IAED,UAAU,CAAC,KAAK;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC;IAClG,CAAC;IAGD,sBAAsB,CAAC,KAAK;QAC1B,IAAI,IAAI,CAAC,aAAa;YACpB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC;aAC/G;YACH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,0CAA0C,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC;SACnI;IACH,CAAC;IAED,mBAAmB,CAAC,OAAO;QACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpC,oBAAoB;YAEpB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACzC,wBAAwB;YACxB,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAI,GAAG,CAAC;YACR,OAAO,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aACnB;YACD,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;wBAE/B,0EAA0E;wBAC1E,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE;4BAC7C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;yBAC9C;6BACI,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,EAAE;4BAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;yBAC9C;6BACI,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE;4BAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;yBAChD;wBAED,wEAAwE;wBACxE,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,EAAE;4BACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;yBAC/C;wBACD,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,EAAE;4BAC7C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;yBAC/C;wBACD,MAAM,EAAE,CAAC;wBACT,IAAI,MAAM,IAAI,CAAC,EAAE;4BACf,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;4BACtB,OAAO,CAAC,OAAO,CAAC,CAAC;yBAClB;oBACH,CAAC,CAAC,CAAC;iBACJ;aACF;iBACI;gBACH,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBACtB,OAAO,CAAC,OAAO,CAAC,CAAC;aAClB;QACH,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,GAAG;QACT,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;YACtB,GAAG,CAAC,MAAM,GAAG;gBACX,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACpD,CAAC,CAAC;YACF,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,GAAG,KAAK;QACpC,IAAI,OAAO,CAAC;QACZ,OAAO;YACL,IAAI,OAAO,GAAG,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;YACrC,IAAI,KAAK,GAAG;gBACV,OAAO,GAAG,IAAI,CAAC;gBACf,IAAI,CAAC,SAAS;oBAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC5C,CAAC,CAAC;YACF,IAAI,OAAO,GAAG,SAAS,IAAI,CAAC,OAAO,CAAC;YACpC,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAClC,IAAI,OAAO;gBAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC,CAAC;IACJ,CAAC;IAAA,CAAC;;4EA5GS,cAAc;iGAAd,cAAc,WAAd,cAAc;;;;;;;;;;;;;ACZ3B;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,WAAW,GAAG;IACvB,YAAY,EAAE,0CAA0C;IACxD,cAAc,EAAE,2BAA2B;IAC3C,WAAW,EAAE,sCAAsC;IACnD,cAAc,EAAE,wBAAwB;CAC3C,CAAC;AAEK,MAAM,SAAS,GAAG;IACrB,SAAS,EAAE,wBAAwB;CACtC,CAAC;AAEK,MAAM,oBAAoB,GAAG;IAChC,SAAS,EAAE,UAAU;IACrB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACjB,CAAC;AAEK,MAAM,YAAY,GAAG;IACxB,OAAO,EAAE,gBAAgB;CAC5B,CAAC;;;;;;;;;;;;;ACpBF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAM,gBAAgB,GAAG;IACrB,OAAO,EAAG,SAAS;IACnB,WAAW,EAAE,cAAc;IAC3B,QAAQ,EAAE,UAAU;IACpB,YAAY,EAAE,gBAAgB;IAC9B,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,YAAY;IACvB,kBAAkB,EAAE,sBAAsB;CAC7C,CAAC;AAEF,MAAM,SAAS,GAAG,UAAU,CAAC;AAE7B,MAAM,UAAU,GAAG,OAAO,CAAC;AAC3B,MAAM,UAAU,GAAG,WAAW,CAAC;AAC/B,MAAM,aAAa,GAAG,cAAc,CAAC;AACrC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAGkD;;;;;;;;;;;;;ACjB9F;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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,UAAU,GAAG,YAAY,CAAC;AAChC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAChD,MAAM,aAAa,GAAG,eAAe,CAAC;AACtC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAClD,MAAM,WAAW,GAAG,aAAa,CAAC;AAClC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAC9C,MAAM,YAAY,GAAG,cAAc,CAAC;AACpC,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAC1C,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAClD,MAAM,WAAW,GAAG,aAAa,CAAC;AAClC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AACxC,MAAM,aAAa,GAAG,eAAe,CAAC;AACtC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAClD,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAC1C,MAAM,aAAa,GAAG,eAAe,CAAC;AACtC,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAC1C,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAC9C,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAC5C,MAAM,UAAU,GAAG,YAAY,CAAC;AAChC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAClD,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAC9C,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AACpD,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AACxD,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AACpD,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAExC,MAAM,kBAAkB;IAE3B,YAAmB,OAAwC;QAAxC,YAAO,GAAP,OAAO,CAAiC;QADlD,SAAI,GAAG,oBAAoB,CAAC;IACwB,CAAC;CACjE;AAEM,MAAM,SAAS;IAElB,YAAmB,OAAkI;QAAlI,YAAO,GAAP,OAAO,CAA2H;QAD5I,SAAI,GAAG,UAAU,CAAC;IAC4H,CAAC;CAC3J;AAEM,MAAM,eAAe;IAExB,YAAmB,OAAgpB;QAAhpB,YAAO,GAAP,OAAO,CAAyoB;QAD1pB,SAAI,GAAG,kBAAkB,CAAC;IACkoB,CAAC;CACzqB;AAEM,MAAM,eAAe;IAExB,YAAmB,OAAoI;QAApI,YAAO,GAAP,OAAO,CAA6H;QAD9I,SAAI,GAAG,mBAAmB,CAAC;IACqH,CAAC;CAC7J;AAEM,MAAM,UAAU;IAEnB,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,aAAa,CAAC;IACE,CAAC;CACpC;AAEM,MAAM,YAAY;IAErB,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,aAAa,CAAC;IACE,CAAC;CACpC;AACM,MAAM,iBAAiB;IAE1B,YAAmB,OAAgG;QAAhG,YAAO,GAAP,OAAO,CAAyF;QAD1G,SAAI,GAAG,mBAAmB,CAAC;IACiF,CAAC;CACzH;AACM,MAAM,iBAAiB;IAE1B,YAAmB,OAAgE;QAAhE,YAAO,GAAP,OAAO,CAAyD;QAD1E,SAAI,GAAG,mBAAmB,CAAC;IACiD,CAAC;CACzF;AACM,MAAM,aAAa;IAEtB,YAAmB,OAAsG;QAAtG,YAAO,GAAP,OAAO,CAA+F;QADhH,SAAI,GAAG,cAAc,CAAC;IAC4F,CAAC;CAC/H;AACM,MAAM,WAAW;IAEpB,YAAmB,OAA0C;QAA1C,YAAO,GAAP,OAAO,CAAmC;QADpD,SAAI,GAAG,YAAY,CAAC;IACkC,CAAC;CACnE;AACM,MAAM,cAAc;IAEvB,YAAmB,OAAmH;QAAnH,YAAO,GAAP,OAAO,CAA4G;QAD7H,SAAI,GAAG,eAAe,CAAC;IACwG,CAAC;CAC5I;AACM,MAAM,UAAU;IAEnB,YAAmB,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;QADhC,SAAI,GAAG,WAAW,CAAC;IACe,CAAC;IAAA,CAAC;CAChD;AACM,MAAM,YAAY;IAErB,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,iBAAiB,CAAC;IACF,CAAC;IAAA,CAAC;CACrC;AACM,MAAM,YAAY;IAErB,YAAmB,OAAoD;QAApD,YAAO,GAAP,OAAO,CAA6C;QAD9D,SAAI,GAAG,aAAa,CAAC;IAC4C,CAAC;CAC9E;AACM,MAAM,iBAAiB;IAE1B,YAAmB,OAA4X;QAA5X,YAAO,GAAP,OAAO,CAAqX;QADtY,SAAI,GAAG,mBAAmB,CAAC;IAC6W,CAAC;IAAA,CAAC;CACtZ;AACM,MAAM,cAAc;IAEvB,YAAmB,OAA0D;QAA1D,YAAO,GAAP,OAAO,CAAmD;QADpE,SAAI,GAAG,eAAe,CAAC;IAC+C,CAAC;IAAA,CAAC;CACpF;AACM,MAAM,YAAY;IAErB,YAAmB,OAA0D;QAA1D,YAAO,GAAP,OAAO,CAAmD;QADpE,SAAI,GAAG,aAAa,CAAC;IACiD,CAAC;IAAA,CAAC;CACpF;AACM,MAAM,iBAAiB;IAE1B,YAAmB,OAA0D;QAA1D,YAAO,GAAP,OAAO,CAAmD;QADpE,SAAI,GAAG,mBAAmB,CAAC;IAC2C,CAAC;IAAA,CAAC;CACpF;AACM,MAAM,eAAe;IAExB,YAAmB,OAA0D;QAA1D,YAAO,GAAP,OAAO,CAAmD;QADpE,SAAI,GAAG,iBAAiB,CAAC;IAC6C,CAAC;IAAA,CAAC;CACpF;AACM,MAAM,oBAAoB;IAE7B,YAAmB,OAA0D;QAA1D,YAAO,GAAP,OAAO,CAAmD;QADpE,SAAI,GAAG,sBAAsB,CAAC;IACyC,CAAC;CACpF;AACM,MAAM,kBAAkB;IAE3B,YAAmB,OAA0D;QAA1D,YAAO,GAAP,OAAO,CAAmD;QADpE,SAAI,GAAG,oBAAoB,CAAC;IAC2C,CAAC;CACpF;AACM,MAAM,aAAa;IAEtB,YAAmB,OAA+D;QAA/D,YAAO,GAAP,OAAO,CAAwD;QADzE,SAAI,GAAG,eAAe,CAAC;IACoD,CAAC;IAAA,CAAC;CACzF;AACM,MAAM,cAAc;IAEvB,YAAmB,OAA2F;QAA3F,YAAO,GAAP,OAAO,CAAoF;QADrG,SAAI,GAAG,gBAAgB,CAAC;IAC+E,CAAC;IAAA,CAAC;CACrH;AACM,MAAM,SAAS;IAElB,YAAmB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;QADrB,SAAI,GAAG,UAAU,CAAC;IACK,CAAC;IAAA,CAAC;CACrC;AACM,MAAM,aAAa;IAEtB,YAAmB,OAA0D;QAA1D,YAAO,GAAP,OAAO,CAAmD;QADpE,SAAI,GAAG,cAAc,CAAC;IACiD,CAAC;CACpF;;;;;;;;;;;;;;;;;AC7HM,MAAM,mBAAmB;IAI9B;QAFsB,gBAAW,GAAG,EAAE,CAAC;IAEvB,CAAC;IAEjB,QAAQ;IACR,CAAC;;sFAPU,mBAAmB;mGAAnB,mBAAmB;QCPhC,sEAAkD;QAC9C,qEAAgC;QACpC,4DAAM;;QAFD,kHAA4C;;;;;;;;;;;;;;ACAjD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqE;AAC9D,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AAC7C,MAAM,iBAAiB,GAAG,4BAA4B,CAAC;AACvD,MAAM,mBAAmB,GAAG,oCAAoC,CAAC;AACjE,MAAM,eAAe,GAAG,QAAQ,iFAAS,CAAC,UAAU,EAAE,CAAC;AAEvD,MAAM,WAAW,GAAG;IACvB,gBAAgB,EAAE,uBAAuB;CAC5C;AACM,MAAM,aAAa,GAAG,aAAa,CAAC;AACpC,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AACjD,MAAM,uBAAuB,GAAG,QAAQ,iFAAS,CAAC,WAAW,EAAE,CAAC;;;;;;;;;;;;;ACXvE;AAAA;AAAA;AAAA;AAAA;AAA2C;AAEa;;AAOjD,MAAM,kBAAkB;IAG7B,YACqC,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;QAFvD,oBAAe,GAA0C,EAAE,CAAC;IAGxD,CAAC;IAEL,QAAQ,CAAC,aAA6B;QACpC,OAAO,kDAAK,CACV,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACvB,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE;gBAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;aAChC;iBACI,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAClC;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,GAAW;QACpB,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;YAC7B,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;SACjD;QAED,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,IAAI,kDAAa,EAAE,CAAC;QAEhD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACrD,mCAAmC;QACnC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;QACjB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;YACnB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;QACvC,CAAC,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;IAClD,CAAC;IAED,SAAS,CAAC,GAAW;QACnB,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;YAC7B,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;SACjD;QAED,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,IAAI,kDAAa,EAAE,CAAC;QAEhD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;QACjB,KAAK,CAAC,GAAG,GAAG,YAAY,CAAC;QACzB,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE;YAClB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;QACvC,CAAC,CAAC;QAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAExB,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;IAClD,CAAC;;oFA3DU,kBAAkB,yDAInB,wDAAQ;qGAJP,kBAAkB,WAAlB,kBAAkB,mBAFjB,MAAM;;;;;;;;;;;;;;;;;ACAb,MAAM,kBAAkB;IAE7B,gBAAgB,CAAC;IAIjB,QAAQ;IACR,CAAC;;oFAPU,kBAAkB;kGAAlB,kBAAkB;QCN/B,yEAA8I;QAC1I,yEAAkF;QAChF,yEAA2B;QACzB,4EAAyD;QAAA,oEAA6D;QAAA,4DAAS;QAC/H,yEAAwB;QAEtB,yEAAqB;QACnB,oEAAsC;QACtC,qEAAI;QAAA,uDAAW;QAAA,4DAAK;QACpB,wEAAqB;QAAA,wDAAQ;QAAA,4DAAI;QACnC,4DAAM;QACR,4DAAM;QACN,0EAAoB;QAClB,8EAAyF;QAAA,kEAAM;QAAA,4DAAS;QAC1G,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;;QAVS,0DAAc;QAAd,mJAAc;QAAC,uFAAiB;QACjC,0DAAW;QAAX,4EAAW;QACM,0DAAQ;QAAR,yEAAQ;;;;;;;;;;;;;;ACVzC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyD;AAGlB;AACyB;AACA;;;;;AAOzD,MAAM,WAAW;IAgBtB,YAAoB,IAAiB,EAAU,YAA0B,EAAU,MAAc;QAA7E,SAAI,GAAJ,IAAI,CAAa;QAAU,iBAAY,GAAZ,YAAY,CAAc;QAAU,WAAM,GAAN,MAAM,CAAQ;QAd1F,qBAAgB,GAAsB,IAAI,0DAAY,EAAE,CAAC;QACzD,4BAAuB,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QACvD,mBAAc,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QAC9C,mBAAc,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QAC9C,mBAAc,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QAC9C,0BAAqB,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC;QACpD,qBAAgB,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QAChD,aAAQ,GAAG;YAChB,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,SAAS;SACrB;IACoG,CAAC;IAEtG,UAAU,CAAC,IAAS;QAClB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,QAAQ,2EAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpD,YAAY,CAAC,OAAO,CAAC,eAAe,EAAC,KAAK,CAAC,CAAC;QAC5C,YAAY,CAAC,OAAO,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACvE,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACnB;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,qEAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACzG,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACnB;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,gCAAgC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACzF,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;oBACpC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;iBAClC;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,KAAK,EAAE,KAAK;QAC5B,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAElC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,gCAAgC,KAAK,UAAU,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC/G,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBAChC;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB,CAAC,WAAmB,EAAE,UAAkB,EAAE,QAAa,EAAE,IAAU;QACrF,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC;QAC7C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,kDAAkD,WAAW,eAAe,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACzN,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACnB;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB,CAAC,EAAE,EAAE,IAAI;QACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,kCAAkC,EAAE,SAAS,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC5G,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACnB;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI;QAClC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC;QAE/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qCAAqC,IAAI,eAAe,EAAE,SAAS,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClI,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACnB;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IACD,oBAAoB,CAAC,EAAE,EAAE,IAAI;QAC3B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,oCAAoC,EAAE,SAAS,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC9G,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;iBACjC;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gCAAgC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC/E,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,KAAK;QACZ,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE;YACvB,UAAU,GAAG,IAAI,CAAC;SACnB;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,qEAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1I,CAAC;IAED,cAAc,CAAC,OAAO;QACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,qEAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5I,CAAC;IAED,eAAe;IACf,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ;QAC5D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,qEAAW,CAAC,WAAW,CAAC,CAAC;IACzJ,CAAC;;sEA1JU,WAAW;8FAAX,WAAW,WAAX,WAAW,mBAFV,MAAM;;;;;;;;;;;;;ACVpB;AAAA;AAAA;AAAwE;;AAQjE,MAAM,yBAAyB;IAKpC;QAHU,gBAAW,GAAG,IAAI,0DAAY,EAAO,CAAC;QACtC,kBAAa,GAAG,IAAI,0DAAY,EAAO,CAAC;IAElC,CAAC;IAEjB,QAAQ;IACR,CAAC;IAED,UAAU;QACR,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC;QAC9B,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACpC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;;kGAnBU,yBAAyB;yGAAzB,yBAAyB;QCPtC,yEAAyE;QACrE,yEAAkE;QAC9D,yEAA2B;QACvB,yEAAwB;QACpB,oEAAgD;QAChD,oEAAG;QAAA,mFAAwB;QAAA,4DAAI;QAC/B,oEAAG;QAAA,4HAA4D;QAAA,4DAAI;QACvE,4DAAM;QAEN,yEAA0B;QACtB,6EAAoE;QAAvB,kJAAS,gBAAY,IAAC;QAAC,oEAAQ;QAAA,4DAAS;QACrF,6EAAgE;QAAlB,kJAAS,WAAO,IAAC;QAAC,qEAAS;QAAA,4DAAS;QACtF,4DAAM;QACV,4DAAM;QACV,4DAAM;QACR,4DAAM;;;;;;;;;;;;;;ACfR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuC;;;;AAOhC,MAAM,cAAc;IAQzB,YAAoB,WAAwB,EAAU,YAA0B;QAA5D,gBAAW,GAAX,WAAW,CAAa;QAAU,iBAAY,GAAZ,YAAY,CAAc;QANzE,wBAAmB,GAAG,IAAI,oDAAe,CAAM,KAAK,CAAC,CAAC;QACtD,gBAAW,GAAG,IAAI,oDAAe,CAAM,KAAK,CAAC,CAAC;QAC9C,qBAAgB,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QAChD,wBAAmB,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QACnD,oBAAe,GAAG,IAAI,oDAAe,CAAU,KAAK,CAAC,CAAC;IAG7D,CAAC;IAED,UAAU;QACR,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACvD,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,KAAK;QACd,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,sBAAsB,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC1E,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,KAAK;QACZ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,4BAA4B,KAAK,CAAC,aAAa,gBAAgB,KAAK,CAAC,WAAW,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC;YAC5H,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACpD,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACzD,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,SAAS;QACpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,yBAAyB,GAAG,SAAS,CAAC;YACtD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClD,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,IAAI;QACd,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,yBAAyB,GAAG,IAAI,CAAC,SAAS,GAAG,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;YACxF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClD,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,IAAI;QAChB,MAAM,OAAO,GAAG,yBAAyB,GAAG,IAAI,CAAC,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;QAC3F,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClD,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE;oBACnB,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yCAAyC;IACzC,eAAe,CAAC,YAAY,EAAE,SAAS;QACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,6CAA6C,CAAC;YAC7D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,SAAS,CACxF,CAAC,GAAG,EAAE,EAAE;gBACN,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;wBACnC,4DAA4D;wBAC5D,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;4BACzD,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;4BACzD,OAAO,CAAC,IAAI,CAAC,CAAC;wBAChB,CAAC,CAAC,CAAC;wBACH,uBAAuB;wBACvB,8CAA8C;wBAC9C,yDAAyD;qBAC1D;oBACD,yEAAyE;iBAC1E;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kCAAkC;IAClC,kBAAkB,CAAC,IAAI,EAAE,SAAS;QAChC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjE,IAAI,GAAG,EAAE;oBACP,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;wBAC7B,OAAO,CAAC,GAAG,CAAC,CAAC;qBACd;iBACF;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB,CAAC,IAAI;QACxB,MAAM,OAAO,GAAG,mBAAmB,CAAC;QACpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC1D,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,IAAI;QACpB,MAAM,OAAO,GAAG,cAAc,CAAC;QAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC1D,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;;4EAjKU,cAAc;iGAAd,cAAc,WAAd,cAAc,mBAFb,MAAM;;;;;;;;;;;;;ACApB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsC;AAGgC;AACW;AACE;;;;AAK5E,MAAM,0BAA0B;IACrC,YAAoB,KAAsB,EAAU,MAAc;QAA9C,UAAK,GAAL,KAAK,CAAiB;QAAU,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAEtE,OAAO,CAAC,KAA6B,EAAE,KAA0B;QAC/D,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CACnC,gEAAS,CAAC,CAAC,IAAI,EAAE,EAAE;;YACjB,MAAM,WAAW,GAAQ,KAAK,CAAC,aAAa,CAAC;YAC7C,UAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,0CAAE,SAAS,EAAE;gBAClC,OAAO,+CAAE,CAAC,IAAI,CAAC,CAAC;aACjB;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACvB,OAAO,+CAAE,CAAC,IAAI,CAAC,CAAC;aACjB;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAC1C,6DAAM,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,QAAC,CAAC,OAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,0CAAE,MAAM,CAAC,IAAC,EAC5C,gEAAS,CAAC,CAAC,IAAI,EAAE,EAAE;;gBACjB,UAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,0CAAE,mBAAmB,EAAE;oBACvC,IAAI,cAAc,GAAG,uGAA8B,OAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,0CAAE,mBAAmB,CAAC,CAAC;oBACzF,UAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,0CAAE,WAAW,EAAE;wBAC/B,cAAc,GAAG,GAAG,2EAAc,CAAC,OAAO,IAAI,2EAAc,CAAC,SAAS,EAAE,CAAC;qBAC1E;oBACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;wBACrH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;wBACvC,OAAO,+CAAE,CAAC,KAAK,CAAC,CAAC;qBAClB;iBACF;gBACD,OAAO,+CAAE,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC,CAAC,EACF,iEAAU,CAAC,GAAG,EAAE;gBACd,OAAO,+CAAE,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC,CAAC,EACF,4DAAK,EAAE,CACR,CAAC;QACJ,CAAC,CAAC,EACF,iEAAU,CAAC,GAAG,EAAE;YACd,OAAO,+CAAE,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC,CAAC,EACF,4DAAK,EAAE,CACR,CAAC;IACJ,CAAC;;oGAvCU,0BAA0B;6GAA1B,0BAA0B,WAA1B,0BAA0B,mBAFzB,MAAM;;;;;;;;;;;;;;;;;;;;ICZZ,uEAA+C;IAAA,oEAA+C;IAAA,4DAAO;;;IAArC,0DAA2B;IAA3B,iKAA2B;;;IAC3F,oEAAkD;IAAA,uDAA2B;IAAA,4DAAI;;;IAA/B,0DAA2B;IAA3B,+FAA2B;;;IAC7E,oEAAkD;IAAA,uDAA2B;IAAA,4DAAI;;;IAA/B,0DAA2B;IAA3B,+FAA2B;;;ACW9E,MAAM,iBAAiB;IAG5B,gBAAgB,CAAC;IAEjB,QAAQ,KAAW,CAAC;;kFALT,iBAAiB;iGAAjB,iBAAiB;QDf9B,yEAA0G;QACtG,yEAA+C;QAC3C,+GAAqG;QACrG,yGAAiF;QACjF,yGAAiF;QAErF,4DAAM;QACV,4DAAM;;QAPW,mNAAwF;QAE1F,0DAAsC;QAAtC,0GAAsC;QACzC,0DAA4C;QAA5C,gHAA4C;QAC5C,0DAA4C;QAA5C,gHAA4C;;;;;;;;;;;;;;AEFxD;AAAA;AAAA;AAAO,MAAM,UAAU,GAAG,YAAY,CAAC;AAEhC,MAAM,SAAS;IAElB,YAAmB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAD1B,SAAI,GAAG,UAAU,CAAC;IACU,CAAC;CACzC;;;;;;;;;;;;;ACPD;AAAA;AAAA;AAAA;AAAA;AAA0F;;;;;;ICItF,wEAAqE;IACnE,2EAAyB;IAAA,uDACvB;IAAA,2EAA2I;IAAtG,uOAA2B;IAAhE,4DAA2I;IAC3I,qEAA+B;IACjC,4DAAQ;IACV,4DAAK;;;IAJsB,0DACvB;IADuB,qFACvB;IAAqC,0DAA2B;IAA3B,qFAA2B;;ADEjE,MAAM,0BAA0B;IAKrC;QAFU,aAAQ,GAAG,IAAI,0DAAY,EAAO,CAAC;IAE7B,CAAC;IAEjB,QAAQ;IACR,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,MAAM,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACnD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC5B,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,UAAU,EAAE;oBAC9B,GAAG,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;iBACxB;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,UAAU,CAAC;YACT,MAAM,SAAS,GAAG;gBAChB,WAAW,EAAE,SAAS;gBACtB,WAAW,EAAE,SAAS;gBACtB,aAAa,EAAE,WAAW;aAC3B,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;;oGAhCU,0BAA0B;0GAA1B,0BAA0B;QCPvC,wEAA0B;QAAA,uDAAgC;QAAA,4DAAK;QAC/D,yEAA6B;QAC3B,qEAAI;QACF,oHAKK;QACP,4DAAK;QACP,4DAAM;;QAVoB,0DAAgC;QAAhC,qGAAgC;QAGV,0DAAuB;QAAvB,6FAAuB;;;;;;;;;;;;;;ACJvE;AAAA;AAAA;AAAA;AAAO,MAAM,YAAY,GAAG;IACxB;QACI,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,OAAO;KAChB;IACD;QACI,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,OAAO;KAChB;IACD;QACI,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,oCAAoC;QAC3C,IAAI,EAAE,cAAc;KACvB;IACD;QACI,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,yBAAyB;QAChC,IAAI,EAAE,UAAU;KACnB;IACD;QACI,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,sBAAsB;QAC5B,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,oBAAoB;QAC3B,KAAK,EAAE,iCAAiC;QACxC,IAAI,EAAE,sBAAsB;KAC/B;IACD;QACI,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,SAAS;KAClB;IACD;QACI,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,WAAW;KACpB;IACD;QACI,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,MAAM;KACf;IACD;QACI,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,mBAAmB;QAC1B,IAAI,EAAE,WAAW;KACpB;IACD;QACI,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,sFAAsF;QAC7F,IAAI,EAAE,SAAS;KAClB;IACD;QACI,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,mBAAmB;QAC1B,IAAI,EAAE,OAAO;KAChB;IACD;QACI,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,cAAc;KACvB;IACD;QACI,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,0BAA0B;QAChC,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,8BAA8B;QACrC,IAAI,EAAE,0BAA0B;KACnC;CACJ;AAEM,MAAM,WAAW,GAAG;IACvB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACnB,CAAC;AAEK,MAAM,oBAAoB,GAAG;IAChC,SAAS,EAAE,KAAK;IAChB,UAAU,EAAE,MAAM;IAClB,UAAU,EAAE,MAAM;IAClB,UAAU,EAAE,MAAM;IAClB,eAAe,EAAE,WAAW;IAC5B,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE,MAAM;IACjB,WAAW,EAAE,QAAQ;CACxB,CAAC;;;;;;;;;;;;;AC3HF;AAAA;AAAO,MAAM,SAAS,GAAC;IACnB,YAAY,EAAC,cAAc;IAC3B,SAAS,EAAC,WAAW;IACrB,YAAY,EAAC,mBAAmB;CACnC,CAAC;;;;;;;;;;;;;ACHF;AAAA;AAAA;AAAA;AAA6C;;;;AAOtC,MAAM,oBAAoB;IAO/B;QALU,wBAAmB,GAAG,IAAI,0DAAY,EAAE,CAAC;QAMjD,IAAI,CAAC,UAAU,GAAG,CAAC;IACrB,CAAC;IAED,QAAQ;IAER,CAAC;IAGD,eAAe,CAAC,GAAG;QACjB,IAAI,GAAG,IAAI,MAAM,EAAE;YACjB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;SAC/B;aAAM,IAAI,GAAG,IAAI,2BAA2B,EAAE;YAC7C,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,eAAe,GAAG,2BAA2B,CAAC;SACpD;aAAM,IAAI,GAAG,IAAI,WAAW,EAAE;YAC7B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC;SACpC;aAAM,IAAI,GAAG,IAAI,gBAAgB,EAAE;YAClC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC;SACzC;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,eAAe,GAAG,kBAAkB,CAAC;SAC3C;IAEH,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;QACnD,IAAI,CAAC,eAAe,GAAG,EAAE;QACzB,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;IAErC,CAAC;;wFAzCU,oBAAoB;oGAApB,oBAAoB;QCPjC,yEAAsE;QAClE,yEAA0B;QACtB,yEAAoC;QAChC,yEAA0B;QACtB,wEAAwB;QAAA,uEAAY;QAAA,4DAAK;QACzC,4EAAqE;QAAA,oEAA4D;QAAA,4DAAS;QAE9I,4DAAM;QACN,yEAAwB;QACpB,oEAAG;QAAA,wFAA4B;QAAA,4DAAI;QACnC,wEAA0G;QAAlC,wIAAS,oBAAgB,MAAM,CAAC,IAAC;QAAC,gEAAI;QAAA,4DAAI;QAClH,wEAAoJ;QAAvD,wIAAS,oBAAgB,2BAA2B,CAAC,IAAC;QAAC,mFACpJ;QAAA,4DAAI;QACJ,wEAAoH;QAAvC,wIAAS,oBAAgB,WAAW,CAAC,IAAC;QAAC,qEAAS;QAAA,4DAAI;QACjI,wEAA8H;QAA5C,wIAAS,oBAAgB,gBAAgB,CAAC,IAAC;QAAC,0EAAc;QAAA,4DAAI;QAChJ,wEAAkI;QAA9C,wIAAS,oBAAgB,kBAAkB,CAAC,IAAC;QAAC,4EAAgB;QAAA,4DAAI;QAC1J,4DAAM;QACN,0EAA0B;QACtB,8EAAuF;QAAA,kEAAM;QAAA,4DAAS;QACtG,8EAA+I;QAAzD,6IAAS,oBAAgB,IAAC;QAA+B,kEAAM;QAAA,4DAAS;QAClK,4DAAM;QACV,4DAAM;QAEV,4DAAM;QACV,4DAAM;;QAxBD,2EAAc;QAUoB,2DAAgD;QAAhD,0KAAgD;QAChD,0DAAqE;QAArE,+LAAqE;QAErE,0DAAqD;QAArD,gLAAqD;QACrD,0DAA0D;QAA1D,qLAA0D;QAC1D,0DAA4D;QAA5D,uLAA4D;QAI8B,0DAA6B;QAA7B,0FAA6B;;;;;;;;;;;;;;AClB9J;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuD;AAGI;AAEpC;;;;AAMhB,MAAM,eAAe;IAE1B,YAAoB,IAAiB,EAAU,KAAmB;QAA9C,SAAI,GAAJ,IAAI,CAAa;QAAU,UAAK,GAAL,KAAK,CAAc;QAG3D,uBAAkB,GAAG,IAAI,oEAAe,CAAM,EAAE,CAAC,CAAC;QAClD,sBAAiB,GAAG,IAAI,oEAAe,CAAM,EAAE,CAAC,CAAC;QACjD,mBAAc,GAAG,IAAI,oEAAe,CAAM,EAAE,CAAC,CAAC;QAC9C,wBAAmB,GAAG,IAAI,oEAAe,CAAU,IAAI,CAAC,CAAC;QACzD,0BAAqB,GAAG,IAAI,oEAAe,CAAU,IAAI,CAAC,CAAC;QAC3D,+BAA0B,GAAG,IAAI,oEAAe,CAAU,KAAK,CAAC,CAAC;QACjE,gBAAW,GAAG,IAAI,oEAAe,CAAM,EAAE,CAAC,CAAC;IARlD,CAAC;IAUD,kBAAkB,CAAC,UAAU;QAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAChH,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrC,mCAAmC;aACpC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB,CAAC,UAAU;QAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACpH,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;aACrB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB,CAAC,UAAU;QAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACpH,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;aACrB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,GAAG;QACf,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,EAAE;YACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACvG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACpB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,8CAA8C,CAAC,CAAC;oBAC9E,CAAC,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;iBACjC;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACvG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACpB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,8CAA8C,CAAC,CAAC;oBAC9E,CAAC,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;iBACjC;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,cAAc,CAAC,GAAG;QAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/G,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;gBACpB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,8CAA8C,CAAC,CAAC;aAC/E;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,GAAG;QACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAC3G,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;gBACpB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,iCAAiC,CAAC,CAAC;aAClE;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB,CAAC,GAAG;QACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC7G,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACpB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,yFAAyF,CAAC,CAAC;oBACzH,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBAC1B;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB,CAAC,KAAK;QAC1B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,SAAS;QACP,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC;IAC3F,CAAC;IAEM,eAAe,CAAC,QAAY;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC;IACxG,CAAC;IAEM,eAAe,CAAC,KAAa;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC;IAC1F,CAAC;IAEM,iBAAiB,CAAC,KAAa;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC;IACrG,CAAC;IAEM,oBAAoB,CAAC,KAAa,EAAE,QAAY;QACrD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC;IAClG,CAAC;IAEM,mBAAmB,CAAC,QAAY;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC;IACzG,CAAC;IAEM,mBAAmB,CAAC,UAAkB,EAAE,SAAkB;QAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,6BAA6B,UAAU,GAAG,SAAS,EAAC,aAAY,GAAC,SAAS,EAAC,GAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC;IAC3J,CAAC;IAEM,sBAAsB,CAAC,UAAkB;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,6BAA6B,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC;IAC1G,CAAC;IAEM,sBAAsB,CAAC,KAAa;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,yCAAyC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC;IAC5H,CAAC;IACM,mBAAmB;QACxB,MAAM,MAAM,GAAG,uBAAuB,CAAC;QACvC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAC,MAAM,EAAC,EAAE;YACpC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,KAAK,EAAC,wEAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBACrF,IAAI,mBAAmB,GAAC,EAAE,CAAC;gBAC3B,IAAG,GAAG,CAAC,IAAI,IAAE,GAAG,EAAC;oBACZ,mBAAmB,GAAC,6CAAC,CAAC,GAAG,CAAC,GAAG,EAAC,0BAA0B,EAAC,EAAE,CAAC,CAAC;iBACjE;gBACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAC3C,OAAO,CAAC,mBAAmB,CAAC,CAAC;YAC/B,CAAC,CAAC;QAAA,CAAC,CAAC,CAAC;IACP,CAAC;IACM,gBAAgB,CAAC,QAAsB;QAC5C,MAAM,MAAM,GAAG,uBAAuB,CAAC;QACvC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAC,MAAM,EAAC,EAAE;YACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,wEAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBAC/F,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,CAAC;QAAA,CAAC,CAAC,CAAC;IACP,CAAC;;8EAhJU,eAAe;kGAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPoC;AAEmB;AAE7B;AAE2B;AACN;AAOR;AACjC;;;;;;;;;;;;;;AAkBnB,MAAM,WAAW;IAapB,YACY,IAAiB,EACjB,qBAA4C,EAC5C,OAAgB,EAChB,KAA8B,EAC9B,MAAc,EACd,KAAqB,EACrB,OAAuB,EACvB,aAA4B,EAC5B,KAAmB,EACnB,SAA2B,EAC3B,OAAuB,EACvB,WAA+B,EAC/B,OAAsB;QAZtB,SAAI,GAAJ,IAAI,CAAa;QACjB,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,YAAO,GAAP,OAAO,CAAS;QAChB,UAAK,GAAL,KAAK,CAAyB;QAC9B,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,YAAO,GAAP,OAAO,CAAgB;QACvB,kBAAa,GAAb,aAAa,CAAe;QAC5B,UAAK,GAAL,KAAK,CAAc;QACnB,cAAS,GAAT,SAAS,CAAkB;QAC3B,YAAO,GAAP,OAAO,CAAgB;QACvB,gBAAW,GAAX,WAAW,CAAoB;QAC/B,YAAO,GAAP,OAAO,CAAe;QAOlC,0CAA0C;QAE1C,mBAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAC9B,4DAAM,CAA6B,8DAA4B,CAAC,EAChE,gEAAS,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,IAAI,CACrE,0DAAG,CAAC,CAAC,GAAgB,EAAE,EAAE;YACrB,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;gBAClB,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;aAC5C;QACL,CAAC,CAAC,EACF,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;YACjB,OAAO;gBACH;oBACI,IAAI,EAAE,kDAAgB;iBACzB;aACJ,CAAC;QACN,CAAC,CAAC,CACL,CACA,CACJ;QAGD,iBAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAC5B,4DAAM,CAAC,2DAAyB,CAAC,EACjC,0DAAG,CAAC,CAAC,MAAgC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EACzD,gEAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACnB,MAAM,UAAU,GAAG;gBACf,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,WAAW,EAAE,GAAG,CAAC,SAAS;gBAC1B,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE;gBAChC,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,GAAG,EAAE,GAAG,CAAC,EAAE;aACd,CAAC;YAEF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CACrG,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACR,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAClB,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;oBACzD,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACnE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACzB,OAAO;wBACH,IAAI,sDAAoB,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC;wBACzD,IAAI,+DAA6B,EAAE;wBACnC,IAAI,2EAAmC,CAAC,gBAAgB,CAAC,IAAI,CAAC;qBACjE,CAAC;iBACL;qBAAM;oBACH,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACzC,OAAO,CAAC,EAAE,IAAI,EAAE,kDAAgB,EAAE,CAAC,CAAC;iBACvC;YACL,CAAC,CAAC,EACF,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO;oBACH;wBACI,IAAI,EAAE,kDAAgB;qBACzB;iBACJ,CAAC;YACN,CAAC,CAAC,CACL,CAAC;QACN,CAAC,CAAC,CACL,CAAC;QAIF,iBAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAC5B,4DAAM,CAAC,2DAAyB,CAAC,EACjC,0DAAG,CAAC,CAAC,MAAgC,EAAE,EAAE;YACrC,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,EACF,gEAAS,CACL,CAAC,GAAiB,EAAE,EAAE;YAClB,MAAM,UAAU,GAAG;gBACf,WAAW,EAAE,GAAG,CAAC,SAAS;gBAC1B,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,SAAS;aACpB,CAAC;YACF,MAAM,MAAM,GAAG,kBAAkB,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,IAAI,CACvD,+DAAQ,CAAC,CAAC,GAAgB,EAAE,EAAE;gBAC1B,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAClB,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE;wBACjB,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;wBAC/B,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;wBACzC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;qBACrB;oBACD,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACtD,OAAO;wBACH,IAAI,sDAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5C,IAAI,+DAA6B,EAAE;wBACnC,IAAI,2EAAmC,CAAC,GAAG,CAAC,IAAI,CAAC;qBACpD,CAAC;iBACL;qBAAM;oBACH,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACzC,OAAO;wBACH;4BACI,IAAI,EAAE,kDAAgB;yBACzB;qBACJ,CAAC;iBACL;YACL,CAAC,CAAC,EACF,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO;oBACH;wBACI,IAAI,EAAE,kDAAgB;qBACzB;iBACJ,CAAC;YACN,CAAC,CAAC,CACL,CAAC;QACN,CAAC,CACJ,CACJ;QAED,0CAA0C;QAE1C,uBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAClC,4DAAM,CAAiC,kEAAgC,CAAC,EACxE,0DAAG,CAAC,GAAG,EAAE;YACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CACL,CAAC;QAEF,0CAA0C;QAE1C,WAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,4DAAM,CAAqB,oDAAkB,CAAC,EAC9C,0DAAG,CAAC,CAAC,MAA0B,EAAE,EAAE;QACnC,CAAC,CAAC,EACF,gEAAS,CACL,CAAC,QAAQ,EAAE,EAAE;YACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAC9F,+DAAQ,CAAC,CAAC,GAAgB,EAAE,EAAE;;gBAC1B,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAClB,IAAI,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;oBAC5D,YAAY,CAAC,KAAK,EAAE,CAAC;oBACrB,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,aAAa,CAAC;oBACtD,cAAc,CAAC,KAAK,EAAE,CAAC;oBACvB,CAAC,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAChC,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC;oBAC9B,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;oBACpC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC3C,IAAI,UAAU,GAAC,QAAC,IAAI,CAAC,QAAQ,0CAAE,UAAU,EAAC;oBAC1C,YAAY,CAAC,KAAK,EAAE,CAAC;oBACrB,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,aAAa,CAAC;oBACtD,cAAc,CAAC,KAAK,EAAE,CAAC;oBACvB,IAAG,CAAC,UAAU,EAAC;wBACX,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,wEAAW,CAAC,YAAY,sBAAsB,CAAC;qBAC5E;yBAAI;wBACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;qBAC/B;oBACD,OAAO;wBACH;4BACI,IAAI,EAAE,4DAA0B;yBACnC;qBACJ,CAAC;iBACL;qBAAM;oBACH,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACzC,OAAO;wBACH;4BACI,IAAI,EAAE,kDAAgB;yBACzB;qBACJ,CAAC;iBACL;YACL,CAAC,CAAC,EACF,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO;oBACH;wBACI,IAAI,EAAE,kDAAgB;qBACzB;iBACJ,CAAC;YACN,CAAC,CAAC,CACL,CAAC;QACN,CAAC,CACJ,CACJ;QAGD,mBAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAC9B,4DAAM,CAAC,8DAA4B,CAAC,EACpC,0DAAG,CAAC,CAAC,MAAkC,EAAE,EAAE;YACvC,OAAO;QACX,CAAC,CAAC,EACF,gEAAS,CACL,GAAG,EAAE;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;gBAC9C,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;oBACjB,OAAO;wBACH;4BACI,IAAI,EAAE,kDAAgB;yBACzB;qBACJ,CAAC;gBACN,CAAC,CAAC;gBACF,+DAAQ,CACJ,CAAC,GAAgB,EAAE,EAAE;oBACjB,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;wBAClB,mBAAmB;wBACnB,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC;wBACrB,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC,IAAI,CAAC;qBACvC;yBAAM;wBACH,OAAO;4BACH;gCACI,IAAI,EAAE,kDAAgB;6BACzB;yBACJ,CAAC;qBACL;gBACL,CAAC,CACJ,CAAC;QACV,CAAC,CACJ,CACJ;QAGD,qBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAChC,4DAAM,CAAC,iEAA+B,CAAC,EACvC,0DAAG,CAAC,CAAC,MAAoC,EAAE,EAAE;YACzC,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,EACF,gEAAS,CACL,CAAC,QAAQ,EAAE,EAAE;YACT,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE;gBAC3B,UAAU,GAAG;oBACT,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,YAAY,EAAE,QAAQ,CAAC,YAAY;oBACnC,MAAM,EAAE,KAAK;oBACb,WAAW,EAAE,EAAE;iBAClB,CAAC;gBACF,IAAI,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;oBACvC,UAAU,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;iBAChE;aAEJ;iBACI;gBACD,UAAU,GAAG;oBACT,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,YAAY,EAAE,QAAQ,CAAC,YAAY;oBACnC,MAAM,EAAE,KAAK;oBACb,WAAW,EAAE,EAAE;iBAClB,CAAC;aACL;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CACvG,+DAAQ,CAAC,CAAC,GAAgB,EAAE,EAAE;gBAC1B,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACtC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAEtD,OAAO;wBACH,IAAI,sDAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5C,IAAI,+DAA6B,EAAE;wBACnC,IAAI,2EAAmC,CAAC,GAAG,CAAC,IAAI,CAAC;qBACpD,CAAC;iBACL;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACzB,OAAO;wBACH;4BACI,IAAI,EAAE,kDAAgB;yBACzB;qBACJ,CAAC;iBACL;qBAAM;oBACH,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACzC,OAAO;wBACH;4BACI,IAAI,EAAE,kDAAgB;yBACzB;qBACJ,CAAC;iBACL;YACL,CAAC,CAAC,EACF,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO;oBACH;wBACI,IAAI,EAAE,kDAAgB;qBACzB;iBACJ,CAAC;YACN,CAAC,CAAC,CACL,CAAC;QACN,CAAC,CACJ,CACJ;QAGD,oBAAe,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAC/B,4DAAM,CAAC,+DAA6B,CAAC,EACrC,0DAAG,CAAC,CAAC,MAAmC,EAAE,EAAE;YACxC,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,EACF,gEAAS,CACL,CAAC,QAAQ,EAAE,EAAE;YACT,MAAM,UAAU,GAAG;gBACf,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,MAAM,EAAE,KAAK;gBACb,WAAW,EAAE,EAAE;gBACf,MAAM,EAAE,QAAQ,CAAC,MAAM;aAC1B,CAAC;YACF,IAAI,UAAU,CAAC,GAAG,EAAE;gBAChB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CACrG,+DAAQ,CAAC,CAAC,GAAgB,EAAE,EAAE;oBAC1B,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACtD,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;wBACtC,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;wBAC5C,OAAO;4BACH,IAAI,sDAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;4BAC5C,IAAI,+DAA6B,EAAE;4BACnC,IAAI,2EAAmC,CAAC,GAAG,CAAC,IAAI,CAAC;yBACpD,CAAC;qBACL;yBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;wBACzB,OAAO;4BACH;gCACI,IAAI,EAAE,kDAAgB;6BACzB;yBACJ,CAAC;qBACL;yBAAM;wBACH,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBACzC,OAAO;4BACH;gCACI,IAAI,EAAE,kDAAgB;6BACzB;yBACJ,CAAC;qBACL;gBAEL,CAAC,CAAC,EACF,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;oBACjB,OAAO;wBACH;4BACI,IAAI,EAAE,kDAAgB;yBACzB;qBACJ,CAAC;gBACN,CAAC,CAAC,CACL,CAAC;aACL;iBAAM;gBACH,OAAO;oBACH;wBACI,IAAI,EAAE,kDAAgB;qBACzB;iBACJ,CAAC;aACL;QACL,CAAC,CACJ,CACJ;QAGD,oBAAe,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAC/B,4DAAM,CAAC,+DAA6B,CAAC,EACrC,0DAAG,CAAC,CAAC,MAAmC,EAAE,EAAE;YACxC,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,EACF,gEAAS,CACL,CAAC,QAAQ,EAAE,EAAE;YACT,MAAM,UAAU,GAAG;gBACf,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,MAAM,EAAE,KAAK;gBACb,WAAW,EAAE,EAAE;aAClB,CAAC;YACF,IAAI,UAAU,CAAC,GAAG,EAAE;gBAChB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CACrG,+DAAQ,CAAC,CAAC,GAAgB,EAAE,EAAE;oBAC1B,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;wBACtC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBACtD,OAAO;4BACH,IAAI,sDAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;4BAC5C,IAAI,+DAA6B,EAAE;4BACnC,IAAI,2EAAmC,CAAC,GAAG,CAAC,IAAI,CAAC;yBACpD,CAAC;qBACL;yBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;wBACzB,OAAO;4BACH;gCACI,IAAI,EAAE,kDAAgB;6BACzB;yBACJ,CAAC;qBACL;yBAAM;wBACH,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBACzC,OAAO;4BACH;gCACI,IAAI,EAAE,kDAAgB;6BACzB;yBACJ,CAAC;qBACL;gBAEL,CAAC,CAAC,EACF,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;oBACjB,OAAO;wBACH;4BACI,IAAI,EAAE,kDAAgB;yBACzB;qBACJ,CAAC;gBACN,CAAC,CAAC,CACL,CAAC;aACL;iBAAM;gBACH,OAAO;oBACH;wBACI,IAAI,EAAE,kDAAgB;qBACzB;iBACJ,CAAC;aACL;QACL,CAAC,CACJ,CACJ;QAGD,yBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACpC,4DAAM,CAAC,oEAAkC,CAAC,EAC1C,0DAAG,CAAC,CAAC,MAAwC,EAAE,EAAE;YAC7C,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,EACF,gEAAS,CACL,CAAC,QAAQ,EAAE,EAAE;YACT,IAAI,UAAU,CAAC;YAEf,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gBACtB,UAAU,GAAG;oBACT,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,YAAY,EAAE,QAAQ,CAAC,YAAY;oBACnC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;oBACzB,MAAM,EAAE,KAAK;oBACb,WAAW,EAAE,EAAE;iBAClB;aACJ;iBACI,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;gBAChC,UAAU,GAAG;oBACT,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,YAAY,EAAE,QAAQ,CAAC,YAAY;oBACnC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;oBACrC,MAAM,EAAE,KAAK;oBACb,WAAW,EAAE,EAAE;iBAClB;aACJ;iBACI,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gBAC3B,UAAU,GAAG;oBACT,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,YAAY,EAAE,QAAQ,CAAC,YAAY;oBACnC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;oBACzB,MAAM,EAAE,KAAK;oBACb,WAAW,EAAE,EAAE;iBAClB;aACJ;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAChF,+DAAQ,CAAC,CAAC,GAAgB,EAAE,EAAE;gBAC1B,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACtC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACtD,OAAO;wBACH,IAAI,sDAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5C,IAAI,+DAA6B,EAAE;wBACnC,IAAI,2EAAmC,CAAC,GAAG,CAAC,IAAI,CAAC;qBACpD,CAAC;iBACL;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACzB,OAAO;wBACH;4BACI,IAAI,EAAE,kDAAgB;yBACzB;qBACJ,CAAC;iBACL;qBAAM;oBACH,OAAO;wBACH;4BACI,IAAI,EAAE,kDAAgB;yBACzB;qBACJ,CAAC;iBACL;YAEL,CAAC,CAAC,EACF,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO;oBACH;wBACI,IAAI,EAAE,kDAAgB;qBACzB;iBACJ,CAAC;YACN,CAAC,CAAC,CACL,CAAC;QACN,CAAC,CACJ,CACJ;QAGD,kBAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAC7B,4DAAM,CAAC,4DAA0B,CAAC,EAClC,0DAAG,CAAC,CAAC,MAAgC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EACzD,gEAAS,CAAC,CAAC,QAAa,EAAE,EAAE;YACxB,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,IAAI,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE;gBACtC,WAAW,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,CAAC;gBAClC,OAAO,QAAQ,CAAC,SAAS,CAAC;aAC7B;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAClG,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO,+CAAE,CAAC,EAAE,IAAI,EAAE,kDAAgB,EAAE,CAAC,CAAC;YAC1C,CAAC,CAAC,EACF,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;;gBACR,MAAM,QAAQ,GAAG,GAAG,CAAC;gBACrB,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE;oBACjB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACvC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACjC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACrC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,cAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,MAAM,0CAAE,MAAM,EAAE,IAAI,cAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,MAAM,0CAAE,WAAW,EAAE,CAAC,CAAC;oBAExJ,MAAM;oBACN,MAAM,OAAO,GAAG;wBACZ,OAAO,EAAE,cAAc;wBACvB,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa;qBACxF,CAAC;oBACF,IAAI,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;wBACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;qBAC1D;yBAAM,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;wBACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC;qBAClC;oBACD,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;oBAChD,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAElC,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC1D,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAElD,IAAI,OAAO,GAAG,EAAE,CAAC;oBACjB,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;wBACvB,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;4BAC5C,OAAO,GAAG,UAAU,CAAC;yBACxB;6BAAM,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,EAAE;4BACxD,OAAO,GAAG,YAAY,CAAC;yBAC1B;6BAAM,IAAI,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,cAAc,EAAE;4BAChE,OAAO,GAAG,kBAAkB,CAAC;yBAChC;6BAAM,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;4BACjD,OAAO,GAAG,iBAAiB,CAAC;yBAC/B;6BAAM,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE;4BACxD,OAAO,GAAG,0BAA0B,CAAC;yBACxC;6BAAM,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;4BACjD,OAAO,GAAG,cAAc,CAAC;yBAC5B;6BAAM;4BACH,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;yBAC/F;wBAED,IAAI,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,EAAE;4BAC9C,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAChC,iBAAiB,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,iEAAiE,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,eAAQ,CAAC,KAAK,0CAAE,IAAI,KAAI,EAAE,cAAc,QAAQ,CAAC,IAAI,IAAI,EAAE,EAAE,EAC/M,OAAO,CACV,CAAC;yBACL;6BAAM;4BACH,MAAM,gBAAgB,GAAG;gCACrB,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;gCACpD,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG;6BAC9B,CAAC;4BACF,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI;gCAAE,gBAAgB,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;4BAC5F,IAAI,QAAQ,CAAC,IAAI;gCAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC;4BACjE,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;yBACtG;qBACJ;yBAAM;wBACH,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;4BACzC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;4BAC1E,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAChC,WAAW,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,gBAAgB,aAAa,CAAC,IAAI,CAAC,IAAI,iBAAiB,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,EACpM,aAAa,CAChB,CAAC;yBACL;6BAAM;4BACH,MAAM,gBAAgB,GAAG;gCACrB,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;gCACpD,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG;6BAC9B,CAAC;4BACF,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI;gCAAE,gBAAgB,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;4BAC5F,IAAI,QAAQ,CAAC,IAAI;gCAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC;4BACjE,IAAI,YAAY,GAAG,EAAE,CAAC;4BACtB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,EAAE;gCACjD,YAAY,GAAG,YAAY,CAAC;6BAC/B;iCAAM,IAAI,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,cAAc,EAAE;gCAChE,YAAY,GAAG,kBAAkB,CAAC;6BACrC;iCAAM;gCACH,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;6BACpG;4BACD,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;yBAC3G;qBACJ;oBAED,OAAO,EAAE,IAAI,EAAE,oDAAkB,EAAE,CAAC;iBACvC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACzB,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAC,WAAW,EAAE,IAAI,EAAE,WAAW,EAAC,CAAC,CAAC;oBACtE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACzC,OAAO,EAAE,IAAI,EAAE,kDAAgB,EAAE,CAAC;iBACrC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACzB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACtC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAC,WAAW,EAAE,IAAI,EAAE,WAAW,EAAC,CAAC,CAAC;oBACtE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC,CAAC;oBAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;oBACtC,OAAO,EAAE,IAAI,EAAE,kDAAgB,EAAE,CAAC;iBACrC;qBAAM;oBACH,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAC,WAAW,EAAE,IAAI,EAAE,WAAW,EAAC,CAAC,CAAC;oBACtE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;oBAClC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACzC,OAAO,EAAE,IAAI,EAAE,kDAAgB,EAAE,CAAC;iBACrC;YACL,CAAC,CAAC,CACL,CAAC;QACN,CAAC,CAAC,CACL,CAAC;QAGF,qBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAChC,4DAAM,CAAC,2DAAyB,CAAC,EACjC,0DAAG,CAAC,CAAC,MAAgC,EAAE,EAAE;YACrC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;YACjC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;QACvC,CAAC,CAAC,EACF,gEAAS,CAAC,CAAC,QAAQ,EAAE,EAAE;YACnB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjE,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAChH,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO,+CAAE,CAAC,EAAE,IAAI,EAAE,kDAAgB,EAAE,CAAC,CAAC;YAC1C,CAAC,CAAC,CACL,CAAC;QACN,CAAC,CAAC,EACF,+DAAQ,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;YACpC,IAAI,IAAI,IAAI,GAAG,EAAE;gBACb,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC;gBACxC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBACrD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;gBAChD,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;oBACrB,OAAO,EAAE,cAAc;oBACvB,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa;iBACxF,CAAC,CAAC;gBAEH,MAAM,gBAAgB,GAAG;oBACrB,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;oBAClC,gBAAgB,EAAE,IAAI;iBACzB,CAAC;gBAEF,IAAI,uBAAuB,GAAG,KAAK,CAAC;gBACpC,IAAI;oBACA,uBAAuB,GAAG,uBAAuB,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;oBACtF,uBAAuB,GAAG,uBAAuB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;oBAC9F,uBAAuB,GAAG,uBAAuB,IAAI,IAAI,CAAC,SAAS,CAAC;iBACvE;gBAAC,OAAO,KAAK,EAAE,GAAG;gBACnB,IAAI,uBAAuB,EAAE;oBACzB,gBAAgB,CAAC,YAAY,CAAC,GAAG,0BAA0B,CAAC;oBAC5D,gBAAgB,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC;iBAC7C;gBAED,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;gBACrD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACzB,OAAO;oBACH,EAAE,IAAI,EAAE,uDAAqB,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;oBAC3D,EAAE,IAAI,EAAE,oDAAkB,EAAE;oBAC5B,EAAE,IAAI,EAAE,8DAA4B,EAAE;iBACzC,CAAC;aACL;iBAAM;gBACH,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAC,UAAU,EAAE,IAAI,EAAC,CAAC,CAAC;gBACrD,OAAO,CAAC,EAAE,IAAI,EAAE,kDAAgB,EAAE,CAAC,CAAC;aACvC;QACL,CAAC,CAAC,CACL,CAAC;QAGF,eAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAC1B,4DAAM,CAAC,wDAAsB,CAAC,EAC9B,0DAAG,CAAC,CAAC,MAA6B,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EACtD,gEAAS,CAAC,CAAC,QAAQ,EAAE,EAAE,CACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CACvF,+DAAQ,CAAC,CAAC,QAAQ,EAAE,EAAE;YAClB,IAAI,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE;gBACvB,qBAAqB;gBACrB,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;oBAClC,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;iBAC9C;gBAED,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;oBACvC,kBAAkB;oBAClB,MAAM,gBAAgB,GAAG;wBACrB,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;qBACzD,CAAC;oBAEF,IAAI,uBAAuB,GAAG,KAAK,CAAC;oBACpC,IAAI;wBACA,uBAAuB,GAAG,uBAAuB,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;wBAC/F,uBAAuB,GAAG,uBAAuB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;wBACvG,uBAAuB,GAAG,uBAAuB,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;qBAChF;oBAAC,OAAO,KAAK,EAAE,GAAG;oBAEnB,IAAI,uBAAuB,EAAE;wBACzB,gBAAgB,CAAC,YAAY,CAAC,GAAG,0BAA0B,CAAC;wBAC5D,gBAAgB,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC;qBAC7C;oBAED,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;iBACxD;gBAED,IAAI,cAAc,CAAC;gBACnB,IAAI,QAAQ,CAAC,YAAY,IAAI,IAAI,IAAI,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE;oBACzD,cAAc,GAAG;wBACb,MAAM,EAAE;4BACJ,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG;4BAC7B,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;yBAClC;qBACJ,CAAC;oBACF,4CAA4C;oBAC5C,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;oBAChD,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;wBACrB,OAAO,EAAE,YAAY;wBACrB,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa;qBACxF,CAAC,CAAC;iBACN;qBAAM,IAAI,QAAQ,CAAC,YAAY,IAAI,IAAI,IAAI,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE;oBAChE,cAAc,GAAG;wBACb,MAAM,EAAE;4BACJ,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG;4BAC7B,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;yBAC/E;qBACJ,CAAC;oBACF,4CAA4C;oBAC5C,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;oBAChD,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;wBACrB,OAAO,EAAE,aAAa;wBACtB,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa;qBACxF,CAAC,CAAC;iBACN;gBAED,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC3D,mBAAmB;gBACnB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;gBAClC,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;gBACjD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACxD,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC;gBAC7C,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE;oBACnB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,yEAAiC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;iBACjF;gBACD,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;gBACtC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,2EAAmC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvD,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,4BAA4B,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,qCAAqC,EAAE;oBAC1I,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC;iBACtD;gBACD,oDAAoD;gBACpD,OAAO;oBACH;wBACI,IAAI,EAAE,uDAAqB;wBAC3B,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS;qBACnC;oBACD;wBACI,IAAI,EAAE,oDAAkB;qBAC3B;iBACJ,CAAC;aACL;iBAAM;gBACH,QAAQ,QAAQ,CAAC,IAAI,EAAE;oBACnB,KAAK,GAAG;wBACJ,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAC,CAAC,CAAC;wBAChE,MAAM;oBACV,KAAK,GAAG;wBACJ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC7D,MAAM;oBACV,KAAK,GAAG;wBACJ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;wBACrE,MAAM;oBACV;wBACI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;iBAC7B;gBAED,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;gBAEvD,OAAO;oBACH;wBACI,IAAI,EAAE,kDAAgB;qBACzB;iBACJ,CAAC;aACL;QACL,CAAC,CAAC,EACF,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;YACjB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;YACvD,OAAO;gBACH;oBACI,IAAI,EAAE,kDAAgB;iBACzB;aACJ,CAAC;QACN,CAAC,CAAC,CACL,CACJ,CACJ,CAAC;QAxwBE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE;YACvD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;QACzC,CAAC,CAAC,CAAC;IACP,CAAC;IAuwBD,YAAY,CAAC,GAAG;QACZ,QAAQ,GAAG,EAAE;YACT,KAAK,YAAY,CAAC,CAAC;gBACf,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;gBAC1C,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;oBAClB,KAAK,EAAE,cAAc;iBACxB,CAAC,CAAC;aACN;SACJ;IACL,CAAC;;sEA/yBQ,WAAW;8FAAX,WAAW,WAAX,WAAW;AAmCpB;IADC,4DAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;mDAkB3B;AAGD;IADC,4DAAM,EAAE;iDAsCP;AAIF;IADC,4DAAM,EAAE;iDA+CR;AAID;IADC,4DAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;uDAM1B;AAIF;IADC,4DAAM,EAAE;2CAmDR;AAGD;IADC,4DAAM,EAAE;mDAiCR;AAGD;IADC,4DAAM,EAAE;qDAgER;AAGD;IADC,4DAAM,EAAE;oDA2DR;AAGD;IADC,4DAAM,EAAE;oDAyDR;AAGD;IADC,4DAAM,EAAE;yDA0ER;AAGD;IADC,4DAAM,EAAE;kDAoHP;AAGF;IADC,4DAAM,EAAE;qDAwDP;AAGF;IADC,4DAAM,EAAE;+CA4HP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACr0BkD;AACI;AAGN;AAGC;AAKvB;;;;;;;;;;AAWzB,MAAM,eAAe;IAMxB,YACY,IAAiB,EACjB,OAAgB,EAChB,MAAc,EACd,KAA8B,EAC9B,YAA0B,EAC1B,cAA8B,EAC9B,cAAqC,EAAU,WAA+B;QAN9E,SAAI,GAAJ,IAAI,CAAa;QACjB,YAAO,GAAP,OAAO,CAAS;QAChB,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAyB;QAC9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAuB;QAAU,gBAAW,GAAX,WAAW,CAAoB;QAM1F,uDAAuD;QAEvD,uBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAClC,4DAAM,CAAoC,qEAAmC,CAAC,EAC9E,gEAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YACf,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,MAAM,GAAG,GAAG,4BAA4B,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;YAC1E,OAAO,qDAAQ,CAAC;gBACZ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;gBACpD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;aAC5C,CAAC,CAAC,IAAI,CACH,0DAAG,CAAC,CAAC,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,EAAE,EAAE;gBAC5C,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,IAAI,cAAc,GAAG,EAAE,CAAC;gBACxB,IAAI,cAAc,GAAG,EAAE,CAAC;gBACxB,IAAI,UAAU,GAAG,EAAE,CAAC;gBACpB,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC7D,IAAI,mBAAmB,CAAC,IAAI,KAAK,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;oBACtF,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;oBAC7D,IAAI,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE;wBACzC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;wBAClC,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;wBACxE,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC;wBAC/C,cAAc,GAAG,cAAc,CAAC;qBACnC;iBACJ;qBAAM;oBACH,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;iBAC3E;gBACD,IAAI,gBAAgB,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC/B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC;oBACvC,IAAI,QAAQ,GAAG,EAAE,CAAC;oBAClB,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC3G,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC9E;oBACD,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;oBAC7D,QAAQ,OAAO,EAAE;wBACb,KAAK,QAAQ;4BACT,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;4BAC1F,MAAM;wBACV,KAAK,SAAS;4BACV,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;4BAC5F,MAAM;wBACV,KAAK,SAAS;4BACV,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;4BAC5F,MAAM;qBACb;oBACD,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,IAAI,QAAQ,EAAE;wBAC7C,IAAI,OAAO,IAAI,SAAS,EAAE;4BACtB,IAAI,CAAC,WAAW,IAAI,cAAc,IAAI,SAAS,EAAE;gCAC7C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,OAAO,oBAAoB,CAAC,CAAC,CAAC;6BACxE;iCAAM,IAAI,CAAC,CAAC,WAAW,IAAI,cAAc,IAAI,MAAM,CAAC,EAAE;gCACnD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,OAAO,qBAAqB,CAAC,CAAC,CAAC;6BACzE;yBACJ;6BACI;4BACD,IAAI,OAAO,IAAI,QAAQ,EAAE;gCACrB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC;6BACnE;yBACJ;qBAEJ;yBAAM;wBACH,IAAI,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,IAAI,QAAQ,CAAC,mBAAmB;4BACjF,CAAC,QAAQ,CAAC,kBAAkB,EAAE;4BAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,OAAO,iBAAiB,CAAC,CAAC,CAAC;yBACrE;6BACI;4BACD,IAAI,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE;gCACjF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;6BACnC;iCAAM;gCACH,IAAI,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,GAAG,EAAE;oCACxF,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;iCACpE;qCAAM;oCACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;iCACnC;6BACJ;yBACJ;qBACJ;oBACD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBAClC,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC1F,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtG,MAAM,kBAAkB,GAAG,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5G,MAAM,mBAAmB,GAAG,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC;oBAClH,MAAM,kBAAkB,GAAG,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC;oBACvI,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;oBACzH,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;oBACtH,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;oBACzH,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;oBAE/F,MAAM,QAAQ,GAAG,IAAI,+DAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,EACnF,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC,YAAY,EACjE,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,EACxD,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,EAAE,gBAAgB,EAAE,kBAAkB,EAC1E,UAAU,EAAE,SAAS,EAAE,UAAU,EACjC,kBAAkB,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,mBAAmB,EAC1E,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE,cAAc,EACpF,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;oBACxF,OAAO;wBACH,IAAI,EAAE,wEAAsC;wBAC5C,OAAO,EAAE,QAAQ;qBACpB,CAAC;iBACL;qBAAM;oBACH,OAAO;wBACH,IAAI,EAAE,sDAAoB;qBAC7B,CAAC;iBACL;YAEL,CAAC,CACA,EACD,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO;oBACH;wBACI,IAAI,EAAE,sDAAoB;qBAC7B;iBACJ,CAAC;YACN,CAAC,CAAC,CACL,CAAC;QACN,CAAC,CAAC,CACL,CAAC;QAGF,yBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACpC,4DAAM,CAAC,wEAAsC,CAAC,EAC9C,0DAAG,CAAC,CAAC,MAAsC,EAAE,EAAE;YAC3C,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,CACL,CAAC;QAGF,4BAAuB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACvC,4DAAM,CAAC,2EAAyC,CAAC,EACjD,0DAAG,CAAC,CAAC,MAA0C,EAAE,EAAE;YAC/C,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,CACL,CAAC;QAEF,0DAA0D;QAE1D,yBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACpC,4DAAM,CAAC,wEAAsC,CAAC,EAC9C,0DAAG,CAAC,CAAC,MAA4C,EAAE,EAAE;YACjD,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,CACL,CAAC;QAGF,4BAAuB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACvC,4DAAM,CAAC,0EAAwC,CAAC,EAChD,0DAAG,CAAC,CAAC,MAA+C,EAAE,EAAE;YACpD,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,EAAE,gEAAS,CACT,CAAC,OAAO,EAAE,EAAE;YACR,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAC1D,0DAAG,CACC,CAAC,GAAgB,EAAE,EAAE;gBACjB,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAClB,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE;wBACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC;qBAClE;yBAAM,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE;wBAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC;qBAC9D;iBACJ;qBAAM;oBACH,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAChD,OAAO;wBACH,IAAI,EAAE,sDAAoB;qBAC7B,CAAC;iBACL;YAEL,CAAC,CACJ,EACD,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO;oBACH;wBACI,IAAI,EAAE,sDAAoB;qBAC7B;iBACJ,CAAC;YACN,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC,CACJ,CACJ;QAxLG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE;YACjD,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC9B,CAAC,CAAC,CAAC;IACP,CAAC;;8EAjBQ,eAAe;kGAAf,eAAe,WAAf,eAAe;AAqBxB;IADC,4DAAM,EAAE;2DAqHP;AAGF;IADC,4DAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;6DAM1B;AAGF;IADC,4DAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;gEAM1B;AAIF;IADC,4DAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;6DAM1B;AAGF;IADC,4DAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;gEAkC3B;;;;;;;;;;;;;AC9NL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;AAE3C;AAGuC;AAEH;AAC5B;;;;;;;;;;;;ICVxC,oEAAoC;IAChC,yEACJ;IAAA,4DAAI;;;;IAeY,yEAAuE;IAA7B,0WAA4B;IAAC,uEAAM;IAAA,uDAAe;IAAA,4DAAO;IAAA,4DAAK;;;IAA3B,0DAAe;IAAf,+EAAe;;;;IAUxF,yEAA6E;IAArC,4XAAoC;IAAC,qEAA0F;IAAA,uDAAoB;IAAA,4DAAK;;;IAA9G,0DAA+D;IAA/D,2MAA+D;IAAC,iFAAoB;IAAC,0DAAoB;IAApB,qFAAoB;;;IANnM,0EAAsF;IAClF,0EAAgE;IAC5D,uEAAM;IAAA,qEAA6G;IAAA,uDAA6B;IAAA,4DAAO;IACvJ,2EAAyB;IAAA,qEAAiD;IAAA,4DAAO;IACrF,4DAAM;IACN,yEAAsC;IAClC,8HAAgM;IACpM,4DAAK;IACT,4DAAM;;;IANa,0DAAwE;IAAxE,uNAAwE;IAAC,6FAA6B;IAAE,0DAA6B;IAA7B,iGAA6B;IAIxH,0DAAc;IAAd,uFAAc;;;;IAvBtD,yEAAyF;IACrF,yEAAoC;IAChC,4EAC0C;IAA1B,+TAAwB;IADxC,4DAC0C;IAC9C,4DAAM;IACN,0EAAmC;IAC/B,6EAAoF;IAChF,2EAA0B;IAAC,uDAAwB;IAAA,4DAAO;IAC1D,2EAAyB;IACrB,qEAAkE;IACtE,4DAAO;IACX,4DAAS;IACT,yEAAsC;IAClC,yHAAwG;IAC5G,4DAAK;IACT,4DAAM;IACN,2EAA0D;IACtD,2HAQM;IACN,6EACmE;IAAnE,kVAAoC;IADpC,4DACmE;IACvE,4DAAM;IACN,8EAA4D;IAA1B,kUAAyB;IAAC,wDAAa;IAAA,4DAAS;IACtF,4DAAM;;;IAvBiC,0DAAwB;IAAxB,sGAAwB;IAM7B,0DAAkB;IAAlB,2FAAkB;IAIF,0DAA0C;IAA1C,6GAA0C;IAY5B,0DAAa;IAAb,iFAAa;;;;IAiC7D,yEAA0F;IAA7B,2XAA4B;IAAC,uEAAM;IAAA,uDAAe;IAAA,4DAAO;IAAA,4DAAK;;;IAA3B,0DAAe;IAAf,gFAAe;;;IAVvH,0EAA2F;IACvF,4EAAmB;IAAA,gEAAK;IAAA,4DAAQ;IAChC,gEAAI;IACJ,6EAAwF;IACpF,2EAA0B;IAAC,uDAAwB;IAAA,4DAAO;IAC1D,2EAAyB;IACrB,qEAAkE;IACtE,4DAAO;IACX,4DAAS;IACT,yEAAiD;IAC7C,wIAA2H;IAC/H,4DAAK;IACT,4DAAM;;;IAR6B,0DAAwB;IAAxB,uGAAwB;IAMV,0DAAkB;IAAlB,4FAAkB;;;;IAanD,yEAA6E;IAArC,oYAAoC;IAAC,qEAAkF;IAAA,uDAAoB;IAAA,4DAAK;;;IAAtG,0DAAuD;IAAvD,mMAAuD;IAAC,iFAAoB;IAAC,0DAAoB;IAApB,qFAAoB;;;IAN3L,0EAAsF;IAClF,0EAAgE;IAC5D,uEAAM;IAAA,qEAAqG;IAAA,uDAA6B;IAAA,4DAAO;IAC/I,2EAAyB;IAAA,qEAAkE;IAAA,4DAAO;IACtG,4DAAM;IACN,yEAAsC;IAClC,sIAAwL;IAC5L,4DAAK;IACT,4DAAM;;;IANa,0DAAgE;IAAhE,gNAAgE;IAAC,8FAA6B;IAAE,0DAA6B;IAA7B,kGAA6B;IAIhH,0DAAc;IAAd,wFAAc;;;IAOtD,yEAAgF;IAC5E,4EAAsB;IAAA,qEAAU;IAAA,wEAAO;IAAA,qEAAU;IAAA,4DAAQ;IAAA,4DAAQ;IACjE,uEACyC;IAC7C,4DAAM;;;;IAtDV,0EAAwB;IACpB,yEAAoC;IAChC,4EAAsB;IAAA,oEAAS;IAAA,4DAAQ;IACvC,0EAA8B;IAC1B,0EAAwB;IACtB,8DAA+F;IAA/F,0EAA+F;IAC3F,wEAAuC;IACrC,sEAAmU;IACrU,4DAAI;IACJ,uEAAM;IACJ,gFAAiC;IAC/B,uEAA2C;IAC7C,4DAAW;IACb,4DAAO;IACT,4DAAM;IACV,4DAAM;IACR,4DAAM;IACR,+DACkB;IADlB,wEACkB;IACtB,4DAAM;IACN,oIAYM;IACN,2EAAyB;IACrB,6EAAsB;IAAA,sEAAU;IAAA,4DAAQ;IACxC,iEAAK;IACL,2EAA8C;IAC1C,mIAQM;IACN,6EACmE;IAAnE,0VAAoC;IADpC,4DACmE;IACvE,4DAAM;IACV,4DAAM;IACN,mIAIM;IAGV,4DAAM;;;IArC8C,2DAAyC;IAAzC,mHAAyC;IAiBvC,0DAA0C;IAA1C,6GAA0C;IAavD,0DAAyC;IAAzC,mHAAyC;;;;IAStF,0EAA+D;IAC3D,0EACqC;IADyB,iVAAmC;IAC5D,4DAAM;IAC/C,4DAAM;;IAF8B,0DAAe;IAAf,wEAAe;;;;IAGnD,0EAAmE;IAC/D,6EAAiG;IAA3C,6TAAqB;IAAsB,iEAAM;IAAA,4DAAS;IAChH,6EAA4D;IAA1B,iUAAyB;IAAC,iEAAM;IAAA,4DAAS;IAC/E,4DAAM;;;IACN,0EAAuF;IAAA,2EAA4B;IAAA,gFAAqB;IAAA,4DAAO;IAAA,4DAAM;;;ADrFtJ,MAAM,sBAAsB;IAyBjC,YACU,EAAe,EACf,MAAoB,EACpB,OAAuB,EACvB,KAA8B,EAC9B,MAA2B,EAC3B,YAA2B,EAC3B,OAAsB;QANtB,OAAE,GAAF,EAAE,CAAa;QACf,WAAM,GAAN,MAAM,CAAc;QACpB,YAAO,GAAP,OAAO,CAAgB;QACvB,UAAK,GAAL,KAAK,CAAyB;QAC9B,WAAM,GAAN,MAAM,CAAqB;QAC3B,iBAAY,GAAZ,YAAY,CAAe;QAC3B,YAAO,GAAP,OAAO,CAAe;QA9BvB,gBAAW,GAAW,EAAE,CAAC;QAE1B,4BAAuB,GAAW,EAAE,CAAC;QACrC,qBAAgB,GAAa,EAAE,CAAC;QAChC,uBAAkB,GAAG,IAAI,iDAAY,EAAE,CAAC;QACzC,oBAAe,GAAU,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,wBAAmB,GAAc,IAAI,CAAC;QACtC,kBAAa,GAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QAC1D,qBAAgB,GAAQ,qFAAY,CAAC,CAAC,CAAC,CAAC;QACxC,kBAAa,GAAG;YACrB,MAAM,EAAE,mBAAmB;YAC3B,OAAO,EAAE,oBAAoB;YAC7B,QAAQ,EAAE,4BAA4B;YACtC,aAAa,EAAE,uBAAuB;SACvC,CAAC;QACK,gBAAW,GAAQ;YACxB,gBAAgB,EAAE,KAAK;YACvB,WAAW,EAAE,KAAK;YAClB,cAAc,EAAE,IAAI;YACpB,gBAAgB,EAAE,KAAK;SACxB;QACM,mBAAc,GAAY,KAAK,CAAC;QAC9B,aAAQ,GAAG,wDAAS,CAAC,SAAS,CAAC;IAQJ,CAAC;IAErC,QAAQ;QACN,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACvC,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,UAAU,EAAE,CAAC,EAAE,CAAC;YAChB,IAAI,EAAC,CAAC,EAAE,CAAC;SACV,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CACzB,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,YAAqB,EAAE,EAAE;YACnE,IAAI,YAAY,EAAE;gBAChB,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;QACH,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CACzB,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE;YACrD,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE;gBACzC,MAAM,YAAY,GAAG,KAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,KAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC;gBACrF,MAAM,gBAAgB,GAAG,CAAC,KAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,KAAI,IAAI,CAAC,cAAc,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAC,CAAC,IAAK,IAAI,CAAC,gBAAgB,CAAC;gBACnG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAC/B;oBACE,cAAc,EAAE,IAAI;oBACpB,UAAU,EAAE,EAAE,YAAY,EAAE,gBAAgB,EAAC;iBAC9C,CACF,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;QACH,CAAC,CAAC,CACH;IACH,CAAC;IAED,cAAc,CAAC,IAAY;QACzB,MAAM,eAAe,GAAG,qFAAY,CAAC,MAAM,CAAC,CAAC,OAAY,EAAE,EAAE;YAC3D,OAAO,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC;QACnC,CAAC,CAAC;QACF,OAAO,CAAC,CAAC,eAAe,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,WAAW;QACb,OAAO,qFAAY,CAAC;IACtB,CAAC;IAED,YAAY;QACV,MAAM,eAAe,GAAG,UAAU,CAAC;QACnC,IAAI,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC;QACvD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACnC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACvD;QACD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnE,CAAC;IAED,UAAU;QACR,IAAI,CAAC,kBAAkB,CAAC,GAAG,CACzB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1C,IAAI,CAAC,eAAe,GAAG,IAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,KAAI,EAAE,CAAC;YACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrE,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;gBAC/B,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;aAC9E;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,YAAiB;QAC3B,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,KAAK,YAAY,CAAC,GAAG,EAAE;YAC/C,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;YAC9C,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC;SACzE;IACH,CAAC;IAED,iBAAiB,CAAC,gBAAqB;QACrC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;IAED,UAAU;QACR,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC1C,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAG,IAAI,CAAC,WAAW,EAAC;YAClB,IAAI,CAAC,YAAY,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC;SACxD;IACH,CAAC;IAED,YAAY;QACV,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,IAAI,IAAI,CAAC,EAAE,EAAE;YAChD,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;SACtC;QAED,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ;YAC7C,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ;YAC3C,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU;YACvD,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,EAAE;YAChB,KAAK,EAAE;gBACL,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG;gBAC/B,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK;aAC/B;YACD,YAAY;YACZ,SAAS,EAAE,IAAI;SAChB,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,0EAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;SACjB;QACD,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,KAAK,CAAC;IAC1C,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;SACjB;QACD,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,KAAK,CAAC;QACxC,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,KAAK,CAAC;IACvC,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC5C,IAAI,GAAG,EAAE;gBACP,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;iBAC1D;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB,CAAC,CAAM;QACvB,IAAI,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC;QAC7D,IAAI,OAAO,GAAG,UAAU,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;YAC/B,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACnE;aAAM,IAAI,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,uBAAuB,EAAE;YAC7D,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;SACxE;QACD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACzE,CAAC;IAED,aAAa;QACX,IAAI,kBAAkB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC5C,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;SAChD;aAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAI,wDAAS,CAAC,YAAY,EAAE;YAC/G,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;SACjD;aAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU,EAAE;YACrD,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;SAClD;aAAM,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,uBAAuB,EAAE;YAC1F,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;SACvD;QACD,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;QACjD,IAAI,kBAAkB,EAAE;YACtB,OAAO;SACR;QACD,IAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAC;YACnC,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC;SAClE;aAAK;YACJ,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;IACH,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,wDAAS,CAAC;IACnB,CAAC;IAED,SAAS;QACP,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAC5D,CAAC;;4FAjNU,sBAAsB;sGAAtB,sBAAsB;kEAGtB,4FAAgB;;;;;QCtB7B,yEAA4D;QACxD,8GAEI;QACJ,0EAA8D;QAC1D,mHA8BM;QACN,+MA2Dc;QACd,kHAGM;QACN,kHAGM;QACN,kHAAqJ;QACzJ,4DAAO;QACX,4DAAM;;;QA1GD,wKAAsD;QACnD,0DAA8B;QAA9B,8FAA8B;QAG5B,0DAAiC;QAAjC,8FAAiC;QACL,0DAAwC;QAAxC,0GAAwC;QA2FtC,0DAA6B;QAA7B,6FAA6B;QAIlC,0DAAsC;QAAtC,0GAAsC;QAI7C,0DAAiE;QAAjE,qIAAiE;;;;;;;;;;;;;;ACtG7F;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2D;;;;;;;ICF3D,yEAAwF;IACpF,sEAAK;IACD,sEAAK;IAAA,4EAAoD;IAAA,4DAAM;IAC/D,wEAA6B;IAAA,uDAAS;IAAA,4DAAK;IAC3C,uEAAM;IAAA,kGAAuC;IAAA,4DAAO;IACxD,4DAAM;IACV,4DAAM;;;IAJoB,0DAAwB;IAAxB,iFAAwB;IACb,0DAAS;IAAT,6EAAS;;ADUvC,MAAM,qBAAqB;IAIhC,YAAoB,KAAoB,EAAU,KAA8B;QAA5D,UAAK,GAAL,KAAK,CAAe;QAAU,UAAK,GAAL,KAAK,CAAyB;QAFzE,cAAS,GAAG,EAAE,CAAC;QAItB,UAAK,GAAC,CAAC,CAAC;IAF4E,CAAC;IAKrF,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE;YACzD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;YACrC,IAAI,CAAC,SAAS,GAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,IAAE,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,IAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC3I,IAAG,CAAC,IAAI,CAAC,SAAS,EAAC;gBACjB,IAAI,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;;oBAClC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACb,IAAG,IAAI,CAAC,KAAK,IAAI,CAAC,EAAC;wBACjB,IAAI,UAAU,GAAC,QAAC,IAAI,CAAC,QAAQ,0CAAE,UAAU,EAAC;wBAC1C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,gEAAkB,EAAE,CAAC,CAAC;wBAC9C,YAAY,CAAC,KAAK,EAAE,CAAC;wBACrB,cAAc,CAAC,KAAK,EAAE,CAAC;wBACvB,aAAa,CAAC,YAAY,CAAC,CAAC;qBAC7B;gBACH,CAAC,EAAE,IAAI,CAAC,CAAC;aACV;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;0FA1BU,qBAAqB;qGAArB,qBAAqB;QCblC,iHAMM;;QANgE,gFAAgB;;;;;;;;;;;;;;ACAtF;AAAA;AAAO,MAAM,eAAe,GAAG;IAC3B,cAAc,EAAE,kBAAkB;IAClC,gBAAgB,EAAE,kBAAkB;CACvC;;;;;;;;;;;;;ACFD;AAAA;AAAA;AAAA;AAAgD;;AAKzC,MAAM,aAAa;IAIxB;QAHO,qBAAgB,GAAG,IAAI,4CAAO,EAAO,CAAC;QACtC,mBAAc,GAAG,IAAI,4CAAO,EAAO,CAAC;QACpC,sBAAiB,GAAG,IAAI,4CAAO,EAAO,CAAC;IAC9B,CAAC;;0EAJN,aAAa;gGAAb,aAAa,WAAb,aAAa,mBAFZ,MAAM;;;;;;;;;;;;;ACDpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2D;;;;;;;;ICG3C,yEAAkF;IAC9E,mFACJ;IAAA,4DAAK;;;IAIL,oEAAsC;IAAA,+FAAoC;IAAA,4DAAI;;;IAC9E,oEAAsC;IAAA,oGAAyC;IAAA,4DAAI;;;IACnF,oEAA0C;IACtC,uDAA8D;IAAA,gEAAI;IAAC,sFAEvE;IAAA,4DAAI;;;IAFA,0DAA8D;IAA9D,iJAA8D;;;IAiB1D,0EAAkD;IAC9C,gGACJ;IAAA,4DAAM;;;IACN,0EAAiD;IAC7C,gGACJ;IAAA,4DAAM;;;IANV,sEAAiE;IAC7D,kIAEM;IACN,kIAEM;IACV,4DAAM;;;;IANI,0DAA4B;IAA5B,sFAA4B;IAG5B,0DAA2B;IAA3B,qFAA2B;;;;IAjBzC,0EAA2D;IACvD,0EAA4B;IACxB,6EAA2C;IACvC,qEAA+C;IAC/C,2EAA2B;IAAA,uDAAiC;IAAA,sEACxB;IAAA,4DAAO;IAC/C,4DAAS;IACT,gFAGiC;IAA7B,+VAA0B;IAH9B,4DAGiC;IACrC,4DAAM;IAEN,2HAOM;IACV,4DAAM;;;;IAlBkB,0DAAgC;IAAhC,6JAAgC;IACjB,0DAAiC;IAAjC,8GAAiC;IAInD,0DAAyC;IAAzC,gHAAyC;IAElD,wFAA0B;IAG5B,0DAAwD;IAAxD,8GAAwD;;;;IASlE,qEAAuC;IACnC,uDACA;IAAA,6EAAoD;IAAvB,gUAAsB;IAC/C,qEAAwD;IAC5D,4DAAS;IACb,4DAAK;;;IAJD,0DACA;IADA,2IACA;;;;IAIJ,0EAA8D;IAC1D,4EAEiD;IAFhB,4VAAuB;IAAxD,4DAEiD;IACjD,4EAEiD;IAFhB,4VAAuB;IAAxD,4DAEiD;IACjD,4EAEiD;IAFhB,4VAAuB;IAAxD,4DAEiD;IACjD,4EAEiD;IAFhB,4VAAuB;IAAxD,4DAEiD;IACrD,4DAAM;;;IAZ+B,0DAAuB;IAAvB,qFAAuB;IAGvB,0DAAuB;IAAvB,qFAAuB;IAGvB,0DAAuB;IAAvB,qFAAuB;IAGvB,0DAAuB;IAAvB,qFAAuB;;;IAI5D,wEAAqF;IACjF,uDAAgE;IAAA,4DAAI;;;IAApE,0DAAgE;IAAhE,gJAAgE;;;;IAC5D,wEAA6F;IAAtB,yTAAqB;IACxF,6EAAoB;IAAA,qEAAU;IAAA,4DAAS;IAC3C,4DAAI;;;IAEhB,0EAA6E;IACzE,qEAA6D;IAC7D,qEAAI;IAAA,gFAAqB;IAAA,4DAAK;IAC9B,oEAAG;IAAC,uDAAoD;IAAA,gEAAI;IAAC,gFAAoB;IAAA,4DAAI;IACzF,4DAAM;;;IADE,0DAAoD;IAApD,uIAAoD;;;;IAIpD,6EAC2B;IAAvB,oUAAsB;IACtB,mEACJ;IAAA,4DAAS;;;;IACT,6EAC+E;IAA3E,6VAA0C,EAAE,IAAC;IAC7C,uDACJ;IAAA,4DAAS;;;IAFyC,6FAA4B;IAC1E,0DACJ;IADI,8FACJ;;;;IACA,6EACuC;IAD0B,oUAAsB;IAEnF,iEACJ;IAAA,4DAAS;;ADrEtB,MAAM,wBAAwB;IA6BnC,YACU,WAAwB,EACxB,YAA0B,EAC1B,cAA8B;QAF9B,gBAAW,GAAX,WAAW,CAAa;QACxB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,mBAAc,GAAd,cAAc,CAAgB;QA1BxC,SAAI,GAAG;YACL,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,EAAE;SAChB,CAAC;QACF,wBAAmB,GAAQ,EAAE,CAAC;QAE9B,eAAU,GAAG,UAAU,CAAC;QACxB,iBAAY,GAAG,SAAS,CAAC;QAEzB,cAAS,GAAG,IAAI,CAAC;QAEjB,cAAS,GAAG,EAAE,CAAC;QAEf,gBAAW,GAAG,EAAE,CAAC;QAEjB,aAAQ,GAAG,CAAC,CAAC;QACb,cAAS,GAAG,EAAE,CAAC;QACf,cAAS,GAAG,EAAE,CAAC;QACf,cAAS,GAAG,EAAE,CAAC;QACf,cAAS,GAAG,EAAE,CAAC;QASb,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,kBAAkB;QAChB,OAAO;QACP,MAAM,OAAO,GAAG,wBAAwB,IAAI,CAAC,MAAM,EAAE,CAAC;QACtD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjG,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;gBAC3B,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC;gBAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;aACxG;iBAAM;gBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aACjD;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc;QACZ,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC;QAC5D,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,aAAa;QACX,QAAQ,IAAI,CAAC,YAAY,EAAE;YACzB,KAAK,SAAS;gBACZ,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,MAAM;YACR,KAAK,aAAa;gBAChB,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,MAAM;SACT;QAAA,CAAC;IACJ,CAAC;IAED,YAAY;QACV,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,QAAQ,IAAI,CAAC,YAAY,EAAE;YACzB,KAAK,SAAS;gBACZ,IAAI,IAAI,CAAC,YAAY,EAAE;oBAErB,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,MAAM,KAAK,EAAE,EAAE;wBAC9C,OAAO,GAAG,IAAI,CAAC;qBAChB;yBAAM;wBACL,OAAO,GAAG,KAAK,CAAC;qBACjB;iBACF;qBAAM;oBACL,OAAO,GAAG,KAAK,CAAC;iBACjB;gBACD,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE;oBACjH,OAAO,GAAG,IAAI,CAAC;iBAChB;qBAAM;oBACL,OAAO,GAAG,KAAK,CAAC;iBACjB;gBACD,MAAM;YACR;gBACE,OAAO,GAAG,IAAI,CAAC;SAClB;QAAA,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE;YAC3F,IAAI,CAAC,IAAI,GAAG;gBACV,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ;aAC/C,CAAC;YACF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtH,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;oBAClB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;oBAC9B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;iBAC5B;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,gBAAgB;QACd,oCAAoC;QACpC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;YAC5B,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,EAAE;gBACnC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;aACjC;iBAAM;gBACL,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE;oBACxC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;iBACjC;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,UAAU;QACR,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAC/B,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE;gBACtB,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB;iBAAM;gBACL,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED,UAAU;QACR,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,SAAS;QACP,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,UAAU;QACR,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,UAAU;QACR,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5F,CAAC;IAED,SAAS;QACP,MAAM,OAAO,GAAG;YACd,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,MAAM,EAAE,IAAI,CAAC,eAAe;SAC7B,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACtH,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;gBAC3B,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;gBAClC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;gBAC5B,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;aAClF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,MAAM,OAAO,GAAG;YACd,YAAY,EAAE,IAAI,CAAC,eAAe;YAClC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,MAAM,EAAE,IAAI;SACb,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACjH,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;gBACpB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;gBAC9B,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC3B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU;QACR,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;;gGAnNU,wBAAwB;wGAAxB,wBAAwB;QCdrC,yEACuB;QACnB,yEAAkF;QAC9E,yEAA2B;QACvB,yEAA0B;QACtB,kHAEK;QACT,4DAAM;QACN,yEAAwB;QACpB,oEAA2C;QAC3C,gHAA8E;QAC9E,gHAAmF;QACnF,gHAGI;QACJ,uHAqBM;QACN,oHAKK;QACL,sHAaM;QACN,mHACwE;QAChE,mHAEI;QAChB,4DAAM;QACN,uHAIM;QACN,2EAA0B;QACtB,2EAAoB;QAChB,6HAGS;QACT,6HAGS;QACT,6HAGS;QACb,4DAAM;QACN,qEAAG;QAAA,oIAA8D;QAAA,4DAAI;QACzE,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;;QApF0D,0DAAgC;QAAhC,gGAAgC;QAM5E,0DAAgC;QAAhC,gGAAgC;QAChC,0DAAgC;QAAhC,gGAAgC;QAChC,0DAAoC;QAApC,oGAAoC;QAIf,0DAAgC;QAAhC,gGAAgC;QAsBpD,0DAAgC;QAAhC,gGAAgC;QAMT,0DAAgC;QAAhC,gGAAgC;QAcvC,0DAA8D;QAA9D,sIAA8D;QAEpD,0DAA8C;QAA9C,kHAA8C;QAItC,0DAAgC;QAAhC,gGAAgC;QAOA,0DAAgC;QAAhC,gGAAgC;QAItD,0DAAgC;QAAhC,gGAAgC;QAKxE,0DAAgC;QAAhC,gGAAgC;;;;;;;;;;;;;;AClFzD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqG;AAGjE;;;;;;;ICO9B,uEAAwC;IAGlC,4FAAqH;IAAzC,sXAAwC;IAAC,4DAAwB;IAGnJ,4DAAO;;;;IAHsB,0DAAsB;IAAtB,kFAAsB;;;;IAInD,uEAAyC;IAGnC,+FAAyH;IAA1C,0XAAyC;IAAC,4DAA2B;IAG1J,4DAAO;;;;IAHyB,0DAAsB;IAAtB,kFAAsB;;;IAXxD,uEAAmC;IACjC,mIAMO;IACP,mIAMO;IACT,4DAAO;;;IAdE,0DAA+B;IAA/B,gGAA+B;IAO/B,0DAAgC;IAAhC,iGAAgC;;;IAT3C,uEAAkD;IAChD,4HAeO;IACT,4DAAO;;;IAhBE,0DAA0B;IAA1B,yFAA0B;;;;ADE9B,MAAM,uBAAuB;IAYlC,YACU,KAA8B;QAA9B,UAAK,GAAL,KAAK,CAAyB;QAR9B,iBAAY,GAAG,IAAI,0DAAY,EAAO,CAAC;QACvC,iBAAY,GAAG,IAAI,0DAAY,EAAO,CAAC;QAC1C,qBAAgB,GAAQ,EAAE,CAAC;QAC3B,aAAQ,GAAG,KAAK,CAAC;QAChB,wBAAmB,GAAiB,IAAI,iDAAY,EAAE,CAAC;QAM7D,IAAI,2DAA2D,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;YACzF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;IACH,CAAC;IAED,QAAQ;QACN,CAAC,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE;YACzD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;QACvC,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,MAAM,SAAS,GAAG;gBAChB,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;gBACxB,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAClD,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU;aAClE,CAAC;YACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtD,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC5C,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;aAC7C;YACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACvC;IACH,CAAC;IAED,WAAW;IACX,CAAC;IAED,mBAAmB,CAAC,KAAK;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO;SACR;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,oBAAoB,CAAC,KAAK;QACxB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO;SACR;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAGD,KAAK;QACH,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,QAAa,EAAE,EAAE;YAC9C,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAW,EAAE,EAAE;gBAC5C,IAAI,MAAM,CAAC,SAAS,EAAE;oBACpB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;iBACzB;gBACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;oBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,WAAW,EAAE,MAAM;iBACpB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAClD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,QAAa,EAAE,EAAE;YAC9C,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAW,EAAE,EAAE;gBAC5C,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YACtC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAClD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,YAAY;QACV,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,QAAa,EAAE,EAAE;YAC9C,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAW,EAAE,EAAE;gBAC5C,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;gBACzB,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrD,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;YAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;aACpJ;SACF;IACH,CAAC;IAED,WAAW;QACT,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;IACzC,CAAC;;8FAzGU,uBAAuB;uGAAvB,uBAAuB;QCXpC,yEAAiB;QACf,yEAAyF;QACvF,yEAAiC;QAC/B,qEAAI;QAAA,yEAA4G;QAA1C,4IAAS,iBAAa,IAAC;QAAzF,4DAA4G;QAAA,kEAAO;QAAA,4DAAK;QAC9H,4DAAM;QACR,4DAAM;QACR,4DAAM;QACN,yEAAyG;QACvG,qHAiBO;QACP,yEAAyF;QACrF,yEAA0B;QACxB,6EAA6D;QAAzB,gJAAS,kBAAc,IAAC;QAAC,iEAAK;QAAA,4DAAS;QAC3E,6EAAiF;QAAlB,gJAAS,WAAO,IAAC;QAAC,iEAAK;QAAA,4DAAS;QACjG,4DAAM;QACR,4DAAM;QACV,4DAAM;;QA/B2B,0DAAyD;QAAzD,6MAAyD;QAMvD,0DAAqE;QAArE,0MAAqE;QACzE,0DAAmB;QAAnB,yFAAmB;QAkBjB,0DAAyD;QAAzD,6MAAyD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICUlF,0EAA4C;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,wFAAsB;;ACpBnE,MAAM,uBAAuB;IAUlC,YAAoB,MAAc,EAAU,YAA4B,EAC9D,KAA8B,EAC9B,kBAAsC,EAAU,YAA0B,EAC1E,aAA4B;QAHlB,WAAM,GAAN,MAAM,CAAQ;QAAU,iBAAY,GAAZ,YAAY,CAAgB;QAC9D,UAAK,GAAL,KAAK,CAAyB;QAC9B,uBAAkB,GAAlB,kBAAkB,CAAoB;QAAU,iBAAY,GAAZ,YAAY,CAAc;QAC1E,kBAAa,GAAb,aAAa,CAAe;QAZtC,YAAO,GAAG,EAAE,CAAC;QAEb,qBAAgB,GAAG,EAAE,CAAC;QAWpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACzD,CAAC;IAED,QAAQ;QACN,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/C,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;gBACrB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACrB,IAAI,IAAI,CAAC,OAAO,EAAE;oBAChB,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;oBAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACtC,IAAI,WAAW,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE;wBAClD,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,yEAAyE,CAAC,CAAC;wBAC9G,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;qBAC3B;iBACF;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;QACd,oCAAoC;QACpC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;YAC5B,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,EAAE;gBACnC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;aACjC;iBAAM;gBACL,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE;oBACxC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;iBACjC;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,KAAK;QAClB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS;YAC7E,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAEtD,IAAI,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;YACrD,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAE3B,MAAM,WAAW,GAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE;gBAC9C,GAAG,EAAE,IAAI,CAAC,OAAO;gBACjB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,KAAK;aACd,CAAC;YAEF,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAChE,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC9D,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;wBAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC;qBAChE;oBACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;wBAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC;qBAClE;gBACH,CAAC,EAAE,GAAG,CAAC,CAAC;YACV,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,6BAA6B,CAAC;SACvD;IACH,CAAC;;8FA9EU,uBAAuB;uGAAvB,uBAAuB;;QDhBpC,yEAA+B;QAC3B,yEAAuB;QACnB,yEAAuC;QACnC,yEAA2C;QACvC,yEAA2B;QACvB,oEAA4D;QAChE,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QAEN,yEAAkC;QAC9B,yEAA+B;QAC3B,oEAAqD;QACzD,4DAAM;QACN,qEAAI;QAAA,wFAA4B;QAAA,4DAAK;QACrC,qEAAG;QACC,iJACJ;QAAA,4DAAI;QAEJ,+EAA2E;QAA9C,6RAAU,6BAAkC,IAAC;QACtE,2EAAgD;QAC5C,wEACgF;QAChF,wEACgF;QAChF,wEACgF;QAChF,wEACgF;QAChF,wEACgF;QAChF,wEACgF;QACpF,4DAAM;QACN,sHAAwE;QACxE,2EAAwB;QACxB,8EAAoF;QAAA,mEAAO;QAAA,4DAAS;QACxG,4DAAM;QACN,4DAAO;QACX,4DAAM;;QALsB,2DAAsB;QAAtB,sFAAsB;QAEe,0DAA0B;QAA1B,uFAA0B;;;;;;;;;;;;;;;;;;AEhCpF,MAAM,eAAe;IAC1B,SAAS,CAAC,KAAU,EAAE,IAAS;QAC7B,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAC9C,CAAC;;8EALU,eAAe;8GAAf,eAAe;;;;;;;;;;;;;;;;;;;;;;;;IC8BA,qEAAgG;;;IAO5F,yEAAyE;IACrE,oEAAG;IACC,uDACJ;IAAA,4DAAI;IACJ,wEAAuB;IACnB,uDACJ;IAAA,4DAAI;IACR,4DAAK;;;;;IALG,0DACJ;IADI,oGACJ;IAEI,0DACJ;IADI,4FACJ;;;;IAhBpB,0EAA+I;IAC3I,8EAAmI;IAC/H,0EAA6B;IACzB,gJAAgG;IAChG,oEAAG;IACC,uDAAyB;IAAA,uEAAM;IAAA,uDAA6B;IAAA,4DAAO;IACvE,4DAAI;IACR,4DAAM;IACN,8EAA4F;IACxF,0EAA2G;IACvG,gJAOK;IACT,4DAAK;IACT,4DAAM;IACV,4DAAI;IACR,4DAAM;;;;;;IArBD,iMAAoE;IACxD,0DAAmE;IAAnE,+HAAmE;IAEd,0DAAkC;IAAlC,qGAAkC;IAExF,0DAAyB;IAAzB,0GAAyB;IAAM,0DAA6B;IAA7B,sGAA6B;IAG7C,0DAAiC;IAAjC,oHAAiC;IAChD,0DAAsG;IAAtG,oKAAsG;IAC9D,0DAAoB;IAApB,wFAAoB;;;;IA1BxF,wEAA0F;IACtF,0EAAoJ;IAChJ,yEAA6B;IACzB,oEAAuD;IACvD,0EAA0B;IACtB,oEAAG;IAAA,uDAAgB;IAAA,4DAAI;IAC3B,4DAAM;IACV,4DAAM;IACN,yEAA6B;IACzB,oEAAG;IAAA,wEAAM;IAAA,wDAA2B;IAAA,4DAAO;IAAC,wDAAkD;IAAA,4DAAI;IAClG,uEAA6B;IAC7B,qEAAG;IAAA,wEAAM;IAAA,wDAAwB;IAAA,4DAAO;IAAC,wDAA+C;IAAA,4DAAI;IAChG,4DAAM;IACV,4DAAI;IACJ,+EAAiE;IAC7D,2EAA2B;IACvB,6IAqBM;IACV,4DAAM;IACV,4DAAM;IACV,qEAAe;;;;IAvC6F,0DAAsB;IAAtB,iKAAsB;IAA3H,uKAAmD;IAEzC,0DAA0B;IAA1B,8MAA0B;IAExB,0DAAgB;IAAhB,gFAAgB;IAId,0DAA2B;IAA3B,2FAA2B;IAAQ,0DAAkD;IAAlD,6HAAkD;IAErF,0DAAwB;IAAxB,wFAAwB;IAAQ,0DAA+C;IAA/C,0HAA+C;IAGzE,0DAAmB;IAAnB,iGAAmB;IAE4E,0DAAoB;IAApB,wFAAoB;;;ACpB3I,MAAM,4BAA4B;IAQvC;QALO,kBAAa,GAAW,UAAU,CAAC;IAK3B,CAAC;IAEhB,QAAQ,KAAU,CAAC;IAEnB,mBAAmB,CAAC,KAAa;QAC/B,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,EAAE;YAChC,OAAO;SACR;QACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7C,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACrC,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,KAAK,UAAU,EAAE;YACxB,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC7C,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACrC,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;YACH,OAAO;SACR;QACD,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7C,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACrC,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC;;wGAtCU,4BAA4B;4GAA5B,4BAA4B;;;;;;;;;;;;QDbzC,yEAAgC;QAC5B,yEAA6B;QACzB,sEAAK;QACD,qEAAI;QAAA,wEAAa;QAAA,4DAAK;QACtB,oEAAG;QAAA,sEAAW;QAAA,oEAAG;QAAA,uDAAY;QAAA,4DAAI;QAAA,4DAAI;QACzC,4DAAM;QACN,yEAAmC;QAC/B,0EAC8C;QAA1C,kJAAS,wBAAoB,UAAU,CAAC,IAAC;QACzC,sEACJ;QAAA,4DAAM;QACN,0EAC8C;QAA1C,kJAAS,wBAAoB,UAAU,CAAC,IAAC;QACzC,sEACJ;QAAA,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,8IAwCe;QACnB,4DAAM;;QAtDuB,0DAAY;QAAZ,6EAAY;QAGJ,0DAA2D;QAA3D,4KAA2D;QAI1D,0DAA2D;QAA3D,4KAA2D;QAM3D,0DAA2C;QAA3C,yLAA2C;;;;;;;;;;;;;;AEjBjF;AAAA;AAAA;AAAqD;AAOrD,MAAM,WAAW,GAAU;IACvB,QAAQ,EAAE,KAAK;IACf,cAAc,EAAE,CAAC;CACpB,CAAC;AAEK,SAAS,aAAa,CAAC,KAAK,GAAG,WAAW,EAAE,MAAyC;IACxF,QAAQ,MAAM,CAAC,IAAI,EAAE;QACjB,KAAK,0DAA2B;YAC5B,IAAI,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC9B,IAAI,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;YAC1C,IAAI,MAAM,CAAC,OAAO,EAAE;gBAChB,cAAc,GAAG,cAAc,GAAG,CAAC,CAAC;gBACpC,QAAQ,GAAG,IAAI,CAAC;aACnB;iBACI;gBACD,cAAc,GAAG,cAAc,GAAG,CAAC,CAAC;gBACpC,IAAI,cAAc,IAAI,CAAC,EAAE;oBACrB,cAAc,GAAG,CAAC,CAAC;oBACnB,QAAQ,GAAG,KAAK,CAAC;iBACpB;aACJ;YACD,uCACO,KAAK,KACR,QAAQ;gBACR,cAAc,IAChB;QACN;YACI,OAAO,KAAK,CAAC;KACpB;AACL,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChCuD;AACI;AAGC;AACG;AACG;AAEV;AAO8B;AACZ;AACvB;;;;;;;;;;;AAa7C,MAAM,WAAW;IAMpB,YACY,IAAiB,EACjB,OAAgB,EAChB,MAAc,EACd,KAA8B,EAC9B,YAA0B,EAC1B,cAA8B,EAC9B,iBAAoC,EACpC,cAA8B,EAC9B,KAAqB,EACrB,cAAqC;QATrC,SAAI,GAAJ,IAAI,CAAa;QACjB,YAAO,GAAP,OAAO,CAAS;QAChB,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAyB;QAC9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QACrB,mBAAc,GAAd,cAAc,CAAuB;QAMjD,mDAAmD;QAEnD,mBAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAC9B,4DAAM,CAAmC,qEAAkC,CAAC,EAC5E,gEAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YACf,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAC5D,0DAAG,CACC,CAAC,GAAgB,EAAE,EAAE;;gBACjB,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAClB,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC;oBAC1B,IAAI,QAAQ,CAAC,cAAc,CAAC,wFAAe,CAAC,gBAAgB,CAAC,IAAI,QAAQ,CAAC,gBAAgB,KAAK,wFAAe,CAAC,cAAc,EAAE;wBAC9H,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACnD;yBAAM;wBACN,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;qBACnE;oBACD,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAC3C,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;oBAC5D,YAAY,CAAC,OAAO,CAAC,YAAY,EAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,CAAC,CAAC;oBACxD,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAClF,IAAI,QAAQ,GAAG,EAAE,CAAC;oBAClB,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;wBACjF,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACjE;oBACD,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;oBAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;oBAChE,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;oBACjE,IAAI,SAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,mBAAmB,KAAI,EAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,GAAE;wBACzD,MAAM,cAAc,GAAG,uGAA8B,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,aAAa,CAAC,CAAC;wBAC/E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;qBAC1C;oBACD,IAAI,CAAC,CAAC,UAAU,IAAI,UAAU,KAAK,EAAE,CAAC,IAAI,EAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,mBAAmB,GAAE;wBACtE,IAAI,SAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,kBAAkB,KAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,GAAE;4BAC/E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;yBAC/C;6BACI;4BACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;gCACzG,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;oCACrF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;iCACnC;qCAAM;oCACH,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oCAC7C,IAAI,eAAe,GAAG,IAAI,CAAC;oCAC3B,IAAI;wCACA,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;qCACjF;oCAAC,OAAO,CAAC,EAAE;wCACR,eAAe,GAAG,KAAK,CAAC;qCAC3B;oCACD,IAAI,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;wCACvC,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;qCAC5C;yCAAM,IAAI,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,eAAe,EAAE;wCAClE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iEAAW,CAAC,gBAAgB,CAAC,CAAC;qCACvD;yCAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iEAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE;wCAC/F,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;qCACnC;iCACJ;6BACJ;yBACJ;qBACJ;oBACD,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS;wBACxD,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChE,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBACnB,MAAM,IAAI,GAAG,IAAI,iEAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,EAC5J,QAAQ,CAAC,KAAK,EAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,CAAC,iBAAiB,EACxI,EAAE,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,CAAC,cAAc,EAAE,EAAE,EAC3G,QAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,EAC1E,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,eAAe,EACpJ,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,mBAAmB,EAAE,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,gBAAgB,EACxQ,QAAQ,CAAC,WAAW,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,oBAAoB,CACvD,CAAC;oBACF,IAAI,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE;wBAC3B,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;qBACpD;yBAAM;wBACH,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;qBAC1C;oBACD,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE;wBAClC,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;qBACpD;yBAAM;wBACH,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;qBAC1C;oBACD,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE;wBACtB,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;qBACpD;yBAAM;wBACH,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;qBAC1C;oBACD,IAAI,QAAQ,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,sBAAsB,IAAI,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,EAAE;wBACxI,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;qBACpD;yBAAM;wBACH,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;qBAC1C;oBACD,IAAI,CAAC,SAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,gBAAgB,YAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,0CAAE,UAAU,EAAC,KAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,GAAE;wBAC9F,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;qBACpD;yBAAM;wBACH,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;qBAC1C;oBACD,OAAO;wBACH,IAAI,EAAE,wEAAqC;wBAC3C,OAAO,EAAE,IAAI;qBAChB,CAAC;iBACL;qBAAM;oBACH,OAAO;wBACH,IAAI,EAAE,0DAAuB;qBAChC,CAAC;iBACL;YACL,CAAC,CACJ,EACD,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO;oBACH;wBACI,IAAI,EAAE,0DAAuB;qBAChC;iBACJ,CAAC;YACN,CAAC,CAAC,CACL,CAAC;QACN,CAAC,CAAC,CACL,CAAC;QAGF,sDAAsD;QAEtD,qBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAChC,4DAAM,CAAC,wEAAqC,CAAC,EAC7C,0DAAG,CAAC,CAAC,MAA2C,EAAE,EAAE;YAChD,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,CACL,CAAC;QAEF,wCAAwC;QAExC,aAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACxB,4DAAM,CAAC,+DAA4B,CAAC,EACpC,0DAAG,CAAC,CAAC,MAAmC,EAAE,EAAE;YACxC,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,CACL,CAAC;QAEF,yCAAyC;QAEzC,cAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACzB,4DAAM,CAAC,gEAA6B,CAAC,EACrC,0DAAG,CAAC,CAAC,MAAoC,EAAE,EAAE;YACzC,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,CACL,CAAC;QAEF,4CAA4C;QAE5C,YAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACvB,4DAAM,CAA6B,8DAA2B,CAAC,EAC/D,0DAAG,CAAC,CAAC,MAAkC,EAAE,EAAE;YACvC,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,EACF,gEAAS,CACL,CAAC,UAAU,EAAE,EAAE;YACX,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,IAAI,CAC7D,0DAAG,CACC,CAAC,GAAgB,EAAE,EAAE;gBACjB,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACzB,MAAM,WAAW,GAAG,EAAE,CAAC;oBACvB,0CAA0C;oBAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACnD,WAAW,CAAC,IAAI,CAAC;4BACb,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;4BAC/B,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;yBACtC,CAAC,CAAC;qBACN;oBACD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;wBAC9C,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;wBACjD,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC7C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC3C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;qBACnD;yBAAM;wBACH,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACtD;oBACD,OAAO;wBACH,IAAI,EAAE,sEAAmC;wBACzC,8CAA8C;wBAC9C,OAAO,EAAE;4BACL,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC;4BAClC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC;4BAC1B,WAAW,EAAE,WAAW;yBAC3B;qBACJ,CAAC;iBACL;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACzB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvD,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACnD;qBAAM;oBACH,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvD,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACnD;gBACD,OAAO;oBACH,IAAI,EAAE,0DAAuB;iBAChC,CAAC;YACN,CAAC,CAAC,EACN,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO;oBACH;wBACI,IAAI,EAAE,0DAAuB;qBAChC;iBACJ,CAAC;YACN,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC,CACJ,CACJ,CAAC;QAGF,6CAA6C;QAG7C,YAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACvB,4DAAM,CAA6B,8DAA2B,CAAC,EAC/D,0DAAG,CAAC,CAAC,MAAkC,EAAE,EAAE;YACvC,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,EACF,gEAAS,CACL,CAAC,UAAU,EAAE,EAAE;YACX,MAAM,UAAU,GAAG;gBACf,8CAA8C;gBAC9C,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;gBACxB,8CAA8C;gBAC9C,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC;aACnC,CAAC;YACF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,IAAI,CAClE,0DAAG,CACC,CAAC,GAAgB,EAAE,EAAE;gBACjB,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACzB,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;oBACjD,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE;wBACzB,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC7C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC3C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;qBACnD;yBAAM;wBACH,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC9C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC1C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;qBACnD;oBACD,OAAO;wBACH,IAAI,EAAE,sEAAmC;wBACzC,8CAA8C;wBAC9C,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE;qBAC1E,CAAC;iBACL;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACzB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvD,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;iBACpE;qBAAM;oBACH,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvD,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACnD;gBACD,OAAO;oBACH,IAAI,EAAE,0DAAuB;iBAChC,CAAC;YACN,CAAC,CAAC,EACN,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO;oBACH;wBACI,IAAI,EAAE,0DAAuB;qBAChC;iBACJ,CAAC;YACN,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC,CACJ,CACJ,CAAC;QAEF,8CAA8C;QAE9C,cAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACzB,4DAAM,CAA+B,gEAA6B,CAAC,EACnE,0DAAG,CAAC,CAAC,MAAoC,EAAE,EAAE;YACzC,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,EACF,gEAAS,CACL,CAAC,UAAU,EAAE,EAAE;YACX,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,IAAI,CAC7D,0DAAG,CACC,CAAC,GAAgB,EAAE,EAAE;gBACjB,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACzB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;wBAC9C,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;wBACjD,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC7C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC1C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;wBAChD,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;qBACpD;yBAAM;wBACH,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC9C;oBACD,MAAM,OAAO,GAAG;wBACZ,UAAU,EAAE,OAAO;wBACnB,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC;wBACnF,GAAG,EAAE,EAAE;qBACR,CAAC;oBACJ,OAAO;wBACH,IAAI,EAAE,qEAAkC;wBACxC,OAAO,EAAE,OAAO;qBACnB,CAAC;iBACL;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACzB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvD,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACnD;qBAAM;oBACH,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvD,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACnD;gBACD,OAAO;oBACH,IAAI,EAAE,0DAAuB;iBAChC,CAAC;YACN,CAAC,CAAC,EACN,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO;oBACH;wBACI,IAAI,EAAE,0DAAuB;qBAChC;iBACJ,CAAC;YACN,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC,CACJ,CACJ,CAAC;QAGF,+CAA+C;QAE/C,aAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACxB,4DAAM,CAAuC,yEAAsC,CAAC,EACpF,0DAAG,CAAC,CAAC,MAA4C,EAAE,EAAE;YACjD,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,EACF,gEAAS,CACL,CAAC,UAAU,EAAE,EAAE;YACX,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,IAAI,CAC7D,0DAAG,CACC,CAAC,GAAgB,EAAE,EAAE;gBACjB,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACzB,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;oBACjD,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC9C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC1C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;oBAChD,OAAO;wBACH,IAAI,EAAE,yEAAsC;wBAC5C,8CAA8C;wBAC9C,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC;qBAClC,CAAC;iBACL;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACzB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvD,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACnD;qBAAM;oBACH,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvD,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACnD;gBACD,OAAO;oBACH,IAAI,EAAE,0DAAuB;iBAChC,CAAC;YACN,CAAC,CAAC,EACN,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO;oBACH;wBACI,IAAI,EAAE,0DAAuB;qBAChC;iBACJ,CAAC;YACN,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC,CACJ,CACJ,CAAC;QAEF,oDAAoD;QAEpD,iBAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAC5B,4DAAM,CAAC,2EAAwC,CAAC,EAChD,0DAAG,CAAC,CAAC,MAA8C,EAAE,EAAE;YACnD,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,EACF,gEAAS,CACL,CAAC,OAAO,EAAE,EAAE;YACR,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CACtE,0DAAG,CACC,CAAC,GAAgB,EAAE,EAAE;gBACjB,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAClB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;wBAC9C,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC/C,oDAAoD;wBACpD,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC9C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC9C;yBAAM;wBACH,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;qBACpE;oBACD,OAAO;wBACH,IAAI,EAAE,mFAAgD;wBACtD,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE;qBACxE,CAAC;iBACL;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;iBAChE;qBAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;iBACnC;qBAAM;oBACH,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAChD,OAAO;wBACH,IAAI,EAAE,0DAAuB;qBAChC,CAAC;iBACL;gBACD,OAAO;oBACH,IAAI,EAAE,0DAAuB;iBAChC,CAAC;YACN,CAAC,CACJ,EACD,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO;oBACH;wBACI,IAAI,EAAE,0DAAuB;qBAChC;iBACJ,CAAC;YACN,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC,CACJ,CACJ,CAAC;QAEF,oDAAoD;QAEpD,gBAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAC3B,4DAAM,CAAC,0EAAuC,CAAC,EAC/C,0DAAG,CAAC,CAAC,MAA6C,EAAE,EAAE;YAClD,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,EACF,gEAAS,CACL,CAAC,OAAO,EAAE,EAAE;YACR,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CACtE,0DAAG,CACC,CAAC,GAAgB,EAAE,EAAE;gBACjB,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACtC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;wBAC9C,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;wBACjD,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC7C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC3C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;qBACnD;yBAAM;wBACH,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;qBACnE;oBACD,OAAO;wBACH,IAAI,EAAE,kFAA+C;wBACrD,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;qBACpC,CAAC;iBACL;qBAAM;oBACH,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACnD;gBACD,OAAO;oBACH,IAAI,EAAE,0DAAuB;iBAChC,CAAC;YACN,CAAC,CACJ,EACD,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO;oBACH;wBACI,IAAI,EAAE,0DAAuB;qBAChC;iBACJ,CAAC;YACN,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC,CACJ,CACJ,CAAC;QAEF,gDAAgD;QAEhD,gBAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAC3B,4DAAM,CAAC,kEAA+B,CAAC,EACvC,0DAAG,CAAC,CAAC,MAAsC,EAAE,EAAE;YAC3C,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,EACF,gEAAS,CACL,CAAC,OAAO,EAAE,EAAE;YACR,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CACrE,0DAAG,CACC,CAAC,IAAiB,EAAE,EAAE;gBAClB,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE;oBACnB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,sCAAsC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;wBACpF,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;4BACzB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;4BACvD,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;4BACjD,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BAC7C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BAC1C,MAAM,OAAO,GAAG;gCACZ,UAAU,EAAE,SAAS;gCACrB,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC;gCACnF,GAAG,EAAE,SAAS;6BACjB,CAAC;4BACF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,4EAAiC,CAAC,OAAO,CAAC,CAAC,CAAC;yBACvE;6BAAM;4BACH,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;yBACnD;oBACL,CAAC,CAAC,CAAC;oBACH,OAAO;wBACH,IAAI,EAAE,0EAAuC;wBAC7C,OAAO,EAAE,EAAE;qBACd,CAAC;iBACL;qBAAM;oBACH,OAAO;wBACH,IAAI,EAAE,0DAAuB;qBAChC,CAAC;iBACL;YACL,CAAC,CACJ,EACD,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO;oBACH;wBACI,IAAI,EAAE,0DAAuB;qBAChC;iBACJ,CAAC;YACN,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC,CACJ,CACJ,CAAC;QAGF,iBAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAC5B,4DAAM,CAAC,mEAAgC,CAAC,EACxC,0DAAG,CAAC,CAAC,MAAuC,EAAE,EAAE;YAC5C,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,EACF,gEAAS,CAAC,GAAG,EAAE;YACX,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,sCAAsC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAC7E,0DAAG,CAAC,CAAC,GAAgB,EAAE,EAAE;gBACrB,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACzB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvD,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;oBACjD,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC7C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAE1C,MAAM,OAAO,GAAG;wBACZ,UAAU,EAAE,SAAS;wBACrB,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC;wBACnF,GAAG,EAAE,SAAS;qBACjB,CAAC;oBACF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,4EAAiC,CAAC,OAAO,CAAC,CAAC,CAAC;oBACpE,0CAA0C;oBAC1C,OAAO;wBACH,IAAI,EAAE,2EAAwC;wBAC9C,OAAO,EAAE,EAAE;qBACd,CAAC;iBACL;qBAAM;oBACH,OAAO;wBACH,IAAI,EAAE,0DAAuB;qBAChC,CAAC;iBACL;YACL,CAAC,CAAC,EACF,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO;oBACH;wBACI,IAAI,EAAE,0DAAuB;qBAChC;iBACJ,CAAC;YACN,CAAC,CAAC,CACL;QACL,CAAC,CACA,CACJ,CAAC;QAGF,kDAAkD;QAElD,iBAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAC5B,4DAAM,CAAC,oEAAiC,CAAC,EACzC,0DAAG,CAAC,CAAC,MAAuC,EAAE,EAAE;YAC5C,OAAO;QACX,CAAC,CAAC,EACF,gEAAS,CACL,CAAC,GAAG,EAAE,EAAE;YACJ,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE;gBACrD,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;aACpD;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;gBAC/C,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;oBACjB,OAAO;wBACH;4BACI,IAAI,EAAE,0DAAuB;yBAChC;qBACJ,CAAC;gBACN,CAAC,CAAC,CAAC;QACX,CAAC,CACJ,EACD,0DAAG,CAAC,CAAC,GAAgB,EAAE,EAAE;YACrB,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;gBAClB,OAAO;oBACH,IAAI,EAAE,0DAAuB;iBAChC,CAAC;aACL;iBACI;gBACD,OAAO;oBACH,IAAI,EAAE,0DAAuB;iBAChC,CAAC;aACL;QACL,CAAC,CACA,CACJ,CAAC;QAEF,iDAAiD;QAEjD,gBAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAC3B,4DAAM,CAAC,mEAAgC,CAAC,EACxC,0DAAG,CAAC,CAAC,MAAsC,EAAE,EAAE;YAC3C,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,EACF,gEAAS,CACL,CAAC,SAAS,EAAE,EAAE;YACV,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,GAAG,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;gBAClE,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;oBACjB,OAAO;wBACH;4BACI,IAAI,EAAE,0DAAuB;yBAChC;qBACJ,CAAC;gBACN,CAAC,CAAC,CAAC;QACX,CAAC,CACJ,EACD,0DAAG,CAAC,CAAC,GAAgB,EAAE,EAAE;YACrB,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;gBAClB,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;iBACvC;gBACD,OAAO;oBACH,IAAI,EAAE,0DAAuB;iBAChC,CAAC;aACL;iBAAM;gBACH,OAAO;oBACH,IAAI,EAAE,0DAAuB;iBAChC,CAAC;aAEL;QACL,CAAC,CACA,CACJ,CAAC;QAGF,gBAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAC3B,4DAAM,CAAC,kEAA+B,CAAC,EACvC,0DAAG,CAAC,CAAC,MAAsC,EAAE,EAAE;YAC3C,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,EACF,gEAAS,CACL,CAAC,GAAG,EAAE,EAAE;YACJ,MAAM,UAAU,GAAG,IAAI,CAAC;YACxB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC;gBAC9D,0DAAG,CACC,CAAC,IAAiB,EAAE,EAAE;oBAClB,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE;wBACnB,OAAO;4BACH,IAAI,EAAE,0EAAuC;4BAC7C,OAAO,EAAE,GAAG;yBACf,CAAC;qBACL;yBAAM;wBACH,OAAO;4BACH,IAAI,EAAE,0DAAuB;yBAChC,CAAC;qBACL;gBACL,CAAC,CAAC;gBACN,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;oBACjB,OAAO;wBACH;4BACI,IAAI,EAAE,0DAAuB;yBAChC;qBACJ,CAAC;gBACN,CAAC,CAAC,CAAC;QACX,CAAC,CACJ,CACJ,CAAC;QAGF,uEAAuE;QAEvE,2BAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACtC,4DAAM,CAA2C,8EAA2C,CAAC,EAC7F,0DAAG,CAAC,CAAC,MAAgD,EAAE,EAAE;YACrD,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,EACF,gEAAS,CACL,CAAC,UAAU,EAAE,EAAE;YACX,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,IAAI,CAC7D,0DAAG,CACC,CAAC,GAAgB,EAAE,EAAE;gBACjB,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACzB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvD,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAClD,OAAO;wBACH,IAAI,EAAE,sFAAmD;wBACzD,OAAO,EAAE;4BACL,8CAA8C;4BAC9C,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC;yBACnC;qBACJ,CAAC;iBACL;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACzB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvD,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACnD;qBAAM;oBACH,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvD,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACnD;gBACD,OAAO;oBACH,IAAI,EAAE,0DAAuB;iBAChC,CAAC;YACN,CAAC,CAAC,EACN,iEAAU,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO;oBACH;wBACI,IAAI,EAAE,0DAAuB;qBAChC;iBACJ,CAAC;YACN,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC,CACJ,CACJ,CAAC;QAjsBE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE;YACvD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;QACzC,CAAC,CAAC,CAAC;IACP,CAAC;;sEApBQ,WAAW;+FAAX,WAAW,WAAX,WAAW;AAwBpB;IADC,4DAAM,EAAE;mDAkHP;AAKF;IADC,4DAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;qDAM1B;AAIF;IADC,4DAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;6CAM1B;AAIF;IADC,4DAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;8CAM1B;AAIF;IADC,4DAAM,EAAE;4CAyDP;AAMF;IADC,4DAAM,EAAE;4CAqDP;AAIF;IADC,4DAAM,EAAE;8CAkDP;AAKF;IADC,4DAAM,EAAE;6CAyCP;AAIF;IADC,4DAAM,EAAE;iDA8CP;AAIF;IADC,4DAAM,EAAE;gDAyCP;AAIF;IADC,4DAAM,EAAE;gDAgDP;AAGF;IADC,4DAAM,EAAE;iDA0CP;AAKF;IADC,4DAAM,EAAE;iDAkCP;AAIF;IADC,4DAAM,EAAE;gDAiCP;AAGF;IADC,4DAAM,EAAE;gDAgCP;AAKF;IADC,4DAAM,EAAE;2DAyCP;;;;;;;;;;;;;AChvBN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8H;AACnE;AAGsC;AAE7D;AAEuE;AACnE;;;;;;;;;;;;;;;;;;;ICThC,iEAAyC;;;IASzC,iEAA+C;;;IAM3C,iEAAyC;;;;;IAmB3C,wEAA4C;IAC1C,yEAAgG;IAC9F,wEAA8E;IAAhC,+UAA+B;IAAC,oEAAS;IAAA,4DAAI;IAC7F,4DAAK;IACL,yEAAsD;IACpD,wEACiC;IAC/B,qEAAsE;IAAA,oEAAS;IAAA,4DAAI;IACrF,0EAAmF;IACjF,wEAAyC;IAAA,mEAAO;IAAA,4DAAI;IACpD,yEAAkC;IAAA,6EAAiB;IAAA,4DAAI;IACvD,yEAAkC;IAAA,2EAAe;IAAA,4DAAI;IACvD,4DAAM;IACR,4DAAK;IACP,qEAAe;;;IAb0B,0DAAwD;IAAxD,oLAAwD;IAMpE,0DAA4C;IAA5C,iKAA4C;;;;IAmB/E,0EAA2G;IACzG,sFAA2E;IAA9B,2VAA6B;IAAC,4DAAkB;IAC/F,4DAAM;;;IAFkD,oHAAkD;IACvF,0DAA2B;IAA3B,2FAA2B;;;IAkCpC,qEAAgC;IAAA,oEAAG;IAAA,uDAAuB;IAAA,4DAAI;IAAA,4DAAK;;;IAAhC,0DAAuB;IAAvB,4FAAuB;;;IAJhE,qEAAwB;IACtB,wEAA6E;IAC3E,uEAAO;IACL,qEAAgG;IAChG,yIAAmE;IACrE,4DAAO;IACP,2EAAwB;IAAA,+DAAI;IAAA,4DAAO;IACrC,4DAAI;IACN,4DAAK;;;IALM,0DAA8E;IAA9E,oOAA8E;IAC9E,0DAAyB;IAAzB,6FAAyB;;;IAMlC,kFAAmF;;;IAAzC,sFAAqB;;;;IAxBnE,+DAA4C;IAA5C,wEAA4C;IAC1C,yEAAwC;IAKtC,wEAAgI;IAE9H,uEAAM;IACN,qEAA+E;IAC7E,yEACF;IAAA,4DAAO;IACT,4DAAI;IACN,4DAAK;IACL,oIAQK;IACL,qEAAI;IACF,gKAAmF;IACrF,4DAAK;IACP,qEAAe;;;IAjBK,0DAA4C;IAA5C,kKAA4C;IAKzD,0DAAiB;IAAjB,oFAAiB;IAUD,0DAAqB;IAArB,wFAAqB;;;;IAK1C,2FAAsN;IAAlJ,mXAAiC;IAAiH,4DAAuB;;;IAA/L,qFAAqB;;;;IA+B3E,yFAA8E;IAAlC,mXAAiC;IAAC,4DAAqB;;;;IACnG,0FAA0F;IAA1C,4XAAyC;IAAC,4DAAsB;;;;IAChH,6FAAmH;IAAtE,8XAAmC;IAAmC,4DAAyB;;;IAI1I,8DAAgG;IAAhG,0EAAgG;IAC9F,sEAA4rB;IAC5rB,sEAA+a;IAC/a,sEAA8lO;IAC9lO,sEAA85C;IAC95C,wEAAqC;IACrC,sEAAoE;IACpE,sEAA2Y;IAC3Y,sEAA4Y;IAC5Y,sEAAwT;IACxT,uEAA4E;IAC5E,uEAA4E;IAC5E,uEAAyH;IACzH,uEAAmM;IACnM,4DAAI;IACJ,wEAAM;IACN,gFAA+B;IAC/B,uEAA4F;IAC5F,4DAAW;IACX,4DAAO;IACP,4DAAM;;;IAIR,8DAAmG;IAAnG,0EAAmG;IACjG,sEAAgsB;IAChsB,sEAA+a;IAC/a,sEAA4kO;IAC5kO,sEAAo5C;IACp5C,sEAA4F;IAC5F,sEAAwT;IACxT,sEAA4E;IAC5E,sEAA4E;IAC5E,sEAA4H;IAC5H,uEAAmM;IACnM,uEAA4Y;IAC5Y,uEAAwY;IACxY,yEAAsD;IACtD,uEAA2wB;IAC3wB,4DAAM;;ADpKH,MAAM,yBAAyB;IAqBpC,YAAoB,KAA8B,EACxC,MAAc,EAAS,cAA8B,EAAU,KAAmB,EAAU,WAAwB,EAClH,aAAkC,EACpC,MAAqB;QAHX,UAAK,GAAL,KAAK,CAAyB;QACxC,WAAM,GAAN,MAAM,CAAQ;QAAS,mBAAc,GAAd,cAAc,CAAgB;QAAU,UAAK,GAAL,KAAK,CAAc;QAAU,gBAAW,GAAX,WAAW,CAAa;QAClH,kBAAa,GAAb,aAAa,CAAqB;QACpC,WAAM,GAAN,MAAM,CAAe;QAtB/B,mBAAc,GAAG,IAAI,CAAC;QAGf,eAAU,GAAG,EAAE,CAAC;QAChB,oBAAe,GAAG,KAAK,CAAC;QACxB,uBAAkB,GAAG,KAAK,CAAC;QAC3B,mBAAc,GAAY,KAAK,CAAC;QACvC,aAAQ,GAAG,KAAK,CAAC;QACjB,mBAAc,GAAG,KAAK,CAAC;QACvB,iBAAY,GAAG,KAAK,CAAC;QACrB,gBAAW,GAAG,KAAK,CAAC;QACb,qBAAgB,GAAW,EAAE,CAAC;QAC9B,iBAAY,GAAY,KAAK,CAAC;QAC9B,eAAU,GAAG,KAAK,CAAC;QACnB,wBAAmB,GAAW,CAAC,CAAC;QAChC,yBAAoB,GAAW,KAAK,CAAC;QACpC,wBAAmB,GAAG,IAAI,iDAAY,EAAE,CAAC;QAE1C,iBAAY,GAAa,IAAI,CAAC;QAKnC,IAAI,2DAA2D,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;YACzF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;IACH,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE;YACzD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;YACrC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC3C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACjE,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;;YAC3C,IAAG,GAAG,EAAC;gBACL,IAAI,CAAC,mBAAmB,eAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,MAAM,0CAAE,MAAM,CAAC;gBACnD,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAC,CAAC,CAAC;aAC/F;QACH,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE;YAC7D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACtD,CAAC,CAAC,CACH;QAED,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,aAAsB,EAAE,EAAE;YACrE,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,aAAa,EAAE;gBAClD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;gBACrD,IAAI,CAAC,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;aACpC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,iBAAiB;QACjB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACnC,IAAI,KAAK,YAAY,6DAAa,EAAE;gBAClC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC;aAC7B;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QAClC,mCAAmC;QACnC,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,OAAO,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;gBAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;aAC1B;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,IAAI,CAAC,MAAM,CAAC,MAAM;aACf,IAAI,CAAC,6DAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,YAAY,6DAAa,CAAC,CAAC;aACvD,SAAS,CAAC,CAAC,KAAoB,EAAE,EAAE;YAClC,IACE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,sFAAU,CAAC;gBACpC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,yFAAa,CAAC;gBACvC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,4FAAgB,CAAC,EAC1C;gBACA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;aAC7B;QACH,CAAC,CAAC,CACL,CAAC;IACJ,CAAC;IAE2C,OAAO,CAAC,KAAK;QACvD,IAAI,SAAS,GAAQ,QAAQ,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;QACtE,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7B;IACH,CAAC;IAED,QAAQ,CAAC,KAAK;QACZ,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,aAAa;;QACX,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,UAAI,CAAC,mBAAmB,0CAAE,eAAe,GAAG;IAC9C,CAAC;IAED,WAAW;QACT,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;IAC7C,CAAC;IAED,WAAW;QACT,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;QACrD,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;IAC7C,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC;QAC5C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAC3D,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;QAC3B,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,cAAc;;QACZ,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACzC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,YAAY,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,MAAM,EAAE;YAC3D,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;YAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,UAAU,CAAC,GAAG,EAAE;gBACd,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC;oBAC5B,QAAQ,EAAE,QAAQ;oBAClB,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC;SACT;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,MAAM,IAAI,SAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,0CAAE,YAAY,CAAC;YAClF,IAAI,KAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,KAAI,MAAM,IAAI,KAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,KAAI,qBAAqB,EAAE;gBAC/D,0CAA0C;gBAC1C,gDAAgD;aACjD;YACD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;gBACnF,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;aAC/D;YACD,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SACjC;IACH,CAAC;IAED,iBAAiB;QACf,IAAI,YAAY,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,MAAM,EAAE;YAC3D,IAAI,CAAC,gBAAgB,GAAG,aAAa,CAAC;YACtC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,UAAU,CAAC,GAAG,EAAE;gBACd,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC;oBAC5B,QAAQ,EAAE,QAAQ;oBAClB,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC;SACT;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,wEAAW,CAAC,oBAAoB,CAAC,CAAC,CAAC,wEAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,uBAAuB,CAAC;YACvN,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;SAC5B;IACH,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,YAAY,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,MAAM,EAAE;YAC3D,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC;YACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,UAAU,CAAC,GAAG,EAAE;gBACd,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC;oBAC5B,QAAQ,EAAE,QAAQ;oBAClB,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC;SACT;aAAM;YACL,8BAA8B;YAC9B,4FAA4F;YAC5F,kKAAkK;YAClK,8BAA8B;YAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC;SACnD;IACH,CAAC;IAED,eAAe;QACb,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,aAAa;QACX,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,UAAU,CAAC,GAAG,EAAE;YACd,CAAC,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;gBACtB,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;QACL,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAED,UAAU;QACR,CAAC,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC;QAC9B,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,UAAU,CAAC,GAAG,EAAE;YACd,CAAC,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC;gBAC9B,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;QACL,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAED,mBAAmB;QACjB,CAAC,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC;QAC9B,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,kBAAkB;QAChB,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC;QAC9B,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAGD,WAAW,CAAC,KAAK;QACf,YAAY,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,QAAQ,IAAI,CAAC,gBAAgB,EAAE;YAC7B,KAAK,MAAM,CAAC,CAAC;gBACX,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,MAAM;aACP;YACD,KAAK,aAAa,CAAC,CAAC;gBAClB,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,MAAM;aACP;YACD,KAAK,WAAW,CAAC,CAAC;gBAChB,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,MAAM;aACP;SACF;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,gBAAgB,CAAC,SAAkB,KAAK;QACtC,IAAI,CAAC,YAAY,GAAE,MAAM,CAAC;IAC5B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;IACzC,CAAC;;kGA1RU,yBAAyB;yGAAzB,yBAAyB;;kEAmBzB,8GAAmB;;;;;;uJAnBnB,mBAAe;;QCtB5B,yEAAQ;QACN,yEAAwD;QACtD,yEAAqC;QACnC,uEAA0F;QAA3B,4IAAS,oBAAgB,IAAC;QACvF,qHAAyC;QAC3C,4DAAI;QACJ,4EACiF;QAC/E,qEAA8B;QAC9B,qEAA8B;QAC9B,qEAA8B;QAChC,4DAAS;QACT,uEAA4H;QAA3B,4IAAS,oBAAgB,IAAC;QACzH,uHAA+C;QACjD,4DAAI;QACJ,qEAAkC;QAClC,0EAAqD;QACnD,0EAAuB;QACrB,yEAA4G;QAA3B,6IAAS,oBAAgB,IAAC;QACzG,uHAAyC;QAC3C,4DAAI;QAEN,4DAAM;QAEN,0EAA4B;QAC1B,0EAA0D;QACxD,yEAAyE;QAA3B,6IAAS,oBAAgB,IAAC;QACtE,sEAAiE;QACjE,kEACF;QAAA,4DAAI;QACN,4DAAK;QAQL,2IAce;QACjB,4DAAK;QAEL,2EAAuC;QACrC,yEAAqH;QAAA,sEACxE;QAC3C,yEACF;QAAA,4DAAI;QACN,4DAAM;QACR,4DAAM;QACR,4DAAM;QAEN,wHAEM;QAER,4DAAM;QAEN,2EAAmE;QACjE,0EAAuB;QACrB,yEAAqF;QAA1B,6IAAS,mBAAe,IAAC;QAClF,8DAA+F;QAA/F,2EAA+F;QAC7F,uEAA0yB;QAC5yB,4DAAM;QACR,4DAAI;QAKJ,0IA0Be;QAEf,+DAAyB;QAAzB,0EAAyB;QACvB,0JAA6O;QAC/O,4DAAK;QACP,4DAAK;QASP,4DAAM;QACR,4DAAS;QAET,2EAAuE;QACrE,2EAAgE;QAC9D,2EAA2B;QACzB,2EAAoC;QAClC,sEAAkE;QAClE,sEAAI;QAAA,0EAAc;QAAA,4DAAK;QACvB,qEAAG;QAAA,+GAAmD;QAAA,4DAAI;QAC5D,4DAAM;QACN,2EAA8C;QAC5C,8EAAiG;QAAjC,kJAAS,0BAAsB,IAAC;QAAC,8DAAE;QAAA,4DAAS;QAC5G,8EAAyH;QAAvD,2IAAS,wBAAoB,SAAE,0BAAsB,IAAC;QAAC,+DAAG;QAAA,4DAAS;QAEvI,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QAEN,sJAAmG;QACnG,wJAAgH;QAChH,8JAA4I;QAC5I,+EAAqC;QAErC,qNAsBc;QAEd,qNAiBc;;;;QAvLA,0DAA+B;QAA/B,kFAA+B;QAS/B,0DAAqC;QAArC,kFAAqC;QAMjC,0DAA+B;QAA/B,kFAA+B;QAMlB,0DAAoC;QAApC,6JAAoC;QAE9B,0DAAuC;QAAvC,4JAAuC;QAWnD,0DAA2B;QAA3B,2FAA2B;QAmBtC,0DAAsC;QAAtC,2JAAsC;QAO1C,0DAA2B;QAA3B,2FAA2B;QAMJ,0DAAmC;QAAnC,2FAAmC;QAW/C,0DAA2B;QAA3B,2FAA2B;QA6BjB,0DAAqB;QAArB,qFAAqB;QAkBvC,0DAA0D;QAA1D,+KAA0D;QAalD,2DAAqB;QAArB,qFAAqB;QACpB,0DAAwB;QAAxB,wFAAwB;QACrB,0DAAkB;QAAlB,kFAAkB;;;;;;;;;;;;;;AC9I3C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuD;AACN;AAC0C;AACmB;AAEnC;AACM;AAC9B;AACL;;;AAE9C,MAAM,MAAM,GAAW;IACrB;QACE,IAAI,EAAE,EAAE;QACR,WAAW,EAAE,CAAC,+DAAU,CAAC;QACzB,YAAY,EAAE,GAAG,EAAE,CAAC,sPAA4C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;KAC7F;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,SAAS,EAAE,uGAAuB;QAClC,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,SAAS,EAAE,uGAAuB;QAClC,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,yNAAkD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;QACrG,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,6MAA8C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAChG,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,2LAAwC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;QACvF,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD,IAAI;IACJ,4BAA4B;IAC5B,yGAAyG;IACzG,KAAK;IACL;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,wjCAA4C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;QAC5F,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,MAAM;QACZ,YAAY,EAAE,GAAG,EAAE,CAAC,wNAAkC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;KAC/E;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,+NAAoD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACxG,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,YAAY,EAAE,GAAG,EAAE,CAAC,uuBAAoD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACxG,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,kaAAwD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC;QAC9G,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,yKAAkC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;QAC9E,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD,iCAAiC;IACjC;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,2ZAAsE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC;QAClI,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,2CAA2C;QACjD,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,2ZAAsE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC;QAClI,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,qDAAqD;QAC3D,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,2ZAAsE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC;QAClI,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,gEAAgE;QACtE,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,2ZAAsE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC;QAClI,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,qDAAqD;QAC3D,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,2ZAAsE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC;QAClI,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,0EAA0E;QAChF,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,2ZAAsE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC;QAClI,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,2ZAAsE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC;KACnI;IACD;QACE,IAAI,EAAE,mDAAmD;QACzD,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,2ZAAsE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC;KACnI;IACD;QACE,IAAI,EAAE,6DAA6D;QACnE,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,2ZAAsE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC;KACnI;IACD;QACE,IAAI,EAAE,wEAAwE;QAC9E,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,2ZAAsE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC;KACnI;IACD;QACE,IAAI,EAAE,6DAA6D;QACnE,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,2ZAAsE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC;KACnI;IACD;QACE,IAAI,EAAE,kFAAkF;QACxF,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,2ZAAsE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC;KACnI;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,8dAA4E,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,6BAA6B,CAAC;QAC3I,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD,sCAAsC;IAEtC;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,SAAS,EAAE,0HAAyB;QACpC,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,+DAA+D;QACrE,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,yNAAkD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;QACrG,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,0DAA0D;QAChE,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,yNAAkD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;QACrG,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,4CAA4C;QAClD,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,yNAAkD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;QACrG,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,qEAAqE;QAC3E,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,yNAAkD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;QACrG,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,uEAAuE;QAC7E,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,yNAAkD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;KACtG;IACD;QACE,IAAI,EAAE,kEAAkE;QACxE,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,yNAAkD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;KACtG;IACD;QACE,IAAI,EAAE,oDAAoD;QAC1D,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,yNAAkD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;KACtG;IACD;QACE,IAAI,EAAE,6EAA6E;QACnF,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,yNAAkD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;KACtG;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,YAAY,EAAE,GAAG,EAAE,CAAC,qRAAsE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC;QAClI,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,YAAY,EAAE,GAAG,EAAE,CAAC,iMAA0C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;QACzF,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,YAAY,EAAE,GAAG,EAAE,CAAC,2OAAwD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;QAC7G,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE,GAAG,EAAE,CAAC,yNAAkD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACpG,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,YAAY,EAAE,GAAG,EAAE,CAAC,mQAAgE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC;QACxH,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,YAAY,EAAE,GAAG,EAAE,CAAC,qOAAsD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;QAC3G,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,+QAAoE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC;QAC/H,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,YAAY,EAAE,GAAG,EAAE,CAAC,uMAA4C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;QAC7F,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,YAAY,EAAE,GAAG,EAAE,CAAC,6MAA8C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAChG,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,0CAA0C;QAChD,YAAY,EAAE,GAAG,EAAE,CAAC,qRAAsE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC;QAClI,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,4CAA4C;QAClD,YAAY,EAAE,GAAG,EAAE,CAAC,+TAAoF,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gCAAgC,CAAC;QACtJ,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD,IAAI;IACJ,kBAAkB;IAClB,8BAA8B;IAC9B,qHAAqH;IACrH,KAAK;IACL,IAAI;IACJ,kBAAkB;IAClB,8BAA8B;IAC9B,qHAAqH;IACrH,KAAK;IACL;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,gPAA0C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;QAC1F,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;IACD;QACE,IAAI,EAAE,+CAA+C;QACrD,WAAW,EAAE,CAAC,6DAAS,CAAC;QACxB,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;QACD,YAAY,EAAE,GAAG,EAAE,CAAC,ipBAAwD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC;KAC/G;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,0UAAwE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC;KAChI;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,0UAAwE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC;KAC/H;IACD;QACE,IAAI,EAAE,UAAU;QAChB,YAAY,EAAE,GAAG,EAAE,CAAC,mNAAgD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;KAC7F;IACD;QACE,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,GAAG,EAAE,CAAC,+NAAoD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;KACnG;IACD;QACE,IAAI,EAAE,8BAA8B;QACpC,YAAY,EAAE,GAAG,EAAE,CAAC,+TAAoF,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gCAAgC,CAAC;KACvJ;IACD;QACE,IAAI,EAAE,MAAM;QACZ,YAAY,EAAE,GAAG,EAAE,CAAC,uPAA4D,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC;KACpH;IACD;QACE,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE,GAAG,EAAE,CAAC,k1BAAgE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;KACpH;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,YAAY,EAAE,GAAG,EAAE,CAAC,sSAA4D,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC;KACrH;IACD;QACE,IAAI,EAAE,MAAM;QACZ,YAAY,EAAE,GAAG,EAAE,CAAC,6oCAAoD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;KACzG;IACD;QACE,IAAI,EAAE,0DAAW,CAAC,gBAAgB;QAClC,YAAY,EAAE,GAAG,EAAE,CAAC,iPAA0D,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC;KAClH;IACD;QACE,IAAI,EAAE,2EAAc,CAAC,OAAO;QAC5B,YAAY,EAAE,GAAG,EAAE,CAAC,yNAAkD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACpG,OAAO,EAAE;YACP,YAAY,EAAE,uFAA0B;SACzC;KACF;CACF,CAAC;AAOK,MAAM,gBAAgB;;gFAAhB,gBAAgB;+FAAhB,gBAAgB;mGAJlB,CAAC,4DAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAC,yBAAyB,EAAE,SAAS,EAAC,CAAC,CAAC,EACrE,4DAAY;mIAGX,gBAAgB,uFAHjB,4DAAY;;;;;;;;;;;;;ACpZxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+C;;;;AASxC,MAAM,iBAAiB;IAS5B,YACU,WAAwB,EACxB,YAA0B;QAD1B,gBAAW,GAAX,WAAW,CAAa;QACxB,iBAAY,GAAZ,YAAY,CAAc;QAV7B,iBAAY,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QAC5C,wBAAmB,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;QACnD,gBAAW,GAAG,IAAI,oDAAe,CAAS,GAAG,CAAC,CAAC;QAC/C,aAAQ,GAAG,IAAI,oDAAe,CAAS,GAAG,CAAC,CAAC;QAC5C,kBAAa,GAAG,IAAI,oDAAe,CAAU,KAAK,CAAC,CAAC;QACpD,qBAAgB,GAAG,IAAI,oDAAe,CAAU,KAAK,CAAC,CAAC;QACvD,eAAU,GAAG,IAAI,oDAAe,CAAM,EAAE,CAAC,CAAC;IAK7C,CAAC;IAEL,iBAAiB,CAAC,QAAQ;QACxB,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YAC5B,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;gBAC5B,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;oBAC5B,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;wBAC5B,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;4BAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BAC3B,OAAO,CAAC,CAAC;yBACV;6BAAM;4BACL,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAC5B,OAAO,CAAC,CAAC;yBACV;qBACF;yBAAM;wBACL,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC3B,OAAO,CAAC,CAAC;qBACV;iBACF;qBAAM;oBACL,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC3B,OAAO,CAAC,CAAC;iBACV;aACF;iBAAM;gBACL,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,OAAO,CAAC,CAAC;aACV;SACF;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3B,OAAO,CAAC,CAAC;SACV;IACH,CAAC;IAED,SAAS,CAAC,QAAQ;QAChB,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE;YACzC,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,SAAS,CAAC,QAAQ;QAChB,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE;YAChE,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,SAAS,CAAC,QAAQ;QAChB,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE;YAC3C,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,SAAS,CAAC,QAAQ;QAChB,IAAI,QAAQ,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,sBAAsB,IAAI,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,EAAE;YAC1I,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,SAAS,CAAC,QAAQ;;QAChB,IAAI,CAAC,SAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,gBAAgB,YAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,0CAAE,UAAU,EAAC,KAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,GAAE;YAChG,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,UAAU;QACR,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACvD,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,KAAK;QACd,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,sBAAsB,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC1E,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,KAAK;QACZ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,4BAA4B,KAAK,CAAC,aAAa,gBAAgB,KAAK,CAAC,WAAW,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC;YAC5H,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACpD,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACzD,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,SAAS;QACpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,yBAAyB,GAAG,SAAS,CAAC;YACtD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClD,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,IAAI;QACd,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,yBAAyB,GAAG,IAAI,CAAC,SAAS,GAAG,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;YACxF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClD,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,IAAI;QAChB,MAAM,OAAO,GAAG,yBAAyB,GAAG,IAAI,CAAC,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;QAC3F,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClD,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE;oBACnB,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,IAAI;QACX,MAAM,OAAO,GAAG,cAAc,CAAC;QAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBAChE,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE;oBACnB,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;;kFAvLU,iBAAiB;oGAAjB,iBAAiB,WAAjB,iBAAiB,mBAFhB,MAAM;;;;;;;;;;;;;ACNpB;AAAA;AAAA;AAAA;AAAA;AAA2D;;;AAKpD,MAAM,iBAAiB;IAC5B,YAAoB,KAAkB;QAAlB,UAAK,GAAL,KAAK,CAAa;IAAI,CAAC;IAG3C,qBAAqB;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC;IACnG,CAAC;IAED,UAAU,CAAC,QAAQ,EAAE,OAAO;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC;IACvG,CAAC;IAED,QAAQ,CAAC,QAAQ;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC;IAC1G,CAAC;IAED,UAAU,CAAC,aAAa,GAAG,CAAC;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC;IACpG,CAAC;IAED,SAAS,CAAC,IAAS;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC;IAC/F,CAAC;IAED,YAAY,CAAC,GAAQ;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,EAAE,EAAC,YAAY,EAAE,CAAC,GAAG,CAAC,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC;IAC5H,CAAC;;kFA1BU,iBAAiB;oGAAjB,iBAAiB,WAAjB,iBAAiB,mBAFjB,MAAM;;;;;;;;;;;;;ACLnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,SAAS,GAAG;IACrB,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,cAAc;IAC3B,KAAK,EAAE,OAAO;IACd,YAAY,EAAE,aAAa;IAC3B,OAAO,EAAE,SAAS;IAClB,cAAc,EAAE,eAAe;IAC/B,kBAAkB,EAAE,oBAAoB;IACxC,OAAO,EAAE,SAAS;IAClB,cAAc,EAAE,oBAAoB;IACpC,SAAS,EAAE,gBAAgB;IAC3B,SAAS,EAAE,gBAAgB;IAC3B,SAAS,EAAE,gBAAgB;IAC3B,SAAS,EAAE,gBAAgB;IAC3B,UAAU,EAAE,iBAAiB;IAC7B,UAAU,EAAE,iBAAiB;IAC7B,UAAU,EAAE,iBAAiB;IAC7B,UAAU,EAAE,WAAW;IACvB,mBAAmB,EAAE,oBAAoB;IACzC,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,aAAa;CAC7B,CAAC;AAEK,MAAM,sBAAsB,GAAG;IAClC,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,UAAU;IAChC,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,cAAc;IACvC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO;IAC1B,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS;IAC9B,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,cAAc;IACxC,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,cAAc;IAC1C,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,oBAAoB;IACpD,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS;IAC9B,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,oBAAoB;IAChD,CAAC,SAAS,CAAC,SAAS,CAAC,EAAC,kBAAkB;IACxC,CAAC,SAAS,CAAC,SAAS,CAAC,EAAC,kBAAkB;IACxC,CAAC,SAAS,CAAC,SAAS,CAAC,EAAC,kBAAkB;IACxC,CAAC,SAAS,CAAC,SAAS,CAAC,EAAC,kBAAkB;IACxC,CAAC,SAAS,CAAC,UAAU,CAAC,EAAC,mBAAmB;IAC1C,CAAC,SAAS,CAAC,UAAU,CAAC,EAAC,mBAAmB;IAC1C,CAAC,SAAS,CAAC,UAAU,CAAC,EAAC,mBAAmB;IAC1C,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE,qBAAqB;IACtD,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,aAAa;CACzC,CAAC;AAEK,MAAM,aAAa,GAAG;IACzB,mBAAmB,EAAE,EAAE;IACvB,WAAW,EAAE,QAAQ;IACrB,UAAU,EAAE,MAAM;IAClB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,eAAe,EAAE,EAAE;IACnB,uBAAuB,EAAE,EAAE;IAC3B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;CACf;AAEM,MAAM,aAAa,GAAG;IACzB,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,CAAC;IACd,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,CAAC;CACV;AAEM,MAAM,WAAW,GAAG;IACvB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,YAAY,EAAE,cAAc;IAC5B,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,cAAc,EAAE,gBAAgB;IAChC,YAAY,EAAE,cAAc;CAC/B;AAEM,MAAM,qBAAqB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC7D,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAE1C,MAAM,wBAAwB,GAAG,aAAa,CAAC;AAE/C,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAEhD,MAAM,mBAAmB,GAAQ;IACpC,aAAa,EAAE;QACX,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,UAAU;QACrB,QAAQ,EAAE,UAAU;QACpB,YAAY,EAAE,aAAa;QAC3B,OAAO,EAAE,SAAS;KACrB;IACD,WAAW,EAAE;QACT,mBAAmB,EAAE;YACjB,IAAI,EAAE,mBAAmB;YACzB,GAAG,EAAE,yBAAyB;SACjC;QACD,oBAAoB,EAAE;YAClB,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,0BAA0B;YAC/B,IAAI,EAAE,oBAAoB;SAC7B;QACD,qBAAqB,EAAE;YACnB,KAAK,EAAE,WAAW;YAClB,GAAG,EAAE,oBAAoB;YACzB,IAAI,EAAE,qBAAqB;SAC9B;KACJ;IACD,oBAAoB,EAAE;QAClB,QAAQ,EAAE;YACN,QAAQ,EAAE,UAAU;SACvB;QACD,KAAK,EAAE;YACH,QAAQ,EAAE,aAAa;SAC1B;QACD,MAAM,EAAE;YACJ,QAAQ,EAAE,QAAQ;SACrB;QACD,QAAQ,EAAE;YACN,QAAQ,EAAE,WAAW;SACxB;QACD,QAAQ,EAAE;YACN,QAAQ,EAAE,UAAU;SACvB;QACD,WAAW,EAAE;YACT,QAAQ,EAAE,cAAc;SAC3B;QACD,OAAO,EAAE;YACL,QAAQ,EAAE,iBAAiB;SAC9B;KACJ;IACD,WAAW,EAAE;QACT,QAAQ,EAAE,UAAU;KACvB;IACD,aAAa,EAAE;QACX,QAAQ,EAAE,kBAAkB;QAC5B,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,UAAU;KAC1B;CACJ,CAAC;AAEK,MAAM,MAAM,GAAQ;IACvB,KAAK,EAAE,eAAe;IACtB,mBAAmB,EAAE,+BAA+B;CACvD,CAAC;AAEK,MAAM,sBAAsB,GAAG,iCAAiC,CAAC;AACjE,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACzD,MAAM,4BAA4B,GAAG;IACxC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACf,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACf,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACf,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACf,CAAC,GAAG,EAAE,GAAG,CAAC;CACb,CAAC;AAEK,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC;AAClD,MAAM,yBAAyB,GAAG,IAAI,CAAC;AACvC,MAAM,kBAAkB,GAAG;IAC9B,aAAa,EAAE,wDAAwD;IACvE,oBAAoB,EAAE,qCAAqC;IAC3D,iBAAiB,EAAE,kCAAkC;IACrD,OAAO,EAAE,wBAAwB;CACpC;;;;;;;;;;;;;AClKD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiE;;;;;AAS1D,MAAM,yBAAyB;IAEpC,YACU,WAAwB,EACxB,YAA0B,EAC1B,KAA8B;QAF9B,gBAAW,GAAX,WAAW,CAAa;QACxB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,UAAK,GAAL,KAAK,CAAyB;IAAI,CAAC;IAE7C,QAAQ;IACR,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,gEAAkB,EAAE,CAAC;IAC/C,CAAC;;kGAZU,yBAAyB;yGAAzB,yBAAyB;QCbtC,yEAA+B;QAC3B,yEAAuB;QACnB,yEAAiB;QACb,yEAAoB;QAChB,yEAAoC;QAChC,oEAAoD;QACxD,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,yEAAgF;QAC5E,yEAAsB;QAClB,yEAAqB;QACjB,yEAAoC;QAChC,qEAAoD;QACxD,4DAAM;QACN,0EAAoB;QAAA,iFAAqB;QAAA,4DAAK;QAC9C,yEAAuB;QAAA,oFAAwB;QAAA,4DAAI;QACnD,2EAAuB;QACnB,yEAAoF;QAAnB,6IAAS,YAAQ,IAAC;QAAC,wEAAY;QAAA,4DAAI;QACxG,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,0EAAsB;QAClB,2EAA2B;QACvB,sEAA0D;QAC9D,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;;;;;;;;;;;;;;;;;;;;ACvBC,MAAM,iBAAiB;IAI5B,YAAoB,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;IACvC,CAAC;IAEK,WAAW,CAAC,OAAY;;YAE5B,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;YACzD,qBAAqB,CAAC,SAAS,GAAG,OAAO,CAAC;YAC1C,QAAQ,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAEtD,CAAC;KAAA;IACD,WAAW,CAAC,OAAsB;;QAEhC,UAAI,OAAO,CAAC,SAAS,CAAC,0CAAE,YAAY;YAClC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEnC,CAAC;;kFAnBU,iBAAiB;iGAAjB,iBAAiB;;;;;;;;;;;;;;;;;;;ACNiB;AAGF;AACY;AAEzD,IAAI,qEAAW,CAAC,UAAU,EAAE;IAC1B,oEAAc,EAAE,CAAC;IACjB,IAAI,qEAAW,CAAC,IAAI,KAAK,MAAM,EAAE;QAC/B,MAAM,CAAC,OAAO,CAAC,GAAG,GAAI,GAAG,EAAE,GAAG,CAAC,CAAC;KACjC;CACF;AAED,IAAI,eAAe,IAAI,SAAS,EAAE;IAChC,mBAAmB,EAAE,CAAC;CACvB;AAED,SAAS,mBAAmB;IAC1B;;;OAGG;IAEH,6BAA6B;IAC7B,SAAS,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE;QAChE,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;YACxC,YAAY,CAAC,UAAU,EAAE,CAAC;SAC3B;QACD,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,sBAAsB;IACtB,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACrB;QACD,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB;IACvB,0BAA0B;IAC1B,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;QACrE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE;QAC3B,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,2EAAwB,CAAC,eAAe,CAAC,yDAAS,CAAC;KAChD,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KACf,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;;;ACvDpC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;AAGpB;;;;;;ICkB7C,oEAAwB;IAAA,kHAAuD;IAAA,4DAAI;;;;IACnF,0EAA8C;IAC5C,uEAA0E;IAC1E,0EAAgC;IAC9B,6EAAoE;IAArB,yUAAoB;IACjE,sEACF;IAAA,4DAAS;IACX,4DAAM;IACR,4DAAM;;;IANoC,0DAAsB;IAAtB,sFAAsB;;;IAOhE,wEAA4C;IAC1C,8DAA+F;IAA/F,0EAA+F;IAC7F,sEAEmB;IACrB,4DAAM;IACN,oEACF;IAAA,4DAAI;;;;IACJ,wEAAkE;IAAnB,gUAAkB;IAC/D,8DAA6F;IAA7F,0EAA6F;IAC3F,sEAEuD;IACzD,4DAAM;IACN,iEACF;IAAA,4DAAI;;;IACJ,wEAAsC;IACpC,uDAEF;IAAA,4DAAI;;;IAFF,0DAEF;IAFE,gKAEF;;;;IASM,uEAAsC;IAAA,6EAC2B;IAAzB,kbAAwB;IAC5D,qEAAuC;IACzC,4DAAS;IACX,4DAAO;;;IAIP,0EAAiD;IAC/C,+FACF;IAAA,4DAAM;;;IAHR,sEAAgE;IAC9D,kJAEM;IACR,4DAAM;;;;IAHgB,0DAA2B;IAA3B,qFAA2B;;;;IAdnD,0EAA2E;IACzE,0EAAuB;IAErB,gFAE+C;IAD7C,sZAAmC;IADrC,4DAE+C;IAC/C,8IAIO;IAET,4DAAM;IACN,4IAIM;IACR,4DAAM;;;;;IAdA,0DAAmC;IAAnC,sGAAmC;IAE9B,0DAA6B;IAA7B,iGAA6B;IAOhC,0DAAwD;IAAxD,8GAAwD;;;IAdlE,0EAAuE;IACrE,sIAkBM;IACR,4DAAM;;;IAnB0C,0DAAgB;IAAhB,uFAAgB;;;;IA2B1D,uEAAsC;IAAA,6EAC2B;IAAzB,kbAAwB;IAC5D,qEAAuC;IAAA,4DAAS;IACpD,4DAAO;;;IAGP,0EAAsD;IACpD,0FACF;IAAA,4DAAM;;;IAHR,sEAA+E;IAC7E,kJAEM;IACR,4DAAM;;;;IAHgB,0DAAgC;IAAhC,qFAAgC;;;;IAXxD,0EAA2E;IACzE,0EAAuB;IACrB,gFAE0C;IADxC,qZAAkC;IADpC,4DAE0C;IAC1C,8IAGO;IACT,4DAAM;IACN,4IAIM;IACR,4DAAM;;;;;IAZA,0DAAkC;IAAlC,qGAAkC;IAE7B,0DAA6B;IAA7B,iGAA6B;IAKhC,0DAAuE;IAAvE,8GAAuE;;;IAXjF,0EAAsE;IACpE,sIAeM;IACR,4DAAM;;;IAhB0C,0DAAgB;IAAhB,uFAAgB;;;;IAkB9D,6EAA2E;IAA/C,uVAAwB;IAAuB,mEAAQ;IAAA,4DAAS;;;;IAD9F,0EAA0C;IACxC,4IAA4F;IAC5F,6EACuD;IAArD,4WAAiD,EAAE,IAAC;IAAC,iEAAM;IAAA,4DAAS;IACxE,4DAAM;;;IAHkD,0DAAmB;IAAnB,uFAAmB;IAC1C,0DAAmC;IAAnC,oGAAmC;;;IAGpE,oEAAwB;IAAA,wEAAa;IAAA,4DAAI;;;;IACzC,0EAA8C;IAC5C,wEAA2F;IACzF,qEAA+C;IACjD,4DAAI;IACJ,wEAAoF;IAClF,qEAA8C;IAChD,4DAAI;IACJ,wEAAiC;IAA9B,8UAA6B;IAC9B,qEAA2C;IAC7C,4DAAI;IACJ,wEAAkC;IAA/B,+UAA8B;IAC/B,qEAA0C;IAC5C,4DAAI;IACN,4DAAM;;;IAZD,0DAAuE;IAAvE,uNAAuE;IAGvE,0DAAgE;IAAhE,gNAAgE;;;IArFvE,0EAAkC;IAChC,qEAAI;IACF,sFAAqB;IAAA,gEAAM;IAC3B,4EACF;IAAA,4DAAK;IACL,2HAAmF;IACnF,+HAOM;IACN,2HAOI;IACJ,2HAOI;IACJ,2HAGI;IAEJ,iIAoBM;IAEN,iIAiBM;IACN,iIAIM;IACN,6HAAyC;IACzC,iIAaM;IAER,4DAAM;;;IA3FA,0DAAkB;IAAlB,qFAAkB;IACI,0DAAkB;IAAlB,qFAAkB;IAQpB,0DAAkB;IAAlB,qFAAkB;IAQd,0DAAiB;IAAjB,oFAAiB;IAQzC,0DAAiB;IAAjB,oFAAiB;IAKU,0DAAsC;IAAtC,gHAAsC;IAsBtC,0DAAqC;IAArC,+GAAqC;IAkB7C,0DAAiB;IAAjB,oFAAiB;IAKpC,0DAAkB;IAAlB,qFAAkB;IACI,0DAAkB;IAAlB,qFAAkB;;;;IAiB9C,0EAAgE;IAC9D,qEAAwC;IACxC,qEAAI;IAAA,kEAAO;IAAA,4DAAK;IAChB,oEAAG;IAAA,kGAAuC;IAAA,4DAAI;IAC9C,6EAAmD;IAAvB,oUAAsB;IAAC,qEAAU;IAAA,4DAAS;IACxE,4DAAM;;;;IAIN,0EAAkE;IAChE,qEAAoC;IACpC,qEAAI;IAAA,gEAAK;IAAA,4DAAK;IACd,wEAAuB;IAAA,oGAAyC;IAAA,gEAAI;IAClE,4FAAgC;IAAA,4DAAI;IACtC,6EAAmD;IAAvB,oUAAsB;IAAC,qEAAU;IAAA,4DAAS;IACxE,4DAAM;;ADrHX,MAAM,2BAA2B;IAmBtC,YACU,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;QAjBxB,eAAU,GAAG,IAAI,0DAAY,EAAO,CAAC;QAE/C,iBAAY,GAAG,KAAK,CAAC;QACrB,iBAAY,GAAG,EAAE,CAAC;QAElB,eAAU,GAAG,KAAK,CAAC;QACnB,wBAAmB,GAAG,KAAK,CAAC;QAC5B,gBAAW,GAAG,KAAK,CAAC;QACpB,SAAI,GAAG,EAAE,CAAC;QAEH,gBAAW,GAAG,EAAE,CAAC;QACjB,gBAAW,GAAG,EAAE,CAAC;QAEjB,iBAAY,GAAG,oDAAoD,CAAC;QACpE,kBAAa,GAAG,eAAe,CAAC;IAInC,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,YAAY,GAAG,+CAA+C,IAAI,CAAC,YAAY,EAAE,CAAC;QACvF,CAAC,CAAC;YACA,CAAC,CAAC,yBAAyB,CAAC,CAAC,OAAO,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAiB,EAAE,EAAE;YACtD,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACzD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED,UAAU;QACR,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,aAAa;QACX,OAAO,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;SAC9C;IACH,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;SAC7C;IACH,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YACzB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;aAChG;SACF;aAAM;YACL,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;aACjG;SACF;IACH,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YACjC,OAAO,KAAK,CAAC;SACd;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YACjC,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,CAAC;QACX,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YACzB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAC/B;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAC/B;IACH,CAAC;IAED,mBAAmB;QACjB,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE;gBAC1D,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;oBACrF,OAAO,IAAI,CAAC;iBACb;qBAAM;oBACL,OAAO,KAAK,CAAC;iBACd;aACF;iBAAM;gBACL,OAAO,KAAK,CAAC;aACd;SACF;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE;gBAC3D,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;oBACvF,OAAO,IAAI,CAAC;iBACb;qBAAM;oBACL,OAAO,KAAK,CAAC;iBACd;aACF;iBAAM;gBACL,OAAO,KAAK,CAAC;aACd;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,WAAW;QACT,IAAI,OAAO,CAAC;QACZ,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,qBAAqB;YACrB,OAAO,GAAG;gBACR,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBACnE,IAAI,EAAE,OAAO;aACd,CAAC;SACH;aAAM,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACtC,0BAA0B;YAC1B,OAAO,GAAG;gBACR,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;gBACtD,IAAI,EAAE,KAAK;aACZ,CAAC;SACH;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACtH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;gBAC3B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;aACjC;iBAAM;gBACL,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;aAClC;QACH,CAAC,CAAC;IACJ,CAAC;;sGAjKU,2BAA2B;2GAA3B,2BAA2B;QCXxC,yEACqB;QACnB,yEAAkF;QAEhF,yEAA2B;QACzB,yEAA0B;QACxB,4EAA2D;QAAvB,mJAAS,gBAAY,IAAC;QACxD,0EAAyB;QAAA,oEAA4D;QAAA,4DAAO;QAC9F,4DAAS;QACX,4DAAM;QACN,yEAAwB;QACtB,yEAAiB;QACf,oEACM;QACN,2EAA8C;QAC5C,4HAgGM;QAEN,0HAKM;QAIN,2HAMM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;;QAvHqB,2DAAiB;QAAjB,iFAAiB;QAkGT,0DAAuC;QAAvC,2GAAuC;QAStC,0DAAwC;QAAxC,4GAAwC;;;;;;;;;;;;;AC3H5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;;;;;;;;;;ACxBO,MAAM,oBAAoB;IAE/B,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;wFALU,oBAAoB;oGAApB,oBAAoB;QCPjC,yEAA0B;QACtB,oEAAiD;QACjD,qEAAI;QAAA,wEAAa;QAAA,4DAAK;QACtB,oEAAG;QAAA,6GAAkD;QAAA,mEAA8B;QAAC,+FAAmC;QAAA,4DAAI;QAC/H,4DAAM","file":"main-es2015.js","sourcesContent":["import { ActionReducerMap } from '@ngrx/store';\nimport * as fromAuth from './auth/auth.reducers';\nimport * as fromProfile from './profile/user-profile.reducers';\nimport * as fromLoader from './loader/loader.reducers';\nimport * as fromProforma from './proforma/proforma.reducers';\nimport * as testOngoing from \"./test-ongoing/test-ongoing.reducers\";\n\n\nexport interface AppState{\n auth: fromAuth.State;\n userProfile: fromProfile.State;\n loader: fromLoader.State;\n proforma: fromProforma.State;\n testOngoing:testOngoing.State;\n}\n\nexport const AppReducers: ActionReducerMap = {\n auth: fromAuth.authReducer,\n userProfile: fromProfile.userProfileReducer,\n loader: fromLoader.loaderReducer,\n proforma: fromProforma.proformaReducer,\n testOngoing: testOngoing.testOngoingReducer\n};\n","import { Component, ViewChild, Input, OnInit, OnDestroy, ElementRef, HostListener, Inject } from '@angular/core';\nimport { FormGroup, FormBuilder } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { CaptchaDirective } from 'src/app/shared/directives/captcha.directive';\nimport { UtilityService } from 'src/app/shared/services/utility.service';\nimport { countryArray } from 'src/app/shared/constants/glite.constants';\nimport { Store } from '@ngrx/store';\nimport * as fromApp from '../../../stores/app.reducers';\nimport * as AuthActions from '../../../stores/auth/auth.actions';\nimport { EbooksService } from '../ebooks.service';\nimport { DOCUMENT } from '@angular/common';\nimport { HelperService } from 'src/app/shared/services/helper.service';\ndeclare var $;\n@Component({\n selector: 'app-download-ebook',\n templateUrl: './download-ebook.component.html',\n styleUrls: ['./download-ebook.component.scss']\n})\nexport class DownloadEbookComponent implements OnInit, OnDestroy {\n @ViewChild(CaptchaDirective) vc: CaptchaDirective;\n @ViewChild('mobileContainer') mobileContainer: ElementRef;\n @ViewChild('dropdown') dropdown: ElementRef;\n @Input() classesDropdown: any[];\n @Input() availableClasses: any[];\n @Input() isCaptchaEnabled: boolean;\n @Input() CTATitle: string;\n @Input() popUpHeading: string;\n private activeSubscription = new Subscription();\n private isDropdownOpen: boolean = false;\n public validMobileNumberLength: number = 10;\n public enableVerifyOTPPopup: boolean = false;\n public ebookDownloadForm: FormGroup = null;\n public selectedClass: any = { class: 'Select Class', _id: '00' };\n public captchaInfo: any = {\n showCaptcha: false,\n captchaChecked: true,\n showCaptchaError: false\n };\n public errorInfo: any = {\n name_error: false,\n class_error: false,\n mobile_error: false,\n no_name: 'Name should at least be of 3 characters',\n no_class: 'This field is required',\n invalid_number: 'Enter a valid number',\n validNameLength: 3,\n defaultClassId: '00'\n };\n public selectedDialCode: any = countryArray[0];\n\n constructor(\n @Inject(DOCUMENT) private readonly document: Document,\n private fb: FormBuilder,\n private utility: UtilityService,\n private _ebook: EbooksService,\n private store: Store,\n private _helper: HelperService\n ) { }\n\n ngOnInit(): void {\n this.initializePopData();\n\n this.activeSubscription.add(\n this.utility.captchaStateHandler.subscribe((resetCaptcha: boolean) => {\n if (resetCaptcha) {\n this.enableVerifyOTPPopup = false;\n this.resetCaptcha();\n }\n })\n );\n\n this.activeSubscription.add(\n this._ebook.handleDownloadEbookPopup.subscribe((showPopup: boolean) => {\n if (showPopup) {\n $('#ebookDownload').modal('show');\n this.initializePopData();\n }\n })\n );\n\n this.activeSubscription.add(\n this._helper.handleSignupError.subscribe((data: any) => {\n if (!data.signupError) {\n this.enableVerifyOTPPopup = true;\n this.isDropdownOpen = false;\n $('#ebookDownload').modal('hide');\n } else {\n this.resetCaptcha();\n }\n })\n )\n }\n\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: any) {\n if (this.isDropdownOpen && !this.dropdown.nativeElement.classList.contains('show') && this.selectedClass._id === this.errorInfo.defaultClassId) {\n this.errorInfo.class_error = true;\n this.isDropdownOpen = false;\n }\n }\n\n handleNameValue(): void {\n const regexToTestName = /^[A-Z]/gi;\n this.errorInfo.name_error = false;\n let userName = this.ebookDownloadForm.value.name;\n if (!regexToTestName.test(userName)) {\n userName = userName.substring(0, userName.length - 1);\n }\n this.errorInfo.name_error = (userName.length < this.errorInfo.validNameLength);\n this.ebookDownloadForm.controls['name'].setValue(userName);\n }\n\n initializePopData(): void {\n this.ebookDownloadForm = this.fb.group({\n name: [''],\n mobile: ['']\n });\n this.selectedClass = { class: 'Select Class', _id: '00' };\n this.errorInfo.name_error = false;\n this.errorInfo.class_error = false;\n this.errorInfo.mobile_error = false;\n }\n\n captchaExpired() {\n if (this.vc) {\n this.vc.reset();\n }\n this.captchaInfo.captchaChecked = false;\n }\n\n resetCaptcha() {\n if (this.vc) {\n this.vc.reset();\n }\n this.captchaInfo.captchaChecked = false;\n this.captchaInfo.showCaptcha = false;\n }\n\n get countryData() {\n return countryArray;\n }\n\n getSuccess() {\n this.captchaInfo.captchaChecked = true;\n this.captchaInfo.showCaptchaError = false;\n this.downloadEbook();\n }\n\n handleDropdownState(): void {\n this.isDropdownOpen = true;\n }\n\n selectClass(dataSelected: any) {\n this.errorInfo.class_error = false;\n if (this.selectedClass._id !== dataSelected._id) {\n this.selectedClass.class = dataSelected.class;\n this.selectedClass._id = dataSelected._id;\n }\n }\n\n selectCountryCode(selectedDialCode: any) {\n this.selectedDialCode = selectedDialCode;\n }\n\n handlePopUpClose(): void {\n this.resetCaptcha();\n this.isDropdownOpen = false;\n $('#ebookDownload').modal('hide');\n }\n\n handleMobileNumber(e: any): any {\n let mobileNumber = this.ebookDownloadForm.value.mobile;\n this.errorInfo.mobile_error = false;\n var pattern = /^[0-9]+$/;\n if (!pattern.test(mobileNumber)) {\n mobileNumber = mobileNumber.substring(0, mobileNumber.length - 1);\n } else if (mobileNumber.length > this.validMobileNumberLength) {\n mobileNumber = mobileNumber.substring(0, this.validMobileNumberLength);\n }\n this.errorInfo.mobile_error = mobileNumber.length < this.validMobileNumberLength;\n this.ebookDownloadForm.controls['mobile'].setValue(mobileNumber);\n }\n\n enableCaptcha() {\n this.captchaInfo.showCaptcha = this.isCaptchaEnabled;\n }\n\n downloadEbook(): void {\n let captchaToken = '';\n if (this.isCaptchaEnabled && this.vc) {\n captchaToken = this.vc.getResponse();\n }\n\n const payload = {\n name: this.ebookDownloadForm.value.name,\n countryCode: this.selectedDialCode.dialCode,\n mobileNumber: this.ebookDownloadForm.value.mobile,\n loginViaOtp: true,\n referralCode: '',\n class: {\n classId: this.selectedClass._id,\n name: this.selectedClass.class\n },\n captchaToken\n };\n $('#ebookDownload').modal('hide');\n this.isDropdownOpen = false;\n this.store.dispatch(new AuthActions.TryNewSignup(payload));\n }\n\n ngOnDestroy(): void {\n this.activeSubscription.unsubscribe();\n }\n\n addNewClass(){\n this.mobileContainer.nativeElement.classList.add('borderBottomNone')\n }\n}\n","
\n
\n
\n \n
\n
\n

{{popUpHeading}}

\n
\n \n
\n \n \"User\"/\n
\n {{errorInfo.no_name}}\n
\n
\n \n
\n \n \n
\n {{errorInfo.no_class}}\n
\n
\n \n
\n
\n
\n {{selectedDialCode.dialCode}}\n \n
\n
    \n
  • {{country.dialCode}}
  • \n
\n
\n \n
\n {{errorInfo.invalid_number}}\n
\n
\n
\n
\n
Please select captcha
\n
\n \n
\n
\n
\n
\n
\n
\n\n\n\n","import { Injectable } from '@angular/core';\nimport {\n CanActivate,\n RouterStateSnapshot,\n ActivatedRouteSnapshot,\n Router\n} from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport * as fromApp from './stores/app.reducers';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Injectable()\nexport class LoginGuard implements CanActivate {\n public userDetail;\n constructor(private router: Router, private store: Store) { }\n canActivate(state: ActivatedRouteSnapshot, route: RouterStateSnapshot): Observable | Promise | boolean {\n const fiitjeeToken = localStorage.getItem('fiitjeeToken');\n return this.store.select('auth').pipe(\n map((auth) => {\n if (!auth.authenticated && !fiitjeeToken) {\n return true;\n }else if(fiitjeeToken){\n this.router.navigate(['quiz/home']);\n return false;\n }else {\n this.router.navigate(['home']);\n return false;\n }\n }\n )\n );\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-free-trial-expiry',\n templateUrl: './free-trial-expiry.component.html',\n styleUrls: ['./free-trial-expiry.component.scss']\n})\nexport class FreeTrialExpiryComponent implements OnInit {\n\n constructor(private router: Router) { }\n\n ngOnInit(): void {\n }\n\n navigateToBuyCourses(): void {\n this.router.navigate(['home/buy-course']);\n }\n\n}\n","\n
\n
\n
\n \n
\n
\n \"Free\n

Free Trial Expired!

\n
\n

\n Your 14-day trial period is over. Hence you cannot access this test.\n

\n

Learning, however, never stops!

\n

Buy a myPAT course to unlock your access to a successful learning journey!

\n
\n \n
\n
\n
","import { Component, OnInit, Output, EventEmitter, Input, ElementRef, ViewChild } from '@angular/core';\nimport { Router, NavigationEnd } from '@angular/router';\nimport { HomeService } from '../../services/home.service';\nimport { AlertService } from '../../../shared/services/alert.service';\nimport { filter } from 'rxjs/operators';\nimport _ from 'lodash';\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-home-search',\n templateUrl: './home-search.component.html',\n styleUrls: ['./home-search.component.scss']\n})\n\nexport class HomeSearchComponent implements OnInit {\n @Input() clearSearch: any;\n @Output() onExpand = new EventEmitter();\n @ViewChild('globalSearch') searchInputField: ElementRef;\n recentSearchData: any;\n searchSuggestions: any;\n showSearchSuggestions: boolean = false;\n showRecentSearch: boolean = false;\n expandInput: boolean = false;\n searchText: string = \"\";\n recentSearchListFetched = false;\n recentSearchItems: any;\n isSuggestionsFetched: boolean = false;\n elementIds: Array = [\n 'recentSearchBar', 'recentSearchText', 'recentList', 'suggestionList', 'searchBar', 'searchIcon'\n ];\n\n constructor(private homeService: HomeService,\n private router: Router, private alertService: AlertService) {\n const events = router.events.pipe(\n filter((event) => event instanceof NavigationEnd)\n );\n document.addEventListener('click', this.outSideClick.bind(this));\n events.subscribe((e: NavigationEnd) => {\n if (localStorage.getItem(\"searchKeywordData\")) {\n let searchData = JSON.parse(localStorage.getItem(\"searchKeywordData\"));\n this.searchText = searchData.name\n }\n });\n }\n\n ngOnInit(): void {\n this.homeService.homeSearchUpdate.subscribe((data) => {\n switch (data.action) {\n case 'autoFocusSearchField':\n this.autoFocusSearchField();\n break;\n case 'clearAllSuggestions':\n this.clearAll();\n }\n });\n\n if (window.location.pathname.includes(\"searchResult\")) {\n let searchData = JSON.parse(localStorage.getItem(\"searchKeywordData\"));\n this.searchText = searchData.name\n }\n\n this.alertService.clickedBackHome.subscribe((res) => {\n if (res) {\n this.searchText = '';\n this.alertService.clickedBackHome.next(false);\n }\n });\n\n // add class in global search \n $('#searchBar').focus(function () {\n $('.globalSearch').addClass('zIndex99');\n }).blur(function () {\n $('.globalSearch').removeClass('zIndex99');\n });\n }\n\n ngOnChanges() {\n if (this.clearSearch) {\n this.searchText = \"\";\n }\n }\n\n fillSearchItem(itemSelected, event) {\n event.stopPropagation();\n this.searchText = itemSelected.name;\n let id = itemSelected.id;\n localStorage.removeItem(\"searchKeywordData\");\n localStorage.setItem(\"searchKeywordData\", JSON.stringify(itemSelected));\n this.showRecentSearch = false;\n this.showSearchSuggestions = false;\n this.searchSuggestions = [];\n this.fetchSearchSuggestions();\n this.autoFocusSearchField(true);\n }\n\n showRecentSearchToggle() {\n this.expandInput = true;\n this.onExpand.emit(true);\n if (!this.searchText) {\n this.showRecentSearch = true;\n if (this.recentSearchListFetched) {\n return;\n }\n\n if (this.showRecentSearch) {\n this.recentSearchData = [];\n this.homeService.fetchRecentSearch().then((res) => {\n if (res) {\n this.recentSearchListFetched = true;\n this.recentSearchData = res;\n if (this.recentSearchData.length > 10) {\n this.recentSearchData = this.recentSearchData.slice(0, 10);\n }\n this.showHighlightedText();\n }\n });\n } else {\n this.recentSearchData = [];\n }\n } else {\n this.showSearchSuggestions = true;\n if (this.isSuggestionsFetched) {\n return;\n }\n if (this.showSearchSuggestions) {\n let types = 'concept,chapter';\n this.appendRecentSearchItem();\n this.homeService.searchSuggestions(types, this.searchText).then((res) => {\n if (res) {\n this.searchSuggestions = res.length ? _.unionBy(this.recentSearchItems, res, 'id') : this.recentSearchItems;\n this.isSuggestionsFetched = true;\n this.showSearchSuggestions = true;\n } else {\n this.showSearchSuggestions = false;\n this.isSuggestionsFetched = false;\n }\n this.showHighlightedText();\n });\n } else {\n this.searchSuggestions = []\n }\n }\n }\n\n appendRecentSearchItem(): void {\n this.recentSearchItems = this.recentSearchData.filter(item => {\n item.isRecentSearchItem = true;\n return item.name && item.name.toLowerCase().includes(this.searchText.toLowerCase());\n });\n }\n\n searchItemSelected(e, itemSelected) {\n e.stopPropagation();\n this.searchText = itemSelected && itemSelected.name;\n let id = itemSelected && itemSelected.id;\n this.closeSearchBoxOnClick();\n localStorage.removeItem(\"searchKeywordData\");\n\n localStorage.setItem(\"searchKeywordData\", JSON.stringify(itemSelected));\n if (id) {\n this.router.navigate([\n `home/searchResult/${id}`\n ]);\n } else {\n this.router.navigate([\n `home/searchResult/searchForCommunity/${itemSelected.name}`\n ]);\n }\n }\n\n searchForOnlyCommunity() {\n let itemSelected = {\n name: this.searchText\n }\n localStorage.setItem(\"searchKeywordData\", JSON.stringify(itemSelected));\n this.router.navigate([\n `home/searchResult/searchForCommunity/${itemSelected.name}`\n ]);\n this.resetSearchBar();\n }\n\n onEnterSearch() {\n if (this.searchText) {\n let searchData = JSON.parse(localStorage.getItem(\"searchKeywordData\"));\n let id = searchData && (searchData._id || searchData.id);\n if (this.searchText.toLowerCase() === searchData && searchData.name.toLowerCase()) {\n this.router.navigate([\n `home/searchResult/${id}`\n ]);\n } else {\n this.searchForOnlyCommunity()\n }\n this.resetSearchBar();\n }\n }\n\n resetSearchBar() {\n this.showRecentSearch = false;\n this.showSearchSuggestions = false;\n this.recentSearchData = [];\n this.searchSuggestions = [];\n this.expandInput = false;\n this.onExpand.emit(false);\n }\n\n removesearchText() {\n this.searchText = \"\";\n }\n\n removeSearchClass() {\n this.searchText = \"\";\n let searchEle: any = document.getElementsByClassName('searchHideRes')\n searchEle[0].classList.remove('searchHideRes');\n }\n\n outSideClick($event) {\n if ($event.target.id === 'recentSearchBar' || $event.target.id === 'recentSearchText') {\n this.autoFocusSearchField();\n } else if (!this.elementIds.includes($event.target.id)) {\n this.searchText = this.showSearchSuggestions || this.showRecentSearch ? '' : this.searchText;\n this.closeSearchBoxOnClick();\n }\n }\n\n closeSearchBoxOnClick() {\n this.showSearchSuggestions = false;\n this.searchSuggestions = [];\n this.showRecentSearch = false;\n this.expandInput = false;\n this.recentSearchListFetched = false;\n this.isSuggestionsFetched = false;\n this.onExpand.emit(false);\n }\n\n onChangeSearchValue = _.debounce((event) => {\n this.showRecentSearch = false;\n this.searchText = event;\n\n if (!(this.searchText || \"\").trim()) {\n this.showSearchSuggestions = false;\n this.recentSearchListFetched = false;\n this.showRecentSearchToggle();\n this.showHighlightedText();\n return;\n }\n this.fetchSearchSuggestions();\n }, 200);\n\n fetchSearchSuggestions() {\n const types = 'concept,chapter';\n\n this.appendRecentSearchItem();\n this.homeService.searchSuggestions(types, this.searchText).then((res) => {\n if (res) {\n this.expandInput = true;\n this.onExpand.emit(true);\n this.isSuggestionsFetched = true;\n this.searchSuggestions = res.length ? _.unionBy(this.recentSearchItems, res, 'id') : this.recentSearchItems;\n this.showSearchSuggestions = true;\n if (this.searchSuggestions.length > 10) {\n this.searchSuggestions = this.searchSuggestions.slice(0, 10);\n }\n } else {\n this.showSearchSuggestions = false;\n this.isSuggestionsFetched = false;\n }\n this.showHighlightedText();\n });\n }\n\n emptySearchState() {\n this.showSearchSuggestions = false;\n this.searchSuggestions = [];\n }\n\n clearAll() {\n this.homeService.clearAllSuggestion().then((res: any) => {\n if (res.code === 200) {\n this.recentSearchData = []\n }\n })\n this.showRecentSearch = false;\n this.expandInput = true;\n }\n\n clearSearchText() {\n this.searchText = '';\n this.autoFocusSearchField();\n }\n\n autoFocusSearchField(skipClickEvent?) {\n setTimeout(() => {\n if (this.searchInputField) {\n if (!skipClickEvent) {\n this.searchInputField.nativeElement.click();\n }\n this.searchInputField.nativeElement.focus();\n }\n }, 100);\n }\n\n public showHighlightedText = _.debounce(this.highlightTextUtilityFunction, 200);\n\n highlightTextUtilityFunction(): void {\n let listElementsName = document.querySelectorAll('.itemName');\n\n listElementsName.forEach((element) => {\n element.innerHTML = this.showHighlightedTextHelper(element);\n });\n }\n\n showHighlightedTextHelper(element): string {\n let textContent = element.textContent;\n if (textContent.toLowerCase().indexOf(this.searchText.toLowerCase()) > -1) {\n let index = textContent.toLowerCase().indexOf(this.searchText.toLowerCase());\n let textToHiglight = textContent.substring(index, index + this.searchText.length);\n const re = new RegExp(textToHiglight, 'i');\n return element.textContent.replace(re, `${textToHiglight}`);\n } else {\n return textContent;\n }\n }\n}\n","
\n \n \"back\"/\n \n \n 0) || (searchSuggestions && searchSuggestions.length > 0) || (searchText)\"\n autocomplete=\"off\"\n id=\"searchBar\"\n (click)=\"showRecentSearchToggle()\"\n (ngModelChange)=\"onChangeSearchValue($event)\"\n (keyup.enter)=\"onEnterSearch()\"\n [(ngModel)]=\"searchText\"\n type=\"text\" placeholder=\"Search for concepts, chapters, and more...\" #globalSearch/>\n \n \n \n \n \n 0\" (click)=\"clearSearchText()\">\n \n \n \n \n
    0\">\n
    \n
    \n Recent\n Clear All\n
    \n
  • \n
    \n
    \"Clock\"
    \n

    {{ searchItem?.name | titlecase }}

    \n
    \n
    \n {{ searchItem?.type }}\n
    \n
  • \n
    \n
\n
    \n
    \n
    \n Search Glorifire for \n \"{{searchText}}\"\n
    \n
  • \n
    \n
    \"Clock\"
    \n \n
    \"Search\"
    \n
    \n

    {{ searchItem?.name | titlecase }}

    \n
    \n
    \n {{ searchItem?.type }}\n
    \n
  • \n
    \n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { ProfileService } from 'src/app/profile/shared/services/profile.service';\ndeclare var $: any;\n\n@Component({\n selector: 'app-myplan-popup',\n templateUrl: './myplan-popup.component.html',\n styleUrls: ['./myplan-popup.component.scss']\n})\nexport class MyplanPopupComponent implements OnInit {\n\n constructor(private profileService: ProfileService) { }\n\n ngOnInit(): void {\n this.profileService.showMyPlanPopUp.subscribe((showMyPlanPopUp: boolean) => {\n const hideMyplanPopup = JSON.parse(localStorage.getItem('hideMyplanPopup') || 'false');\n if (showMyPlanPopUp && !hideMyplanPopup) {\n $(`#myplan-popup`).modal('show');\n }\n });\n }\n\n dismissModal(): void {\n localStorage.setItem('hideMyplanPopup', 'true');\n $(`#myplan-popup`).modal('hide');\n }\n}\n","
\n
\n
\n
\n \n

Go to myPlan

\n

Please go to myPlan to start your training

\n \n
\n
\n
\n
","\n
\n
    \n
  • \n
    \n
    \n
    \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
  • \n
\n
\n
\n\n\n
\n
    \n
  • \n
    \n
    \n
    \n
    \n

    \n
    \n
    \n

    \n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
  • \n
\n
\n\n\n
\n
    \n
  • \n
    \n

    \n
    \n
    \n
    \n

    \n

    \n
    \n
    \n

    \n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
  • \n
\n
\n\n\n
\n
    \n
  • \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
  • \n
  • \n
    \n
    \n
  • \n
\n
\n\n\n
\n
    \n
  • \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
  • \n
\n
\n\n\n\n
\n
    \n
  • \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
  • \n
\n
\n\n\n
\n
    \n
  • \n
    \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
    \n
  • \n
\n
\n\n\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
    \n
  • \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
  • \n
\n
\n\n\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
    \n
  • \n
  • \n
  • \n
  • \n
\n
","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-selected-card-loader',\n templateUrl: './selected-card-loader.component.html',\n styleUrls: ['./selected-card-loader.component.scss']\n})\n\nexport class SelectedCardLoaderComponent implements OnInit {\n\n @Input() cardName: string;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n range(n: number) {\n const arr = [];\n for (let i = 0; i < n; i += 1) arr.push(i);\n return arr;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { HttpService } from 'src/app/shared/services/http.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AssignedTestsService {\n\n dateRangeValue = new BehaviorSubject(null);\n initializeFilter = new BehaviorSubject(null); // For Filter Scroll\n\n constructor(\n private httpService: HttpService,\n private alertService: AlertService\n ) { }\n\n getAssignedTests(body): any {\n return new Promise((resolve, reject) => {\n this.httpService.post('v4/auth/assigned-tests', true, body, true, false, false).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res.data);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport * as fromApp from '../../../../stores/app.reducers';\ndeclare var $: any;\n\n@Component({\n selector: 'app-profile-dropdown',\n templateUrl: './profile-dropdown.component.html',\n styleUrls: ['./profile-dropdown.component.scss', '../header-after-login.component.scss']\n})\nexport class ProfileDropdownComponent implements OnInit {\n\n @Input() userData: any;\n @Input() fiitjeeFacultyHiring:boolean = false;\n public photoUrl = '';\n public userName = '';\n public gotImage = false;\n public initials: any = '';\n public intialsClass: string;\n @Output() openLogout = new EventEmitter();\n @Output() openPassword = new EventEmitter();\n @Output() disableHome = new EventEmitter();\n constructor(\n private router: Router,\n private store: Store,\n ) { }\n\n ngOnInit(): void {\n this.store.select('userProfile').subscribe((userProfile) => {\n this.userData = userProfile.userData;\n this.userName = this.userData.name ? this.userData.name : '';\n this.photoUrl = this.userData.photoUrl ? this.userData.photoUrl : '';\n this.checkIfImageExist();\n });\n }\n\n checkIfImageExist(): void {\n if (this.userData.userId && this.userData.photoUrl) {\n this.gotImage = true;\n } else {\n this.gotImage = false;\n }\n }\n goToProfile(): void {\n this.changeHomeStatus();\n this.router.navigate(['/profile/personal-info']);\n }\n\n goToRefer(): void {\n this.changeHomeStatus();\n this.router.navigate(['/refer-and-earn']);\n }\n\n changePassword(): void {\n this.changeHomeStatus();\n this.openPassword.emit();\n }\n\n changeHomeStatus(){\n this.disableHome.emit();\n }\n\n logoutConfirm(): void {\n this.changeHomeStatus();\n if (this.userData.isTeacher) {\n return;\n }\n this.openLogout.emit();\n }\n}\n","
\n \n \n \n \n {{userData.initials}}\n \n \n
\n \n \n
\n
\n","
\n

Hello, {{getName(userData.name)}}

\n
\n \n Class {{userData.userClass.name}}\n {{userData.userGoals[0].courseType.name}} 1\">+{{userData.userGoals.length - 1}}\n
\n
\n \n {{assignedBatched[0]?.name}}\n 1\">\n +{{assignedBatched?.length - 1}} \n
    \n
  • {{batch?.name}}
  • \n
\n
\n
\n
\n
\n \n {{userData?.userCentres[0]?.name}}\n 1\">\n +{{userData?.userCentres?.length - 1}} \n
    \n
  • {{centre?.name}}
  • \n
\n
\n
\n
\n
\n\n
\n
\n
\n \n
\n

Target Exams

\n
\n {{goalName?.courseType?.name}}\n
\n
\n
\n
\n
","import { Component, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-profile-user-info',\n templateUrl: './profile-user-info.component.html',\n styleUrls: ['./profile-user-info.component.scss']\n})\nexport class ProfileUserInfoComponent implements OnInit {\n @Input() userData: any;\n public romanClassMapping = [\n { english: '1st', roman: 'I' },\n { english: '2nd', roman: 'II' },\n { english: '3rd', roman: 'III' },\n { english: '4th', roman: 'IV' },\n { english: '5th', roman: 'V' },\n { english: '6th', roman: 'VI' },\n { english: '7th', roman: 'VII' },\n { english: '8th', roman: 'VIII' },\n { english: '9th', roman: 'IX' },\n { english: '10th', roman: 'X' },\n { english: '11th', roman: 'XI' },\n { english: '12th', roman: 'XII' },\n { english: '12th Pass', roman: 'XII Pass'},\n { english: '12th +', roman: 'XII +'}\n ];\n public showMore: boolean = false;\n public showMoreData: any = [];\n public primaryGoalName: any = '';\n public assignedBatched: any = [];\n public primaryGoalData: any[] = [];\n \n constructor() { }\n\n ngOnInit(): void {\n // tslint:disable-next-line: prefer-for-of\n this.primaryGoalData = this.userData.userGoals;\n for (let i = 0; i < this.userData.userGoals.length; i++) {\n if (this.userData.userGoals[i].isPrimary) {\n this.primaryGoalName = this.userData.userGoals[i].courseType && this.userData.userGoals[i].courseType.name;\n break;\n }\n }\n if (this.userData && this.userData.userId && this.userData.userCentres && this.userData.userCentres.length) {\n // tslint:disable-next-line: prefer-for-of\n for (let i = 0; i < this.userData.userCentres.length; i++) {\n if (this.userData.userCentres[i].batches.length > 1) {\n this.showMore = true;\n }\n // tslint:disable-next-line: prefer-for-of\n for (let j = 0; j < this.userData.userCentres[i].batches.length; j++) {\n const obj = {centre: this.userData.userCentres[i].name, batches: this.userData.userCentres[i].batches[j].name };\n this.showMoreData.push(obj);\n }\n }\n if (this.userData.userCentres.length > 1) {\n this.showMore = true;\n }\n const assignedBatches = [];\n this.userData?.userCentres?.forEach(centre => {\n centre?.batches?.forEach(batch => {\n assignedBatches.push(batch);\n });\n });\n this.assignedBatched = assignedBatches;\n }\n }\n\n getEnNo(): string {\n return this.userData.isFiitjee ? this.userData.fiitjeeEnrollmentNumber : this.userData.enrollmentNumber;\n }\n\n getName(name): string {\n return name.split(' ')[0];\n }\n\n getClass(className): string {\n // tslint:disable-next-line: prefer-for-of\n for (let i = 0; i < this.romanClassMapping.length; i++) {\n if (className === this.romanClassMapping[i].english) {\n return this.romanClassMapping[i].roman;\n }\n }\n }\n\n getTitle(): string {\n let result = '';\n if (this.userData.userCentres && this.userData.userCentres[0].batches.length) {\n result = this.userData.userCentres[0].batches[0].name + ', ' + this.userData.userCentres[0].name;\n }\n return result;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpService } from './http.service';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { environment } from 'src/environments/environment';\n\nconst TESTS_TO_REMAIN_LOCKED = [\n 'full', 'part', 'combined', 'phase', 'unit'\n];\n\nconst TEST_TYPE = {\n SAMPLE_TEST: 'sample'\n};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GLiteUtilityService {\n public numberOfItemsInCart = new BehaviorSubject(false);\n public cartItems: Array = [];\n public selectedState: any = '';\n public allPackages: any = {};\n public triggerFreeTrialPopup = new Subject();\n public getActiveClassId = new Subject();\n public signUpData: any = {};\n\n constructor(private _http: HttpService) { }\n\n fetchStates() {\n return this._http.get('stateList', false, null, null, null, environment.serverURLv3);\n }\n\n getCart() {\n return this._http.get('getcart', true, {}, true, false, environment.serverURLv3);\n }\n\n deleteCartItem(data: any) {\n return this._http.delete(`removeCartItem?course_id=${data.course_id}`, data, true, environment.serverURLv3);\n }\n\n getTax(state: any) {\n return this._http.get('getTax', true, state, true, false, environment.serverURLv3);\n }\n\n getUserPackages() {\n return this._http.get('v4/auth/user/packages', true, {}, true, false, environment.serverURLv4);\n }\n\n checkIfTestIsLocked(testData: any): boolean {\n let isTestLocked = false;\n Object.keys(this.allPackages).forEach((key: any) => {\n const currentPackage = this.allPackages[key];\n if (currentPackage?.packageId === testData?.packageId) {\n if (currentPackage.purchased || testData.type === TEST_TYPE.SAMPLE_TEST) {\n isTestLocked = false;\n } else if (currentPackage?.isFreeTrialExpired || (TESTS_TO_REMAIN_LOCKED.includes(testData?.type) && currentPackage?.isFreeTrial)) {\n isTestLocked = true;\n }\n }\n });\n return isTestLocked;\n }\n\n getTaxInfo(payload: any){\n return this._http.get('stateTax',false,payload,true,false,environment.serverURLv3);\n }\n}\n","const ROUTES = {\n ON_SPOT: 'on-spot',\n ENROLMENT: 'enrolment',\n DASHBOARD: 'dashboard',\n};\n\nconst LOGIN_FORM_FIELDS = {\n ENROLMENT_NO: 'enrolmentNo',\n ACCESS_CODE: 'accessCode',\n};\n\nconst BUTTON_STATES = {\n START_TEST: 'Start Test',\n RESUME_TEST: 'Resume Test',\n VIEW_RESULT: 'View Result',\n};\n\nconst ATTEMPT_STATUS = {\n FINSIHED: 'finished',\n}\n\nconst INTERNET_NOT_AVAILABLE_ERROR = 'Please check your internet connection';\n\nexport {\n ROUTES,\n LOGIN_FORM_FIELDS,\n BUTTON_STATES,\n ATTEMPT_STATUS,\n INTERNET_NOT_AVAILABLE_ERROR,\n}","import { Component, Input, OnInit, OnChanges, OnDestroy } from '@angular/core';\nimport { FormGroup, Validators, FormControl } from '@angular/forms';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { UtilityService } from '../shared/services/utility.service';\nimport { Store } from '@ngrx/store';\nimport { AppState } from '../stores/app.reducers';\nimport { Subscription } from 'rxjs';\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-application-survey',\n templateUrl: './application-survey.component.html',\n styleUrls: ['./application-survey.component.scss']\n})\nexport class ApplicationSurveyComponent implements OnInit, OnDestroy {\n\n @Input() modalNumber?: any;\n @Input() examPopupData?: any;\n @Input() numberOfPopups?: any;\n\n private popUpFields = ['applicationNumber', 'rollNumber', 'score', 'mobile', 'email', 'crlRank'];\n private validExtension = [\".png\", \".jpg\", \".jpeg\"];\n public isImageRequired = false;\n public isImageRequiredJeeA = false;\n public isJEEA = false;\n private isStatusChanged = false;\n public isRadioButtonVisible = false;\n public applicationModalData = {\n popUpName: '',\n applicationNumber: false,\n rollNumber: false,\n score: false,\n applicationNumberPlaceholder: '',\n rollNumberPlaceholder: '',\n scorePlaceholder: '',\n applicationNumberErrMsg: '',\n rollNumberErrMsg: '',\n scoreErrMsg: '',\n applicationNumberError: false,\n rollNumberError: false,\n scoreError: false,\n mobile: false,\n mobilePlaceholder: '',\n mobileErrMsg: '',\n mobileError: false,\n email: false,\n emailPlaceholder: '',\n emailErrMsg: '',\n emailError: false,\n admitCardImage: false,\n scoreCardImage: false,\n scoreCardImageErrMsg: '',\n admitCardImageErrMsg: '',\n admitCardImageError: false,\n scoreCardImageError: false,\n showCancelButton: true,\n testName: '',\n uploadImageError: false,\n imageURL: '',\n iconURL: '',\n examCleared: false,\n examClearedErrMsg: '',\n examClearedError: false,\n crlRank: false,\n crlRankPlaceholder: '',\n crlRankError: false,\n crlRankErrMsg: '',\n imageURLJeeA: '',\n uploadImageErrorJeeA: false\n };\n public imageData = {\n data: {},\n files: {}\n }\n public applicationSurvey!: FormGroup;\n private activeSubscription = new Subscription();\n isRestrictAccess = false;\n constructor(\n private httpService: HttpClient,\n private utilityService: UtilityService,\n private store: Store) { }\n\n ngOnInit() {\n this.applicationSurvey = new FormGroup({\n 'applicationNumber': new FormControl('', Validators.required),\n 'rollNumber': new FormControl('', Validators.required),\n 'score': new FormControl('', Validators.required),\n 'mobile': new FormControl('', Validators.required),\n 'email': new FormControl('', Validators.required),\n 'crlRank': new FormControl('', Validators.required)\n });\n this.utilityService.restrictAccessPopUp.subscribe(res => this.isRestrictAccess = res);\n setTimeout(() => {\n if (!this.isRestrictAccess)\n $(`#applicationNumber0`).modal('show');\n this.initializePopUp();\n }, 1500);\n }\n\n initializePopUp() {\n this.applicationModalData.showCancelButton = !this.examPopupData.isCancelDisable;\n this.applicationModalData.iconURL = this.examPopupData.icon;\n this.applicationModalData.testName = this.examPopupData.course.name;\n this.applicationModalData.popUpName = this.examPopupData.course.popupName;\n\n this.isJEEA = this.examPopupData.course.name.includes('JEE(A)');\n\n for (let field of this.examPopupData.fields) {\n if (field.key === 'examCleared') {\n this.isRadioButtonVisible = true;\n this.initializeCutoffInfo(field);\n } else if (this.applicationModalData.hasOwnProperty(field.key)) {\n this.applicationModalData[field.key] = true;\n this.applicationModalData[field.key + 'Placeholder'] = field.placeholder;\n this.applicationModalData[field.key + 'ErrMsg'] = field.errorMessage;\n this.isImageRequired = this.isImageRequired || (field.type === 'file');\n this.isImageRequiredJeeA = (this.isJEEA && this.applicationModalData.scoreCardImage);\n }\n }\n\n this.isImageRequired = (this.isJEEA && !this.applicationModalData.admitCardImage) ? false : this.isImageRequired;\n\n for (let item of this.popUpFields) {\n if (!this.applicationModalData[item]) {\n this.applicationSurvey.removeControl(item);\n }\n }\n }\n\n closeModal(): void {\n $(`#applicationNumber${this.modalNumber}`).modal('hide');\n if (this.numberOfPopups > this.modalNumber + 1) {\n $(`#applicationNumber${this.modalNumber + 1}`).modal('show');\n }\n }\n\n initializeCutoffInfo(item: any) {\n this.applicationModalData.examClearedErrMsg = item.errorMessage;\n this.applicationModalData.examCleared = item.options[0].isSelected;\n for (let el of item.options[0].fields) {\n this.applicationModalData[el.key] = true;\n this.applicationModalData[el.key + 'Placeholder'] = el.placeholder;\n this.applicationModalData[el.key + 'ErrMsg'] = el.errorMessage;\n }\n }\n\n submitForm(): void {\n this.isJEEA ? this.submitJEEAForm() : this.submitJEEMForm();\n }\n\n submitJEEAForm(): void {\n this.applicationModalData.applicationNumberError = false;\n this.applicationModalData.rollNumberError = false;\n this.applicationModalData.scoreError = false;\n this.applicationModalData.scoreCardImageError = false;\n this.applicationModalData.admitCardImageError = false;\n this.applicationModalData.crlRankError = false;\n this.applicationModalData.emailError = false;\n const isAdmitCardError = this.isImageRequired && !this.applicationModalData.imageURL;\n const isResultError = this.isImageRequiredJeeA && !this.applicationModalData.imageURLJeeA;\n const isRadioButtonError = this.isRadioButtonVisible && !this.isStatusChanged;\n\n if (this.applicationSurvey.invalid || isAdmitCardError || isResultError || isRadioButtonError) {\n this.applicationModalData.examClearedError = !this.isStatusChanged;\n\n Object.keys(this.applicationSurvey.value).forEach((key: any) => {\n if (!this.applicationSurvey.value[key]) {\n this.applicationModalData[key + 'Error'] = true;\n }\n });\n if (isAdmitCardError) {\n this.applicationModalData.admitCardImageError = this.applicationModalData.admitCardImage;\n }\n if (isResultError) {\n this.applicationModalData.scoreCardImageError = this.applicationModalData.scoreCardImage;\n }\n return;\n }\n\n const payload = {\n courseId: this.examPopupData.course.id,\n attemptMonth: this.examPopupData.attemptMonth\n };\n\n if (this.isRadioButtonVisible) {\n payload['examCleared'] = this.applicationModalData.examCleared;\n }\n\n if (this.applicationModalData.applicationNumber) {\n payload['applicationNumber'] = this.applicationSurvey.value.applicationNumber;\n }\n\n if (this.applicationModalData.score) {\n payload['score'] = this.applicationSurvey.value.score;\n }\n\n if (this.applicationModalData.rollNumber) {\n payload['rollNumber'] = this.applicationSurvey.value.rollNumber;\n }\n\n if (this.applicationModalData.mobile) {\n payload['mobile'] = this.applicationSurvey.value.mobile;\n }\n\n if (this.applicationModalData.email) {\n payload['email'] = this.applicationSurvey.value.email;\n }\n\n if (this.applicationModalData.crlRank) {\n payload['crlRank'] = this.applicationSurvey.value.crlRank;\n }\n\n if (this.applicationModalData.scoreCardImage) {\n payload['scoreCardImage'] = this.applicationModalData.imageURLJeeA;\n }\n if (this.applicationModalData.admitCardImage) {\n payload['admitCardImage'] = this.applicationModalData.imageURL;\n }\n\n this.activeSubscription.add(\n this.utilityService.submitApplicationSurvey(payload).subscribe((data) => {\n if (data.code === 200) {\n $(`#applicationNumber${this.modalNumber}`).modal('hide');\n if (this.numberOfPopups > this.modalNumber + 1) {\n $(`#applicationNumber${this.modalNumber + 1}`).modal('show');\n }\n }\n })\n );\n }\n\n submitJEEMForm(): void {\n this.applicationModalData.applicationNumberError = false;\n this.applicationModalData.rollNumberError = false;\n this.applicationModalData.scoreError = false;\n this.applicationModalData.scoreCardImageError = false;\n this.applicationModalData.admitCardImageError = false;\n\n if (this.applicationSurvey.invalid || (this.isImageRequired && !this.applicationModalData.imageURL)) {\n Object.keys(this.applicationSurvey.value).forEach((key: any) => {\n if (!this.applicationSurvey.value[key]) {\n this.applicationModalData[key + 'Error'] = true;\n }\n if (this.isImageRequired && !this.applicationModalData.imageURL) {\n this.applicationModalData.scoreCardImageError = this.applicationModalData.scoreCardImage;\n this.applicationModalData.admitCardImageError = this.applicationModalData.admitCardImage;\n }\n });\n return;\n }\n\n const payload = {\n courseId: this.examPopupData.course.id,\n attemptMonth: this.examPopupData.attemptMonth,\n };\n\n if (this.applicationModalData.applicationNumber) {\n payload['applicationNumber'] = this.applicationSurvey.value.applicationNumber;\n }\n\n if (this.applicationModalData.score) {\n payload['score'] = this.applicationSurvey.value.score;\n }\n\n if (this.applicationModalData.rollNumber) {\n payload['rollNumber'] = this.applicationSurvey.value.rollNumber;\n }\n\n if (this.applicationModalData.scoreCardImage) {\n payload['scoreCardImage'] = this.applicationModalData.imageURL;\n } else {\n payload['admitCardImage'] = this.applicationModalData.imageURL;\n }\n\n this.activeSubscription.add(\n this.utilityService.submitApplicationSurvey(payload).subscribe((data) => {\n $(`#applicationNumber${this.modalNumber}`).modal('hide');\n if (this.numberOfPopups > this.modalNumber + 1) {\n $(`#applicationNumber${this.modalNumber + 1}`).modal('show');\n }\n })\n );\n }\n\n handleMobileInput() {\n let mobile = this.applicationSurvey.value.mobile.toString();\n if (mobile.length > 10) {\n mobile = mobile.substring(0, 10);\n this.applicationSurvey.controls['mobile'].setValue(mobile);\n }\n }\n\n handleSpecialCharacters(e: any, controlName: any) {\n let value = e.target.value;\n value = value.replace(/[^a-zA-Z0-9]+/g, '');\n this.applicationSurvey.controls[controlName].setValue(value);\n }\n\n handleApplicationNumber() {\n this.applicationModalData.applicationNumberError = !!(!this.applicationSurvey.value.applicationNumber);\n }\n\n handleRollNumber() {\n this.applicationModalData.rollNumberError = !!(!this.applicationSurvey.value.rollNumber);\n }\n\n handleScore() {\n this.applicationModalData.scoreError = !!(!this.applicationSurvey.value.score);\n }\n\n handleMobileNumber() {\n this.applicationModalData.mobileError = !!(!this.applicationSurvey.value.mobile);\n }\n\n handleEmailId() {\n this.applicationModalData.emailError = !!(!this.applicationSurvey.value.email);\n }\n\n handleCrlRank() {\n this.applicationModalData.crlRankError = !!(!this.applicationSurvey.value.crlRank);\n }\n\n changeStatus(status: boolean) {\n this.isStatusChanged = true;\n this.applicationModalData.crlRankError = false;\n this.applicationModalData.scoreError = false;\n this.applicationModalData.examCleared = status;\n this.applicationModalData.examClearedError = false;\n\n if (!status) {\n this.applicationSurvey.removeControl('crlRank');\n this.applicationSurvey.removeControl('score');\n } else {\n this.applicationSurvey.addControl('crlRank', new FormControl('', Validators.required));\n this.applicationSurvey.addControl('score', new FormControl('', Validators.required));\n }\n }\n\n removeImage(isJeeAImage?: boolean) {\n !isJeeAImage ? this.applicationModalData.imageURL = '' : this.applicationModalData.imageURLJeeA = '';\n }\n\n getFileExtension(files) {\n const names = files[0].name.split('.');\n const extension = names[names.length - 1].trim().toLowerCase();\n return '.' + extension;\n }\n\n processImage(e: any, type?: string): void {\n if (!type) {\n type = this.applicationModalData.scoreCardImage && !this.isJEEA ? 'scoreCardImage' : 'admitCardImage';\n }\n const files = e.target.files;\n const extension = this.getFileExtension(files);\n this.applicationModalData.uploadImageError = false;\n this.applicationModalData.scoreCardImageError = false;\n this.applicationModalData.admitCardImageError = false;\n\n if (!this.validExtension.includes(extension)) {\n this.applicationModalData.uploadImageError = true;\n return;\n }\n\n const params = {\n key: 'popups',\n type: type,\n fileExtension: extension\n };\n\n this.activeSubscription.add(\n this.utilityService.getImageSignedUrl(params).subscribe((data: any) => {\n if (data.data.url && data.data.fields) {\n this.imageData.data = data.data;\n this.imageData.files = files[0];\n this.uploadImageOnS3(data.data, { files: files[0] }, type);\n }\n })\n );\n }\n\n uploadJeeAResult(e: any) {\n const files = e.target.files;\n const extension = this.getFileExtension(files);\n const type = 'scoreCardImage';\n this.applicationModalData.uploadImageErrorJeeA = false;\n this.applicationModalData.scoreCardImageError = false;\n\n if (!this.validExtension.includes(extension)) {\n this.applicationModalData.uploadImageErrorJeeA = true;\n return;\n }\n\n const params = {\n key: 'popups',\n type,\n fileExtension: extension\n };\n\n this.activeSubscription.add(\n this.utilityService.getImageSignedUrl(params).subscribe((data: any) => {\n if (data.data.url && data.data.fields) {\n this.imageData.data = data.data;\n this.imageData.files = files[0];\n this.uploadImageOnS3(data.data, { files: files[0] }, type);\n }\n })\n );\n }\n\n uploadImageOnS3(data: any, params: any, type: string) {\n const formData: FormData = new FormData();\n for (let key of Object.keys(data.fields)) {\n formData.append(key, data.fields[key]);\n }\n formData.append('file', params.files, params.files.name);\n const key = data.fields.key;\n const url = data.url;\n\n const headers = new HttpHeaders().set('Accept', 'application/json');\n this.activeSubscription.add(\n this.httpService.post(data.url, formData, { headers }).subscribe((data: any) => {\n const finalUrl = url + '/' + key;\n if (!this.isJEEA) {\n this.applicationModalData.imageURL = finalUrl;\n } else {\n (type === 'scoreCardImage') ? this.applicationModalData.imageURLJeeA = finalUrl : this.applicationModalData.imageURL = finalUrl;\n }\n })\n );\n }\n\n ngOnDestroy(): void {\n this.activeSubscription.unsubscribe();\n }\n}\n\n","
\n
\n \n
\n
\n \n
\n
\n

{{applicationModalData.popUpName}}

\n \n
\n \n
\n \n
\n {{applicationModalData.applicationNumberErrMsg}}\n
\n
\n
\n \n
\n {{applicationModalData.mobileErrMsg}}\n
\n
\n
\n \n
\n {{applicationModalData.emailErrMsg}}\n
\n
\n
\n \n
\n {{applicationModalData.rollNumberErrMsg}}\n
\n
\n
\n \n
\n {{applicationModalData.scoreErrMsg}}\n
\n
\n \n \n
\n
\n \n
\n \n
\n
\n
\n \n \n
\n \n
\n
\n
\n \n
\n \n Please use .png, .jpg, .jpeg formats only\n \n File format not supported! Please use .png, .jpg, .jpeg formats only\n \n \n {{applicationModalData.scoreCardImageErrMsg || applicationModalData.admitCardImageErrMsg || 'Please upload an image'}} \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n {{applicationModalData.examClearedErrMsg}} \n
\n
\n \n
\n \n
\n {{applicationModalData.crlRankErrMsg}}\n
\n
\n
\n \n
\n {{applicationModalData.scoreErrMsg}}\n
\n
\n
\n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n \n
\n \n
\n \n Please use .png, .jpg, .jpeg formats only\n \n File format not supported! Please use .png, .jpg, .jpeg formats only \n \n \n {{applicationModalData.scoreCardImageErrMsg || 'Please upload an image'}} \n \n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { UtilityService } from '../../services/utility.service';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { timer, Subscription } from 'rxjs';\nimport { map, take } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport * as fromApp from '../../../stores/app.reducers';\nimport * as AuthActions from '../../../stores/auth/auth.actions';\nimport { AlertService } from '../../services/alert.service';\nimport { FORM_TYPE } from '../form/free-trial-form/form.constant';\nimport { HelperService } from '../../services/helper.service';\nimport { OTP_ERROR } from '../../constants/error.constants';\nimport { Router } from '@angular/router';\ndeclare var $: any;\n\n@Component({\n selector: 'app-otp-verify-modal',\n templateUrl: './otp-verify-modal.component.html',\n styleUrls: ['./otp-verify-modal.component.scss']\n})\nexport class OtpVerifyModalComponent implements OnInit, OnDestroy {\n @Input() mobileInfo: any;\n @Input() displayType = FORM_TYPE.HOME_INFO;\n @Input() examSelected;\n private activeSubscription = new Subscription();\n private validValues: any = {\n validMobileNumberLength: 10,\n validOTPLength: 4\n };\n public timerData: any = {\n showTimer: false,\n secondsLeft: null\n };\n public showResendOTP: boolean = false;\n public otpVerificationForm: FormGroup = null;\n public otpError: string = '';\n public isDisabled: boolean = true;\n constructor(\n private _utility: UtilityService,\n private fb: FormBuilder,\n private store: Store,\n private _alert: AlertService,\n private _helper: HelperService,\n private router: Router\n ) { }\n\n ngOnInit(): void {\n $('#otpVerify').modal('show');\n this.otpError = '';\n this.otpVerificationForm = this.fb.group({\n mobileNumber: '',\n OTP: ''\n });\n this.activeSubscription.add(\n this._helper.handleOtpError.subscribe((data: any) => {\n if (data?.isOtpError) {\n this.otpError = OTP_ERROR.wrong_otp;\n }\n })\n );\n this.initializeTimer();\n }\n\n initializeTimer() {\n this.timerData.showTimer = true;\n this.activeSubscription.add(\n this.countdown.subscribe(secondsLeft => {\n this.timerData.secondsLeft = secondsLeft;\n if (this.timerData.secondsLeft === '01') {\n this.timerData.showTimer = false;\n this.showResendOTP = true;\n }\n })\n );\n }\n\n countdown = timer(0, 1000).pipe(\n take(30),\n map(secondsElapsed => {\n const remainingSeconds = 30 - secondsElapsed;\n return remainingSeconds < 10 ? `0${remainingSeconds}` : remainingSeconds.toString();\n })\n );\n\n\n handleOTP(): void {\n let OTP = this.otpVerificationForm.value.OTP;\n this.otpError = '';\n var pattern = /^[0-9]+$/;\n if (!pattern.test(OTP)) {\n OTP = OTP.substring(0, OTP.length - 1);\n } else if (OTP.length > this.validValues.validOTPLength) {\n OTP = OTP.substring(0, this.validValues.validOTPLength);\n }\n this.isDisabled = OTP.length !== this.validValues.validOTPLength;\n this.otpVerificationForm.controls['OTP'].setValue(OTP);\n }\n\n resendOTP(): void {\n const payload = {\n mobileNumber: this.mobileInfo.mobileNumber,\n countryCode: this.mobileInfo.selectedDialCode.dialCode\n };\n this.activeSubscription.add(\n this._utility.resendOTP(payload).subscribe((res) => {\n if (res?.code === 200) {\n this.showResendOTP = false;\n this.initializeTimer();\n this._alert.showSuccessMessage(res?.message);\n } else {\n this._alert.showErrorMessage(res?.message);\n }\n }, (err) => {\n this._alert.showErrorMessage(err?.message);\n })\n );\n }\n\n submitOTP(): void {\n if (!this.isDisabled) {\n this.otpError = '';\n const userMobileData = {\n mobileNumber: this.mobileInfo.mobileNumber,\n countryCode: this.mobileInfo.selectedDialCode.dialCode,\n otp: this.otpVerificationForm.value.OTP,\n source: 'web',\n deviceToken: ''\n };\n if (this.displayType === FORM_TYPE.HOME_INFO) {\n this.store.dispatch(new AuthActions.VerifyMobile(userMobileData));\n } else {\n this.getUserId(userMobileData);\n }\n }\n }\n\n getUserId(payload){\n this.activeSubscription.add(\n this._utility.getUserID(payload).subscribe(res=>{\n if(res && res.code === 200){\n const userId = res?.data?.profile?.userId._id;\n $('#otpVerify').modal('hide');\n this._utility.userIdFetch.next(userId);\n if(this.examSelected)\n this.router.navigate([`/college-predictor/${this.examSelected.toLowerCase()}`]);\n }else{\n this._alert.showErrorMessage(res.message);\n }\n },error=>{\n this._alert.showErrorMessage(error.message);\n })\n )\n }\n\n handlePopUpClose(): void {\n $('#otpVerify').modal('hide');\n this._utility.captchaStateHandler.next(true);\n this._utility.otpPopupHandler.next({ isPopUpEnabled: false });\n }\n\n ngOnDestroy(): void {\n this.activeSubscription.unsubscribe();\n }\n}\n","\n
\n
\n
\n \n
\n
\n

Verify OTP

\n

We've sent an OTP to your entered mobile number

\n
\n \n
\n \n {{otpError}}\n 00:{{ timerData.secondsLeft}} secs\n
\n
\n \n
\n
Didn't Receive? Resend OTP
\n \n
\n
\n
\n
\n
\n
\n\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'convertSeconds'\n})\nexport class ConvertSecondsPipe implements PipeTransform {\n\n transform(value: any, args?: any): any {\n var timeVal: number;\n let timeStr = '';\n if (value > 3600) {\n timeVal = Math.floor(value / 3600);\n timeVal = Math.round(timeVal);\n value = value % 3600;\n timeStr = timeStr + timeVal + 'h ';\n }\n if (value > 60) {\n timeVal = Math.floor(value / 60);\n timeVal = Math.round(timeVal);\n value = value % 60;\n timeStr = timeStr + timeVal + 'm ';\n }\n if (value < 60) {\n timeVal = value;\n timeVal = Math.round(timeVal);\n timeStr = timeStr + timeVal + 's ';\n }\n return timeStr;\n }\n\n}\n","import { AfterViewInit, Directive, ElementRef, EventEmitter, forwardRef, Injectable, Injector, Input, NgZone, OnInit, Output } from '@angular/core';\nimport { AbstractControl, ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';\nimport { HttpClient } from '@angular/common/http';\nimport { environment } from '../../../environments/environment';\nimport { map } from 'rxjs/operators';\n\ndeclare const grecaptcha: any;\n\ninterface Response {\n success: any;\n}\n\ndeclare global {\n interface Window {\n grecaptcha: any;\n reCaptchaLoad: () => void;\n }\n}\n\n// export const RECAPTCHA_URL = new InjectionToken('RECAPTCHA_URL');\n\n@Injectable()\nexport class ReCaptchaAsyncValidator {\n\n constructor(private http: HttpClient) { }\n\n validateToken(token: string): any {\n return (_: AbstractControl) => {\n return this.http.get('https://www.mypat.in', { params: { token } }).pipe(\n map(res => {\n if (!res['success']) {\n return { tokenInvalid: true };\n }\n return null;\n })\n );\n };\n }\n}\n\nexport interface ReCaptchaConfig {\n theme?: 'dark' | 'light';\n type?: 'audio' | 'image';\n size?: 'compact' | 'normal';\n tabindex?: number;\n}\n\n@Directive({\n selector: '[appCaptcha]',\n exportAs: 'nbRecaptcha',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CaptchaDirective),\n multi: true\n },\n ReCaptchaAsyncValidator\n ]\n})\nexport class CaptchaDirective implements OnInit, AfterViewInit, ControlValueAccessor {\n @Input() config: ReCaptchaConfig = {};\n @Input() lang: string;\n // @Input('nbRecaptcha')\n\n @Output() captchaResponse = new EventEmitter();\n @Output() captchaExpired = new EventEmitter();\n\n private control: FormControl;\n private widgetId: number;\n\n private onChange: (value: string) => void;\n private onTouched: (value: string) => void;\n private key: any = environment.captchaKey;\n\n\n constructor(private element: ElementRef, private ngZone: NgZone, private reCaptchaAsyncValidator: ReCaptchaAsyncValidator) {}\n\n ngOnInit(): void {\n\n }\n\n registerReCaptchaCallback(): void {\n const self = this;\n window.reCaptchaLoad = () => {\n const config = {\n ...self.config,\n sitekey: self.key,\n callback: self.onSuccess.bind(self),\n 'expired-callback': self.onExpired.bind(self)\n };\n self.widgetId = self.render(self.element.nativeElement, config);\n };\n }\n\n ngAfterViewInit(): void {\n this.registerReCaptchaCallback();\n this.addScript();\n }\n\n /**\n *\n * @description Useful for multiple captcha\n * @param number\n */\n getId(): any {\n return this.widgetId;\n }\n\n writeValue(obj: any): void {\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /**\n * onExpired\n */\n onExpired(): void {\n this.ngZone.run(() => {\n this.captchaExpired.emit();\n this.onChange(null);\n this.onTouched(null);\n });\n }\n\n /**\n *\n * @param response\n */\n onSuccess(token: string): void {\n this.ngZone.run(() => {\n // this.verifyToken(token);\n this.captchaResponse.next(token);\n this.onChange(token);\n this.onTouched(token);\n });\n }\n\n /**\n *\n * @param token\n */\n verifyToken(token: string): void {\n this.control.setAsyncValidators(this.reCaptchaAsyncValidator.validateToken(token))\n this.control.updateValueAndValidity();\n }\n\n /**\n * Renders the container as a reCAPTCHA widget and returns the ID of the newly created widget.\n * @param element\n * @param config\n * @returns {number}\n */\n private render(element: HTMLElement, config): number {\n return grecaptcha.render(element, config);\n }\n\n /**\n * Resets the reCAPTCHA widget.\n */\n reset(): void {\n if (grecaptcha) {\n grecaptcha.reset(this.widgetId);\n }\n }\n\n /**\n * Gets the response for the reCAPTCHA widget.\n * @returns {string}\n */\n getResponse(): string {\n // if( this.widgetId )\n return grecaptcha.getResponse(this.widgetId);\n }\n\n /**\n * Add the script\n */\n addScript(): void {\n const script = document.createElement('script');\n const lang = this.lang ? '&hl=' + this.lang : '';\n script.src = `https://www.google.com/recaptcha/api.js?onload=reCaptchaLoad&render=explicit${lang}`;\n script.async = true;\n script.defer = true;\n document.body.appendChild(script);\n }\n\n}\n\n","import { Injectable } from '@angular/core';\nimport {\n CanActivate,\n RouterStateSnapshot,\n ActivatedRouteSnapshot,\n Router\n} from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport * as fromApp from './stores/app.reducers';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\n@Injectable()\nexport class AuthGaurd implements CanActivate {\n public userDetail;\n constructor(private router: Router, private store: Store) { }\n canActivate(state: ActivatedRouteSnapshot, route: RouterStateSnapshot): Observable | Promise | boolean {\n return this.store.select('auth').pipe(\n map((auth) => {\n if (auth.authenticated) {\n const queryParams: any = state.queryParamMap;\n if (queryParams?.params?.authToken) {\n return false;\n }\n return true;\n } else if(localStorage.getItem('fiitjeeToken')){\n this.router.navigate(['/quiz/home']);\n return false;\n }else {\n let learnDarkMode = localStorage.getItem('isDarkmodeforid');\n let redirect = !localStorage.getItem('isNCRPUser');\n localStorage.clear();\n sessionStorage.clear();\n localStorage.setItem('isDarkmodeforid', learnDarkMode);\n return false;\n }\n }\n )\n );\n }\n}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport * as fromApp from '../../../stores/app.reducers';\nimport * as LoaderReducer from '../../../stores/loader/loader.reducers';\nimport { map } from 'rxjs/operators';\n\n@Component({\n selector: 'app-loader',\n templateUrl: './loader.component.html',\n styleUrls: ['./loader.component.scss']\n})\nexport class LoaderComponent implements OnInit {\n @Input() pageFrom: string;\n public isloader: boolean = true;\n public loaderSub: any;\n constructor(private store: Store) {\n this.loaderSub = this.store.select('loader').pipe(\n map((data: any) => {\n return data.isLoader;\n })\n );\n this.loaderSub.subscribe(res => {\n this.isloader = res;\n });\n }\n\n\n ngOnInit(): void {\n\n }\n\n}\n","\n\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n
","import { Injectable } from '@angular/core';\nimport { HttpService } from 'src/app/shared/services/http.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { Router } from '@angular/router';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { Observable } from 'rxjs';\n\ntype Steps = {\n index: number,\n label: string,\n isSuccess: boolean,\n isActive: boolean,\n nextStepIndex: number,\n prevStepIndex: number\n};\n\ntype StepWizard = {\n title: string,\n steps: Steps[]\n};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GoalSettingService {\n public step1Complete = false;\n public currentUrl = new BehaviorSubject({});\n public currentStep = new BehaviorSubject('1');\n public saveStepData = new Subject();\n public changesInStep = new Subject();\n state = false;\n private questionData: any;\n private enrollmentNumbers: any;\n private pastAchievmentsData: any;\n private goals: any;\n public localData: any;\n public disableValidation:boolean = false;\n studentSteps: StepWizard;\n parentSteps: StepWizard;\n userTag: string;\n public activeStep:Steps;\n constructor(\n private http: HttpService,\n private alert: AlertService,\n private router: Router) {\n\n const url = this.router.url.split('/');\n this.currentUrl.next(url[url.length - 1]);\n this.activeStep = {\n index:0,\n label:'',\n isSuccess:false,\n isActive:false,\n prevStepIndex:0,\n nextStepIndex:0\n }\n this.studentSteps = this.getStudentSteps();\n this.parentSteps = this.getParentSteps();\n }\n\n get saveData():Observable {\n return this.saveStepData.asObservable();\n }\n\n get isDataChangedInStep():Observable {\n return this.changesInStep.asObservable();\n }\n // start stepper wizard\n getUserTagByUrl(url: string): string {\n if (url.includes('parent-proforma')) {\n this.userTag = 'parent';\n } else if (url.includes('teacher-proforma')) {\n this.userTag = 'teacher';\n } else {\n this.userTag = 'student';\n }\n return this.userTag;\n }\n\n getCurrentStepTitle(): string {\n const steps = this.userTag === 'parent' ? this.parentSteps.steps : this.studentSteps.steps;\n const currentStep = steps.find(x => x.isActive === true && x.isSuccess === false);\n if (currentStep) {\n return currentStep.label;\n } else {\n return '';\n }\n }\n\n getPrevStepIndex(userTag): number {\n const steps = userTag === 'parent' ? this.parentSteps.steps : this.studentSteps.steps;\n const currentStep = steps.find(x => x.isActive === true && x.isSuccess === false);\n if (currentStep) {\n return currentStep.prevStepIndex;\n } else {\n return 1;\n }\n }\n\n getNextStepIndex(userTag): number {\n if (this.router.url.split('/')[this.router.url.split('/').length - 1] === (true).toString()) {\n return parseInt(this.router.url.split('/')[this.router.url.split('/').length - 2], 0) + 1;\n } else {\n const steps = userTag === 'parent' ? this.parentSteps.steps : this.studentSteps.steps;\n const currentStep = steps.find(x => x.isActive === true && x.isSuccess === false);\n if (currentStep) {\n return currentStep.nextStepIndex;\n } else {\n return 1;\n }\n }\n }\n\n updateActiveStep(tag: string, index: number): void {\n const steps = tag === 'parent' ? this.parentSteps.steps : this.studentSteps.steps;\n\n steps.forEach(step => {\n if (step.index < index) {\n step.isActive = true;\n step.isSuccess = true;\n }\n if (step.index === index) {\n step.isActive = true;\n step.isSuccess = false;\n }\n if (step.index > index) {\n step.isActive = false;\n step.isSuccess = false;\n }\n });\n const tempActive = steps.find(x => x.isActive == true && x.isSuccess == false);\n if (tempActive) {\n this.activeStep.index = tempActive.index;\n } else {\n this.activeStep.index = 0;\n }\n }\n\n getStudentSteps(): any {\n const stepWizard = {\n title: `Student's Goal Setting Proforma`,\n steps: [\n {\n index: 1,\n label: 'Personal Particulars',\n isSuccess: false,\n isActive: true,\n prevStepIndex: -1,\n nextStepIndex: 2\n },\n {\n index: 2,\n label: 'Self Analysis',\n isSuccess: false,\n isActive: false,\n prevStepIndex: 1,\n nextStepIndex: 3\n },\n {\n index: 3,\n label: 'Past Achievements',\n isSuccess: false,\n isActive: false,\n prevStepIndex: 2,\n nextStepIndex: 4\n },\n {\n index: 4,\n label: 'Goal Selection',\n isSuccess: false,\n isActive: false,\n prevStepIndex: 3,\n nextStepIndex: 5\n },\n {\n index: 5,\n label: 'Goal Confirmation',\n isSuccess: false,\n isActive: false,\n prevStepIndex: 4,\n nextStepIndex: 0\n },\n ]\n };\n return stepWizard;\n }\n updateStudentStep(userInfo, questionStatus, goalStatus): void {\n this.studentSteps.steps.forEach((step) => {\n switch (step.index) {\n case 1: step.isActive = true; step.isSuccess = this.showIntro(userInfo, questionStatus); break;\n case 2: step.isActive = this.showIntro(userInfo, questionStatus); step.isSuccess = this.showStep2(userInfo, questionStatus); break;\n case 3: step.isActive = this.showStep2(userInfo, questionStatus); step.isSuccess = this.showStep3(userInfo, questionStatus, goalStatus); break;\n case 4: step.isActive = this.showStep3(userInfo, questionStatus, goalStatus); step.isSuccess = this.showStep4(userInfo, goalStatus); break;\n case 5: step.isActive = this.showStep4(userInfo, goalStatus); step.isSuccess = this.showLastStep(goalStatus); break;\n }\n });\n }\n\n getParentSteps(): any {\n const stepWizard = {\n title: `Parent's Goal Setting Proforma`,\n steps: [\n {\n index: 1,\n label: 'Student Particulars',\n isSuccess: false,\n isActive: true,\n prevStepIndex: -1,\n nextStepIndex: 2\n },\n {\n index: 2,\n label: 'Student Analysis',\n isSuccess: false,\n isActive: false,\n prevStepIndex: 1,\n nextStepIndex: 3\n },\n {\n index: 3,\n label: 'Goal Setting Exercise',\n isSuccess: false,\n isActive: false,\n prevStepIndex: 2,\n nextStepIndex: 4\n },\n {\n index: 4,\n label: 'Goal Confirmation',\n isSuccess: false,\n isActive: false,\n prevStepIndex: 3,\n nextStepIndex: 0\n },\n ]\n };\n return stepWizard;\n }\n\n updateParentStep(userInfo, questionStatus, goalStatus): void {\n this.parentSteps.steps.forEach((step) => {\n switch (step.index) {\n\n case 1: step.isActive = true; step.isSuccess = this.showIntro(userInfo, questionStatus); break;\n case 2: step.isActive = this.showIntro(userInfo, questionStatus); step.isSuccess = this.showStep2(userInfo, questionStatus); break;\n case 3: step.isActive = this.showStep2(userInfo, questionStatus); step.isSuccess = this.showStep4(userInfo, goalStatus); break;\n case 4: step.isActive = this.showStep4(userInfo, goalStatus); step.isSuccess = this.showLastStep(goalStatus); break;\n }\n });\n }\n // end stepper wizard\n\n\n\n //set question data on next page\n public setQuestionData = (data: any) => this.questionData = data;\n\n //get question data\n public getQuestionData = () => this.questionData;\n\n //set question data on next page\n public setPastAchievementsData = (data: any) => this.pastAchievmentsData = data;\n\n //get question data\n public getPastAchievementsData = () => this.pastAchievmentsData;\n\n\n //set enrollment Number\n public setEnrollmentData = (data: any) => this.enrollmentNumbers = data\n\n //get enrollment number\n public getEnrollmentNumber = () => this.enrollmentNumbers;\n\n\n // set goals\n public setSelectedGoals = (data: any) => this.goals = data;\n\n // get goals\n public getSelectedGoals = () => this.goals;\n\n getGoalSettingStep(userTag, userInfo, questionStatus, goalStatus): number {\n if (this.showIntro(userInfo, questionStatus)) {\n if (userTag == 'parent') {\n this.updateParentStep(userInfo, questionStatus, goalStatus);\n } else {\n this.updateStudentStep(userInfo, questionStatus, goalStatus);\n }\n const steps = userTag === 'parent' ? this.parentSteps.steps : this.studentSteps.steps;\n const successSteps = steps.filter(x => x.isActive === true && x.isSuccess === true);\n if (successSteps && successSteps.length === steps.length) {\n return 0;\n }\n const currentStep = steps.find(x => x.isActive === true && x.isSuccess === false);\n if (currentStep) {\n return currentStep.index;\n }\n } else {\n return -1;\n }\n }\n\n showIntro(userInfo, questionStatus) {\n if ((userInfo.prevEnrollmentInfo.length >= 0 && localStorage.getItem(\"goalSettingStep1\")) || (userInfo.prevEnrollmentInfo.length >= 0 && questionStatus === 'done')) {\n return true;\n } else {\n return false;\n }\n }\n\n showStep2(userInfo, questionStatus): boolean {\n if ((userInfo.prevEnrollmentInfo.length >= 0 && questionStatus === 'done')) {\n return true;\n } else {\n return false;\n }\n }\n\n showStep3(userInfo, questionStatus, goalStatus): boolean {\n if (((userInfo.pastAchievements.length > 0 && questionStatus == 'done') || goalStatus == 'done')) {\n return true;\n } else {\n return false;\n }\n }\n\n showStep4(userInfo, goalStatus): boolean {\n if (userInfo.pastAchievements.length >=0 && (goalStatus == 'partial' || goalStatus == \"done\")) {\n return true;\n } else {\n return false;\n }\n }\n\n showLastStep(goalStatus): boolean {\n if (goalStatus == 'done') {\n return true;\n } else {\n return false;\n }\n }\n\n public sendProforma(payload: any) {\n const apiUrl = 'v4/auth/goal-settings/send-performa';\n return new Promise((resolve, reject) => {\n this.http.put(apiUrl, true, payload, true).subscribe(res => {\n if (res.code === 200) {\n this.alert.showSuccessMessage(res.message)\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n public getGoalLevels(courseId) {\n const apiUrl = `v4/auth/goal-settings/goal-level?courseId=${courseId}`;\n return new Promise((resolve, reject) => {\n this.http.get(apiUrl, true, {}, true).subscribe(res => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n })\n }\n\n public setPrimaryGoal(payload: any) {\n const apiUrl = 'v4/auth/goal-settings';\n return new Promise((resolve, rejects) => {\n this.http.post(apiUrl, true, payload, true).subscribe(res => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message)\n }\n })\n });\n }\n\n public goalSettingForUser(payload:any) {\n const apiUrl = 'v4/auth/goal-settings';\n return new Promise((resolve, rejects) => {\n this.http.patch(apiUrl, true, payload, true).subscribe(res => {\n if (res ) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message)\n }\n })\n });\n }\n\n public getGoals(tag, type) {\n const apiUrl = `v4/auth/goal-settings?tag=${tag}&&type=${type}`;\n return new Promise((resolve, reject) => {\n this.http.get(apiUrl, true, true).subscribe(res => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n })\n }\n\n public updateStatus(payload) {\n const apiUrl = 'v4/auth/user';\n return new Promise((resolve, reject) => {\n this.http.put(apiUrl, true, payload, true).subscribe(res => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n })\n }\n\n public getQuestions(tag: string) {\n const apiUrl = `v4/auth/goal-settings/questions/${tag}`;\n return new Promise((resolve, reject) => {\n this.http.get(apiUrl, true, null, true).subscribe(res => {\n if (res.code === 200) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n })\n }\n\n public postQuestions(body: any): Promise {\n const apiUrl = `v4/auth/goal-settings`;\n return new Promise((resolve, reject) => {\n this.http.post(apiUrl, true, body, true).subscribe(res => {\n if (res.code === 200) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n })\n }\n\n public postPasscodeLogin(body: any): Promise {\n const apiUrl = `v4/passcode-login`;\n const lastRequested = localStorage.getItem('lastRequested')\n return new Promise((resolve, reject) => {\n this.http.post(apiUrl, false, body, true).subscribe(res => {\n if (res.code === 200) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n if (localStorage.getItem('lastRequested')) {\n this.router.navigateByUrl(localStorage.getItem('lastRequested'));\n }\n }\n },\n error => {\n\n if (localStorage.getItem('lastRequested')) {\n this.router.navigateByUrl(localStorage.getItem('lastRequested'));\n }\n });\n });\n }\n\n public getAllGoals() {\n const apiUrl = `v4/auth/goal-settings/status`;\n return new Promise((resolve, reject) => {\n this.http.get(apiUrl, true, true).subscribe(res => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n })\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { HttpService } from 'src/app/shared/services/http.service';\nimport { environment } from 'src/environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HelpService {\n public UpdatedData = new BehaviorSubject([]);\n public UpdatedDataHelp = new BehaviorSubject([])\n public status = new BehaviorSubject('');\n public helpStatus = new BehaviorSubject('');\n public feedbackModalClose = new BehaviorSubject(false);\n isModalClosed = this.feedbackModalClose.asObservable();\n constructor(private http: HttpService, private alert: AlertService) { }\n\n helpReportList(issueType): any {\n return new Promise((resolve, reject) => {\n this.http.post('v4/auth/ideas-suggestions/listing',\n true, issueType, true, false, false\n ).subscribe((res) => {\n if (res) {\n resolve(res.data);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getHelpFeedBack(payload): any {\n return new Promise((resolve, reject) => {\n this.http.put('v4/auth/ideas-suggestions/feedback', true, payload, true,\n ).subscribe((res) => {\n if (res) {\n resolve(res.data);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n\n helpIssueType(): any {\n return new Promise((resolve, reject) => {\n this.http.get('v4/auth/ideas-suggestions/categories', true, null, true, false\n ).subscribe((res) => {\n if (res) {\n resolve(res.data);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n postReportAnIssue(issueData): any {\n return new Promise((resolve, reject) => {\n this.http.post('v4/auth/ideas-suggestions', true,\n issueData, true, false, false\n ).subscribe((res) => {\n if (res) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n reopenAnIssue(issueData): any {\n return new Promise((resolve, reject) => {\n this.http.post('v4/auth/support-tickets/reopen', true,\n issueData, true, false, false\n ).subscribe((res) => {\n if (res) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n getRateUs(): any {\n return new Promise((resolve, reject) => {\n this.http.get('user/feedback', true,\n true, false, false, environment.serverURLv3\n ).subscribe((res) => {\n if (res) {\n resolve(res.data);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n postRateUs(rateUs): any {\n return new Promise((resolve, reject) => {\n this.http.post('user/feedback', true, rateUs, true, false, false, environment.serverURLv3\n ).subscribe((res) => {\n if (res.code === 200) {\n this.alert.showSuccessMessage(res.message);\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getIssueComments(issueId): any {\n return new Promise((resolve, reject) => {\n this.http.get(`v4/auth/ideas-suggestions/comments?issueId=${issueId}`, true, null, true, false\n ).subscribe((res) => {\n if (res) {\n resolve(res.data);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n postIssueComment(payload): any {\n return new Promise((resolve, reject) => {\n this.http.post('v4/auth/ideas-suggestions/comments', true, payload, true, false, false).subscribe((res) => {\n if (res) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n}","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'app-auto-proctor-dialog',\n templateUrl: './auto-proctor-dialog.component.html',\n styleUrls: ['./auto-proctor-dialog.component.scss']\n})\nexport class AutoProctorDialogComponent implements OnInit {\n\n @Input() dataPassed: any;\n @Input() proctoredGeneratedKey: any;\n @Output() closeProctorModal = new EventEmitter();\n @Output() checkProctorTestResume = new EventEmitter();\n @Output() startYourTest = new EventEmitter();\n public proctor3CheckBox: boolean = false;\n constructor() { }\n\n ngOnInit(): void {\n }\n\n closeProctor(num): void {\n if (num === 3) {\n if (this.proctor3CheckBox) {\n this.closeProctorModal.emit(num); \n }\n } else {\n this.closeProctorModal.emit(num);\n }\n }\n\n checkBoxCheck(event): void {\n }\n\n checkForResume(): void {\n this.checkProctorTestResume.emit();\n }\n\n startTestClick(): void {\n this.startYourTest.emit();\n }\n\n}\n","\n\n\n\n
\n
\n
\n
\n Violation 1\n
\n \n

Uh NO!!

\n
\n
DO NOT USE
\n

ANY KEYBOARD BUTTONS !

\n
\n
\n
DO NOT MOVE
\n

AWAY FROM TEST WINDOW !

\n
\n

We always got our eyes on you! Let’s be honest while attempting the Test!!

\n \n
\n
\n
\n\n\n\n\n\n\n
\n
\n
\n
\n Violation 2\n
\n \n

Not Again!

\n
\n
DO NOT USE
\n

ANY KEYBOARD BUTTONS !

\n
\n
\n
DO NOT MOVE
\n

AWAY FROM TEST WINDOW !

\n
\n

\n We always keep a close watch on you. If we find you doing it again, you’ll be locked out of the Test!!\n

\n \n
\n
\n
\n\n\n\n\n
\n
\n \n
\n
\n Violation 3\n
\n \n

Locked

\n
\n
DO NOT USE
\n

ANY KEYBOARD BUTTONS !

\n
\n
\n
DO NOT MOVE
\n

AWAY FROM TEST WINDOW !

\n
\n

Your Test has been Locked.. We have found you attempting to malpractice even after 2 warnings... This is highly unacceptable!

\n

You can unlock this Test by accepting the below terms

\n\n
\n \n
\n\n \n
\n
\n
\n\n\n\n\n
\n
\n \n
\n
\n Violation {{dataPassed && dataPassed.malpracticeCount}}\n
\n \n

You have been locked out!

\n
\n
DO NOT USE
\n

ANY KEYBOARD BUTTONS !

\n
\n
\n
DO NOT MOVE
\n

AWAY FROM TEST WINDOW !

\n
\n

Timer would continue as per the Test duration
\n To Unlock the Test, Please contact your Center AO
\n Click below to check the Test Status

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

Test Resumed

\n

You can continue with the test now

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

You are being watched !!

\n

This is a Proctored Test. Entire Test will be monitored & any malpractices shall be reported

\n
\n
Do not
\n

Move away from test window.

\n

Press any keyboard keys.

\n

Switch between tabs and other applications.

\n

Minimize current test window.

\n

Open new documents/file

\n
\n \n\n
\n
\n
\n","import { Action } from '@ngrx/store';\n\nexport const PROCESS_AFTER_SIGNUP = 'PROCESS_AFTER_SIGNUP';\nexport const PROCESS_AFTER_SIGNIN = 'PROCESS_AFTER_SIGNIN';\nexport const SIGNUP = 'SIGNUP';\nexport const SIGNIN = 'SIGNIN';\nexport const LOGOUT = 'LOGOUT';\nexport const LOGOUT_SUCCESS = 'LOGOUT_SUCCESS';\nexport const SET_TOKEN = 'SET_TOKEN';\nexport const VERIFY_OTP_EMAIL = 'VERIFY_OTP_EMAIL';\nexport const VERIFY_OTP_MOBILE = 'VERIFY_OTP_MOBILE';\nexport const VERIFY_OTP_MOBILE_SUCCESS = 'VERIFY_OTP_MOBILE_SUCCESS';\nexport const GET_PROFILE_DATA = 'GET_PROFILE_DATA';\nexport const FAIL = 'FAIL';\nexport const SET_AUTHTENTICATION = 'SET_AUTHTENTICATION';\nexport const FIITJEE_MYPAT_LOGIN = 'FIITJEE_MYPAT_LOGIN';\nexport const OTP_LOGIN_FIITJEE = 'OTP_LOGIN_FIITJEE';\nexport const WAC_LOGIN_FIITJEE = 'OTP_LOGIN_FIITJEE';\nexport const RESET_PASSWORD_FIITJEE = 'RESET_PASSWORD_FIITJEE';\nexport const SET_DEVICE_USED = 'SET_DEVICE_USED';\nexport const SOCIAL_SIGNUP = 'SOCIAL_SIGNUP';\nexport const SOCIAL_SIGNIN = 'SOCIAL_SIGNIN';\nexport const TRY_NEW_SIGNUP = 'TRY_NEW_SIGNUP';\nexport const VERIFY_MOBILE = 'VERIFY_MOBILE';\nexport const TRY_SIGNIN = 'TRY_SIGNIN';\n\nexport class Signup implements Action {\n readonly type = SIGNUP;\n constructor(public payload: {\n mobile: string;\n countryCode: string;\n referralCode: string;\n classId?: any;\n str?: any;\n className?: any;\n }) { }\n}\n\nexport class Signin implements Action {\n readonly type = SIGNIN;\n constructor(public payload: {\n email: string,\n mobileNumber: string,\n countryCode: string,\n password: string\n }) { }\n}\n\nexport class ProcessAfterSignup implements Action {\n readonly type = PROCESS_AFTER_SIGNUP;\n}\n\nexport class ProcessAfterSignin implements Action {\n readonly type = PROCESS_AFTER_SIGNIN;\n}\n\nexport class SetAuthentication implements Action {\n readonly type = SET_AUTHTENTICATION;\n}\n\nexport class Logout implements Action {\n readonly type = LOGOUT;\n}\n\nexport class LogoutSuccess implements Action {\n readonly type = LOGOUT_SUCCESS;\n}\n\nexport class Fail implements Action {\n readonly type = FAIL;\n}\nexport class SetToken implements Action {\n readonly type = SET_TOKEN;\n constructor(public payload: string) { }\n}\n\nexport class VerifyOtpMobile implements Action {\n readonly type = VERIFY_OTP_MOBILE;\n constructor(public payload: {\n mobile: string,\n otp: string,\n countryCode: string\n }) { }\n}\nexport class VerifyOtpEmail implements Action {\n readonly type = VERIFY_OTP_EMAIL;\n constructor(public payload: {\n emailId: string,\n otp: string\n }) { }\n}\n\nexport class GetProfileData implements Action {\n readonly type = GET_PROFILE_DATA;\n}\n\nexport class FiiJeeMyPatLogin implements Action {\n readonly type = FIITJEE_MYPAT_LOGIN;\n constructor(public payload: {\n userId: string,\n type: string,\n password: string,\n enrollmentno: string,\n isPassword: boolean,\n isLogin: boolean\n }) { }\n}\n\nexport class OtpLoginFiitjee implements Action {\n readonly type = OTP_LOGIN_FIITJEE;\n constructor(public payload: {\n userId: string,\n otp: string,\n type: string,\n enrollmentno: string,\n isLogin: boolean,\n isPassword: boolean\n }) { }\n}\nexport class WACLoginFiitjee implements Action {\n readonly type = WAC_LOGIN_FIITJEE;\n constructor(public payload: {\n wac: string,\n userId: string,\n enrollmentno: string,\n isPassword: boolean,\n isLogin: boolean\n }) { }\n}\n\nexport class ResetPasswordFiitJee implements Action {\n readonly type = RESET_PASSWORD_FIITJEE;\n constructor(public payload: {\n password: string,\n confPassword: string,\n userId: string,\n enrollmentno: string\n }) { }\n}\n\ntype DeviceUsed = 'mobile' | 'web';\n\nexport class SetDeviceUsed implements Action {\n readonly type = SET_DEVICE_USED;\n constructor(public payload: DeviceUsed) { }\n}\nexport class SocialSignup implements Action {\n readonly type = SOCIAL_SIGNUP;\n constructor(public payload: {}) { }\n}\nexport class SocialSignin implements Action {\n readonly type = SOCIAL_SIGNIN;\n constructor(public payload: {}) { }\n}\nexport class TryNewSignup implements Action {\n readonly type = TRY_NEW_SIGNUP;\n constructor(public payload: {\n mobileNumber: string,\n countryCode: string,\n loginViaOtp: boolean,\n referralCode: string,\n class?: any;\n name?: string;\n }) { }\n}\nexport class VerifyMobile implements Action {\n readonly type=VERIFY_MOBILE;\n constructor(public payload:{\n mobileNumber:string,\n countryCode: string,\n otp:string\n }){};\n}\nexport class TrySignin implements Action {\n readonly type = TRY_SIGNIN;\n constructor(public payload: {\n email: string,\n mobileNumber: string,\n countryCode: string,\n password: string\n }) { }\n}\nexport type AuthActionList = Signup | Signin | Logout | SetToken | Fail | SetAuthentication | FiiJeeMyPatLogin |\n OtpLoginFiitjee | WACLoginFiitjee | ResetPasswordFiitJee | SetDeviceUsed | SocialSignup | SocialSignin | LogoutSuccess | TryNewSignup | VerifyMobile | TrySignin;\n","export const EXAM_INFO = {\n 'JEE(A)':{\n IMAGE_URL: 'jeeA',\n ROUTE_URL: '/jee-advanced',\n HEADER_IMAGE: 'jee-advance-exam',\n EXAM_DATE: 'Jun 2, 2024 **'\n },\n 'JEE(M)':{\n IMAGE_URL: 'jeeM',\n ROUTE_URL: '/jee-main',\n HEADER_IMAGE: 'jee-main-exam',\n EXAM_DATE: 'Session 1: Jan 24, 2024 - Feb 1, 2024
Session 2: Apr 01, 2024 - Apr 15, 2024'\n },\n 'BITSAT':{\n IMAGE_URL: 'bitsat',\n ROUTE_URL: '/bitsat',\n HEADER_IMAGE: 'bitsat-exam',\n EXAM_DATE: 'Session 1: May 21, 2024 to May 26, 2024 **
Session 2: Jun 18, 2024 to Jun 22, 2024 **'\n },\n 'NTSE & Fundamentals of Engineering and Medical':{\n IMAGE_URL: 'ntse',\n ROUTE_URL: '/ntse',\n HEADER_IMAGE: 'ntse-exam',\n EXAM_DATE: 'Stage 1: Dec 2023 **
Stage 2: Jun 2024 **'\n }\n};\n\nexport const DISPLAY_TYPE={\n HOME_INFO:'home-info',\n ALL_COURSES:'all-courses',\n PREP_TRACKER:'prep-tracker'\n}\n\nexport const AVAILABLE_CLASSES = {\n '9th': '5ace20299fe7b01d5806b926',\n '10th': '5ace20299fe7b01d5806b927',\n '11th': '5ace20299fe7b01d5806b928',\n '12th': '5ace20299fe7b01d5806b929',\n '12th Pass': '5b32140d37377e4cb08c74b4'\n};\n\nexport const AVAILAIBLE_QUERY_PARAMS = {\n selected_class: 'class',\n selected_goal: 'goal'\n};","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'dateDifference',\n pure: true\n})\nexport class DateDifferencePipe implements PipeTransform {\n\n transform(providedDate: any): string {\n const date: Date = new Date(providedDate)\n const currentDate: Date = new Date();\n const d: string = this.diff(date, currentDate);\n return currentDate.getTime() - date.getDate() > 0 ? d + \" ago\" : \"in \" + d;\n }\n diff(date: Date, currentDate: Date): string {\n const d = currentDate.getFullYear() - date.getFullYear();\n if (d !== 0) {\n return d + \" year\" + (Math.abs(d) > 1 ? \"s\" : \"\");\n } else {\n const d = currentDate.getMonth() - date.getMonth();\n if (d !== 0) {\n return d + \" month\" + (Math.abs(d) > 1 ? \"s\" : \"\");\n } else {\n const d = currentDate.getDate() - date.getDate();\n if (d !== 0) {\n return d + \" day\" + (Math.abs(d) > 1 ? \"s\" : \"\");\n } else {\n const d = currentDate.getHours() - date.getHours();\n if (d !== 0) {\n return d + \" hour\" + (Math.abs(d) > 1 ? \"s\" : \"\");\n } else {\n const d = currentDate.getMinutes() - date.getMinutes();\n if (d !== 0) {\n return d + \" minute\" + (Math.abs(d) > 1 ? \"s\" : \"\");\n } else {\n const d = currentDate.getSeconds() - date.getSeconds();\n if (d !== 0) {\n return d + \" second\" + (Math.abs(d) > 1 ? \"s\" : \"\");\n } else {\n return \"a few seconds\";\n }\n }\n }\n }\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpService } from './http.service';\nimport { AlertService } from './alert.service';\nimport { environment } from '../../../environments/environment';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NotificationService {\n public updateWorkingOnHomePage = new BehaviorSubject({});\n constructor(private http: HttpService, private alert: AlertService) { }\n\n getNotificationNumber(): any {\n return new Promise((resolve, reject) => {\n return this.http.get('getNotificationCount', true, null, false, false, environment.serverURLv3).subscribe(res => {\n if (res && res.code === 200) {\n resolve(res.data);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getAllNotificationFunc(page): any {\n return new Promise((resolve, reject) => {\n const params = { page };\n return this.http.get('getNotifications', true, params, false, false, environment.serverURLv3).subscribe(res => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n markAllNotificationRead(notificationIds): any {\n return new Promise((resolve, reject) => {\n return this.http.post('markAllNotificationRead', true, { notificationIds }, false, false,\n false, environment.serverURLv3).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res.data);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n setNotificationToRead(id): any {\n return new Promise((resolve, reject) => {\n const params = {\n notificationId: String\n };\n params.notificationId = id;\n return this.http.post('setNotificationStatus', true, params, false, false, false, environment.serverURLv3).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res.data);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpService } from '../services/http.service';\nimport { AlertService } from './alert.service';\nimport { Subject, BehaviorSubject } from 'rxjs';\nimport { environment } from '../../../environments/environment';\nimport { Title, Meta, DomSanitizer } from '@angular/platform-browser';\nimport { Store } from '@ngrx/store';\nimport * as fromApp from '../../stores/app.reducers';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { UserProfile } from 'src/app/models/profile.model';\nimport { WebcamImage } from 'ngx-webcam';\n@Injectable({\n providedIn: 'root'\n})\nexport class UtilityService {\n\n private globalPopupStatus: boolean = false;\n public countryArray: any = [];\n public freeTrialDataContainer = new BehaviorSubject({});\n public changePasswordResolver = new BehaviorSubject({});\n public testResultUrlParams = new BehaviorSubject({});\n public emptyDataRevision = new BehaviorSubject({});\n public hideMainCalendar = new Subject();\n public showApplicationSurveyPopup = new BehaviorSubject(false);\n public otpPopupHandler = new Subject();\n public captchaStateHandler = new BehaviorSubject(false);\n public globalAuthPopupNeeded = new Subject();\n public signUpSuccess = new BehaviorSubject({});\n public signUpForcefully = new Subject();\n public signupData = new BehaviorSubject(null);\n public closePopUp = new BehaviorSubject(null);\n public isNewUser = new BehaviorSubject(null);\n public downloadEbook = new BehaviorSubject(false);\n public userIdFetch = new BehaviorSubject('');\n private collegePredData = {};\n public restrictAccessPopUp = new BehaviorSubject(false);\n public sidebarExpandedSubject = new BehaviorSubject(false);\n sidebarExpanded$ = this.sidebarExpandedSubject.asObservable();\n\n constructor(private sanitizer: DomSanitizer, private httpService: HttpClient, private http: HttpService, private alertService: AlertService, private titleService: Title, private metaService: Meta,\n private store: Store, private _http: HttpClient) {\n }\n\n get getCollegePred() {\n return this.collegePredData;\n }\n\n public setCollegePred(data) {\n this.collegePredData = { ...data };\n }\n\n setMainCalendar(value) {\n this.hideMainCalendar.next(value)\n }\n\n getAllCountryList(): any {\n\n this.countryArray = [\n {\n alpha3: 'IND',\n name: 'India',\n dialCode: '+91',\n class: 'India',\n regex: '^[6-9]\\\\d{9}$',\n flag: '../../../assets/images/country-flags/india.png'\n },\n {\n alpha3: 'NPL',\n name: 'Nepal',\n dialCode: '+977',\n class: 'Nepal',\n regex: '^[1-9]\\\\d{9}$',\n flag: '../../../assets/images/country-flags/nepal.png'\n },\n {\n alpha3: 'SAU',\n name: 'Saudi Arabia',\n dialCode: '+966',\n class: 'SaudiArabia',\n regex: '^(5)(5|0|3|6|4|9|1|8|7)([0-9]{7})$',\n flag: '../../../assets/images/country-flags/saudi-arabia.png'\n },\n {\n alpha3: 'MYS',\n name: 'Malaysia',\n dialCode: '+60',\n class: 'Malaysia',\n regex: '[1][0123456789][0-9]{5}',\n flag: '../../../assets/images/country-flags/malaysia.png'\n },\n {\n alpha3: 'ARE',\n name: 'United Arab Emirates',\n dialCode: '+971',\n class: 'UnitedArabEmirates',\n regex: '^(5[02468]{1})[1-9]{1}[0-9]{6}$',\n flag: '../../../assets/images/country-flags/united-arab-emirates.png'\n },\n {\n alpha3: 'MMR',\n name: 'Myanmar',\n dialCode: '+95',\n class: 'Myanmar',\n regex: '[9][0-9]{9}',\n flag: '../../../assets/images/country-flags/myanmar.png'\n },\n {\n alpha3: 'LKA',\n name: 'Sri Lanka',\n dialCode: '+94',\n class: 'SriLanka',\n regex: '[7][0-9]{6}',\n flag: '../../../assets/images/country-flags/sri-lanka.png'\n },\n {\n alpha3: 'OMN',\n name: 'Oman',\n dialCode: '+968',\n class: 'Oman',\n regex: '[9]\\\\d[0-9]{6}$',\n flag: '../../../assets/images/country-flags/oman.png'\n },\n {\n alpha3: 'SGP',\n name: 'Singapore',\n dialCode: '+65',\n class: 'Singapore',\n regex: '[689]\\\\d[0-9]{7}$',\n flag: '../../../assets/images/country-flags/singapore.png'\n },\n {\n alpha3: 'BHR',\n name: 'Bahrain',\n dialCode: '+973',\n class: 'Bahrain',\n regex: '(31|33|36|39|322|340|341|342|343|344|345|353|377|383|384|388|663|666|669){1}[0-9]{5}',\n flag: '../../../assets/images/country-flags/bahrain.png'\n },\n {\n alpha3: 'QAT',\n name: 'Qatar',\n dialCode: '+974',\n class: 'Qatar',\n regex: '[3-9]{1}[0-9]{7}$',\n flag: '../../../assets/images/country-flags/qatar.png'\n },\n {\n alpha3: 'ZAF',\n name: 'South Africa',\n dialCode: '+27',\n class: 'SouthAfrica',\n regex: '[0]\\\\d[1-9]{9}$',\n flag: '../../../assets/images/country-flags/south-africa.png'\n },\n {\n alpha3: 'USA',\n name: 'United States Of America',\n dialCode: '+1',\n class: 'UnitedStates',\n regex: '^([2-9]{3})[0-9]{3}[0-9]{4}$',\n flag: '../../../assets/images/country-flags/united-states-of-america.png'\n },\n // {\n // alpha3: 'KWT',\n // name: 'Kuwait',\n // dialCode: '+965',\n // class: 'Kuwait',\n // regex: '[569]\\\\d{7}$'\n // },\n ];\n return this.countryArray;\n }\n\n getAllClasses(): any {\n return new Promise((resolve, reject) => {\n this.http.get('v4/classes', false, null, true).subscribe((res) => {\n if (res && res.code) {\n resolve(res);\n }\n });\n });\n }\n\n fetchCaptchaDetails(): any {\n return new Promise((resolve, reject) => {\n this.http.get('v4/check-if-captcha-show', false, null, false).subscribe((res) => {\n if (res && res.code) {\n resolve(res);\n }\n });\n });\n }\n\n fetchFreeTrialDataAPI(): any {\n return this.http.get('api/v3/user/freeTrial', true, null, false, false, environment.serverURLv3).subscribe(\n response => {\n if (response.code === 200) {\n const responseReturn = response.data;\n responseReturn.serverTime = response.serverTime;\n this.freeTrialDataContainer.next(responseReturn);\n } else {\n this.alertService.showErrorMessage(response.message);\n }\n }\n );\n }\n\n sendOTP(data): any {\n return new Promise((resolve, reject) => {\n this.http.post('v4/auth/users/send-otp', true, data).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n this.alertService.showSuccessMessage(res.message);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n fetchScheduleData(data): any {\n return new Promise((resolve, reject) => {\n this.http.get('scheduleDetail', true, data, true, false, environment.serverURLv3).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getYourInitials(name): string {\n name.firstName = name.firstName.trim();\n if (name.firstName.split(' ').length > 1) {\n let initials = name.firstName.match(/\\b\\w/g) || [];\n initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase();\n return initials;\n } else {\n const initials = name.firstName[0] + name.firstName[1];\n return initials.toUpperCase();\n }\n }\n\n getTwoCharsIcon(achievementName): string {\n let getInitialTwoWords = \"\"\n getInitialTwoWords = achievementName[0] + achievementName[1]\n return getInitialTwoWords.toUpperCase();\n }\n\n\n getInitialsClass(): string {\n const classArray = ['alphabet-bg1', 'alphabet-bg2', 'alphabet-bg3', 'alphabet-bg4', 'alphabet-bg5'];\n const randomNumber = Math.floor(Math.random() * classArray.length);\n return classArray[randomNumber];\n }\n\n setTitleAndMetaDesc(title: string, desc: string): void {\n // Changing title\n this.titleService.setTitle(title);\n // Changing meta with name=\"description\"\n const tag = { name: 'description', content: desc };\n const attributeSelector = 'name=\"description\"';\n this.metaService.removeTag(attributeSelector);\n this.metaService.addTag(tag, false);\n }\n\n public addFacebookGraphTags(url, title, type): void {\n const tags = [\n { name: 'og:url', property: 'og:url', content: url },\n { name: 'og:title', property: 'og:title', content: title },\n { name: 'og:type', property: 'og:type', content: type },\n ];\n this.metaService.removeTag('name=\"og:url\"');\n this.metaService.removeTag('name=\"og:title\"');\n this.metaService.removeTag('name=\"og:type\"');\n this.metaService.addTags(tags, true);\n }\n\n loadScript(): void {\n let isFound = false;\n const scripts = document.getElementsByTagName('script');\n // tslint:disable-next-line: prefer-for-of\n for (let i = 0; i < scripts.length; ++i) {\n if (scripts[i].getAttribute('src') != null && scripts[i].getAttribute('src').includes('carousel-menu')) {\n isFound = true;\n }\n }\n if (!isFound) {\n const dynamicScripts = ['../../assets/js/carousel-menu.js'];\n // tslint:disable-next-line: prefer-for-of\n for (let i = 0; i < dynamicScripts.length; i++) {\n const node = document.createElement('script');\n node.src = dynamicScripts[i];\n node.type = 'text/javascript';\n node.async = false;\n node.charset = 'utf-8';\n document.getElementsByTagName('head')[0].appendChild(node);\n }\n }\n }\n\n getUrlParamsFromResult(res, routeVal): void {\n const storeData = {};\n let course;\n this.store.select('userProfile').subscribe(resNew => {\n if (resNew && resNew.selectedGoal) {\n course = resNew.selectedGoal['courseId'];\n }\n });\n\n storeData['attemptId'] = res.attemptId ? res.attemptId : null;\n storeData['testId'] = res.testId ? res.testId : null;\n storeData['testType'] = res.testType ? res.testType : null;\n storeData['testName'] = res.testName ? res.testName : null;\n storeData['authToken'] = res.authToken ? res.authToken : null;\n storeData['courseId'] = res.courseId ? res.courseId : course ? course : null;\n storeData['pageLoaded'] = routeVal;\n storeData['nonSeriousAttempt'] = res.nonSeriousAttempt;\n this.testResultUrlParams.next(storeData);\n }\n\n debounce(func, wait, immediate = false) {\n let timeout;\n return function () {\n let context = this, args = arguments;\n let later = function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n let callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n };\n\n getExamPopupDetails() {\n return this.http.get('exam-popup-details', true, null, null, null, environment.serverURLv3);\n }\n\n getImageSignedUrl(params?: any) {\n const url = `aws/presigned-url?type=${params.type}&key=${params.key}`;\n return this.http.get(url, true, null, null, null, environment.serverURLv3);\n }\n\n submitApplicationSurvey(params) {\n return this.http.put('update-exam-details', true, params, true, environment.serverURLv3);\n }\n getTestSyllabusDetails (payload: any) {\n let url=`v4/auth/tests/${payload.testId}/details?courseId=${payload.courseId}&packageId=${payload.packageId}`\n if(payload.testId === '0'.repeat(24) && payload.scheduleID ){\n url += `&scheduleID=${payload.scheduleID}`\n }\n return this.http.get(url, true, {}, true, false, environment.serverURLv4);\n }\n\n createUserObject(userData) {\n if (userData.profile || (userData.userId && userData.userId._id)) {\n const { profile, userId } = userData;\n const { dateOfBirth } = userId || '';\n\n const userObj = profile || userData;\n const userRemarkObj = (userId && userId.remarks) || [];\n\n const partner = {\n isVerified: false,\n userName: null,\n partnerInstitute: null,\n isPartner: userObj.partner?.partnerUser === false ? 'no' : null,\n partnerGoal: [],\n enroll: null\n };\n\n if (userObj.partner && userObj.partner.data) {\n const { data, goals, partnerUser } = userObj.partner;\n partner.isVerified = data.isVerified;\n partner.userName = data.username || null;\n partner.partnerInstitute = userObj.partner.name || null;\n partner.enroll = data.enrolmentNo || null;\n partner.partnerGoal = goals || [];\n partner.isPartner = data.isVerified ? 'yes' : partner.isPartner;\n }\n\n const remarkData = {\n isBlocked: userRemarkObj.length && userRemarkObj[userRemarkObj.length - 1].status || '',\n blockReason: userRemarkObj.length && userRemarkObj[userRemarkObj.length - 1].blockReason || '',\n endTime: userRemarkObj.length && userRemarkObj[userRemarkObj.length - 1].blockDuration?.endTime || '',\n startTime: userRemarkObj.length && userRemarkObj[userRemarkObj.length - 1].blockDuration?.startTime || '',\n };\n\n const {\n _id,\n name: { firstName },\n mobile,\n email,\n goals,\n class: userClass,\n location,\n webAccessCode,\n school,\n photoUrlThumb,\n photoUrl,\n packageBought,\n goalDDCount,\n isPassword,\n tour,\n referralCode,\n parentAccessToken,\n isStepUser,\n refferedByCode,\n orgCentre,\n } = userObj.userId;\n\n const user = new UserProfile(\n _id,\n firstName,\n mobile,\n email,\n goals,\n userClass || userObj.userClass,\n location,\n partner,\n partner.enroll,\n webAccessCode,\n school,\n photoUrlThumb,\n photoUrl,\n null,\n null,\n packageBought,\n goalDDCount,\n isPassword,\n tour,\n referralCode,\n parentAccessToken,\n isStepUser,\n remarkData,\n refferedByCode,\n orgCentre,\n dateOfBirth\n );\n\n return user;\n }\n }\n\n\n getClasses() {\n return this.http.get(\"getClass?startingClass=9\", false, {}, null, null, environment.serverURLv3);\n }\n\n verifyOTP(params: any) {\n return this.http.get('verifyOtpMobile', false, params, null, null, environment.serverURLv3);\n }\n\n resendOTP(params: any) {\n return this.http.post('sendOtpMobile', false, params, false, false, false, environment.serverURLv3);\n }\n\n setGlobalAuthPopup(status) {\n this.globalPopupStatus = status;\n this.globalAuthPopupNeeded.next(status);\n }\n\n getGlobalAuthPopup() {\n return this.globalPopupStatus;\n }\n\n getUserID(data){\n return this.http.post('verifyOtpMobile', false, data, false, false, false, environment.serverURLv3);\n }\n\n getAllAvailablePackages() {\n return this.http.get('packages?flag=all', false, {}, null, null, environment.serverURLv3);\n }\n toggleSidebar() {\n const currentValue = this.sidebarExpandedSubject.value;\n this.sidebarExpandedSubject.next(!currentValue);\n }\n\n uploadYourFileOnS3(data, imageFile) {\n const formData: FormData = new FormData();\n formData.append('key', data.fields.key);\n formData.append('bucket', data.fields.bucket);\n formData.append('acl', 'public-read');\n formData.append('X-Amz-Algorithm', data.fields['X-Amz-Algorithm']);\n formData.append('X-Amz-Credential', data.fields['X-Amz-Credential']);\n formData.append('X-Amz-Date', data.fields['X-Amz-Date']);\n formData.append('Policy', data.fields['Policy']);\n formData.append('X-Amz-Signature', data.fields['X-Amz-Signature']);\n formData.append('file', imageFile, imageFile?.name);\n const options = {\n headers: new HttpHeaders({\n Accept: 'application/json'\n })\n };\n return this._http.post(data.url, formData, options);\n }\n\n webCamImageToFile(webcamImage: WebcamImage, filename: string) {\n const [header, base64Data] = webcamImage?.imageAsDataUrl?.split(\",\");\n const mimeType = header?.match(/:(.*?);/)[1];\n const binaryString = atob(base64Data);\n const binaryLength = binaryString?.length;\n const uint8Array = new Uint8Array(binaryLength);\n for (let i = 0; i < binaryLength; i++) {\n uint8Array[i] = binaryString?.charCodeAt(i);\n }\n return new File([uint8Array], filename, { type: mimeType });\n }\n}\n","const HEADERMENU = {\n CLASS_LIST: 'classList',\n EXAM_LIST: 'examList',\n RESOURCES_LIST: 'resourcesList',\n CLASS9: 'class9',\n CLASS10: 'class10',\n CLASS11: 'class11',\n CLASS12: 'class12',\n CLASS12_PASS: 'class12pass',\n TOOLS: 'tools',\n PREVIOUS_PAPER: 'previousPaper',\n SAMPLE_PAPER: 'samplePaper',\n BLOG: 'blog',\n EBOOKS: 'ebooks',\n COMMUNITY: 'community'\n}\n\nexport default HEADERMENU;","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs/Observable';\nimport { HttpClient } from '@angular/common/http';\nimport { Store } from '@ngrx/store';\nimport * as fromApp from '../stores/app.reducers';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport _ from \"lodash\";\nimport { environment } from '../../environments/environment';\nimport { DetectLocationService } from '../shared/services/detect-location.service';\nimport { map, filter, first } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ExtraEdgeV3Service {\n\n accessToken1: Observable;\n accessToken: string;\n authenticated\n private baseUrl = \"https://thirdpartyapi.extraaedge.com/api/SaveRequest?AuthToken=MYPATB2C-14-06-2017&Source=mypatb2c\";\n\n constructor(\n private route: ActivatedRoute,\n private http: HttpClient,\n private store: Store,\n private detectLocationService: DetectLocationService,\n ) { }\n\n\n isProd() {\n return environment.production;\n }\n\n extraEdgeUpdate(parameters) {\n let flag = true;\n let url = this.baseUrl;\n this.route.queryParams.takeWhile(() => flag).subscribe((params) => {\n if (!(_.isEmpty(params))) {\n if (params['utm_source']) {\n url = url + \"&LeadSource=\" + params['utm_source'];\n url = params['utm_source'] === 'adwords' ? url + '&ReasonCode=squad' : url;\n } else {\n url = url + \"&LeadSource=Website\";\n }\n\n if (params['utm_term']) {\n url = url + \"&LeadType=\" + params['utm_term'];\n } else {\n url = url + \"&LeadType=Online\";\n }\n\n if (params['utm_content']) {\n url = url + \"&LeadName=\" + params['utm_content'];\n } else {\n url = url + \"&LeadName=Normal Register\";\n }\n url = url + parameters + \"&Priority=Medium&Course=myPAT\";\n\n this.http.get(url).subscribe((res) => { })\n } else {\n url = url + parameters + \"&Priority=Medium&Course=myPAT&LeadSource=Website&LeadType=Online&LeadName=Normal Register\";\n this.http.get(url).subscribe((res) => { })\n }\n flag = false;\n });\n }\n\n extraEdgeNormalUpdate(params) {\n let url = this.baseUrl + params;\n this.http.get(url).subscribe((res) => { })\n }\n\n extraEdgeNormalJSONUpdate(params) {\n\n const jsonParams = Object.assign(params);\n let urlQueryString = Object.keys(jsonParams).map(key => `${key}=${jsonParams[key]}`).join('&');\n urlQueryString = '&' + urlQueryString;\n\n let url = this.baseUrl + urlQueryString;\n this.http.get(url).subscribe((res) => { })\n }\n\n extraEdgeJSONUpdate(params: { [x: string]: any }, options: { sourceName?: string, addLeadMeta?: boolean } = {}) {\n const url = this.baseUrl;\n // common transformation\n if (!this.isProd() && !params.Leadstatus)\n params.Leadstatus = 'Test Lead';\n const jsonParams = Object.assign(params);\n let urlQueryString = Object.keys(jsonParams).map(key => `${key}=${jsonParams[key]}`).join('&');\n urlQueryString = '&' + urlQueryString;\n\n const name = options?.sourceName ?? 'Normal Register';\n\n this.route.queryParams.subscribe((params) => {\n if (!(_.isEmpty(params))) {\n const leadSource = params['utm_source'] || 'Website';\n const leadType = params['utm_term'] || 'Online';\n const leadName = params['utm_content'] || name;\n\n let urlWithParams = `${url}&LeadSource=${leadSource}`;\n urlWithParams = leadSource === 'adwords' ? `${urlWithParams}&ReasonCode=squad` : urlWithParams;\n urlWithParams = `${urlWithParams}&LeadType=${leadType}&LeadName=${leadName}${urlQueryString}&Priority=Medium&Course=myPAT`;\n this.http.get(urlWithParams).subscribe((res) => { });\n } else {\n const urlWithParams = `${url}${urlQueryString}&Priority=Medium&Course=myPAT&LeadSource=Website&LeadType=Online&LeadName=${name}`;\n this.http.get(urlWithParams).subscribe((res) => { });\n }\n });\n }\n\n extraEdgeToolUpdate(parameters, name) {\n let flag = true;\n let url = this.baseUrl;\n this.route.queryParams.takeWhile(() => flag).subscribe((params) => {\n if (!(_.isEmpty(params))) {\n if (params['utm_source']) {\n url = url + \"&LeadSource=\" + params['utm_source'];\n url = params['utm_source'] === 'adwords' ? url + '&ReasonCode=squad' : url;\n } else {\n url = url + \"&LeadSource=Website\";\n }\n\n if (params['utm_term']) {\n url = url + \"&LeadType=\" + params['utm_term'];\n } else {\n url = url + \"&LeadType=Online\";\n }\n\n if (params['utm_content']) {\n url = url + \"&LeadName=\" + params['utm_content'];\n } else {\n url = url + \"&LeadName=\" + name;\n }\n url = url + parameters + \"&Priority=Medium&Course=myPAT\";\n this.http.get(url).subscribe((res) => { })\n\n } else {\n url = url + parameters + \"&Priority=Medium&Course=myPAT&LeadSource=Website&LeadType=Online&LeadName=\" + name;\n this.http.get(url).subscribe((res) => { })\n }\n flag = false;\n });\n }\n\n testInfoPushEE(testName, testType, leadContactable) {\n this.store.select('userProfile').\n pipe(\n filter(data => data != null),\n first(), // Sbscribe once\n map(data => {\n const extraEdgePayload = {\n // 'MobileNumber': data.userData.userMobile.number,\n 'Textb1': data.userData.userId,\n 'Remarks': `${testName}, ${testType}`,\n 'LeadContactable': leadContactable,\n };\n this.extraEdgeJSONUpdate(extraEdgePayload);\n })\n ).subscribe();\n }\n}\n\n\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { ActivatedRoute } from '@angular/router';\nimport _ from 'lodash';\nimport { environment } from '../../../environments/environment';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ExtraEdgeService {\n\n accessToken1: Observable;\n accessToken: string;\n authenticated: boolean;\n private baseUrl = 'https://thirdpartyapi.extraaedge.com/api/SaveRequest?AuthToken=MYPATB2C-14-06-2017&Source=mypatb2c';\n\n constructor(\n private route: ActivatedRoute,\n private http: HttpClient,\n ) { }\n\n extraEdgeUpdateUtmAdWords(parameters): void {\n let flag = true;\n let url = this.baseUrl;\n this.route.queryParams.subscribe((params) => {\n if (!(_.isEmpty(params))) {\n if (params.utm_source) {\n url = url + '&LeadSource=' + params.utm_source;\n url = params.utm_source === 'adwords' ? url + '&ReasonCode=squad' : url;\n } else {\n url = url + '&LeadSource=Website';\n }\n if (params.utm_term) {\n url = url + '&LeadType=' + params.utm_term;\n } else {\n url = url + '&LeadType=Online';\n }\n\n if (params.utm_content) {\n url = url + '&LeadName=' + params.utm_content;\n } else {\n url = url + '&LeadName=Normal Register';\n }\n url = url + parameters + '&Priority=Medium&Course=myPAT';\n\n this.http.get(url).subscribe((res) => { });\n } else {\n url = url + parameters + '&Priority=Medium&Course=myPAT&LeadSource=Website&LeadType=Online&LeadName=Normal Register';\n this.http.get(url).subscribe((res) => { });\n }\n flag = false;\n });\n }\n\n extraEdgeNormalUpdate(params): void {\n const url = this.baseUrl + params;\n this.http.get(url).subscribe((res) => {});\n }\n\n extraEdgeJSONUpdate(params): void {\n const jsonParams = Object.assign(params);\n let urlQueryString = Object.keys(jsonParams).map(key => `${key}=${jsonParams[key]}`).join('&');\n urlQueryString = '&' + urlQueryString;\n\n const url = this.baseUrl + urlQueryString;\n this.http.get(url).subscribe((res) => {});\n }\n\n extraEdgeJSONUpdateUtmAdwords(params: { [x: string]: any }, options: { sourceName?: string, addLeadMeta?: boolean } = {}): void {\n let flag: boolean = true;\n let url = this.baseUrl;\n // common transformation\n if (!environment.production) {\n params.Leadstatus = 'Test Lead';\n }\n const jsonParams = Object.assign(params);\n let urlQueryString = Object.keys(jsonParams).map(key => `${key}=${jsonParams[key]}`).join('&');\n urlQueryString = '&' + urlQueryString;\n if (options && options.addLeadMeta) {\n const name = options && options.sourceName ? options.sourceName : 'Normal Register';\n this.route.queryParams.subscribe((paramsN) => {\n if (!(_.isEmpty(paramsN))) {\n if (params.utm_source) {\n url = url + '&LeadSource=' + params.utm_source;\n url = params.utm_source === 'adwords' ? url + '&ReasonCode=squad' : url;\n } else {\n url = url + '&LeadSource=Website';\n }\n\n if (params.utm_term) {\n url = url + '&LeadType=' + params.utm_term;\n } else {\n url = url + '&LeadType=Online';\n }\n\n if (params.utm_content) {\n url = url + '&LeadName=' + params.utm_content;\n } else {\n url = url + '&LeadName=' + name;\n }\n url = url + urlQueryString + '&Priority=Medium&Course=myPAT';\n } else {\n url = url + urlQueryString + '&Priority=Medium&Course=myPAT&LeadSource=Website&LeadType=Online&LeadName=' + name;\n }\n flag = false;\n console.log(url);\n this.http.get(url).subscribe((res) => { });\n });\n } else {\n url = url + urlQueryString;\n console.log(url);\n this.http.get(url).subscribe((res) => { });\n }\n }\n\n manipulateData(dataRecieved, str): void {\n let payloadToPass;\n let campaignName;\n switch (str) {\n case 'sign-up': {\n payloadToPass = {\n MobileNumber: dataRecieved.mobile,\n Field2: dataRecieved.className\n };\n campaignName = '';\n break;\n }\n\n case 'verify-otp': {\n payloadToPass = {\n MobileNumber: dataRecieved.mobile,\n MobileVerified: true\n };\n campaignName = '';\n break;\n }\n }\n\n this.extraEdgeJSONUpdateUtmAdwords(payloadToPass, { sourceName: campaignName, addLeadMeta: true });\n }\n}\n","export const environment = {\n production: true,\n baseHref: '/',\n myPatUrl: 'https://mypat.in',\n myPatUrlv4: 'https://mypat.in',\n fiitjeeUrlv3: 'https://fiitjee-v3.mypat.in',\n fiitjeeUrlv4: 'https://fiitjee.mypat.in',\n serverURLv3: 'https://v2api2-prod.mypat.in/',\n edforaURL: 'https://backend.edfora.com/',\n serverURLv4: 'https://v4-auth-service.mypat.in/',\n mockServerURL: '',\n fbAppId: '432998907135563',\n google_clientId: '544027600908-fl76h9b7sq949f3m9co5pnr9805nd61a.apps.googleusercontent.com',\n partnerDomain: 'https://fiitjee.mypat.in/auth/admin-access/',\n razorPayKey: 'rzp_live_tEr4IjWx6QfbwV',\n clevertapId: '698-8W8-545Z',\n kaptureCrmKey : 'Basic aDM3b2FtcmtjYzY1dHhzbzl6bDFmM2hoNnNodWF2cnNsenM5bGJuaGN1M3NqYnowdGg=',\n name: 'prod' ,\n captchaKey : '6LdURVEUAAAAADSnZK0cJacinv-PqlTO_7K-CQkU',\n zestMoneyMerchantId: '89cad954-b7ea-47a9-af2d-8c9a0027357f',\n zestMoneyPaymentGatewayId: '31a2b66b-f364-48f9-a7fd-6870a5a224b4',\n teacherSiteURL: 'https://schools-teacher.mypat.in/login',\n schoolPartnerDomain: 'https://schools.mypat.in/',\n teacherServerURL: 'https://v2enterprise-api.mypat.in/',\n s3BucketBaseUrl: 'https://s3.us-west-2.amazonaws.com/mypat-v2-staging/',\n glorifireCommunity: 'https://community.glorifire.com',\n glorifireliveClasses: 'https://liveclasses.glorifire.com',\n gtmId: 'GTM-NHSSJKV',\n androidURL: 'https://play.google.com/store/apps/details?id=com.mypat',\n iosURL: '',\n youTube:'https://youtube.com/@myPATlearning?si=X90qIGlwgEDOG0jps',\n instagram:'https://www.instagram.com/mypat_india/',\n linkedIn:'https://www.linkedin.com/company/mypat---my-performance-analysis-test?report%2Esuccess=KJ_KkFGTDCfMt-A7wV3Fn9Yvgwr02Kd6AZHGx4bQCDiP6-2rfP2oxyVoEQiPrcAQ7Bf',\n twitter:'https://twitter.com/myPAT_india',\n facebook:'https://www.facebook.com/pages/MyPatin/249818108402322',\n blog:'https://blog.mypat.in/',\n glorifireLite: 'https://mypat.in/',\n\n};\n","export const EBOOKS = [\n {\n name: 'Ultimate Guide to JEE Main Exam',\n examType: 'JEE_MAIN',\n bookId: 'guide-jee-main'\n },\n {\n name: 'Tips To Crack BITSAT By Toppers',\n examType: 'BITSAT',\n bookId: 'bitsat-topper'\n },\n {\n name: 'Top 5 Preparation Tips for NTSE',\n examType: 'NTSE',\n bookId: 'ntseTip'\n },\n {\n name: 'One-Month Mantra To Crack JEE Main 2024',\n examType: 'JEE_MAIN',\n bookId: 'mantra-jee-main'\n }\n]\n\nexport const TAG_CLICKED ={\n ELEMENT: 'A',\n CLASS:'ebooks',\n};\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\ninterface StatusMessages {\n error: string;\n warning: string;\n success: string;\n type: number;\n custom: string;\n className?: string;\n btnName?: string;\n customBtn?: string;\n icon?: string;\n subtitle?: string;\n}\n@Injectable()\nexport class AlertService {\n public pictureURL;\n status: StatusMessages = {\n error: null,\n warning: null,\n success: null,\n type: -1,\n custom: null,\n className: '',\n btnName: null,\n customBtn: null,\n icon: null,\n subtitle: null\n };\n\n\n // Declare subject\n messageChange = new Subject();\n public updateWorkingOnHomePage = new BehaviorSubject({});\n public updateWorkingHomePage = new BehaviorSubject({});\n public undoRevisionQuestion = new BehaviorSubject({});\n public deleteRevisionQuestion = new BehaviorSubject(null);\n public updateAfterViewTask = new BehaviorSubject('');\n public cardDetails = new BehaviorSubject('');\n public viewTaskId = new BehaviorSubject('');\n public filterId = new BehaviorSubject({});\n public selectTagObject = new BehaviorSubject({})\n public comparisonOf = new BehaviorSubject('');\n public questionId= new BehaviorSubject({});\n public issueId=new BehaviorSubject('');\n public helpId=new BehaviorSubject('');\n public helpStatus=new BehaviorSubject('');\n public helpNotifiStatus=new BehaviorSubject('');\n public IdeaStatus=new BehaviorSubject('');\n public swotType = new BehaviorSubject('');\n public notificationCountUpdate = new BehaviorSubject(0);\n public clickedBackHome = new BehaviorSubject(false);\n public question\n errorChange = new Subject();\n changeEvent = new Subject();\n timeOut: any;\n\n constructor() { }\n\n emptyMessage(): void {\n clearTimeout(this.timeOut);\n this.status = {\n error: null,\n warning: null,\n success: null,\n type: -1,\n custom: null,\n className: '',\n };\n }\n\n showErrorMessage(str): void {\n this.emptyMessage();\n if (typeof str === 'object' && str !== null) {\n this.status.error = str?.title;\n this.status.subtitle = str?.subTitle;\n } else {\n this.status.error = str;\n }\n this.status.type = 0;\n this.messageChange.next(this.status);\n this.timeOut = setTimeout(() => {\n this.status.error = null;\n this.status.type = -1;\n this.messageChange.next(this.status);\n }, 5000);\n }\n showSuccessMessage(str): void {\n this.emptyMessage();\n if (typeof str === 'object' && str !== null) {\n this.status.success = str?.title;\n this.status.subtitle = str?.subTitle;\n } else {\n this.status.success = str;\n }\n this.status.type = 1;\n this.messageChange.next(this.status);\n\n this.timeOut = setTimeout(() => {\n this.status.success = null;\n this.status.type = -1;\n this.messageChange.next(this.status);\n }, 5000);\n }\n\n showWarningMessage(str): void {\n this.emptyMessage();\n this.status.warning = str;\n this.status.type = 2;\n this.messageChange.next(this.status);\n this.timeOut = setTimeout(() => {\n this.status.warning = null;\n this.status.type = -1;\n this.messageChange.next(this.status);\n }, 5000);\n }\n\n throwErrorMessage(msg): void {\n this.errorChange.next(msg);\n }\n\n throwChangeEvent(msg): void {\n this.changeEvent.next(msg);\n }\n\n showCustomMessage(str, className = '', icon, type = 3): void {\n this.emptyMessage();\n this.status.custom = str;\n this.status.type = type;\n this.status.className = className;\n this.status.icon = icon;\n this.messageChange.next(this.status);\n this.timeOut = setTimeout(() => {\n this.status.warning = null;\n this.status.type = -1;\n this.messageChange.next(this.status);\n }, 6000);\n }\n\n showCustomMessageWithButton(str, btnName, type = 4): void {\n this.emptyMessage();\n this.status.customBtn = str;\n this.status.type = type;\n this.status.btnName = btnName;\n this.messageChange.next(this.status);\n this.timeOut = setTimeout(() => {\n this.status.warning = null;\n this.status.customBtn = null;\n this.status.btnName = null;\n this.status.type = -1;\n this.messageChange.next(this.status);\n this.deleteRevisionQuestion.next(true);\n }, 5000);\n }\n\n hideCustomMessageWithBtn(): void {\n this.status.warning = null;\n this.status.customBtn = null;\n this.status.btnName = null;\n this.status.type = -1;\n this.messageChange.next(this.status);\n }\n\n getObservable(): any {\n return this.messageChange.asObservable();\n }\n}\n","import {\n OnDestroy,\n OnInit,\n Directive,\n Input,\n ElementRef,\n HostListener,\n HostBinding,\n Renderer2,\n } from '@angular/core';\n import Hammer from 'hammerjs';\n \n interface ImgParams {\n width?: number;\n height?: number;\n top: number;\n left: number;\n }\n \n interface CheckParams {\n newWidth: number;\n newHeight: number;\n imgPosX: number;\n imgPosY: number;\n maxOffsetX: number;\n maxOffsetY: number;\n }\n \n interface ZoomParams {\n shift: number;\n x?: number;\n y?: number;\n }\n \n const enum Fits {\n ScaleDown = 'scale-down',\n Cover = 'cover',\n Natural = 'natural',\n Default = 'fit',\n }\n \n const enum Directions {\n Center = 'center',\n Top = 'top',\n Bottom = 'bottom',\n Left = 'left',\n Right = 'right',\n }\n \n @Directive({\n selector: '[zoom-image]',\n exportAs: 'zoom-image',\n })\n export class ZoomDirective implements OnInit, OnDestroy {\n @Input('zoom-initial-position') initialPosition: {\n top: Directions;\n left: Directions;\n } = {\n top: Directions.Center,\n left: Directions.Center,\n };\n @Input('zoom-initial-fit') initialFit?: Fits;\n private zoomMin = 1;\n @Input('zoom-max') zoomMax = 3;\n private mc;\n private img: HTMLImageElement;\n private container: HTMLElement;\n private zoomStep = 0.1;\n private zoomCurrent = 1;\n private ratio = 1;\n private initialParams = {\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n };\n private currentParams = {\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n pWidth: 0,\n pHeight: 0,\n pLeft: null,\n pTop: null,\n };\n private handlers = {\n moveHandler: null,\n removeHandler: null,\n downHandler: null,\n containerPreventing: null,\n };\n private previousCoords = { x: 0, y: 0 };\n private shift = { x: 0, y: 0 };\n private hammertime;\n \n constructor(public imageRef: ElementRef, private renderer2: Renderer2) {}\n \n ngOnInit(): void {\n this.img = this.imageRef.nativeElement;\n this.container = this.img.parentElement;\n this.initialFit = this.initialFit || Fits.Natural;\n this.addEvents();\n }\n ngOnDestroy(): void {\n this.renderer2.removeStyle(this.container, 'touch-action');\n if (this.hammertime) {\n this.hammertime.destroy();\n }\n if (this.mc) {\n this.mc.destroy();\n }\n if (this.handlers.containerPreventing) {\n this.container.removeEventListener(\n 'mousedown',\n this.handlers.containerPreventing\n );\n }\n if (this.handlers.removeHandler)\n document.removeEventListener('mouseleave', this.handlers.removeHandler);\n }\n \n private addEvents() {\n this.img.addEventListener('load', (e) => {\n this.setInitialParams();\n });\n this.mc = new Hammer.Manager(this.img, {\n defaults: {\n domEvents: false,\n preventDefault: true,\n },\n recognizers: [[Hammer.Pan]],\n });\n this.hammertime = new Hammer(this.container, {});\n this.hammertime.get('pinch').set({ enable: true });\n let startScale = null;\n this.hammertime.on('pinchstart', (e) => {\n startScale = e.scale;\n });\n this.hammertime.on('pinch', (e) => {\n this.zoomCurrent -= startScale - e.scale;\n startScale = e.scale;\n this.zoomCurrent = Math.min(\n Math.max(this.zoomMin, this.zoomCurrent),\n this.zoomMax\n );\n const x = e.srcEvent.pageX - this.getContainerPosition().pLeft;\n const y = e.srcEvent.pageY - this.getContainerPosition().pTop;\n this.zoom({ shift: startScale - e.scale, x, y });\n });\n \n this.mc.on('panstart', (ev) => {\n ev.preventDefault();\n this.onMouseDown(ev.srcEvent);\n });\n this.container.addEventListener(\n 'mousedown',\n (this.handlers.containerPreventing = (event) => {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n })\n );\n this.container.addEventListener(\n 'dragstart',\n (this.handlers.containerPreventing = (event) => {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n })\n );\n }\n \n private setInitialParams() {\n this.ratio = this.img.naturalWidth / this.img.naturalHeight;\n this.currentParams.pHeight = this.container.offsetHeight;\n this.currentParams.pWidth = this.container.offsetWidth;\n \n switch (this.initialFit) {\n case 'scale-down':\n this.initialParams.width = this.currentParams.pWidth;\n this.initialParams.height = this.initialParams.width / this.ratio;\n if (this.initialParams.height > this.currentParams.pHeight) {\n this.initialParams.height = this.currentParams.pHeight;\n this.initialParams.width = this.initialParams.height * this.ratio;\n }\n break;\n case 'cover':\n this.initialParams.width = this.currentParams.pWidth;\n this.initialParams.height = this.initialParams.width / this.ratio;\n if (this.initialParams.height < this.currentParams.pHeight) {\n this.initialParams.height = this.currentParams.pHeight;\n this.initialParams.width = this.initialParams.height * this.ratio;\n }\n break;\n case 'natural':\n this.initialParams.width = Math.min(\n this.currentParams.pWidth,\n this.img.naturalWidth\n );\n this.initialParams.height = this.initialParams.width / this.ratio;\n if (this.initialParams.height > this.currentParams.pHeight) {\n this.initialParams.height = Math.min(\n this.currentParams.pHeight,\n this.img.naturalHeight\n );\n this.initialParams.width = this.initialParams.height * this.ratio;\n }\n break;\n case 'fit':\n this.initialParams.width = this.currentParams.pWidth;\n this.initialParams.height = this.initialParams.width / this.ratio;\n if (this.initialParams.height > this.currentParams.pHeight) {\n this.initialParams.height = this.currentParams.pHeight;\n this.initialParams.width = this.initialParams.height * this.ratio;\n }\n break;\n }\n this.currentParams = Object.assign({}, this.currentParams, {\n ...this.initialParams,\n });\n this.placeImage();\n this.setImage(this.initialParams);\n }\n \n placeImage() {\n switch (this.initialPosition.top) {\n case 'center':\n this.initialParams.top =\n (this.currentParams.pHeight - this.currentParams.height) / 2;\n break;\n case 'bottom':\n this.initialParams.top =\n this.currentParams.pHeight - this.currentParams.height;\n break;\n }\n switch (this.initialPosition.left) {\n case 'center':\n this.initialParams.left =\n (this.currentParams.pWidth - this.currentParams.width) / 2;\n break;\n case 'right':\n this.initialParams.left =\n this.currentParams.pWidth - this.currentParams.width;\n break;\n }\n }\n \n getContainerPosition() {\n if (!this.currentParams.pLeft || !this.currentParams.pTop) {\n this.currentParams.pLeft = this.container.getBoundingClientRect().left;\n this.currentParams.pTop = this.container.getBoundingClientRect().top;\n }\n return {\n pLeft: this.currentParams.pLeft,\n pTop: this.currentParams.pTop,\n };\n }\n \n onMouseDown(e) {\n e.stopPropagation();\n e.preventDefault();\n this.previousCoords.x = e.pageX;\n this.previousCoords.y = e.pageY;\n this.mc.on(\n 'panmove',\n (this.handlers.moveHandler = (e) => {\n this.onMouseMove(e.srcEvent);\n e.preventDefault();\n })\n );\n this.mc.on(\n 'panend',\n (this.handlers.removeHandler = (e) => {\n this.onMouseUp();\n })\n );\n document.addEventListener(\n 'mouseleave',\n (this.handlers.removeHandler = (e) => {\n this.onMouseUp();\n })\n );\n e.preventDefault();\n e.stopPropagation();\n }\n \n private onMouseMove(e) {\n e.stopPropagation();\n e.preventDefault();\n this.moveAt(e);\n }\n \n private moveAt(e) {\n const maxDragX = this.currentParams.pWidth - this.currentParams.width;\n const maxDragY = this.currentParams.pHeight - this.currentParams.height;\n \n const newTop = Math.min(\n 0,\n Math.max(this.currentParams.top + this.shift.y, maxDragY)\n );\n const newLeft = Math.min(\n 0,\n Math.max(this.currentParams.left + this.shift.x, maxDragX)\n );\n this.shift = {\n x: e.pageX - this.previousCoords.x,\n y: e.pageY - this.previousCoords.y,\n };\n this.setImage({ top: newTop, left: newLeft });\n this.previousCoords = { x: e.pageX, y: e.pageY };\n }\n \n private onMouseUp() {\n if (this.handlers.moveHandler) {\n this.mc.off('panmove', this.handlers.moveHandler);\n }\n if (this.handlers.removeHandler) {\n this.mc.off('panend', this.handlers.removeHandler);\n document.removeEventListener('mouseleave', this.handlers.removeHandler);\n this.handlers.removeHandler = null;\n }\n }\n @HostListener('wheel', ['$event'])\n onMouseWheel(e) {\n e.preventDefault();\n const x = e.pageX - this.getContainerPosition().pLeft;\n const y = e.pageY - this.getContainerPosition().pTop;\n if (e.deltaY > 0) {\n this.zoomCurrent -= this.zoomStep;\n } else {\n this.zoomCurrent += this.zoomStep;\n }\n this.zoomCurrent = Math.min(\n Math.max(this.zoomMin, this.zoomCurrent),\n this.zoomMax\n );\n this.zoom({ shift: e.deltaY, x, y });\n }\n zoomIn() {\n this.zoomCurrent += this.zoomStep;\n this.zoomCurrent = Math.min(\n Math.max(this.zoomMin, this.zoomCurrent),\n this.zoomMax\n );\n this.zoom({\n shift: 1,\n });\n }\n zoomOut() {\n this.zoomCurrent -= this.zoomStep;\n this.zoomCurrent = Math.min(\n Math.max(this.zoomMin, this.zoomCurrent),\n this.zoomMax\n );\n this.zoom({\n shift: -1,\n });\n }\n get canZoomIn() {\n return this.zoomCurrent < this.zoomMax;\n }\n get canZoomOut() {\n return this.zoomCurrent > this.zoomMin;\n }\n private zoom(zoomParams: ZoomParams) {\n zoomParams = Object.assign(\n {\n x: this.currentParams.pWidth / 2,\n y: this.currentParams.pHeight / 2,\n },\n zoomParams\n );\n let params = this.getParams(zoomParams);\n this.setImage({\n width: params.newWidth,\n height: params.newHeight,\n top: params.imgPosY,\n left: params.imgPosX,\n });\n }\n \n private getParams(zoomParams: ZoomParams) {\n let imgCursorX = zoomParams.x - this.currentParams.left,\n imgCursorY = zoomParams.y - this.currentParams.top,\n imgRX = imgCursorX / this.currentParams.width,\n imgRY = imgCursorY / this.currentParams.height,\n maxOffsetY,\n maxOffsetX,\n newWidth = null;\n \n if (zoomParams.shift > 0) {\n } else {\n maxOffsetY = this.initialParams.top;\n maxOffsetX = this.initialParams.left;\n }\n this.zoomCurrent = Math.min(\n Math.max(this.zoomMin, this.zoomCurrent),\n this.zoomMax\n );\n newWidth = this.initialParams.width * this.zoomCurrent;\n const newHeight = newWidth / this.ratio;\n const imgPosX = zoomParams.x - newWidth * imgRX;\n const imgPosY = zoomParams.y - newHeight * imgRY;\n \n const params = {\n newWidth: newWidth,\n newHeight: newHeight,\n imgPosX: imgPosX,\n imgPosY: imgPosY,\n maxOffsetX: maxOffsetX,\n maxOffsetY: maxOffsetY,\n };\n this.checkPosition(params);\n return params;\n }\n \n private checkPosition(params: CheckParams) {\n const dhb =\n this.currentParams.pHeight - (params.newHeight + params.imgPosY);\n const dwb = this.currentParams.pWidth - (params.newWidth + params.imgPosX);\n if (dhb > 0 && dhb > params.maxOffsetY) params.imgPosY += dhb;\n if (dwb > 0 && dwb > params.maxOffsetX) params.imgPosX += dwb;\n if (params.imgPosY > 0) {\n params.imgPosY = 0;\n }\n if (params.imgPosX > 0) {\n params.imgPosX = 0;\n }\n }\n \n private setImage(imgParams: ImgParams) {\n this.width = imgParams.width || this.width;\n this.height = imgParams.height || this.height;\n const heightPrefix = this.currentParams.pHeight - this.height;\n const widthPrefix = this.currentParams.pWidth - this.width;\n \n this.top =\n this.height < this.currentParams.pHeight\n ? heightPrefix / 2\n : Math.max(imgParams.top, heightPrefix);\n this.left =\n this.width < this.currentParams.pWidth\n ? widthPrefix / 2\n : Math.max(imgParams.left, widthPrefix);\n // set current params\n this.currentParams.top = this.top;\n this.currentParams.left = this.left;\n this.currentParams.height = this.height;\n this.currentParams.width = this.width;\n }\n resetZoom() {\n this.zoomCurrent = this.zoomMin;\n this.setInitialParams();\n this.zoomStep = 0.1;\n }\n \n @HostBinding('style.width.px') width: number;\n @HostBinding('style.height.px') height: number;\n @HostBinding('style.top.px') top: number;\n @HostBinding('style.left.px') left: number;\n @HostBinding('style.position') position = 'absolute';\n }\n ","import { Injectable } from '@angular/core';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { HttpService } from 'src/app/shared/services/http.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UpcomingTestsService {\n\n initializeFilter = new BehaviorSubject(null); // For Filter Scroll\n\n constructor(\n private httpService: HttpService,\n private alertService: AlertService\n ) { }\n\n getUpcomingTests(body): any {\n return new Promise((resolve, reject) => {\n this.httpService.get('v4/auth/upcoming-tests', true, body, true).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res.data);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n fetchUserCourses(): any {\n return new Promise((resolve, reject) => {\n this.httpService.get('v4/auth/users/courses', true, null, true, false,\n ).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res.data);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n}\n","import * as UserProfileActionList from './user-profile.actions';\nimport { UserProfile } from '../../models/profile.model';\nimport { act } from '@ngrx/effects';\n\nexport interface State {\n userData: UserProfile;\n isVerifyMobileRequest: boolean;\n isVerifyEmailRequest: boolean;\n profileCompleted: number;\n showProfileStripOnDashboard: boolean;\n currentStep: any;\n lastStep: any;\n selectedGoal: {};\n}\n\nconst intialState: State = {\n userData: new UserProfile(),\n isVerifyMobileRequest: false,\n isVerifyEmailRequest: false,\n profileCompleted: 0,\n showProfileStripOnDashboard: true,\n currentStep: '1',\n lastStep: '2a',\n selectedGoal: localStorage.getItem('targetExam')\n ? JSON.parse(localStorage.getItem('targetExam'))\n : null\n};\n\nexport function userProfileReducer(\n state = intialState,\n action: UserProfileActionList.UserProfileActionList\n): State {\n switch (action.type) {\n case UserProfileActionList.UPDATE_USER_DETAIL:\n return {\n ...state,\n userData: action.payload\n };\n case UserProfileActionList.ADD_NAME_SUCCESS:\n return {\n ...state,\n currentStep: '2a',\n lastStep: '1',\n userData: {\n ...state.userData,\n // tslint:disable-next-line: no-string-literal\n name: action.payload['name'],\n // tslint:disable-next-line: no-string-literal\n userName: action.payload['userName']\n }\n };\n case UserProfileActionList.ADD_CLASS:\n return {\n ...state,\n currentStep: '2b',\n lastStep: '2a',\n selectedGoal: action.payload['goals'],\n userData: {\n ...state.userData,\n userClass: action.payload['userClass'],\n userCareers: action.payload['userCareers'],\n userGoals: action.payload['goals'],\n }\n };\n case UserProfileActionList.ADD_CAREER:\n return {\n ...state,\n currentStep: '2c',\n lastStep: '2b',\n selectedGoal: action.payload['goals'],\n userData: {\n ...state.userData,\n userCareers: action.payload['userCareers'],\n userGoals: action.payload['goals']\n }\n };\n case UserProfileActionList.ADD_GOAL:\n return {\n ...state,\n currentStep: '3',\n lastStep: '2c',\n // tslint:disable-next-line: no-string-literal\n selectedGoal: action.payload['goals'],\n userData: {\n ...state.userData,\n // tslint:disable-next-line: no-string-literal\n userGoals: action.payload['goals'],\n userClass: action.payload['userClass'],\n userCareers: action.payload['userCareers'],\n }\n };\n case UserProfileActionList.ADD_GOAL_SUCCESS:\n return {\n ...state,\n currentStep: '3',\n lastStep: '2c',\n // tslint:disable-next-line: no-string-literal\n selectedGoal: action.payload['goals'],\n userData: {\n ...state.userData,\n // tslint:disable-next-line: no-string-literal\n userGoals: action.payload['goals'],\n userClass: action.payload['userClass'],\n userCareers: action.payload['userCareers'],\n }\n };\n case UserProfileActionList.ADD_SCHOOL_SUCCESS:\n return {\n ...state,\n currentStep: '4',\n lastStep: '3',\n userData: {\n ...state.userData,\n school: {\n // tslint:disable-next-line: no-string-literal\n country: action.payload.hasOwnProperty('country') ? action.payload['country']\n : state.userData.school.country,\n // tslint:disable-next-line: no-string-literal\n state: action.payload.hasOwnProperty('state') ? action.payload['state']\n : state.userData.school.state,\n // tslint:disable-next-line: no-string-literal\n city: action.payload.hasOwnProperty('city') ? action.payload['city']\n : state.userData.school.city,\n // tslint:disable-next-line: no-string-literal\n id: action.payload['school']['id'] ? action.payload['school']['id'] : '',\n // tslint:disable-next-line: no-string-literal\n name: action.payload['school']['name'],\n // tslint:disable-next-line: no-string-literal\n schoolIdUrl: action.payload['school']['schoolIdUrl'] ? action.payload['school']['schoolIdUrl'] : ''\n }\n }\n };\n case UserProfileActionList.ADD_PROFILE_SUCCESS:\n return {\n ...state,\n currentStep: '5a',\n lastStep: '4',\n userData: {\n ...state.userData,\n // tslint:disable-next-line: no-string-literal\n photoUrl: action.payload['photoUrl']\n }\n };\n case UserProfileActionList.VERIFY_MOBILE_PROFILE_SUCCESS:\n return {\n ...state,\n currentStep: '5b',\n lastStep: '5a',\n isVerifyMobileRequest: true,\n userData: {\n ...state.userData,\n // tslint:disable-next-line: no-string-literal\n userMobile: action.payload['mobile'],\n // tslint:disable-next-line: no-string-literal\n countryCode: action.payload['countryCode'],\n mobileIsVerified: true\n }\n };\n case UserProfileActionList.VERIFY_EMAIL_PROFILE_SUCCESS:\n return {\n ...state,\n currentStep: '6',\n lastStep: '5b',\n isVerifyEmailRequest: true,\n userData: {\n ...state.userData,\n // tslint:disable-next-line: no-string-literal\n email: action.payload['email'],\n emailIsverified: true\n }\n };\n case UserProfileActionList.UPDATE_USER_CARD_PROFILE_SUCCESS:\n return {\n ...state,\n userData: {\n ...state.userData,\n // tslint:disable-next-line: no-string-literal\n photoUrl: action.payload['photoUrl']\n }\n };\n case UserProfileActionList.GET_CLASS_LIST_SUCCESS:\n return {\n ...state\n };\n case UserProfileActionList.ADD_PASSWORD_SUCCESS:\n return {\n ...state\n };\n case UserProfileActionList.SKIP_PASSWORD_SUCCESS:\n return {\n ...state\n };\n case UserProfileActionList.ADD_REFERRAL_SUCCESS:\n return {\n ...state\n };\n case UserProfileActionList.CHANGE_PASSWORD_SUCCESS:\n return {\n ...state\n };\n case UserProfileActionList.UPDATE_PERSONAL_INFO_SUCCESS:\n return {\n ...state,\n userData: {\n ...state.userData,\n // tslint:disable-next-line: no-string-literal\n name: action.payload['newName'],\n dateOfBirth :action.payload['dateOfBirth'],\n initials: action.payload['initials'],\n userLocation: action.payload['location'],\n }\n };\n case UserProfileActionList.ADD_DOB:\n return {\n ...state,\n userData: {\n ...state.userData,\n email:action.payload['email'],\n dateOfBirth: action.payload['dateOfBirth']\n }\n };\n default:\n return state;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpService } from '../../../shared/services/http.service';\nimport { Subject, Observable, BehaviorSubject } from 'rxjs';\nimport { Router } from '@angular/router';\nimport { AppState } from '../../../stores/app.reducers';\nimport ClevertapReact from 'clevertap-react';\nimport { Store } from '@ngrx/store';\nimport * as UserProfileAction from '../../../stores/profile/user-profile.actions';\nimport { AlertService } from '../../../shared/services/alert.service';\nimport { DetectLocationService } from '../../../shared/services/detect-location.service';\nimport * as LoaderAction from '../../../stores/loader/loader.actions';\nimport { environment } from 'src/environments/environment';\n\ndeclare var $: any;\n@Injectable()\nexport class FiitJeeService {\n\n public currentStep = new Subject();\n public redirectTo = new Subject();\n public mobilePresent : any;\n public completeProfileSteps = new Subject();\n public isMobileValid = new Subject();\n public saveCode: any;\n public saveOtp: any;\n public saveWac: any;\n public fromModal: boolean = false;\n public savePassword: any;\n public enteredEnrollmentNo: any;\n public mobileNumber = new Subject();\n public userId: any;\n public pageForLoginHelp = new Subject();\n stepsCompleted: any = [];\n public userData: any;\n public promise: Promise;\n public loginVia: String;\n public disableBtnSubject = new BehaviorSubject(false);\n public userEmail: string = '';\n public fromScreen: string = '';\n public mobileCountryCode: string = '';\n\n constructor(private http: HttpService, private store: Store, private alert: AlertService) {\n this.store.select('userProfile').subscribe(res => {\n this.userData = res.userData;\n });\n\n }\n\n\n // Api result of enrollmentNumber\n // Code 200 : EnrollmentNo not exist new user\n // Code 205 : EnrollmentNo exist but neither mypat password nor verified mobile number exist\n // Code 201 : EnrollmentNo exist, mypat password not set verifed mypat mobile number set, existing user\n // Code 202 : EnrollmentNo exist, mypat password set, verified mypat mobile number not set, existing user\n // Code 210 : EnrollmentNo exist with password and verified mypat mobile number existing user\n\n // Total Steps present - \n // 1. Enrollment number enter - enNoEnter\n\n // Function to fetch the code so as the redirection of form can be done on main page\n fetchRedirection(params) {\n const newParams = {...params};\n if (newParams.registrationNo) {\n newParams.enrollmentno = newParams.registrationNo;\n localStorage.removeItem('enrollmentNumber');\n this.loginVia = 'registrationNumber';\n } else {\n this.loginVia = 'enrollmentNumber';\n localStorage.removeItem('registrationNumber');\n }\n newParams.source = 'Glorifire';\n delete newParams['registrationNo'];\n this.enteredEnrollmentNo = newParams.enrollmentno;\n this.http.get('checkEnrollNo', false, newParams, true, false, environment.serverURLv3).subscribe((res) => {\n if (res && res.data && res.data.userId) {\n const payloadProfile = {\n 'Site': {\n 'fiitjee enrolment number ': this.enteredEnrollmentNo\n }\n };\n ClevertapReact.profile(payloadProfile);\n localStorage.setItem('userIdcheckEn', res.data.userId);\n } else {\n localStorage.removeItem('userIdcheckEn');\n }\n switch (res.code) {\n case 200: {\n localStorage.setItem(\"eventEnrollmentNofirstTime\",\"Yes\");\n this.saveCode = res.code;\n this.stepsCompleted.push(res.code);\n this.redirectTo.next(res.code);\n break;\n }\n case 205: {\n localStorage.setItem(\"eventEnrollmentNofirstTime\",\"No\");\n this.saveCode = res.code;\n this.stepsCompleted.push(res.code);\n this.redirectTo.next(res.code);\n break;\n }\n case 201: {\n localStorage.setItem(\"eventEnrollmentNofirstTime\",\"No\");\n this.saveCode = res.code;\n this.userId = res.data.userId;\n this.stepsCompleted.push(res.code);\n this.redirectTo.next(res.code);\n break;\n }\n case 202: {\n localStorage.setItem(\"eventEnrollmentNofirstTime\",\"No\");\n this.saveCode = res.code;\n this.userId = res.data.userId;\n this.stepsCompleted.push(res.code);\n this.redirectTo.next(res.code);\n break;\n }\n case 210: {\n localStorage.setItem(\"eventEnrollmentNofirstTime\",\"No\");\n this.saveCode = res.code;\n this.stepsCompleted.push(res.code);\n this.userId = res.data.userId;\n this.redirectTo.next(res.code);\n break;\n }\n default: {\n this.alert.showErrorMessage(res['message']);\n }\n }\n });\n }\n\n\n // Manually Added codes for redirection of control and check which screen to be shown and also to keep the code in sync\n // 999 : load wac screen\n // 888 : load enter otp screen\n // 777 : load fiitjee login screen\n // 666 : load mypat login screen\n // 555 : forgot password screen\n // 444 : reset password screen\n\n changeTheSection(type) {\n switch (type) {\n case 'wac': {\n localStorage.setItem(\"eventEnrollmentNo\",\"Clicked WAC\");\n this.stepsCompleted.push('wac');\n this.redirectTo.next(999);\n break;\n }\n case 'otp': {\n localStorage.setItem(\"eventEnrollmentNo\",\"Clicked OTP\");\n this.stepsCompleted.push('otp');\n this.redirectTo.next(888);\n break;\n }\n case 'fiitjeelogin': {\n localStorage.setItem(\"eventEnrollmentNo\",\"Clicked FIITJEE Password\");\n this.stepsCompleted.push('fiitjeelogin');\n this.redirectTo.next(777);\n break;\n }\n case 'mypatlogin': {\n localStorage.setItem(\"eventEnrollmentNo\",\"Clicked myPAT Password\");\n this.stepsCompleted.push('mypatLogin');\n this.redirectTo.next(666);\n break;\n }\n case 'forgotPassword': {\n this.stepsCompleted.push('forgotPassword');\n this.redirectTo.next(555);\n break;\n }\n case 'resetPassword': {\n this.stepsCompleted.push('resetPassword');\n this.redirectTo.next(444);\n break;\n }\n }\n }\n\n\n fetchMobile(request: any, resendOtp: boolean, fromScreen: string = this.fromScreen): void {\n this.fromScreen = fromScreen;\n this.http.put('otpPartner', false, request, true, environment.serverURLv3).subscribe((res) => {\n if (res.code === 200) {\n if (res.data.mobileMypat){\n this.mobileNumber.next(res.data.mobileMypat);\n this.mobilePresent = res.data.mobileMypat;\n if (res.data.userId){\n this.userId = res.data.userId;\n }\n }\n else if (res.data.mobile){\n this.mobileNumber.next(res.data.mobile);\n this.mobilePresent = res.data.mobile;\n if(res.data.userId){\n this.userId = res.data.userId;\n }\n }\n if (res.data.emailMypat) {\n this.userEmail = res.data.emailMypat;\n }\n if (res.data.countryCode) {\n this.mobileCountryCode = res.data.countryCode;\n }\n if (!resendOtp)\n this.changeTheSection('otp');\n }\n else {\n this.redirectTo.next(this.saveCode);\n this.stepsCompleted.pop();\n if (res?.data.hasOwnProperty('communicationVerified') && !res.data.communicationVerified) {\n this.alert.showErrorMessage(res?.data?.message);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n }\n });\n }\n\n callDownloadApp(payload) {\n return new Promise((resolve, reject) => {\n this.http.post('downloadApp', false, payload, true).subscribe((data) => {\n if (data && data['code'] === 200) {\n this.alert.showSuccessMessage(data['message']);\n resolve(data);\n } else {\n this.alert.showErrorMessage(data['message']);\n }\n },\n error => {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.alert.showErrorMessage(error['message']);\n }\n );\n });\n }\n}\n","import * as AuthActionList from './auth.actions';\n\nexport interface State {\n token: string;\n authenticated: boolean;\n isSignedUp: boolean;\n isMobile: boolean;\n}\nconst intialState: State = {\n token: sessionStorage.getItem('authToken') ? sessionStorage.getItem('authToken') : localStorage.getItem('authToken'),\n authenticated: localStorage.getItem('authToken') || sessionStorage.getItem('authToken') ? true : false,\n isSignedUp: localStorage.getItem('authToken') || sessionStorage.getItem('authToken') ? true : false,\n isMobile: false,\n};\n\nexport function authReducer(state = intialState, action: AuthActionList.AuthActionList): State{\n switch (action.type) {\n\n case AuthActionList.SET_AUTHTENTICATION:\n return {\n ...state,\n authenticated: true\n };\n case AuthActionList.SIGNIN:\n return {\n ...state,\n authenticated: true\n };\n case AuthActionList.SIGNUP:\n return {\n ...state,\n isSignedUp: true\n };\n\n case AuthActionList.LOGOUT_SUCCESS:\n return {\n ...state,\n authenticated: false,\n token: ''\n };\n case AuthActionList.SET_TOKEN:\n return {\n ...state,\n token: action.payload\n };\n case AuthActionList.SET_DEVICE_USED:\n return {\n ...state,\n isMobile: action.payload === 'mobile' ? true : false\n };\n default:\n return state;\n }\n}","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable, throwError, EMPTY } from 'rxjs';\nimport { catchError, map} from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport * as fromApp from '../../stores/app.reducers';\nimport * as LoaderAction from '../../stores/loader/loader.actions';\nimport { AlertService } from './alert.service';\nimport { LazyLoadingService } from './lazy-loading.service';\nimport { LazyLoadFileImpl } from '../shared.module';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DetectLocationService {\n\n public location = {\n latitude: 0,\n longitude: 0,\n };\n\n constructor(private lazyLoadingService:LazyLoadingService, private httpService: HttpClient, private store: Store, private alert: AlertService) {\n }\n\n getMyCurrentLocation(): void {\n if (navigator.geolocation) {\n navigator.geolocation.getCurrentPosition(position => {\n if (position.coords) {\n this.location.latitude = position.coords.latitude;\n this.location.longitude = position.coords.longitude;\n this.lazyLoadingService.lazyLoad([\n new LazyLoadFileImpl(\"https://maps.googleapis.com/maps/api/js?libraries=places&key=AIzaSyCSnaItBR8MPsF5YeHbP8vJ9dqVW_1WHbA\",'script')\n ]).toPromise();\n }\n });\n }\n }\n\n handleError = (error: any): Observable => {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n try {\n return throwError(error);\n } catch (e) {\n return throwError(e);\n }\n }\n\n getLocation(): Observable {\n const lat = this.location.latitude;\n const lan = this.location.longitude;\n if (lat === 0 || lan === 0) {\n this.alert.showErrorMessage('Please allow location service');\n return EMPTY;\n } else {\n if (lat !== 0 || lan !== 0) {\n // this.store.dispatch(new LoaderAction.SetLoader(true));\n return this.httpService.get('https://maps.googleapis.com/maps/api/geocode/json?latlng=' + lat + ',' + lan + '&sensor=true&key=AIzaSyCSnaItBR8MPsF5YeHbP8vJ9dqVW_1WHbA').pipe(\n map((res: Response) => {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n return res;\n }),\n catchError(this.handleError)\n );\n } else {\n return EMPTY;\n }\n }\n }\n\n isFiitjeeDomain(): boolean {\n if (window.location.host.split('.')[0].includes('fiitjee')) {\n return true;\n }\n return false;\n }\n\n isSchoolDomain(): boolean {\n if (window.location.host.split('.')[0].includes('school')) {\n return true;\n }\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EbooksService {\n public handleDownloadEbookPopup = new BehaviorSubject(false);\n public selectedEbookLink: string = '';\n\n constructor(\n private _http: HttpClient\n ) { }\n\n fetchEbookMetaData() {\n return this._http.get(`/assets/metadata/ebooks.json`);\n }\n}\n","import { Action } from '@ngrx/store';\nimport { Proforma } from '../../models/proforma.model';\n\nexport const GET_PROFORMA_DETAIL = 'GET_PROFORMA_DETAIL';\nexport const UPDATE_PROFORMA_DETAIL = 'UPDATE_PROFORMA_DETAIL';\nexport const FAIL = 'FAIL';\nexport const STUDENT_PROFORMA_STATUS = 'STUDENT_PROFORMA_STATUS';\nexport const UPDATE_ENROLLMENT_DETAIL = 'UPDATE_ENROLLMENT_DETAIL'\nexport const UPDATE_PROFORMA_STATUS = 'UPDATE_PROFORMA_STATUS';\nexport const UPDATE_PROFORMA_QUESTIONS = 'UPDATE_PROFORMA_QUESTIONS'\nexport const UPDATE_PARENT_PROFORMA_STATUS = 'UPDATE_PARENT_PROFORMA_STATUS'\nexport const UPDATE_TEACHER_PROFORMA_STATUS = 'UPDATE_TEACHER_PROFORMA_STATUS'\nexport class GetProformaDetail implements Action {\n readonly type = GET_PROFORMA_DETAIL;\n constructor(public payload: { 'authToken': string, 'fromScreen': string, 'tag': string }) { }\n}\n\nexport class ProformaStatus implements Action {\n readonly type = UPDATE_PROFORMA_STATUS;\n constructor(public payload: any) { }\n}\n\nexport class UpdateParentProformaStatus implements Action {\n readonly type = UPDATE_PARENT_PROFORMA_STATUS;\n constructor(public payload: any) { }\n}\n\nexport class UpdateTeacherProformaStatus implements Action {\n readonly type = UPDATE_TEACHER_PROFORMA_STATUS;\n constructor(public payload: any) { }\n}\n\nexport class QuestionsResponses implements Action {\n readonly type = UPDATE_PROFORMA_QUESTIONS;\n constructor(public payload: any) { }\n}\nexport class UpdateProformaDetail implements Action {\n readonly type = UPDATE_PROFORMA_DETAIL;\n constructor(public payload: Proforma) { }\n}\n\nexport class UpadteEnrollmentNumbers implements Action {\n readonly type = UPDATE_ENROLLMENT_DETAIL;\n constructor(public payload: any) { }\n}\nexport class Fail implements Action {\n readonly type = FAIL;\n}\nexport class StudentProformaStatus implements Action {\n readonly type = STUDENT_PROFORMA_STATUS;\n constructor(public payload: Proforma) { }\n}\n\nexport type ProformaActionList = GetProformaDetail | UpdateProformaDetail | Fail | StudentProformaStatus | UpadteEnrollmentNumbers | ProformaStatus | QuestionsResponses | UpdateParentProformaStatus | UpdateTeacherProformaStatus;","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'safeYT'\n})\nexport class SafePipe implements PipeTransform {\n \n constructor(private _sanitizer: DomSanitizer){}\n \n transform(value: string) {\n return this._sanitizer.bypassSecurityTrustResourceUrl(value);\n }\n\n}\n","export enum CARD_ACTIONS {\n ADD_TO_CART = 'add_to_cart',\n BUY_NOW = 'buy_now',\n ADD_TO_ACCOUNT = 'add_to_account',\n ACTIVATE_NOW = 'activate_now',\n GO_TO_CART = 'go_to_cart'\n}\n\nexport enum SESSION_DROPDOWN {\n SESSION_23_24 = 'Session 2023-24',\n SESSION_21_22 = 'Session 2021-22',\n SESSION_19_20 = 'Session 2019-20'\n}\n\nexport enum CLASSES {\n CLASS_9 = '9th',\n CLASS_10 = '10th',\n CLASS_11 = '11th',\n CLASS_12 = '12th',\n CLASS_12_PASS = '12th Pass'\n}\n\nexport enum GOALS {\n JEE_A = 'JEE(A)',\n JEE_M = 'JEE(M)',\n NTSE = 'NTSE & Fundamentals of Engineering and Medical',\n BITSAT = 'BITSAT'\n}\n\nexport enum PACKAGE_CTA_TITLE {\n ADD_TO_CART = 'Add to Cart',\n GO_TO_CART = 'Go to Cart'\n}\n\nexport enum LOCATION_INFO {\n ADMIN_LEVEL_1 = 'administrative_area_level_1'\n}\n\nexport enum TEST_SERIES_TYPES {\n EXTRA = 'extra',\n WINDOW = 'window',\n MILESTONE = 'milestone',\n REVISION = 'revision'\n}\n\nexport enum TEST_STATUS {\n PAST = 'Past',\n UPCOMING = 'Upcoming',\n LIVE = 'Live',\n CLASS = 'class'\n}","
\n \n
\n
\n Notification\n
\n
    \n
  • \n No notifications to show\n
  • \n 0 && !loader\">\n
  • \n \n -1; else elseBlock\" class=\"lefticon\">\n \"\"\n \n \n \n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \n \n \n \n \n \n \n \n \n \"Delete\n \n \n \n \n

    \n

    \n \n {{notification.timePassed}}\n \n \n \n
    \n
  • \n
    \n \n
\n \n
\n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { NotificationService } from '../../../services/notification.service';\nimport { Router } from '@angular/router';\nimport { AlertService} from '../../../services/alert.service';\nimport { HomeService } from 'src/app/home-page/services/home.service';\nimport { Location } from '@angular/common';\ninterface ResponseRecieved {\n data: any;\n count: number;\n code: number;\n}\n\n@Component({\n selector: 'app-notification',\n templateUrl: './notification.component.html',\n styleUrls: ['./notification.component.scss', '../header-after-login.component.scss']\n})\nexport class NotificationComponent implements OnInit {\n @Input() userData: any;\n public countToDisplay = 0;\n public notificationsCurrentPage = 1;\n public notificationList: any = [];\n public totalNotificationsLoaded = 0;\n public totalNotificationsCount = 0;\n public showChallengePopUP = false;\n public dataToPass: any;\n public loader = false;\n public noData: boolean = true;\n public newNotificationsActions=[ 'openTestDetails','openWeaknessesTabUnderSWOTBoard','openOpportunitiesTabUnderSWOTBoard','openCurrentPhaseInMyPlan','openCurrentWeekOfMyPlan','openMyPATHome','help','help-issue','help-suggestion','help-idea'];\n constructor(private notification: NotificationService, private router: Router, private alert: AlertService,private homePageService:HomeService,private location: Location) { }\n\n ngOnInit(): void {\n this.getNotificationCount();\n }\n ngOnChanges() {\n this.alert.notificationCountUpdate.subscribe((res) => {\n if (res !== 0) {\n this.getNotificationCount();\n }\n })\n }\n\n getNotificationCount(): void {\n this.notification.getNotificationNumber().then((res: ResponseRecieved) => {\n this.countToDisplay = res.data;\n });\n }\n\n fetchAllNotification(): void {\n this.loader = true;\n this.getNotificationViaPagination();\n }\n\n getNotificationViaPagination(): void {\n this.notificationList = [];\n this.notification.getAllNotificationFunc(this.notificationsCurrentPage).then((res: ResponseRecieved) => {\n if (res && res.code === 200 && res.data && res.data.data && res.data.data.length) {\n // tslint:disable-next-line: prefer-for-of\n for (let i = 0; i < res.data.data.length; i++) {\n this.notificationList.push(res.data.data[i]);\n }\n if (this.notificationsCurrentPage === 1) {\n this.totalNotificationsCount = res.count;\n }\n // tslint:disable-next-line: prefer-for-of\n for (let i = 0; i < this.notificationList.length; i++) {\n let timeDiff = new Date().getTime() - new Date(this.notificationList[i].createdAt).getTime();\n timeDiff = timeDiff / 1000\n this.notificationList[i].timePassed = this.timeSince(timeDiff);\n }\n if (this.notificationList.length === 0) {\n this.noData = true;\n } else {\n this.noData = false;\n }\n }\n this.loader = false;\n });\n\n this.getNotificationCount();\n\n }\n\n setNotification(notification): void {\n this.notification.setNotificationToRead(notification._id).then(res => {\n if (res) {\n this.notificationAction(notification);\n }\n });\n }\n\n notificationAction(notification): void {\n if (notification.action === 'community-question-vote' || notification.action === 'community-answer'\n || notification.action === '\"community-answer-vote') {\n const quesData = notification.body.split(': ');\n const name = quesData[1];\n var title = '';\n // tslint:disable-next-line: prefer-for-of\n for (let i = 0; i < name.length; i++) {\n const val = name[i];\n if ((val >= 'A' && val <= 'Z') || (val >= 'a' && val <= 'z') || val == ' ') {\n title = title + val;\n }\n }\n if (title.length > 100) {\n title = title.slice(0, 99);\n }\n if (title === '') {\n title = '000000000000000000000';\n }\n\n title = title.replace(/\\//g, '');\n title = title.replace(/[!@#$%^&*?+-.;,><`=]/g, '-');\n title = title.replace('/-+/', '-');\n title = title.replace(/ /g, '-');\n title = title.replace(/\\-\\-+/g, '-');\n title = title.toLowerCase().substr(0, 99);\n title = title.replace(/^\\s+/g, '');\n }\n if(notification.action==='openCurrentPhaseInMyPlan'|| notification.action==='openCurrentWeekOfMyPlan'){\n this.alert.updateWorkingOnHomePage.next({update: 'openMyPlan'});;\n }else{\n switch (notification.action) {\n case 'purchaseCongratulations': {\n localStorage.setItem('lastRequested','home/myTests');\n window.location.href = 'home/myTests';\n break;\n }\n\n case 'challengee-notification': {\n this.dataToPass = notification;\n this.showChallengePopUP = true;\n break;\n }\n\n case 'welcome': {\n this.showChallengePopUP = false;\n this.alert.updateWorkingHomePage.next({ update: 'openHome' });\n this.router.navigateByUrl('home');\n break;\n }\n \n case 'community-question-vote': {\n this.showChallengePopUP = false;\n this.router.navigateByUrl('/community/question-detail/' + title + '?qId=' + notification.data.questionId);\n break;\n }\n\n case 'community-answer': {\n this.showChallengePopUP = false;\n this.router.navigateByUrl('/community/question-detail/' + title + '?qId=' + notification.data.questionId);\n break;\n }\n\n case 'community-answer-vote': {\n this.showChallengePopUP = false;\n this.router.navigateByUrl('/community/question-detail/' + title + '?qId=' + notification.data.questionId);\n break;\n }\n case 'community-mark-best-answer': {\n this.showChallengePopUP = false;\n this.router.navigateByUrl('/community/question-detail/' + title + '?qId=' + notification.data.questionId);\n break;\n }\n\n case 'challenger-notification': {\n this.dataToPass = notification;\n this.showChallengePopUP = true;\n break;\n }\n\n case 'questionDeleted': {\n this.showChallengePopUP = false;\n this.router.navigateByUrl('/community/view/my-questions/ask-by-me');\n break;\n }\n\n case 'questionApproved': {\n this.showChallengePopUP = false;\n this.router.navigateByUrl('/community/question-detail/' + title + '?qId=' + notification.data.questionId);\n break;\n }\n\n case 'answerDeleted': {\n this.showChallengePopUP = false;\n this.router.navigateByUrl('/community/question-detail/' + title + '?qId=' + notification.data.questionId);\n break;\n }\n\n case 'userBlockedForQuestion': {\n this.showChallengePopUP = false;\n this.router.navigateByUrl('/community/view/my-questions/ask-by-me');\n break;\n }\n\n case 'userBlockedForAnswer': {\n this.showChallengePopUP = false;\n this.router.navigateByUrl('/community/view/my-answers');\n break;\n }\n\n case 'answerApproved': {\n this.showChallengePopUP = false;\n this.router.navigateByUrl('/community/question-detail/' + title + '?qId=' + notification.data.questionId);\n break;\n }\n case 'resultRegeneration':\n case 'resultGenerated': {\n this.showChallengePopUP = false;\n this.router.navigate(['/test-results/' + notification.data.testId + '/' + notification.data.attemptId + '/' +\n notification.data.testType + '/overview']);\n break;\n }\n case 'openCalendar': {\n if(this.router.url != \"home\"){\n localStorage.setItem('lastRequested','/home/myTests');\n window.location.href = '/home/myTests';\n }\n this.alert.updateWorkingOnHomePage.next({update: 'openMyPlanCalender'});\n break;\n }\n case 'openTestDetails': {\n const {assignmentId,courseId,packageId,id}=notification.data;\n if(assignmentId){\n this.router.navigate(['test-details/course/'+courseId+'/assignment/'+assignmentId+'/test/'+id+'/']);\n }else{\n this.router.navigate(['test-details/course/'+courseId+'/test/'+id+ (packageId?'/package/'+packageId+'/':'')]); \n }\n break; \n }\n case 'openWeaknessesTabUnderSWOTBoard': {\n let {courseId,subjectId=\"\",subject=\"All Subjects\"}=notification.data;\n let typename = notification.action.includes('Weakness')?'weakness':'';\n this.alert.updateWorkingOnHomePage.next({update: 'openSwotPage'});\n this.alert.swotType.next(typename) \n this.location.replaceState('/home/swot?cid=' + courseId + '&sid=' +subjectId + '&sname=' +subject);\n break;\n }\n case 'openOpportunitiesTabUnderSWOTBoard': {\n let {courseId,subjectId=\"\",subject=\"All Subjects\"}=notification.data;\n this.alert.updateWorkingOnHomePage.next({update: 'openSwotPage'});\n this.alert.swotType.next('Opportunity')\n this.location.replaceState('/home/swot?cid=' + courseId + '&sid=' +subjectId + '&sname=' +subject);\n break;\n }\n case 'help-idea':{\n this.alert.issueId.next(notification.data?.ticketId);\n this.router.navigate(['/idea'],{\n queryParams: {\n tid: notification.data?.ticketId\n }\n });\n break;\n }\n case 'help-suggestion':{\n this.alert.issueId.next(notification.data?.ticketId);\n this.router.navigate(['/idea'],{\n queryParams: {\n tid: notification.data?.ticketId\n }\n });\n break;\n }\n case 'help-issue': {\n this.alert.helpId.next(notification.data?.ticketId);\n this.router.navigate(['/help'],{\n queryParams: {\n tid: notification.data?.ticketId\n }\n });\n break;\n }\n }\n } \n this.getNotificationCount();\n }\n\n getAnswerIcoCondition(notification): any {\n return (notification.action === 'community-answer' || notification.action === 'community-mark-best-answer'\n || notification.action === 'questionDeleted' || notification.action === 'questionApproved'\n || notification.action === 'answerDeleted' || notification.action === 'userBlockedForQuestion'\n || notification.action === 'userBlockedForAnswer' || notification.action === 'answerApproved'\n || notification.action === 'userUnblocked'|| notification.action === 'openOpportunitiesTabUnderSWOTBoard'||notification.action === 'openWeaknessesTabUnderSWOTBoard'\n ||notification.action === 'openCurrentPhaseInMyPlan'||notification.action === 'openCurrentWeekOfMyPlan'\n );\n }\n\n markAllNotificationRead(): void {\n const notificationIds = this.notificationList.filter(notif => !notif.isViewed).map(notif => notif._id);\n this.notification.markAllNotificationRead(notificationIds).then(res => {\n if (res) {\n this.countToDisplay = 0;\n this.notificationList.forEach((notif, i) => {\n if (!notif.isViewed) {\n this.notificationList[i].isViewed = true;\n }\n });\n }\n });\n }\n\n onScroll(): void {\n if (this.notificationList.length < this.totalNotificationsCount) {\n this.notificationsCurrentPage++;\n this.fetchAllNotification();\n }\n }\n ngOnDestroy(): void {\n this.alert.updateWorkingOnHomePage.next({});\n }\n getIconImage(notification):String{\n let src=\"/assets/images/notification/notif_random.png\";\n switch(notification.type){\n case'home':{\n src='/assets/images/notification/new/mypat.svg';\n break;\n }\n case'goalsetting':{\n src='/assets/images/notification/new/goalSetting.svg';\n break;\n }\n case'swot':{\n if(notification.action==='openWeaknessesTabUnderSWOTBoard'){\n src=\"/assets/images/notification/new/weekness.svg\";\n }\n else{\n src='/assets/images/notification/new/opportunity.svg';\n }\n break; \n }\n case'pendingTopics':{\n src='/assets/images/notification/new/pending-topics.svg';\n break;\n }\n case'lowProficiency':{\n src='/assets/images/notification/new/proficiency.svg';\n break;\n }\n case'phaseStart':{\n src='/assets/images/notification/new/phasestart.svg';\n break;\n }\n case'testAssigned':{\n src='/assets/images/notification/new/test-assigned.svg';\n break;\n }\n case'testReminder':{\n src='/assets/images/notification/new/test-live.svg';\n break;\n }\n case 'custom': {\n src='/assets/images/notification/new/custom-notification.png';\n break;\n }\n case 'issue-open': {\n src='/assets/images/notification/issuePendingIcon.svg';\n break;\n }\n case 'issue-ongoing': {\n src='/assets/images/notification/issueOngoingIcon.svg';\n break;\n }\n case 'issue-comment': {\n src='/assets/images/notification/commentSupportTeam-icon.svg';\n break;\n }\n case 'issue-resolved': {\n src='/assets/images/notification/issueResolvedIcon.svg';\n break;\n }\n case 'issue-closed': {\n src='/assets/images/notification/issueClosedIcon.svg';\n break;\n }\n case 'suggestion-closed': {\n src='/assets/images/notification/idea-suggestion-closedIcon.svg';\n break;\n }\n case 'idea-closed': {\n src='/assets/images/notification/idea-suggestion-closedIcon.svg';\n break;\n }\n case 'issue-reopened': {\n src='/assets/images/notification/issueReopenedIcon.svg';\n break;\n }\n case 'idea-submitted':{\n src='/assets/images/notification/ideaSubmitIcon.svg';\n break;\n }\n case 'idea-accepted':{\n src='/assets/images/notification/ideaAcceptedIcon.svg';\n break;\n }\n case 'idea-ongoing':{\n src='/assets/images/notification/ideaOngoingIcon.svg';\n break;\n }\n case 'idea-completed':{\n src='/assets/images/notification/ideaCompletedIcon.svg';\n break;\n }\n case 'suggestion-submitted':{\n src='/assets/images/notification/ideaSubmitIcon.svg';\n break;\n }\n case 'suggestion-accepted':{\n src='/assets/images/notification/ideaAcceptedIcon.svg';\n break;\n }\n case 'suggestion-ongoing':{\n src='/assets/images/notification/ideaOngoingIcon.svg';\n break;\n }\n case 'suggestion-completed':{\n src='/assets/images/notification/ideaCompletedIcon.svg';\n break;\n }\n default:{\n src=\"/assets/images/notification/notif_random.png\";\n }\n }\n return src;\n }\n\n\n timeSince(timeDiff){\n if (timeDiff < 60) { // 1 min\n return 'Just Now'\n } else if (timeDiff < 120) { // 2min\n return '1 minute ago';\n } else if (timeDiff < 60 * 60) { // 60 min\n return `${Math.ceil(timeDiff / 60)} minutes ago`;\n } else if (timeDiff < 60 * 60 * 24) { // 24 hour\n return `${Math.ceil(timeDiff / (60 * 60))} hours ago`;\n } else if (timeDiff < 60 * 60 * 24 * 2) { // 48 hour\n return \"1 day Ago\";\n } else if (timeDiff < 60 * 60 * 24 * 30) { // 1 month\n return `${Math.ceil(timeDiff / (60 * 60 * 24))} days ago`;\n } else if (timeDiff < 60 * 60 * 24 * 30 * 2) { // 2 month\n return \"1 month ago\";\n } else if (timeDiff < 60 * 60 * 24 * 365) {\n return `${Math.ceil(timeDiff / (2629746))} months ago`; // 2,629,746\n } else {\n return 'More than an year ago';\n }\n }\n}\n","import { DatePipe } from '@angular/common';\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { IAngularMyDpOptions, IMyDate, IMyDateModel } from 'angular-mydatepicker';\n\n@Component({\n selector: 'app-date-filter',\n templateUrl: './date-filter.component.html',\n styleUrls: ['./date-filter.component.scss']\n})\nexport class DateFilterComponent implements OnInit {\n\n @Input() filter;\n @Input() showValue;\n @Output() dateInfo = new EventEmitter();\n\n todayDate = new Date();\n fromDateValue: IMyDateModel = undefined;\n toDateValue: IMyDateModel = undefined;\n dateInit: IMyDate = {\n day: 0,\n month: 0,\n year: 0\n }\n fromDateEntered = false;\n toDateEntered = false;\n displayErrorMsg = false;\n public myDatePickerOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd/mm/yyyy',\n disableSince: {...this.dateInit}\n };\n\n public myDatePickerEndDateOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd/mm/yyyy',\n disableSince: {...this.dateInit},\n disableUntil: {...this.dateInit},\n };\n\n constructor(\n private datePipe:DatePipe\n ) { }\n\n ngOnInit(): void {\n this.filter.values.forEach(value => {\n if (!value.hasOwnProperty('singleDate')) {\n if (value.value) {\n const dateString = value.value.split('T').join(' ').split('.')[0] + ' +0530';\n const dateValue = new Date(dateString);\n value['singleDate'] = {\n date: {\n year: dateValue.getFullYear(),\n month: dateValue.getMonth() + 1,\n day: dateValue.getDate()\n },\n formatted: this.datePipe.transform(dateValue,'dd/MM/yyyy'),\n epoc: dateValue.getTime(),\n jsDate: dateValue\n };\n }\n }\n });\n if (this.filter.values.find((obj) => obj.singleDate) !== undefined) {\n const date = new Date(this.filter.values[0].value);\n this.fromDateValue = {\n isRange: false,\n dateRange: null,\n singleDate: {\n date: {\n year: date.getFullYear(),\n month: date.getMonth() + 1,\n day: date.getDate()\n },\n formatted: this.datePipe.transform(date,'DD/MM/YYYY'),\n epoc: date.getTime(),\n jsDate: date\n }\n };\n this.toDateValue = {\n isRange: false,\n dateRange: null,\n singleDate: this.filter.values[1].singleDate\n };\n }\n }\n\n ngOnChanges() {\n if (this.showValue) {\n setTimeout(() => {\n this.fromDateValue = undefined;\n this.fromDateEntered = false;\n }, 10);\n this.toDateValue = undefined;\n this.toDateEntered = false;\n this.displayErrorMsg = false;\n this.resetDisabledDates();\n }\n }\n\n resetDisabledDates() {\n this.myDatePickerOptions.disableSince.day = 0;\n this.myDatePickerOptions.disableSince.month = 0;\n this.myDatePickerOptions.disableSince.year = 0;\n }\n\n onDateChanged(dateValue: IMyDateModel, type) {\n switch (type) {\n case 'from':\n this.fromDateValue = dateValue;\n break;\n case 'to':\n this.toDateValue = dateValue;\n }\n\n if ((this.fromDateValue === null || this.toDateValue === null)) {\n this.displayErrorMsg = true;\n } else {\n this.displayErrorMsg = false;\n }\n \n const today = dateValue.singleDate.jsDate;\n const yesterday = new Date(today);\n yesterday.setDate(today.getDate() - 1);\n const dt =\n yesterday.getFullYear() +\n '-' +\n (yesterday.getMonth() < 10\n ? '0' + yesterday.getMonth()\n : yesterday.getMonth()) +\n '-' +\n (yesterday.getDate() < 10\n ? '0' + yesterday.getDate()\n : yesterday.getDate());\n if (type === 'from') {\n const disablefromDate = dt.split('-');\n this.myDatePickerEndDateOptions.disableUntil.day = parseInt(disablefromDate[2]);\n this.myDatePickerEndDateOptions.disableUntil.month = parseInt(disablefromDate[1]) + 1;\n this.myDatePickerEndDateOptions.disableUntil.year = parseInt(disablefromDate[0]);\n } else {\n const disablefromDate = dt.split('-');\n this.myDatePickerOptions.disableSince.day = parseInt(disablefromDate[2]) + 2;\n this.myDatePickerOptions.disableSince.month = parseInt(disablefromDate[1]) + 1;\n this.myDatePickerOptions.disableSince.year = parseInt(disablefromDate[0]);\n }\n\n if (this.fromDateValue && this.toDateValue && this.fromDateValue.singleDate.jsDate <= this.toDateValue.singleDate.jsDate) {\n let dateTemp = new Date(this.fromDateValue.singleDate.jsDate)\n dateTemp.setDate(dateTemp.getDate()-1)\n this.filter.values[0].value = this.datePipe.transform(dateTemp,'yyyy-MM-dd') + 'T18:30:00.000Z';\n this.filter.values[1].value = this.datePipe.transform(this.toDateValue.singleDate.jsDate,'yyyy-MM-dd') + 'T18:29:59.000Z';\n this.filter.values[0].isSelected = true;\n this.filter.values[1].isSelected = true;\n }\n this.dateInfo.emit(this.filter);\n }\n\n compareDates() {\n if (this.fromDateValue && this.toDateValue) {\n if (this.fromDateValue.singleDate.jsDate > this.toDateValue.singleDate.jsDate) {\n return true;\n } else {\n return false;\n }\n } else {\n return false;\n }\n }\n\n onkeyUp(event) {\n const fromDateStr = (document.getElementById('dateFrom') as HTMLInputElement).value;\n const toDateStr = (document.getElementById('dateTo') as HTMLInputElement).value;\n\n if (fromDateStr === ''){\n this.fromDateValue = undefined;\n this.myDatePickerEndDateOptions.disableSince.day = 0;\n this.myDatePickerEndDateOptions.disableSince.month = 0;\n this.myDatePickerEndDateOptions.disableSince.year = 0;\n this.myDatePickerEndDateOptions.disableUntil.day = 0;\n this.myDatePickerEndDateOptions.disableUntil.month = 0;\n this.myDatePickerEndDateOptions.disableUntil.year = 0;\n }\n if (toDateStr === ''){\n this.toDateValue = undefined;\n this.resetDisabledDates();\n }\n \n if ((this.fromDateValue == null || this.toDateValue == null) && !(fromDateStr === '' || toDateStr === '')) {\n this.displayErrorMsg = true;\n } else {\n this.displayErrorMsg = false;\n }\n \n if (this.fromDateValue){\n let dateTemp = new Date(this.fromDateValue?.singleDate.jsDate)\n dateTemp.setDate(dateTemp.getDate()-1)\n\n this.filter.values[0].value = this.datePipe.transform(dateTemp,'yyyy-MM-dd') + 'T18:30:00.000Z';\n this.filter.values[0].isSelected = true;\n } else {\n this.filter.values[0].isSelected = false;\n }\n if (this.toDateValue){\n this.filter.values[1].value = this.datePipe.transform(this.toDateValue?.singleDate.jsDate,'yyyy-MM-dd') + 'T18:29:59.000Z';\n this.filter.values[1].isSelected = true;\n } else {\n this.filter.values[1].isSelected = false;\n }\n this.dateInfo.emit(this.filter);\n }\n\n onKeyPress(event){\n const charCode = (event.which) ? event.which : event.keyCode;\n // Only Numbers 0-9 & '/'\n if (charCode < 47 || charCode > 57) {\n event.preventDefault();\n return false;\n } else {\n return true;\n }\n }\n}\n","
\n
\n \n \n \n \n
\n
to
\n
\n \n \n \n \n
\n
\n

\n Please enter a valid date range\n

\n

\n Please enter the end date\n

\n

\n Please enter the start date\n

\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-api-failed-for-cards',\n templateUrl: './api-failed-for-cards.component.html',\n styleUrls: ['./api-failed-for-cards.component.scss']\n})\nexport class ApiFailedForCardsComponent implements OnInit {\n\n @Output() reloadApiError = new EventEmitter();\n constructor() { }\n\n ngOnInit(): void {\n }\n\n reloadState(): void {\n this.reloadApiError.emit();\n }\n\n}\n","
\n \n There seems to be a problem!\n

Looks like there’s an issue on our
side. Please try reloading once

\n \n
","const EXAM_TYPE = {\n IIT_JEE: 'iit-jee',\n NTSE: 'ntse',\n BOARDS: 'boards'\n}\nconst EXAM_DATA = {\n 'iit-jee' : {\n EXAM: 'JEE Main & Advanced',\n STUNDENT_COUNT: '9032 myPATians',\n STUDENT_QUALIFIED: 'Above 90%ile (JEE Main 19)',\n QUESTIONS_SOLVED: '6.5 Million',\n ASPIRANTS_REGISTERED: '200000',\n },\n ntse : {\n EXAM: 'NTSE',\n STUNDENT_COUNT: '926 Students Qualified',\n STUDENT_QUALIFIED: 'Qualified NTSE Stage 1',\n QUESTIONS_SOLVED: '6.5 Million',\n ASPIRANTS_REGISTERED: '200000',\n },\n boards : {\n QUESTIONS_SOLVED: '6.5 Million',\n ASPIRANTS_REGISTERED: '200000',\n }\n}\n\nexport {EXAM_TYPE, EXAM_DATA };","import { DOCUMENT } from '@angular/common';\nimport { Directive, ElementRef, EventEmitter, Inject, OnDestroy, Output } from '@angular/core';\n\n@Directive({\n selector: '[onSectionVisibility]'\n})\nexport class DetectVisibilityDirective implements OnDestroy {\n observer:IntersectionObserver;\n isLoaded:boolean = false;\n @Output() onSectionVisibility = new EventEmitter();\n constructor(@Inject(DOCUMENT) private readonly document:Document, private elRef: ElementRef) {\n const options = {\n // root: this.document,\n rootMargin: '0px',\n threshold: 1.0\n }\n const intersectionCallback = (entries: IntersectionObserverEntry[]) => {\n entries?.every(entry => {\n if(entry.isIntersecting && !this.isLoaded){\n this.isLoaded = true;\n this.onSectionVisibility.emit(true);\n return false;\n }\n return true;\n })\n };\n this.observer = new IntersectionObserver(intersectionCallback, options);\n const target = this.elRef?.nativeElement;\n target && this.observer?.observe(target);\n }\n ngOnDestroy(): void {\n this.observer?.disconnect?.();\n }\n}","import * as ProformaActionList from './proforma.actions';\nimport { Proforma } from '../../models/proforma.model';\n\nexport interface State {\n data: Proforma;\n}\n\n\nconst intialState: State = {\n data: new Proforma()\n};\n\nexport function proformaReducer(\n state = intialState,\n action: ProformaActionList.ProformaActionList\n): State {\n switch (action.type) {\n case ProformaActionList.UPDATE_PROFORMA_DETAIL:\n return {\n ...state,\n data: action.payload\n };\n case ProformaActionList.STUDENT_PROFORMA_STATUS:\n return {\n ...state,\n data: action.payload\n };\n case ProformaActionList.UPDATE_PROFORMA_STATUS:\n let payloadData = { ...state.data };\n\n if (action.payload['studentStatus']) {\n payloadData.student = {\n status: action.payload['studentStatus']\n };\n }\n\n if (action.payload['teacherStatus']) {\n payloadData.teacher = {\n ...state.data.teacher,\n status: action.payload['teacherStatus']\n };\n }\n if (action.payload['parentStatus']) {\n payloadData.parent = {\n ...state.data.parent,\n status: action.payload['parentStatus']\n };\n }\n return {\n ...state,\n data: payloadData\n };\n case ProformaActionList.UPDATE_PROFORMA_QUESTIONS:\n let questionPayload= {...state.data}\n questionPayload.questions = action.payload['questions']\n questionPayload.questionsStatus = action.payload['status']\n return {\n ...state,\n data: questionPayload\n }\n case ProformaActionList.UPDATE_PARENT_PROFORMA_STATUS:\n let parentPayload = { ...state.data }\n parentPayload.parent.status = action.payload['status'];\n parentPayload.parent.email = action.payload['email'];\n return {\n ...state,\n data: parentPayload\n }\n case ProformaActionList.UPDATE_TEACHER_PROFORMA_STATUS:\n let teacherPayload = { ...state.data }\n teacherPayload.teacher.status = action.payload['status'];\n teacherPayload.teacher.mobile = action.payload['mobile'];\n teacherPayload.teacher.email = action.payload['email'];\n return {\n ...state,\n data: teacherPayload\n }\n default:\n return {\n ...state\n };\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { HelpService } from 'src/app/help-and-support/services/help.service';\nimport * as fromApp from '../../../stores/app.reducers';\nimport * as LoaderAction from '../../../stores/loader/loader.actions';\nimport { HttpService } from '../../../shared/services/http.service';\nimport { AlertService } from '../../services/alert.service';\nimport { HomeService } from 'src/app/home-page/services/home.service';\n\ndeclare var $: any;\nvar w = (window.innerWidth);\n@Component({\n selector: 'app-report-an-issue-idea',\n templateUrl: './report-an-issue-idea.component.html',\n styleUrls: ['./report-an-issue-idea.component.scss']\n})\nexport class ReportAnIssueIdeaComponent implements OnInit {\n @Output() discardComplete = new EventEmitter();\n reqObj = {\n type: 'idea',\n categories: [],\n description: '',\n attachments: []\n };\n disableSubmit = false;\n errorAndSuccess = false;\n uploadingFile: boolean = false;\n selectedProblemTypeId: any;\n public dataToPassForUserCards: any;\n public issueType = {categories: []};\n public defaultSuggestionType: string = 'Idea Type';\n public prevItem = 'idea';\n public generalCheckBox: boolean = false;\n public showSelectMenu: boolean = false;\n public isLoading: boolean = false;\n public selectedType: any;\n public disabledCrossIcon: boolean = false;\n public isMobile: boolean = false;\n public isTab: boolean = false;\n public fileAdded: boolean = false;\n descriptionError : boolean = false;\n @Output() onClosePopUp = new EventEmitter();\n @Output() onSubmitSuccess = new EventEmitter();\n @Output() reportAnIdeaUpdate = new EventEmitter();\n constructor(private helpServices: HelpService, private http: HttpClient,\n private store: Store, private homePageService: HomeService,\n private httpService: HttpService, private alert: AlertService) {\n let regexForTab = new RegExp('Chrome\\/[.0-9]* (?!Mobile)');\n let regexForMobile = new RegExp('Chrome/[.0-9]* Mobile');\n if (navigator.userAgent.includes('Android')) {\n if (regexForTab.test(navigator.userAgent)) {\n this.isMobile = false;\n this.isTab = true;\n } else if (regexForMobile.test(navigator.userAgent)) {\n this.isMobile = true;\n this.isTab = false;\n }\n } else if (navigator.userAgent.includes('iPhone')) {\n this.isMobile = true;\n this.isTab = false;\n } else if (navigator.userAgent.includes('iPad')) {\n this.isMobile = false;\n this.isTab = true;\n } else {\n this.isMobile = false;\n this.isTab = false;\n }\n }\n\n ngOnInit(): void {\n $('#reportIssueidea').modal({\n backdrop: 'static',\n keyboard: false\n })\n //multiple checkbox\n $(document).ready(function(){\n $(document).on('click', '.allow-focus', function (e) {\n e.stopPropagation();\n });\n });\n this.helpServices.helpIssueType().then((res) => {\n this.issueType = res.idea;\n });\n }\n\n onChangeProblem(event: any, item: any) {\n event.stopPropagation();\n if (event.target.type !== 'checkbox'){\n event.preventDefault();\n }\n \n const index = this.reqObj.categories.findIndex((cat) => cat.name === item.name);\n item.ischecked = !item.ischecked;\n if (index >= 0){\n this.reqObj.categories.splice(index, 1);\n }else{\n this.reqObj.categories.push(item);\n }\n if (this.reqObj.categories.length === 0){\n // this.disableSubmit = true;\n }\n }\n onChangeSubCategory(event, item, subItem){\n event.stopPropagation();\n if (event.target.type !== 'checkbox'){\n event.preventDefault();\n }\n this.disableSubmit = false;\n subItem.ischecked = !subItem.ischecked;\n let changeItem = this.reqObj.categories.find((cat) => cat.name === item.name);\n if (changeItem){\n changeItem = {...changeItem};\n let changeSubItem = changeItem.subCategories.find((subCat) => subCat.name === subItem.name);\n if (changeSubItem){\n changeSubItem = {...changeSubItem};\n changeItem.subCategories = changeItem.subCategories.filter((subCat) => subCat.name != subItem.name);\n }else{\n changeItem.subCategories.push(subItem);\n }\n if (changeItem.subCategories.length === 0){\n this.reqObj.categories = this.reqObj.categories.filter((c) => c.name !== item.name);\n }else{\n const index = this.reqObj.categories.findIndex((cat) => cat.name === item.name);\n this.reqObj.categories[index] = changeItem;\n }\n }else{\n const newItem = {...item};\n const newSubItem = {...subItem};\n newItem.subCategories = [newSubItem];\n this.reqObj.categories.push(newItem);\n }\n // if (this.reqObj.categories.length === 0){\n // this.disableSubmit = true;\n // }\n }\n handleGeneralCatergory(event){\n event.stopPropagation();\n if (event.target.type !== 'checkbox'){\n event.preventDefault();\n }\n this.generalCheckBox = event.currentTarget.checked;\n const item = this.issueType.categories[0];\n if (!this.generalCheckBox){\n this.issueType.categories[0].ischecked = false;\n this.reqObj.categories = this.reqObj.categories.filter((cat) => cat.name !== item.name);\n }else{\n this.issueType.categories[0].ischecked = true;\n item.ischecked = true;\n this.reqObj.categories.push(item);\n }\n this.getCategoriesName();\n // if (this.reqObj.categories.length === 0){\n // this.disableSubmit = true;\n // }\n }\n onTypeChange(item: string){\n this.errorTextProblem = false;\n this.reqObj.type = item;\n if(this.prevItem !== item){\n if (item === 'idea'){\n this.defaultSuggestionType = 'Idea Type';\n this.helpServices.helpIssueType().then((res) => {\n this.issueType = res.idea;\n });\n }else{\n this.defaultSuggestionType = 'Suggestion Type';\n this.helpServices.helpIssueType().then((res) => {\n this.issueType = res.suggestion;\n });\n }\n this.prevItem=item\n this.reqObj.description = '';\n this.descriptionLength = 0;\n this.reqObj.categories = [];\n }\n }\n\n mydata = [];\n fileSizeError = false;\n fileTypeAccept = false;\n\n onimageClick(){\n $('#files')[0].value = null; \n }\n\n onSelectFile(event) {\n this.fileSizeError = false;\n this.fileTypeAccept = false;\n const files = event.target.files;\n\n var ext = $('#files').val().split('.').pop().toLowerCase();\n if (ext !== 'jpg' && ext !== 'jpeg' && ext !== 'png' && ext !== 'mp4' && ext !== 'mov' && ext !== 'hevc') {\n this.fileTypeAccept = true;\n this.fileAdded = false;\n return false;\n }\n\n if (files) {\n for (const file of files) {\n const reader = new FileReader();\n let fileType = (Math.floor(Math.log(file.size) / Math.log(1024)));\n let actualSize = Math.round(file.size / Math.pow(1024, fileType));\n const fileName = file.name.split(' ').join('');\n reader.onload = (e: any) => {\n if (file.type.indexOf('image') > -1) {\n if (fileType === 2 && actualSize >= 100) {\n this.fileSizeError = true;\n this.fileAdded = false;\n return;\n }\n const index = this.mydata.findIndex((obj) => obj.file.name == file.name)\n if (index == -1) {\n this.fileAdded = false;\n this.mydata.push({\n url: e.target.result,\n type: 'image',\n name: fileName,\n file: file,\n });\n } else {\n this.fileAdded = true;\n this.fileSizeError = false;\n }\n // this.getPreSignedUrl();\n } else if (file.type.indexOf('video') > -1) {\n if (fileType === 2 && actualSize >= 100) {\n this.fileSizeError = true;\n this.fileAdded = false;\n return;\n }\n const index = this.mydata.findIndex((obj) => obj.file.name == file.name)\n if (index == -1) {\n this.fileAdded = false;\n this.mydata.push({\n url: e.target.result,\n type: 'video',\n name: fileName,\n file: file\n });\n } else {\n this.fileAdded = true;\n this.fileSizeError = false;\n }\n }\n };\n reader.readAsDataURL(file);\n }\n }\n }\n\n closeThumb(index) {\n this.fileAdded = false;\n this.mydata.splice(index, 1);\n }\n\n // get permission from s3 to upload image\n getPreSignedUrl(obj): void {\n const apiUrl = 'v4/auth/upload-signed-url?location=ideasAndSuggestions';\n this.httpService.get(apiUrl, true, { key: obj.name }, false).subscribe(\n (res) => {\n if (res && res.code === 200) {\n if (res.data.url && res.data.fields) {\n obj.photoUrlCopy = res.data.url + '/' + res.data.fields.key;\n this.uploadYourFileOnS3(res.data, obj);\n }\n }\n }, (error) => {\n this.currentUploadIndex++;\n obj.status = 'Failed';\n this.uploadFiles();\n });\n }\n\n // upload image after permision\n uploadYourFileOnS3(data, obj): void {\n const formData: FormData = new FormData();\n formData.append('key', data.fields.key);\n formData.append('bucket', data.fields.bucket);\n formData.append('acl', 'public-read');\n formData.append('X-Amz-Algorithm', data.fields['X-Amz-Algorithm']);\n formData.append('X-Amz-Credential', data.fields['X-Amz-Credential']);\n formData.append('X-Amz-Date', data.fields['X-Amz-Date']);\n formData.append('Policy', data.fields['Policy']);\n formData.append('X-Amz-Signature', data.fields['X-Amz-Signature']);\n formData.append('file', obj.file, obj.name);\n\n const options = {\n headers: new HttpHeaders({\n Accept: 'application/json'\n })\n };\n this.http.post(data.url, formData, options).subscribe((res) => {\n this.currentUploadIndex++;\n obj.status = 'Uploaded';\n this.uploadFiles();\n }, () => {\n this.currentUploadIndex++;\n obj.status = 'Failed';\n this.uploadFiles();\n });\n }\n\n uploadFiles() {\n this.errorAndSuccess = false;\n this.isLoading = true;\n if (this.currentUploadIndex < this.mydata.length) {\n this.getPreSignedUrl(this.mydata[this.currentUploadIndex]);\n } else {\n this.reqObj.attachments = [];\n this.mydata.forEach((item) => {\n this.reqObj.attachments.push({\n type: item.type,\n url: item.photoUrlCopy\n });\n });\n let categories = [];\n let subCategories = [];\n this.issueType.categories.forEach((item)=>{\n if(item.ischecked){\n categories.push(item);\n }\n if(item.subCategories.length){\n item.subCategories.forEach(element => {\n if(element.ischecked){\n subCategories.push(element)\n }\n });\n if(subCategories.length){\n item.subCategories = subCategories;\n categories.push(item);\n subCategories = []\n }\n }\n })\n this.reqObj.categories = categories;\n this.helpServices.postReportAnIssue(this.reqObj).then((res) => {\n if (res.code === 200) {\n // success\n localStorage.setItem('reporteditem','ideasAndSuggestions');\n $('#reportIssueidea').modal('hide');\n $('.modal-backdrop').removeClass('show');\n $('.reportIssueidea').removeClass('discardOpen');\n this.discardChanges = false;\n this.disableSubmit = false;\n this.isLoading = false;\n // hide loader and close popup then show sucsses res.message\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.alert.showSuccessMessage(res.message);\n this.alert.notificationCountUpdate.next(1);\n this.alert.IdeaStatus.next('All');\n this.homePageService.fetchHomeCardsData().then((res) => {\n if (res){\n if (res.userCards && res.userCards.length) {\n this.dataToPassForUserCards = JSON.parse(JSON.stringify(res.userCards));\n this.dataToPassForUserCards[2].data.forEach(element => {\n if (element.type === 'ideasAndSuggestions' && this.getParameterByName('type') !== 'idea,suggestion'){\n this.helpServices.UpdatedDataHelp.next(element);\n }\n });\n }\n this.uploadingFile = false;\n }\n\n });\n this.onSubmitSuccess.emit(this.reqObj.type);\n this.reportAnIdeaUpdate.emit();\n } else {\n // error: res.message\n this.alert.showErrorMessage(res.message);\n // hide loader\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.disableSubmit = false;\n this.uploadingFile = false;\n\n\n }\n }, (error) => {\n // error message: Something went wrong, Please try again\n this.alert.showErrorMessage('Something went wrong');\n // hide loader\n });\n\n }\n }\n\n currentUploadIndex = 0;\n errorText = false;\n errorTextProblem = false;\n\n reportAnIssue() {\n // show loader\n // this.disableSubmit = true;\n this.isLoading = false;\n // this.disabledCrossIcon = true;\n this.errorTextProblem = false;\n this.descriptionError = false;\n if (this.reqObj.categories.length === 0){\n this.errorTextProblem = true;\n return;\n }\n this.errorText = false;\n if (this.reqObj.categories.length && (this.descriptionLength < 40)){\n this.descriptionError = true;\n return;\n }\n if (!this.reqObj.description || (this.descriptionLength < 40)) {\n this.errorText = true;\n return;\n }\n if (this.reqObj.categories.length !== 0 && (this.descriptionLength < 40)) {\n this.disabledCrossIcon = false;\n return;\n }\n else{\n this.disabledCrossIcon = true;\n }\n // if(this.reqObj.categories == 'Idea Type' || this.reqObj.categories == 'Suggestion Type')\n this.store.dispatch(new LoaderAction.SetLoader(true));\n this.currentUploadIndex = 0;\n this.uploadingFile = true;\n this.uploadFiles();\n }\n\n\n public descriptionLength = 0;\n onKeyUp() {\n const count = this.reqObj.description.replace(/\\r?\\n|\\r/g, \"\");\n this.descriptionLength = count.replace(/ /g, '').length;\n this.descriptionError = false;\n if (!this.reqObj.description || (this.reqObj.description.replace(/ /g, '').length < 40)) {\n //this.errorText = true;\n this.descriptionError = false;\n } else {\n //this.errorText = false;\n this.disableSubmit = false;\n this.descriptionError = false;\n }\n }\n\n discardChanges = false;\n cancelClick() {\n this.discardChanges = false;\n $('.reportIssue').removeClass('discardOpen');\n }\n\n closePopup() {\n if (this.descriptionLength || this.mydata.length) {\n $('.reportIssue').addClass('discardOpen');\n this.discardChanges = true;\n } else {\n this.fileAdded = false;\n this.fileSizeError = false;\n this.fileTypeAccept = false;\n this.onClosePopUp.emit();\n $('#reportIssueidea').modal('hide');\n $('.modal-backdrop').removeClass('show');\n }\n }\n\n onDiscard() {\n this.onClosePopUp.emit();\n this.discardComplete.emit();\n $('#reportIssueidea').modal('hide');\n $('.modal-backdrop').removeClass('show');\n $('.reportIssue').removeClass('discardOpen');\n this.discardChanges = false;\n this.disabledCrossIcon = false;\n this.fileAdded = false;\n this.fileSizeError = false;\n this.fileTypeAccept = false;\n }\n\n toggleSelectMenu(){\n this.showSelectMenu = !this.showSelectMenu;\n this.errorTextProblem = false;\n // if (this.reqObj.categories.length === 0){\n // this.errorTextProblem = true;\n // return;\n // }\n }\n\n getCategoriesName(){\n const checkedNames: string[] = [];\n this.issueType.categories.forEach((category: any) => {\n if (category.ischecked) {\n checkedNames.push(category.name);\n }\n if (category.subCategories.length) {\n category.subCategories.forEach((subCategory: any) => {\n if (subCategory.ischecked) {\n checkedNames.push(subCategory.name);\n }\n })\n }\n });\n this.selectedType = checkedNames;\n if (checkedNames.length > 3 && !this.isMobile && !this.isTab) {\n return checkedNames.slice(0, 3).join(', ');\n }\n if (checkedNames.length > 2 && !this.isMobile && this.isTab) {\n return checkedNames.slice(0, 2).join(', ');\n }\n if (checkedNames.length > 1 && this.isMobile && !this.isTab) {\n return checkedNames.slice(0, 1).join(', ');\n }\n return checkedNames.join(', ');\n }\n\n checkIfDisabled() {\n if (this.descriptionLength >= 40 && this.reqObj.categories.length !== 0\n ) {\n return true;\n } else {\n return false;\n }\n }\n onFocusDescription(){\n this.descriptionError = false;\n }\n\n getParameterByName(name, url = window.location.href): any {\n name = name.replace(/[\\[\\]]/g, '\\\\$&')\n const regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)')\n const results = regex.exec(url)\n if (!results) {\n return null\n }\n if (!results[2]) {\n return '';\n }\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\n }\n}\n","
\n
\n
\n
\n\n
Submit an Idea/Suggestion
\n\n \n \n\n
\n
\n
\n
\n \n

{{reqObj.type | titlecase}}

\n \n
\n
    \n
  • Idea
  • \n
  • Suggestion
  • \n
\n
\n
\n
\n\n \n
\n
\n \n

0\">{{getCategoriesName()}} 3 && !isMobile && !isTab\">+{{selectedType.length - 3}}\n 2 && !isMobile && isTab\">+{{selectedType.length - 2}}\n 1 && isMobile && !isTab\">+{{selectedType.length - 1}}

\n

{{defaultSuggestionType}}

\n \n \n
\n
    \n
  • \n
  • \n \n
  • 0\" class=\"borderTop\">\n {{item.name}}\n
      \n
    • \n \n
    • \n
    \n
  • \n
    \n
\n
    \n
  • \n \n
  • \n
\n
\n
\n \n
\n
\n \n = 40 ? 'textColorChange' : ''\">{{descriptionLength}} charactercharacters (min 40 characters)\n
\n
\n \n = 40 ? 'textColorChange' : ''\">{{descriptionLength}} charactercharacters (min 40 characters)\n
\n
\n \n
\n \n \n \n \n \n \n \n \"Video\"\n\n \n \n
\n

Max. File Size: 100 MB

\n
\n
\n

File is already added!

\n
Files greater than 100 MB cannot be added
\n \n
\n
\n
\n Discard Changes?\n Changes you made will be lost\n
\n
\n \n \n
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Component, EventEmitter, OnInit, Output, ViewChild } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { HelpService } from 'src/app/help-and-support/services/help.service';\nimport * as fromApp from '../../../stores/app.reducers';\nimport { HttpService } from '../../../shared/services/http.service';\nimport { AlertService } from '../../services/alert.service';\nimport { HomeService } from 'src/app/home-page/services/home.service';\nimport { Location } from '@angular/common';\nimport { Router } from '@angular/router';\nimport _ from 'lodash';\n\ndeclare var $: any;\n@Component({\n selector: 'app-report-an-issue',\n templateUrl: './report-an-issue.component.html',\n styleUrls: ['./report-an-issue.component.scss'],\n})\nexport class ReportAnIssueComponent implements OnInit {\n @Output() discardComplete = new EventEmitter();\n reqObj = {\n type: 'issue',\n category: 'Select Problem Area',\n description: '',\n attachments: [],\n };\n\n errorAndSuccess = false;\n isLoading = false;\n selectedProblemTypeId: any;\n public dataToPassForUserCards: any;\n issueType = [];\n subCatergories: any = [];\n selectedSubCategory: string = 'Problem Type';\n showSubCatergoryError: boolean = false;\n selectSubCategoryError : boolean = false;\n descriptionError : boolean = false;\n submitBtnEnable;\n fileAdded: boolean = false;\n public disabledCrossIcon: boolean = false;\n public disabledCloseIcon: boolean = false;\n public prevProblemType ='';\n @Output() onSubmitSuccess = new EventEmitter();\n @Output() reportAnIssueUpdate = new EventEmitter();\n constructor(\n private helpServices: HelpService,\n private http: HttpClient,\n private store: Store,\n private httpService: HttpService,\n private alert: AlertService,\n private router: Router,\n private location: Location,\n private homePageService: HomeService\n ) {}\n\n ngOnInit(): void {\n this.disabledCloseIcon = false;\n this.resetErrors();\n this.helpServices.helpIssueType().then((res) => {\n this.issueType = _.get(res, 'issue.categories', []);\n });\n }\n\n onChangeProblem(type: string, item: any) {\n if (type === 'category') {\n this.errorTextProblem = false;\n if(this.reqObj.category != item.name){\n this.reqObj.description = '';\n this.descriptionLength = 0;\n }\n this.reqObj.category = item.name;\n if (this.reqObj.category === 'Select Problem Area') {\n this.errorTextProblem = true;\n this.subCatergories = [];\n } else {\n this.subCatergories = item.subCategories;\n }\n if(this.prevProblemType !== item?.name && type === 'category'){\n this.prevProblemType=item?.name;\n this.selectedSubCategory = 'Problem Type';\n }\n } else {\n this.showSubCatergoryError = false;\n this.selectSubCategoryError = false;\n this.descriptionError = false;\n this.selectedSubCategory = item;\n if (this.selectedSubCategory == 'Problem Type') {\n this.showSubCatergoryError = true;\n }\n }\n }\n\n mydata = [];\n fileSizeError = false;\n fileTypeAccept = false;\n\n onimageClick(){\n $('#helpfiles')[0].value = null; \n }\n onSelectFile(event) {\n this.fileSizeError = false;\n this.fileTypeAccept = false;\n const files = event.target.files;\n var ext = $('#helpfiles').val().split('.').pop().toLowerCase();\n if (files.length == 0 || ext == ''){\n return;\n }\n if (\n ext !== 'jpg' &&\n ext !== 'jpeg' &&\n ext !== 'png' &&\n ext !== 'mp4' &&\n ext !== 'mov' &&\n ext !== 'hevc'\n ) {\n this.fileTypeAccept = true;\n this.fileAdded = false;\n return false;\n }\n\n if (files) {\n for (const file of files) {\n const reader = new FileReader();\n let fileType = (Math.floor(Math.log(file.size) / Math.log(1024)));\n let actualSize = Math.round(file.size / Math.pow(1024, fileType));\n const fileName = file.name.split(' ').join('');\n reader.onload = (e: any) => {\n if (file.type.indexOf('image') > -1) {\n if (fileType === 2 && actualSize >= 100) {\n this.fileSizeError = true;\n this.fileAdded = false;\n return;\n }\n const index = this.mydata.findIndex((obj) => obj.file.name == file.name)\n if (index == -1) {\n this.fileAdded = false;\n this.mydata.push({\n url: e.target.result,\n type: 'image',\n name: fileName,\n file: file,\n });\n } else {\n this.fileAdded = true;\n this.fileSizeError = false;\n }\n // this.getPreSignedUrl();\n } else if (file.type.indexOf('video') > -1) {\n if (fileType === 2 && actualSize >= 100) {\n this.fileSizeError = true;\n this.fileAdded = false;\n return;\n }\n const index = this.mydata.findIndex((obj) => obj.file.name == file.name)\n if (index == -1) {\n this.fileAdded = false;\n this.mydata.push({\n url: e.target.result,\n type: 'video',\n name: fileName,\n file: file,\n });\n } else {\n this.fileAdded = true;\n this.fileSizeError = false;\n }\n }\n };\n reader.readAsDataURL(file);\n }\n }\n }\n\n closeThumb(index) {\n this.fileAdded = false;\n this.mydata.splice(index, 1);\n }\n\n // get permission from s3 to upload image\n getPreSignedUrl(obj): void {\n const apiUrl = 'v4/auth/upload-signed-url?location=ideasAndSuggestions';\n this.httpService.get(apiUrl, true, { key: obj.name }, false).subscribe(\n (res) => {\n if (res && res.code === 200) {\n if (res.data.url && res.data.fields) {\n obj.photoUrlCopy = res.data.url + '/' + res.data.fields.key;\n this.uploadYourFileOnS3(res.data, obj);\n }\n }\n },\n (error) => {\n this.currentUploadIndex++;\n obj.status = 'Failed';\n this.uploadFiles();\n }\n );\n }\n\n // upload image after permision\n uploadYourFileOnS3(data, obj): void {\n const formData: FormData = new FormData();\n formData.append('key', data.fields.key);\n formData.append('bucket', data.fields.bucket);\n formData.append('acl', 'public-read');\n formData.append('X-Amz-Algorithm', data.fields['X-Amz-Algorithm']);\n formData.append('X-Amz-Credential', data.fields['X-Amz-Credential']);\n formData.append('X-Amz-Date', data.fields['X-Amz-Date']);\n formData.append('Policy', data.fields['Policy']);\n formData.append('X-Amz-Signature', data.fields['X-Amz-Signature']);\n formData.append('file', obj.file, obj.name);\n\n const options = {\n headers: new HttpHeaders({\n Accept: 'application/json',\n }),\n };\n this.http.post(data.url, formData, options).subscribe(\n (res) => {\n this.currentUploadIndex++;\n obj.status = 'Uploaded';\n this.uploadFiles();\n },\n () => {\n this.currentUploadIndex++;\n obj.status = 'Failed';\n this.uploadFiles();\n }\n );\n }\n\n uploadFiles() {\n this.errorAndSuccess = false;\n this.isLoading = true;\n if (this.currentUploadIndex < this.mydata.length) {\n this.getPreSignedUrl(this.mydata[this.currentUploadIndex]);\n } else {\n this.reqObj.attachments = [];\n this.mydata.forEach((item) => {\n this.reqObj.attachments.push({\n type: item.type,\n url: item.photoUrlCopy,\n });\n });\n const body: any = { ...this.reqObj };\n body.categories = [{\n name: this.reqObj.category,\n subCategories: [{ 'name': this.selectedSubCategory }]\n }];\n this.helpServices.postReportAnIssue(body).then(\n (res) => {\n if (res.code === 200) {\n // success\n localStorage.setItem('reporteditem','help');\n this.reqObj.description = '';\n this.reqObj.category = 'Select Problem Area';\n this.selectedSubCategory = 'Problem Type';\n this.subCatergories = [];\n this.reqObj.attachments = [];\n this.errorTextProblem = false;\n this.selectSubCategoryError = false;\n this.descriptionError = false;\n this.mydata = [];\n $('#reportIssue').modal('hide');\n this.disabledCloseIcon = false;\n this.resetErrors();\n $('.modal-backdrop').removeClass('show');\n $('.reportIssue').removeClass('discardOpen');\n this.discardChanges = false;\n this.isLoading = false;\n //this.errorAndSuccess = true;\n this.alert.showSuccessMessage(res.message);\n this.alert.notificationCountUpdate.next(1);\n this.alert.helpNotifiStatus.next('');\n this.alert.helpStatus.next('');\n\n this.onSubmitSuccess.emit(true);\n this.reportAnIssueUpdate.emit(true);\n // hide loader and close popup then show sucsses res.message\n this.homePageService.fetchHomeCardsData().then((res) => {\n if (res) {\n if (res.userCards && res.userCards.length) {\n this.dataToPassForUserCards = JSON.parse(\n JSON.stringify(res.userCards)\n );\n this.dataToPassForUserCards[2].data.forEach((element) => {\n if (element.type === 'help' && window.location.href.split('/')[3] !== 'help') {\n this.helpServices.UpdatedDataHelp.next(element);\n }\n });\n }\n }\n });\n } else {\n // error: res.message\n this.alert.showErrorMessage(res.message);\n // hide loader\n }\n },\n (error) => {\n // error message: Something went wrong, Please try again\n this.alert.showErrorMessage('Something went wrong');\n // hide loader\n }\n );\n }\n }\n\n currentUploadIndex = 0;\n //errorText = false;\n errorTextProblem = false;\n reportAnIssue() {\n //this.errorText = false;\n this.isLoading = false;\n // this.disabledCrossIcon = true;\n // this.disabledCloseIcon = true;\n this.errorTextProblem = false;\n this.selectSubCategoryError = false;\n this.descriptionError = false;\n if (this.reqObj.category === 'Select Problem Area') {\n this.errorTextProblem = true;\n return;\n }\n if (this.subCatergories === 'Problem Type') {\n this.showSubCatergoryError = true;\n return;\n }\n if (this.reqObj.category !== 'Select Problem Area' && this.selectedSubCategory === 'Problem Type') {\n this.selectSubCategoryError = true;\n return;\n }\n if (this.reqObj.category !== 'Select Problem Area' && this.selectedSubCategory !== 'Problem Type' && (this.descriptionLength < 40)) {\n this.descriptionError = true;\n return;\n }\n if (this.reqObj.category !== 'Select Problem Area' && this.selectedSubCategory !== 'Problem Type' && (this.descriptionLength < 40)) {\n this.disabledCloseIcon = false;\n this.disabledCrossIcon = false;\n return;\n }\n else{\n this.disabledCrossIcon = true;\n this.disabledCloseIcon = true;\n }\n if (\n !this.reqObj.description ||\n this.reqObj.description.replace(/ /g, '').length < 40\n ) {\n //this.errorText = true;\n return;\n }\n this.reqObj.description = this.reqObj.description.trim();\n\n // show loader\n this.currentUploadIndex = 0;\n this.uploadFiles();\n }\n\n public descriptionLength = 0;\n\n onKeyUp() {\n const count = this.reqObj.description.replace(/\\r?\\n|\\r/g, \"\");\n this.descriptionLength = count.replace(/ /g, '').length;\n this.descriptionError = false;\n if(!this.reqObj.description ||\n this.reqObj.description.replace(/ /g, '').length < 40){\n this.descriptionError = false;\n }\n else {\n this.descriptionError = false;\n }\n // const txt = document.getElementById('#textarea');\n // let strText = txt.value;\n // let strArr = new Array();\n // strArr = strText.split(\" \");\n // for(let i = 0; i < strArr.length; i++)\n // {\n // if(strArr[i] == \"\")\n // {\n // this.errorText = true;\n // break;\n // } else {\n // this.errorText = false;\n // }\n // }\n\n // let CharArray = txt.value.split('');\n // for(var i=0;i= 40\n ) {\n return true;\n } else {\n return false;\n }\n }\n\n resetErrors() {\n //this.errorText = false;\n this.errorTextProblem = false;\n this.showSubCatergoryError = false;\n this.selectSubCategoryError = false;\n this.descriptionError = false;\n }\n onFocuscategory() {\n this.errorTextProblem = false;\n }\n onFocusSubCategory(){\n this.selectSubCategoryError = false;\n }\n onFocusDescription(){\n this.descriptionError = false;\n }\n}\n","
\n
\n
\n
\n
\n
\n
Report an Issue
\n
\n
\n \n \n
\n
\n
\n\n \n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n \n
\n\n
\n
\n
\n \n
\n \n
\n
\n
\n
Please Select Problem Type
\n
\n
\n \n = 40 ? 'textColorChange' : ''\">{{descriptionLength}} charactercharacters (min 40 characters)\n
\n
\n \n
\n \n \n \n \n \n \n \n \"Video\"\n\n \n \n
\n

Max. File Size: 100 MB

\n \n
\n
\n

File is already added!

\n
Files greater than 100 MB cannot be added
\n \n
\n
\n
\n Discard Changes?\n Changes you made will be lost\n
\n
\n \n \n
\n
\n
\n \n \n \n
\n
\n\n
\n
\n
","\n
\n
\n
\n \n
\n

{{heading}}

\n
\n {{goalName?.name}}\n
\n
\n
\n
\n
","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-primary-goal-popup',\n templateUrl: './primary-goal-popup.component.html',\n styleUrls: ['./primary-goal-popup.component.scss']\n})\nexport class PrimaryGoalPopupComponent implements OnInit {\n @Input() heading: string = '';\n @Input() primaryGoalData: any = [];\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { SolutionService } from 'src/app/test-results-analytics/services/solution.service';\nimport { AlertService } from '../../services/alert.service';\nimport { UtilityService } from '../../services/utility.service';\ndeclare var $: any;\n\n@Component({\n selector: 'app-tag-creator-shared',\n templateUrl: './tag-creator-shared.component.html',\n styleUrls: ['./tag-creator-shared.component.scss']\n})\nexport class TagCreatorSharedComponent implements OnInit {\n @ViewChild('closeTagModal') closeTagModal: ElementRef;\n @Input('tagName') tagName: string;\n @Input(\"tagChecker\") tagChecker: boolean;\n @Input('selectedTId') selectedTId: string;\n @Input('revisionRemove') revisionRemove: boolean;\n @Input('tagMarkType') tagMarkType: string;\n @Input() questiontypeDetails:any\n @Input() darkMode: boolean = false;\n @Output() saveTagEvent = new EventEmitter();\n public tagArray = [];\n public selectedTagId: string = \"\";\n public isCreateTagModal: boolean = false;\n public isEditTagModal: boolean = false;\n public isTagModal: boolean = false;\n public isDeleteModal: boolean = false;\n public newTagName: string = \"\";\n public tagNameLength: number = 15;\n public selectedTagObj: any = {};\n public isRemoveTagModal: boolean = false;\n public isQuestionTagCreated: boolean = false;\n public oldTagName: string;\n public showShimmerBlock:boolean = true\n public colorArray = [\n {\n colorCode: \"#F4D42E\",\n selected: false\n },\n {\n colorCode: \"#448C30\",\n selected: false\n },\n {\n colorCode: \"#691F91\",\n selected: false\n },\n {\n colorCode: \"#0029FA\",\n selected: false\n }\n ]\n deleteQuestionCount: number = 0;\n public dataForEditTag: any;\n\n constructor(private solution: SolutionService, private alertService: AlertService,\n private utility: UtilityService) { }\n\n ngOnInit() {\n if (this.revisionRemove) {\n this.showRemoveModal();\n } else {\n this.questionTagHandler('initial');\n }\n\n }\n\n ngOnChanges() {\n if (this.revisionRemove) {\n this.showRemoveModal();\n } else {\n this.questionTagHandler('initial');\n }\n\n }\n\n updateAndSaveSelectedTagData(el) {\n this.selectedTagObj = {};\n this.selectedTagObj.name = el.name;\n this.selectedTagObj.colorCode = el.colorCode;\n this.selectedTagObj.borderCode = el.colorCode;\n this.selectedTagObj.tagId = el._id;\n this.selectedTagObj.save = true;\n this.selectedTagObj['tagType'] = el.tagType;\n this.saveTagEvent.emit(this.selectedTagObj);\n }\n\n public tagSaveHandler(str): void {\n let selectedTagId;\n this.tagArray.map(el => {\n if (el['selected'] === true && str !== 'close') {\n selectedTagId = el._id;\n this.updateAndSaveSelectedTagData(el);\n }\n });\n if (selectedTagId || (str === 'close')) {\n this.closeTagModal.nativeElement.click();\n } else {\n this.alertService.showErrorMessage('Please select a tag!');\n }\n }\n\n public showRemoveModal(): void {\n \n this.isRemoveTagModal = true;\n this.isDeleteModal = false;\n this.isCreateTagModal = false;\n this.isTagModal = false;\n this.isEditTagModal = false;\n this.tagArray.map(el => {\n el['selected'] = false \n \n });\n }\n\n public questionTagHandler(str): void {\n this.solution.getQuestionTags()\n .subscribe(\n res => {\n this.isTagModal = true;\n this.isRemoveTagModal = false;\n this.isEditTagModal = false;\n this.isCreateTagModal = false;\n this.isDeleteModal = false;\n this.selectedTagId = \"\";\n this.tagArray = res.data.tags;\n this.tagArray = this.tagArray.map(el => {\n el['selected'] = false;\n return el;\n });\n if(this.tagArray){\n this.showShimmerBlock = false\n }\n if (this.tagName !== 'Save' || str === 'creatednew' || str === 'updated') {\n this.selectedTagId = this.selectedTId;\n this.tagArray.map(el => {\n if (this.selectedTId === el._id) {\n el['selected'] = !el['selected'];\n } else {\n el['selected'] = false;\n }\n });\n }\n }\n )\n }\n\n public filterSelected(event, tagId: string): void {\n if (event.target.checked) {\n this.selectedTagId = tagId;\n } else {\n this.selectedTagId = \"\";\n }\n this.tagArray.map(el => {\n if (tagId === el._id) {\n el['selected'] = !el['selected'];\n } else {\n el['selected'] = false;\n }\n });\n }\n\n public borderExpression(color: string, id: string): string {\n if (this.selectedTagId === id) {\n return `1px solid ${color}`;\n } else {\n return '';\n }\n }\n\n public saveQuestionTag(): void {\n let selectedName: string;\n let selectedColor: string;\n this.tagArray.map(el => {\n if (el['selected'] === true) {\n selectedName = el.name;\n selectedColor = el.colorCode;\n }\n });\n let postBody = {\n \"name\": selectedName,\n \"colorCode\": selectedColor\n }\n if (selectedName && selectedColor) {\n this.solution.saveQuestionTag(postBody)\n .subscribe(\n res => {\n if (res.code === 200) {\n this.closeTagModal.nativeElement.click();\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n },\n err => {\n console.error('error in saving custom tag', err);\n }\n );\n }\n }\n\n\n public borderColorHandler(colorCode: string): string {\n let selectedColor: string;\n this.colorArray.forEach(el => {\n if (el.selected) {\n selectedColor = el.colorCode;\n }\n });\n if (selectedColor === colorCode) {\n return `1px solid ${colorCode}`;\n } else {\n return '';\n }\n }\n\n public colorSelectorHandler(event, colorCode): void {\n this.colorArray = this.colorArray.map(el => {\n if (el.colorCode === colorCode) {\n el.selected = !el.selected;\n } else {\n el.selected = false;\n }\n return el;\n })\n }\n\n public tagNameChangeHandler(event = null, editName = null): void {\n if (editName) {\n if (editName.length <= 15) {\n this.newTagName = editName;\n this.tagNameLength = 15 - this.newTagName.length;\n }\n } else {\n if (event.target.value.length <= 15) {\n this.newTagName = event.target.value;\n this.tagNameLength = 15 - this.newTagName.length;\n }\n }\n }\n\n public createModalHandler(): void {\n this.isCreateTagModal = true;\n this.isTagModal = false;\n this.isEditTagModal = false;\n this.isDeleteModal = false;\n this.newTagName = \"\";\n this.oldTagName = '';\n this.tagNameLength = 15;\n this.selectedTagId = \"\";\n this.colorArray.map(el => {\n el.selected = false;\n return el;\n });\n }\n\n public backToTagPage(isDeleteModal, isRemoveTagModal): void {\n if (isDeleteModal) {\n this.isCreateTagModal = false;\n this.isEditTagModal = false;\n this.isDeleteModal = false;\n this.isTagModal = true;\n this.questionTagHandler('somecond');\n } else if (isRemoveTagModal) {\n this.closeTagModal.nativeElement.click();\n } else {\n this.isCreateTagModal = false;\n this.isEditTagModal = false;\n this.isDeleteModal = false;\n this.isTagModal = true;\n this.questionTagHandler('somecond');\n }\n }\n\n public createNewTagHandler(create: boolean, edit: boolean): void {\n let selectedColor = null;\n this.colorArray.forEach(el => {\n if (el.selected) {\n selectedColor = el.colorCode;\n }\n });\n if ((this.newTagName || this.oldTagName) && selectedColor) {\n const postBody = {\n 'colorCode': selectedColor\n };\n if (this.newTagName !== this.oldTagName) {\n postBody['name'] = this.newTagName;\n }\n if (create) {\n this.solution.saveQuestionTag(postBody)\n .subscribe(\n res => {\n if (res.code === 200) {\n this.selectedTId = res.data.tag._id;\n this.questionTagHandler('creatednew');\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n },\n err => {\n console.error('error in saving tag information', err);\n }\n );\n }\n if (edit) {\n this.dataForEditTag.borderCode = selectedColor;\n this.dataForEditTag.name = this.newTagName;\n this.dataForEditTag.colorCode = selectedColor;\n this.solution.updateTagInformation(this.selectedTagId, postBody)\n .subscribe(\n res => {\n if (res.code === 200) {\n this.selectedTId = this.selectedTagId;\n this.updateAndSaveSelectedTagData(this.dataForEditTag);\n this.questionTagHandler('updated');\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n },\n err => {\n console.error('error in updating tag information', err);\n }\n );\n }\n }\n }\n\n public isTagChecked(tagAction: string): string {\n let selectedTag: boolean = false;\n let selectedRemove: boolean = false;\n this.tagArray.map(el => {\n if (el['selected'] === true) {\n selectedTag = true;\n }\n });\n this.tagArray.map(el => {\n if (this.selectedTId === el._id && el.selected) {\n selectedRemove = true;\n }\n });\n if (tagAction === 'ok') {\n if (selectedTag) {\n return 'btn-blue-default'\n } else {\n return 'btn-disabled-default'\n }\n }\n if (tagAction === 'remove') {\n if (selectedRemove) {\n return 'btn-transparent-default'\n } else {\n return 'no-display'\n }\n }\n }\n\n public isFormFilled(): string {\n let selectedColor = null;\n this.colorArray.forEach(el => {\n if (el.selected) {\n selectedColor = el.colorCode;\n }\n });\n if (this.newTagName.length > 0 && selectedColor) {\n return 'btn-blue-default'\n } else {\n return 'btn-disabled-default'\n }\n }\n\n public openDeleteModal(tagId: any): void {\n this.tagName = tagId.name\n this.isDeleteModal = true;\n this.selectedTagId = tagId._id;\n this.isCreateTagModal = false;\n this.isTagModal = false;\n this.isEditTagModal = false;\n this.solution.getDeleteQuestionCount(this.selectedTagId)\n .subscribe(\n res => {\n this.deleteQuestionCount = res?.data?.revision?.count;\n }\n )\n }\n\n public openEditModal(tagData): void {\n this.isDeleteModal = false;\n this.isCreateTagModal = false;\n this.isTagModal = false;\n this.isEditTagModal = true;\n this.dataForEditTag = tagData;\n this.selectedTagId = tagData._id;\n\n this.solution.getOneQuestionTag(this.selectedTagId)\n .subscribe(\n response => {\n let tagResponse = response.data.tag;\n this.colorArray = this.colorArray.map(el => {\n if (el.colorCode === tagResponse.colorCode) {\n el.selected = true;\n this.selectedTagId = tagResponse._id;\n this.oldTagName = tagResponse.name;\n this.tagNameChangeHandler(null, this.oldTagName);\n } else {\n el.selected = false;\n }\n return el;\n });\n },\n error => {\n console.error('error from getting one tag information', error);\n }\n )\n }\n\n public deleteTagId(deleteTag: boolean, removeTag: boolean): void {\n if (deleteTag) {\n this.solution.deleteCustomTag(this.selectedTagId)\n .subscribe(\n response => {\n if (response.code === 200) {\n if (this.deleteQuestionCount > 0) {\n this.selectedTagObj = {\n colorCode: \"#FFFFFF\",\n borderCode: '#999999',\n name: 'Save',\n save: false,\n previousTagId: this.selectedTagId || '',\n };\n this.utility.emptyDataRevision.next('empty');\n setTimeout(() => {\n // this.alertService.selectTagObject.next(this.selectedTagObj)\n this.saveTagEvent.emit(this.selectedTagObj);\n this.closeTagModal.nativeElement.click();\n }, 100);\n } else if (this.deleteQuestionCount === 0) {\n this.questionTagHandler('delete');\n }\n }\n },\n error => {\n console.error('error deleting custom tag', error);\n }\n )\n }\n if (removeTag) {\n this.selectedTagObj = {\n colorCode: \"#FFFFFF\",\n borderCode: '#999999',\n name: 'Save',\n save: false\n }\n this.utility.emptyDataRevision.next('empty');\n setTimeout(() => {\n this.isRemoveTagModal = false\n this.saveTagEvent.emit(this.selectedTagObj);\n this.alertService.selectTagObject.next(this.questiontypeDetails)\n this.closeTagModal.nativeElement.click();\n }, 100);\n }\n }\n\n closeModal() {\n if (this.isEditTagModal || this.isCreateTagModal) {\n $('#tagModal').modal('hide')\n $('.modal-backdrop').remove();\n $('body').removeClass('modal-open');\n } else {\n this.tagSaveHandler('close');\n }\n }\n \n}\n","\n
\n
\n \n
\n \n
\n Tag the question\n Create Tag\n Edit Tag\n \n
\n
\n
\n
Tag your questions to find them easily in your revision book using filters
\n
\n
\n \n
\n \"edit\n \"edit\n \"delete\n
\n
\n
\n
\n
\n \n Create New\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
Create your custom tags and tag the questions to find them easily
\n
Enter a new name and select a color of your choice for this\n custom tag
\n
\n
Type your tag name
\n \n {{ tagNameLength }}\n
\n
\n
Select color for the tag
\n
\n \n
\n
\n \n \n
\n \n
\n
\n
\n \n \n
\n
\n
\n Delete Tag?\n Remove Tag?\n \n Are you sure you want to delete {{tagName}} tag? This cannot be\n undone! This will also delete 0\">{{ deleteQuestionCount }} other saved items in this tag.\n \n \n Are you sure you want to\n remove \"{{ tagName }}\" tag from this question.\n \n \n Are you sure you want to\n remove this question from your Revision Notebook.\n \n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
","import { Component, OnInit } from '@angular/core';\ndeclare var $: any;\n\n@Component({\n selector: 'app-testimonial-home',\n templateUrl: './testimonial-home.component.html',\n styleUrls: ['./testimonial-home.component.scss']\n})\nexport class TestimonialHomeComponent implements OnInit {\n constructor() { }\n\n ngOnInit(): void {\n // Testimonials students\n $('.home-testimonial').owlCarousel({\n nav: true,\n loop: false,\n touchDrag : false,\n mouseDrag: false,\n items:1,\n navText: [\"\",\"\"],\n responsiveClass: true,\n });\n }\n\n}\n","
\n
\n \n
\n
","import { Component, ElementRef, Input, OnDestroy, OnInit, ViewChildren } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { BuyCoursesService } from 'src/app/home-page/cards-detail/right-selected-card/buy-courses/buy-courses.service';\nimport { GLiteUtilityService } from '../../services/g-lite-utility.service';\nimport { CARD_ACTIONS, PACKAGE_CTA_TITLE } from '../../../home-page/cards-detail/right-selected-card/buy-courses/actions.enum';\nimport { AlertService } from '../../services/alert.service';\nimport { UtilityService } from '../../services/utility.service';\nimport { DISPLAY_TYPE, EXAM_INFO, AVAILABLE_CLASSES, AVAILAIBLE_QUERY_PARAMS } from './courses.constant';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport USER_PURCHASE_ACTION from '../../constants/user-action.constant';\nimport { OwlOptions } from 'ngx-owl-carousel-o';\nimport { CourseCardService } from 'src/app/home-page/cards-detail/right-selected-card/buy-courses/course-card/course-card.service';\ndeclare var $:any;\nconst DETAILS_INFO_CONST = {\n CHAPTERS: 'chapters',\n CONCEPTS: 'concepts'\n}\n@Component({\n selector: 'app-courses-we-offer',\n templateUrl: './courses-we-offer.component.html',\n styleUrls: ['./courses-we-offer.component.scss']\n})\nexport class CoursesWeOfferComponent implements OnInit, OnDestroy {\n @Input() type: any = DISPLAY_TYPE.ALL_COURSES;\n @Input() showAllCourses?: boolean;\n private activeSubscriptions = new Subscription();\n private DAYS_IN_YEAR = 365;\n private classAvailableInRoute = '';\n private goalAvailableInRoute = '';\n public selectedGoal: any = {};\n public selectedGoalIndex: number = 0;\n public selectedClass: any ={};\n public availableGoals: any[] = [];\n public availedPackages: any[] = [];\n public availableCourses: any[] = [];\n public classesList:any[] = [];\n public targetExamYear = '2025';\n public coursesLoader: boolean= true;\n public targetExamDate ={\n startDate:new Date(),\n endDate:new Date()\n }\n public coursesWeOffer: OwlOptions = {};\n public courseId:string = '';\n public isPackageLoading:boolean = false;\n public packageData = null;\n public packageTargetExams = '';\n public classifiedTests = {};\n public testCategories = [];\n public testMap = {\n 'full': '',\n 'part': 'partTest',\n 'combined': '',\n };\n private testPriorityMap = {\n full: 5,\n part: 3,\n 'half course': 4,\n chap: 7,\n chapter: 7,\n concept: 1,\n sample: 6,\n practice: 7,\n subjective: 7,\n custom: 7,\n phase: 7,\n unit: 2\n };\n public selectedCourse: any;\n public testTypeImages = {\n 'part': 'partTest',\n 'sample': 'sampleTest',\n 'half': 'halfTest',\n 'combined': 'halfTest',\n 'concept': 'conceptTest',\n 'full': 'fullTest',\n 'main': 'fullTest',\n 'unit': 'unitTest',\n 'testSeries': 'preTest'\n }\n\n public imagesIndices = ['part', 'sample', 'half'];\n public syllabusInfo: any = {\n name: '',\n type: '',\n subjectCount: 0,\n subjectsSyllabus: []\n };\n public syllabusLevel: string = this.viewDetailsInfo.CHAPTERS;\n public userCart: any[] = [];\n\n constructor(\n private _buyCourses: BuyCoursesService,\n private _glite: GLiteUtilityService,\n private _alert: AlertService,\n private utilityService: UtilityService,\n private router: Router,\n private route: ActivatedRoute,\n private _courseCardService: CourseCardService\n ) { }\n\n public get cardActions(){\n return CARD_ACTIONS;\n }\n\n public get packageCtaTitle(){\n return PACKAGE_CTA_TITLE;\n }\n\n ngOnInit(): void {\n this.activeSubscriptions.add(\n this.route.queryParams.subscribe(params => {\n this.classAvailableInRoute = params[AVAILAIBLE_QUERY_PARAMS.selected_class];\n this.goalAvailableInRoute = params[AVAILAIBLE_QUERY_PARAMS.selected_goal];\n if (this.type !== DISPLAY_TYPE.HOME_INFO) {\n this.getClasses();\n }\n })\n );\n if (this.showAllCourses) {\n this.fetchAllPackages();\n } else {\n this.activeSubscriptions.add(\n this._glite.getActiveClassId.subscribe((classInfo: any) => {\n if (classInfo.class_id) {\n this.selectedClass._id = classInfo.class_id;\n this.getGoals();\n }\n })\n );\n }\n this.userCart = JSON.parse(localStorage.getItem('userCart')) || [];\n if (this.showAllCourses) {\n this.coursesWeOffer = {\n loop: false,\n dots: false,\n margin: 50, \n autoplay: false,\n autoWidth: false,\n center: false,\n touchDrag: false,\n mouseDrag: false,\n items: 3,\n nav: true,\n navText: [`Slide Arrow`,`Slide Arrow`],\n responsive:{\n 0:{items: 1, touchDrag: true, mouseDrag: true},\n 576:{items: 2, touchDrag: true, mouseDrag: true},\n 768:{items: 2},\n 992:{items: 3},\n 1200:{items: 3},\n },\n };\n }\n }\n\n fetchAllPackages(): void {\n this.utilityService.getAllAvailablePackages().subscribe((res: any) => {\n const courses = res?.data?.packages || [];\n this.availableCourses = [...courses];\n this.availableCourses = courses.map(course => ({ ...course, cartCTATitle: PACKAGE_CTA_TITLE.ADD_TO_CART }));\n this.coursesLoader = false;\n this.targetExamYear = this.availableCourses[0]?.targetYear;\n this.targetExamDate.startDate = this.availableCourses[0]?.targetExam[0]?.examDates[0]?.startDate;\n this.targetExamDate.endDate = this.availableCourses[0]?.targetExam[0]?.examDates[0]?.endDate;\n this.renderAvailableCourses();\n },\n err => {\n throw new Error('Unable to fetch courses!');\n }\n )\n }\n\n fetchAllAvailedPackagesByUser() {\n this.activeSubscriptions.add(\n this._buyCourses.getAllAvailedPackages().subscribe(\n res => {\n if (res?.code === 200) {\n this.availedPackages = [...res?.data?.packages];\n }\n },\n err => {\n this._alert.showErrorMessage(err?.message);\n }\n )\n )\n }\n\n getGoals() {\n this.availableGoals=[];\n this.coursesLoader=true;\n this.activeSubscriptions.add(\n this._buyCourses.getGoals(this.selectedClass._id).subscribe(res => {\n this.availableGoals = res?.data || [];\n if (this.availableGoals.length) {\n const goalFromParams = this.goalAvailableInRoute && this.getGoalsFromParams();\n this.selectedGoal = goalFromParams || this.availableGoals[0];\n this.selectedGoalIndex = goalFromParams ? this.selectedGoalIndex : 0;\n this.getAvailableCourses();\n }\n },\n err => {\n throw new Error('Unable to fetch goals!');\n }\n )\n );\n }\n\n getGoalsFromParams() {\n const goalFromParams = this.availableGoals.filter((item: any, index: number) => {\n if (item.name.includes(this.goalAvailableInRoute)) {\n this.selectedGoalIndex = index;\n return true;\n }\n });\n return goalFromParams.length && goalFromParams[0];\n }\n\n selectGoal(selectedGoal: any, selectedIndex: number) {\n if (this.selectedGoalIndex !== selectedIndex) {\n this.selectedGoal = selectedGoal;\n this.selectedGoalIndex = selectedIndex;\n if(this.type !== DISPLAY_TYPE.PREP_TRACKER){\n const queryParams = { goal: this.selectedGoal.name };\n this.router.navigate(\n [],\n {\n relativeTo: this.route,\n queryParams,\n queryParamsHandling: 'merge',\n });\n } \n this.getAvailableCourses();\n }\n }\n\n getAvailableCourses() {\n this.coursesLoader=true;\n this.availableCourses = [];\n this.activeSubscriptions.add(\n this._buyCourses.getCourses(this.selectedClass._id, this.selectedGoal._id).subscribe(res => {\n const courses = res?.data?.packages || [];\n this.availableCourses = [...courses];\n this.availableCourses = courses.map(course => ({ ...course, cartCTATitle: PACKAGE_CTA_TITLE.ADD_TO_CART }));\n this.coursesLoader = false;\n this.targetExamYear = this.availableCourses[0]?.targetYear;\n this.targetExamDate.startDate = this.availableCourses[0]?.targetExam[0]?.examDates[0]?.startDate;\n this.targetExamDate.endDate = this.availableCourses[0]?.targetExam[0]?.examDates[0]?.endDate;\n this.renderAvailableCourses();\n },\n err => {\n throw new Error('Unable to fetch courses!');\n })\n );\n }\n\n renderAvailableCourses(): void {\n this.availableCourses.forEach((item: any) => {\n item['duration_years'] = item?.duration / this.DAYS_IN_YEAR;\n item['discountedPrice'] = item?.price - (item?.price * item?.discount / 100);\n })\n }\n\n getClasses(): void {\n this.activeSubscriptions.add(\n this.utilityService.getClasses().subscribe((res) => {\n if(res && res.code === 200){\n this.classesList = res?.data || [];\n if (this.classesList.length) {\n this.selectedClass = this.classAvailableInRoute ? { class: this.classAvailableInRoute, _id: AVAILABLE_CLASSES[this.classAvailableInRoute] } : this.classesList[this.classesList?.length - 1];\n this.getGoals();\n }\n }else{\n this._alert.showErrorMessage(res.message);\n }\n },error=>{\n this._alert.showErrorMessage(error.message);\n })\n );\n }\n\n onClassChange(index){\n this.selectedClass = this.classesList[index];\n const queryParams = { class: this.selectedClass.class };\n this.router.navigate(\n [],\n {\n relativeTo: this.route,\n queryParams,\n queryParamsHandling: 'merge',\n });\n this.getGoals();\n }\n\n ngOnDestroy(): void {\n this.activeSubscriptions.unsubscribe();\n }\n\n public get examInfo(){\n return EXAM_INFO;\n } \n public get userAction(){\n return USER_PURCHASE_ACTION;\n }\n public get DISPLAY_TYPE(){\n return DISPLAY_TYPE;\n }\n \n public get cartCourseIdList(): string[] {\n return this.userCart.map(course => course?._id);\n }\n\n courseRedirect(course,type){\n this.dismissModal();\n course['type']=type;\n course['class']=this.selectedClass;\n this.userCart.push(course);\n localStorage.setItem('userCart', JSON.stringify(this.userCart));\n if (type === this.userAction.BUY_NOW) {\n this.router.navigate(['/user/signup']);\n }\n }\n\n examRedirect(){\n const selectedGoal=this.availableGoals[this.selectedGoalIndex].name;\n let url = EXAM_INFO[selectedGoal].ROUTE_URL || '';\n if(!url && selectedGoal.toLowerCase().includes('ntse')){\n url='/ntse';\n }\n this.router.navigate([`/exam${url}`])\n }\n\n\n openDetail(index,course){\n this.courseId = course._id;\n this.selectedCourse = course;\n this.isPackageLoading = true;\n this.packageData = null;\n this.testCategories = [];\n this.classifiedTests = {};\n this.packageTargetExams = '';\n this.activeSubscriptions.add(\n this._courseCardService.getPackageDetails(course._id).subscribe(res => {\n if(res?.code === 200){\n this.isPackageLoading = false;\n this.packageData = res?.data?.packageDetails;\n this.packageTargetExams = res?.data?.packageDetails?.targetExams?.map(exam => exam?.courseName).join(', ');\n this.packageData?.tests?.forEach(test => {\n if(test?.mainTestType === 'combined'){\n test.mainTestType = 'half course';\n }\n if (this.classifiedTests[test?.mainTestType]) {\n this.classifiedTests[test?.mainTestType].listing.push(test);\n } else {\n this.classifiedTests[test?.mainTestType] = { listing: [], priority: 0 };\n this.classifiedTests[test?.mainTestType].listing = [test];\n this.classifiedTests[test?.mainTestType].priority = this.testPriorityMap[test?.mainTestType];\n }\n });\n this.testCategories = Object.keys(this.classifiedTests).sort((a, b) => {\n return this.classifiedTests[a].priority - this.classifiedTests[b].priority\n });\n setTimeout(() =>{\n $('#course_viewDetail'+course._id).modal('show');\n $(\".modal-backdrop.show\").hide();\n }, 0);\n }\n },\n err => {\n this.isPackageLoading = false;\n this._alert.showErrorMessage(err?.message || 'Something went wrong. Please try again later.');\n })\n )\n }\n dismissModal(){\n $('#course_viewDetail'+this.courseId).modal('hide');\n }\n\n showTestSyllabus(currentTest: any): void {\n this.activeSubscriptions.add(\n this._courseCardService.getTestSyllabusDetails({ testId: currentTest.testId, courseId: currentTest.goalId, packageId: currentTest.packageId, scheduleId: currentTest.scheduleId }).subscribe((res: any) => {\n if (res.code === 200) {\n const syllabus = res?.data?.syllabus;\n const testDetails = res?.data?.testDetails;\n this.syllabusInfo.name = currentTest?.displayName;\n this.syllabusInfo.type = testDetails?.displayTestType;\n this.syllabusInfo.subjectCount = syllabus?.subjects?.length;\n this.syllabusInfo.subjectsSyllabus = [...syllabus?.subjectsSyllabus];\n this.syllabusLevel= this.viewDetailsInfo.CHAPTERS;\n setTimeout(() => $('#syllabus'+this.courseId).modal('show'), 0);\n } else {\n this._alert.showErrorMessage(res.message);\n }\n }, (err: any) => {\n this._alert.showErrorMessage(err.message);\n })\n );\n }\n\n @ViewChildren('chapters') chaptersComponent: ElementRef[];\n @ViewChildren('conceptsCollapse') conceptsCollapseComponent: ElementRef[];\n @ViewChildren('subjects') subjectsComponent: ElementRef[];\n @ViewChildren('chaptersCollapse') chaptersCollapseComponent: ElementRef[];\n get viewDetailsInfo () {\n return DETAILS_INFO_CONST;\n }\n changeSyllabusLevel(level: string): void {\n if (this.syllabusLevel === level) {\n return;\n }\n this.syllabusLevel = level;\n this.chaptersCollapseComponent.forEach((div) => {\n div.nativeElement.classList.add('show');\n });\n this.subjectsComponent.forEach((div) => {\n div.nativeElement.setAttribute('aria-expanded', 'true');\n });\n if (level === this.viewDetailsInfo.CONCEPTS) {\n this.conceptsCollapseComponent.forEach((div) => {\n div.nativeElement.classList.add('show');\n });\n this.chaptersComponent.forEach((div) => {\n div.nativeElement.setAttribute('aria-expanded', 'true');\n });\n return;\n }\n this.conceptsCollapseComponent.forEach((div) => {\n div.nativeElement.classList.remove('show');\n });\n this.chaptersComponent.forEach((div) => {\n div.nativeElement.setAttribute('aria-expanded', 'false');\n });\n } \n}\n","
\n
\n
\n

Courses We Offer

\n
15+ Courses crafted especially to cater your preparation needs
\n
\n \n
\n

All Courses

\n
\n
\n \n

Recommended Study Material & Test Series

\n
Benchmark yourself against more than 700000+ learners worldwide and increase your chances to crack the exam.
\n
\n
\n
\n \n
\n \n
    \n
  • Class {{class.class}}\n
  • \n
\n
\n
\n
\n
\n \"Target\n
\n

{{availableGoals[selectedGoalIndex].name}} {{targetExamYear}}

\n
Exam Date:

\n
\n
\n Exam Information & News\n
\n
\n
\n
\n
\n \"Courses\n

No Courses Found

\n
\n \n
\n \n \n \n
\n \"Most\n
\n \n \n {{targetExam?.name}}-{{targetExam.targetYear}}\n \n \n
{{course?.name}}
\n
\n
{{course?.duration_years}} Year{{course?.duration_years > 1 ? 's' : ''}}\n Course
\n \n \n

{{'₹' + (course?.discountedPrice | number)}}*

\n {{'₹' + (course?.price | number)}}\n
\n
\n \n

Free

\n
\n \n

{{('₹' + (course?.price | number))}}

\n
\n
\n
\n
Validity: {{course?.expiryDate | date}}
\n \n Buy\n Now\n Add\n to Cart\n \n
\n
    \n
  • \"check\"{{info}}
  • \n
\n view Details\n
\n
\n
\n
\n
\n \n
\n
\n \"Most\n
\n \n \n {{targetExam?.name}}-{{targetExam.targetYear}}\n \n \n
{{course?.name}}
\n
\n
{{course?.duration_years}} Year{{course?.duration_years > 1 ? 's' : ''}}\n Course
\n \n \n

{{'₹' + (course?.discountedPrice | number)}}*

\n {{'₹' + (course?.price | number)}}\n
\n
\n \n

Free

\n
\n \n

{{('₹' + (course?.price | number))}}

\n
\n
\n
\n
Validity: {{course?.expiryDate | date}}
\n \n Buy\n Now\n Add\n to Cart\n \n
\n
    \n
  • \"check\"{{info}}
  • \n
\n view Details\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n View All Courses\n
*Inclusive of all taxes
\n
\n \n
**Tentative Dates *Exclusive of all taxes
\n
\n
\n
\n \n \n \n
\n
\n
\n\n\n\n
\n
\n
\n
\n
\n \"Back\"/Back to All Courses\n
\n
\n \n
\n \"CourseCourse Added to Account\n
\n
\n
\n
{{packageData?.name}}
\n
{{packageTargetExams}} | {{packageData?.tests?.length}} Total Test{{packageData?.tests?.length > 1 ? 's' : ''}}
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
{{test?.displayName}}
\n

\n Scheduled on: {{test?.scheduleDate | date: 'dd MMMM YYYY'}}\n Duration: {{test?.duration}} MIN\n

\n
\n
\n Syllabus\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n\n\n \"cartAdd to Cart \n \"BuyBuy Now\n\n\n\n\n
\n
\n
\n \n \n
\n
\n
\n\n\n
\n \"CourseCourse Added to Cart\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { environment } from '../../../environments/environment';\nimport { EBOOKS, TAG_CLICKED } from './ebook.constant';\nimport { Router } from '@angular/router';\n@Component({\n selector: 'app-footer-before-login',\n templateUrl: './footer-before-login.component.html',\n styleUrls: ['./footer-before-login.component.scss']\n})\nexport class FooterBeforeLoginComponent implements OnInit {\n\n constructor(private router: Router) { }\n public isMobile: boolean = false;\n public companyMenu: boolean = false;\n public resourcesMenu: boolean = false;\n public examsMenu: boolean = false;\n public previousPapersMenu: boolean = false;\n public eBooksMenu: boolean = false;\n public toolsMenu: boolean = false;\n public reachUsMenu: boolean = false;\n ngOnInit(): void {\n if (/Android|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)){\n this.isMobile = true;\n }\n }\n public get FOOTERURL(){\n return environment;\n }\n\n public get ebook(){\n return EBOOKS;\n }\n\n redirectToEbooks(ebook){\n this.router.navigate(['/ebooks'],{queryParams:{exam:ebook.examType}});\n }\n\n scrollToTop(event){\n if(event.target.nodeName === TAG_CLICKED.ELEMENT && event?.target?.classList[0] !== TAG_CLICKED.CLASS){\n setTimeout(()=>{\n window.scrollTo(0, 0);\n },100);\n }\n }\n\n}\n","\n\n ","export class UserProfile {\n userId: string;\n name: string;\n userName: string;\n isPasswordSet: any;\n userMobile: string;\n countryCode: string;\n email: string;\n dateOfBirth: string;\n userGoals: any[];\n userClass: any;\n userCareers: any[];\n userLocation: {\n longitute: string;\n latitute: string;\n address: {\n pin: string;\n country: string;\n state: string;\n city: string;\n secondLine: string;\n firstLine: string;\n };\n };\n partner: {\n partnerInstitute: string,\n isPartner: any,\n isVerified: boolean,\n userName: string,\n partnerGoal: any[];\n };\n enrollmentNumber: string;\n webAccessCode: string;\n school: {\n country: any;\n state: any;\n city: any;\n id: string;\n name: string;\n schoolIdUrl: string;\n };\n photoUrlThumb: string;\n photoUrl: string;\n isFollowing: any;\n isFollowed: any;\n packageBought: any[];\n goalDDCount: any;\n tourStatus: any;\n referralCode: any;\n parentAccessToken: any;\n blockData: {\n isBlocked: string;\n blockReason: string;\n endTime: string;\n startTime: string;\n };\n isStepUser: boolean;\n refferedByCode: string;\n orgCentre: any;\n isFiitjee: any;\n isSchool: any;\n mobileIsVerified: boolean;\n emailIsverified: boolean;\n followerCount: number;\n followingCount: number;\n initials: string;\n initialsClass: string;\n userCentres: any;\n fiitjeeEnrollmentNumber: any;\n isNCRPUser: boolean;\n featurePermissions: any;\n isTeacher: boolean;\n isAdmissionTestUser: boolean;\n admissionTestDetail: any;\n hasActivePackage:boolean;\n onSpotRegNo: string;\n fiitjeeFacultyHiring: boolean | string;\n constructor(\n userId?, name?, userName?, userMobile?,countryCode?, email?,dateOfBirth?, userGoals?, userClass?, userCareers?,\n userLocation?, partner?, enrollmentNumber?, webAccessCode?,\n school?, photoUrlThumb?, photoUrl?, isFollowing?, isFollowed?, packageBought?,\n goalDDCount?, isPasswordSet?, tourStatus?, referralCode?, parentAccessToken?,\n remarkData?, refferedByCode?, orgCentre?, isFiitjee?, isSchool?, mobileIsVerified?, emailIsverified?,\n followerCount?, followingCount?, initials?, initialsClass?, userCentres?, fiitjeeEnrollmentNumber?,\n isNCRPUser?, featurePermissions?, isTeacher?, isAdmissionTestUser?, admissionTestDetail?, hasActivePackage?,\n onSpotRegNo?,\n fiitjeeFacultyHiring?\n ) {\n\n this.userId = userId || '';\n this.name = name || '';\n this.userName = userName || '';\n this.userMobile = userMobile || '';\n this.countryCode = countryCode || '';\n this.email = email || '';\n this.dateOfBirth=dateOfBirth || '';\n this.userGoals = userGoals || [];\n this.userClass = userClass || {};\n this.userCareers = userCareers || [];\n this.isPasswordSet = isPasswordSet || false;\n this.userLocation = userLocation || {};\n this.partner = partner || {};\n this.enrollmentNumber = enrollmentNumber || '';\n this.webAccessCode = webAccessCode || '';\n this.isFollowing = isFollowing || false;\n this.isFollowed = isFollowed || false;\n this.school = school || {};\n this.photoUrlThumb = photoUrlThumb || '';\n this.photoUrl = photoUrl || '';\n this.packageBought = packageBought || [];\n this.goalDDCount = goalDDCount || 0;\n this.tourStatus = tourStatus || { assignment: 'pending', dashboard: 'pending', myTest: 'pending' };\n this.referralCode = referralCode || '';\n this.parentAccessToken = parentAccessToken || '';\n this.isStepUser = false;\n this.blockData = remarkData || {};\n this.refferedByCode = refferedByCode || '';\n this.orgCentre = orgCentre || null;\n this.isFiitjee = isFiitjee || false;\n this.isSchool = isSchool || false;\n this.mobileIsVerified = mobileIsVerified || false;\n this.emailIsverified = emailIsverified || false;\n this.followerCount = followerCount || 0;\n this.followingCount = followingCount || 0;\n this.initials = initials || '';\n this.initialsClass = initialsClass || '';\n this.userCentres = userCentres || null;\n this.fiitjeeEnrollmentNumber = fiitjeeEnrollmentNumber || '';\n this.isNCRPUser = isNCRPUser || false;\n this.featurePermissions = featurePermissions || {};\n this.isTeacher = isTeacher || false;\n this.isAdmissionTestUser = isAdmissionTestUser || false;\n this.admissionTestDetail = admissionTestDetail || {};\n this.hasActivePackage = hasActivePackage || false;\n this.onSpotRegNo = onSpotRegNo || '';\n this.fiitjeeFacultyHiring = !!fiitjeeFacultyHiring;\n }\n}\n\n","import { HighlightSearch } from './pipes/highlight-search.pipe';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule, DatePipe } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { HttpClientModule } from '@angular/common/http';\n\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\n\nimport { HttpService } from './services/http.service';\nimport { UtilityService } from './services/utility.service';\nimport { ExtraEdgeService } from './services/extra-edge.service';\nimport { CleverTapService } from './services/clever-tap.service';\nimport { NotificationService } from './services/notification.service';\n\nimport { CaptchaDirective } from './directives/captcha.directive';\n\nimport { LoaderComponent } from './components/loader/loader.component';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { TransferToPaytmComponent } from './components/transfer-to-paytm/transfer-to-paytm.component';\nimport { HeaderAfterLoginComponent } from './components/header-after-login/header-after-login.component';\nimport { ShareReferralPopupComponent } from '../profile/my-cash-card/share-referral-popup/share-referral-popup.component';\nimport { ReportAbuseComponent } from './components/report-abuse/report-abuse.component';\nimport { ConvertSecondsPipe } from './pipes/convert-seconds.pipe';\nimport { OwlModule } from 'ngx-owl-carousel';\nimport { CarouselModule } from 'ngx-owl-carousel-o';\nimport { SeriousAttemptWarningComponent } from './serious-attempt-warning/serious-attempt-warning.component';\nimport { InfoPopupComponent } from './components/info-popup/info-popup.component';\nimport { HomeSearchComponent } from '../home-page/shared/home-search/home-search.component';\nimport { TagCreatorSharedComponent } from './components/tag-creator-shared/tag-creator-shared.component';\nimport { DoneWithRevisionComponent } from './components/done-with-revision/done-with-revision.component';\nimport { PageLockComponent } from './page-lock/page-lock.component';\nimport { ReportAnIssueComponent } from './components/report-an-issue/report-an-issue.component';\nimport { ReportAnIssueIdeaComponent } from './components/report-an-issue-idea/report-an-issue-idea.component';\nimport { SelectedCardLoaderComponent } from '../home-page/shared/selected-card-loader/selected-card-loader.component';\nimport { TestDetailsSyllabusComponent } from './components/test-details-syllabus/test-details-syllabus.component';\nimport { ZoomDirective } from './directives/zoom.directive';\nimport { NotificationComponent } from './components/header-after-login/notification/notification.component';\nimport { ProfileDropdownComponent } from './components/header-after-login/profile-dropdown/profile-dropdown.component';\nimport { LogoutConfirmComponent } from './components/logout-confirm/logout-confirm.component';\nimport { DateDifferencePipe } from './pipes/date-difference.pipe';\nimport { LazyLoadingService } from './services/lazy-loading.service';\nimport { SideFilterListComponent } from '../test-results-analytics/side-filter-list/side-filter-list.component';\nimport { AutoProctorDialogComponent } from '../test/shared/components/auto-proctor-dialog/auto-proctor-dialog.component';\nimport { MultiselectfilterComponent } from '../test-results-analytics/side-filter-list/multiselectfilter/multiselectfilter.component';\nimport { MathliveDirective } from './directives/mathlive.directive';\nimport { MyplanPopupComponent } from './components/myplan-popup/myplan-popup.component';\nimport { LoaderLiteComponent } from './loader-lite/loader-lite.component';\nimport { FreeTrialFormComponent } from './components/form/free-trial-form/free-trial-form.component';\nimport { CoursesWeOfferComponent } from './components/courses-we-offer/courses-we-offer.component';\nimport { OtpVerifyModalComponent } from './components/otp-verify-modal/otp-verify-modal.component';\nimport { TestimonialHomeComponent } from './components/testimonial-home/testimonial-home.component';\nimport { SafePipe } from './pipes/safe.pipe';\nimport { SanitiseHTMLPipe } from './pipes/sanitise-html.pipe';\nimport { DownloadEbookComponent } from '../landing-pages/ebooks/download-ebook/download-ebook.component';\nimport { SocialSignupLoginComponent } from '../auth/signup-login-master/shared/social-signup-login/social-signup-login.component';\nimport { DetectVisibilityDirective } from './directives/detect-visibility.directive';\nimport { PrimaryGoalPopupComponent } from './components/primary-goal-popup/primary-goal-popup.component';\nimport { FreeTrialExpiryComponent } from '../home-page/shared/free-trial-details/free-trial-expiry/free-trial-expiry.component';\nimport { TestFiltersComponent } from '../home-page/shared/test-filters/test-filters.component';\nimport { ApiFailedForCardsComponent } from '../home-page/shared/api-failed-for-cards/api-failed-for-cards.component';\nimport { LockedStateComponent } from '../home-page/shared/locked-state/locked-state.component';\nimport { ProfileUserInfoComponent } from './components/profile-user-info/profile-user-info.component';\nimport { DateFilterComponent } from '../home-page/shared/test-filters/date-filter/date-filter.component';\nimport { AngularMyDatePickerModule } from 'angular-mydatepicker';\n\nexport interface LazyLoadFile {\n url: string;\n type: 'stylesheet' | 'script';\n}\n\nexport class LazyLoadFileImpl implements LazyLoadFile {\n url: string;\n type: 'stylesheet' | 'script';\n constructor(url: string, type: 'stylesheet' | 'script') {\n this.url = url;\n this.type = type;\n }\n}\n\n@NgModule({\n imports: [\n CommonModule, OwlModule, FormsModule, HttpClientModule, InfiniteScrollModule,\n RouterModule, ReactiveFormsModule, CarouselModule, AngularMyDatePickerModule\n ],\n\n declarations: [\n CaptchaDirective,\n ChangePasswordComponent, HeaderAfterLoginComponent, LoaderComponent,\n ShareReferralPopupComponent, TransferToPaytmComponent,\n ReportAbuseComponent, ConvertSecondsPipe, SeriousAttemptWarningComponent,\n HomeSearchComponent, PageLockComponent,\n HighlightSearch,\n NotificationComponent,\n ProfileDropdownComponent,\n LogoutConfirmComponent,\n InfoPopupComponent,\n TagCreatorSharedComponent,\n DoneWithRevisionComponent,\n ReportAnIssueComponent,\n ReportAnIssueIdeaComponent,\n SelectedCardLoaderComponent,\n SideFilterListComponent,\n AutoProctorDialogComponent,\n MultiselectfilterComponent,\n // SafeHtmlPipe\n TestDetailsSyllabusComponent,\n ZoomDirective,\n DateDifferencePipe,\n MathliveDirective,\n MyplanPopupComponent,\n LoaderLiteComponent,\n FreeTrialFormComponent,\n CoursesWeOfferComponent,\n OtpVerifyModalComponent,\n TestimonialHomeComponent,\n SafePipe,\n SanitiseHTMLPipe,\n DownloadEbookComponent,\n SocialSignupLoginComponent,\n DetectVisibilityDirective,\n FreeTrialExpiryComponent,\n TestFiltersComponent,\n ApiFailedForCardsComponent,\n LockedStateComponent,\n PrimaryGoalPopupComponent,\n ProfileUserInfoComponent,\n DateFilterComponent\n ],\n exports: [\n CaptchaDirective,\n LoaderComponent, HeaderAfterLoginComponent,\n ShareReferralPopupComponent, TransferToPaytmComponent,\n ReportAbuseComponent, ConvertSecondsPipe, SeriousAttemptWarningComponent,\n HighlightSearch,\n InfoPopupComponent, HomeSearchComponent,\n TagCreatorSharedComponent, DoneWithRevisionComponent, PageLockComponent,\n ReportAnIssueComponent, ReportAnIssueIdeaComponent,\n SelectedCardLoaderComponent, ZoomDirective,\n CommonModule, OwlModule, FormsModule, HttpClientModule, InfiniteScrollModule,\n RouterModule, ReactiveFormsModule, DateDifferencePipe,\n ChangePasswordComponent, NotificationComponent, ProfileDropdownComponent, LogoutConfirmComponent, SideFilterListComponent, AutoProctorDialogComponent, MultiselectfilterComponent, TestDetailsSyllabusComponent,\n MyplanPopupComponent, MathliveDirective,\n LoaderLiteComponent, FreeTrialFormComponent, CoursesWeOfferComponent, OtpVerifyModalComponent, TestimonialHomeComponent, SafePipe, SanitiseHTMLPipe, DownloadEbookComponent, SocialSignupLoginComponent, DetectVisibilityDirective,\n FreeTrialExpiryComponent,\n TestFiltersComponent,\n ApiFailedForCardsComponent,\n LockedStateComponent,\n PrimaryGoalPopupComponent,\n ],\n providers: [LazyLoadingService, DatePipe, HttpService, CleverTapService, ExtraEdgeService, NotificationService],\n})\nexport class SharedModule { }\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { Store } from '@ngrx/store';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport * as fromApp from '../../../../stores/app.reducers';\nimport * as AuthActions from '../../../../stores/auth/auth.actions';\nimport * as UserProfileActionList from '../../../../stores/profile/user-profile.actions';\nimport * as ProformaActions from '../../../../stores/proforma/proforma.actions';\n\nimport { HttpService } from '../../../../shared/services/http.service';\nimport { AlertService } from '../../../../shared/services/alert.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SignupService {\n public signUpVerified = new BehaviorSubject(false);\n public otpApiError = new BehaviorSubject('');\n public resetCaptcha = new BehaviorSubject(false);\n public isLogOut = false;\n constructor(private http: HttpService,\n private alert: AlertService,\n private store: Store,\n private router: Router\n ) { }\n\n applyReferralCode(value): any {\n return new Promise((resolve, reject) => {\n const apiUrl = 'v4/referral-code/' + value;\n this.http.get(apiUrl, false, null, true).subscribe(res => {\n resolve(res);\n });\n });\n }\n\n forgotPassword(body): any {\n return new Promise((resolve, reject) => {\n const apiUrl = 'v4/forgot-password';\n this.http.post(apiUrl, false, body, true).subscribe(res => {\n if (res.code === 200 || res.code === 404) {\n if (res.code === 200) {\n this.alert.showSuccessMessage(res.message);\n } else if (res.code === 404 && res.message.toLowerCase() === 'user not found') {\n this.alert.showErrorMessage(res.message);\n }\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n verifyOTP(from, body): any {\n let apiUrl = 'v4/verify-forgot-password';\n if (from == 'loginOtp') {\n apiUrl = 'v4/login/verify-otp';\n }\n return new Promise((resolve, reject) => {\n this.http.post(apiUrl, false, body, true).subscribe(res => {\n if (res.code === 200) {\n localStorage.removeItem('lastRequested');\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n resetPassword(body) {\n return new Promise((resolve, reject) => {\n const apiUrl = 'v4/auth/reset-password';\n this.http.post(apiUrl, true, body, true).subscribe(res => {\n this.alert.showSuccessMessage(res.message);\n resolve(res);\n });\n });\n }\n\n login(loginType, body) {\n let apiUrl;\n switch (loginType) {\n case 2:\n apiUrl = 'v4/login';\n break;\n case 1:\n apiUrl = 'v4/enrollment-login';\n }\n return new Promise((resolve, reject) => {\n this.http.post(apiUrl, false, body, true).subscribe(res => {\n if (res.code === 200) {\n resolve(res);\n } else {\n if (res.code === 400 && res.message === 'This mobile is not registered with us. Please Sign Up.') {\n // this.router.navigateByUrl('/auth/sign-up');\n }\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getOrganisation(query) {\n return new Promise((resolve, reject) => {\n let apiUrl = 'v4/organizations';\n const queryString = `?instituteId=${query.instituteId}`;\n apiUrl += queryString;\n this.http.get(apiUrl, false, null, true).subscribe(res => {\n if (res.code === 200) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n sendOtp(body) {\n const apiUrl = 'v4/login/send-otp';\n return new Promise((resolve, reject) => {\n this.http.post(apiUrl, false, body, true).subscribe(res => {\n if (res.code === 200) {\n this.alert.showSuccessMessage(res.message);\n resolve(res);\n } else {\n // if (res.code === 400 && res.message === 'This mobile is not registered with us. Please Sign Up.') {\n // this.router.navigateByUrl('/auth/sign-up');\n // }\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n navigateAfterLogin(data, userTag: string = 'student'): void {\n data.tag = userTag;\n localStorage.removeItem('lastRequested');\n localStorage.setItem('authToken', data.authToken);\n this.store.dispatch(new AuthActions.SetToken(data.authToken));\n this.store.dispatch(new AuthActions.SetAuthentication());\n this.store.dispatch(new UserProfileActionList.GetUserDetail(data));\n }\n\n setAuthData(authToken) {\n this.store.dispatch(new AuthActions.SetToken(authToken));\n this.store.dispatch(new AuthActions.SetAuthentication());\n }\n}\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport * as AuthActions from '../../../stores/auth/auth.actions';\nimport * as fromApp from '../../../stores/app.reducers';\nimport { Store } from '@ngrx/store';\nimport { environment } from 'src/environments/environment';\n@Component({\n selector: 'app-logout-confirm',\n templateUrl: './logout-confirm.component.html',\n styleUrls: ['./logout-confirm.component.scss']\n})\nexport class LogoutConfirmComponent implements OnInit {\n public userData;\n @Output() closeLogoutPopup = new EventEmitter();\n constructor(private store: Store) { }\n\n ngOnInit(): void {\n this.store.select('userProfile').subscribe((userProfile) => {\n this.userData = userProfile.userData;\n });\n }\n\n closeModal(): void {\n this.closeLogoutPopup.emit();\n }\n\n logout(): void {\n this.store.dispatch(new AuthActions.Logout());\n }\n\n}\n","\n
\n
\n
\n \n
\n
\n \"Logout\"/\n

Logout

\n

Are you sure you want to logout?

\n
\n
\n
\n \n \n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport _ from 'lodash';\nimport { AlertService } from 'src/app/shared/services/alert.service';\n\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss']\n})\n\nexport class AlertComponent implements OnInit {\n\n public alertSubscription: Subscription;\n public timeOut: any;\n public alertMessageSuccess = '';\n public alertMessageSuccessSubtitle = '';\n public alertMessageError = '';\n public alertMessageErrorSubtitle = '';\n public alertMessageWarning = '';\n public alertMessageCustom = {\n title: '',\n btn: ''\n };\n public dynamicCustomMessageAlert = '';\n public dynamicMessageClass: string = '';\n public dynamicMessageIcon: string = '';\n\n showMessage(str): void {\n $(`#${str}-alert`).delay(200).alert();\n }\n\n hideMessage(): void {\n this.timeOut = setTimeout(() => {\n $('.alert').fadeOut('slow');\n this.alertMessageSuccess = '';\n this.alertMessageSuccessSubtitle = '';\n this.alertMessageWarning = '';\n this.alertMessageError = '';\n this.dynamicCustomMessageAlert = '';\n this.alertMessageCustom = {\n title: '',\n btn: ''\n };\n }, 100);\n }\n\n constructor(private alertService: AlertService) {\n }\n\n ngOnInit(): void {\n this.alertSubscription = this.alertService.messageChange.subscribe((data) => {\n this.alertMessageErrorSubtitle = '';\n this.alertMessageError = '';\n switch (data.type) {\n case 0:\n if (data?.subtitle) {\n data.subtitle = !(_.isEmpty(data.subtitle)) && data.subtitle.trim();\n data.subtitle = !(_.isEmpty(data.subtitle)) && data.subtitle.charAt(0).toUpperCase() + data.subtitle.slice(1);\n this.alertMessageErrorSubtitle = data.subtitle;\n }\n if (data?.error) {\n data.error = !(_.isEmpty(data.error)) && data.error.trim();\n data.error = !(_.isEmpty(data.error)) && data.error.charAt(0).toUpperCase() + data.error.slice(1);\n }\n this.alertMessageError = data.error;\n this.showMessage('error');\n break;\n case 1:\n if (data.success) {\n data.success = data.success.trim();\n data.success = data.success.charAt(0).toUpperCase() + data.success.slice(1);\n }\n if (data?.subtitle) {\n data.subtitle = !(_.isEmpty(data.subtitle)) && data.subtitle.trim();\n data.subtitle = !(_.isEmpty(data.subtitle)) && data.subtitle.charAt(0).toUpperCase() + data.subtitle.slice(1);\n this.alertMessageSuccessSubtitle = data.subtitle;\n }\n this.alertMessageSuccess = data.success;\n this.showMessage('success');\n break;\n case 2:\n if (data.warning) {\n data.warning = data.warning.trim();\n data.warning = data.warning.charAt(0).toUpperCase() + data.warning.slice(1);\n }\n this.alertMessageWarning = data.warning;\n this.showMessage('warning');\n break;\n case 3:\n if (data.custom) {\n data.custom = !(_.isEmpty(data.custom)) && data.custom.trim();\n data.custom = !(_.isEmpty(data.custom)) && data.custom.charAt(0).toUpperCase() + data.custom.slice(1);\n }\n this.dynamicMessageClass = data.className;\n this.dynamicMessageIcon = data.icon;\n this.dynamicCustomMessageAlert = data.custom;\n this.showMessage('dynamic-custom');\n break;\n case 4:\n if (data.customBtn) {\n data.customBtn = data.customBtn.trim();\n data.customBtn = data.customBtn.charAt(0).toUpperCase() + data.customBtn.slice(1);\n }\n this.alertMessageCustom.title = data.customBtn;\n this.alertMessageCustom.btn = data.btnName;\n this.showMessage('customBtn');\n break;\n case -1:\n this.hideMessage();\n }\n });\n }\n\n undoRevision(): void {\n this.alertService.undoRevisionQuestion.next(true);\n this.hideMessage();\n }\n}\n","\n
\n
\n
\n \n
\n
\n {{alertMessageSuccess}}\n

{{alertMessageSuccessSubtitle}}

\n
\n
\n ×\n
\n
\n
\n\n
\n
\n
\n \n
\n
\n {{alertMessageError}}\n

{{alertMessageErrorSubtitle}}

\n
\n
\n ×\n
\n
\n
\n\n
\n
\n
\n \n
\n
\n {{alertMessageWarning}}\n
\n
\n ×\n
\n
\n
\n\n\n
\n
\n
\n \n
\n
\n {{alertMessageCustom.title}}\n

Question removed from Revision Notebook

\n
\n
\n \n {{alertMessageCustom.btn}}\n
\n
\n
\n\n\n
\n
\n
\n \n
\n
\n {{dynamicCustomMessageAlert}}\n \n
\n
\n ×\n
\n
\n
","import { Injectable } from '@angular/core';\nimport { HttpService } from 'src/app/shared/services/http.service';\nimport { environment } from 'src/environments/environment';\n\n@Injectable({\n providedIn:'root'\n})\nexport class CourseCardService {\n\n constructor(private _http: HttpService) { }\n\n getPackageDetails(pid){\n return this._http.get(`api/v3/open/package/${pid}/details`, false, null, true, false, environment.serverURLv3);\n }\n\n getTestSyllabusDetails (payload: any) {\n let url=`v4/tests/${payload.testId}/details?courseId=${payload.courseId}&packageId=${payload.packageId}`\n if(payload.testId === '0'.repeat(24) && payload.scheduleId){\n url += `&scheduleID=${payload.scheduleId}`\n }\n return this._http.get(url, false, {}, true, false, environment.serverURLv4);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'sanitiseHTML'\n})\nexport class SanitiseHTMLPipe implements PipeTransform {\n constructor(private _sanitizer: DomSanitizer){}\n transform(value) {\n return this._sanitizer.bypassSecurityTrustHtml(value);\n }\n\n}\n","import { Component, OnInit, ViewChild, OnDestroy, Output, EventEmitter } from '@angular/core';\nimport { Store } from '@ngrx/store';\n\nimport { Observable, timer, Subscription } from 'rxjs';\nimport { map, scan, take } from 'rxjs/operators';\n\nimport * as fromApp from 'src/app/stores/app.reducers';\nimport * as AuthActions from 'src/app/stores/auth/auth.actions';\n\nimport { HttpService } from '../../services/http.service';\nimport { AlertService } from './../../services/alert.service';\nimport { UtilityService } from '../../services/utility.service';\nimport { CaptchaDirective } from 'src/app/shared/directives/captcha.directive';\n\n@Component({\n selector: 'app-change-password',\n templateUrl: './change-password.component.html',\n styleUrls: ['./change-password.component.scss']\n})\n\nexport class ChangePasswordComponent implements OnInit, OnDestroy {\n\n @ViewChild(CaptchaDirective) vc: CaptchaDirective;\n @Output() closeChangePass = new EventEmitter();\n\n userData: any;\n isPasswordSet: boolean = true;\n enrollmentNumber: string;\n\n oldPassword = '';\n newPassword = '';\n confirmPassword = '';\n\n displayOldPassword: boolean = false;\n displayNewPassword: boolean = false;\n displayConfirmPassword: boolean = false;\n\n strength = 0;\n\n userMobileOtp = '';\n forgotPasswordClicked = false;\n recoverPasswordViaOtp: boolean = false;\n\n captchaChecked: boolean = false;\n captchaShow: boolean = false;\n showCaptchaError: boolean = false;\n\n countDownTimer$: Observable = null;\n counterLimit: number = 30;\n\n private validators: any = {\n min: false,\n max: false,\n digits: false,\n lower: false,\n upper: false,\n nonWords: false\n };\n\n private responseResolverSubscription$: Subscription;\n\n constructor(\n private httpService: HttpService,\n private utility: UtilityService,\n private alertService: AlertService,\n private store: Store,\n ) { }\n\n ngOnInit(): void {\n this.store.select('userProfile').subscribe((userProfile) => {\n this.userData = userProfile.userData;\n this.isPasswordSet = this.userData.isPasswordSet;\n this.enrollmentNumber = this.userData.enrollmentNumber;\n });\n this.initResponseResolver();\n }\n\n public togglePasswordDisplay(field: FieldTypes) {\n switch (field) {\n case FieldTypes.OLD_PASSWORD:\n this.displayOldPassword = !this.displayOldPassword;\n break;\n case FieldTypes.NEW_PASSSWORD:\n this.displayNewPassword = !this.displayNewPassword;\n break;\n case FieldTypes.CONFIRM_PASSWORD:\n this.displayConfirmPassword = !this.displayConfirmPassword;\n break;\n }\n }\n\n public changePassword() {\n let payload = {\n password: this.newPassword,\n confirmPassword: this.confirmPassword\n };\n if (this.recoverPasswordViaOtp) {\n this.verifyOTP();\n } else {\n payload['oldPassword'] = this.oldPassword;\n this.httpService.put('v4/auth/users/password', true, payload).subscribe((res) => {\n if (res && res.code === 200) {\n this.alertService.showSuccessMessage('Password Changed Successfully.');\n this.closeModalEvent();\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n }\n }\n\n setPassword(): void {\n const payload = {\n password: this.newPassword,\n confirmPassword: this.confirmPassword,\n };\n this.httpService.post('v4/auth/reset-password', true, payload).subscribe((res) => {\n if (res && res.code === 200) {\n this.alertService.showSuccessMessage('Password Set Successfully.');\n this.isPasswordSet = true;\n this.closeModalEvent();\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n }\n\n public forgotPassword() {\n this.forgotPasswordClicked = true;\n this.checkIfCaptchaShow();\n this.initCountDownTimer();\n }\n\n public sendOTP() {\n let token;\n if (this.captchaShow && this.vc) {\n token = this.vc.getResponse();\n }\n const body = {\n captchaToken: token\n };\n this.httpService.post('v4/auth/forgot-password', true, body).subscribe((res) => {\n if (res && res.code === 200) {\n this.forgotPasswordClicked = false;\n this.recoverPasswordViaOtp = true;\n }\n });\n }\n\n verifyOTP(): void {\n const body = {\n device: 'desktop',\n osType: 'web',\n otp: this.userMobileOtp\n };\n this.httpService.post('v4/auth/verify-forgot-password', true, body).subscribe((res) => {\n if (res && res.code === 200) {\n localStorage.setItem('authToken', res.data.authToken);\n sessionStorage.setItem('authToken', res.data.authToken);\n new AuthActions.SetToken(res.data.authToken);\n new AuthActions.SetAuthentication();\n this.setPassword();\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n }\n\n public captchaExpired(): void {\n if (this.vc) {\n this.vc.reset();\n }\n this.captchaChecked = false;\n }\n\n public captchaValidationSuccess(): void {\n this.captchaChecked = true;\n this.showCaptchaError = false;\n this.recoverPasswordViaOtp = true;\n this.initCountDownTimer();\n this.sendOTP();\n }\n\n public checkIfCaptchaShow(): void {\n this.utility.fetchCaptchaDetails().then(res => {\n if (res) {\n if (res && res.code === 200) {\n this.captchaShow = res.data.showCaptcha;\n }\n if (!this.captchaShow) {\n this.recoverPasswordViaOtp = true;\n this.sendOTP();\n }\n }\n });\n }\n\n private initCountDownTimer() {\n this.countDownTimer$ = timer(0, 1000).pipe(\n scan(acc => --acc, this.counterLimit),\n map(acc => acc < 10 ? (`0${acc}`) : acc),\n take(this.counterLimit)\n );\n }\n\n public resendOtp() {\n this.checkIfCaptchaShow();\n this.forgotPasswordClicked = true;\n }\n\n public changePasswordBtnValidator() {\n let condition = this.newPassword === '' || this.confirmPassword !== this.newPassword;\n if (this.recoverPasswordViaOtp) {\n condition = condition || this.userMobileOtp.length !== 4;\n } else {\n condition = condition || this.oldPassword === '' || (this.forgotPasswordClicked && !this.captchaChecked);\n }\n return condition;\n }\n\n private onPasswordChangeSuccess() {\n this.alertService.showSuccessMessage('Your password has been successfully changed!');\n this.oldPassword = '';\n this.newPassword = '';\n this.confirmPassword = '';\n this.userMobileOtp = '';\n this.recoverPasswordViaOtp = false;\n this.isPasswordSet = true;\n }\n\n private onPasswordChangeFailure() {\n if (this.recoverPasswordViaOtp) {\n this.alertService.showErrorMessage('Invalid OTP');\n this.userMobileOtp = '';\n } else {\n this.alertService.showErrorMessage('Incorrect old password. Please retry.');\n this.oldPassword = '';\n }\n }\n\n private initResponseResolver() {\n this.responseResolverSubscription$ = this.utility.changePasswordResolver.subscribe(res => {\n switch (res.type) {\n case 'change-password':\n if (res.success) this.onPasswordChangeSuccess();\n else this.onPasswordChangeFailure();\n break;\n }\n });\n }\n\n public numberOnlyValidator(event: any) {\n const pattern = /^[0-9]*$/;\n if (!pattern.test(event.target.value)) {\n event.target.value = event.target.value.replace(/[^0-9]/g, \"\");\n this.userMobileOtp = event.target.value;\n }\n }\n\n public closeModalEvent() {\n this.captchaExpired();\n this.oldPassword = '';\n this.newPassword = '';\n this.confirmPassword = '';\n this.userMobileOtp = '';\n this.strength = 0;\n this.recoverPasswordViaOtp = false;\n this.countDownTimer$ = null;\n this.closeChangePass.emit();\n }\n\n onPasswordChange(password): void {\n const c = this.getColor(\n this.measureStrength(password)\n );\n this.strength = c;\n }\n\n public measureStrength(pass: string): number {\n let score = 0;\n // award every unique letter until 5 repetitions\n const letters = {};\n // tslint:disable-next-line: prefer-for-of\n for (let i = 0; i < pass.length; i++) {\n letters[pass[i]] = (letters[pass[i]] || 0) + 1;\n score += 5.0 / letters[pass[i]];\n score += letters[pass[i]];\n }\n // bonus points for mixing it up\n const variations = {\n min: pass.length >= 6,\n max: pass.length >= 10,\n digits: /\\d/.test(pass),\n lower: /[a-z]/.test(pass),\n upper: /[A-Z]/.test(pass),\n nonWords: /\\W/.test(pass)\n };\n let variationCount = 0;\n // tslint:disable-next-line: forin\n for (const check in variations) {\n variationCount += variations[check] ? 1 : 0;\n this.validators[check] = variations[check];\n }\n // tslint:disable-next-line: no-string-literal\n if (!variations['min']) {\n variationCount = 0;\n }\n return variationCount;\n }\n\n private getColor(score: number): number {\n let idx = 0;\n if (score === 6) {\n idx = 4;\n } else if (score >= 4) {\n idx = 3;\n } else if (score === 3) {\n idx = 2;\n } else if (score === 2) {\n idx = 1;\n }\n return idx;\n }\n\n getWeak(): any {\n const colorBar = { default: false, weak: false, good: false, average: false, strong: false };\n switch (this.strength) {\n case 0:\n colorBar.default = true;\n break;\n case 1:\n colorBar.weak = true;\n break;\n case 2:\n colorBar.average = true;\n break;\n case 3:\n colorBar.good = true;\n break;\n case 4:\n colorBar.strong = true;\n break;\n default:\n colorBar.default = true;\n }\n return colorBar;\n }\n\n getAverage(): any {\n const colorBar = { default: false, weak: false, good: false, average: false, strong: false };\n switch (this.strength) {\n case 0:\n colorBar.default = true;\n break;\n case 2:\n colorBar.average = true;\n break;\n case 3:\n colorBar.good = true;\n break;\n case 4:\n colorBar.strong = true;\n break;\n default:\n colorBar.default = true;\n }\n return colorBar;\n }\n\n getGood(): any {\n const colorBar = { default: false, weak: false, good: false, average: false, strong: false };\n switch (this.strength) {\n case 0:\n colorBar.default = true;\n break;\n case 3:\n colorBar.good = true;\n break;\n case 4:\n colorBar.strong = true;\n break;\n default:\n colorBar.default = true;\n }\n return colorBar;\n }\n\n getStrong(): any {\n const colorBar = { default: false, weak: false, good: false, average: false, strong: false };\n switch (this.strength) {\n case 0:\n colorBar.default = true;\n break;\n case 4:\n colorBar.strong = true;\n break;\n default:\n colorBar.default = true;\n }\n return colorBar;\n }\n\n ngOnDestroy(): void {\n try {\n this.responseResolverSubscription$.unsubscribe();\n } catch (error) {\n // Do nothing\n }\n }\n}\n\nenum FieldTypes {\n OLD_PASSWORD, NEW_PASSSWORD, CONFIRM_PASSWORD\n}\n","
\n
\n
\n
\n
\n {{ isPasswordSet ? 'Change Password' : 'Set Password' }}\n
\n \n
\n
\n

\n You have not set your password yet. Create a password to easily login, without OTPs or via social login.\n

\n
\n
\n \n
\n \n \n
\n
\n \n
\n
\n
\n \n
\n 00:{{countDownTimer$ | async}}\n
\n
\n Send OTP again\n
\n

\n Please enter the 4-digit OTP sent to your registered mobile/email to reset your password.\n

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

Password does not match!

\n
\n
\n
\n Password should be atleast 6 characters.\n
\n
\n
\n \n \n \n \n
\n

Weak Password

\n

Average Password

\n

Good Password

\n

Strong Password

\n
\n
    \n 0 ? newPassword.length > 10 ? 'strong-text' : 'weak-text' : 'default-text'\">\n A strong password typically contains 10-12 characters\n \n
  • 0 ? strength != 4 ? 'weak-text' : 'strong-text' : 'default-text'\">\n Use a combination of atleast 1 lower case, 1 upper case, 1\n number and 1 special character\n
  • \n 0 ? newPassword === 'password' || newPassword === 'Password' ? 'weak-text' : 'strong-text' : 'default-text'\">\n Do not keep your username or words like “password” as your\n password\n \n
\n
\n\n
\n
\n
\n
\n
\n
\n Please select captcha\n
\n\n
\n
\n
\n \n\n \n
\n
\n
\n
","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute, NavigationCancel, NavigationEnd, NavigationError, RouteConfigLoadEnd, RouteConfigLoadStart, Router, RouterModule } from '@angular/router';\n\nimport { Store } from '@ngrx/store';\n\nimport * as fromApp from './stores/app.reducers';\nimport * as LoaderAction from './stores/loader/loader.actions';\nimport * as UserProfileActions from './stores/profile/user-profile.actions';\nimport { DetectLocationService } from './shared/services/detect-location.service';\nimport * as AuthActions from './stores/auth/auth.actions';\nimport _ from 'lodash';\nimport { concatMap, filter, last, toArray } from 'rxjs/operators';\nimport ClevertapReact from 'clevertap-react';\nimport { LazyLoadingService } from './shared/services/lazy-loading.service';\nimport { LazyLoadFileImpl } from './shared/shared.module';\nimport { environment } from './../environments/environment';\nimport { BrowserGlobalsService } from 'browser-globals';\nimport { GoogleTagManagerService } from 'angular-google-tag-manager';\nimport { UtilityService } from './shared/services/utility.service';\nimport { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { GLiteUtilityService } from './shared/services/g-lite-utility.service';\nimport { BuyCoursesService } from './home-page/cards-detail/right-selected-card/buy-courses/buy-courses.service';\nimport { AlertService } from './shared/services/alert.service';\nimport { Subscription, from } from 'rxjs';\nimport { ROUTES as ON_SPOT_ROUTES } from './on-spot-test/on-spot-test.constants';\nimport { ROUTES } from './shared/constants/route.constant';\nimport { CART_WARNING } from './shared/constants/error.constants';\nimport { Title } from '@angular/platform-browser'\nimport { EDFORA_DOMAIN, EDFORA_QUIZ_DOMAIN, EDFORA_QUIZ_FAVICON, EDFORA_QUIZ_TITLE, EDFORA_QUIZ_URL, EDFORA_QUIZ_URL_STPT_15, FACULTY_RECRUITMENT } from './app.constants';\ndeclare var $: any;\n\ndeclare const gtag: Function; // <------------Important: the declartion for gtag is required!\n\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n providers: [{ provide: 'googleTagManagerId', useValue: environment.gtmId }]\n})\nexport class AppComponent implements OnInit, OnDestroy {\n private baseURLMinimumLength: number = 2;\n title = 'mypat-fe-students';\n public authenticated: boolean = false;\n public showHeader: boolean = false;\n public examPopupDetails: any = [];\n public numberOfPopups: number = 0;\n private originalExamPopupDetails: any = [];\n private activeSubscriptions = new Subscription();\n private routesToShowHeader = [\n \"/home\",\n \"/terms-of-use\",\n \"/privacy-policy\",\n \"/profile\",\n \"/dashboard\",\n \"/refer-and-earn\",\n \"/\",\n \"/community\",\n \"/view-schedule\",\n \"/concept-history\",\n \"/my-revision-plan\",\n \"/about-us\",\n \"/exam-temparament-questions\",\n \"/help\",\n \"/idea\",\n \"/live-classes\",\n \"/copyright\",\n \"/disclaimer\",\n \"/fiitjee-recorded-lectures-privacy-policy\",\n \"/cart\",\n \"/checkout\",\n \"/view-our-results\",\n \"/previous-year-paper-download\",\n \"/scholarship\",\n \"/competitive-exam\",\n \"/exam\",\n \"/ebooks\",\n \"/college-predictor\",\n \"/prep-tracker\",\n \"/all-courses\"\n ];\n private screenWidth: number = 0;\n isRestrictAccess: boolean = false;\n\n constructor(private store: Store,\n private router: Router,\n private route: ActivatedRoute,\n private gtmService: GoogleTagManagerService,\n private detectLocation: DetectLocationService,\n private lazyLoadingService: LazyLoadingService,\n private utilityService: UtilityService,\n @Inject(DOCUMENT) private readonly document: Document,\n private _buyCourses: BuyCoursesService,\n private _gLiteUtilityService: GLiteUtilityService,\n private _alertService: AlertService,\n private titleService: Title,\n ) { \n this.screenWidth = window.innerWidth || this.document.documentElement.clientWidth || this.document.body.clientWidth;\n }\n redirectMobileDevice():void{\n // if (/android/i.test(navigator.userAgent)) {\n // window.location.href = environment['androidURL'];\n // }\n // else if (/iPad|iPhone|iPod/.test(navigator.userAgent)) {\n // window.location.href = environment['iosURL'];\n // } \n }\n\n\n async asyncClevertapInitialize() {\n ClevertapReact.initialize(environment.clevertapId);\n return Promise.resolve()\n }\n async asyncAddGtmToDom() {\n this.gtmService.addGtmToDom();\n return Promise.resolve();\n }\n async asyncPushTag(gtmTag) {\n this.gtmService.pushTag(gtmTag);\n return Promise.resolve();\n }\n async asyncGtmTag() {\n const a = (await import('angular-google-tag-manager')).GoogleTagManagerService;\n this.gtmService = new a(new BrowserGlobalsService, environment.gtmId);\n return Promise.resolve();\n }\n\n async ngOnInit() {\n const hostname = window.location.hostname;\n if (hostname.includes(EDFORA_DOMAIN)) {\n this.setTitleAndFavicon(EDFORA_QUIZ_TITLE, EDFORA_QUIZ_FAVICON);\n this.checkQuizRoutes();\n }\n await this.asyncClevertapInitialize();\n this.activeSubscriptions.add(\n this.utilityService.restrictAccessPopUp.subscribe(res => {\n if (res)\n $(`#restrictmodal`).modal('show');\n })\n );\n this.route.queryParams.subscribe(params => {\n if (!(_.isEmpty(params)) && params['authToken'] && !params['process'] && !this.router.url.includes('community')) {\n localStorage.removeItem('hideMyplanPopup');\n this.store.dispatch(new LoaderAction.SetLoader(true));\n sessionStorage.setItem('authToken', params['authToken']);\n localStorage.setItem('authToken', params['authToken']);\n this.store.dispatch(new AuthActions.SetToken(params['authToken']));\n this.store.dispatch(new AuthActions.SetAuthentication());\n this.store.dispatch(new LoaderAction.SetLoader(false));\n if (params.loginVia && params.loginVia === 'qrcode') {\n localStorage.setItem('attemptIdQRCode', params['attemptId']);\n this.router.navigate(['/cpp-subjective-file-upload']);\n } else if (params.resultData) {\n sessionStorage.setItem('teachersRedirectUrl', params.redirectUrl);\n const resultData = JSON.parse(params.resultData);\n const url = '/test-results' + '/' + resultData.testId + '/' + resultData.attemptId + '/' +\n resultData.testType + '/' + (resultData.testName || resultData.encodedTestName);\n this.router.navigateByUrl(url);\n } else if(params.redirectUrl === 'cart' || params.redirectUrl === 'buyCourse'){\n const { courseId, classId } = params;\n this._buyCourses.addToCart({ courseId:courseId,classId:classId }).subscribe((res: any) => {\n if (res?.code === 200) {\n this._gLiteUtilityService.numberOfItemsInCart.next({ numberOfItemsInCart: this._gLiteUtilityService.cartItems.length });\n this._alertService.showSuccessMessage(res.message);\n } else {\n this._alertService.showErrorMessage(res.message);\n }\n if(params.redirectUrl === 'cart'){\n this.router.navigate(['/cart']);\n }else{\n this.router.navigate(['home/buy-course']);\n }\n })\n } else {\n if (!(params?.isAdmissionTestUser === 'true')) {\n this.router.navigate(['/home']);\n }\n }\n }\n });\n this.activeSubscriptions.add(\n this.store.select(\"userProfile\")\n .pipe(filter((data) => !!data?.userData?.userId))\n .subscribe((data) => {\n // if (this.screenWidth <= 767 && !data?.userData?.isAdmissionTestUser) {\n // this.redirectMobileDevice();\n // }\n })\n );\n let currentUrl = ['https://quiz.mypat.in/', 'https://quiz.mypat.in', 'https://quiz.edfora.com',\n 'https://facultyrecruitment-test.edfora.com', 'https://facultyrecruitment.edfora.com'];\n this.router.events.pipe(\n filter(event => event instanceof NavigationEnd)\n ).subscribe(async (event: NavigationEnd) => {\n const gtmTag: any = {\n event: 'page_view',\n pageName: window.location.href,\n page_path: window.location.href,\n pagePath: window.location.href,\n };\n if (window.localStorage.getItem('enrollmentNo')) {\n gtmTag.userId = window.localStorage.getItem('enrollmentNo');\n }\n if(currentUrl.includes(window.location.href)){\n this.router.navigate(['quiz']);\n } else if (!window.location.href.includes('/quiz')) {\n await this.asyncPushTag(gtmTag);\n }\n })\n if (!currentUrl.includes(window.location.href) && !window.location.href.includes('/quiz')) {\n await this.asyncAddGtmToDom();\n }\n localStorage.removeItem('checkedConceptHistory');\n localStorage.removeItem('clickedConceptHistory');\n this.store.select('auth').subscribe((data) => {\n if (data.authenticated && (localStorage.getItem('authToken') || sessionStorage.getItem('authToken'))) {\n const courseAdded = JSON.parse(localStorage.getItem('userCart')) || [];\n if (courseAdded?.length) {\n setTimeout(() => {\n this.addCourseToCart(courseAdded);\n }, 200);\n }\n this.authenticated = data.authenticated;\n const payload = {\n fromScreen: 'refresh',\n authToken: localStorage.getItem('authToken') || sessionStorage.getItem('authToken'),\n tag: ''\n };\n if (window.location.href.includes('teacher-proforma') || window.location.href.includes('parent-proforma')) {\n if (window.location.href.includes('goal-setting')) {\n payload.tag = (window.location.href.includes('teacher-proforma') ? 'teacher' : 'parent')\n // setTimeout(() => {\n this.store.dispatch(new UserProfileActions.GetUserDetail(payload));\n // }, 500);\n }\n } else {\n // setTimeout(() => {\n this.store.dispatch(new UserProfileActions.GetUserDetail(payload));\n // }, 500);\n }\n } else {\n this.authenticated = false;\n }\n });\n this.router.events.subscribe((event) => {\n if (event instanceof RouteConfigLoadStart) {\n this.store.dispatch(new LoaderAction.SetLoader(true));\n } else if (event instanceof RouteConfigLoadEnd) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n } else if (event instanceof NavigationEnd) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.checkHeaderCondition(event);\n this.checkFooterCondition(event);\n // if (this.detectLocation.isFiitjeeDomain()) {\n // this.router.navigate(['/auth/sign-in']);\n // }\n } else if (event instanceof NavigationCancel) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.checkHeaderCondition(event);\n this.checkFooterCondition(event);\n } else if (event instanceof NavigationError) {\n if (this.authenticated) {\n this.router.navigate([ON_SPOT_ROUTES.ON_SPOT]);\n }\n }\n });\n if (!hostname.includes(EDFORA_DOMAIN)) {\n // this.detectLocation.getMyCurrentLocation();\n }\n this.activeSubscriptions.add(\n this.utilityService.showApplicationSurveyPopup.subscribe((isB2C: boolean) => {\n isB2C && this.updateExamPopupDetails();\n })\n );\n }\n\n private checkQuizRoutes() {\n this.activeSubscriptions.add(\n this.router.events.subscribe(event => {\n if (event instanceof NavigationEnd) {\n const hostname = window.location.hostname;\n const currentUrl = event.urlAfterRedirects;\n if (hostname?.includes(FACULTY_RECRUITMENT) && !currentUrl.includes('/quiz')) {\n this.router.navigate(['quiz/facultyrecruitment']);\n } else if (!currentUrl.includes('/quiz')) {\n this.router.navigate([EDFORA_QUIZ_URL_STPT_15]); // Default URL open 15 sept quiz\n }\n }\n })\n );\n }\n private setTitleAndFavicon(title: string, faviconUrl: string) {\n this.titleService.setTitle(title);\n const link: HTMLLinkElement = document.querySelector(\"link[rel*='icon']\") || document.createElement('link');\n link.type = 'image/x-icon';\n link.rel = 'shortcut icon';\n link.href = faviconUrl;\n document.getElementsByTagName('head')[0].appendChild(link);\n }\n\n addCourseToCart(courses) {\n this._alertService.showWarningMessage(CART_WARNING.MESSAGE);\n this.activeSubscriptions.add(from(courses).pipe(\n concatMap(course => this._buyCourses.addToCart({ courseId: course['_id'], classId: course['class']?._id || 'null' })), toArray(), last()\n ).subscribe( res => {\n localStorage.removeItem('userCart');\n this.activeSubscriptions.add(\n this.store.select(\"userProfile\").subscribe((userInfo) => {\n const redirectUrl = localStorage.getItem('redirectUrl');\n if(userInfo['userData']['userGoals'].length && redirectUrl){\n localStorage.removeItem('redirectUrl');\n this.router.navigateByUrl(redirectUrl);\n }\n })\n );\n }\n ));\n }\n\n checkHeaderCondition(event): void {\n const baseUrl = this.getBaseUrl(event.url);\n this.showHeader = this.routesToShowHeader.includes(baseUrl);\n }\n\n getBaseUrl(url: string): string {\n let urlData = url.split('?')[0].split('/');\n if (urlData.length >= this.baseURLMinimumLength) {\n url = '/' + urlData[1];\n }\n return url;\n }\n\n\n checkFooterCondition(event): void {\n\n }\n\n updateExamPopupDetails(): void {\n this.utilityService.getExamPopupDetails().subscribe((data: any) => {\n if (data?.data?.popUps) {\n this.originalExamPopupDetails = [...data.data.popUps];\n this.filterExamPopDetails();\n }\n });\n }\n\n filterExamPopDetails() {\n this.examPopupDetails = [... this.originalExamPopupDetails];\n this.numberOfPopups = this.examPopupDetails.length;\n }\n\n ngOnDestroy(): void {\n this.activeSubscriptions.unsubscribe();\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n
\n
\n
\n
\n
\n \"Restrict\n

Access Restricted

\n
\n

\n Your access to myPAT® has been restricted. Please provide the details requested on your email to restore access.\n

\n
\n
\n
\n
\n\n \n\n\n\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Observable, BehaviorSubject, throwError } from 'rxjs';\nimport { environment } from '../../../environments/environment';\nimport { Router } from '@angular/router';\nimport { catchError, map, timeout } from 'rxjs/operators';\nimport { AlertService } from './alert.service';\nimport { Store } from '@ngrx/store';\nimport * as fromApp from '../../stores/app.reducers';\nimport * as LoaderAction from '../../stores/loader/loader.actions';\nimport * as AuthActions from '../../stores/auth/auth.actions';\n\ndeclare var $: any;\n@Injectable({\n providedIn: 'root'\n})\nexport class HttpService {\n public serverName = environment.serverURLv4;\n url: string;\n accessToken1: Observable;\n accessToken: string;\n authenticated;\n selectedGoal;\n public timeoutVar: any;\n promise: Promise;\n public apiFailedForHomeCards = new BehaviorSubject(null);\n public finishingSubjective = new BehaviorSubject(null);\n constructor(\n private httpService: HttpClient, private router: Router, private alert: AlertService,\n private store: Store) {\n this.store.select('auth').subscribe((data) => {\n this.accessToken = 'JWT ' + data.token;\n this.authenticated = data.authenticated;\n });\n }\n\n public get authToken(){\n return localStorage.getItem('fiitjeeToken');\n }\n\n parseServerError(error): string {\n this.finishingSubjective.subscribe((res) => {\n if (res && res.finishing === 'true') {\n this.finishingSubjective.next({'finishing' : 'networkError'});\n }\n });\n try {\n // error = error.json();\n const message = error.message || 'Something went wrong! Please try again.';\n return message;\n } catch (e) {\n return 'Something went wrong.';\n }\n }\n\n handleError = (error: any): Observable => {\n try {\n let errormsg;\n if (error.url.includes('v4/auth/my-plan/syllabus') || error.url.includes('v4/auth/users/courses')) {\n this.apiFailedForHomeCards.next(true);\n }\n this.store.dispatch(new LoaderAction.SetLoader(false));\n switch (error.status) {\n case 400:\n case 401:\n // Unauthorised\n $('#logoutModal').modal('hide');\n $('.modal-backdrop').remove();\n $('body').removeClass('modal-open');\n this.store.dispatch(new AuthActions.SetToken(''));\n errormsg = this.parseServerError(error.error);\n this.alert.showErrorMessage(this.parseServerError(error.error));\n // tslint:disable-next-line: deprecation\n localStorage.clear();\n sessionStorage.clear();\n try {\n (window as any)?.ReactNativeWebView?.postMessage('logout');\n } catch (error) {\n console.log(error?.error);\n }\n this.router.navigate(['/']);\n return throwError(errormsg);\n case 404: {\n this.alert.showErrorMessage(this.parseServerError(error.error));\n // tslint:disable-next-line: deprecation\n return throwError('Server error');\n }\n case 500:\n if (error && error.error && error.error.message === 'jwt must be provided') {\n this.store.dispatch(new AuthActions.SetToken(''));\n localStorage.clear();\n sessionStorage.clear();\n this.router.navigate(['/']);\n } else {\n this.alert.showErrorMessage(this.parseServerError(error.error));\n }\n // tslint:disable-next-line: deprecation\n return throwError('Server error');\n\n default:\n errormsg = this.parseServerError(error);\n // tslint:disable-next-line: deprecation\n return throwError(error.message || errormsg);\n }\n } catch (e) {\n // tslint:disable-next-line: deprecation\n return throwError(e);\n }\n }\n\n // Get Method - Start\n get(apiName: string, isAuth?: any, params?: any, loader?, isGoal?, hostname?: any, isFiitjeeQuiz?: boolean): Observable {\n this.url = (hostname ? hostname : this.serverName) + apiName;\n if (isAuth && !this.authToken) {\n this.isLoginRequire();\n }\n if (!navigator.onLine) {\n this.alert.showErrorMessage('Please check your internet connection');\n return throwError('Please check your internet connection');\n }\n if (loader === undefined || loader) {\n this.store.dispatch(new LoaderAction.SetLoader(true));\n }\n // This code will add access token\n // tslint:disable-next-line: deprecation\n let headers;\n if (isAuth) {\n if (apiName.includes('goal-levels-history')) {\n headers = new HttpHeaders().set('Authorization', 'Bearer ' + localStorage.getItem('authToken')); \n } else if(isFiitjeeQuiz){\n headers = new HttpHeaders().set('Authorization', this.authToken);\n } else {\n headers = new HttpHeaders().set('Authorization', this.accessToken);\n }\n headers = headers.append('Content-Type', 'application/json');\n } else {\n headers = new HttpHeaders().set('Content-Type', 'application/json');\n }\n // handle parameters\n if (params) {\n if (isGoal) {\n params.goalId = this.selectedGoal?.courseId;\n params.goalName = this.selectedGoal?.name;\n }\n } else if (isGoal) {\n let param: any;\n param = {\n goalId: this.selectedGoal.courseId\n };\n }\n\n let paramsToBePassed = new HttpParams();\n for (const p in params) {\n if (p) {\n paramsToBePassed = paramsToBePassed.append(p, params[p]);\n }\n }\n const options = {\n params: paramsToBePassed,\n headers\n };\n\n // Create a request option\n return this.httpService.get(this.url, options).pipe(\n map((res: Response) => {\n if (loader === undefined || loader) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n }\n return res;\n }),\n catchError(this.handleError)\n );\n // ...errors if any\n }\n // Get Method - End\n\n // Post Method - Start\n post(apiName: string, isAuth?: any, body?: any, loader?, showAlert?, isGoal?, serverURL?, isFiitjeeQuiz?: boolean): Observable {\n this.url = (serverURL ? serverURL : this.serverName) + apiName;\n if (isAuth && !this.authToken) {\n this.isLoginRequire();\n }\n if (isGoal) {\n body.goalId = this.selectedGoal.courseId;\n body.goalName = this.selectedGoal.name;\n }\n if (environment.name === 'staging') {\n this.timeoutVar = 500000;\n } else {\n this.timeoutVar = 30000;\n }\n if (!navigator.onLine) {\n this.alert.showErrorMessage('Please check your internet connection');\n return throwError('Please check your internet connection');\n }\n if (loader === undefined || loader) {\n this.store.dispatch(new LoaderAction.SetLoader(true));\n }\n let headers;\n if (isAuth) {\n if (apiName.includes('goal-levels-history')) {\n headers = new HttpHeaders().set('Authorization', 'Bearer ' + localStorage.getItem('authToken')); \n } else if(isFiitjeeQuiz){\n headers = new HttpHeaders().set('Authorization', this.authToken);\n } else {\n headers = new HttpHeaders().set('Authorization', this.accessToken);\n }\n headers = headers.append('Content-Type', 'application/json');\n } else {\n headers = new HttpHeaders().set('Content-Type', 'application/json');\n }\n // This code will add access token\n return this.httpService.post(this.url, JSON.stringify(body), { headers }).pipe(\n map(\n (res: Response) => {\n if (loader === undefined || loader) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n }\n return res;\n }\n\n ),\n timeout(this.timeoutVar),\n catchError(this.handleError)\n );\n }\n // Post Method - End\n\n // Post Upload File Method - Start\n postUploadFile(dataToSend, imageData,fileName?): any {\n const formData: FormData = new FormData();\n formData.append('key', dataToSend.fields.key.toString());\n formData.append('bucket', dataToSend.fields.bucket.toString());\n formData.append('acl', 'public-read');\n formData.append('X-Amz-Algorithm', dataToSend.fields['X-Amz-Algorithm']);\n formData.append('X-Amz-Credential', dataToSend.fields['X-Amz-Credential']);\n formData.append('X-Amz-Date', dataToSend.fields['X-Amz-Date']);\n // tslint:disable-next-line: no-string-literal\n formData.append('Policy', dataToSend.fields['Policy']);\n formData.append('X-Amz-Signature', dataToSend.fields['X-Amz-Signature']);\n if(fileName){\n formData.append('file', imageData, fileName);\n }\n else{\n formData.append('file', imageData, imageData.name);\n }\n\n this.store.dispatch(new LoaderAction.SetLoader(true));\n const options = {\n headers: new HttpHeaders({\n Accept: 'application/json',\n }),\n observe: 'response' as 'body' // this is for viewing complete response in case on HTTPClient\n };\n return this.httpService.post(dataToSend.url, formData, options).pipe(\n map(\n (res: Response) => {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n return res;\n }\n ),\n // timeout(this.timeoutVar),\n catchError(this.handleError)\n );\n }\n // Post Upload File Method - End\n // Put Method - Start\n put(apiName: string, isAuth?: any, body?: any, loader?, hostname?, isFiitjeeQuiz?: boolean): Observable {\n // this.url = this.serverName + apiName;\n this.url = (hostname ? hostname : this.serverName) + apiName;\n if (isAuth && !this.authToken) {\n this.isLoginRequire();\n }\n if (!navigator.onLine) {\n return throwError('Please check your internet connection');\n }\n if (loader === undefined || loader) {\n this.store.dispatch(new LoaderAction.SetLoader(true));\n }\n let headers;\n if (isFiitjeeQuiz) {\n headers = new HttpHeaders().set('Authorization', this.authToken);\n headers = headers.append('Content-Type', 'application/json');\n } else if (isAuth) {\n headers = new HttpHeaders().set('Authorization', this.accessToken);\n headers = headers.append('Content-Type', 'application/json');\n }else {\n headers = new HttpHeaders().set('Content-Type', 'application/json');\n }\n return this.httpService.put(this.url, JSON.stringify(body), { headers }).pipe(\n map((res: Response) => {\n if (loader === undefined || loader) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n }\n return res;\n }\n ),\n catchError(this.handleError)\n );\n }\n // Put Method - End\n\n\n\n // Patch Method - Start\n patch(apiName: string, isAuth?: any, body?: any, loader?, hostname?, isFiitjeeQuiz?: boolean): Observable {\n this.url = (hostname ? hostname : this.serverName) + apiName;\n if (isAuth && !this.authToken) {\n this.isLoginRequire();\n }\n if (!navigator.onLine) {\n return throwError('Please check your internet connection');\n }\n if (loader === undefined || loader) {\n this.store.dispatch(new LoaderAction.SetLoader(true));\n }\n let headers;\n if (isFiitjeeQuiz) {\n headers = new HttpHeaders().set('Authorization', this.authToken);\n headers = headers.append('Content-Type', 'application/json');\n } else if (isAuth) {\n if (apiName.includes('users/courses') || apiName.includes('/study-materials') ) {\n headers = new HttpHeaders().set('Authorization', 'Bearer ' + localStorage.getItem('authToken')); \n } else {\n headers = new HttpHeaders().set('Authorization', this.accessToken);\n }\n headers = headers.append('Content-Type', 'application/json');\n } else {\n headers = new HttpHeaders().set('Content-Type', 'application/json');\n }\n return this.httpService.patch(this.url, JSON.stringify(body), { headers }).pipe(\n map((res: Response) => {\n if (loader === undefined || loader) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n }\n return res;\n }\n ),\n catchError(this.handleError)\n );\n }\n // patch Method - End\n // Delete Method - Start\n delete(apiName: string, params?, loader?, serverURL?): Observable {\n this.isLoginRequire();\n this.url = (serverURL ? serverURL : this.serverName) + apiName;\n if (!navigator.onLine) {\n this.alert.showErrorMessage('Please check your internet connection');\n return throwError('Please check your internet connection');\n }\n // This code will add access token\n if (loader === undefined || loader) {\n this.store.dispatch(new LoaderAction.SetLoader(true));\n }\n const options = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Authorization: this.accessToken,\n }),\n body: params\n };\n // Create a request option\n return this.httpService.delete(this.url, options).pipe(\n map(\n (res: Response) => {\n if (loader === undefined || loader) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n }\n return res;\n }\n )\n );\n }\n // Delete Method - End\n\n isLoginRequire(isFiitjeeQuiz?: boolean): void {\n if (!(localStorage.getItem('authToken') || sessionStorage.getItem('authToken')) && !this.authenticated &&\n localStorage.getItem('loggedOut') !== 'true') {\n // if (!this.authenticated) {\n // localStorage.setItem('lastRequested', this.router.url);\n // localStorage.setItem('previousUrl', this.router.url);\n // if (!this.detectLocationService.isFiitjeeDomain()) {\n // this.router.navigateByUrl('auth/sign-in');\n // } else {\n this.router.navigateByUrl('/');\n // }\n }\n // else {\n // this.store.dispatch(new LoaderAction.SetLoader(false));\n // }\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output, HostListener, ViewChild, ElementRef, SimpleChanges, Inject } from '@angular/core';\n\nimport { Options } from 'ng5-slider';\n\ndeclare const $: any;\n\nimport { HttpService } from 'src/app/shared/services/http.service';\nimport { AssignedTestsService } from '../../services/assigned-tests.service';\nimport { UpcomingTestsService } from '../../services/upcoming-tests.service';\nimport { UtilityService } from './../../../new-community/shared/utility.service';\nimport { DOCUMENT } from '@angular/common';\n\n@Component({\n selector: 'app-test-filters',\n templateUrl: './test-filters.component.html',\n styleUrls: ['./test-filters.component.scss']\n})\n\nexport class TestFiltersComponent implements OnInit {\n\n @Input() filters: any;\n @Input() cardName: string;\n @Output() appliedFilters = new EventEmitter();\n\n selectedFilters: any = [];\n filtersList = [];\n resetButtonClicked = false;\n defaultFilters: any = []\n\n public syllabusSearchQuery: string = '';\n public isSyllabusLoading: boolean = false;\n public syllabus: any[] = [];\n public selectedSyllabus: any[] = [];\n public isSyllabusSearchFocussed: boolean = false;\n\n @ViewChild(\"syllabusSearchRef\") syllabusSearchRef: ElementRef;\n @ViewChild(\"syllabusDropdownRef\") syllabusDropdownRef: ElementRef;\n\n public sliderValue: number = 1;\n public sliderOptions: Options = {\n showTicks: true,\n showTicksValues: false,\n stepsArray: []\n };\n public projectedRankRange = {\n min: '',\n max: '',\n };\n\n constructor(\n private utilityService: UtilityService,\n private httpService: HttpService,\n private assignedTestService: AssignedTestsService,\n private upcomingTestService: UpcomingTestsService,\n @Inject(DOCUMENT) private document: Document,\n private elementRef: ElementRef,\n ) { }\n\n ngOnInit(): void {\n if (this.cardName === 'testHistory') {\n document.getElementById('scrollDiv').classList.add('filterScrollTestHistory')\n } else {\n document.getElementById('scrollDiv').classList.add('filterScroll')\n }\n this.filtersList = JSON.parse(JSON.stringify(this.filters));\n this.loadSliderInfo();\n if (this.cardName === 'upcomingTest') {\n this.selectedFilters = [];\n this.defaultFilters = [];\n this.defaultFilters = JSON.parse(localStorage.getItem('upcomingTestAppliedFilters'));\n this.filtersList.forEach(filter => {\n if (filter.values.filter(obj => obj.isSelected === true).length > 0) {\n this.selectedFilters.push(filter);\n }\n });\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.filtersList = JSON.parse(JSON.stringify(changes.filters.currentValue));\n this.selectedFilters.forEach((filter) => {\n if (filter.key === 'questionDifficulty'){\n let i = 0;\n this.filtersList.forEach(list => {\n if (list.key === 'questionDifficulty'){ \n this.filtersList[i] = filter;\n }\n i++;\n });\n }\n })\n if (this.cardName === 'upcomingTest') {\n this.selectedFilters = [];\n this.defaultFilters = [];\n this.defaultFilters = JSON.parse(localStorage.getItem('upcomingTestAppliedFilters'));\n this.filtersList.forEach(filter => {\n if (filter.values.filter(obj => obj.isSelected === true).length > 0) {\n this.selectedFilters.push(filter);\n }\n if (filter.type === 'date'){\n for (let i = 0; i < filter.values.length; i++) {\n if (!filter.values[i].isSelected){\n filter.values[i].value = '';\n }\n }\n }\n });\n }\n }\n\n loadSliderInfo() {\n let sheet = document.createElement('style'),\n $rangeInput = $('.range input'),\n prefs = ['webkit-slider-runnable-track', 'moz-range-track', 'ms-track'];\n document.body.appendChild(sheet);\n let getTrackStyle = function (el) {\n let curVal = el.value,\n val = (curVal - 1) * 16.666666667,\n style = '';\n // Set active label\n $('.range-labels li').removeClass('active selected');\n\n let curLabel = $('.range-labels').find('li:nth-child(' + curVal + ')');\n\n curLabel.addClass('active selected');\n curLabel.prevAll().addClass('selected');\n\n // Change background gradient\n for (let i = 0; i < prefs.length; i++) {\n style += '.range {background: linear-gradient(to right, #37adbf 0%, #37adbf ' + val + '%, #fff ' + val + '%, #fff 100%)}';\n style += '.range input::-' + prefs[i] + '{background: linear-gradient(to right, #37adbf 0%, #37adbf ' + val + '%, #b2b2b2 ' + val + '%, #b2b2b2 100%)}';\n }\n return style;\n }\n $rangeInput.on('input', function () {\n sheet.textContent = getTrackStyle(this);\n });\n // Change input value on label click\n $('.range-labels li').on('click', function () {\n let index = $(this).index();\n\n $rangeInput.val(index + 1).trigger('input');\n\n });\n }\n\n handleFilterClose() {\n // For Filter Scroll\n this.cardName === 'assignedTest' ? this.assignedTestService.initializeFilter.next(true) : this.cardName === 'upcomingTest' ? this.upcomingTestService.initializeFilter.next(true) : null;\n this.callJqueryForFilterClose();\n //this.appliedFilters.emit(null);\n this.filtersList = JSON.parse(JSON.stringify(this.filters));\n this.selectedFilters = [];\n this.filtersList.forEach(filter => {\n if (filter.values.filter(obj => obj.isSelected === true).length > 0) {\n this.selectedFilters.push(filter);\n }\n });\n }\n\n callJqueryForFilterClose() {\n this.document.querySelector('.filterContainer')?.classList.remove('animateFilter');\n this.elementRef.nativeElement.querySelector('.overlayFilter').style.display = 'none';\n this.document.querySelector('body').style.overflow = '';\n this.document.querySelector('body').style.height = '';\n this.ngOnDestroy();\n }\n\n checkSelectedFilters() {\n let flag = false;\n this.selectedFilters.forEach(filter => {\n const x = this.defaultFilters.find(obj => obj.key === filter.key);\n filter.values.forEach(value => {\n const defaultValue = x.values.find(obj => obj.key === value.key);\n if ((defaultValue.isSelected !== value.isSelected) || defaultValue.value !== value.value) {\n flag = true;\n }\n });\n });\n if (flag) {\n return false;\n } else {\n return true;\n }\n }\n\n applyCheckedFilter(filter, data) {\n this.resetButtonClicked = false;\n filter.values.map((a) => {\n if (a.displayName === data.displayName) {\n a.isSelected = !a.isSelected;\n }\n });\n if (this.selectedFilters.length > 0) {\n let flag = false;\n this.selectedFilters.forEach(filterData => {\n if (filterData.key === filter.key) {\n flag = true;\n filterData.values = filter.values;\n }\n });\n if (!flag) {\n this.selectedFilters.push(filter);\n }\n } else {\n this.selectedFilters.push(filter);\n }\n if (this.cardName === 'testHistory' && filter.key === 'goal') {\n this.computeRankSliderOptions();\n }\n }\n\n getSelectedFilterInfo(data): boolean {\n let selectedObjs = data.values.filter(obj => obj.isSelected === true);\n if (selectedObjs.length > 0) {\n return true;\n } else {\n return false;\n }\n }\n\n dateInfo(data) {\n this.resetButtonClicked = false;\n if (!data.values[0].value || !data.values[1].value || !data.values[0].isSelected || !data.values[1].isSelected){ //condition to remove the date from selectedfilterobj\n let i = 0;\n this.selectedFilters.forEach(filterData => {\n if (filterData.key === data.key) {\n this.selectedFilters.splice(i, 1);\n }\n i++;\n });\n return;\n }\n \n if (this.selectedFilters.length > 0 && (data.values[0].value < data.values[1].value)) {\n let flag = false;\n this.selectedFilters.forEach(filterData => {\n if (filterData.key === data.key) {\n flag = true;\n filterData.values = data.values;\n filterData.isSelected = data.isSelected;\n }\n });\n if (!flag) {\n this.selectedFilters.push(data);\n }\n } else {\n this.selectedFilters.push(data);\n }\n }\n\n applyFilters() {\n if (this.resetButtonClicked) {\n localStorage.setItem('upcomingTestAppliedFilters', localStorage.getItem('upcomingTestDefaultFilter'));\n this.resetButtonClicked = false;\n }\n // For Filter Scroll\n this.cardName === 'assignedTest' ? this.assignedTestService.initializeFilter.next(true) : this.cardName === 'upcomingTest' ? this.upcomingTestService.initializeFilter.next(true) : null;\n this.callJqueryForFilterClose();\n this.appliedFilters.emit(this.selectedFilters);\n }\n\n resetSelection() {\n this.selectedFilters = [];\n this.filtersList = JSON.parse(JSON.stringify(this.filters.slice()));\n }\n\n resetFilters() {\n this.resetButtonClicked = true;\n if (this.cardName !== 'upcomingTest') {\n this.selectedFilters = [];\n this.filtersList.forEach(filter => {\n if (filter.type === 'checkbox' || filter.type === 'date') {\n filter.values.forEach(filterData => {\n filterData['isSelected'] = false;\n });\n }\n\n if (filter.type === 'date') {\n filter.values.forEach(filterData => {\n delete filterData.singleDate;\n filterData.value = '';\n });\n }\n\n // Reset Performance and question difficulty\n if (filter.key === 'performance' || filter.key === 'questionDifficulty') {\n filter.values.forEach(filterData => {\n filterData['isSelected'] = false;\n filterData['value'] = 0;\n });\n }\n });\n this.syllabusSearchQuery = '';\n this.selectedSyllabus = [];\n } else {\n this.selectedFilters = [];\n this.filtersList = JSON.parse(localStorage.getItem('upcomingTestDefaultFilter'));\n this.filtersList.forEach(filter => {\n if (filter.values.filter(obj => obj.isSelected === true).length > 0) {\n this.selectedFilters.push(filter);\n }\n });\n }\n }\n\n public handleSyllabusSearchEvent = this.utilityService.debounce(() => {\n this.isSyllabusLoading = true;\n this.fetchSyllabus();\n }, 350);\n\n public fetchSyllabus() {\n if (this.syllabusSearchQuery.length < 3) {\n this.syllabus = [];\n this.isSyllabusLoading = false;\n return;\n }\n\n const types = ['concept', 'chapter'];\n this.httpService.get(\n `v4/auth/syllabus?types=${types.join(',')}&searchQuery=${this.syllabusSearchQuery}`,\n true,\n ).subscribe(res => {\n if (res.code === 200) {\n this.syllabus = res.data.syllabusData;\n }\n this.isSyllabusLoading = false;\n });\n }\n\n public capitalizeFirstLetter(str: string) {\n const result = `${str.slice(0, 1).toUpperCase()}${str.slice(1)}`;\n return result;\n }\n\n public setSyllabusSearchFocusMode(mode: boolean) {\n setTimeout(() => this.isSyllabusSearchFocussed = mode, 30);\n }\n\n public handleSyllabusAdd(syllabus) {\n const exists = this.selectedSyllabus.find((item) => item.id === syllabus.id);\n if (!exists) {\n this.selectedSyllabus.push(syllabus);\n }\n this.setSyllabusSearchFocusMode(false);\n this.applySyllabusFilter();\n }\n\n public handleSyllabusRemove(index) {\n this.selectedSyllabus = this.selectedSyllabus.filter((_, i) => i !== index);\n this.applySyllabusFilter();\n }\n\n private applySyllabusFilter() {\n this.selectedFilters = this.selectedFilters.filter((item: any) => item.key !== 'searchby');\n const payload = {\n key: \"searchby\",\n type: \"textbox\",\n displayName: \"Search\",\n isLocked: false,\n values: this.selectedSyllabus.map(({ id, name, type }: any) => ({\n key: id,\n displayName: name,\n searchBy: type,\n isSelected: true,\n })),\n }\n\n if (payload.values.length > 0) {\n this.selectedFilters = [payload, ...this.selectedFilters];\n }\n }\n\n public get selectedGoals() {\n const filter = this.selectedFilters.find((filter: any) => filter.key === 'goal');\n if (!filter) return [];\n\n return filter.values.filter((value: any) => value.isSelected === true);\n }\n\n public computeRankSliderOptions() {\n if (this.selectedGoals.length === 0) return;\n\n if (this.selectedGoals.length !== 1) {\n this.sliderOptions = {\n showTicks: true,\n showTicksValues: false,\n stepsArray: [],\n };\n return;\n }\n const goal = this.selectedGoals[0];\n const goalKey = goal.key;\n const projectedRank = this.filtersList.find((filter: any) => filter.key === 'rank');\n const rankObj = projectedRank?.values?.find((value: any) => value?.key === goalKey);\n const options: any = rankObj?.options;\n this.sliderOptions = {\n showTicks: true,\n showTicksValues: false,\n stepsArray: options?.map((option: any, index) => ({\n value: index + 1,\n legend: option?.displayName,\n })),\n };\n this.projectedRankRange.min = options?.[0]?.displayName;\n this.projectedRankRange.max = options?.slice(-1)?.[0]?.displayName;\n }\n\n public range(start: number, end: number, step: number): number[] {\n const arr = [];\n for (let i = start; i <= end; i += step) arr.push(i);\n return arr;\n }\n\n public handlePerformanceSelection(allPerformances, index) {\n allPerformances[index].selectedOption = {\n value: 0,\n key: allPerformances[index].options[0].key,\n };\n this.computePerformanceFilter(allPerformances);\n }\n\n public handlePerformanceKeyChange(event, allPerformances, index) {\n allPerformances[index].selectedOption = {\n value: 0,\n key: event.target.value,\n };\n this.computePerformanceFilter(allPerformances);\n }\n\n public handlePerformanceValueChange(allPerformances) {\n this.computePerformanceFilter(allPerformances);\n }\n\n public computePerformanceFilter(allPerformances) {\n const performanceFilter = this.filtersList.find((filter: any) => filter.key === 'performance');\n\n const performanceValues = allPerformances.map(({ key, displayName, options, selectedOption, isSelected }: any) => ({\n key,\n displayName,\n isSelected,\n options: !isSelected\n ? options :\n options.map((item: any) => ({\n ...item,\n isSelected: item.key === selectedOption.key,\n value: item.key === selectedOption.key ? selectedOption.value.toString() : item.value.toString(),\n })),\n }));\n\n const finalPerformanceFilter = {\n ...performanceFilter,\n values: performanceValues,\n }\n\n this.selectedFilters = this.selectedFilters.filter((filter: any) => filter.key !== 'performance');\n this.selectedFilters.push(finalPerformanceFilter);\n }\n\n public handleSliderChange(event) {\n const legends: any = document.getElementsByClassName(\"ng5-slider-tick-legend\");\n for (let i = 0; i < legends.length; i++) {\n if (i === event - 1 && i !== 0 && i !== legends.length - 1) {\n legends[i].style.opacity = '1';\n } else {\n legends[i].style.opacity = '0';\n }\n }\n }\n\n public handleSyllabusClear() {\n this.selectedSyllabus = [];\n this.applySyllabusFilter();\n }\n\n public computeDifficultyFilter(allDifficultyFilters) {\n const difficultyFilter = this.filtersList.find((filter: any) => filter.key === 'questionDifficulty');\n\n const difficultyValues = allDifficultyFilters.map(({ key, displayName, isSelected, value }: any) => ({\n key,\n displayName,\n isSelected,\n value: `${value}`,\n }));\n\n const finalDifficultyFilter = {\n ...difficultyFilter,\n values: difficultyValues,\n }\n\n this.selectedFilters = this.selectedFilters.filter((filter: any) => filter.key !== 'questionDifficulty');\n this.selectedFilters.push(finalDifficultyFilter);\n }\n\n public isDifficultyDisabled(difficultyOptions, index) {\n if (difficultyOptions[index].isSelected) return false;\n\n const selectedOptions = difficultyOptions.filter((option: any) => option.isSelected === true)\n .map((option: any) => parseInt(option.value));\n const sum = selectedOptions.reduce((a: number, b: number) => a + b, 0);\n if (sum >= 100) return true;\n return false;\n }\n\n public getMaxDifficultyValue(difficultyOptions, index) {\n const selectedOptions = difficultyOptions.filter((option: any, i) => option.isSelected && i !== index)\n .map((option: any) => parseInt(option.value));\n const sum = selectedOptions.reduce((a: number, b: number) => a + b, 0);\n\n const remaining = 100 - sum;\n return remaining;\n }\n\n public handleDifficultyValueChange(event, allDifficultyFilters, index) {\n\n const max = this.getMaxDifficultyValue(allDifficultyFilters, index);\n if (parseInt(event.target.value) > max) {\n allDifficultyFilters[index].value = 0;\n }\n this.computeDifficultyFilter(allDifficultyFilters);\n }\n\n public clearSyllabusSearchQuery() {\n this.syllabusSearchQuery = '';\n this.handleSyllabusSearchEvent();\n }\n\n @HostListener('document:mousedown', ['$event'])\n dismissSyllabusDropdown(event): void {\n if (this.cardName !== 'testHistory') return;\n const c1 = !this.syllabusSearchRef.nativeElement.contains(event.target);\n const c2 = this.syllabusDropdownRef && !this.syllabusDropdownRef.nativeElement.contains(event.target)\n if (!c2) return;\n if (c1) this.setSyllabusSearchFocusMode(false);\n }\n\n ngOnDestroy() {\n this.resetButtonClicked = false;\n }\n}\n","
\n
\n
\n Filters\n \n \n \n
\n \n
\n
\n \n
\n \n \n
\n
\n\n \n 3\"\n class=\"suggestionList\">\n
    \n
  • \n No Result Found\n
  • \n
\n
\n\n \n
0\" #syllabusDropdownRef\n class=\"suggestionList\">\n
    \n
  • \n {{syllabusItem.name}}\n {{capitalizeFirstLetter(syllabusItem.type)}}\n
  • \n
\n
\n \n
\n
\n {{syllabusItem.name}}\n \n
\n
\n
\n
0\">\n Clear All\n
\n \n \n
\n
\n
\n \n \n
\n
\n \n \n\n 0 && (filter.values[i]?.isExpired !== filter.values[i-1]?.isExpired))\">\n Expired\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n \n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n
\n \n\n \n \n \n
\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n %\n
\n
\n \n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n \n
\n
\n
\n \n
\n %\n
\n
\n\n

*Sum of the 3 percentages cannot exceed 100

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

Please select a single Target Exam from the filter above to enable this setting

\n
\n \n
\n \n \n\n
\n {{projectedRankRange.min}}\n {{projectedRankRange.max}}\n
\n
\n
\n\n
\n
\n
\n \n \n
\n \n \n \n
\n\n","import { Injectable } from '@angular/core';\nimport ClevertapReact from 'clevertap-react';\n\ndeclare var window: any;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CleverTapService {\n\n public hostDomain = window.location.host;\n public sourceUrl = window.location.href;\n\n constructor() { }\n\n formSubmission(data?): void {\n const payload = {\n 'Source Url': window.location.href,\n };\n if (data) {\n payload['form submission intent'] = data.intent;\n }\n ClevertapReact.event('Form Submission', payload);\n }\n\n eventSignUp(data?): void {\n if (data) {\n const payload = {\n 'sign up Intent': data.intent,\n 'from referral': data.fromReferral ? data.fromReferral : 'No',\n 'source url': window.location.href\n };\n ClevertapReact.event('Sign Up', payload);\n }\n }\n\n eventPageViewed(pageCategory): void {\n const payload = {};\n if (localStorage.getItem('isMobile')) {\n const urls = window.location.href.split('/');\n if (urls[4]) {\n payload['Page Name'] = urls[4].toString();\n }\n payload['Device Type'] = 'Android';\n } else {\n payload['page category'] = pageCategory;\n payload['source url'] = window.location.href;\n }\n ClevertapReact.event('page viewed', payload);\n }\n\n pushWindowProfile(dataReceived): void {\n const payloadProfile = {\n Site: {\n Phone: dataReceived.countryCode + '' + dataReceived.mobile,\n 'referrer code' : dataReceived.referralCode ? dataReceived.referralCode : '',\n Class: dataReceived.className,\n }\n };\n // use for onuserlogin push not profile push\n window.clevertap.onUserLogin.push(payloadProfile);\n }\n}\n\n","import { Component, ElementRef, OnInit, Inject, ViewChild, HostListener, HostBinding } from '@angular/core';\nimport { Router } from '@angular/router';\nimport HEADERMENU from './headermenus.constant'\nimport { DOCUMENT } from '@angular/common';\nimport { USER_ROUTES, COURSES_CLASSES_DATA } from 'src/app/shared/constants/glite.constants';\nimport { EXAM_TYPE } from 'src/app/shared/constants/previous-year-papers.constant';\nimport { UtilityService } from 'src/app/shared/services/utility.service';\nimport { Subscription } from 'rxjs';\nimport { EbooksService } from 'src/app/landing-pages/ebooks/ebooks.service';\nimport { environment } from '../../../environments/environment';\ndeclare var $: any;\n\n@Component({\n selector: 'app-header-before-login',\n templateUrl: './header-before-login.component.html',\n styleUrls: ['./header-before-login.component.scss']\n})\nexport class HeaderBeforeLoginComponent implements OnInit {\n @ViewChild('dropdown') dropdown: ElementRef;\n constructor(\n private _router: Router, public elementRef: ElementRef,\n @Inject(DOCUMENT) private readonly document: Document,\n private utilityService: UtilityService,\n private _ebook: EbooksService\n ) { }\n private isDropdownOpen: boolean = false;\n private activeSubscriptions = new Subscription();\n public resourcesMenu: boolean = false;\n public examsMenu: boolean = false;\n public previousPapersMenu: boolean = false;\n public eBooksMenu: boolean = false;\n public toolsMenu: boolean = false;\n public router: any;\n public enableVerifyOTPPopup: boolean = false;\n public mobileInfo: any = {};\n public formSubmitCTA:string = 'Start Learning';\n public routerInfo: any = {\n signup: `/${USER_ROUTES.USER}/${USER_ROUTES.SIGNUP}`,\n login: `/${USER_ROUTES.USER}/${USER_ROUTES.LOGIN}`\n };\n public isCartActive: boolean = false; \n\n ngOnInit(): void {\n this.activeSubscriptions.add(\n this.utilityService.downloadEbook.subscribe((downloadEbook: boolean) => {\n if (this._ebook.selectedEbookLink && downloadEbook) {\n window.open(this._ebook.selectedEbookLink, '_blank');\n this._ebook.selectedEbookLink = '';\n }\n })\n );\n this.isCartActive = (this._router.url)?.includes('cart');\n this.activeSubscriptions.add(this._router.events.subscribe((event) => {\n this.isCartActive = event['url']?.includes('cart');\n }));\n }\n\n public get cartSize() {\n return JSON.parse(localStorage.getItem('userCart'))?.length || 0;\n }\n\n get classAndGoalInfo() {\n return COURSES_CLASSES_DATA;\n }\n\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: MouseEvent) {\n if (!this.dropdown.nativeElement.contains(event.target) || this.isDropdownOpen) {\n this.document.querySelector(\".classList\").classList.remove('active');\n this.document.querySelector(\".examList\").classList.remove('active');\n this.document.querySelector(\".resourcesListing\").classList.remove('active');\n this.isDropdownOpen = false;\n for(let dropdown in this.activeDropdown){\n this.activeDropdown[dropdown] = false;\n }\n }\n }\n\n handleDropdownState(): void {\n this.isDropdownOpen = true;\n }\n\n get EXAM_TYPES(){\n return EXAM_TYPE;\n }\n\n getPreviousYearPapers(examType: string){\n this.getMenuList(HEADERMENU.RESOURCES_LIST);\n this._router.navigateByUrl(`previous-year-paper-download/${examType}`);\n }\n\n navigateToScholarshipPage() {\n this._router.navigate(['/scholarship']);\n }\n resultPage(){\n this._router.navigate(['view-our-results']);\n }\n public activeDropdown = {\n [HEADERMENU.CLASS_LIST]: false,\n [HEADERMENU.EXAM_LIST]: false,\n [HEADERMENU.RESOURCES_LIST]: false\n }\n getMenuList(str):void{\n const classContainer = this.document.querySelector(\".classList\");\n const examContainer = this.document.querySelector(\".examList\");\n const resourcesContainer = this.document.querySelector(\".resourcesListing\");\n for(let dropdown in this.activeDropdown){\n this.activeDropdown[dropdown] = (dropdown === str);\n }\n switch(str){\n case HEADERMENU.CLASS_LIST:\n classContainer.classList.toggle('active');\n examContainer.classList.remove('active');\n resourcesContainer.classList.remove('active');\n break;\n case HEADERMENU.EXAM_LIST:\n examContainer.classList.toggle('active');\n classContainer.classList.remove('active');\n resourcesContainer.classList.remove('active');\n break;\n case HEADERMENU.RESOURCES_LIST:\n resourcesContainer.classList.toggle('active');\n examContainer.classList.remove('active');\n classContainer.classList.remove('active');\n break;\n default:\n return;\n }\n }\n\n getClassExamList(str):void{\n const class9Container = this.document.querySelector(\".examName-class9\");\n const class10Container = this.document.querySelector(\".examName-class10\");\n const class11Container = this.document.querySelector(\".examName-class11\");\n const class12Container = this.document.querySelector(\".examName-class12\");\n const class12passContainer = this.document.querySelector(\".examName-class12pass\");\n\n switch(str){\n case HEADERMENU.CLASS9:\n class9Container.classList.toggle('active');\n class10Container.classList.remove('active');\n class11Container.classList.remove('active');\n class12Container.classList.remove('active');\n class12passContainer.classList.remove('active');\n break;\n case HEADERMENU.CLASS10:\n class10Container.classList.toggle('active');\n class9Container.classList.remove('active');\n class11Container.classList.remove('active');\n class12Container.classList.remove('active');\n class12passContainer.classList.remove('active');\n break;\n case HEADERMENU.CLASS11:\n class11Container.classList.toggle('active');\n class9Container.classList.remove('active');\n class10Container.classList.remove('active');\n class12Container.classList.remove('active');\n class12passContainer.classList.remove('active');\n break;\n case HEADERMENU.CLASS12:\n class12Container.classList.toggle('active');\n class9Container.classList.remove('active');\n class10Container.classList.remove('active');\n class11Container.classList.remove('active');\n class12passContainer.classList.remove('active');\n break;\n case HEADERMENU.CLASS12_PASS:\n class12passContainer.classList.toggle('active');\n class9Container.classList.remove('active');\n class10Container.classList.remove('active');\n class11Container.classList.remove('active');\n class12Container.classList.remove('active');\n break;\n default:\n return;\n }\n }\n getResourcesList(str):void{\n const toolsContainer = this.document.querySelector(\".tools-container\");\n const toolsMenu = this.document.querySelector(\".tools-menu\");\n const previousPaperContainer = this.document.querySelector(\".previous-paper-container\");\n const previousPaperMenu = this.document.querySelector(\".previous-paper-menu\");\n // Sample Paper code for future ref.\n // const samplePaperContainer = this.document.querySelector(\".sample-paper-container\");\n // const samplePaperMenu = this.document.querySelector(\".sample-paper-menu\");\n switch(str) {\n case HEADERMENU.TOOLS:\n toolsContainer.classList.toggle('active');\n toolsMenu.classList.toggle('active');\n previousPaperContainer.classList.remove('active');\n previousPaperMenu.classList.remove('active');\n // Sample Paper code for future ref.\n // samplePaperContainer.classList.remove('active');\n // samplePaperMenu.classList.remove('active');\n break;\n case HEADERMENU.PREVIOUS_PAPER:\n previousPaperContainer.classList.toggle('active');\n previousPaperMenu.classList.toggle('active');\n toolsContainer.classList.remove('active');\n toolsMenu.classList.remove('active');\n // Sample Paper code for future ref.\n // samplePaperContainer.classList.remove('active');\n // samplePaperMenu.classList.remove('active');\n break;\n case HEADERMENU.SAMPLE_PAPER:\n // Sample Paper code for future ref.\n // samplePaperContainer.classList.toggle('active');\n // samplePaperMenu.classList.toggle('active');\n toolsContainer.classList.remove('active');\n toolsMenu.classList.remove('active');\n previousPaperContainer.classList.remove('active');\n previousPaperMenu.classList.remove('active');\n break;\n case HEADERMENU.BLOG:\n // Sample Paper code for future ref.\n // samplePaperContainer.classList.remove('active');\n // samplePaperMenu.classList.remove('active');\n toolsContainer.classList.remove('active');\n toolsMenu.classList.remove('active');\n previousPaperContainer.classList.remove('active');\n previousPaperMenu.classList.remove('active');\n this.handleDropdownState();\n break;\n case HEADERMENU.EBOOKS:\n // Sample Paper code for future ref.\n // samplePaperContainer.classList.remove('active');\n // samplePaperMenu.classList.remove('active');\n toolsContainer.classList.remove('active');\n toolsMenu.classList.remove('active');\n previousPaperContainer.classList.remove('active');\n previousPaperMenu.classList.remove('active');\n break;\n default:\n return;\n }\n }\n getmobileMainMenu(str):void{\n const mobileClassContainer = this.document.querySelector(\".mobile-class-menu\");\n const courseMenuContainer = this.document.querySelector(\".course-menu\");\n const mobileExamMenuContainer = this.document.querySelector(\".mobile-exam-menu\");\n const examMenuContainer = this.document.querySelector(\".exams-menu\");\n const mobileResourcesMenuContainer = this.document.querySelector(\".mobile-resources-menu\");\n const resourcesMenuContainer = this.document.querySelector(\".resources-menus\");\n const mobileCommunitysMenuContainer = this.document.querySelector(\".mobile-community-menu\");\n const communityMenuContainer = this.document.querySelector(\".community-menu\");\n switch(str){\n case HEADERMENU.CLASS_LIST:\n mobileClassContainer.classList.toggle('active');\n courseMenuContainer.classList.toggle('active');\n break;\n case HEADERMENU.EXAM_LIST:\n mobileExamMenuContainer.classList.toggle('active');\n examMenuContainer.classList.toggle('active');\n break;\n case HEADERMENU.RESOURCES_LIST:\n mobileResourcesMenuContainer.classList.toggle('active');\n resourcesMenuContainer.classList.toggle('active');\n break;\n case HEADERMENU.COMMUNITY:\n mobileCommunitysMenuContainer.classList.toggle('active');\n communityMenuContainer.classList.toggle('active');\n default:\n return; \n }\n }\n getmobileClassList(str):void {\n const class9listContainer = this.document.querySelector(\".class9-list\");\n const class9menu = this.document.querySelector(\".class9-menu\");\n const class10listContainer = this.document.querySelector(\".class10-list\");\n const class10menu = this.document.querySelector(\".class10-menu\");\n const class11listContainer = this.document.querySelector(\".class11-list\");\n const class11menu = this.document.querySelector(\".class11-menu\");\n const class12listContainer = this.document.querySelector(\".class12-list\");\n const class12menu = this.document.querySelector(\".class12-menu\");\n const class12passlistContainer = this.document.querySelector(\".class12pass-list\");\n const class12passmenu = this.document.querySelector(\".class12pass-menu\");\n switch(str){\n case HEADERMENU.CLASS9:\n class9listContainer.classList.toggle('active'); \n class9menu.classList.toggle('active'); \n break;\n case HEADERMENU.CLASS10:\n class10listContainer.classList.toggle('active'); \n class10menu.classList.toggle('active'); \n break;\n case HEADERMENU.CLASS11:\n class11listContainer.classList.toggle('active'); \n class11menu.classList.toggle('active'); \n break;\n case HEADERMENU.CLASS12:\n class12listContainer.classList.toggle('active'); \n class12menu.classList.toggle('active'); \n break;\n case HEADERMENU.CLASS12_PASS:\n class12passlistContainer.classList.toggle('active'); \n class12passmenu.classList.toggle('active'); \n break;\n default:\n return;\n }\n }\n getMobileResourcesList(str):void {\n const toolslist = this.document.querySelector(\".tools-list\");\n const toolsmenu = this.document.querySelector(\".tool-menu\");\n const previousPaperlist = this.document.querySelector(\".previousPaper-list\");\n const previousPapermenu = this.document.querySelector(\".previousPaper-menu\");\n const samplePaperlist = this.document.querySelector(\".samplePaper-list\");\n const samplePapermenu = this.document.querySelector(\".samplePaper-menu\");\n switch(str){\n case HEADERMENU.TOOLS:\n toolslist.classList.toggle('active'); \n toolsmenu.classList.toggle('active'); \n break;\n case HEADERMENU.PREVIOUS_PAPER:\n previousPaperlist.classList.toggle('active'); \n previousPapermenu.classList.toggle('active');\n break;\n case HEADERMENU.SAMPLE_PAPER:\n samplePaperlist.classList.toggle('active'); \n samplePapermenu.classList.toggle('active');\n default:\n return;\n }\n }\n closeHeaderResponsive(){\n const headermenuList = this.document.querySelector(\".responsive-header\");\n headermenuList.classList.remove('show');\n }\n\n navigateToSignup() {\n this._router.navigate([this.routerInfo.signup]);\n }\n\n navigateToLogin() {\n this._router.navigate([this.routerInfo.login]);\n }\n\n public get HEADERMENU_DATA(){\n return HEADERMENU;\n }\n\n retainDropdown(target){\n this.getMenuList(target);\n }\n public get BLOG_URL(){\n return environment.blog;\n }\n}\n","\n
\n
\n \n
\n
\n","export const getAdmissionTestRedirectionUrl = (admissionTestDetail: any) => {\n const testName = admissionTestDetail?.testName.split(\" \").join(\"_\");\n let redirectionUrl = `/test/test-ongoing/others/${testName}/${admissionTestDetail?.testId}/${admissionTestDetail?.courseId}`;\n if (admissionTestDetail?.attempts?.length) {\n const latestAttempt = admissionTestDetail?.attempts[0];\n redirectionUrl += `/${latestAttempt?.attemptId}`;\n if (latestAttempt?.status === \"finished\") {\n redirectionUrl = `/test-results/${admissionTestDetail?.testId}/${latestAttempt?.attemptId}/${latestAttempt?.testType}`;\n }\n }\n return redirectionUrl;\n};\n","import * as TestOngoingActionList from './test-ongoing.actions';\nimport {question} from '../../test/test-ongoing/model/question.model';\nimport * as fromApp from '../app.reducers';\nimport { Router } from '@angular/router';\ndeclare var window: any;\n\nexport interface FeatureState extends fromApp.AppState {\n testOngoing: State\n}\n\nexport interface State {\n paperTitle: string,\n attemptNo: any,\n questions: {},\n timeLeft: any,\n duration: any;\n startTime: any;\n progress: number,\n testType: any,\n currentSectionId: string,\n currentTypeId: string,\n currentQuestionId: string,\n questionIds: string[],\n minQuestions: number,\n questionsAttempted: number;\n questionsNotAttempted: number;\n questionsVisited: number;\n questionsNotVisited: number;\n questionsReviewed: number;\n numQuestions: number;\n questionsAnsweredReviewed: number;\n paperDetails: any,\n isBackDisable: boolean,\n isSkipDisable: boolean,\n isNextDisable: boolean,\n question_array: any;\n attemptId: string,\n testId: any;\n testStartDate:Date;\n testEndDate:Date;\n serverTimeInitially: number,\n questionImages : any[],\n sectionWiseNumbering : boolean;\n totalSessionTime: string | number;\n showNewInstruction: boolean;\n isAutoProctoring: boolean;\n}\n\nconst intialState: State = {\n paperTitle: \"\",\n attemptNo: 0,\n questions: {},\n timeLeft: 0.0,\n duration: 0.0,\n startTime: 0.0,\n progress: 0,\n testType: \"\",\n currentSectionId: \"\",\n currentTypeId: \"\",\n currentQuestionId: \"\",\n questionIds: [], \n minQuestions: 0,\n questionsAttempted: 0,\n questionsNotAttempted: 0,\n questionsVisited: 0,\n questionsNotVisited: 0,\n questionsReviewed: 0,\n questionsAnsweredReviewed: 0,\n numQuestions: 0,\n paperDetails: [],\n isBackDisable: false,\n isSkipDisable: false,\n isNextDisable: false,\n question_array: [],\n attemptId: \"\",\n testId: \"\",\n testStartDate:new Date(),\n testEndDate:new Date(),\n serverTimeInitially:0,\n questionImages:[],\n sectionWiseNumbering : false,\n totalSessionTime: '0',\n showNewInstruction: false,\n isAutoProctoring: false\n};\n\n//function to get first type\nfunction getQuestionType(questions, sectionKey) {\n let qtype = \"\";\n let flag = -1;\n \n for(let type in questions[sectionKey]) {\n qtype = type;\n flag = flag + 1;\n\n if(flag == 1) {\n break;\n }\n }\n return qtype;\n}\n\n//change visited questions on the basis of count of current question\nfunction visitQuestion(countOfQuestion, visitedQuestions, notVisitedQuestions, notAttempted) {\n let noOfVisitQuestions = visitedQuestions;\n let noOfNotVisitQuestions = notVisitedQuestions;\n let countQuestion = countOfQuestion;\n\n countQuestion = countQuestion + 1;\n if(countQuestion == 1) {\n noOfVisitQuestions = noOfVisitQuestions + 1;\n noOfNotVisitQuestions = noOfNotVisitQuestions - 1;\n notAttempted = notAttempted + 1;\n }\n return [countQuestion, noOfVisitQuestions, noOfNotVisitQuestions, notAttempted];\n}\n\n//update time\nfunction updateTime(stateTimeLeft, timeLeft, stateQuestionTimeSpent) {\n stateTimeLeft = timeLeft;\n stateQuestionTimeSpent = stateQuestionTimeSpent + stateTimeLeft - timeLeft;\n return [stateTimeLeft, stateQuestionTimeSpent];\n}\n\n// mark and review without answer\nfunction markAndReviewWithoutAnswer(isAttempted, isAnsweredReviewed, isMarked, questionsReviewed,\n questionsAnsweredReviewed, questionsNotAttempted, questionsAttempted) {\n if (isAttempted) {\n isAttempted = false;\n questionsAttempted = questionsAttempted - 1;\n questionsNotAttempted = questionsNotAttempted + 1;\n }\n\n if (isAnsweredReviewed) {\n isAnsweredReviewed = false;\n questionsAnsweredReviewed = questionsAnsweredReviewed - 1;\n questionsNotAttempted = questionsNotAttempted + 1;\n }\n\n if (!isMarked) {\n isMarked = true;\n questionsReviewed = questionsReviewed + 1;\n questionsNotAttempted = questionsNotAttempted - 1;\n } else if (isMarked) {\n isMarked = false;\n questionsReviewed -= 1;\n if (!isAnsweredReviewed && !isAttempted) {\n questionsNotAttempted += 1;\n }\n }\n return [isAttempted, isAnsweredReviewed, isMarked, questionsReviewed,\n questionsAnsweredReviewed, questionsNotAttempted, questionsAttempted];\n}\n\n// mark and review with answer\nfunction markAndReviewWithAnswer(isAttempted, isAnsweredReviewed, isMarked, questionsReviewed,\n questionsAnsweredReviewed, questionsNotAttempted, questionsAttempted) {\n\n if (isAttempted && !isAnsweredReviewed) {\n isAttempted = false;\n questionsAttempted = questionsAttempted - 1;\n questionsNotAttempted = questionsNotAttempted + 1;\n }\n\n if (isMarked) {\n isMarked = false;\n questionsReviewed = questionsReviewed - 1;\n questionsNotAttempted = questionsNotAttempted + 1;\n }\n\n if (!isAnsweredReviewed) {\n isAnsweredReviewed = true;\n questionsAnsweredReviewed = questionsAnsweredReviewed + 1;\n questionsNotAttempted = questionsNotAttempted - 1;\n }\n return [isAttempted, isAnsweredReviewed, isMarked, questionsReviewed, questionsAnsweredReviewed,\n questionsNotAttempted, questionsAttempted];\n}\n\nfunction answeredMarkedCpp(isAttempted, isAnsweredReviewed, isMarked, questionsReviewed,\n questionsAnsweredReviewed, questionsNotAttempted, questionsAttempted) {\n if (isAnsweredReviewed) {\n isAttempted = true;\n isAnsweredReviewed = false;\n questionsAnsweredReviewed -= 1;\n questionsAttempted += 1;\n } else if (isAttempted) {\n isAttempted = false;\n isAnsweredReviewed = true;\n questionsAttempted = questionsAttempted - 1;\n questionsAnsweredReviewed = questionsAnsweredReviewed + 1;\n } else if (isMarked) {\n isMarked = false;\n questionsReviewed -= 1;\n questionsNotAttempted += 1;\n }\n return [isAttempted, isAnsweredReviewed, isMarked, questionsReviewed, questionsAnsweredReviewed,\n questionsNotAttempted, questionsAttempted];\n}\n\n// mark and review with answer\nfunction saveUpdationsCpp(isAttempted, isAnsweredReviewed, isMarked, questionsReviewed,\n questionsAnsweredReviewed, questionsNotAttempted, questionsAttempted) {\n if (isAttempted) {\n isAttempted = false;\n questionsAttempted = questionsAttempted - 1;\n questionsNotAttempted = questionsNotAttempted + 1;\n } else if (isMarked) {\n isMarked = false;\n isAnsweredReviewed = true;\n questionsAnsweredReviewed += 1;\n questionsReviewed -= 1;\n } else if (!isAttempted && !isMarked) {\n isAttempted = true;\n isMarked = false;\n isAnsweredReviewed = false;\n questionsAttempted += 1;\n }\n\n return [isAttempted, isAnsweredReviewed, isMarked, questionsReviewed, questionsAnsweredReviewed,\n questionsNotAttempted, questionsAttempted];\n}\n\n\n//save question\nfunction saveQuestion(isAttempted, questionsNotAttempted, questionsAttempted) {\n if (!isAttempted) {\n isAttempted = true;\n questionsAttempted = questionsAttempted + 1;\n questionsNotAttempted = questionsNotAttempted - 1;\n }\n return [isAttempted, questionsNotAttempted, questionsAttempted];\n}\n\n//not save question\nfunction notSaveQuestion(isAttempted, questionsNotAttempted, questionsAttempted) {\n if(isAttempted ) {\n isAttempted = false;\n questionsAttempted = questionsAttempted - 1;\n questionsNotAttempted = questionsNotAttempted + 1;\n\n }\n return [isAttempted, questionsNotAttempted, questionsAttempted];\n}\n\n//remove mark state\nfunction removeMarkState(isAnsweredReviewed, isMarked, questionsReviewed, questionsAnsweredReviewed, questionsNotAttempted) {\n if(isAnsweredReviewed ) {\n isAnsweredReviewed = false;\n questionsAnsweredReviewed = questionsAnsweredReviewed - 1;\n questionsNotAttempted = questionsNotAttempted + 1;\n } else if(isMarked ) {\n isMarked = false;\n questionsReviewed = questionsReviewed - 1;\n questionsNotAttempted = questionsNotAttempted + 1;\n }\n return [isAnsweredReviewed, isMarked, questionsReviewed, questionsAnsweredReviewed, questionsNotAttempted];\n}\n\nexport function testOngoingReducer(state = intialState, action: TestOngoingActionList.TestOngoingActionList) {\n switch (action.type) {\n case TestOngoingActionList.START_TEST_DETAILS:\n //change count of current question\n if(action.payload[\"questions\"][action.payload[\"currentSectionId\"]][action.payload[\"currentTypeId\"]][action.payload[\"currentQuestionId\"]]?.countSeen){\n action.payload[\"questions\"][action.payload[\"currentSectionId\"]][action.payload[\"currentTypeId\"]][action.payload[\"currentQuestionId\"]].countSeen = 1;\n }\n return {\n ...state,\n startTime: action.payload[\"startTime\"],\n duration: action.payload[\"totalDuration\"],\n attemptId: action.payload[\"attemptId\"],\n attemptNo: action.payload[\"attemptNo\"],\n question_array: action.payload[\"question_array\"],\n timeLeft: action.payload[\"totalDuration\"],\n minQuestions: action.payload[\"minQuestions\"],\n paperDetails: action.payload[\"details\"],\n paperTitle: action.payload[\"paperTitle\"],\n questions: action.payload[\"questions\"],\n progress: action.payload[\"progress\"],\n questionIds: action.payload[\"questionIds\"],\n testType: action.payload[\"testType\"],\n currentSectionId: action.payload[\"currentSectionId\"],\n currentTypeId: action.payload[\"currentTypeId\"],\n currentQuestionId: action.payload[\"currentQuestionId\"],\n numQuestions: action.payload[\"questionsNotAttempted\"],\n questionsAttempted: action.payload[\"questionsAttempted\"],\n questionsNotAttempted: action.payload[\"questionsNotAttempted\"],\n questionsVisited: action.payload[\"questionsVisited\"],\n questionsNotVisited: action.payload[\"questionsNotVisited\"],\n questionsReviewed: action.payload[\"questionsReviewed\"],\n questionsAnsweredReviewed: action.payload[\"questionsAnsweredReviewed\"],\n testStartDate:action.payload['testStartDate'],\n testEndDate:action.payload['testEndDate'],\n isBackDisable: true,\n isSkipDisable: false,\n isNextDisable: true,\n serverTimeInitially:action.payload[\"serverTimeInitially\"],\n questionImages : action.payload[\"questionImages\"],\n sectionWiseNumbering : action.payload[\"sectionWiseNumbering\"],\n totalSessionTime: 0,\n showNewInstruction: action.payload['showNewInstruction'],\n isAutoProctoring: action.payload['isAutoProctoring']\n }\n case TestOngoingActionList.GET_QUESTIONS: \n return {\n ...state,\n isBackDisable: true,\n isSkipDisable: false,\n isNextDisable: true\n }\n case TestOngoingActionList.UPDATE_SECTION_TYPE:\n //update time\n // let currentTime = parseFloat(state.timeLeft) - parseFloat(action.payload[\"timeSpent\"]);\n state.timeLeft = parseFloat(action.payload[\"timeSpent\"]);\n state.testId = String(action.payload[\"testId\"]);\n \n //update question\n state.currentTypeId = action.payload[\"currentTypeId\"];\n state.currentQuestionId = state.questions[state.currentSectionId][action.payload[\"currentTypeId\"]][\"questionTracker\"][0];\n\n //changes to be done on visiting a question\n let pquestion = state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId];\n if(state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId][\"countSeen\"] == 0) {\n state.questions[state.currentSectionId][state.currentTypeId]['notVisited'] = state.questions[state.currentSectionId][state.currentTypeId]['notVisited'] - 1;\n }\n\n if(pquestion.countSeen===0 &&pquestion.isAttempted == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n //changes to be done on visiting a question\n [state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId].countSeen, state.questionsVisited, state.questionsNotVisited,state.questionsNotAttempted] = visitQuestion(state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId].countSeen, state.questionsVisited, state.questionsNotVisited, state.questionsNotAttempted);\n return {\n ...state, \n isBackDisable: (state.questionIds[0] === state.questions[state.currentSectionId][action.payload[\"currentTypeId\"]][\"questionTracker\"][0])?true: false,\n isSkipDisable: (state.questionIds[state.questionIds.length - 1] === state.questions[state.currentSectionId][action.payload[\"currentTypeId\"]][\"questionTracker\"][0])?true: false,\n isNextDisable: true\n }\n case TestOngoingActionList.UPDATE_SECTION:\n //update time\n // currentTime = parseFloat(state.timeLeft) - parseFloat(action.payload[\"timeSpent\"]);\n state.timeLeft = parseFloat(action.payload[\"timeSpent\"]);\n state.testId = String(action.payload[\"testId\"]);\n\n //update question\n let qtype = getQuestionType(state.questions, action.payload[\"currentSectionId\"]);\n state.currentSectionId = action.payload[\"currentSectionId\"];\n\n //get section type on the basis of paper\n if(action.payload[\"type\"] == 2) {\n state.currentTypeId = action.payload[\"currentTypeId\"];\n } else {\n state.currentTypeId = qtype;\n }\n \n state.currentQuestionId = state.questions[action.payload[\"currentSectionId\"]][state.currentTypeId][\"questionTracker\"][0];\n let cquestion = state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId];\n if(state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId][\"countSeen\"] == 0) {\n state.questions[state.currentSectionId][state.currentTypeId]['notVisited'] = state.questions[state.currentSectionId][state.currentTypeId]['notVisited'] - 1;\n }\n\n if(cquestion.countSeen===0 && cquestion.isAttempted == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n //changes to be done on visiting a question\n [state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId].countSeen, state.questionsVisited, state.questionsNotVisited,state.questionsNotAttempted] = visitQuestion(state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId].countSeen, state.questionsVisited, state.questionsNotVisited, state.questionsNotAttempted); \n return {\n ...state,\n isBackDisable: (state.questionIds[0] === state.questions[action.payload[\"currentSectionId\"]][qtype][\"questionTracker\"][0])?true: false,\n isSkipDisable: false,\n isNextDisable: true\n }\n case TestOngoingActionList.UPDATE_QUESTION:\n // currentTime = parseFloat(state.timeLeft) - parseFloat(action.payload[\"timeSpent\"]);\n state.timeLeft = parseFloat(action.payload[\"timeSpent\"]);\n state.testId = String(action.payload[\"testId\"]);\n\n //update question\n state.currentSectionId = action.payload[\"currentSectionId\"];\n state.currentTypeId = action.payload[\"currentTypeId\"];\n state.currentQuestionId = action.payload[\"currentQuestionId\"];\n\n let question = state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId];\n if(state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId].countSeen == 0) {\n state.questions[state.currentSectionId][state.currentTypeId]['notVisited'] = state.questions[state.currentSectionId][state.currentTypeId]['notVisited'] - 1;\n }\n\n if(question.countSeen===0 && question.isAttempted == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n //changes to be done on visiting a question\n [state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId].countSeen, state.questionsVisited, state.questionsNotVisited, state.questionsNotAttempted] = visitQuestion(state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId].countSeen, state.questionsVisited, state.questionsNotVisited, state.questionsNotAttempted); \n return {\n ...state,\n isBackDisable: \n state.questionIds[0] === action.payload[\"currentQuestionId\"]?true: false,\n isSkipDisable: \n (state.questionIds[state.questionIds.length - 1] === \n action.payload[\"currentQuestionId\"])?true: false,\n isNextDisable: true \n }\n case TestOngoingActionList.UPDATE_QUESTION_TIME:\n state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId].timeSpent = parseFloat(action.payload['timeSpent']);\n state.timeLeft = parseFloat(state.timeLeft) - parseFloat(action.payload[\"time\"]);\n\n return {\n ...state\n }\n case TestOngoingActionList.MARK_REVIEW:\n //update time\n state.timeLeft = parseFloat(action.payload[\"timeSpent\"]);\n \n //mark question\n state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId].isMarkedForReview = true;\n return {\n ...state\n }\n case TestOngoingActionList.UNMARK_FOR_REVIEW:\n //update time\n state.timeLeft = parseFloat(action.payload[\"timeSpent\"]);\n \n //unmark question\n state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId].isMarkedForReview = false;\n return {\n ...state\n }\n case TestOngoingActionList.UPDATE_PROGRESS: {\n //update time\n \n state.timeLeft = parseFloat(action.payload[\"timeSpent\"]);\n state.testId = String(action.payload[\"testId\"]);\n\n let progress = state.progress;\n let numQues = state.questionIds.length;\n let options = action.payload[\"options\"];\n let currentQuestion = state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId];\n\n if (options.length > 0 && (currentQuestion.questionCode == 6 || currentQuestion.questionCode == 7 || currentQuestion.questionCode == 3)) {\n currentQuestion.answerKey = options[0];\n if (options[0] != null && options[0] !== \"\" && currentQuestion.isAttempted == false && !currentQuestion.isAnsweredMarkedForReview) {\n //update progress\n if (currentQuestion.isAnsweredMarkedForReview == false) {\n progress = ((progress * numQues) + 100) / (numQues);\n }\n //save question and increase progress\n if (!currentQuestion.isAttempted && !currentQuestion.isMarkedForReview && !currentQuestion.isAnsweredMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n if (!currentQuestion.isAttempted && currentQuestion.isMarkedForReview && !(window.location.pathname.includes('jee-main'))) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n if(!window.location.pathname.includes('jee-main') || !currentQuestion.isAnsweredMarkedForReview) {\n let value = saveQuestion(currentQuestion?.isAttempted, state.questionsNotAttempted, state.questionsAttempted);\n currentQuestion.isAttempted = value[0];\n state.questionsNotAttempted = value[1];\n state.questionsAttempted = value[2];\n // [currentQuestion?.isAttempted, state.questionsNotAttempted, state.questionsAttempted] = saveQuestion(currentQuestion?.isAttempted, state.questionsNotAttempted, state.questionsAttempted);\n }\n\n //state.questions[state.currentSectionId][state.currentTypeId]['notVisited'] = state.questions[state.currentSectionId][state.currentTypeId]['notVisited'] - 1;\n } else if ((options[0] == null || options[0] === \"\") && (currentQuestion.isAttempted && !currentQuestion.isAnsweredMarkedForReview) ) {\n //unsave question and decrease progress\n [currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted] = notSaveQuestion(currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted);\n\n if (currentQuestion.isAttempted == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n }\n\n progress = ((progress * numQues) - 100) / (numQues);\n } else if (options.length === 0 && (currentQuestion.isAnsweredMarkedForReview) ) {\n // unsave question and decrease progress\n currentQuestion.isAnsweredMarkedForReview = !currentQuestion.isAnsweredMarkedForReview;\n currentQuestion.isAttempted = false;\n state.questionsNotAttempted += 1;\n state.questionsAnsweredReviewed -= 1;\n\n if (currentQuestion.isAnsweredMarkedForReview === false) {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n }\n\n progress = ((progress * numQues) - 100) / (numQues);\n }\n } else if (currentQuestion.questionCode == 0 || currentQuestion.questionCode == 8 || currentQuestion.questionCode == 1 || currentQuestion.questionCode == 5 || currentQuestion.questionCode == 2) {\n //updating progress if not attempted before\n if (options.length > 0 && currentQuestion.isAttempted == false && !currentQuestion.isAnsweredMarkedForReview) {\n //update progress\n if (currentQuestion.isAnsweredMarkedForReview == false) {\n progress = ((progress * numQues) + 100) / (numQues);\n }\n\n //save question and increase progress\n if (!currentQuestion.isAttempted && !currentQuestion.isMarkedForReview && !currentQuestion.isAnsweredMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n if (!currentQuestion.isAttempted && currentQuestion.isMarkedForReview && !(window.location.pathname.includes('jee-main'))) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n if(!window.location.pathname.includes('jee-main') || !currentQuestion.isAnsweredMarkedForReview) {\n let value = saveQuestion(currentQuestion?.isAttempted, state.questionsNotAttempted, state.questionsAttempted);\n currentQuestion.isAttempted = value[0];\n state.questionsNotAttempted = value[1];\n state.questionsAttempted = value[2];\n // [currentQuestion?.isAttempted, state.questionsNotAttempted, state.questionsAttempted] = saveQuestion(currentQuestion?.isAttempted, state.questionsNotAttempted, state.questionsAttempted);\n }\n } else if (options.length == 0 && (currentQuestion.isAttempted && !currentQuestion.isAnsweredMarkedForReview) ) {\n //unsave question and decrease progress\n [currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted] = notSaveQuestion(currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted);\n\n if (currentQuestion.isAttempted == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n }\n\n progress = ((progress * numQues) - 100) / (numQues);\n } else if (options.length === 0 && (currentQuestion.isAnsweredMarkedForReview) ) {\n // unsave question and decrease progress\n currentQuestion.isAnsweredMarkedForReview = !currentQuestion.isAnsweredMarkedForReview;\n currentQuestion.isAttempted = false;\n state.questionsNotAttempted += 1;\n state.questionsAnsweredReviewed -= 1;\n\n if (currentQuestion.isAnsweredMarkedForReview === false) {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n }\n\n progress = ((progress * numQues) - 100) / (numQues);\n }\n }\n\n if (currentQuestion.isMarkedForReview ) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] = state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n if (!window.location.pathname.includes('jee-main')) {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n } else {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] + 1;\n }\n }\n\n if (currentQuestion.isAnsweredMarkedForReview && !(window.location.pathname.includes('jee-main'))) {\n if (options && options.length) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] + 1;\n }\n } else if(currentQuestion.isAnsweredMarkedForReview && (window.location.pathname.includes('jee-main'))) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] + 1;\n }\n\n if (currentQuestion.isAnsweredMarkedForReview && options && options.length) {\n currentQuestion.isAnsweredMarkedForReview = false;\n currentQuestion.isAttempted = true;\n state.questionsAttempted += 1;\n state.questionsAnsweredReviewed -= 1;\n } else {\n // change marked state\n [currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted] = removeMarkState(currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted);\n }\n return {\n ...state,\n progress: progress\n }\n }\n case TestOngoingActionList.MARK_PROGRESS: {\n //update time\n let progressVal = state.progress;\n let numQuesVal = state.questionIds.length;\n state.timeLeft = parseFloat(action.payload[\"timeSpent\"]);\n state.testId = String(action.payload[\"testId\"]);\n let options = action.payload[\"options\"];\n let currentQuestion = state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId];\n\n if (options.length > 0 && (currentQuestion.questionCode == 6 || currentQuestion.questionCode == 7 || currentQuestion.questionCode == 3)) {\n currentQuestion.answerKey = options[0];\n if (options[0] != null) {\n //update progress\n if (currentQuestion.isAttempted == false && currentQuestion.isAnsweredMarkedForReview == false) {\n progressVal = ((progressVal * numQuesVal) + 100) / (numQuesVal);\n }\n\n if (currentQuestion.isMarkedForReview ) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] = state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAttempted && !currentQuestion.isAnsweredMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAnsweredMarkedForReview == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n //call mark and review with answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] = markAndReviewWithAnswer(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted);\n } else {\n //decrease progress\n if (currentQuestion.isAnsweredMarkedForReview || currentQuestion.isAttempted ) {\n progressVal = ((progressVal * numQuesVal) - 100) / (numQuesVal);\n }\n\n if (currentQuestion.isAnsweredMarkedForReview ) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAttempted ) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isMarkedForReview == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] = state.questions[state.currentSectionId][state.currentTypeId]['marked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n //call mark and review without answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] = markAndReviewWithoutAnswer(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted);\n }\n } else if (currentQuestion.questionCode == 0 || currentQuestion.questionCode == 8 || currentQuestion.questionCode == 1 || currentQuestion.questionCode === 5 || currentQuestion.questionCode === 2) {\n if (options.length > 0) {\n //update progress\n if (currentQuestion.isAttempted == false && currentQuestion.isAnsweredMarkedForReview == false) {\n progressVal = ((progressVal * numQuesVal) + 100) / (numQuesVal);\n }\n\n if (currentQuestion.isMarkedForReview ) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] = state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAttempted && !currentQuestion.isAnsweredMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAnsweredMarkedForReview == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n //call mark and review with answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] = markAndReviewWithAnswer(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted);\n } else {\n //decrease progress\n if (currentQuestion.isAnsweredMarkedForReview || currentQuestion.isAttempted ) {\n progressVal = ((progressVal * numQuesVal) - 100) / (numQuesVal);\n }\n\n if (currentQuestion.isAnsweredMarkedForReview ) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAttempted ) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isMarkedForReview == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] = state.questions[state.currentSectionId][state.currentTypeId]['marked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n //call mark and review without answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] = markAndReviewWithoutAnswer(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted);\n }\n }\n return {\n ...state,\n progress: progressVal\n }\n }\n case TestOngoingActionList.UPDATE_PROGRESS_CPP: {\n // update time\n state.timeLeft = parseFloat(action.payload['timeSpent']);\n state.testId = String(action.payload['testId']);\n\n let progress = state.progress;\n const numQues = state.questionIds.length;\n const options = action.payload['options'];\n const currentQuestion = state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId];\n\n if (options.length > 0 && (currentQuestion.questionCode === 6 || currentQuestion.questionCode === 7 ||\n currentQuestion.questionCode === 3)) {\n currentQuestion.answerKey = options[0];\n if (options[0] != null && options[0] !== '' &&\n !(currentQuestion.isAttempted || currentQuestion.isAnsweredMarkedForReview)) {\n // update progress\n if (!currentQuestion.isAnsweredMarkedForReview) {\n progress = ((progress * numQues) + 100) / (numQues);\n }\n // save question and increase progress\n if (!currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n if (currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n }\n // call mark and review with answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview,\n state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] =\n saveUpdationsCpp(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview,\n currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed,\n state.questionsNotAttempted, state.questionsAttempted);\n } else if ((options[0] == null || options[0] === '') &&\n (currentQuestion.isAttempted || currentQuestion.isAnsweredMarkedForReview)) {\n // unsave question and decrease progress\n [currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted] =\n notSaveQuestion(currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted);\n\n if (!currentQuestion.isAttempted) {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n }\n\n progress = ((progress * numQues) - 100) / (numQues);\n }\n } else if (currentQuestion.questionCode === 0 || currentQuestion.questionCode === 8 ||\n currentQuestion.questionCode === 1 || currentQuestion.questionCode === 5 || currentQuestion.questionCode === 2\n || currentQuestion.questionCode === 4) {\n // updating progress if not attempted before\n if (options.length > 0 && !(currentQuestion.isAttempted || currentQuestion.isAnsweredMarkedForReview)) {\n // update progress\n if (!currentQuestion.isAnsweredMarkedForReview) {\n progress = ((progress * numQues) + 100) / (numQues);\n }\n\n // save question and increase progress\n if (!currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n if (currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n }\n // call mark and review with answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview,\n state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] =\n saveUpdationsCpp(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview,\n currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed,\n state.questionsNotAttempted, state.questionsAttempted);\n } else if (options.length === 0 && (currentQuestion.isAttempted || currentQuestion.isAnsweredMarkedForReview)) {\n // unsave question and decrease progress\n [currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted] =\n notSaveQuestion(currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted);\n\n if (!currentQuestion.isAttempted) {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n }\n\n progress = ((progress * numQues) - 100) / (numQues);\n }\n }\n return {\n ...state,\n progress: progress\n };\n }\n case TestOngoingActionList.MARK_PROGRESS_CPP: {\n // update time\n let progressVal = state.progress;\n const numQuesVal = state.questionIds.length;\n state.timeLeft = parseFloat(action.payload['timeSpent']);\n state.testId = String(action.payload['testId']);\n const options = action.payload['options'];\n const currentQuestion = state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId];\n\n if (options.length > 0 && (currentQuestion.questionCode === 6 || currentQuestion.questionCode === 7 ||\n currentQuestion.questionCode === 3)) {\n currentQuestion.answerKey = options[0];\n if (options[0] != null) {\n // update progress\n if (!currentQuestion.isAttempted && !currentQuestion.isAnsweredMarkedForReview) {\n progressVal = ((progressVal * numQuesVal) + 100) / (numQuesVal);\n }\n\n if (currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAttempted && !currentQuestion.isAnsweredMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] + 1;\n }\n\n if (currentQuestion.isAnsweredMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] + 1;\n }\n if (!currentQuestion.isAnsweredMarkedForReview && !currentQuestion.isAttempted && !currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n if (!currentQuestion.isAnsweredMarkedForReview && !currentQuestion.isAttempted && !currentQuestion.isMarkedForReview) {\n // call mark and review without answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview,\n state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] =\n markAndReviewWithoutAnswer(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview,\n currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed,\n state.questionsNotAttempted, state.questionsAttempted);\n } else {\n // call mark and review with answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview,\n state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] =\n answeredMarkedCpp(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview,\n currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed,\n state.questionsNotAttempted, state.questionsAttempted);\n }\n } else {\n // decrease progress\n if (currentQuestion.isAnsweredMarkedForReview || currentQuestion.isAttempted) {\n progressVal = ((progressVal * numQuesVal) - 100) / (numQuesVal);\n }\n\n if (currentQuestion.isAnsweredMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAttempted) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n if (!currentQuestion.isAnsweredMarkedForReview && !currentQuestion.isAttempted && !currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n\n // call mark and review without answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview,\n state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] =\n markAndReviewWithoutAnswer(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview,\n currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed,\n state.questionsNotAttempted, state.questionsAttempted);\n }\n } else if (currentQuestion.questionCode === 0 || currentQuestion.questionCode === 8 || currentQuestion.questionCode === 1 ||\n currentQuestion.questionCode === 5 || currentQuestion.questionCode === 2 || currentQuestion.questionCode === 4) {\n if (options.length > 0) {\n // update progress\n if (currentQuestion.isAttempted === false && currentQuestion.isAnsweredMarkedForReview === false) {\n progressVal = ((progressVal * numQuesVal) + 100) / (numQuesVal);\n }\n\n if (currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAttempted && !currentQuestion.isAnsweredMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] + 1;\n }\n\n if (currentQuestion.isAnsweredMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] + 1;\n }\n if (!currentQuestion.isAnsweredMarkedForReview && !currentQuestion.isAttempted && !currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n if (!currentQuestion.isAnsweredMarkedForReview && !currentQuestion.isAttempted && !currentQuestion.isMarkedForReview) {\n // call mark and review without answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview,\n state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] =\n markAndReviewWithoutAnswer(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview,\n currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed,\n state.questionsNotAttempted, state.questionsAttempted);\n } else {\n // call mark and review with answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview,\n state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] =\n answeredMarkedCpp(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview,\n currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed,\n state.questionsNotAttempted, state.questionsAttempted);\n }\n } else {\n // decrease progress\n if (currentQuestion.isAnsweredMarkedForReview || currentQuestion.isAttempted) {\n progressVal = ((progressVal * numQuesVal) - 100) / (numQuesVal);\n }\n\n if (currentQuestion.isAnsweredMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAttempted) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n if (!currentQuestion.isAnsweredMarkedForReview && !currentQuestion.isAttempted && !currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n\n // call mark and review without answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview,\n state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] =\n markAndReviewWithoutAnswer(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview,\n currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed,\n state.questionsNotAttempted, state.questionsAttempted);\n }\n }\n return {\n ...state,\n progress: progressVal\n }\n }\n\n case TestOngoingActionList.UPDATE_PROGRESS_JEEADV: {\n // update time\n state.timeLeft = parseFloat(action.payload['timeSpent']);\n state.testId = String(action.payload['testId']);\n\n // tslint:disable-next-line: no-shadowed-variable\n let progress = state.progress;\n // tslint:disable-next-line: no-shadowed-variable\n const numQues = state.questionIds.length;\n // tslint:disable-next-line: no-shadowed-variable\n const options = action.payload['options'];\n // tslint:disable-next-line: no-shadowed-variable\n const currentQuestion = state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId];\n\n if (options.length > 0 && (currentQuestion.questionCode === 6 || currentQuestion.questionCode === 7 ||\n currentQuestion.questionCode === 3)) {\n currentQuestion.answerKey = options[0];\n if (options[0] != null && options[0] !== '' && !currentQuestion.isAttempted) {\n // update progress\n if (!currentQuestion.isAnsweredMarkedForReview) {\n progress = ((progress * numQues) + 100) / (numQues);\n }\n if (!currentQuestion.isAttempted && !currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] + 1;\n if (currentQuestion.isAnsweredMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n } else {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n }\n if (!currentQuestion.isAttempted && currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n if (!currentQuestion.isAnsweredMarkedForReview) {\n\n [currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted] = saveQuestion(currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted);\n } else {\n currentQuestion.isAttempted = true;\n currentQuestion.isAnsweredMarkedForReview = false;\n state.questionsAnsweredReviewed--;\n state.questionsAttempted++;\n }\n\n //state.questions[state.currentSectionId][state.currentTypeId]['notVisited'] = state.questions[state.currentSectionId][state.currentTypeId]['notVisited'] - 1;\n } else if ((options[0] == null || options[0] === \"\") && currentQuestion.isAttempted ) {\n //unsave question and decrease progress\n [currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted] = notSaveQuestion(currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted);\n\n if (currentQuestion.isAttempted == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n }\n\n progress = ((progress * numQues) - 100) / (numQues);\n }\n } else if (currentQuestion.questionCode === 0 || currentQuestion.questionCode === 8 ||\n currentQuestion.questionCode === 1 || currentQuestion.questionCode === 5 || currentQuestion.questionCode === 2) {\n // updating progress if not attempted before\n if (options.length > 0 && !currentQuestion.isAttempted) {\n // update progress\n if (!currentQuestion.isAnsweredMarkedForReview) {\n progress = ((progress * numQues) + 100) / (numQues);\n }\n\n // save question and increase progress\n if (!currentQuestion.isAttempted && !currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] + 1;\n if (currentQuestion.isAnsweredMarkedForReview) {\n currentQuestion.isAnsweredMarkedForReview = false;\n state.questionsAnsweredReviewed--;\n state.questionsNotAttempted++;\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n } else {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n [currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted] =\n saveQuestion(currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted);\n }\n if (!currentQuestion.isAttempted && currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n // call mark and review with answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview,\n state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted]\n = markAndReviewWithAnswer(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview,\n currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed,\n state.questionsNotAttempted, state.questionsAttempted);\n }\n\n } else if (options.length == 0 && currentQuestion.isAttempted ) {\n //unsave question and decrease progress\n [currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted] = notSaveQuestion(currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted);\n\n if (currentQuestion.isAttempted == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n }\n\n progress = ((progress * numQues) - 100) / (numQues);\n }\n }\n\n // if (currentQuestion.isMarkedForReview ) {\n // state.questions[state.currentSectionId][state.currentTypeId]['marked'] = state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n // if (!window.location.pathname.includes('jee-main')) {\n // state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n // } else {\n // state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] + 1;\n // }\n // }\n\n // if (currentQuestion.isAnsweredMarkedForReview ) {\n // state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n // state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n // }\n\n // [currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted] = removeMarkState(currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted);\n return {\n ...state,\n progress: progress\n }\n }\n\n case TestOngoingActionList.MARK_PROGRESS_JEEADV: {\n //update time\n let progressVal = state.progress;\n let numQuesVal = state.questionIds.length;\n state.timeLeft = parseFloat(action.payload[\"timeSpent\"]);\n state.testId = String(action.payload[\"testId\"]);\n let options = action.payload[\"options\"];\n let currentQuestion = state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId];\n\n if (options.length > 0 && (currentQuestion.questionCode == 6 || currentQuestion.questionCode == 7 || currentQuestion.questionCode == 3)) {\n currentQuestion.answerKey = options[0];\n if (options[0] != null) {\n //update progress\n if (currentQuestion.isAttempted == false && currentQuestion.isAnsweredMarkedForReview == false) {\n progressVal = ((progressVal * numQuesVal) + 100) / (numQuesVal);\n }\n\n if (currentQuestion.isMarkedForReview ) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] = state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAttempted ) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAnsweredMarkedForReview == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n //call mark and review with answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] = markAndReviewWithAnswer(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted);\n } else {\n //decrease progress\n if (currentQuestion.isAnsweredMarkedForReview || currentQuestion.isAttempted ) {\n progressVal = ((progressVal * numQuesVal) - 100) / (numQuesVal);\n }\n\n if (currentQuestion.isAnsweredMarkedForReview ) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAttempted ) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isMarkedForReview == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] = state.questions[state.currentSectionId][state.currentTypeId]['marked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n //call mark and review without answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] = markAndReviewWithoutAnswer(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted);\n }\n } else if (currentQuestion.questionCode == 0 || currentQuestion.questionCode == 8 || currentQuestion.questionCode == 1 || currentQuestion.questionCode === 5 || currentQuestion.questionCode === 2) {\n if (options.length > 0) {\n //update progress\n if (currentQuestion.isAttempted == false && currentQuestion.isAnsweredMarkedForReview == false) {\n progressVal = ((progressVal * numQuesVal) + 100) / (numQuesVal);\n }\n\n if (currentQuestion.isMarkedForReview ) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] = state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAttempted ) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAnsweredMarkedForReview == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n //call mark and review with answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] = markAndReviewWithAnswer(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted);\n } else {\n //decrease progress\n if (currentQuestion.isAnsweredMarkedForReview || currentQuestion.isAttempted ) {\n progressVal = ((progressVal * numQuesVal) - 100) / (numQuesVal);\n }\n\n if (currentQuestion.isAnsweredMarkedForReview ) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAttempted ) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isMarkedForReview == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] = state.questions[state.currentSectionId][state.currentTypeId]['marked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n //call mark and review without answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] = markAndReviewWithoutAnswer(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted);\n }\n }\n return {\n ...state,\n progress: progressVal\n }\n }\n\n case TestOngoingActionList.CLEAR_RESPONSE: {\n //update time\n let progressVal = state.progress;\n let numQuesVal = state.questionIds.length;\n state.timeLeft = parseFloat(action.payload[\"timeSpent\"]);\n state.testId = String(action.payload[\"testId\"]);\n let options = action.payload[\"options\"];\n let newNotAnswered, newMarked, newAnsweredMarked, newAnswered;\n let currentQuestion = state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId];\n if(currentQuestion.questionCode === 6 || currentQuestion.questionCode === 7 || currentQuestion.questionCode === 3) {\n currentQuestion.answerKey = null;\n }\n //decrease progress\n if (currentQuestion.isAnsweredMarkedForReview || currentQuestion.isAttempted ) {\n progressVal = ((progressVal * numQuesVal) - 100) / (numQuesVal);\n }\n\n if (currentQuestion.isAnsweredMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n newAnsweredMarked = state.questionsAnsweredReviewed - 1;\n newNotAnswered = state.questionsNotAttempted + 1;\n }\n\n if (currentQuestion.isAttempted && !currentQuestion.isAnsweredMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n newAnswered = state.questionsAttempted - 1;\n newNotAnswered = state.questionsNotAttempted + 1;\n }\n\n if (currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] = state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n newMarked = state.questionsReviewed - 1;\n newNotAnswered = state.questionsNotAttempted + 1;\n }\n\n //call mark and review without answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview] = [false, false, false]\n\n return {\n ...state,\n progress: progressVal,\n questionsAttempted: (newAnswered != undefined) ? newAnswered : state.questionsAttempted,\n questionsNotAttempted: (newNotAnswered != undefined) ? newNotAnswered : state.questionsNotAttempted,\n questionsReviewed: (newMarked != undefined) ? newMarked : state.questionsReviewed,\n questionsAnsweredReviewed: (newAnsweredMarked != undefined) ? newAnsweredMarked : state.questionsAnsweredReviewed,\n }\n }\n\n case TestOngoingActionList.GET_RESULT:\n return {\n ...state\n }\n case TestOngoingActionList.SEND_RESPONSE:\n return {\n ...state,\n timeLeft: action.payload['timeLeft'],\n totalSessionTime: action.payload['totalSessionTime']\n }\n default:\n return state;\n }\n}","import { Action } from '@ngrx/store';\nimport { UserProfile } from '../../models/profile.model';\n\nexport const GET_USER_DETAIL = 'GET_USER_DETAIL';\nexport const UPDATE_USER_DETAIL = 'UPDATE_USER_DETAIL';\n\nexport const VERIFY_MOBILE_PROFILE = 'VERIFY_MOBILE_PROFILE';\nexport const VERIFY_MOBILE_PROFILE_SUCCESS = 'VERIFY_MOBILE_PROFILE_SUCCESS';\n\nexport const VERIFY_EMAIL_PROFILE = 'VERIFY_EMAIL_PROFILE';\nexport const VERIFY_EMAIL_PROFILE_SUCCESS = 'VERIFY_EMAIL_PROFILE_SUCCESS';\n\nexport const ADD_NAME = 'UPDATE_NAME';\nexport const ADD_NAME_SUCCESS = 'ADD_NAME_SUCCESS';\n\nexport const ADD_CLASS = 'ADD_CLASS';\nexport const ADD_CAREER = 'ADD_CAREER';\nexport const ADD_GOAL = 'ADD_GOAL';\nexport const ADD_GOAL_SUCCESS = 'ADD_GOAL_SUCCESS';\nexport const ADD_SCHOOL_SUCCESS = 'ADD_SCHOOL_SUCCESS';\nexport const ADD_SCHOOL = 'ADD_SCHOOL';\nexport const ADD_PROFILE_SUCCESS = 'ADD_PROFILE_SUCCESS';\n\nexport const GET_CLASS_LIST = 'GET_CLASS_LIST';\nexport const GET_CLASS_LIST_SUCCESS = 'GET_CLASS_LIST_SUCCESS';\n\nexport const GET_GOAL_LIST = 'GET_GOAL_LIST';\nexport const GET_GOAL_LIST_SUCCESS=\"GET_GOAL_LIST_SUCCESS\";\n\nexport const ADD_PASSWORD = 'ADD_PASSWORD';\nexport const ADD_PASSWORD_SUCCESS = 'ADD_PASSWORD_SUCCESS';\nexport const SKIP_PASSWORD = 'SKIP_PASSWORD';\nexport const SKIP_PASSWORD_SUCCESS = 'SKIP_PASSWORD_SUCCESS';\n\nexport const ADD_REFERRAL = 'ADD_REFERRAL';\nexport const ADD_REFERRAL_SUCCESS = 'ADD_REFERRAL_SUCCESS';\n\nexport const FAIL = 'FAIL';\n\nexport const UPDATE_USER_CARD_PROFILE = 'UPDATE_USER_CARD_PROFILE';\nexport const UPDATE_USER_CARD_PROFILE_SUCCESS = 'UPDATE_USER_CARD_PROFILE_SUCCESS';\n\nexport const CHANGE_PASSWORD = 'CHANGE_PASSWORD';\nexport const CHANGE_PASSWORD_SUCCESS = 'CHANGE_PASSWORD_SUCCESS';\n\nexport const UPDATE_PERSONAL_INFO_SUCCESS = 'UPDATE_PERSONAL_INFO_SUCCESS';\nexport const ADD_DOB = 'ADD_DOB';\nexport const SET_USER_DETAIL = 'SET_USER_DETAIL';\n\nexport class GetUserDetail implements Action {\n readonly type = GET_USER_DETAIL;\n constructor(public payload: { 'authToken': string, 'fromScreen': string, 'tag': string }) { }\n}\nexport class SetUserDetail implements Action {\n readonly type = SET_USER_DETAIL;\n constructor(public payload: UserProfile) { };\n}\nexport class UpdateUserDetail implements Action {\n readonly type = UPDATE_USER_DETAIL;\n constructor(public payload: UserProfile) { }\n}\n\nexport class VerifyMobileProfile implements Action {\n readonly type = VERIFY_MOBILE_PROFILE;\n constructor(public payload: {\n 'countryCode': string, 'otp': number,\n 'mobile': any\n }) { }\n}\nexport class VerifyMobileProfileSuccess implements Action {\n readonly type = VERIFY_MOBILE_PROFILE_SUCCESS;\n constructor(public payload: {}) { }\n}\nexport class VerifyEmailProfile implements Action {\n readonly type = VERIFY_EMAIL_PROFILE;\n constructor(public payload: { 'email': string, 'otp': number }) { }\n}\nexport class VerifyEmailProfileSuccess implements Action {\n readonly type = VERIFY_EMAIL_PROFILE_SUCCESS;\n constructor(public payload: {}) { }\n}\nexport class GetClassList implements Action {\n readonly type = GET_CLASS_LIST;\n}\n\nexport class GetClassListSuccess implements Action {\n readonly type = GET_CLASS_LIST_SUCCESS;\n constructor(public payload: {}) { }\n}\n\nexport class GetGoalList implements Action {\n readonly type = GET_GOAL_LIST;\n constructor(public payload: string) { }\n}\n\nexport class AddName implements Action {\n readonly type = ADD_NAME;\n constructor(public payload: {}) { }\n}\nexport class AddNameSuccess implements Action {\n readonly type = ADD_NAME_SUCCESS;\n constructor(public payload: {}) { }\n}\nexport class AddClass implements Action {\n readonly type = ADD_CLASS;\n constructor(public payload: {}) { }\n}\nexport class AddCareer implements Action {\n readonly type = ADD_CAREER;\n constructor(public payload: {}) { }\n}\nexport class AddGoal implements Action {\n readonly type = ADD_GOAL;\n constructor(public payload: {}) { }\n}\nexport class AddGoalSuccess implements Action {\n readonly type = ADD_GOAL_SUCCESS;\n constructor(public payload: {}) { }\n}\n\nexport class AddSchoolSuccess implements Action {\n readonly type = ADD_SCHOOL_SUCCESS;\n constructor(public payload: {}) { }\n}\n\nexport class AddSchool implements Action {\n readonly type = ADD_SCHOOL;\n constructor(public payload: {}) { }\n}\n\nexport class AddProfileSuccess implements Action {\n readonly type = ADD_PROFILE_SUCCESS;\n constructor(public payload: {}) { }\n}\nexport class AddPassword implements Action {\n readonly type = ADD_PASSWORD;\n constructor(public payload: {}) { }\n}\n\nexport class AddPasswordSuccess implements Action {\n readonly type = ADD_PASSWORD_SUCCESS;\n constructor(public payload: {}) { }\n}\n\nexport class SkipPassword implements Action {\n readonly type = SKIP_PASSWORD;\n constructor(public payload: {}) { }\n}\n\nexport class SKipPasswordSuccess implements Action {\n readonly type = SKIP_PASSWORD_SUCCESS;\n constructor(public payload: {}) { }\n}\n\nexport class AddReferral implements Action {\n readonly type = ADD_REFERRAL;\n constructor(public payload: {}) { }\n}\nexport class AddReferralSuccess implements Action {\n readonly type = ADD_REFERRAL_SUCCESS;\n constructor(public payload: {}) { }\n}\n\nexport class Fail implements Action {\n readonly type = FAIL;\n}\n\nexport class UpdateUserCardProfile implements Action {\n readonly type = UPDATE_USER_CARD_PROFILE;\n constructor(public payload: {}) { }\n}\n\nexport class UpdateUserCardProfileSuccess implements Action {\n readonly type = UPDATE_USER_CARD_PROFILE_SUCCESS;\n constructor(public payload: {}) { }\n}\n\nexport class ChangePassword implements Action {\n readonly type = CHANGE_PASSWORD;\n constructor(public payload: {}) { }\n}\n\nexport class ChangePasswordSuccess implements Action {\n readonly type = CHANGE_PASSWORD_SUCCESS;\n constructor(public payload: {}) { }\n}\n\nexport class UpdatePersonalInfoSuccess implements Action {\n readonly type = UPDATE_PERSONAL_INFO_SUCCESS;\n constructor(public payload: {}) { }\n}\n\nexport class AddDOB implements Action {\n readonly type = ADD_DOB;\n constructor(public payload: {}) { }\n }\n\nexport type UserProfileActionList = VerifyMobileProfileSuccess | VerifyEmailProfileSuccess | AddPassword | AddPasswordSuccess |\n AddReferral | AddReferralSuccess | AddClass | AddCareer | AddGoal | AddGoalSuccess | AddNameSuccess | AddName | GetClassList |\n GetClassListSuccess | GetGoalList | GetUserDetail | UpdateUserDetail | AddSchoolSuccess | AddSchool | AddProfileSuccess | SkipPassword |\n SKipPasswordSuccess | Fail | UpdateUserCardProfileSuccess |\n ChangePassword | ChangePasswordSuccess | UpdatePersonalInfoSuccess | AddDOB | SetUserDetail;\n","export class Proforma {\n userId: string;\n name: string;\n userMobile: string;\n countryCode: string;\n email: string;\n mypatEnrollmentNumber: string;\n enrollmentNumber: string;\n photoUrlThumb: string;\n photoUrl: string;\n isFiitjee: boolean;\n isSchool: boolean;\n pastAchievements: any[];\n prevEnrollmentInfo: any[];\n student: any;\n parent: {\n status: string,\n name: string,\n email: string,\n mobile: string,\n countryCode: string\n };\n teacher: {\n status: string,\n name: string,\n email: string,\n mobile: string,\n countryCode: string\n };\n revisedGoalSetting: boolean;\n userType: string;\n school: {\n country: any;\n state: any;\n city: any;\n id: string;\n name: string;\n schoolIdUrl: string;\n };\n goalSettingRequired: boolean;\n dueDate: string;\n userClass: any;\n program: {};\n userGoals: [];\n\n questionsStatus: string;\n goalSelectionStatus: string;\n questions: [];\n goalSelections: [];\n initials: string;\n initialsClass: string;\n userCentres: any;\n constructor(userId?, name?, userMobile?, countryCode?, email?, mypatEnrollmentNumber?,\n enrollmentNumber?, photoUrlThumb?, photoUrl?, isFiitjee?, isSchool?,\n pastAchievements?, prevEnrollmentInfo?, studentObj?, parentObj?, teacherObj?,\n revisedGoalSetting?, userType?, school?, goalSettingRequired?, dueDate?, userClass?, program?, userGoals?, questionStatus?, questions?,\n goalSelectionStatus?, goalSelections?, initials?, initialsClass?, userCentres?) {\n this.userId = userId || '';\n this.name = name || '';\n this.userMobile = userMobile || '';\n this.countryCode = countryCode || '';\n this.email = email || '';\n this.mypatEnrollmentNumber = mypatEnrollmentNumber || '';\n this.enrollmentNumber = enrollmentNumber || '';\n this.photoUrlThumb = photoUrlThumb || '';\n this.photoUrl = photoUrl || '';\n this.isFiitjee = isFiitjee || false;\n this.isSchool = isSchool || false;\n this.pastAchievements = pastAchievements || [];\n this.prevEnrollmentInfo = prevEnrollmentInfo || [];\n this.student = studentObj || { status: 'pending' };\n this.parent = parentObj || { status: 'pending' };\n this.teacher = teacherObj || { status: 'pending' };\n this.revisedGoalSetting = revisedGoalSetting || false;\n this.userType = userType || '';\n this.school = school || {};\n this.goalSettingRequired = goalSettingRequired || false;\n this.dueDate = dueDate || '';\n this.userClass = userClass || {};\n this.program = program || {};\n this.userGoals = userGoals || [];\n this.questions = questions || [];\n this.goalSelectionStatus = goalSelectionStatus || [];\n this.questionsStatus = questionStatus;\n this.goalSelections = goalSelections || [];\n this.initials = initials || '';\n this.initialsClass = initialsClass || '';\n this.userCentres = userCentres || null;\n }\n}\n","const USER_PURCHASE_ACTION={\n BUY_NOW : 'Buy now',\n ADD_TO_CART :'Add to Cart',\n}\n\nexport default USER_PURCHASE_ACTION;","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { StoreModule } from '@ngrx/store';\nimport { EffectsModule } from '@ngrx/effects';\n\nimport ClevertapReact from 'clevertap-react';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\n// Needs to import the BrowserAnimationsModule\n\nimport { AppReducers } from './stores/app.reducers';\nimport { AuthEffects } from './stores/auth/auth.effects';\nimport { UserEffects } from './stores/profile/user-profile.effect';\nimport { ProformaEffects } from './stores/proforma/proforma.effect';\n\nimport { SharedModule } from './shared/shared.module';\nimport { DetectLocationService } from './shared/services/detect-location.service';\n\nimport { AuthGaurd } from './auth-guard.service';\nimport { LoginGuard } from './login-guard.service';\n\nimport { environment } from './../environments/environment';\nimport { ProfileService } from './profile/shared/services/profile.service';\nimport { GoalSettingService } from './goal-setting/services/goal-setting.service';\nimport { AlertService } from './shared/services/alert.service';\nimport { VerifyPasscodeComponent } from './auth/verify-passcode/verify-passcode.component';\nimport { FiitJeeService } from './auth/fiit-jee-login/service/fiit-jee.service';\nClevertapReact.initialize(environment.clevertapId);\n\nimport { HeaderBeforeLoginComponent } from './components/header-before-login/header-before-login.component';\n// import { HeaderBeforeLoginComponent } from './header-before-login/header-before-login.component';\nimport { AlertComponent } from './components/alert/alert.component';\nimport { DatePipe } from '@angular/common';\nimport { ApplicationSurveyComponent } from './application-survey/application-survey.component';\nimport { InvalidLoginComponent } from './invalid-login/invalid-login.component';\nimport { FooterBeforeLoginComponent } from './components/footer-before-login/footer-before-login.component';\nimport { SocialLoginModule, SocialAuthServiceConfig } from 'angularx-social-login';\nimport {\n GoogleLoginProvider,\n FacebookLoginProvider\n} from 'angularx-social-login';\n@NgModule({\n declarations: [\n AlertComponent,\n HeaderBeforeLoginComponent,\n AppComponent,\n VerifyPasscodeComponent,\n ApplicationSurveyComponent,\n InvalidLoginComponent,\n FooterBeforeLoginComponent,\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n BrowserAnimationsModule,\n SharedModule,\n StoreModule.forRoot(AppReducers, {\n runtimeChecks: {\n strictStateImmutability: false, // set this to false\n },\n }),\n EffectsModule.forRoot([AuthEffects, UserEffects, ProformaEffects]),\n SocialLoginModule\n ],\n providers: [DatePipe, AlertService, AuthGaurd, LoginGuard, DetectLocationService, ProfileService, GoalSettingService, FiitJeeService, { provide: 'googleTagManagerId', useValue: environment.gtmId },\n {\n provide: 'SocialAuthServiceConfig',\n useValue: {\n autoLogin: false,\n providers: [\n {\n id: GoogleLoginProvider.PROVIDER_ID,\n provider: new GoogleLoginProvider(\n environment.google_clientId\n )\n },\n {\n id: FacebookLoginProvider.PROVIDER_ID,\n provider: new FacebookLoginProvider(environment.fbAppId)\n }\n ],\n onError: (err) => {\n console.error(err);\n }\n } as SocialAuthServiceConfig,\n }\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { Component, OnInit, Input, OnDestroy, EventEmitter, Output } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { AppState } from '../../stores/app.reducers';\nimport { Subscription } from 'rxjs/Subscription';\nimport { Router } from '@angular/router';\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-serious-attempt-warning',\n templateUrl: './serious-attempt-warning.component.html',\n styleUrls: ['./serious-attempt-warning.component.css']\n})\n\nexport class SeriousAttemptWarningComponent implements OnInit, OnDestroy {\n\n constructor(private store: Store, private router: Router) { }\n\n @Input() dataRecieved: any = {};\n public testTemplate: string;\n public sub: Subscription;\n @Output() submitAttempt = new EventEmitter();\n @Output() resumedTest = new EventEmitter();\n @Input() pageLoaded: string;\n\n ngOnInit() {\n this.sub = this.store.select('userProfile').subscribe(res => {\n if (res?.userData?.isAdmissionTestUser) {\n this.submitTest();\n }\n if (res.selectedGoal) {\n if (res.selectedGoal['name'].toLowerCase().replace(' ', '').includes('jee(m')) {\n this.testTemplate = 'jee-main';\n } else if (res.selectedGoal['name'].toLowerCase().replace(' ', '').includes('jee(a')) {\n this.testTemplate = 'jee-advanced';\n } else if (res.selectedGoal['name'].toLowerCase().replace(' ', '').includes('kvpy')) {\n this.testTemplate = 'kvpy';\n } else {\n this.testTemplate = 'others';\n }\n }\n });\n }\n\n resumeTest() {\n if (this.pageLoaded === 'test') {\n this.resumedTest.emit();\n } else {\n this.closePopup();\n }\n // this.resumedTest.emit();\n }\n\n submitTest() {\n this.submitAttempt.emit();\n }\n\n closePopup() {\n localStorage.removeItem('dataForSeriousAttempt');\n $('#warn-serious').modal('hide');\n $('.modal-backdrop').remove();\n $('body').removeClass('modal-open');\n const url = '/test-results/' + this.dataRecieved['testId'] + '/' + this.dataRecieved['attemptId']\n + '/' + this.dataRecieved['testType'] + '/' + this.dataRecieved['courseId'] + '/overview';\n this.router.navigateByUrl(url);\n }\n\n ngOnDestroy() {\n if (this.sub) {\n this.sub.unsubscribe();\n }\n }\n\n}\n","\n\n
\n
\n
\n \n
\n
\n
\n
\n
\n \"Casual\n

Casual Attempt!

\n

{{dataRecieved.warningData.heading}}

\n

You have attempted {{dataRecieved.totalQuestions}} questions in {{dataRecieved.totalTimeTaken | convertSeconds}} of time.\n If you submit this test competitive analysis will not be done

\n

{{dataRecieved.warningData.text}}

\n
\n
\n Submit\n \n
\n
\n Continue to solution\n \n
\n
\n
\n
\n
\n
\n
\n
\n \n ","import { Component, OnInit } from '@angular/core';\nimport { SocialAuthService } from 'angularx-social-login';\nimport { FacebookLoginProvider, GoogleLoginProvider } from 'angularx-social-login';\nimport * as fromApp from '../../../../stores/app.reducers';\nimport * as AuthActions from '../../../../stores/auth/auth.actions';\nimport { Store } from '@ngrx/store';\n\n@Component({\n selector: 'app-social-signup-login',\n templateUrl: './social-signup-login.component.html',\n styleUrls: ['./social-signup-login.component.scss']\n})\nexport class SocialSignupLoginComponent implements OnInit {\n\n constructor(private authService: SocialAuthService, private store: Store) { }\n\n ngOnInit(): void {\n this.authService.authState.subscribe((user) => {\n this.store.dispatch(new AuthActions.SocialSignup(user));\n });\n }\n\n signInWithGoogle(): void {\n this.authService.signIn(GoogleLoginProvider.PROVIDER_ID);\n }\n\n signInWithFB(): void {\n this.authService.signIn(FacebookLoginProvider.PROVIDER_ID);\n }\n\n signOut(): void {\n this.authService.signOut();\n }\n\n}\n","
\n
\n or continue with\n \n \"Google-Login\"/\n \n \n \"Facebook-Login\"/\n \n
\n
","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { shuffle } from 'lodash';\n\n// internal imports\nimport { HttpService } from '../../shared/services/http.service';\nimport { Store } from '@ngrx/store';\nimport { AppState } from '../../stores/app.reducers';\nimport { environment } from 'src/environments/environment';\ndeclare var $: any;\n\n@Injectable()\nexport class UtilityService {\n myRegex: any;\n tagColor = {\n 'chapter': '#ff7575',\n 'subject': '#609b93',\n 'concept': '#9f37ae',\n 'goal': '#1d7dea',\n 'general': '#F8AA4B'\n }\n popularTagColors = ['#666666', '#1D7DEA', '#5BAED7', '#F8AA4B', '#78D2A7', '#B83B5E', '#9F37AE', '#C5D86D', '#F05D23', '#F08A5D']\n authenticated: boolean;\n\n constructor(private http: HttpService, private store: Store) {\n this.store.select('auth').subscribe(auth => {\n this.authenticated = auth.authenticated;\n this.myRegex = /]+src=\"(https:\\/\\/[^\">]+)\"/g;\n });\n this.popularTagColors = shuffle(this.popularTagColors)\n }\n\n searchTags(param): Observable {\n return this.http.get('community/searchTag', false, param, true, false, environment.serverURLv3);\n }\n\n\n searchSimilarQuestions(param): Observable {\n if (this.authenticated)\n return this.http.get('community/searchQuestion', this.authenticated, param, true, false, environment.serverURLv3);\n else {\n return this.http.get('community/notAuthenticatedSearchQuestion', this.authenticated, param, true, false, environment.serverURLv3);\n }\n }\n\n contentManipulation(content) {\n return new Promise((resolve, reject) => {\n var $div = $('
').html(content);\n // modify attributes\n\n $div.find('a').attr('target', '_blank');\n $div.find('a').attr('rel', 'nofollow');\n $div.find('a').attr('class', 'bluecolr');\n //content = $div.html();\n var urls = [];\n var src;\n while (src = this.myRegex.exec(content)) {\n urls.push(src[1]);\n }\n var length = urls.length;\n if (urls.length > 0) {\n for (let i = 0; i < urls.length; i++) {\n this.getMeta(urls[i]).then(res => {\n\n /////////////////////// condition based on width ////////////////////////\n if (res['width'] > 800 && res['width'] < 1000) {\n $div.find('img').eq(i).addClass('width-one');\n }\n else if (res['width'] < 400) {\n $div.find('img').eq(i).addClass('width-two');\n }\n else if (res['width'] > 1000) {\n $div.find('img').eq(i).addClass('width-three');\n }\n\n ////////////////////// condition based on height ///////////////////////\n if (res['height'] > 500) {\n $div.find('img').eq(i).addClass('height-one');\n }\n if (res['height'] < 500 && res['width'] < 400) {\n $div.find('img').eq(i).addClass('height-two');\n }\n length--;\n if (length == 0) {\n content = $div.html();\n resolve(content);\n }\n });\n }\n }\n else {\n content = $div.html();\n resolve(content);\n }\n })\n }\n\n getMeta(url) {\n return new Promise((resolve, reject) => {\n var img = new Image();\n img.onload = function () {\n resolve({ width: img.width, height: img.height });\n };\n img.src = url;\n })\n }\n\n debounce(func, wait, immediate = false) {\n let timeout;\n return function () {\n let context = this, args = arguments;\n let later = function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n let callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n };\n\n}\n","export const LOGIN_ERROR = {\n wrong_mobile: 'This mobile no is not registered with us',\n wrong_password: 'Passwords does not match!',\n wrong_email: 'This email is not registered with us',\n field_required: 'This field is required',\n};\n\nexport const OTP_ERROR = {\n wrong_otp: 'OTP entered is invalid'\n};\n\nexport const LOGIN_ERROR_KEYWORDS = {\n user_name: 'username',\n password: 'password',\n mobile: 'mobile',\n email: 'email'\n};\n \nexport const CART_WARNING = {\n MESSAGE: 'Updating Cart!' \n};","const HOME_CARDS_ROUTE = {\n myTests : 'myTests',\n testHistory: 'test-history',\n revision: 'revision',\n upcomingTest: 'upcoming-tests',\n swotBoard: 'swot',\n buyCourses: 'buy-course', \n buildTest: 'build-test', \n previousYearPapers: 'previous-year-papers'\n};\n\nconst ALL_CARDS = 'allCards';\n\nconst HOME_ROUTE = '/home';\nconst BUY_COURSE = 'buyCourse';\nconst SEARCH_RESULT = 'searchResult';\nconst MY_REVISION_PLAN = 'my-revision-plan';\n\n\nexport {HOME_ROUTE, HOME_CARDS_ROUTE, BUY_COURSE, SEARCH_RESULT, MY_REVISION_PLAN, ALL_CARDS};","import { Action } from '@ngrx/store';\n\nexport const START_TEST = \"START_TEST\";\nexport const START_TEST_DETAILS = \"START_TEST_DETAILS\";\nexport const GET_QUESTIONS = \"GET_QUESTIONS\";\nexport const GET_QUESTIONS_START = \"GET_QUESTIONS_START\";\nexport const RESUME_TEST = \"RESUME_TEST\";\nexport const RESUME_TEST_START = \"RESUME_TEST_START\";\nexport const GET_QUESTION = \"GET_QUESTION\";\nexport const UPDATE_QUESTION = \"UPDATE_QUESTION\";\nexport const UPDATE_SECTION_TYPE = \"UPDATE_SECTION_TYPE\";\nexport const MARK_REVIEW = \"MARK_REVIEW\";\nexport const UPDATE_SECTION = \"UPDATE_SECTION\";\nexport const SEND_RESPONSE = \"SEND_RESPONSE\";\nexport const SEND_RESPONSE_START = \"SEND_RESPONSE_START\";\nexport const UPDATE_PROGRESS = \"UPDATE_PROGRESS\";\nexport const MARK_PROGRESS = \"MARK_PROGRESS\";\nexport const MARK_FOR_REVIEW = \"MARK_FOR_REVIEW\";\nexport const UNMARK_FOR_REVIEW = \"UNMARK_FOR_REVIEW\";\nexport const GET_RESULT_START = \"GET_RESULT_START\";\nexport const GET_RESULT = \"GET_RESULT\";\nexport const UPDATE_PROGRESS_CPP = 'UPDATE_PROGRESS_CPP';\nexport const MARK_PROGRESS_CPP = 'MARK_PROGRESS_CPP';\nexport const UPDATE_QUESTION_TIME = 'UPDATE_QUESTION_TIME';\nexport const UPDATE_PROGRESS_JEEADV = 'UPDATE_PROGRESS_JEEADV';\nexport const MARK_PROGRESS_JEEADV = 'MARK_PROGRESS_JEEADV';\nexport const CLEAR_RESPONSE = 'CLEAR_RESPONSE';\n\nexport class UpdateQuestionTime implements Action {\n readonly type = UPDATE_QUESTION_TIME;\n constructor(public payload: {\"timeSpent\": any, \"time\": any}){}\n}\n\nexport class StartTest implements Action {\n readonly type = START_TEST;\n constructor(public payload: {\"teacherId\": any, \"assignmentId\": any, \"orgId\": any, \"free\": any, \"challengeId\": any, \"testId\": string, \"courseId\": any}){}\n}\n\nexport class StartTestDetail implements Action {\n readonly type = START_TEST_DETAILS;\n constructor(public payload: {\"testType\": any, \"startTime\": any, \"currentQuestionId\": any, \"currentSectionId\": any, \"currentTypeId\": any, \"details\": any, \"questions\": any, \"progress\": any, \"questionIds\": any, \"attemptNo\": any, \"question_array\": any, \"attemptId\": any, \"questionsAnsweredReviewed\": any, \"questionsReviewed\": any, \"questionsNotVisited\": any, \"questionsVisited\": any, \"questionsAttempted\": any, \"questionsNotAttempted\": any, \"totalDuration\": any, \"minQuestions\": any, \"paperTitle\": any,\"testStartDate\":any,\"testEndDate\":any, \"serverTimeInitially\":any, \"questionImages\":any, \"sectionWiseNumbering\":boolean, \"showNewInstruction\":boolean, \"isAutoProctoring\":boolean}){}\n}\n\nexport class ResumeTestStart implements Action {\n readonly type = \"RESUME_TEST_START\";\n constructor(public payload: {\"teacherId\": any, \"assignmentId\": any, \"orgId\": any, \"challengeId\": any, \"testId\": any, \"attemptId\": any, \"courseId\": any}){} \n}\n\nexport class ResumeTest implements Action {\n readonly type = \"RESUME_TEST\";\n constructor(public payload: {}){} \n}\n\nexport class GetQuestions implements Action {\n readonly type = GET_QUESTIONS;\n constructor(public payload: {}){}\n}\nexport class GetQuestionsStart implements Action {\n readonly type = GET_QUESTIONS_START;\n constructor(public payload: {\"duration\": any, \"attemptId\": any, \"questionIds\": any, \"testId\": any, \"courseId\": any}){}\n}\nexport class UpdateSectionType implements Action {\n readonly type = UPDATE_SECTION_TYPE;\n constructor(public payload: {\"currentTypeId\": any, \"timeSpent\": any, \"testId\": any}){}\n}\nexport class UpdateSection implements Action {\n readonly type = UPDATE_SECTION;\n constructor(public payload: {\"type\": any, \"currentTypeId\": any, \"currentSectionId\": any, \"timeSpent\": any, \"testId\": any}){}\n}\nexport class GetQuestion implements Action {\n readonly type = GET_QUESTION;\n constructor(public payload: {\"testId\": string, \"qId\": string}){}\n} \nexport class UpdateQuestion implements Action {\n readonly type = UPDATE_QUESTION;\n constructor(public payload: {\"testId\": any, \"currentQuestionId\": any, \"currentSectionId\": any, \"currentTypeId\": any, \"timeSpent\": any}){}\n}\nexport class MarkReview implements Action {\n readonly type = MARK_REVIEW;\n constructor(public payload: {\"timeSpent\"}){};\n}\nexport class UnMarkReview implements Action {\n readonly type = UNMARK_FOR_REVIEW;\n constructor(public payload: {}){};\n}\nexport class SendResponse implements Action {\n readonly type = SEND_RESPONSE;\n constructor(public payload: { 'timeLeft': any, 'totalSessionTime': any}) {}\n}\nexport class SendResponseStart implements Action {\n readonly type = SEND_RESPONSE_START;\n constructor(public payload: {\"optionsMatrix\": any, \"optionsMcq\": any, \"type\": any, \"isVisited\": any, \"isMarked\": any, \"isAnsweredMarkedForReview\": any, \"startTime\": any, \"duration\": any, \"testId\": string, \"questionId\": string, \"sectionId\": string, \"subSectionId\": string, \"options\": any, \"timePerQuestion\": string, \"courseId\": string, \"isAttempted\": string, \"attemptNo\": number, \"attemptId\": string}){};\n}\nexport class UpdateProgress implements Action {\n readonly type = UPDATE_PROGRESS;\n constructor(public payload: {\"options\": any, \"timeSpent\": any, \"testId\": any}){};\n}\nexport class MarkProgress implements Action {\n readonly type = MARK_PROGRESS;\n constructor(public payload: {\"options\": any, \"timeSpent\": any, \"testId\": any}){};\n}\nexport class UpdateProgressCPP implements Action {\n readonly type = UPDATE_PROGRESS_CPP;\n constructor(public payload: {\"options\": any, \"timeSpent\": any, \"testId\": any}){};\n}\nexport class MarkProgressCPP implements Action {\n readonly type = MARK_PROGRESS_CPP;\n constructor(public payload: {\"options\": any, \"timeSpent\": any, \"testId\": any}){};\n}\nexport class UpdateProgressJEEADV implements Action {\n readonly type = UPDATE_PROGRESS_JEEADV;\n constructor(public payload: {'options': any, 'timeSpent': any, 'testId': any}) {}\n}\nexport class MarkProgressJEEADV implements Action {\n readonly type = MARK_PROGRESS_JEEADV;\n constructor(public payload: {'options': any, 'timeSpent': any, 'testId': any}) {}\n}\nexport class MarkForReview implements Action {\n readonly type = MARK_FOR_REVIEW;\n constructor(public payload: {\"testId\": string, \"qId\": string, \"isMarked\": boolean}){};\n}\nexport class GetResultStart implements Action {\n readonly type = GET_RESULT_START;\n constructor(public payload: {\"testId\": string, \"attemptId\": string, \"totalTimeTaken\": any, \"courseId\": string}){};\n}\nexport class GetResult implements Action {\n readonly type = GET_RESULT;\n constructor(public payload: {}){};\n}\nexport class ClearResponse implements Action {\n readonly type = CLEAR_RESPONSE;\n constructor(public payload: {'options': any, 'timeSpent': any, 'testId': any}) {}\n}\n\nexport type TestOngoingActionList = UpdateQuestionTime|MarkProgress|GetQuestions|GetQuestion|UpdateQuestion|UpdateProgress|MarkForReview|UpdateSectionType|UpdateSection|MarkReview|GetResult|SendResponse|StartTestDetail|ResumeTest|UnMarkReview|MarkProgressCPP|UpdateProgressCPP|UpdateProgressJEEADV|MarkProgressJEEADV|ClearResponse;\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'loader-lite',\n templateUrl: './loader-lite.component.html',\n styleUrls: ['./loader-lite.component.scss']\n})\nexport class LoaderLiteComponent implements OnInit {\n\n @Input('customClass') customClass = '';\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n \n
","import { USER_TYPE } from \"./quiz-platform/constants/quiz.constants\";\nexport const EDFORA_QUIZ_DOMAIN = 'quiz.edfora.com';\nexport const EDFORA_QUIZ_TITLE = 'Edfora - Education for All';\nexport const EDFORA_QUIZ_FAVICON = 'https://www.edfora.com/favicon.ico';\nexport const EDFORA_QUIZ_URL = `quiz/${USER_TYPE.ADVTSEPT_2}`;\n\nexport const ROUTES_LINK = {\n ACCOUNT_DELETION: 'user/account-deletion'\n}\nexport const EDFORA_DOMAIN = '.edfora.com';\nexport const FACULTY_RECRUITMENT = 'facultyrecruitment';\nexport const EDFORA_QUIZ_URL_STPT_15 = `quiz/${USER_TYPE.ADVTSEPT_15}`;\n","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject, merge } from 'rxjs';\nimport { LazyLoadFile, LazyLoadFileImpl } from '../shared.module';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LazyLoadingService {\n\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n constructor(\n @Inject(DOCUMENT) private readonly document: Document\n ) { }\n\n lazyLoad(lazyLoadFiles: LazyLoadFile[]): Observable {\n return merge(\n lazyLoadFiles.map(file => {\n if (file.type === 'stylesheet') {\n return this.loadStyle(file.url)\n }\n else if (file.type === 'script') {\n return this.loadScript(file.url);\n }\n })\n );\n }\n\n loadScript(url: string): Observable {\n if (this.loadedLibraries[url]) {\n return this.loadedLibraries[url].asObservable();\n }\n\n this.loadedLibraries[url] = new ReplaySubject();\n\n const script = this.document.createElement('script');\n // script.type = 'text/javascript';\n script.src = url;\n script.async = true;\n script.onload = () => {\n this.loadedLibraries[url].next();\n this.loadedLibraries[url].complete();\n };\n\n this.document.body.appendChild(script);\n return this.loadedLibraries[url].asObservable();\n }\n\n loadStyle(url: string): Observable {\n if (this.loadedLibraries[url]) {\n return this.loadedLibraries[url].asObservable();\n }\n\n this.loadedLibraries[url] = new ReplaySubject();\n\n const style = this.document.createElement('link');\n style.href = url;\n style.rel = 'stylesheet';\n style.onload = () => {\n this.loadedLibraries[url].next();\n this.loadedLibraries[url].complete();\n };\n\n const head = document.getElementsByTagName('head')[0];\n head.appendChild(style);\n\n return this.loadedLibraries[url].asObservable();\n }\n}","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-info-popup',\n templateUrl: './info-popup.component.html',\n styleUrls: ['./info-popup.component.scss']\n})\nexport class InfoPopupComponent implements OnInit {\n\n constructor() { }\n @Input() heading: String;\n @Input() imgSrc: String;\n @Input() text: String;\n ngOnInit(): void {\n }\n\n}\n","\n
\n
\n
\n \n
\n \n
\n \"{{heading}}\"\n

{{heading}}

\n

{{text}}

\n
\n
\n
\n \n
\n
\n
\n
","import { Injectable, EventEmitter } from '@angular/core';\nimport { HttpService } from '../../shared/services/http.service';\nimport { AlertService } from '../../shared/services/alert.service';\nimport { BehaviorSubject } from 'rxjs';\nimport { environment } from '../../../environments/environment';\nimport { HOME_CARDS_ROUTE } from '../constants/routes.constant';\nimport { Router } from '@angular/router';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HomeService {\n\n public homeSearchUpdate: EventEmitter = new EventEmitter();\n public updateWorkingOnHomePage = new BehaviorSubject('');\n public expandHomeCard = new BehaviorSubject('');\n public showCardDetail = new BehaviorSubject('');\n public filtersApplied = new BehaviorSubject('');\n public isTimeManagementPopup = new BehaviorSubject('')\n public selectedCardData = new BehaviorSubject({});\n public tagColor = {\n 'chapter': '#ff7575',\n 'subject': '#609b93',\n 'concept': '#9f37ae',\n 'goal': '#1d7dea',\n 'general': '#F8AA4B'\n }\n constructor(private http: HttpService, private alertService: AlertService, private router: Router) { }\n\n selectCard(card: any){\n this.selectedCardData.next(card);\n const route = `home/${HOME_CARDS_ROUTE[card.type]}`;\n localStorage.setItem('lastRequested',route);\n localStorage.setItem('lastRequestedModule', route);\n this.router.navigateByUrl(route);\n }\n \n fetchHomeCardsData(): any {\n return new Promise((resolve, reject) => {\n this.http.get('v4/auth/users/cards', true, null, true).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res.data);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n fetchOngoingAttemptData(): any {\n return new Promise((resolve, reject) => {\n this.http.get('v4/auth/tests/ongoing', true, null, true, false, environment.serverURLv4).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res.data);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n fetchRecentSearch(): any {\n return new Promise((resolve, reject) => {\n this.http.get('v4/auth/search/recent-searches', true, null, true, false).subscribe((res) => {\n if (res && res.code === 200) {\n console.log(res.data.recentSearches)\n resolve(res.data.recentSearches);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n searchSuggestions(types, query): any {\n query = encodeURIComponent(query);\n\n return new Promise((resolve, reject) => {\n this.http.get(`v4/auth/syllabus?searchQuery=${query}&types=${types}`, true, null, true, false).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res.data.syllabusData);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getCommunityQuestion(searchQuery: string, pageNumber: number, masterId: any, type?: any) {\n searchQuery = encodeURIComponent(searchQuery)\n return new Promise((resolve, reject) => {\n this.http.get(`v4/auth/search/community/questions?searchQuery=${searchQuery}&pageNumber=${pageNumber}${masterId ? '&masterId=' + masterId : ''}${type ? '&type=' + type : ''}`, true, null, true, false).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res.data);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getSummaryCardData(id, type): any {\n return new Promise((resolve, reject) => {\n this.http.get(`v4/auth/search/summary-card?id=${id}&type=${type}`, true, null, true, false).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res.data);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getSummaryRelatedTest(id, type, name) {\n name = encodeURIComponent(name)\n\n return new Promise((resolve, reject) => {\n this.http.get(`v4/auth/search/related-tests?type=${type}&syllabusId=${id}&name=${name}`, true, null, true, false).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res.data);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n })\n })\n }\n getRelatedTopicsData(id, type): any {\n return new Promise((resolve, reject) => {\n this.http.get(`v4/auth/search/related-topics?id=${id}&type=${type}`, true, null, true, false).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res.data.relatedTopics);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n clearAllSuggestion() {\n return new Promise((resolve, reject) => {\n this.http.delete(`v4/auth/search/recent-searches`, null, true).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n feedback(param) {\n let showLoader = false;\n if (param['reportType']) {\n showLoader = true;\n }\n this.http.post('community/feedback', true, param, showLoader, false, false, environment.serverURLv3).subscribe(res => console.log(res));\n }\n\n followQuestion(payload) {\n this.http.post('community/followQuestion', true, payload, true, false, false, environment.serverURLv3).subscribe(res => console.log(res));\n }\n\n //post feedback\n postFeedback(category, categoryId, reportType, types, voteType) {\n return this.http.post('community/feedback', true, { category, categoryId, reportType, types, voteType }, false, false, false, environment.serverURLv3);\n }\n}\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\n\ndeclare var $: any;\n@Component({\n selector: 'app-done-with-revision',\n templateUrl: './done-with-revision.component.html',\n styleUrls: ['./done-with-revision.component.scss']\n})\nexport class DoneWithRevisionComponent implements OnInit {\n\n @Output() confirmExit = new EventEmitter();\n @Output() closeRevPopup = new EventEmitter();\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n closePopup(): void {\n $('#doneRevisionModal').modal('hide');\n $('.modal-backdrop').remove();\n $('body').removeClass('modal-open');\n this.closeRevPopup.emit();\n }\n\n leave(): void {\n this.confirmExit.emit();\n }\n\n}\n","\n
\n
\n
\n
\n \n Done with your revision?\n

Make sure that you’ve revised all questions before you exit!

\n
\n \n
\n \n \n
\n
\n
\n
","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { HttpService } from '../../../shared/services/http.service';\nimport { AlertService } from '../../../shared/services/alert.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProfileService {\n\n public personalInfoUpdated = new BehaviorSubject(false);\n public schoolAdded = new BehaviorSubject(false);\n public emailMobileAdded = new BehaviorSubject({});\n public editedCourseDetails = new BehaviorSubject({});\n public showMyPlanPopUp = new BehaviorSubject(false);\n\n constructor(private httpService: HttpService, private alertService: AlertService) {\n }\n\n getClasses(): any {\n return new Promise((resolve, reject) => {\n this.httpService.get('v4/classes', {}).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getCareers(value): any {\n return new Promise((resolve, reject) => {\n this.httpService.get(`v4/careers?classId=${value}`, null).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getGoals(value): any {\n return new Promise((resolve, reject) => {\n const apiName = `v4/courses?courseTypeIds=${value.courseTypeIds}&sessionYear=${value.sessionYear}&classId=${value.classId}`;\n this.httpService.get(apiName, null).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getCountryData(): any {\n return new Promise((resolve, reject) => {\n this.httpService.get(`v4/locations`, {}).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getStateData(countryId): any {\n return new Promise((resolve, reject) => {\n const apiName = 'v4/locations?countryId=' + countryId;\n this.httpService.get(apiName, {}).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getCityData(data): any {\n return new Promise((resolve, reject) => {\n const apiName = 'v4/locations?countryId=' + data.countryId + '&stateId=' + data.stateId;\n this.httpService.get(apiName, {}).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getSchoolData(data): any {\n const apiName = 'v4/auth/schools?cityId=' + data.cityId + '&schoolName=' + data.schoolName;\n return new Promise((resolve, reject) => {\n this.httpService.get(apiName, {}).subscribe((res) => {\n if (res && res.code) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n // get permission from s3 to upload image\n getPreSignedUrl(dataRecieved, imageData): Promise {\n return new Promise((resolve, reject) => {\n const apiUrl = 'v4/auth/upload-signed-url?location=schoolId';\n this.httpService.get(apiUrl, true, { key: dataRecieved.name.toString() }, false).subscribe(\n (res) => {\n if (res && res.code === 200) {\n if (res.data.url && res.data.fields) {\n // this.imageUrl = res.data.url + '/' + res.data.fields.key;\n this.uploadYourFileOnS3(res.data, imageData).then((resN) => {\n resN.imageUrl = res.data.url + '/' + res.data.fields.key;\n resolve(resN);\n });\n // if (this.imageUrl) {\n // tslint:disable-next-line: no-string-literal\n // this.schoolData.school['schoolIdUrl'] = this.imageUrl;\n }\n // this.store.dispatch(new UserProfileAction.AddSchool(this.schoolData));\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n // // upload image after permision\n uploadYourFileOnS3(data, imageData): Promise {\n return new Promise((resolve, reject) => {\n this.httpService.postUploadFile(data, imageData).subscribe((res) => {\n if (res) {\n if (res && res.status === 204) {\n resolve(res);\n }\n }\n });\n });\n }\n\n updateNameAndUserName(data): Promise {\n const apiName = 'v4/auth/user-name';\n return new Promise((resolve, reject) => {\n this.httpService.put(apiName, true, data).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n updateUserDetails(data): Promise {\n const apiName = 'v4/auth/user';\n return new Promise((resolve, reject) => {\n this.httpService.put(apiName, true, data).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n Router, Resolve,\n RouterStateSnapshot,\n ActivatedRouteSnapshot\n} from '@angular/router';\nimport { Observable, of } from 'rxjs';\nimport { Store } from '@ngrx/store';\nimport { AppState } from './stores/app.reducers';\nimport { catchError, filter, first, switchMap } from 'rxjs/operators';\nimport { ROUTES as ON_SPOT_ROUTES } from './on-spot-test/on-spot-test.constants';\nimport { getAdmissionTestRedirectionUrl } from './shared/utils/admissionTest.util';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AdmissionTestGuardResolver implements Resolve {\n constructor(private store: Store, private router: Router) {}\n\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\n return this.store.select('auth').pipe(\n switchMap((auth) => {\n const queryParams: any = route.queryParamMap;\n if (queryParams?.params?.authToken) {\n return of(true);\n }\n if (!auth.authenticated) {\n return of(true);\n }\n return this.store.select('userProfile').pipe(\n filter((data) => !!(data?.userData?.userId)),\n switchMap((data) => {\n if (data?.userData?.isAdmissionTestUser) {\n let redirectionUrl = getAdmissionTestRedirectionUrl(data?.userData?.admissionTestDetail);\n if (data?.userData?.onSpotRegNo) {\n redirectionUrl = `${ON_SPOT_ROUTES.ON_SPOT}/${ON_SPOT_ROUTES.DASHBOARD}`;\n }\n if (!state.url.includes(redirectionUrl) && !state.url.includes('test-ongoing') && !state.url.includes('test-results')) {\n this.router.navigate([redirectionUrl]);\n return of(false);\n }\n }\n return of(true);\n }),\n catchError(() => {\n return of(true);\n }),\n first()\n );\n }),\n catchError(() => {\n return of(true);\n }),\n first()\n );\n }\n}\n","
\n
\n \n {{pageContent.pageHeading}}\n

{{pageContent.pageMessage}}

\n \n
\n
\n","import { Component, Input, OnInit } from '@angular/core';\n\ninterface IPageContent {\n pageName: String;\n pageMessage: String;\n pageHeading: String;\n image: String;\n}\n\n@Component({\n selector: 'app-page-lock',\n templateUrl: './page-lock.component.html',\n styleUrls: ['./page-lock.component.scss']\n})\n\nexport class PageLockComponent implements OnInit {\n @Input() pageContent: IPageContent;\n\n constructor() { }\n\n ngOnInit(): void { }\n\n}\n","import { Action } from '@ngrx/store';\n\nexport const SET_LOADER = 'SET_LOADER';\n\nexport class SetLoader implements Action {\n readonly type = SET_LOADER;\n constructor(public payload: boolean){}\n}\n\nexport type LoaderActionList = SetLoader;\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges } from '@angular/core';\n\ndeclare var $: any;\n@Component({\n selector: 'app-multiselectfilter',\n templateUrl: './multiselectfilter.component.html',\n styleUrls: ['./multiselectfilter.component.css']\n})\nexport class MultiselectfilterComponent implements OnInit, OnChanges {\n\n @Input() filters: any;\n @Output() onChange = new EventEmitter();\n @Input() clearingData: Boolean;\n constructor() { }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n if (this.clearingData) {\n const items = document.getElementsByName('cBoxes');\n const checkElements = Array.from(items);\n checkElements.forEach((res) => {\n if (res['type'] === 'checkbox') {\n res['checked'] = false;\n }\n });\n }\n }\n\n change(isChecked, filterKey, filterValue) {\n const that = this;\n setTimeout(function () {\n const objToPass = {\n 'isChecked': isChecked,\n 'filterKey': filterKey,\n 'filterValue': filterValue\n };\n that.onChange.emit(objToPass);\n }, 0);\n }\n\n // isSelected(){\n // let id=\"#\"+this.option.value;\n // if(this.filterProps[this.propName].indexOf(this.option.value)>=0)\n // $(id).prop('checked',true); \n // else\n // $(id).prop('checked',false);\n // }\n\n}\n","\n

{{filters && filters.filterKey}}

\n
\n
    \n
  • \n \n
  • \n
\n
","export const countryArray = [\n {\n alpha3: 'IND',\n name: 'India',\n dialCode: '+91',\n class: 'India',\n regex: '^[6-9]\\\\d{9}$',\n flag: 'india'\n },\n {\n alpha3: 'NPL',\n name: 'Nepal',\n dialCode: '+977',\n class: 'Nepal',\n regex: '^[1-9]\\\\d{9}$',\n flag: 'nepal'\n },\n {\n alpha3: 'SAU',\n name: 'Saudi Arabia',\n dialCode: '+966',\n class: 'SaudiArabia',\n regex: '^(5)(5|0|3|6|4|9|1|8|7)([0-9]{7})$',\n flag: 'saudi-arabia'\n },\n {\n alpha3: 'MYS',\n name: 'Malaysia',\n dialCode: '+60',\n class: 'Malaysia',\n regex: '[1][0123456789][0-9]{5}',\n flag: 'malaysia'\n },\n {\n alpha3: 'ARE',\n name: 'United Arab Emirates',\n dialCode: '+971',\n class: 'UnitedArabEmirates',\n regex: '^(5[02468]{1})[1-9]{1}[0-9]{6}$',\n flag: 'united-arab-emirates'\n },\n {\n alpha3: 'MMR',\n name: 'Myanmar',\n dialCode: '+95',\n class: 'Myanmar',\n regex: '[9][0-9]{9}',\n flag: 'myanmar'\n },\n {\n alpha3: 'LKA',\n name: 'Sri Lanka',\n dialCode: '+94',\n class: 'SriLanka',\n regex: '[7][0-9]{6}',\n flag: 'sri-lanka'\n },\n {\n alpha3: 'OMN',\n name: 'Oman',\n dialCode: '+968',\n class: 'Oman',\n regex: '[9]\\\\d[0-9]{6}$',\n flag: 'oman'\n },\n {\n alpha3: 'SGP',\n name: 'Singapore',\n dialCode: '+65',\n class: 'Singapore',\n regex: '[689]\\\\d[0-9]{7}$',\n flag: 'singapore'\n },\n {\n alpha3: 'BHR',\n name: 'Bahrain',\n dialCode: '+973',\n class: 'Bahrain',\n regex: '(31|33|36|39|322|340|341|342|343|344|345|353|377|383|384|388|663|666|669){1}[0-9]{5}',\n flag: 'bahrain'\n },\n {\n alpha3: 'QAT',\n name: 'Qatar',\n dialCode: '+974',\n class: 'Qatar',\n regex: '[3-9]{1}[0-9]{7}$',\n flag: 'qatar'\n },\n {\n alpha3: 'ZAF',\n name: 'South Africa',\n dialCode: '+27',\n class: 'SouthAfrica',\n regex: '[0]\\\\d[1-9]{9}$',\n flag: 'south-africa'\n },\n {\n alpha3: 'USA',\n name: 'United States Of America',\n dialCode: '+1',\n class: 'UnitedStates',\n regex: '^([2-9]{3})[0-9]{3}[0-9]{4}$',\n flag: 'united-states-of-america'\n }\n]\n\nexport const USER_ROUTES = {\n USER: 'user',\n LOGIN: 'login',\n SIGNUP: 'signup'\n};\n\nexport const COURSES_CLASSES_DATA = {\n class_9th: '9th',\n class_10th: '10th',\n class_11th: '11th',\n class_12th: '12th',\n class_12th_Pass: '12th Pass',\n goal_jee_m: 'JEE(M)',\n goal_jee_a: 'JEE(A)',\n goal_ntse: 'NTSE',\n goal_bitsat: 'BITSAT',\n};\n","export const FORM_TYPE={\n PREP_TRACKER:'prep_tracker',\n HOME_INFO:'home-info',\n COLLEGE_PRED:'college-predictor'\n};","import { Component, OnInit, Input, Output } from '@angular/core';\nimport { EventEmitter } from '@angular/core';\ndeclare const $: any;\n@Component({\n selector: 'app-report-abuse',\n templateUrl: './report-abuse.component.html',\n styleUrls: ['../../../new-community/new-community.component.scss']\n})\nexport class ReportAbuseComponent implements OnInit {\n @Input() modalId: string;\n @Output() reportQuestionEvent = new EventEmitter();\n reportType: number\n reportTypeValue: string;\n\n\n constructor() {\n this.reportType = 0\n }\n\n ngOnInit() {\n\n }\n\n\n reportTypeClick(str) {\n if (str == \"Spam\") {\n this.reportType = 1;\n this.reportTypeValue = \"Spam\";\n } else if (str == \"Abusive / Personal Attack\") {\n this.reportType = 2;\n this.reportTypeValue = \"Abusive / Personal Attack\";\n } else if (str == \"Insincere\") {\n this.reportType = 3;\n this.reportTypeValue = \"Insincere\";\n } else if (str == \"Poorly Written\") {\n this.reportType = 4;\n this.reportTypeValue = \"Poorly Written\";\n } else {\n this.reportType = 5;\n this.reportTypeValue = \"Incorrect Topics\";\n }\n\n }\n\n reportQuestion() {\n this.reportQuestionEvent.emit(this.reportTypeValue)\n this.reportTypeValue = ''\n $(`#${this.modalId}`).modal('hide')\n\n }\n\n}","\n
\n
\n
\n
\n
Report Abuse
\n \n \n
\n
\n

Choose one of the following:

\n Spam\n Abusive/Personal\n Attack\n Insincere\n Poorly Written\n Incorrect Topics\n
\n
\n \n \n
\n
\n\n
\n
","import { Injectable } from '@angular/core';\nimport { HttpService } from '../../shared/services/http.service';\nimport { BehaviorSubject } from 'rxjs/BehaviorSubject';\nimport { AlertService } from '../../shared/services/alert.service';\nimport { Observable, ObservableInput } from 'rxjs/Observable';\nimport { environment } from 'src/environments/environment';\nimport { env } from 'process';\nimport _ from 'lodash';\ndeclare var $: any;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SolutionService {\n\n constructor(private http: HttpService, private alert: AlertService) {\n }\n\n public solutionFilterData = new BehaviorSubject({});\n public sideFilterDetails = new BehaviorSubject({});\n public filterSelected = new BehaviorSubject({});\n public isFilterListLoading = new BehaviorSubject(true);\n public isSolutionListLoading = new BehaviorSubject(true);\n public hideFilterForSubjectiveCPP = new BehaviorSubject(false);\n public allMistakes = new BehaviorSubject([]);\n\n getDataForSolution(dataToPass) {\n this.http.post('solutionStats', true, dataToPass, false, false, false, environment.serverURLv3).subscribe((res) => {\n if (res) {\n this.solutionFilterData.next(res);\n this.isSolutionListLoading.next(false);\n this.isFilterListLoading.next(false);\n // this.cleverTap.solutionViewed();\n }\n });\n }\n\n sendSolutionVisitTime(dataToPass) {\n this.http.post('solutionVisitTime', true, dataToPass, false, false, false, environment.serverURLv3).subscribe((res) => {\n if (res.code === 200) {\n }\n });\n }\n\n sendQuestionVisitTime(dataToPass) {\n this.http.post('questionVisitTime', true, dataToPass, false, false, false, environment.serverURLv3).subscribe((res) => {\n if (res.code === 200) {\n }\n });\n }\n\n updateRatings(obj) {\n if (obj.type.toLowerCase() === 'question') {\n this.http.post('rateQuestion', true, obj, true, false, false, environment.serverURLv3).subscribe((res) => {\n if (res.code === 200) {\n this.alert.showSuccessMessage('Your response has been submitted sucessfully');\n $('rateQuestion').modal('hide');\n }\n });\n } else {\n this.http.post('rateSolution', true, obj, true, false, false, environment.serverURLv3).subscribe((res) => {\n if (res.code === 200) {\n this.alert.showSuccessMessage('Your response has been submitted sucessfully');\n $('rateQuestion').modal('hide');\n }\n });\n }\n }\n\n submitMistakes(obj) {\n this.http.post('markQuestionMistakes', true, obj, true, false, false, environment.serverURLv3).subscribe((res) => {\n if (res.code === 200) {\n this.alert.showSuccessMessage('Your response has been submitted sucessfully');\n }\n });\n }\n\n bookMarkAQuestion(obj) {\n this.http.post('bookmarkQuestion', true, obj, true, false, false, environment.serverURLv3).subscribe((res) => {\n if (res.code === 200) {\n this.alert.showSuccessMessage('Question Bookmarked sucessfully');\n }\n });\n }\n\n submitYourSuggession(obj) {\n return new Promise((resolve, reject) => {\n this.http.post('questionSuggestion', true, obj, true, false, false, environment.serverURLv3).subscribe((res) => {\n if (res.code === 200) {\n this.alert.showSuccessMessage('Thank you for your valuable feedback. We will shortly get back to you with a resolution');\n return resolve(res.code);\n }\n });\n });\n }\n\n setSolutionListLoading(value) {\n this.isSolutionListLoading.next(value);\n }\n\n resetData() {\n this.solutionFilterData.next({});\n }\n\n public getQuestionTags(): Observable {\n return this.http.get('api/v3/userTag', true, null, true, false, environment.serverURLv3);\n }\n\n public saveQuestionTag(postBody: {}): Observable {\n return this.http.post('api/v3/userTag', true, postBody, false, false, false, environment.serverURLv3);\n }\n\n public deleteCustomTag(tagId: string): Observable {\n return this.http.delete(`api/v3/userTag/${tagId}`, true, null, environment.serverURLv3);\n }\nf\n public getOneQuestionTag(tagId: string): Observable {\n return this.http.get(`api/v3/userTag/${tagId}`, true, null, false, false, environment.serverURLv3);\n }\n\n public updateTagInformation(tagId: string, postBody: {}): Observable {\n return this.http.put(`api/v3/userTag/${tagId}`, true, postBody, false, environment.serverURLv3);\n }\n\n public addRevisionQuestion(postBody: {}): Observable {\n return this.http.post('api/v3/revision', true, postBody, false, false, false, environment.serverURLv3);\n }\n\n public getRevisionQuestion(questionId: string, attemptId?: string): Observable {\n return this.http.get(`api/v3/revision/questions/${questionId}${attemptId?'/attempts/'+attemptId:''}`, true, null, false, false, environment.serverURLv3);\n }\n\n public removeRevisionQuestion(questionId: string): Observable {\n return this.http.delete(`api/v3/revision/questions/${questionId}`, null, true, environment.serverURLv3);\n }\n\n public getDeleteQuestionCount(tagId: string): Observable {\n return this.http.get(`api/v3/revision/filterAndCount?tagIds=${tagId}`, true, null, false, false, environment.serverURLv3);\n }\n public fetchAllMistakeTags(){\n const apiUrl = 'question-mistake-tags';\n return new Promise((resolve,reject)=>{\n this.http.get(apiUrl, true, null, true,false,environment.serverURLv3).subscribe(res => {\n let questionMistakeTags=[];\n if(res.code==200){\n questionMistakeTags=_.get(res,\"data.questionMistakeTags\",[]);\n }\n this.allMistakes.next(questionMistakeTags);\n resolve(questionMistakeTags);\n })});\n }\n public addCustomMistake(postBody:{name:String}){\n const apiUrl = 'question-mistake-tags';\n return new Promise((resolve,reject)=>{\n this.http.post(apiUrl, true, postBody,false,true,false,environment.serverURLv3).subscribe(res => {\n resolve(res);\n })});\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\n\nimport { Store } from '@ngrx/store';\nimport { Effect, Actions, ofType } from '@ngrx/effects';\n\nimport { map, catchError, switchMap, tap, mergeMap } from 'rxjs/operators';\n\nimport * as AuthActions from './auth.actions';\nimport * as fromApp from '../../stores/app.reducers';\nimport * as UserProfileActionList from '../profile/user-profile.actions';\nimport * as LoaderAction from \"../../stores/loader/loader.actions\";\nimport { HttpService } from '../../shared/services/http.service';\nimport { AlertService } from '../../shared/services/alert.service';\nimport { UtilityService } from '../../shared/services/utility.service';\nimport { ExtraEdgeService } from '../../shared/services/extra-edge.service';\nimport { SignupService } from '../../auth/signup-login-master/shared/services/signup.service';\nimport { FiitJeeService } from '../../auth/fiit-jee-login/service/fiit-jee.service';\nimport { environment } from 'src/environments/environment';\nimport { of } from 'rxjs';\nimport { DetectLocationService } from 'src/app/shared/services/detect-location.service';\nimport { ExtraEdgeV3Service } from 'src/app/utility/extra-edge-v3.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\ninterface ApiResponse {\n code: number;\n data: any;\n message: any;\n}\n\ninterface SocialSignup {\n provider: string;\n authToken: string;\n}\n\ndeclare var $: any;\ndeclare var window: any;\n@Injectable()\nexport class AuthEffects {\n\n body;\n response;\n id: any;\n extraedgeCampaign: any;\n leadSource: any;\n leadType: any;\n leadName: any;\n userData: any;\n profileDataResponse: any;\n profiledataResponseFiitjee: any;\n public signuplognpassedInfo: any;\n constructor(\n private http: HttpService,\n private detectLocationService: DetectLocationService,\n private action$: Actions,\n private store: Store,\n private router: Router,\n private route: ActivatedRoute,\n private utility: UtilityService,\n private signUpService: SignupService,\n private alert: AlertService,\n private extraEdge: ExtraEdgeService,\n private fiitJee: FiitJeeService,\n private extraEdgeV3: ExtraEdgeV3Service,\n private _helper: HelperService\n ) {\n this.store.select('userProfile').subscribe((userProfile) => {\n this.userData = userProfile.userData;\n });\n }\n\n // Registering the effect of verify mobile\n @Effect({ dispatch: false })\n verifyOtpEmail = this.action$.pipe(\n ofType(AuthActions.VERIFY_OTP_EMAIL),\n switchMap((authData) => this.http.post('verifyOtp', false, authData).pipe(\n map((res: ApiResponse) => {\n if (res.code === 200) {\n localStorage.removeItem('lastRequested');\n }\n }),\n catchError((error) => {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n })\n )\n ),\n )\n\n @Effect()\n socialSignup = this.action$.pipe(\n ofType(AuthActions.SOCIAL_SIGNUP),\n map((action: AuthActions.SocialSignup) => action.payload),\n switchMap((obj: any) => {\n const dataToSend = {\n email: obj.email,\n socialToken: obj.authToken,\n type: obj.provider.toLowerCase(),\n name: obj.name,\n uid: obj.id\n };\n\n return this.http.post('socialLogin', false, dataToSend, true, false, false, environment.serverURLv3).pipe(\n map((res) => {\n if (res.code === 200) {\n const responseRecieved = JSON.parse(JSON.stringify(res));\n localStorage.setItem('authToken', responseRecieved.data.authToken);\n window.location.reload();\n return [\n new AuthActions.SetToken(responseRecieved.data.authToken),\n new AuthActions.SetAuthentication(),\n new UserProfileActionList.GetUserDetail(responseRecieved.data),\n ];\n } else {\n this.alert.showErrorMessage(res.message);\n return [{ type: AuthActions.FAIL }];\n }\n }),\n catchError((error) => {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n })\n );\n })\n );\n \n\n @Effect()\n socialSignin = this.action$.pipe(\n ofType(AuthActions.SOCIAL_SIGNIN),\n map((action: AuthActions.SocialSignin) => {\n return action.payload;\n }),\n switchMap(\n (obj: SocialSignup) => {\n const dataToSend = {\n socialToken: obj.authToken,\n osType: 'web',\n device: 'desktop'\n };\n const apiUrl = 'v4/login/social/' + obj.provider.toLowerCase();\n return this.http.post(apiUrl, false, dataToSend, true).pipe(\n mergeMap((res: ApiResponse) => {\n if (res.code === 200) {\n if (res && res.data) {\n res.data.fromScreen = 'signin';\n localStorage.removeItem('lastRequested');\n res.data.tag = '';\n }\n localStorage.setItem('authToken', res.data.authToken);\n return [\n new AuthActions.SetToken(res.data.authToken),\n new AuthActions.SetAuthentication(),\n new UserProfileActionList.GetUserDetail(res.data),\n ];\n } else {\n this.alert.showErrorMessage(res.message);\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }\n }),\n catchError((error) => {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n })\n );\n }\n )\n )\n\n // Registering the effect of Signin action\n @Effect({ dispatch: false })\n processAfterSignIn = this.action$.pipe(\n ofType(AuthActions.PROCESS_AFTER_SIGNIN),\n tap(() => {\n this.router.navigate(['/complete-profile']);\n })\n );\n\n // Registering the effect of Logout action\n @Effect()\n logout = this.action$.pipe(\n ofType(AuthActions.LOGOUT),\n map((action: AuthActions.Logout) => {\n }),\n switchMap(\n (authData) => {\n return this.http.post('logout', true, undefined, true, false, false, environment.serverURLv3).pipe(\n mergeMap((res: ApiResponse) => {\n if (res.code === 200) {\n let learnDarkMode = localStorage.getItem('isDarkmodeforid');\n localStorage.clear();\n localStorage.setItem('isDarkmodeforid', learnDarkMode)\n sessionStorage.clear();\n $('#logoutModal').modal('hide');\n $('.modal-backdrop').remove();\n $('body').removeClass('modal-open');\n this.alert.showSuccessMessage(res.message);\n let isRedirect=!this.userData?.isNCRPUser;\n localStorage.clear();\n localStorage.setItem('isDarkmodeforid', learnDarkMode)\n sessionStorage.clear();\n if(!isRedirect){\n window.location.href = `${environment.fiitjeeUrlv4}?redirect=user-myPat`;\n }else{\n this.router.navigate(['/']);\n } \n return [\n {\n type: AuthActions.LOGOUT_SUCCESS\n }\n ];\n } else {\n this.alert.showErrorMessage(res.message);\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }\n }),\n catchError((error) => {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n })\n );\n }\n )\n )\n\n @Effect()\n getProfileData = this.action$.pipe(\n ofType(AuthActions.GET_PROFILE_DATA),\n map((action: AuthActions.GetProfileData) => {\n return;\n }),\n switchMap(\n () => {\n return this.http.get('profile', true, null, false),\n catchError((error) => {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }),\n mergeMap(\n (res: ApiResponse) => {\n if (res.code === 200) {\n // get profile data\n const obj = res.data;\n this.profileDataResponse = res.data;\n } else {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }\n }\n );\n }\n )\n )\n\n @Effect()\n FiiJeeMyPatLogin = this.action$.pipe(\n ofType(AuthActions.FIITJEE_MYPAT_LOGIN),\n map((action: AuthActions.FiiJeeMyPatLogin) => {\n return action.payload;\n }),\n switchMap(\n (authData) => {\n let dataToSend = {};\n if (authData.type === 'mypat') {\n dataToSend = {\n password: authData.password,\n enrollmentno: authData.enrollmentno,\n source: 'web',\n deviceToken: ''\n };\n if (localStorage.getItem('userIdcheckEn')) {\n dataToSend['userId'] = localStorage.getItem('userIdcheckEn');\n }\n\n }\n else {\n dataToSend = {\n password: authData.password,\n enrollmentno: authData.enrollmentno,\n source: 'web',\n deviceToken: ''\n };\n }\n return this.http.post('partnerLogin', false, dataToSend, false, false, false, environment.serverURLv3).pipe(\n mergeMap((res: ApiResponse) => {\n if (res.code === 200 || res.code === 201) {\n localStorage.setItem('authToken', res.data.authToken);\n \n return [\n new AuthActions.SetToken(res.data.authToken),\n new AuthActions.SetAuthentication(),\n new UserProfileActionList.GetUserDetail(res.data),\n ];\n } else if (res.code === 408) {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n } else {\n this.alert.showErrorMessage(res.message);\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }\n }),\n catchError((error) => {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }),\n );\n }\n )\n )\n\n @Effect()\n OtpLoginFiitjee = this.action$.pipe(\n ofType(AuthActions.OTP_LOGIN_FIITJEE),\n map((action: AuthActions.OtpLoginFiitjee) => {\n return action.payload;\n }),\n switchMap(\n (authData) => {\n const dataToSend = {\n enrollmentno: authData.enrollmentno,\n otp: authData.otp,\n source: 'web',\n deviceToken: '',\n userId: authData.userId\n };\n if (dataToSend.otp) {\n return this.http.post('otpPartner', false, dataToSend, false, false, false, environment.serverURLv3).pipe(\n mergeMap((res: ApiResponse) => {\n localStorage.setItem('authToken', res.data.authToken);\n if (res.code === 200 || res.code === 201) {\n sessionStorage.removeItem('otpResendCount');\n return [\n new AuthActions.SetToken(res.data.authToken),\n new AuthActions.SetAuthentication(),\n new UserProfileActionList.GetUserDetail(res.data),\n ];\n } else if (res.code === 408) {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n } else {\n this.alert.showErrorMessage(res.message);\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }\n \n }),\n catchError((error) => {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }),\n );\n } else {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }\n }\n )\n )\n\n @Effect()\n WACLoginFiitjee = this.action$.pipe(\n ofType(AuthActions.WAC_LOGIN_FIITJEE),\n map((action: AuthActions.WACLoginFiitjee) => {\n return action.payload;\n }),\n switchMap(\n (authData) => {\n const dataToSend = {\n enrollmentno: authData.enrollmentno,\n wac: authData.wac,\n source: 'web',\n deviceToken: '',\n };\n if (dataToSend.wac) {\n return this.http.post('wacPartner', false, dataToSend, false, false, false, environment.serverURLv3).pipe(\n mergeMap((res: ApiResponse) => {\n if (res.code === 200 || res.code === 201) {\n localStorage.setItem('authToken', res.data.authToken);\n return [\n new AuthActions.SetToken(res.data.authToken),\n new AuthActions.SetAuthentication(),\n new UserProfileActionList.GetUserDetail(res.data),\n ];\n } else if (res.code === 408) {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n } else {\n this.alert.showErrorMessage(res.message);\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }\n \n }),\n catchError((error) => {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }),\n );\n } else {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }\n }\n )\n )\n\n @Effect()\n ResetPasswordFiitJee = this.action$.pipe(\n ofType(AuthActions.RESET_PASSWORD_FIITJEE),\n map((action: AuthActions.ResetPasswordFiitJee) => {\n return action.payload;\n }),\n switchMap(\n (authData) => {\n let dataToSend;\n\n if (this.fiitJee.saveOtp) {\n dataToSend = {\n userId: authData.userId,\n password: authData.password,\n enrollmentno: authData.enrollmentno,\n otp: this.fiitJee.saveOtp,\n source: 'web',\n deviceToken: ''\n }\n }\n else if (this.fiitJee.savePassword) {\n dataToSend = {\n userId: authData.userId,\n password: authData.password,\n enrollmentno: authData.enrollmentno,\n fjpassword: this.fiitJee.savePassword,\n source: 'web',\n deviceToken: ''\n }\n }\n else if (this.fiitJee.saveWac) {\n dataToSend = {\n userId: authData.userId,\n password: authData.password,\n enrollmentno: authData.enrollmentno,\n wac: this.fiitJee.saveWac,\n source: 'web',\n deviceToken: ''\n }\n }\n return this.http.put('mypatLogin', false, null, false, environment.serverURLv3).pipe(\n mergeMap((res: ApiResponse) => {\n if (res.code === 200 || res.code === 201) {\n localStorage.setItem('authToken', res.data.authToken);\n return [\n new AuthActions.SetToken(res.data.authToken),\n new AuthActions.SetAuthentication(),\n new UserProfileActionList.GetUserDetail(res.data),\n ];\n } else if (res.code === 408) {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n } else {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }\n\n }),\n catchError((error) => {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }),\n );\n }\n )\n )\n\n @Effect()\n authNewSignup = this.action$.pipe(\n ofType(AuthActions.TRY_NEW_SIGNUP),\n map((action: AuthActions.TryNewSignup) => action.payload),\n switchMap((authData: any) => {\n let isFreeTrial = false;\n if (authData.hasOwnProperty('freeTrial')) {\n isFreeTrial = authData?.freeTrial;\n delete authData.freeTrial;\n }\n return this.http.post('v1/signup', false, authData, false, false, false, environment.serverURLv3).pipe(\n catchError((error) => {\n return of({ type: AuthActions.FAIL });\n }),\n map((res) => {\n const response = res;\n if (res.code == 200) {\n this.utility.signupData.next(authData);\n this.utility.isNewUser.next(res);\n this.utility.signUpSuccess.next(res);\n this._helper.handleSignupError.next({ signupError: false, isFreeTrial, mobileNumber: res?.data?.mobile?.number, code: res?.data?.mobile?.countryCode });\n\n // GTM\n const gtmData = {\n 'event': 'mobileSignup',\n 'isFIITJEE': this.detectLocationService.isFiitjeeDomain() ? 'fiitjee' : 'non-fiitjee'\n };\n if (localStorage.getItem('utm_source')) {\n gtmData['source'] = localStorage.getItem('utm_source');\n } else if (this.utility.getGlobalAuthPopup() === true) {\n gtmData['source'] = 'WebPopup';\n }\n window['dataLayer'] = window['dataLayer'] || [];\n window['dataLayer'].push(gtmData);\n\n sessionStorage.setItem('userIdClever', response.data._id);\n localStorage.setItem('userId', response.data._id);\n\n let pageStr = '';\n if (!authData.loginViaOtp) {\n if (this.utility.getGlobalAuthPopup() === true) {\n pageStr = \"WebPopup\";\n } else if (this.router.url == '' || this.router.url == '/') {\n pageStr = \"free trial\";\n } else if (localStorage.getItem('lastRequested') == '/counselling') {\n pageStr = \"free counselling\";\n } else if (this.router.url.includes('auth/sign-up')) {\n pageStr = \"normal register\";\n } else if (this.router.url.includes('all-india-challenge')) {\n pageStr = 'Open Live Challenge Test';\n } else if (this.router.url.includes('pre-jee-main')) {\n pageStr = 'Pre JEE Main';\n } else {\n pageStr = this.router.url.replace(new RegExp('-', 'g'), ' ').split('/').reverse().join(' ');\n }\n\n if (this.detectLocationService.isFiitjeeDomain()) {\n this.extraEdgeV3.extraEdgeToolUpdate(\n `&MobileNumber=${response['data']['mobile']['number']}&Leadstatus=Closed&ReasonCode=Existing Fiitjee student&Textb1=${response.data._id}&Field2=${authData.class?.name || ''}&FirstName=${authData.name || ''}`,\n pageStr\n );\n } else {\n const extraEdgePayload = {\n 'MobileNumber': response['data']['mobile']['number'],\n 'Textb1': response.data._id\n };\n if (authData.class && authData.class.name) extraEdgePayload['Field2'] = authData.class.name;\n if (authData.name) extraEdgePayload['FirstName'] = authData.name;\n this.extraEdgeV3.extraEdgeJSONUpdate(extraEdgePayload, { sourceName: pageStr, addLeadMeta: true });\n }\n } else {\n if (this.router.url.includes('free-course')) {\n const submittedJSON = JSON.parse(localStorage.getItem('freePackageData'));\n this.extraEdgeV3.extraEdgeToolUpdate(\n `&Field2=${authData.class ? authData.class.name : submittedJSON.class.name}&Target Exam=${submittedJSON.goal.name}&MobileNumber=${response['data']['mobile']['number']}&Textb1=${response.data._id}`,\n 'Free Course'\n );\n } else {\n const extraEdgePayload = {\n 'MobileNumber': response['data']['mobile']['number'],\n 'Textb1': response.data._id\n };\n if (authData.class && authData.class.name) extraEdgePayload['Field2'] = authData.class.name;\n if (authData.name) extraEdgePayload['FirstName'] = authData.name;\n let campaignName = \"\";\n if (this.router.url == '' || this.router.url == '/') {\n campaignName = \"free trial\";\n } else if (localStorage.getItem('lastRequested') == '/counselling') {\n campaignName = \"free counselling\";\n } else {\n campaignName = this.router.url.replace(new RegExp('-', 'g'), ' ').split('/').reverse().join(' ');\n }\n this.extraEdgeV3.extraEdgeJSONUpdate(extraEdgePayload, { sourceName: campaignName, addLeadMeta: true });\n }\n }\n\n return { type: AuthActions.SIGNUP };\n } else if (res.code === 403) {\n this._helper.handleSignupError.next({signupError: true, isFreeTrial});\n this.alert.showErrorMessage(res.message);\n return { type: AuthActions.FAIL };\n } else if (res.code === 409) {\n this.utility.downloadEbook.next(true);\n this._helper.handleSignupError.next({signupError: true, isFreeTrial});\n this.alert.showErrorMessage(res?.message);\n this.router.navigate(['/user/login']);\n return { type: AuthActions.FAIL };\n } else {\n this._helper.handleSignupError.next({signupError: true, isFreeTrial});\n this.alert.throwErrorMessage(res);\n this.alert.showErrorMessage(res.message);\n return { type: AuthActions.FAIL };\n }\n })\n );\n })\n );\n\n @Effect()\n authVerifyMobile = this.action$.pipe(\n ofType(AuthActions.VERIFY_MOBILE),\n tap((action: AuthActions.VerifyMobile) => {\n action.payload['source'] = 'web';\n action.payload['deviceToken'] = '';\n }),\n switchMap((authData) => {\n this.signuplognpassedInfo = JSON.parse(JSON.stringify(authData));\n delete authData['sourcePage'];\n return this.http.post('verifyOtpMobile', false, authData.payload, false, false, false, environment.serverURLv3).pipe(\n catchError((error) => {\n return of({ type: AuthActions.FAIL });\n })\n );\n }),\n mergeMap((res) => {\n const { code, data, message } = res;\n if (code == 200) {\n this.profileDataResponse = data.profile;\n localStorage.setItem('authToken', data['authToken']);\n this.utility.downloadEbook.next(true);\n window['dataLayer'] = window['dataLayer'] || [];\n window['dataLayer'].push({\n 'event': 'mobileSignup',\n 'isFIITJEE': this.detectLocationService.isFiitjeeDomain() ? 'fiitjee' : 'non-fiitjee'\n });\n\n const extraEdgePayload = {\n 'MobileNumber': data.mobile.number,\n 'MobileVerified': true\n };\n\n let isPreviouslyFiitjeeUser = false;\n try {\n isPreviouslyFiitjeeUser = isPreviouslyFiitjeeUser || data.profile.partner.partnerUser;\n isPreviouslyFiitjeeUser = isPreviouslyFiitjeeUser || (data.profile.partner.partnerId != null);\n isPreviouslyFiitjeeUser = isPreviouslyFiitjeeUser || data.isFIITJEE;\n } catch (error) { }\n if (isPreviouslyFiitjeeUser) {\n extraEdgePayload['ReasonCode'] = 'Existing Fiitjee student';\n extraEdgePayload['Leadstatus'] = 'Closed';\n }\n\n this.extraEdge.extraEdgeJSONUpdate(extraEdgePayload);\n window.location.reload();\n return [\n { type: AuthActions.SET_TOKEN, payload: data['authToken'] },\n { type: AuthActions.SIGNIN },\n { type: AuthActions.GET_PROFILE_DATA }\n ];\n } else {\n this._helper.handleOtpError.next({isOtpError: true});\n return [{ type: AuthActions.FAIL }];\n }\n })\n );\n\n @Effect()\n authSignin = this.action$.pipe(\n ofType(AuthActions.TRY_SIGNIN),\n map((action: AuthActions.TrySignin) => action.payload),\n switchMap((authData) =>\n this.http.post('login', false, authData, false, false, false, environment.serverURLv3).pipe(\n mergeMap((response) => {\n if (response.code === 200) {\n // gtm implementation\n if (response.data.profile.isStepUser) {\n localStorage.setItem('step-login', 'true');\n }\n\n if (response.data && response.data.mobile) {\n // call extra edge\n const extraEdgePayload = {\n 'MobileNumber': response.data.mobile.number.toString(),\n };\n\n let isPreviouslyFiitjeeUser = false;\n try {\n isPreviouslyFiitjeeUser = isPreviouslyFiitjeeUser || response.data.profile.partner.partnerUser;\n isPreviouslyFiitjeeUser = isPreviouslyFiitjeeUser || (response.data.profile.partner.partnerId != null);\n isPreviouslyFiitjeeUser = isPreviouslyFiitjeeUser || response.data.isFIITJEE;\n } catch (error) { }\n\n if (isPreviouslyFiitjeeUser) {\n extraEdgePayload['ReasonCode'] = 'Existing Fiitjee student';\n extraEdgePayload['Leadstatus'] = 'Closed';\n }\n\n this.extraEdge.extraEdgeJSONUpdate(extraEdgePayload);\n }\n\n let payloadProfile;\n if (authData.mobileNumber == null && authData.email != null) {\n payloadProfile = {\n 'Site': {\n 'Identity': response.data._id,\n 'Email': response.data.email.id\n }\n };\n // use for onuserlogin push not profile push\n window['dataLayer'] = window['dataLayer'] || [];\n window['dataLayer'].push({\n 'event': 'emailLogin',\n 'isFIITJEE': this.detectLocationService.isFiitjeeDomain() ? 'fiitjee' : 'non-fiitjee'\n });\n } else if (authData.mobileNumber != null && authData.email == null) {\n payloadProfile = {\n 'Site': {\n 'Identity': response.data._id,\n 'Phone': response.data.mobile.countryCode + '' + response.data.mobile.number\n }\n };\n // use for onuserlogin push not profile push\n window['dataLayer'] = window['dataLayer'] || [];\n window['dataLayer'].push({\n 'event': 'mobileLogin',\n 'isFIITJEE': this.detectLocationService.isFiitjeeDomain() ? 'fiitjee' : 'non-fiitjee'\n });\n }\n\n localStorage.setItem('authToken', response.data.authToken);\n // get profile data\n const obj = response.data.profile;\n this.profileDataResponse = response.data.profile;\n let user = this.utility.createUserObject(response.data);\n user['dateOfBirth'] = obj.userId.dateOfBirth;\n if (obj.class.classId) {\n this.store.dispatch(new UserProfileActionList.GetGoalList(obj.class.classId));\n }\n localStorage.removeItem('login_Type');\n localStorage.setItem('userId', response.data._id);\n this.store.dispatch(new UserProfileActionList.SetUserDetail(user));\n this.store.dispatch(new LoaderAction.SetLoader(false));\n if (user.userGoals.length < 1 && this.router.url != '/auth/congratulation/final' && this.router.url != '/auth/congratulation/email_verified') {\n this.router.navigate(['/user-profile-completion']);\n }\n // window.location.reload(); commented for MV4-10529\n return [\n {\n type: AuthActions.SET_TOKEN,\n payload: response.data.authToken\n },\n {\n type: AuthActions.SIGNIN\n }\n ];\n } else {\n switch (response.code) {\n case 400:\n this._helper.handleLoginError.next({message: response.message});\n break;\n case 401:\n this.router.navigate(['/auth/verify/email', authData.email]);\n break;\n case 402:\n this.router.navigate(['/auth/verify/mobile', authData.mobileNumber]);\n break;\n default:\n console.log(response);\n }\n\n this.store.dispatch(new LoaderAction.SetLoader(false));\n\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }\n }),\n catchError((error) => {\n console.error(error);\n this.store.dispatch(new LoaderAction.SetLoader(false));\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n })\n )\n )\n );\n\n callGTMevent(str): void {\n switch (str) {\n case 'verify-otp': {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'mobileSignup',\n });\n }\n }\n }\n}\n\n\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { Store } from '@ngrx/store';\nimport { Effect, Actions, ofType } from '@ngrx/effects';\nimport { map, catchError, switchMap } from 'rxjs/operators';\n\nimport * as fromApp from '../app.reducers';\nimport * as ProformaActions from './proforma.actions';\nimport * as LoaderAction from '../../stores/loader/loader.actions';\n\nimport { Proforma } from '../../models/proforma.model';\nimport { HttpService } from '../../shared/services/http.service';\nimport { AlertService } from '../../shared/services/alert.service';\nimport { UtilityService } from '../../shared/services/utility.service';\nimport { DetectLocationService } from '../../shared/services/detect-location.service';\nimport { forkJoin } from 'rxjs';\nimport { GoalSettingService } from 'src/app/goal-setting/services/goal-setting.service';\n\ninterface ApiResponse {\n code: number;\n data: any;\n message?: any;\n}\n\n\n@Injectable()\nexport class ProformaEffects {\n\n body;\n response;\n MSInputMethodContext;\n data;\n constructor(\n private http: HttpService,\n private action$: Actions,\n private router: Router,\n private store: Store,\n private alertService: AlertService,\n private utilityService: UtilityService,\n private detectLocation: DetectLocationService, private goalService: GoalSettingService) {\n this.store.select('proforma').subscribe((proforma) => {\n this.data = proforma.data;\n });\n }\n\n // Registering the effect of get proforma detail action\n @Effect()\n getProformaDetails = this.action$.pipe(\n ofType(ProformaActions.GET_PROFORMA_DETAIL),\n switchMap((data) => {\n const userTag = data.payload.tag ? data.payload.tag : 'student';\n const url = 'v4/auth/goal-settings?tag=' + userTag + '&type=' + 'initial';\n return forkJoin([\n this.http.get('v4/auth/user-info', true, null, true),\n this.http.get(`${url}`, true, null, true)\n ]).pipe(\n map(([userInfoResponse, goalSettingResponse]) => {\n let questions = [];\n let questionstatus = '';\n let goalSelections = [];\n let goalStatus = '';\n const goalSetting = goalSettingResponse.data.goalSettings[0];\n if (goalSettingResponse.code === 200 && goalSettingResponse.data.goalSettings.length > 0) {\n const goalSetting = goalSettingResponse.data.goalSettings[0];\n if (goalSetting.hasOwnProperty('questions')) {\n questions = goalSetting.questions;\n questionstatus = goalSetting ? goalSetting.status.questions : 'pending';\n goalStatus = goalSetting.status.goalSelections;\n goalSelections = goalSelections;\n }\n } else {\n questionstatus = goalSetting ? goalSetting.status.questions : 'pending';\n }\n if (userInfoResponse.code === 200) {\n const userInfo = userInfoResponse.data;\n let initials = '';\n if (userInfoResponse.data.name.hasOwnProperty('firstName') && userInfoResponse.data.name.firstName.length > 0) {\n initials = this.utilityService.getYourInitials(userInfoResponse.data.name);\n }\n const initialsClass = this.utilityService.getInitialsClass();\n switch (userTag) {\n case 'parent':\n goalStatus = userInfo.goalSetting.parent ? userInfo.goalSetting.parent.status : 'pending';\n break;\n case 'teacher':\n goalStatus = userInfo.goalSetting.teacher ? userInfo.goalSetting.teacher.status : 'pending';\n break;\n case 'student':\n goalStatus = userInfo.goalSetting.student ? userInfo.goalSetting.student.status : 'pending';\n break;\n }\n if (userTag == 'teacher' || userTag == 'parent') {\n if (userTag == 'teacher') {\n if (!goalSetting || questionstatus == 'pending') {\n this.router.navigate([`/goal-setting/${userTag}-proforma/analysis`]);\n } else if ((!goalSetting || questionstatus == 'done')) {\n this.router.navigate([`/goal-setting/${userTag}-proforma/last-step`]);\n }\n }\n else {\n if (userTag == 'parent') {\n this.router.navigate([`/goal-setting/parent-proforma/welcome`]);\n }\n }\n\n } else {\n if (userInfo.hasOwnProperty('goalSettingRequired') && userInfo.goalSettingRequired &&\n !userInfo.onboardingRequired) {\n this.router.navigate([`/goal-setting/${userTag}-proforma/intro`]);\n }\n else {\n if (userInfo.hasOwnProperty('goalSettingRequired') && !userInfo.goalSettingRequired) {\n this.router.navigate(['/home']);\n } else {\n if (localStorage.getItem('lastRequested') && localStorage.getItem('lastRequested') !== '/') {\n this.router.navigateByUrl(localStorage.getItem('lastRequested'));\n } else {\n this.router.navigate(['/home']);\n }\n }\n }\n }\n const name = userInfo.name.firstName ?\n userInfo.name.firstName + (userInfo.name.middleName ? ' ' + userInfo.name.middleName : '') +\n (userInfo.name.lastName ? ' ' + userInfo.name.lastName : '') : '';\n const pastAchievements = userInfo.hasOwnProperty('pastAchievements') ? userInfo.pastAchievements : [];\n const prevEnrollmentInfo = userInfo.hasOwnProperty('prevEnrollmentInfo') ? userInfo.prevEnrollmentInfo : [];\n const goalSettingRequired = userInfo.hasOwnProperty('goalSettingRequired') ? userInfo.goalSettingRequired : false;\n const revisedGoalSetting = userInfo.goalSetting.hasOwnProperty('revisedGoalSetting') ? userInfo.goalSetting.revisedGoalSetting : false;\n const studentObj = userInfo.goalSetting.hasOwnProperty('student') ? userInfo.goalSetting.student : { status: 'pending' };\n const parentObj = userInfo.goalSetting.hasOwnProperty('parent') ? userInfo.goalSetting.parent : { status: 'partial' };\n const teacherObj = userInfo.goalSetting.hasOwnProperty('teacher') ? userInfo.goalSetting.teacher : { status: 'partial' };\n const program = userInfo.hasOwnProperty('program') ? userInfo.program : { code: '', name: '' };\n\n const proforma = new Proforma(userInfo._id, name, userInfo.mobile, userInfo.countryCode,\n userInfo.email, userInfo.mypatEnrollmentNo, userInfo.enrollmentNo,\n '', userInfo.photoUrl, (userInfo.userType === 'fiitjee'),\n this.detectLocation.isSchoolDomain(), pastAchievements, prevEnrollmentInfo,\n studentObj, parentObj, teacherObj,\n revisedGoalSetting, userInfo.userType, userInfo.school, goalSettingRequired,\n userInfo.goalSetting.dueDate, userInfo.class, program, userInfo.goals, questionstatus,\n questions, goalStatus, goalSelections, initials, initialsClass, userInfo.centres);\n return {\n type: ProformaActions.UPDATE_PROFORMA_DETAIL,\n payload: proforma\n };\n } else {\n return {\n type: ProformaActions.FAIL\n };\n }\n\n }\n ),\n catchError((error) => {\n return [\n {\n type: ProformaActions.FAIL\n }\n ];\n })\n );\n }),\n );\n\n @Effect({ dispatch: false })\n updateProformaStatus = this.action$.pipe(\n ofType(ProformaActions.UPDATE_PROFORMA_STATUS),\n map((action: ProformaActions.ProformaStatus) => {\n return action.payload;\n }),\n );\n\n @Effect({ dispatch: false })\n updateProformaQuestions = this.action$.pipe(\n ofType(ProformaActions.UPDATE_PROFORMA_QUESTIONS),\n map((action: ProformaActions.QuestionsResponses) => {\n return action.payload;\n }),\n );\n\n // Registering the effect of update proforma detail action\n @Effect({ dispatch: false })\n updateProformaDetail = this.action$.pipe(\n ofType(ProformaActions.UPDATE_PROFORMA_DETAIL),\n map((action: ProformaActions.UpdateProformaDetail) => {\n return action.payload;\n }),\n );\n\n @Effect({ dispatch: false })\n updateEnrollmentNUmbers = this.action$.pipe(\n ofType(ProformaActions.UPDATE_ENROLLMENT_DETAIL),\n map((action: ProformaActions.UpadteEnrollmentNumbers) => {\n return action.payload;\n }), switchMap(\n (payload) => {\n return this.http.put('v4/auth/user', true, payload, true).pipe(\n map(\n (res: ApiResponse) => {\n if (res.code === 200) {\n if (payload.value == 0) {\n this.router.navigate([`/goal-setting/student-proforma/intro`]);\n } else if (payload.value == 1) {\n this.router.navigate(['/goal-setting/student-proforma/2']);\n }\n } else {\n this.alertService.showErrorMessage(res.message);\n return {\n type: ProformaActions.FAIL\n };\n }\n\n }\n ),\n catchError((error) => {\n return [\n {\n type: ProformaActions.FAIL\n }\n ];\n }));\n }\n )\n )\n}\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { CaptchaDirective } from 'src/app/shared/directives/captcha.directive';\nimport { UtilityService } from 'src/app/shared/services/utility.service';\nimport { Subscription } from 'rxjs';\nimport { Store } from '@ngrx/store';\nimport * as fromApp from '../../../../../app/stores/app.reducers';\nimport * as AuthActions from '../../../../../app/stores/auth/auth.actions';\nimport { GLiteUtilityService } from 'src/app/shared/services/g-lite-utility.service';\nimport { countryArray } from 'src/app/shared/constants/glite.constants';\nimport { FORM_TYPE } from './form.constant';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { EbooksService } from 'src/app/landing-pages/ebooks/ebooks.service';\n@Component({\n selector: 'app-free-trial-form',\n templateUrl: './free-trial-form.component.html',\n styleUrls: ['./free-trial-form.component.scss']\n})\nexport class FreeTrialFormComponent implements OnInit {\n @Input() submitCTA: string;\n @Input() prePaperURL: string = '';\n @ViewChild(CaptchaDirective) vc: CaptchaDirective;\n private validMobileNumberLength: number = 10;\n private availableClasses: String[] = [];\n private activeSubscription = new Subscription();\n public classesDropdown: any[] = [{ class: 'Select Class', _id: '00' }];\n public freeTrialAccessForm: FormGroup = null;\n public selectedClass: any = { class: 'Select Class', _id: '00' };\n public selectedDialCode: any = countryArray[0];\n public errorMessages = {\n noName: 'Please Enter Name',\n noClass: 'Please Enter Class',\n noNumber: 'Please Enter Mobile Number',\n invalidNumber: 'Invalid Mobile Number'\n };\n public captchaInfo: any = {\n isCaptchaEnabled: false,\n showCaptcha: false,\n captchaChecked: true,\n showCaptchaError: false\n }\n public enableOtpPopup: boolean = false;\n @Input() formType = FORM_TYPE.HOME_INFO;\n constructor(\n private fb: FormBuilder,\n private _alert: AlertService,\n private utility: UtilityService,\n private store: Store,\n private _glite: GLiteUtilityService,\n private ebookService: EbooksService,\n private _helper: HelperService) { }\n\n ngOnInit(): void {\n this.checkIfCaptchaShow();\n this.freeTrialAccessForm = this.fb.group({\n userName: [''],\n userNumber: [''],\n exam:['']\n });\n\n this.getClasses();\n this.activeSubscription.add(\n this.utility.captchaStateHandler.subscribe((resetCaptcha: boolean) => {\n if (resetCaptcha) {\n this.resetCaptcha();\n }\n })\n );\n\n this.activeSubscription.add(\n this._helper.handleSignupError.subscribe((data: any) => {\n if (!data.signupError && data.isFreeTrial) {\n const mobileNumber = data?.mobileNumber || this.freeTrialAccessForm.value.userNumber;\n const selectedDialCode = (data?.code && this.getCountryData(data?.code)) || this.selectedDialCode;\n this.utility.otpPopupHandler.next(\n {\n isPopUpEnabled: true,\n mobileInfo: { mobileNumber, selectedDialCode}\n }\n );\n } else {\n this.resetCaptcha();\n }\n })\n )\n }\n\n getCountryData(code: string) {\n const selectedCountry = countryArray.filter((country: any) => {\n return country.dialCode === code;\n })\n return !!selectedCountry.length && selectedCountry[0];\n }\n\n get countryData() {\n return countryArray;\n }\n\n validateName(): void {\n const regexToTestName = /^[A-Z]/gi;\n let userName = this.freeTrialAccessForm.value.userName;\n if (!regexToTestName.test(userName)) {\n userName = userName.substring(0, userName.length - 1);\n }\n this.freeTrialAccessForm.controls['userName'].setValue(userName);\n }\n\n getClasses(): void {\n this.activeSubscription.add(\n this.utility.getClasses().subscribe((res) => {\n this.classesDropdown = res?.data || [];\n this.availableClasses = this.classesDropdown.map(item => item.class);\n if (this.classesDropdown.length) {\n this._glite.getActiveClassId.next({ class_id: this.classesDropdown[0]._id });\n }\n })\n );\n }\n\n selectClass(dataSelected: any) {\n if (this.selectedClass._id !== dataSelected._id) {\n this.selectedClass.class = dataSelected.class;\n this.selectedClass._id = dataSelected._id;\n this._glite.getActiveClassId.next({ class_id: this.selectedClass._id });\n }\n }\n\n selectCountryCode(selectedDialCode: any) {\n this.selectedDialCode = selectedDialCode;\n }\n\n getSuccess() {\n this.captchaInfo.captchaChecked = true;\n this.captchaInfo.showCaptchaError = false;\n this.handleSignup();\n if(this.prePaperURL){\n this.ebookService.selectedEbookLink = this.prePaperURL;\n }\n }\n\n handleSignup() {\n let captchaToken = '';\n if (this.captchaInfo.isCaptchaEnabled && this.vc) {\n captchaToken = this.vc.getResponse();\n }\n\n const payload = {\n name: this.freeTrialAccessForm.value.userName,\n countryCode: this.selectedDialCode.dialCode,\n mobileNumber: this.freeTrialAccessForm.value.userNumber,\n loginViaOtp: true,\n referralCode: '',\n class: {\n classId: this.selectedClass._id,\n name: this.selectedClass.class\n },\n captchaToken,\n freeTrial: true\n };\n this.store.dispatch(new AuthActions.TryNewSignup(payload));\n }\n\n captchaExpired() {\n if (this.vc) {\n this.vc.reset();\n }\n this.captchaInfo.captchaChecked = false;\n }\n\n resetCaptcha() {\n if (this.vc) {\n this.vc.reset();\n }\n this.captchaInfo.captchaChecked = false;\n this.captchaInfo.showCaptcha = false;\n }\n\n checkIfCaptchaShow(): void {\n this.utility.fetchCaptchaDetails().then(res => {\n if (res) {\n if (res && res.code === 200) {\n this.captchaInfo.isCaptchaEnabled = res.data.showCaptcha;\n }\n }\n });\n }\n\n handleMobileNumber(e: any): any {\n let mobileNumber = this.freeTrialAccessForm.value.userNumber;\n var pattern = /^[0-9]+$/;\n if (!pattern.test(mobileNumber)) {\n mobileNumber = mobileNumber.substring(0, mobileNumber.length - 1);\n } else if (mobileNumber.length > this.validMobileNumberLength) {\n mobileNumber = mobileNumber.substring(0, this.validMobileNumberLength);\n }\n this.freeTrialAccessForm.controls['userNumber'].setValue(mobileNumber);\n }\n\n startLearning(): void {\n let errorMessageToShow = '';\n if (!this.freeTrialAccessForm.value.userName) {\n errorMessageToShow = this.errorMessages.noName;\n } else if (!this.availableClasses.includes(this.selectedClass.class) && this.formType !==FORM_TYPE.COLLEGE_PRED) {\n errorMessageToShow = this.errorMessages.noClass;\n } else if (!this.freeTrialAccessForm.value.userNumber) {\n errorMessageToShow = this.errorMessages.noNumber;\n } else if (this.freeTrialAccessForm.value.userNumber.length < this.validMobileNumberLength) {\n errorMessageToShow = this.errorMessages.invalidNumber;\n }\n this._alert.showErrorMessage(errorMessageToShow);\n if (errorMessageToShow) {\n return;\n }\n if(this.captchaInfo.isCaptchaEnabled){\n this.captchaInfo.showCaptcha = this.captchaInfo.isCaptchaEnabled;\n }else {\n this.getSuccess();\n }\n }\n\n public get FORM_TYPE(){\n return FORM_TYPE;\n }\n\n resetForm(){\n this.freeTrialAccessForm.reset();\n this.selectedClass = { class: 'Select Class', _id: '00' };\n }\n}\n","
\n \n Download Now\n \n
\n
\n
\n \n
\n
\n \n
    \n
  • {{class.class}}
  • \n
\n
\n
\n
\n
\n {{selectedDialCode.dialCode}}\n \n
\n
    \n
  • {{country.dialCode}}
  • \n
\n
\n \n
\n \n
\n \n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n
\n \n
\n \n
    \n
  • {{class.class}}
  • \n
\n
\n
\n \n
\n
\n
\n
\n {{selectedDialCode.dialCode}}\n \"arrow\n
\n
    \n
  • {{country.dialCode}}
  • \n
\n
\n \n
\n
\n
\n \n \n
\n\n \n
\n
\n
\n
\n
\n
\n \n \n
\n
Please select captcha
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport * as AuthActions from '../stores/auth/auth.actions';\nimport { Store } from '@ngrx/store';\nimport { environment } from 'src/environments/environment';\nimport * as fromApp from '../stores/app.reducers';\n\n@Component({\n selector: 'app-invalid-login',\n templateUrl: './invalid-login.component.html',\n styleUrls: ['./invalid-login.component.scss']\n})\n\nexport class InvalidLoginComponent implements OnInit {\n\n public authToken = '';\n\n constructor(private route:ActivatedRoute, private store: Store) { }\n\n count=1;\n userData;\n\n ngOnInit(): void {\n this.store.select('userProfile').subscribe((userProfile) => {\n this.userData = userProfile.userData;\n this.authToken=localStorage.getItem('authToken')||sessionStorage.getItem('authToken') ||this.route.snapshot.queryParamMap.get('authToken');\n if(!this.authToken){\n let setCountDown = setInterval(() => {\n this.count++;\n if(this.count >= 5){\n let isRedirect=!this.userData?.isNCRPUser;\n this.store.dispatch(new AuthActions.Logout());\n localStorage.clear();\n sessionStorage.clear();\n clearInterval(setCountDown);\n }\n }, 1000);\n }\n });\n }\n\n}\n","
\n
\n
\n

{{count}}

\n Please wait, you're being redirected...\n
\n
\n","export const USER_INFO_CONST = {\n restrictAccess: 'restrictedAccess',\n userAccessStatus: 'userAccessStatus'\n}","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HelperService {\n public handleLoginError = new Subject();\n public handleOtpError = new Subject();\n public handleSignupError = new Subject();\n constructor() { }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { environment } from 'src/environments/environment';\n\nimport { HttpService } from '../../services/http.service';\nimport { AlertService } from '../../services/alert.service';\nimport { UtilityService } from '../../services/utility.service';\n\ndeclare var $: any;\n@Component({\n selector: 'app-transfer-to-paytm',\n templateUrl: './transfer-to-paytm.component.html',\n styleUrls: ['./transfer-to-paytm.component.scss']\n})\nexport class TransferToPaytmComponent implements OnInit {\n\n @Input() userId: string;\n referralData: any;\n\n mobileNumber: number;\n user = {\n mobileNumber: 0,\n countryCode: ''\n };\n selectedCountryData: any = {};\n\n buttonText = 'Send OTP';\n currentState = 'initial';\n\n showTimer = true;\n timerSec: Observable;\n timeValue = 30;\n interval: any;\n otpApiError = '';\n\n otpValue = 0;\n otpDigit1 = '';\n otpDigit2 = '';\n otpDigit3 = '';\n otpDigit4 = '';\n\n redeemablePoint: any;\n\n constructor(\n private httpService: HttpService,\n private alertService: AlertService,\n private utilityService: UtilityService\n ) {\n this.getCountryList();\n }\n\n ngOnInit(): void {\n this.loadScriptForOTP();\n this.getReferralDetails();\n }\n\n ngOnChanges(): void {\n this.startTimer();\n }\n\n getReferralDetails(): void {\n return;\n const apiName = `getReferralDetail?id=${this.userId}`;\n this.httpService.get(apiName, true, null, false, false, environment.serverURLv3).subscribe((res) => {\n if (res && res.code === 200) {\n this.referralData = res.data;\n this.redeemablePoint = this.referralData.balanceAmount > 1500 ? 1500 : this.referralData.balanceAmount;\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n }\n\n getCountryList(): void {\n const countryList = this.utilityService.getAllCountryList();\n this.selectedCountryData = countryList[0];\n }\n\n performAction(): void {\n switch (this.currentState) {\n case 'initial':\n this.sendOTP();\n break;\n case 'otpSent':\n this.verifyOTP();\n break;\n case 'otpVerified':\n this.confirmTransfer();\n break;\n };\n }\n\n checkIfValid(): boolean {\n let isValid = false;\n switch (this.currentState) {\n case 'initial':\n if (this.mobileNumber) {\n\n if (this.mobileNumber.toString().length === 10) {\n isValid = true;\n } else {\n isValid = false;\n }\n } else {\n isValid = false;\n }\n break;\n case 'otpSent':\n if (this.otpValue.toString().length === 4 && this.otpDigit1 && this.otpDigit2 && this.otpDigit3 && this.otpDigit4) {\n isValid = true;\n } else {\n isValid = false;\n }\n break;\n default:\n isValid = true;\n };\n return isValid;\n }\n\n sendOTP(): void {\n if (this.mobileNumber && this.mobileNumber.toString().match(this.selectedCountryData.regex)) {\n this.user = {\n mobileNumber: this.mobileNumber,\n countryCode: this.selectedCountryData.dialCode,\n };\n this.httpService.post('sendRedeemOtp', true, this.user, false, false, false, environment.serverURLv3).subscribe((res) => {\n if (res && res.code === 200) {\n this.startTimer();\n this.currentState = 'otpSent';\n this.buttonText = 'Verify';\n }\n });\n }\n }\n\n loadScriptForOTP(): void {\n // tslint:disable-next-line: typedef\n $('.inputs').keyup(function (e) {\n if (e.which === 8 || e.which === 46) {\n $(this).prev('.inputs').focus();\n } else {\n if (this.value.length === this.maxLength) {\n $(this).next('.inputs').focus();\n }\n }\n });\n }\n\n resendOTP(): void {\n this.sendOTP();\n }\n\n startTimer(): void {\n this.otpApiError = '';\n this.showTimer = true;\n this.timeValue = 30;\n this.interval = setInterval(() => {\n if (this.timeValue > 0) {\n this.timeValue--;\n } else {\n this.pauseTimer();\n }\n }, 1000);\n }\n\n pauseTimer(): void {\n this.showTimer = false;\n clearInterval(this.interval);\n }\n\n resendOtp(): void {\n this.sendOTP();\n }\n\n editMobile(): void {\n this.otpDigit1 = '';\n this.otpDigit2 = '';\n this.otpDigit3 = '';\n this.otpDigit4 = '';\n this.currentState = 'initial';\n this.buttonText = 'Send OTP';\n }\n\n onEnterOTP(): void {\n this.otpValue = Number(this.otpDigit1 + this.otpDigit2 + this.otpDigit3 + this.otpDigit4);\n }\n\n verifyOTP(): void {\n const payload = {\n otpNumber: this.otpValue,\n points: this.redeemablePoint\n };\n this.httpService.post('verifyRedeemOtp', true, payload, false, false, false, environment.serverURLv3).subscribe((res) => {\n if (res && res.code === 200) {\n this.currentState = 'otpVerified';\n this.buttonText = 'Confirm';\n this.redeemablePoint = res.data.redeemablepoint || res.data.data.redeemablepoint;\n }\n });\n }\n\n confirmTransfer(): void {\n const userObj = {\n redeemPoints: this.redeemablePoint,\n mobileNumber: this.mobileNumber,\n locale: 'IN'\n };\n this.httpService.post('redeempoints', true, userObj, false, false, false, environment.serverURLv3).subscribe(res => {\n if (res.code === 200) {\n this.currentState = 'confirm';\n this.getReferralDetails();\n }\n });\n }\n\n closeModal(): void {\n this.otpDigit1 = '';\n this.otpDigit2 = '';\n this.otpDigit3 = '';\n this.otpDigit4 = '';\n this.otpValue = 0;\n this.mobileNumber = null;\n this.currentState = 'initial';\n this.buttonText = 'Send OTP';\n }\n}\n","\n
\n
\n
\n
\n
\n Redeem in Paytm Wallet\n
\n
\n
\n \n

Enter Your Paytm Mobile number below

\n

Enter OTP sent to the mobile number below

\n

\n ₹{{redeemablePoint}}* will be transferred to you Paytm account
linked with mobile\n number\n

\n
\n
\n \n \n
\n\n
\n
\n Please enter a valid mobile number!\n
\n
\n Please enter a valid mobile number!\n
\n
\n
\n

\n {{ selectedCountryData.dialCode }} - {{ mobileNumber }}\n \n

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

0\">\n 00:{{ timeValue < 10 ? \"0\" + this.timeValue : this.timeValue }}

\n

\n \n

\n
\n
\n \n

Redeemed Successfully

\n

₹{{redeemablePoint}} from your myCash is transferred
to your Paytm wallet

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

*If you don’t have a Paytm account, we’ll help you create one.

\n
\n
\n
\n
","import { Component, OnInit, Input, Output, EventEmitter, OnChanges, OnDestroy } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport * as fromApp from '../../stores/app.reducers';\nimport { Subscription } from 'rxjs';\ndeclare var $: any;\n\n@Component({\n selector: 'app-side-filter-list',\n templateUrl: './side-filter-list.component.html',\n styleUrls: ['./side-filter-list.component.css']\n})\nexport class SideFilterListComponent implements OnInit, OnChanges, OnDestroy {\n\n @Input() filterDetails: any;\n @Input() filterType: any;\n @Input() clearingData: Boolean;\n @Output() filterChange = new EventEmitter();\n @Output() closeFilters = new EventEmitter();\n public filterDataToShow: any = [];\n public isMobile = false;\n private activeSubscriptions: Subscription = new Subscription();\n public userData: any; \n\n constructor(\n private store: Store,\n ) {\n if (/Android|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {\n this.isMobile = true;\n }\n }\n\n ngOnInit() {\n $('#kaptureChatWrapper').addClass('hide-chat');\n this.activeSubscriptions.add(\n this.store.select('userProfile').subscribe((userProfile) => {\n this.userData = userProfile.userData;\n })\n );\n this.filterDataToShow = [];\n for (let i = 0; i < this.filterDetails.length; i++) {\n const filterKeys = Object.keys(this.filterDetails[i]);\n const filterObj = {\n filterKey: filterKeys[0],\n filterValues: this.filterDetails[i][filterKeys[0]],\n type: filterKeys[0] === 'Time Taken' ? 'single' : this.filterType\n };\n for (let i = 0; i < filterObj.filterValues.length; i++) {\n filterObj.filterValues[i].isChecked = false;\n filterObj.filterValues[i].isApplied = false;\n }\n this.filterDataToShow.push(filterObj);\n }\n }\n\n ngOnChanges() {\n }\n\n onChangeMultiSelect(event) {\n if (this.isMobile) {\n return;\n }\n this.filterChange.emit(event);\n }\n\n onChangeSingleSelect(event) {\n if (this.isMobile) {\n return;\n }\n this.filterChange.emit(event);\n }\n\n\n apply() {\n this.filterDataToShow.forEach((category: any) => {\n category.filterValues.forEach((filter: any) => {\n if (filter.isChecked) {\n filter.isApplied = true;\n }\n this.filterChange.emit({\n isChecked: filter.isChecked,\n filterKey: category.filterKey,\n filterValue: filter\n });\n });\n });\n $('#kaptureChatWrapper').removeClass('hide-chat');\n this.closeFilters.emit();\n }\n\n closeFilter() {\n this.filterDataToShow.forEach((category: any) => {\n category.filterValues.forEach((filter: any) => {\n filter.isChecked = filter.isApplied;\n });\n });\n $('#kaptureChatWrapper').removeClass('hide-chat');\n this.closeFilters.emit();\n }\n\n resetFilters() {\n this.filterDataToShow.forEach((category: any) => {\n category.filterValues.forEach((filter: any) => {\n filter.isChecked = false;\n filter.isApplied = false;\n });\n });\n for (let i = 0; i < this.filterDataToShow.length; i++) {\n this.filterDataToShow[i].isChecked = false;\n for (let j = 0; j < this.filterDataToShow[i].filterValues.length; j++) {\n this.filterChange.emit({ isChecked: false, filterValue: this.filterDataToShow[i].filterValues[j], filterKey: this.filterDataToShow[i].filterKey });\n }\n }\n }\n\n ngOnDestroy() {\n this.activeSubscriptions.unsubscribe();\n }\n}\n","
\n
\n
\n

Setting

\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n \n
\n
\n
","
\n
\n
\n
\n
\n \"logo\"\n
\n
\n
\n
\n
\n\n
\n
\n \n
\n

Passcode Required for Access

\n

\n Please enter the 6-digit Passcode sent to you along with the link for this proforma\n

\n\n
\n
\n \n \n \n \n \n \n
\n
{{ passcodeApiError }}
\n
\n \n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { Subscription } from 'rxjs';\nimport { SignupService } from 'src/app/auth/signup-login-master/shared/services/signup.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { GoalSettingService } from '../../goal-setting/services/goal-setting.service';\nimport * as fromApp from '../../stores/app.reducers';\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-verify-passcode',\n templateUrl: './verify-passcode.component.html',\n styleUrls: ['./verify-passcode.component.scss']\n})\nexport class VerifyPasscodeComponent implements OnInit {\n userTag = '';\n\n passcodeApiError = '';\n enteredPasscodeValue: any;\n userId: string;\n currentRouteSub: Subscription;\n dueDate: any;\n isLinkExpired: boolean;\n\n constructor(private router: Router, private currentRoute: ActivatedRoute,\n private store: Store,\n private goalSettingService: GoalSettingService, private alertService: AlertService,\n private signupService: SignupService) {\n this.userId = this.currentRoute.snapshot.params.userId;\n }\n\n ngOnInit(): void {\n localStorage.setItem('lastRequested', this.router.url);\n this.userTag = this.goalSettingService.getUserTagByUrl(this.router.url);\n this.loadScriptForOTP();\n this.store.select('proforma').subscribe((info) => {\n if (info && info.data) {\n let data = info.data;\n if (data.dueDate) {\n const currentDate = new Date();\n this.dueDate = new Date(data.dueDate);\n if (currentDate.getTime() > this.dueDate.getTime()) {\n this.alertService.showErrorMessage('This form cannot be accessed as the submission date has already passed!');\n this.isLinkExpired = true;\n }\n }\n }\n });\n }\n\n loadScriptForOTP(): void {\n // tslint:disable-next-line: typedef\n $('.inputs').keyup(function (e) {\n if (e.which === 8 || e.which === 46) {\n $(this).prev('.inputs').focus();\n } else {\n if (this.value.length === this.maxLength) {\n $(this).next('.inputs').focus();\n }\n }\n });\n }\n\n verifyPasscode(value): void {\n this.enteredPasscodeValue = value.passcode1 + value.passcode2 + value.passcode3 +\n value.passcode4 + value.passcode5 + value.passcode6;\n\n if (this.enteredPasscodeValue.toString().length === 6) {\n this.passcodeApiError = '';\n\n const userOtpData: any = {\n userId: this.userId,\n passcode: this.enteredPasscodeValue.toString(),\n tag: this.userTag,\n device: 'desktop',\n osType: 'web',\n };\n\n this.goalSettingService.postPasscodeLogin(userOtpData).then(res => {\n this.signupService.navigateAfterLogin(res.data, this.userTag);\n setTimeout(() => {\n if (this.userTag === 'parent') {\n this.router.navigate(['goal-setting/parent-proforma/welcome']);\n }\n if (this.userTag === 'teacher') {\n this.router.navigate(['goal-setting/teacher-proforma/analysis']);\n }\n }, 500);\n });\n } else {\n this.passcodeApiError = 'Please enter valid passcode';\n }\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'highlight'\n})\n\nexport class HighlightSearch implements PipeTransform {\n transform(value: any, args: any): any {\n if (!args) return value;\n const re = new RegExp(args, 'gi');\n return value.replace(re, \"$&\");\n }\n}\n","","import {\n Component,\n ElementRef,\n Input,\n OnInit,\n ViewChildren,\n} from '@angular/core';\n\n@Component({\n selector: 'app-test-details-syllabus',\n templateUrl: './test-details-syllabus.component.html',\n styleUrls: ['./test-details-syllabus.component.scss'],\n})\nexport class TestDetailsSyllabusComponent implements OnInit {\n @Input() testType: string;\n @Input() testDetails: any;\n public syllabusLevel: string = 'chapters';\n @ViewChildren('chapters') chaptersComponent: ElementRef[];\n @ViewChildren('conceptsCollapse') conceptsCollapseComponent: ElementRef[];\n @ViewChildren('subjects') subjectsComponent: ElementRef[];\n @ViewChildren('chaptersCollapse') chaptersCollapseComponent: ElementRef[];\n constructor() {}\n\n ngOnInit(): void {}\n\n changeSyllabusLevel(level: string): void {\n if (this.syllabusLevel === level) {\n return;\n }\n this.syllabusLevel = level;\n this.chaptersCollapseComponent.forEach((div) => {\n div.nativeElement.classList.add('show');\n });\n this.subjectsComponent.forEach((div) => {\n div.nativeElement.setAttribute('aria-expanded', 'true');\n });\n if (level === 'concepts') {\n this.conceptsCollapseComponent.forEach((div) => {\n div.nativeElement.classList.add('show');\n });\n this.chaptersComponent.forEach((div) => {\n div.nativeElement.setAttribute('aria-expanded', 'true');\n });\n return;\n }\n this.conceptsCollapseComponent.forEach((div) => {\n div.nativeElement.classList.remove('show');\n });\n this.chaptersComponent.forEach((div) => {\n div.nativeElement.setAttribute('aria-expanded', 'false');\n });\n }\n}\n","import * as LoaderActionList from './loader.actions';\n\nexport interface State {\n isLoader: boolean;\n pendingRequest: number;\n}\n\nconst intialState: State = {\n isLoader: false,\n pendingRequest: 0\n};\n\nexport function loaderReducer(state = intialState, action: LoaderActionList.LoaderActionList): any {\n switch (action.type) {\n case LoaderActionList.SET_LOADER:\n let isLoader = state.isLoader;\n let pendingRequest = state.pendingRequest;\n if (action.payload) {\n pendingRequest = pendingRequest + 1;\n isLoader = true;\n }\n else {\n pendingRequest = pendingRequest - 1;\n if (pendingRequest <= 0) {\n pendingRequest = 0;\n isLoader = false;\n }\n }\n return {\n ...state,\n isLoader,\n pendingRequest\n };\n default:\n return state;\n }\n}\n","import { UtilityService } from '../../shared/services/utility.service';\nimport { Injectable } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { Effect, Actions, ofType } from '@ngrx/effects';\nimport { map, catchError, switchMap } from 'rxjs/operators';\n\nimport * as fromApp from '../app.reducers';\nimport * as UserProfileActions from './user-profile.actions';\nimport * as ProformaActions from '../proforma/proforma.actions';\nimport * as LoaderAction from '../../stores/loader/loader.actions';\n\nimport { UserProfile } from '../../models/profile.model';\nimport { HttpService } from '../../shared/services/http.service';\nimport { AlertService } from '../../shared/services/alert.service';\nimport { OnboardingService } from '../../user-onboarding/service/onboarding.service';\nimport { ProfileService } from '../../profile/shared/services/profile.service';\nimport { DetectLocationService } from '../../shared/services/detect-location.service';\nimport { ROUTES as ON_SPOT_ROUTES } from '../../on-spot-test/on-spot-test.constants';\nimport { getAdmissionTestRedirectionUrl } from '../../shared/utils/admissionTest.util';\nimport { USER_INFO_CONST } from 'src/app/shared/constants/common.constant';\nimport { ROUTES_LINK } from 'src/app/app.constants';\n\ninterface ApiResponse {\n code: number;\n data: any;\n message?: any;\n}\n\ninterface UserResponse {\n fromScreen: string;\n}\n\n@Injectable()\nexport class UserEffects {\n\n body;\n response;\n MSInputMethodContext;\n userData;\n constructor(\n private http: HttpService,\n private action$: Actions,\n private router: Router,\n private store: Store,\n private alertService: AlertService,\n private utilityService: UtilityService,\n private onboardingService: OnboardingService,\n private profileService: ProfileService,\n private route: ActivatedRoute,\n private detectLocation: DetectLocationService) {\n this.store.select('userProfile').subscribe((userProfile) => {\n this.userData = userProfile.userData;\n });\n }\n\n // Registering the effect of get user detail action\n @Effect()\n getUserDetails = this.action$.pipe(\n ofType(UserProfileActions.GET_USER_DETAIL),\n switchMap((data) => {\n const fromScreen = data['fromScreen'];\n return this.http.get('v4/auth/user-info', true, null, true).pipe(\n map(\n (res: ApiResponse) => {\n if (res.code === 200) {\n const userInfo = res.data;\n if (userInfo.hasOwnProperty(USER_INFO_CONST.userAccessStatus) && userInfo.userAccessStatus === USER_INFO_CONST.restrictAccess) {\n this.utilityService.restrictAccessPopUp.next(true);\n } else {\n this.profileService.showMyPlanPopUp.next(userInfo.showMyPlanPopUp);\n }\n localStorage.setItem('body', userInfo._id);\n localStorage.setItem('enrollmentNo', userInfo.enrollmentNo);\n localStorage.setItem('isNCRPUser',userInfo?.isNCRPUser);\n !userInfo.isNCRPUser && this.utilityService.showApplicationSurveyPopup.next(true);\n let initials = '';\n if (res.data.name.hasOwnProperty('firstName') && res.data.name.firstName.length > 0) {\n initials = this.utilityService.getYourInitials(res.data.name);\n }\n const initialsClass = this.utilityService.getInitialsClass();\n const userTag = data.payload.tag ? data.payload.tag : 'student';\n const teacherUrl = sessionStorage.getItem('teachersRedirectUrl');\n if (userInfo?.isAdmissionTestUser && !userInfo?.onSpotRegNo) {\n const redirectionUrl = getAdmissionTestRedirectionUrl(userInfo?.admissionTest);\n this.router.navigate([redirectionUrl]);\n }\n if ((!teacherUrl || teacherUrl === '') && !userInfo?.isAdmissionTestUser) {\n if (userInfo?.onboardingRequired && !userInfo.isTeacher && !userInfo?.dateOfBirth) {\n this.router.navigate(['/complete-profile']);\n } \n else {\n if (!window.location.href.includes('parent-proforma') && !window.location.href.includes('teacher-proforma')) {\n if (window.location.href.split('/')[window.location.href.split('/').length - 1] === '/') {\n this.router.navigate(['/home']);\n } else {\n const currentLocation = window.location.href;\n let accountDeletion = null;\n try {\n accountDeletion = JSON.parse(this.route.snapshot.queryParams.accountDeletion);\n } catch (e) {\n accountDeletion = false;\n }\n if (localStorage.getItem('lastRequested')) {\n localStorage.removeItem('lastRequested');\n } else if (currentLocation.includes('user/login') && accountDeletion) {\n this.router.navigate([ROUTES_LINK.ACCOUNT_DELETION])\n } else if (!Object.values(ROUTES_LINK).some(activeLinks => currentLocation.includes(activeLinks))) {\n this.router.navigate(['/home']);\n }\n }\n }\n }\n }\n let name = userInfo.name.firstName ? userInfo.name.firstName +\n ' ' + (userInfo.name.middleName ? userInfo.name.middleName + ' ' : '') +\n (userInfo.name.lastName ? userInfo.name.lastName : '') : '';\n name = name.trim();\n const user = new UserProfile(userInfo._id, name, userInfo.userName, (userInfo.mobile || (userInfo.b2bMobile && userInfo.b2bMobile.number)), userInfo.countryCode,\n userInfo.email,userInfo.dateOfBirth, userInfo.goals, userInfo.class, userInfo.careers, userInfo.location, {}, userInfo.mypatEnrollmentNo,\n '', userInfo.school, '', userInfo.photoUrl, false, false, userInfo.packages, 0, userInfo.passwordExists, {},\n userInfo.referralCode, '', {}, '', null, (userInfo.userType === 'fiitjee'),\n this.detectLocation.isSchoolDomain(), (userInfo.mobileIsVerified || (userInfo.b2bMobile && userInfo.b2bMobile.isVerified)), userInfo.emailIsverified,\n userInfo.followerCount, userInfo.followingCount, initials, initialsClass, userInfo.centres, userInfo.enrollmentNo, userInfo.isNCRPUser, userInfo.featurePermissions, userInfo.isTeacher, userInfo.isAdmissionTestUser, userInfo.admissionTest, userInfo.hasActivePackage,\n userInfo.onSpotRegNo, userInfo?.fiitjeeFacultyHiring\n );\n if (name && userInfo.userName) {\n localStorage.setItem('step1Status', 'completed');\n } else {\n localStorage.removeItem('step1Status');\n }\n if (userInfo.class && userInfo.goals) {\n localStorage.setItem('step2Status', 'completed');\n } else {\n localStorage.removeItem('step2Status');\n }\n if (userInfo.school.name) {\n localStorage.setItem('step3Status', 'completed');\n } else {\n localStorage.removeItem('step3Status');\n }\n if (userInfo.photoUrl || (userInfo.onboardingStepsSkipped && userInfo.onboardingStepsSkipped.find(step => step.name === 'profilePicture'))) {\n localStorage.setItem('step4Status', 'completed');\n } else {\n localStorage.removeItem('step4Status');\n }\n if ((userInfo?.mobileIsVerified || userInfo?.b2bMobile?.isVerified) && userInfo?.emailIsverified) {\n localStorage.setItem('step5Status', 'completed');\n } else {\n localStorage.removeItem('step5Status');\n }\n return {\n type: UserProfileActions.UPDATE_USER_DETAIL,\n payload: user\n };\n } else {\n return {\n type: UserProfileActions.FAIL\n };\n }\n }\n ),\n catchError((error) => {\n return [\n {\n type: UserProfileActions.FAIL\n }\n ];\n })\n );\n }),\n );\n\n\n // Registering the effect of update user detail action\n @Effect({ dispatch: false })\n updateUserDetail = this.action$.pipe(\n ofType(UserProfileActions.UPDATE_USER_DETAIL),\n map((action: UserProfileActions.UpdateUserDetail) => {\n return action.payload;\n }),\n );\n\n // Update class of the user in the store\n @Effect({ dispatch: false })\n addClass = this.action$.pipe(\n ofType(UserProfileActions.ADD_CLASS),\n map((action: UserProfileActions.AddClass) => {\n return action.payload;\n }),\n );\n\n // Update career of the user in the store\n @Effect({ dispatch: false })\n addCareer = this.action$.pipe(\n ofType(UserProfileActions.ADD_CAREER),\n map((action: UserProfileActions.AddCareer) => {\n return action.payload;\n }),\n );\n\n // Registering the effect of add goal action\n @Effect()\n addGoal = this.action$.pipe(\n ofType(UserProfileActions.ADD_GOAL),\n map((action: UserProfileActions.AddGoal) => {\n return action.payload;\n }),\n switchMap(\n (UserDetail) => {\n return this.http.put('v4/auth/user', true, UserDetail, true).pipe(\n map(\n (res: ApiResponse) => {\n if (res && res.code === 200) {\n const careerToAdd = [];\n // tslint:disable-next-line: prefer-for-of\n for (let i = 0; i < UserDetail['careers'].length; i++) {\n careerToAdd.push({\n id: UserDetail['careers'][i].id,\n name: UserDetail['careers'][i].name\n });\n }\n if (this.router.url.includes('complete-profile')) {\n localStorage.setItem('step2Status', 'completed');\n this.onboardingService.currentStep.next('3');\n this.onboardingService.lastStep.next('2c');\n this.router.navigateByUrl('complete-profile/3');\n } else {\n this.profileService.editedCourseDetails.next(true);\n }\n return {\n type: UserProfileActions.ADD_GOAL_SUCCESS,\n // tslint:disable-next-line: no-string-literal\n payload: {\n userClass: UserDetail['userClass'],\n goals: UserDetail['goals'],\n userCareers: careerToAdd\n },\n };\n } else if (res.code === 400) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.alertService.showErrorMessage(res.message);\n } else {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.alertService.showErrorMessage(res.message);\n }\n return {\n type: UserProfileActions.FAIL\n };\n }),\n catchError((error) => {\n return [\n {\n type: UserProfileActions.FAIL\n }\n ];\n }));\n }\n )\n );\n\n\n // Adding name in case of add name + username\n\n @Effect()\n addName = this.action$.pipe(\n ofType(UserProfileActions.ADD_NAME),\n map((action: UserProfileActions.AddName) => {\n return action.payload;\n }),\n switchMap(\n (UserDetail) => {\n const dataToSend = {\n // tslint:disable-next-line: no-string-literal\n name: UserDetail['name'],\n // tslint:disable-next-line: no-string-literal\n userName: UserDetail['userName']\n };\n return this.http.put('v4/auth/user-name', true, dataToSend, true).pipe(\n map(\n (res: ApiResponse) => {\n if (res && res.code === 200) {\n localStorage.setItem('step1Status', 'completed');\n if (UserDetail['isFiitjee']) {\n this.onboardingService.currentStep.next('3');\n this.onboardingService.lastStep.next('2c');\n this.router.navigateByUrl('complete-profile/3');\n } else {\n this.onboardingService.currentStep.next('2a');\n this.onboardingService.lastStep.next('1');\n this.router.navigateByUrl('complete-profile/2');\n }\n return {\n type: UserProfileActions.ADD_NAME_SUCCESS,\n // tslint:disable-next-line: no-string-literal\n payload: { name: dataToSend['name'], userName: dataToSend['userName'] },\n };\n } else if (res.code === 400) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.onboardingService.errorMessage.next({ step1: res.message });\n } else {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.alertService.showErrorMessage(res.message);\n }\n return {\n type: UserProfileActions.FAIL\n };\n }),\n catchError((error) => {\n return [\n {\n type: UserProfileActions.FAIL\n }\n ];\n }));\n }\n )\n );\n\n // Registering the effect of add school action\n @Effect()\n addSchool = this.action$.pipe(\n ofType(UserProfileActions.ADD_SCHOOL),\n map((action: UserProfileActions.AddSchool) => {\n return action.payload;\n }),\n switchMap(\n (UserDetail) => {\n return this.http.put('v4/auth/user', true, UserDetail, true).pipe(\n map(\n (res: ApiResponse) => {\n if (res && res.code === 200) {\n if (this.router.url.includes('complete-profile')) {\n localStorage.setItem('step3Status', 'completed');\n this.onboardingService.currentStep.next('4');\n this.onboardingService.lastStep.next('3');\n this.router.navigateByUrl('complete-profile/4');\n this.onboardingService.schoolUpdated.next(false);\n } else {\n this.profileService.schoolAdded.next(true);\n }\n const payload = {\n fromScreen: 'step3',\n authToken: localStorage.getItem('authToken') || sessionStorage.getItem('authToken'),\n tag: ''\n };\n return {\n type: UserProfileActions.GET_USER_DETAIL,\n payload: payload\n };\n } else if (res.code === 400) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.alertService.showErrorMessage(res.message);\n } else {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.alertService.showErrorMessage(res.message);\n }\n return {\n type: UserProfileActions.FAIL\n };\n }),\n catchError((error) => {\n return [\n {\n type: UserProfileActions.FAIL\n }\n ];\n }));\n }\n )\n );\n\n\n // Registering the effect of add profile action\n @Effect()\n addPhoto = this.action$.pipe(\n ofType(UserProfileActions.ADD_PROFILE_SUCCESS),\n map((action: UserProfileActions.AddProfileSuccess) => {\n return action.payload;\n }),\n switchMap(\n (UserDetail) => {\n return this.http.put('v4/auth/user', true, UserDetail, true).pipe(\n map(\n (res: ApiResponse) => {\n if (res && res.code === 200) {\n localStorage.setItem('step4Status', 'completed');\n this.onboardingService.currentStep.next('5a');\n this.onboardingService.lastStep.next('4');\n this.router.navigateByUrl('complete-profile/5');\n return {\n type: UserProfileActions.ADD_PROFILE_SUCCESS,\n // tslint:disable-next-line: no-string-literal\n payload: UserDetail['photoUrl']\n };\n } else if (res.code === 400) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.alertService.showErrorMessage(res.message);\n } else {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.alertService.showErrorMessage(res.message);\n }\n return {\n type: UserProfileActions.FAIL\n };\n }),\n catchError((error) => {\n return [\n {\n type: UserProfileActions.FAIL\n }\n ];\n }));\n }\n )\n );\n\n // Registering the effect of verifing mobile action\n @Effect()\n verifyMobile = this.action$.pipe(\n ofType(UserProfileActions.VERIFY_MOBILE_PROFILE),\n map((action: UserProfileActions.VerifyMobileProfile) => {\n return action.payload;\n }),\n switchMap(\n (payload) => {\n return this.http.put('v4/auth/users/verify-otp', true, payload, true).pipe(\n map(\n (res: ApiResponse) => {\n if (res.code === 200) {\n if (this.router.url.includes('complete-profile')) {\n this.onboardingService.phoneAdded.next('true');\n // localStorage.setItem('step5Status', 'completed');\n this.onboardingService.currentStep.next('5b');\n this.onboardingService.lastStep.next('5a');\n } else {\n this.profileService.emailMobileAdded.next({ mobileAdded: true });\n }\n return {\n type: UserProfileActions.VERIFY_MOBILE_PROFILE_SUCCESS,\n payload: { mobile: payload.mobile, countryCode: payload.countryCode },\n };\n } else if (res.code === 202 && this.router.url.includes('edit')) {\n } else if (res && res.code === 409) {\n } else {\n this.alertService.showErrorMessage(res.message);\n return {\n type: UserProfileActions.FAIL\n };\n }\n return {\n type: UserProfileActions.FAIL\n };\n }\n ),\n catchError((error) => {\n return [\n {\n type: UserProfileActions.FAIL\n }\n ];\n }));\n }\n )\n );\n\n // Registering the effect of verifing mobile action\n @Effect()\n verifyEmail = this.action$.pipe(\n ofType(UserProfileActions.VERIFY_EMAIL_PROFILE),\n map((action: UserProfileActions.VerifyEmailProfile) => {\n return action.payload;\n }),\n switchMap(\n (payload) => {\n return this.http.put('v4/auth/users/verify-otp', true, payload, true).pipe(\n map(\n (res: ApiResponse) => {\n if (res.code === 200 || res.code === 408) {\n if (this.router.url.includes('complete-profile')) {\n localStorage.setItem('step5Status', 'completed');\n this.onboardingService.currentStep.next('6');\n this.onboardingService.lastStep.next('5b');\n this.router.navigateByUrl('complete-profile/6');\n } else {\n this.profileService.emailMobileAdded.next({ emailAdded: true });\n }\n return {\n type: UserProfileActions.VERIFY_EMAIL_PROFILE_SUCCESS,\n payload: { email: payload.email }\n };\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n return {\n type: UserProfileActions.FAIL\n };\n }\n ),\n catchError((error) => {\n return [\n {\n type: UserProfileActions.FAIL\n }\n ];\n }));\n }\n )\n );\n\n // Registering the effect of add password action\n @Effect()\n addPassword = this.action$.pipe(\n ofType(UserProfileActions.ADD_PASSWORD),\n map((action: UserProfileActions.AddPassword) => {\n return action.payload;\n }),\n switchMap(\n (payload) => {\n return this.http.post('v4/auth/reset-password', true, payload, true).pipe(\n map(\n (data: ApiResponse) => {\n if (data.code === 200) {\n this.http.put('v4/auth/users/mypat-enrolment-number', true, {}, true).subscribe((res) => {\n if (res && res.code === 200) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n localStorage.setItem('step6Status', 'completed');\n this.onboardingService.currentStep.next('6');\n this.onboardingService.lastStep.next('6');\n const payload = {\n fromScreen: 'refresh',\n authToken: localStorage.getItem('authToken') || sessionStorage.getItem('authToken'),\n tag: 'student'\n };\n this.store.dispatch(new ProformaActions.GetProformaDetail(payload));\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n return {\n type: UserProfileActions.ADD_PASSWORD_SUCCESS,\n payload: {}\n };\n } else {\n return {\n type: UserProfileActions.FAIL\n };\n }\n }\n ),\n catchError((error) => {\n return [\n {\n type: UserProfileActions.FAIL\n }\n ];\n }));\n }\n )\n );\n\n @Effect()\n skipPassword = this.action$.pipe(\n ofType(UserProfileActions.SKIP_PASSWORD),\n map((action: UserProfileActions.SkipPassword) => {\n return action.payload;\n }),\n switchMap(() => {\n return this.http.put('v4/auth/users/mypat-enrolment-number', true, {}, true).pipe(\n map((res: ApiResponse) => {\n if (res && res.code === 200) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n localStorage.setItem('step6Status', 'completed');\n this.onboardingService.currentStep.next('6');\n this.onboardingService.lastStep.next('6');\n\n const payload = {\n fromScreen: 'refresh',\n authToken: localStorage.getItem('authToken') || sessionStorage.getItem('authToken'),\n tag: 'student'\n };\n this.store.dispatch(new ProformaActions.GetProformaDetail(payload));\n // this.router.navigateByUrl('dashboard');\n return {\n type: UserProfileActions.SKIP_PASSWORD_SUCCESS,\n payload: {}\n };\n } else {\n return {\n type: UserProfileActions.FAIL\n };\n }\n }),\n catchError((error) => {\n return [\n {\n type: UserProfileActions.FAIL\n }\n ];\n })\n )\n }\n ),\n );\n\n\n // Registering the effect to get class list action\n @Effect()\n getClassList = this.action$.pipe(\n ofType(UserProfileActions.GET_CLASS_LIST),\n map((action: UserProfileActions.GetClassList) => {\n return;\n }),\n switchMap(\n (obj) => {\n if (this.router.url.includes('user-profile-completion')) {\n localStorage.setItem('fetchedClassList', 'true');\n }\n return this.http.get('getClass', false, null, true),\n catchError((error) => {\n return [\n {\n type: UserProfileActions.FAIL\n }\n ];\n });\n }\n ),\n map((res: ApiResponse) => {\n if (res.code === 200) {\n return {\n type: UserProfileActions.FAIL\n };\n }\n else {\n return {\n type: UserProfileActions.FAIL\n };\n }\n }\n )\n );\n\n // Registering the effect to get goal list action\n @Effect()\n getGoalList = this.action$.pipe(\n ofType(UserProfileActions.GET_GOAL_LIST),\n map((action: UserProfileActions.GetGoalList) => {\n return action.payload;\n }),\n switchMap(\n (className) => {\n return this.http.get('getGoals?class=' + className, false, null, true),\n catchError((error) => {\n return [\n {\n type: UserProfileActions.FAIL\n }\n ];\n });\n }\n ),\n map((res: ApiResponse) => {\n if (res.code === 200) {\n if (res && res.data && res.data.length) {\n }\n return {\n type: UserProfileActions.FAIL\n };\n } else {\n return {\n type: UserProfileActions.FAIL\n };\n\n }\n }\n )\n );\n\n @Effect()\n addReferral = this.action$.pipe(\n ofType(UserProfileActions.ADD_REFERRAL),\n map((action: UserProfileActions.AddReferral) => {\n return action.payload;\n }),\n switchMap(\n (obj) => {\n const dataToSend = null;\n return this.http.put('updateOtherDetails', true, dataToSend, true),\n map(\n (data: ApiResponse) => {\n if (data.code === 200) {\n return {\n type: UserProfileActions.ADD_REFERRAL_SUCCESS,\n payload: obj\n };\n } else {\n return {\n type: UserProfileActions.FAIL\n };\n }\n }),\n catchError((error) => {\n return [\n {\n type: UserProfileActions.FAIL\n }\n ];\n });\n }\n )\n );\n\n\n // Updating user profile photo from user card section - profile details\n @Effect()\n updateUserProfilePhoto = this.action$.pipe(\n ofType(UserProfileActions.UPDATE_USER_CARD_PROFILE),\n map((action: UserProfileActions.UpdateUserCardProfile) => {\n return action.payload;\n }),\n switchMap(\n (UserDetail) => {\n return this.http.put('v4/auth/user', true, UserDetail, true).pipe(\n map(\n (res: ApiResponse) => {\n if (res && res.code === 200) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.alertService.showSuccessMessage(res.message);\n return {\n type: UserProfileActions.UPDATE_USER_CARD_PROFILE_SUCCESS,\n payload: {\n // tslint:disable-next-line: no-string-literal\n photoUrl: UserDetail['photoUrl']\n }\n };\n } else if (res.code === 400) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.alertService.showErrorMessage(res.message);\n } else {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.alertService.showErrorMessage(res.message);\n }\n return {\n type: UserProfileActions.FAIL\n };\n }),\n catchError((error) => {\n return [\n {\n type: UserProfileActions.FAIL\n }\n ];\n }));\n }\n )\n );\n}\n","import { Component, OnInit, ViewChild, ElementRef, HostListener, OnDestroy } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport * as fromApp from '../../../stores/app.reducers';\nimport { UtilityService } from '../../services/utility.service';\nimport { Router, NavigationStart, NavigationEnd, NavigationError, NavigationCancel, RoutesRecognized } from '@angular/router';\nimport { environment } from 'src/environments/environment';\nimport { AlertService } from '../../services/alert.service';\nimport { HomeService } from 'src/app/home-page/services/home.service';\nimport { HomeSearchComponent } from 'src/app/home-page/shared/home-search/home-search.component';\nimport { GLiteUtilityService } from '../../services/g-lite-utility.service';\nimport { Subscription } from 'rxjs';\nimport { EbooksService } from 'src/app/landing-pages/ebooks/ebooks.service';\nimport { HOME_ROUTE, MY_REVISION_PLAN, SEARCH_RESULT, } from 'src/app/home-page/constants/routes.constant';\nimport { filter } from 'rxjs/operators';\ndeclare var $: any;\n\n@Component({\n selector: 'app-header-after-login',\n templateUrl: './header-after-login.component.html',\n styleUrls: ['./header-after-login.component.scss']\n})\n\nexport class HeaderAfterLoginComponent implements OnInit, OnDestroy {\n @ViewChild('sideBar') sideBarRef: ElementRef;\n isClassVisible = true;\n public userData: any;\n public freeTrialData: any;\n public currentUrl = '';\n public showLogoutPopup = false;\n public showChangePassword = false;\n public sidebarOverlay: boolean = false;\n isMobile = false;\n showSearchIcon = false;\n hideRightNav = false;\n clearSearch = false;\n public clickedTabDetail: string = '';\n public showRevModal: boolean = false;\n public isNcrpUser = false;\n public numberOfItemsInCart: number = 0;\n public fiitjeeFacultyHiring:boolean = false;\n private activeSubscriptions = new Subscription();\n @ViewChild(HomeSearchComponent) homeSearchComponent: HomeSearchComponent;\n public isHomeActive : boolean = true;\n constructor(private store: Store,\n private router: Router, public utilityService: UtilityService, private alert: AlertService, private homeService: HomeService\n , private _gLiteUtility: GLiteUtilityService,\n private _ebook: EbooksService) {\n if (/Android|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {\n this.isMobile = true;\n }\n }\n\n ngOnInit(): void {\n this.sidebarOverlay = false;\n this.activeSubscriptions.add(\n this.store.select('userProfile').subscribe((userProfile) => {\n this.userData = userProfile.userData;\n this.isNcrpUser = this.userData.isNCRPUser;\n this.fiitjeeFacultyHiring = this.userData.fiitjeeFacultyHiring;\n })\n );\n this.activeSubscriptions.add(\n this._gLiteUtility.getCart().subscribe(res => {\n if(res){\n this.numberOfItemsInCart=res?.data?.course?.length;\n this._gLiteUtility.numberOfItemsInCart.next({ numberOfItemsInCart: this.numberOfItemsInCart});\n }\n })\n );\n\n this.activeSubscriptions.add(\n this._gLiteUtility.numberOfItemsInCart.subscribe((data: any) => {\n this.numberOfItemsInCart = data.numberOfItemsInCart;\n })\n )\n\n this.activeSubscriptions.add(\n this.utilityService.downloadEbook.subscribe((downloadEbook: boolean) => {\n if (this._ebook.selectedEbookLink && downloadEbook) {\n window.open(this._ebook.selectedEbookLink, '_blank');\n this._ebook.selectedEbookLink = '';\n }\n })\n );\n\n // freeTrial code\n this.getTheFreeTrialData();\n\n this.router.events.forEach((event) => {\n if (event instanceof NavigationEnd) {\n this.currentUrl = event.url;\n }\n });\n\n this.currentUrl = this.router.url;\n // for hiding navbar on outer click\n $(document).click((event) => {\n const clickover = $(event.target);\n const $navbar = $('.navbar-collapse');\n const opened = $navbar.hasClass('show');\n if (opened === true && !clickover.hasClass('navbar-toggle')) {\n $navbar.collapse('hide');\n }\n });\n this.activeSubscriptions.add(\n this.router.events\n .pipe(filter((event) => event instanceof NavigationEnd))\n .subscribe((event: NavigationEnd) => {\n if (\n this.currentUrl.includes(HOME_ROUTE) ||\n this.currentUrl.includes(SEARCH_RESULT) ||\n this.currentUrl.includes(MY_REVISION_PLAN)\n ) {\n this.changeHomeStatus(true);\n }\n })\n );\n }\n\n @HostListener('document:click', ['$event']) onClick(event) {\n let searchEle: any = document.getElementsByClassName('searchHideRes');\n if (searchEle && searchEle.length === 0) {\n this.showSearchIcon = false;\n }\n }\n\n onExpand(event) {\n this.hideRightNav = event;\n }\n\n searchClicked() {\n this.changeHomeStatus();\n this.showSearchIcon = true;\n this.homeSearchComponent?.clearSearchText();\n }\n\n showSidebar(): void {\n this.sideBarRef.nativeElement.style.left = '0px';\n this.sidebarOverlay = !this.sidebarOverlay;\n }\n\n hideSidebar(): void {\n this.sideBarRef.nativeElement.style.left = '-1000px';\n this.sidebarOverlay = !this.sidebarOverlay;\n }\n\n getTheFreeTrialData(): void {\n this.utilityService.fetchFreeTrialDataAPI();\n this.activeSubscriptions.add(\n this.utilityService.freeTrialDataContainer.subscribe((res) => {\n this.freeTrialData = res;\n })\n );\n }\n\n navigateToHome(): void {\n localStorage.removeItem('lastRequested');\n this.changeHomeStatus(true);\n if (localStorage.getItem('onLastMinuteRevision') === 'true') {\n this.clickedTabDetail = 'home';\n this.showRevModal = true;\n setTimeout(() => {\n $('#doneRevisionModal').modal({\n backdrop: 'static',\n keyboard: false\n });\n }, 100);\n } else {\n this.clickedTabDetail = '';\n this.clearSearch = true;\n const card = JSON.parse(localStorage.getItem('openendCardDetails'))?.selectedCard;\n if (card?.type != 'help' && card?.type != 'ideasAndSuggestions') {\n //localStorage.removeItem('toExpandCard');\n //localStorage.removeItem('openendCardDetails');\n }\n if (this.router.url.includes('home') && !this.router.url.includes('/searchResult/')) {\n this.alert.updateWorkingHomePage.next({ update: 'openHome' });\n }\n localStorage.removeItem('lastRequested');\n this.router.navigate(['/home']);\n }\n }\n\n navigateToClasses(): void {\n if (localStorage.getItem('onLastMinuteRevision') === 'true') {\n this.clickedTabDetail = 'liveclasses';\n this.showRevModal = true;\n setTimeout(() => {\n $('#doneRevisionModal').modal({\n backdrop: 'static',\n keyboard: false\n });\n }, 100);\n } else {\n this.clickedTabDetail = '';\n const url = (this.userData.isFiitjee ? environment.glorifireliveClasses : environment.myPatUrl) + '?authToken=' + (localStorage.getItem('authToken') || sessionStorage.getItem('authToken')) + '&loginVia=liveClasses';\n window.open(url, '_blank');\n }\n }\n\n navigateToCommunity(): void {\n this.changeHomeStatus();\n if (localStorage.getItem('onLastMinuteRevision') === 'true') {\n this.clickedTabDetail = 'community';\n this.showRevModal = true;\n setTimeout(() => {\n $('#doneRevisionModal').modal({\n backdrop: 'static',\n keyboard: false\n });\n }, 100);\n } else {\n // this.clickedTabDetail = '';\n // const url = (this.userData.isFiitjee ? environment.fiitjeeUrlv3 : environment.myPatUrl) +\n // '/community/view/popular?authToken=' + (localStorage.getItem('authToken') || sessionStorage.getItem('authToken')) + '&redirectUrl=' + environment.fiitjeeUrlv4;\n // window.open(url, '_blank');\n this.router.navigate(['/community/view/popular']);\n }\n }\n\n goToDownloadApp(): void {\n this.router.navigate(['/mobile-app-download']);\n }\n\n logoutConfirm(): void {\n this.changeHomeStatus();\n this.showLogoutPopup = true;\n setTimeout(() => {\n $('#logoutModal').modal({\n backdrop: 'static',\n keyboard: false\n });\n }, 0);\n }\n\n closePopup(): void {\n $('#logoutModal').modal('hide');\n $('.modal-backdrop').remove();\n $('body').removeClass('modal-open');\n }\n\n changePassword(): void {\n this.showChangePassword = true;\n setTimeout(() => {\n $('#changePasswordModal').modal({\n backdrop: 'static',\n keyboard: false\n });\n }, 0);\n }\n\n closeChangePassword(): void {\n $('#changePasswordModal').modal('hide');\n $('.modal-backdrop').remove();\n $('body').removeClass('modal-open');\n }\n\n closeRevisionPopup(): void {\n $('#doneRevisionModal').modal('hide');\n $('.modal-backdrop').remove();\n $('body').removeClass('modal-open');\n }\n\n\n confirmExit(event): void {\n localStorage.removeItem('onLastMinuteRevision');\n this.showRevModal = false;\n switch (this.clickedTabDetail) {\n case 'home': {\n this.navigateToHome();\n this.closeRevisionPopup();\n break;\n }\n case 'liveclasses': {\n this.navigateToClasses();\n this.closeRevisionPopup();\n break;\n }\n case 'community': {\n this.navigateToCommunity();\n this.closeRevisionPopup();\n break;\n }\n }\n }\n\n closeRevPopup(): void {\n this.showRevModal = false;\n }\n\n autoFocusSearchField(): void {\n this.homeService.homeSearchUpdate.emit({ action: 'autoFocusSearchField' });\n }\n\n clearSearchResults(): void {\n this.homeService.homeSearchUpdate.emit({ action: 'clearAllSuggestions' });\n }\n\n changeHomeStatus(status: boolean = false){ \n this.isHomeActive= status; \n }\n\n ngOnDestroy(): void {\n this.activeSubscriptions.unsubscribe();\n }\n}\n","
\n
\n \n \n
\n \n
\n \n
\n\n
\n \n\n \n \n \n
\n
\n\n
\n
\n
\n
\n \n

Search History

\n

Are you sure you want to clear your Search History?

\n
\n \n
\n
\n
\n\n\n\n\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { AuthGaurd } from './auth-guard.service';\nimport { VerifyPasscodeComponent } from './auth/verify-passcode/verify-passcode.component';\nimport { UnderDevelopmentComponent } from './shared/components/under-development/under-development.component';\nimport { InvalidLoginComponent } from './invalid-login/invalid-login.component';\nimport { AdmissionTestGuardResolver } from './admissionTestGuard.resolver';\nimport { ROUTES as ON_SPOT_ROUTES } from './on-spot-test/on-spot-test.constants';\nimport { LoginGuard } from './login-guard.service';\nimport { ROUTES_LINK } from './app.constants';\n\nconst routes: Routes = [\n {\n path: '',\n canActivate: [LoginGuard],\n loadChildren: () => import('src/app/home-info/home-info.module').then(m => m.HomeInfoModule)\n },\n {\n path: 'parent-proforma/:userId',\n component: VerifyPasscodeComponent,\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'teacher-proforma/:userId',\n component: VerifyPasscodeComponent,\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'foreward-and-FUPs',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/foreward-fup/foreward-fup.module').then(m => m.ForewardFupModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'complete-profile',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/onboarding/onboarding.module').then(m => m.OnboardingModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'profile',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/profile/profile.module').then(m => m.ProfileModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n // {\n // path: 'refer-and-earn',\n // loadChildren: () => import('src/app/refer-and-earn/refer-and-earn.module').then(m => m.ReferAndEarn)\n // },\n {\n path: 'home',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/home-page/home-page.module').then(m => m.HomePageModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'cart',\n loadChildren: () => import('src/app/cart/cart.module').then(m => m.CartModule)\n },\n {\n path: 'view-schedule/:packageId',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/view-schedule/view-schedule.module').then(m => m.ViewScheduleModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'community',\n loadChildren: () => import('src/app/new-community/new-community.module').then(m => m.NewCommunityModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'my-revision-plan',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/myRevision-plan/myRevision-plan.module').then(m => m.MyRevisionPlanModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'test',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test/test.module').then(m => m.TestModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n // Routes for new result analysis\n {\n path: 'test-results',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-results-analytics/test-results-analytics.module').then(m => m.TestResultsAnalyticsModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'test-results/:testId/:attemptId/:testType',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-results-analytics/test-results-analytics.module').then(m => m.TestResultsAnalyticsModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'test-results/:testId/:attemptId/:testType/:testName',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-results-analytics/test-results-analytics.module').then(m => m.TestResultsAnalyticsModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'test-results/:testId/:attemptId/:testType/:testName/:authToken',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-results-analytics/test-results-analytics.module').then(m => m.TestResultsAnalyticsModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'test-results/:testId/:attemptId/:testType/:courseId',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-results-analytics/test-results-analytics.module').then(m => m.TestResultsAnalyticsModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'test-results/:testId/:attemptId/:testType/:testName/:courseId/:authToken',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-results-analytics/test-results-analytics.module').then(m => m.TestResultsAnalyticsModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: ':module/test-results',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-results-analytics/test-results-analytics.module').then(m => m.TestResultsAnalyticsModule)\n },\n {\n path: ':module/test-results/:testId/:attemptId/:testType',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-results-analytics/test-results-analytics.module').then(m => m.TestResultsAnalyticsModule)\n },\n {\n path: ':module/test-results/:testId/:attemptId/:testType/:testName',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-results-analytics/test-results-analytics.module').then(m => m.TestResultsAnalyticsModule)\n },\n {\n path: ':module/test-results/:testId/:attemptId/:testType/:testName/:authToken',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-results-analytics/test-results-analytics.module').then(m => m.TestResultsAnalyticsModule)\n },\n {\n path: ':module/test-results/:testId/:attemptId/:testType/:courseId',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-results-analytics/test-results-analytics.module').then(m => m.TestResultsAnalyticsModule)\n },\n {\n path: ':module/test-results/:testId/:attemptId/:testType/:testName/:courseId/:authToken',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-results-analytics/test-results-analytics.module').then(m => m.TestResultsAnalyticsModule)\n },\n {\n path: 'revision/question-details',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/revision-question-details/revision-question-details.module').then(m => m.RevisionQuestionDetailsModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n // Routes for new result analysis ends\n\n { // TODO: insert in some module later\n path: 'dashboard',\n canActivate: [AuthGaurd],\n component: UnderDevelopmentComponent,\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'test-details/course/:courseId/test/:testId/package/:packageId',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-details/test-details.module').then(m => m.TestDetailsModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'test-details/course/:courseId/test/:testId/:isCustomTest',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-details/test-details.module').then(m => m.TestDetailsModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'test-details/course/:courseId/test/:testId',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-details/test-details.module').then(m => m.TestDetailsModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'test-details/course/:courseId/assignment/:assignmentId/test/:testId',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-details/test-details.module').then(m => m.TestDetailsModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: ':module/test-details/course/:courseId/test/:testId/package/:packageId',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-details/test-details.module').then(m => m.TestDetailsModule)\n },\n {\n path: ':module/test-details/course/:courseId/test/:testId/:isCustomTest',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-details/test-details.module').then(m => m.TestDetailsModule)\n },\n {\n path: ':module/test-details/course/:courseId/test/:testId',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-details/test-details.module').then(m => m.TestDetailsModule)\n },\n {\n path: ':module/test-details/course/:courseId/assignment/:assignmentId/test/:testId',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-details/test-details.module').then(m => m.TestDetailsModule)\n },\n {\n path: 'cpp-subjective-file-upload',\n loadChildren: () => import('src/app/upload-file-subjective/upload-file-subjective.module').then(m => m.UploadFileSubjectiveModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'about-us',\n loadChildren: () => import('src/app/about-us/about-us.module').then(m => m.aboutUsModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'm.about-us',\n loadChildren: () => import('src/app/about-us-mobile/about-us-mobile.module').then(m => m.AboutUsMobileModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'terms-of-use',\n loadChildren: () => import('src/app/terms-of-use/terms-of-use.module').then(m => m.TermsOfUseModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'm.terms-of-use',\n loadChildren: () => import('src/app/terms-of-use-mobile/terms-of-use-mobile.module').then(m => m.TermsOfUseMobileModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'privacy-policy',\n loadChildren: () => import('src/app/privacy-policy/privacy-policy.module').then(m => m.PrivacyPolicyModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'm.privacy-policy',\n loadChildren: () => import('src/app/privacy-policy-mobile/privacy-policy-mobile.module').then(m => m.PrivacyPolicyMobileModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'copyright',\n loadChildren: () => import('src/app/copyright/copyright.module').then(m => m.CopyrightModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'disclaimer',\n loadChildren: () => import('src/app/disclaimer/disclaimer.module').then(m => m.DisclaimerModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'fiitjee-recorded-lectures-privacy-policy',\n loadChildren: () => import('src/app/lecture-privacy-policy/lecture-privacy-policy.module').then(m => m.LecturePrivacyPolicyModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'm.fiitjee-recorded-lectures-privacy-policy',\n loadChildren: () => import('src/app/mobile-lecture-privacy-policy/mobile-lecture-privacy-policy.module').then(m => m.MobileLecturePrivacyPolicyModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n // {\n // path: 'help',\n // canActivate: [AuthGaurd],\n // loadChildren: () => import('src/app/help-and-support/help-and-support.module').then(m => m.HelpAndSupportModule)\n // },\n // {\n // path: 'idea',\n // canActivate: [AuthGaurd],\n // loadChildren: () => import('src/app/idea-and-support/idea-and-support.module').then(m => m.IdeaAndSupportModule)\n // },\n {\n path: 'checkout',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/checkout/checkout.module').then(m => m.CheckoutModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'concept-history/:syllabusId/:conceptId/:title',\n canActivate: [AuthGaurd],\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n loadChildren: () => import('src/app/concept-history/concept-history.module').then(m => m.ConceptHistoryModule)\n },\n {\n path: 'competitive-exam',\n loadChildren: () => import('src/app/landing-pages/competitive-exam/competitive-exam.module').then(m => m.CompetitiveExamModule)\n },\n {\n path: 'view-our-results',\n loadChildren: () => import('src/app/landing-pages/view-our-results/view-our-results.module').then(m => m.ViewOurResultsModule)\n },\n {\n path: 'exam/:id',\n loadChildren: () => import('src/app/landing-pages/exam/exam.module').then(m => m.ExamModule)\n },\n {\n path: 'ebooks',\n loadChildren: () => import('src/app/landing-pages/ebooks/ebooks.module').then(m => m.EbooksModule)\n },\n {\n path: 'previous-year-paper-download',\n loadChildren: () => import('src/app/previous-year-papers-download/previous-year-papers-download.module').then(m => m.PreviousYearPapersDownloadModule)\n },\n {\n path: 'user',\n loadChildren: () => import('src/app/login-signup-info/login-signup-data.module').then(m => m.LoginSignupDataModule)\n },\n {\n path: 'prep-tracker',\n loadChildren: () => import('src/app/landing-pages/prep-tracker/prep-tracker.module').then(m => m.PrepTrackerModule)\n },\n {\n path: 'college-predictor',\n loadChildren: () => import('src/app/college-predictor/college-predictor.module').then(m => m.CollegePredictorModule)\n },\n {\n path: 'quiz',\n loadChildren: () => import('src/app/quiz-platform/quiz-platform.module').then(m => m.QuizPlatformModule)\n },\n {\n path: ROUTES_LINK.ACCOUNT_DELETION,\n loadChildren: () => import('src/app/account-deletion/account-deletion.module').then(m => m.AccountDeletionModule)\n },\n {\n path: ON_SPOT_ROUTES.ON_SPOT,\n loadChildren: () => import('src/app/on-spot-test/on-spot-test.module').then(m => m.OnSpotTestModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n }, \n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {scrollPositionRestoration: 'enabled'})],\n exports: [RouterModule]\n})\n\nexport class AppRoutingModule { }\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, timer, } from 'rxjs';\nimport { scan, takeWhile } from 'rxjs/operators';\n\nimport { HttpService } from '../../shared/services/http.service';\nimport { AlertService } from '../../shared/services/alert.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OnboardingService {\n public errorMessage = new BehaviorSubject({});\n public updatedProfileImage = new BehaviorSubject({});\n public currentStep = new BehaviorSubject('1');\n public lastStep = new BehaviorSubject('1');\n public schoolUpdated = new BehaviorSubject(false);\n public isCaptchaChecked = new BehaviorSubject(false);\n public phoneAdded = new BehaviorSubject('');\n\n constructor(\n private httpService: HttpService,\n private alertService: AlertService\n ) { }\n\n getOnboardingStep(userInfo): number {\n if (this.showStep2(userInfo)) {\n if (this.showStep3(userInfo)) {\n if (this.showStep4(userInfo)) {\n if (this.showStep5(userInfo)) {\n if (this.showStep6(userInfo)) {\n this.currentStep.next('6');\n return 6;\n } else {\n this.currentStep.next('5a');\n return 5;\n }\n } else {\n this.currentStep.next('4');\n return 4;\n }\n } else {\n this.currentStep.next('3');\n return 3;\n }\n } else {\n this.currentStep.next('2a');\n return 2;\n }\n } else {\n this.currentStep.next('1');\n return 1;\n }\n }\n\n showStep2(userInfo): boolean {\n if (userInfo.class && userInfo.class.name) {\n return true;\n } else {\n return false;\n }\n }\n\n showStep3(userInfo): boolean {\n if (userInfo.goals.length > 0 || userInfo.userType === 'fiitjee') {\n return true;\n } else {\n return false;\n }\n }\n\n showStep4(userInfo): boolean {\n if (userInfo.school && userInfo.school.name) {\n return true;\n } else {\n return false;\n }\n }\n\n showStep5(userInfo): boolean {\n if (userInfo.photoUrl || (userInfo.onboardingStepsSkipped && userInfo.onboardingStepsSkipped.find(step => step.name === 'profilePicture'))) {\n return true;\n } else {\n return false;\n }\n }\n\n showStep6(userInfo): boolean {\n if ((userInfo?.mobileIsVerified || userInfo?.b2bMobile?.isVerified) && userInfo?.emailIsverified) {\n return true;\n } else {\n return false;\n }\n }\n\n getClasses(): any {\n return new Promise((resolve, reject) => {\n this.httpService.get('v4/classes', {}).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getCareers(value): any {\n return new Promise((resolve, reject) => {\n this.httpService.get(`v4/careers?classId=${value}`, null).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getGoals(value): any {\n return new Promise((resolve, reject) => {\n const apiName = `v4/courses?courseTypeIds=${value.courseTypeIds}&sessionYear=${value.sessionYear}&classId=${value.classId}`;\n this.httpService.get(apiName, null).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getCountryData(): any {\n return new Promise((resolve, reject) => {\n this.httpService.get(`v4/locations`, {}).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getStateData(countryId): any {\n return new Promise((resolve, reject) => {\n const apiName = 'v4/locations?countryId=' + countryId;\n this.httpService.get(apiName, {}).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getCityData(data): any {\n return new Promise((resolve, reject) => {\n const apiName = 'v4/locations?countryId=' + data.countryId + '&stateId=' + data.stateId;\n this.httpService.get(apiName, {}).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getSchoolData(data): any {\n const apiName = 'v4/auth/schools?cityId=' + data.cityId + '&schoolName=' + data.schoolName;\n return new Promise((resolve, reject) => {\n this.httpService.get(apiName, {}).subscribe((res) => {\n if (res && res.code) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n skipStep(step) : any {\n const apiName = 'v4/auth/user';\n return new Promise((resolve, reject) => {\n this.httpService.put(apiName, true, step, true).subscribe((res) => {\n if (res && res.code) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpService } from 'src/app/shared/services/http.service';\nimport { environment } from 'src/environments/environment';\n\n@Injectable({\n providedIn:'root'\n})\nexport class BuyCoursesService {\n constructor(private _http: HttpService) { }\n\n\n getAllAvailedPackages(){\n return this._http.get('v4/auth/user/packages', true, null, true, false, environment.serverURLv4);\n }\n\n getCourses(class_id, exam_id) {\n return this._http.get('packages', false, { class_id, exam_id}, true, false, environment.serverURLv3);\n }\n\n getGoals(class_id) {\n return this._http.get('getGoalsType', false, { class: class_id }, true, false, environment.serverURLv3);\n }\n\n getClasses(startingClass = 9) {\n return this._http.get('getClass', false, { startingClass }, true, false, environment.serverURLv3);\n }\n\n addToCart(data: any) {\n return this._http.post('addToCart', true, data, true, false, false, environment.serverURLv3);\n }\n \n addToAccount(pid: any) {\n return this._http.post('v4/auth/free-packages', true, {'packageIds': [pid]}, true, false, false, environment.serverURLv4);\n }\n}\n","export const USER_TYPE = {\n STUDENTS: 'students',\n STAKEHOLDER: 'stakeholders',\n STAFF: 'staff',\n STAFF_ALUMNI: 'staffalumni',\n SCHOOLS: 'schools',\n STUDENT_ALUMNI: 'studentalumni',\n FRESH_REGISTRATION: 'freshregistrations',\n PARENTS: 'parents',\n ALUMNI_PARENTS: 'alumni_and_parents',\n STUDENT_6: 'studentsclass6',\n STUDENT_7: 'studentsclass7',\n STUDENT_8: 'studentsclass8',\n STUDENT_9: 'studentsclass9',\n STUDENT_10: 'studentsclass10',\n STUDENT_11: 'studentsclass11',\n STUDENT_12: 'studentsclass12',\n ADVTSEPT_2: 'advtsept2',\n FACULTY_RECRUITMENT: 'facultyrecruitment',\n ADVTSEPT_15: 'advtsept15',\n COUNSELLORS: 'counsellors',\n};\n\nexport const USER_TYPE_DISPLAY_NAME = {\n [USER_TYPE.STUDENTS]: 'Students',\n [USER_TYPE.STAKEHOLDER]: 'Stakeholders',\n [USER_TYPE.STAFF]: 'Staff',\n [USER_TYPE.SCHOOLS]: 'Schools',\n [USER_TYPE.STAFF_ALUMNI]: 'Staff Alumni',\n [USER_TYPE.STUDENT_ALUMNI]: 'Old Students',\n [USER_TYPE.FRESH_REGISTRATION]: 'Fresh Registration',\n [USER_TYPE.PARENTS]: 'Parents',\n [USER_TYPE.ALUMNI_PARENTS]: 'Alumni and Parents',\n [USER_TYPE.STUDENT_6]:'Students Class 6',\n [USER_TYPE.STUDENT_7]:'Students Class 7',\n [USER_TYPE.STUDENT_8]:'Students Class 8',\n [USER_TYPE.STUDENT_9]:'Students Class 9',\n [USER_TYPE.STUDENT_10]:'Students Class 10',\n [USER_TYPE.STUDENT_11]:'Students Class 11',\n [USER_TYPE.STUDENT_12]:'Students Class 12',\n [USER_TYPE.FACULTY_RECRUITMENT]: 'Faculty Recruitment',\n [USER_TYPE.COUNSELLORS]: 'Counsellors',\n};\n\nexport const GENERIC_CONST = {\n OTP_EXPIRY_INTERVAL: 60,\n SURVEY_TYPE: 'survey',\n MASTER_OTP: '9999',\n PAUSE: 'pause',\n RESUME: 'resume',\n GRACE: 'grace',\n TIME_LEFT_GRACE: 10,\n MIN_ENROLMENT_NO_LENGTH: 13,\n QUIZ: 'quiz',\n TEST: 'test',\n}\n\nexport const QUESTION_TYPE = {\n SMCQ: 0,\n MATRIX: 1,\n DESCRIPTIVE: 4,\n NUMERICAL: 6,\n INTEGER: 7,\n MMCQ: 8\n}\n\nexport const SURVEY_TYPE = {\n LONG: 'long',\n SHORT: 'short',\n ANSWERS_ONLY: 'answers-only',\n STUDENT: 'student',\n TEACHER: 'teacher',\n PARENT: 'parent',\n OTHERS: 'others',\n SURVEY_FORWARD: 'survey-forward',\n SURVEY_COUNT: 'survey-count',\n}\n\nexport const RATING_QUESTION_CLASS = ['minVal', 'midVal', 'maxVal'];\nexport const NUMERICAL_REGEX = /^[-]?\\d*\\.?\\d*$/;\n\nexport const QUIZ_STATUS_NOT_FINISHED = 'notFinished';\n\nexport const SHOW_CLASS_FILTER = ['student', 'parent'];\n\nexport const FACULTY_RECRUITMENT: any = {\n ROUNDS_STATUS: {\n UPCOMING: 'upcoming',\n START: 'start',\n RESUME: 'resume',\n IN_REVIEW: 'inReview',\n SELECTED: 'selected',\n NOT_SELECTED: 'notSelected',\n EXPIRED: 'expired',\n },\n ROUNDS_TYPE: {\n 'Online Assessment': {\n TEXT: 'Online Assessment',\n IMG: 'online-assessment-round',\n },\n 'Offline Assessment': {\n CLASS: 'offline',\n IMG: 'offline-assessment-round',\n TEXT: 'Offline Assessment',\n },\n 'In Person Interview': {\n CLASS: 'interview',\n IMG: 'inperson-interview',\n TEXT: 'In Person Interview',\n },\n },\n ROUND_STATUS_DETAILS: {\n upcoming: {\n CTA_TEXT: 'Upcoming',\n },\n start: {\n CTA_TEXT: \"Let's Start\",\n },\n resume: {\n CTA_TEXT: 'Resume',\n },\n inReview: {\n CTA_TEXT: 'In Review',\n },\n selected: {\n CTA_TEXT: 'Selected',\n },\n notSelected: {\n CTA_TEXT: 'Not Selected',\n },\n expired: {\n CTA_TEXT: 'Session Expired',\n },\n },\n TEST_STATUS: {\n FINISHED: 'finished',\n },\n MESSAGE_IMAGE: {\n inReview: 'inreview-message',\n selected: 'green-up',\n notSelected: 'red-down',\n }\n};\n\nexport const SOURCE: any = {\n MYPAT: 'quiz.mypat.in',\n FACULTY_RECRUITMENT: 'facultyrecruitment.edfora.com',\n};\n\nexport const USER_SELFIE_IMAGE_NAME = 'faculty-recruitment-user-selfie';\nexport const SELFIE_CAMERA_LABELS = ['front', 'selfie', 'user'];\nexport const NUMERIC_QUESTION_TYPE_KEYPAD = [\n ['7', '8', '9'],\n ['4', '5', '6'],\n ['1', '2', '3'],\n ['0', '.', '-'],\n ['←', '→']\n];\n\nexport const QUIZ_DATE_WISE = ['advtsept2', 'advtsept15']\nexport const LOCATION_TIMEOUT_DURATION = 5000;\nexport const LOCATION_ERROR_MSG = {\n TIMEOUT_ERROR: 'Error getting location. Check if location is turned on',\n LOCATION_UNAVAILABLE: 'Location information is unavailable',\n PERMISSION_DENIED: 'Please allow Location Permission',\n DEFAULT: 'Error getting location',\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\n\nimport * as fromApp from '../../../stores/app.reducers';\nimport * as AuthActions from '../../../stores/auth/auth.actions';\nimport { AlertService } from '../../services/alert.service';\nimport { HttpService } from '../../services/http.service';\n\n@Component({\n selector: 'app-under-development',\n templateUrl: './under-development.component.html',\n styleUrls: ['./under-development.component.scss']\n})\nexport class UnderDevelopmentComponent implements OnInit {\n\n constructor(\n private httpService: HttpService,\n private alertService: AlertService,\n private store: Store) { }\n\n ngOnInit(): void {\n }\n\n logout() {\n this.store.dispatch(new AuthActions.Logout())\n }\n}\n","
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n

We are Working on it.

\n

App is under development

\n \n
\n
\n
\n
\n \"404\"\n
\n
\n
\n
\n
\n","import { Directive, ElementRef, Input, OnChanges, SimpleChanges } from '@angular/core';\n\ndeclare var MathLive: any;\n@Directive({\n selector: '[mathlive]'\n})\nexport class MathliveDirective implements OnChanges {\n\n @Input('mathlive') content: any;\n\n constructor(private element: ElementRef) {\n }\n\n async makeFormula(formula: any) {\n\n const dynamicFormulaElement = this.element.nativeElement;\n dynamicFormulaElement.innerHTML = formula;\n MathLive.renderMathInElement(dynamicFormulaElement);\n\n }\n ngOnChanges(changes: SimpleChanges): void {\n\n if (changes[\"content\"]?.currentValue)\n this.makeFormula(this.content);\n\n }\n}\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n if (environment.name === 'prod') {\n window.console.log = () => { };\n }\n}\n\nif ('serviceWorker' in navigator) {\n removeServiceWorker();\n}\n\nfunction removeServiceWorker(): void {\n /**\n * The following will remove service worker and clear all associated caches\n * Use this for hard reset of website in case of dead-worker\n */\n\n // test remove service-worker\n navigator.serviceWorker.getRegistrations().then((registrations) => {\n for (const registration of registrations) {\n registration.unregister();\n }\n console.log('Service Worker unregistered successfully');\n }).catch((err) => {\n console.log('Service Worker failed to unregister', err);\n });\n\n // test clearing cache\n caches.keys().then((names) => {\n for (const name of names) {\n caches.delete(name);\n }\n console.log('Caches cleared successfully');\n }).catch((err) => {\n console.log('Failed to clear caches', err);\n });\n}\n\nfunction addServiceWorker(): void {\n // test add service-worker\n navigator.serviceWorker.register('ngsw-worker.js').then(registration => {\n console.log('SW registered: ', registration);\n }).catch(registrationError => {\n console.log('SW registration failed: ', registrationError);\n });\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .then(() => { })\n .catch(err => console.error(err));\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\nimport { HttpService } from 'src/app/shared/services/http.service';\nimport { environment } from 'src/environments/environment';\n\ndeclare var $: any;\n@Component({\n selector: 'app-share-referral-popup',\n templateUrl: './share-referral-popup.component.html',\n styleUrls: ['./share-referral-popup.component.scss']\n})\n\nexport class ShareReferralPopupComponent implements OnInit {\n\n @Input() referralCode: string;\n @Output() closePopup = new EventEmitter();\n\n isLinkCopied = false;\n referralLink = '';\n\n inviteSent = false;\n isInviteSuccessfull = false;\n showTextBox = false;\n text = '';\n\n public emailsAdded = [];\n public mobileAdded = [];\n\n public emailPattern = '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\\.[A-Za-z]{2,4}$';\n public mobilePattern = '^[6-9]\\\\d{9}$';\n\n constructor(\n private httpService: HttpService\n ) { }\n\n ngOnInit(): void {\n this.referralLink = `https://fiitjee.glorifire.com/?referralCode=${this.referralCode}`;\n $(function () {\n $('[data-toggle=\"tooltip\"]').tooltip();\n });\n }\n\n copyCode(): void {\n document.addEventListener('copy', (e: ClipboardEvent) => {\n e.clipboardData.setData('text/plain', this.referralLink);\n e.preventDefault();\n document.removeEventListener('copy', null);\n });\n document.execCommand('copy');\n this.isLinkCopied = true;\n setTimeout(() => {\n this.isLinkCopied = false;\n }, 3000);\n }\n\n closeModal(): void {\n this.isLinkCopied = false;\n this.inviteSent = false;\n this.isInviteSuccessfull = false;\n this.showTextBox = false;\n this.text = '';\n this.emailsAdded = [];\n this.mobileAdded = [];\n this.closePopup.emit();\n }\n\n getEncodedURL(): any {\n return encodeURIComponent(this.referralLink);\n }\n\n showMobileInputBox(): void {\n this.text = 'mobile';\n this.showTextBox = true;\n this.emailsAdded = [];\n if (this.mobileAdded.length === 0) {\n this.mobileAdded.push({ id: 1, number: '' });\n }\n }\n\n showEmailInputBox(): void {\n this.text = 'email';\n this.showTextBox = true;\n this.mobileAdded = [];\n if (this.emailsAdded.length === 0) {\n this.emailsAdded.push({ id: 1, email: '' });\n }\n }\n\n goBack(): void {\n this.showTextBox = false;\n }\n\n addMoreItems(): void {\n if (this.text === 'email') {\n this.mobileAdded = [];\n if (this.emailsAdded.length < 5) {\n this.emailsAdded.push({ id: this.emailsAdded[this.emailsAdded.length - 1].id + 1, email: '' });\n }\n } else {\n this.emailsAdded = [];\n if (this.mobileAdded.length < 5) {\n this.mobileAdded.push({ id: this.mobileAdded[this.mobileAdded.length - 1].id + 1, number: '' });\n }\n }\n }\n\n showAddMore(): boolean {\n if (this.emailsAdded.length === 5) {\n return false;\n }\n if (this.mobileAdded.length === 5) {\n return false;\n }\n return true;\n }\n\n deleteEntry(i): void {\n if (this.text === 'email') {\n this.emailsAdded.splice(i, 1);\n } else {\n this.mobileAdded.splice(i, 1);\n }\n }\n\n isSendInviteEnabled(): boolean {\n if (this.emailsAdded.length > 0) {\n if (this.emailsAdded.findIndex(o => o.email === '') === -1) {\n if (this.emailsAdded.findIndex(o => o.email.match(this.emailPattern) === null) === -1) {\n return true;\n } else {\n return false;\n }\n } else {\n return false;\n }\n }\n if (this.mobileAdded.length > 0) {\n if (this.mobileAdded.findIndex(o => o.number === '') === -1) {\n if (this.mobileAdded.findIndex(o => o.number.match(this.mobilePattern) === null) === -1) {\n return true;\n } else {\n return false;\n }\n } else {\n return false;\n }\n }\n return false;\n }\n\n sendInvites(): void {\n let payload;\n if (this.emailsAdded.length > 0) {\n // const emails = [];\n payload = {\n communicationList: this.emailsAdded.map(e => e.email.toLowerCase()),\n type: 'EMAIL'\n };\n } else if (this.mobileAdded.length > 0) {\n // const mobileNumbers = ;\n payload = {\n communicationList: this.mobileAdded.map(e => e.number),\n type: 'SMS'\n };\n }\n this.httpService.post('referrals/share', true, payload, false, false, false, environment.serverURLv3).subscribe((res) => {\n this.inviteSent = true;\n if (res && res.code === 200) {\n this.isInviteSuccessfull = true;\n } else {\n this.isInviteSuccessfull = false;\n }\n })\n }\n}\n","\n
\n
\n\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n

\n Win ₹500 Each For You
\n & Your Friends.\n

\n

Invite them on Glorifire with your unique referral code

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

\n \n \n \n Copied!\n

\n

\n \n \n \n Back\n

\n

\n Now you can share your referral code on your friend's {{ text }} via\n text directly!\n

\n\n
\n
\n
\n\n \n = 2\">\n \n\n
\n
\n
\n Please enter a valid mobile number\n
\n
\n
\n
\n\n
\n
\n
\n \n = 2\">\n \n
\n
\n
\n Please enter a valid Email ID\n
\n
\n
\n
\n
\n \n \n
\n

or share with

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

Thanks!

\n

Your invite has been successfully sent!

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

OOPS!

\n

Your invite could not be sent right now.
\n Please try again after sometime.

\n \n
\n
\n
\n
\n
\n
\n
","var map = {\n\t\"./question-detail/question-detail.module\": [\n\t\t\"B7q5\",\n\t\t\"default~question-detail-question-detail-module~question-listing-question-listing-module~src-app-new-~8cddb739\",\n\t\t\"default~question-detail-question-detail-module~src-app-new-community-new-community-module\"\n\t],\n\t\"./question-listing/question-listing.module\": [\n\t\t\"gDeS\",\n\t\t\"default~comparison-comparison-module~insights-insights-module~overview-overview-module~question-list~be152cd1\",\n\t\t\"default~question-detail-question-detail-module~question-listing-question-listing-module~src-app-new-~8cddb739\",\n\t\t\"default~question-listing-question-listing-module~src-app-new-community-new-community-module\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"zn8P\";\nmodule.exports = webpackAsyncContext;","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-locked-state',\n templateUrl: './locked-state.component.html',\n styleUrls: ['./locked-state.component.scss']\n})\nexport class LockedStateComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n \n

Widget Locked

\n

Attempt a few tests to unlock this powerful widget
and boost your smart study toolkit.

\n
\n"],"sourceRoot":"webpack:///"}