@reusa/ngx-reusa-app-lib 0.0.1316 → 0.0.1318
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/add-employer/add-employer.component.mjs +1296 -2414
- package/esm2022/lib/components/add-participant/add-participant.component.mjs +105 -159
- package/esm2022/lib/components/add-payment/add-payment.component.mjs +53 -59
- package/esm2022/lib/components/address/address.component.mjs +150 -285
- package/esm2022/lib/components/bank-details/bank-details.component.mjs +219 -79
- package/esm2022/lib/components/contact-us/contact-us.component.mjs +43 -17
- package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +9 -3
- package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +4 -32
- package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +15 -30
- package/esm2022/lib/components/disclosure/disclosure.component.mjs +1 -1
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +4 -4
- package/esm2022/lib/components/dropdown/dropdown.interface.mjs +1 -1
- package/esm2022/lib/components/email-update/email-update.component.mjs +140 -63
- package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +560 -363
- package/esm2022/lib/components/error/error.component.mjs +5 -22
- package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +1 -1
- package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +49 -178
- package/esm2022/lib/components/footer/footer.component.mjs +83 -94
- package/esm2022/lib/components/header/header.component.mjs +174 -440
- package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +36 -25
- package/esm2022/lib/components/info/info.component.mjs +12 -4
- package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +22 -16
- package/esm2022/lib/components/job-title/job-title.component.mjs +97 -92
- package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +513 -143
- package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +402 -0
- package/esm2022/lib/components/link/link.component.mjs +1 -1
- package/esm2022/lib/components/menu/menu.component.mjs +100 -69
- package/esm2022/lib/components/mfa/mfa.component.mjs +287 -158
- package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +18 -11
- package/esm2022/lib/components/mfa2/mfa2.component.mjs +285 -0
- package/esm2022/lib/components/money-expect/money-expect.component.mjs +54 -158
- package/esm2022/lib/components/profile/profile.component.mjs +353 -717
- package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +38 -108
- package/esm2022/lib/components/questionnaire/AppValidators.mjs +47 -296
- package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +65 -110
- package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +173 -377
- package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +95 -76
- package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +1112 -853
- package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +667 -207
- package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +22 -28
- package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +32 -116
- package/esm2022/lib/components/questionnaire/question-control.service.mjs +1 -2
- package/esm2022/lib/components/questionnaire/question.service.mjs +7 -5
- package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +29 -15
- package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +233 -457
- package/esm2022/lib/components/search-employer/search-employer.component.mjs +30 -155
- package/esm2022/lib/components/security-question/security-question.component.mjs +199 -0
- package/esm2022/lib/components/select/select.component.mjs +10 -5
- package/esm2022/lib/components/sign-ssn/sign-ssn.component.mjs +3 -3
- package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +72 -52
- package/esm2022/lib/components/user-login/user-login.component.mjs +357 -139
- package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +237 -613
- package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +59 -114
- package/esm2022/lib/guards/auth.guard.mjs +2 -50
- package/esm2022/lib/guards/no-login/no-login.guard.mjs +1 -1
- package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +3 -51
- package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +1 -1
- package/esm2022/lib/models/EmployerDetailSearchResult.mjs +1 -1
- package/esm2022/lib/models/LexisNexisAccountCreationModel.mjs +2 -0
- package/esm2022/lib/models/LexisNexisAuthSelectionRequestModel.mjs +2 -0
- package/esm2022/lib/models/LexisNexisAuthSelectionResponseModel.mjs +2 -0
- package/esm2022/lib/models/LexisNexisEnabledResponseModel.mjs +2 -0
- package/esm2022/lib/models/LexisNexisResponseModel.mjs +3 -0
- package/esm2022/lib/models/LibConstants.mjs +6 -45
- package/esm2022/lib/models/PartialEmploymentModel.mjs +3 -0
- package/esm2022/lib/models/PaymentComponentModel.mjs +1 -1
- package/esm2022/lib/models/SecurityQuestionModel.mjs +3 -0
- package/esm2022/lib/models/dashboard-model.mjs +1 -1
- package/esm2022/lib/models/dependent.model.mjs +1 -1
- package/esm2022/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +1 -2
- package/esm2022/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/ComboModel.mjs +653 -96
- package/esm2022/lib/models/questionnaire/ElementsModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/LegalDiscaimarModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/StatusModel.mjs +1 -1
- package/esm2022/lib/ngx-reusa-app-lib.module.mjs +23 -135
- package/esm2022/lib/pages/BasePage.mjs +23 -4
- package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +18 -22
- package/esm2022/lib/pages/common/change-password/change-password.page.mjs +124 -142
- package/esm2022/lib/pages/common/landing/landing.component.mjs +8 -7
- package/esm2022/lib/pages/common/landing2/landing2.component.mjs +4 -4
- package/esm2022/lib/pages/common/login/login.component.mjs +11 -7
- package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +14 -14
- package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +5 -5
- package/esm2022/lib/pages/popovers/language/language.page.mjs +2 -1
- package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +4 -4
- package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +2 -7
- package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +2 -2
- package/esm2022/lib/services/base-service.mjs +1 -4
- package/esm2022/lib/services/chatbot/chatbot.service.mjs +2 -1
- package/esm2022/lib/services/claimant-service/claimant-usps-redirect.service.mjs +36 -0
- package/esm2022/lib/services/claimant-service/claimant.service.mjs +13 -7
- package/esm2022/lib/services/claims/claims.service.mjs +14 -102
- package/esm2022/lib/services/help/help.service.mjs +1 -1
- package/esm2022/lib/services/lexis-nexis/lexis.nexis.service.mjs +60 -0
- package/esm2022/lib/services/logger/logger.service.mjs +1 -1
- package/esm2022/lib/services/login/login.service.mjs +11 -29
- package/esm2022/lib/services/ovp/ovp.service.mjs +43 -0
- package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +1 -4
- package/esm2022/lib/services/questionnaire/validation.service.mjs +1 -4
- package/esm2022/lib/services/security-service/security.service.mjs +6 -23
- package/esm2022/lib/services/util/util.service.mjs +5 -61
- package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +14 -186
- package/esm2022/lib/validations/AppRegex.mjs +3 -1
- package/esm2022/lib/validations/AppValidators.mjs +31 -84
- package/esm2022/public-api.mjs +5 -47
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs +26398 -44374
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
- package/lib/components/add-employer/add-employer.component.d.ts +50 -137
- package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
- package/lib/components/add-participant/add-participant.component.d.ts +5 -11
- package/lib/components/add-participant/add-participant.component.d.ts.map +1 -1
- package/lib/components/add-payment/add-payment.component.d.ts +3 -9
- package/lib/components/add-payment/add-payment.component.d.ts.map +1 -1
- package/lib/components/address/address.component.d.ts +15 -42
- package/lib/components/address/address.component.d.ts.map +1 -1
- package/lib/components/bank-details/bank-details.component.d.ts +23 -1
- package/lib/components/bank-details/bank-details.component.d.ts.map +1 -1
- package/lib/components/contact-us/contact-us.component.d.ts +4 -1
- package/lib/components/contact-us/contact-us.component.d.ts.map +1 -1
- package/lib/components/correspondence-download/correspondence-download.component.d.ts.map +1 -1
- package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
- package/lib/components/email-update/email-update.component.d.ts +12 -1
- package/lib/components/email-update/email-update.component.d.ts.map +1 -1
- package/lib/components/employer-grid/employer-grid.component.d.ts +14 -21
- package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
- package/lib/components/error/error.component.d.ts +2 -3
- package/lib/components/error/error.component.d.ts.map +1 -1
- package/lib/components/file-uploader/file-uploader.component.d.ts +1 -5
- package/lib/components/file-uploader/file-uploader.component.d.ts.map +1 -1
- package/lib/components/footer/footer.component.d.ts.map +1 -1
- package/lib/components/header/header.component.d.ts +5 -17
- package/lib/components/header/header.component.d.ts.map +1 -1
- package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +3 -1
- package/lib/components/job-search-result-page/job-search-result-page.component.d.ts.map +1 -1
- package/lib/components/job-title/job-title.component.d.ts +23 -22
- package/lib/components/job-title/job-title.component.d.ts.map +1 -1
- package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +6 -5
- package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -1
- package/lib/components/lexis-nexis/lexis-nexis.component.d.ts +59 -0
- package/lib/components/lexis-nexis/lexis-nexis.component.d.ts.map +1 -0
- package/lib/components/menu/menu.component.d.ts +12 -3
- package/lib/components/menu/menu.component.d.ts.map +1 -1
- package/lib/components/mfa/mfa.component.d.ts +19 -7
- package/lib/components/mfa/mfa.component.d.ts.map +1 -1
- package/lib/components/mfa-popup/mfa-popup.component.d.ts +8 -6
- package/lib/components/mfa-popup/mfa-popup.component.d.ts.map +1 -1
- package/lib/components/mfa2/mfa2.component.d.ts +48 -0
- package/lib/components/mfa2/mfa2.component.d.ts.map +1 -0
- package/lib/components/money-expect/money-expect.component.d.ts +4 -15
- package/lib/components/money-expect/money-expect.component.d.ts.map +1 -1
- package/lib/components/profile/profile.component.d.ts +49 -81
- package/lib/components/profile/profile.component.d.ts.map +1 -1
- package/lib/components/profile-redirect/profile-redirect.component.d.ts +2 -9
- package/lib/components/profile-redirect/profile-redirect.component.d.ts.map +1 -1
- package/lib/components/questionnaire/AppValidators.d.ts +0 -1
- package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
- package/lib/components/questionnaire/account-success/account-success.page.d.ts +10 -13
- package/lib/components/questionnaire/account-success/account-success.page.d.ts.map +1 -1
- package/lib/components/questionnaire/common-success/common-success.page.d.ts +1 -7
- package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +1 -3
- package/lib/components/questionnaire/dynamic-form-panel.component.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form-question.component.d.ts +33 -31
- package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form.component.d.ts +34 -10
- package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
- package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +7 -0
- package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
- package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +1 -7
- package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
- package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
- package/lib/components/questionnaire/question.service.d.ts +1 -0
- package/lib/components/questionnaire/question.service.d.ts.map +1 -1
- package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +7 -1
- package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
- package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +3 -10
- package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -1
- package/lib/components/search-employer/search-employer.component.d.ts +4 -5
- package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
- package/lib/components/security-question/security-question.component.d.ts +37 -0
- package/lib/components/security-question/security-question.component.d.ts.map +1 -0
- package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +5 -1
- package/lib/components/ssn-reverify/ssn-reverify.component.d.ts.map +1 -1
- package/lib/components/user-login/user-login.component.d.ts +38 -5
- package/lib/components/user-login/user-login.component.d.ts.map +1 -1
- package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +10 -27
- package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -1
- package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +3 -9
- package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -1
- package/lib/guards/auth.guard.d.ts.map +1 -1
- package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts.map +1 -1
- package/lib/models/EmployerDetailSearchResult.d.ts +1 -4
- package/lib/models/EmployerDetailSearchResult.d.ts.map +1 -1
- package/lib/models/LexisNexisAccountCreationModel.d.ts +15 -0
- package/lib/models/LexisNexisAccountCreationModel.d.ts.map +1 -0
- package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts +16 -0
- package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts.map +1 -0
- package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts +39 -0
- package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts.map +1 -0
- package/lib/models/LexisNexisEnabledResponseModel.d.ts +5 -0
- package/lib/models/LexisNexisEnabledResponseModel.d.ts.map +1 -0
- package/lib/models/LexisNexisResponseModel.d.ts +7 -0
- package/lib/models/LexisNexisResponseModel.d.ts.map +1 -0
- package/lib/models/LibConstants.d.ts +1 -40
- package/lib/models/LibConstants.d.ts.map +1 -1
- package/lib/models/PartialEmploymentModel.d.ts +6 -0
- package/lib/models/PartialEmploymentModel.d.ts.map +1 -0
- package/lib/models/PaymentComponentModel.d.ts +1 -1
- package/lib/models/PaymentComponentModel.d.ts.map +1 -1
- package/lib/models/SecurityQuestionModel.d.ts +7 -0
- package/lib/models/SecurityQuestionModel.d.ts.map +1 -0
- package/lib/models/dashboard-model.d.ts +0 -22
- package/lib/models/dashboard-model.d.ts.map +1 -1
- package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +0 -3
- package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts.map +1 -1
- package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +4 -13
- package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts.map +1 -1
- package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +1 -4
- package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts.map +1 -1
- package/lib/models/questionnaire/ComboModel.d.ts +82 -14
- package/lib/models/questionnaire/ComboModel.d.ts.map +1 -1
- package/lib/models/questionnaire/ElementsModel.d.ts +1 -0
- package/lib/models/questionnaire/ElementsModel.d.ts.map +1 -1
- package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +0 -2
- package/lib/models/questionnaire/LegalDiscaimarModel.d.ts.map +1 -1
- package/lib/models/questionnaire/StatusModel.d.ts +0 -1
- package/lib/models/questionnaire/StatusModel.d.ts.map +1 -1
- package/lib/ngx-reusa-app-lib.module.d.ts +86 -124
- package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
- package/lib/pages/BasePage.d.ts +6 -3
- package/lib/pages/BasePage.d.ts.map +1 -1
- package/lib/pages/common/change-password/change-password.page.d.ts +0 -3
- package/lib/pages/common/change-password/change-password.page.d.ts.map +1 -1
- package/lib/pages/common/login/login.component.d.ts.map +1 -1
- package/lib/pages/popovers/language/language.page.d.ts.map +1 -1
- package/lib/pages/popovers/my-profile/my-profile.page.d.ts.map +1 -1
- package/lib/services/base-service.d.ts +0 -12
- package/lib/services/base-service.d.ts.map +1 -1
- package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts +16 -0
- package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts.map +1 -0
- package/lib/services/claimant-service/claimant.service.d.ts +6 -5
- package/lib/services/claimant-service/claimant.service.d.ts.map +1 -1
- package/lib/services/claims/claims.service.d.ts +5 -38
- package/lib/services/claims/claims.service.d.ts.map +1 -1
- package/lib/services/lexis-nexis/lexis.nexis.service.d.ts +26 -0
- package/lib/services/lexis-nexis/lexis.nexis.service.d.ts.map +1 -0
- package/lib/services/login/login.service.d.ts +3 -5
- package/lib/services/login/login.service.d.ts.map +1 -1
- package/lib/services/ovp/ovp.service.d.ts +17 -0
- package/lib/services/ovp/ovp.service.d.ts.map +1 -0
- package/lib/services/questionnaire/questionnaire.service.d.ts +0 -1
- package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -1
- package/lib/services/questionnaire/validation.service.d.ts +0 -3
- package/lib/services/questionnaire/validation.service.d.ts.map +1 -1
- package/lib/services/security-service/security.service.d.ts +4 -12
- package/lib/services/security-service/security.service.d.ts.map +1 -1
- package/lib/services/util/util.service.d.ts +0 -6
- package/lib/services/util/util.service.d.ts.map +1 -1
- package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +5 -47
- package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -1
- package/lib/validations/AppRegex.d.ts +2 -0
- package/lib/validations/AppRegex.d.ts.map +1 -1
- package/lib/validations/AppValidators.d.ts +14 -20
- package/lib/validations/AppValidators.d.ts.map +1 -1
- package/package.json +2 -2
- package/public-api.d.ts +4 -46
- package/public-api.d.ts.map +1 -1
- package/esm2022/lib/components/add-wage/add-wage.component.mjs +0 -161
- package/esm2022/lib/components/address-popup/address-popup.component.mjs +0 -97
- package/esm2022/lib/components/address-suggestion/address-suggestion.component.mjs +0 -289
- package/esm2022/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.mjs +0 -245
- package/esm2022/lib/components/associate-ssn/associate-ssn.component.mjs +0 -203
- package/esm2022/lib/components/claim-info/claim-info.component.mjs +0 -408
- package/esm2022/lib/components/dua-request-page/dua-request-page.component.mjs +0 -596
- package/esm2022/lib/components/dua-request-popup/dua-request-popup.component.mjs +0 -356
- package/esm2022/lib/components/employer-info/employer-info.component.mjs +0 -319
- package/esm2022/lib/components/employer-pay/employer-pay.component.mjs +0 -238
- package/esm2022/lib/components/employer-pay-grid/employer-pay-grid.component.mjs +0 -302
- package/esm2022/lib/components/farm-usage/farm-usage.component.mjs +0 -172
- package/esm2022/lib/components/gross-earnings/gross-earnings.component.mjs +0 -201
- package/esm2022/lib/components/history-page/history-page.component.mjs +0 -571
- package/esm2022/lib/components/idme/idme.component.mjs +0 -84
- package/esm2022/lib/components/offline-add-employer/offline-add-employer.component.mjs +0 -3661
- package/esm2022/lib/components/offline-bank-details/offline-bank-details.component.mjs +0 -258
- package/esm2022/lib/components/offline-employer-grid/offline-employer-grid.component.mjs +0 -853
- package/esm2022/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.mjs +0 -251
- package/esm2022/lib/components/proof-of-anything/proof-of-anything.component.mjs +0 -261
- package/esm2022/lib/components/proof-of-document-upload/proof-of-document-upload.component.mjs +0 -560
- package/esm2022/lib/components/scrollable-text/scrollable-text.component.mjs +0 -25
- package/esm2022/lib/components/sms/sms.component.mjs +0 -336
- package/esm2022/lib/components/wage-calculator/wage-calculator.component.mjs +0 -527
- package/esm2022/lib/components/wage-grid/wage-grid.component.mjs +0 -274
- package/esm2022/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.mjs +0 -147
- package/esm2022/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.mjs +0 -167
- package/esm2022/lib/components/weekly-certification/weekly-certification.component.mjs +0 -806
- package/esm2022/lib/components/weekly-confirmation/confirmation.component.mjs +0 -129
- package/esm2022/lib/components/weekly-interim-confirmation/interim-confirmation.component.mjs +0 -136
- package/esm2022/lib/components/weekly-summary-v2/summary.component-v2.mjs +0 -72
- package/esm2022/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.mjs +0 -50
- package/esm2022/lib/components/weekly-work-search-counter/work-search-counter.component.mjs +0 -92
- package/esm2022/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.mjs +0 -1190
- package/esm2022/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.mjs +0 -685
- package/esm2022/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.mjs +0 -524
- package/esm2022/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.mjs +0 -394
- package/esm2022/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.mjs +0 -640
- package/esm2022/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.mjs +0 -33
- package/esm2022/lib/enums/AddressValidationResponseEnum.mjs +0 -9
- package/esm2022/lib/enums/AddressValidationSourceFunctionEnum.mjs +0 -5
- package/esm2022/lib/models/ActiveClaimModel.mjs +0 -3
- package/esm2022/lib/models/CountyModel.mjs +0 -3
- package/esm2022/lib/models/DuaAppDataModel.mjs +0 -3
- package/esm2022/lib/models/DuaRequestModel.mjs +0 -3
- package/esm2022/lib/models/DuaRetroWeeksComponentModel.mjs +0 -6
- package/esm2022/lib/models/EmployerInfoComponentModel.mjs +0 -4
- package/esm2022/lib/models/EmployerPayInfoModel.mjs +0 -6
- package/esm2022/lib/models/FarmUsageComponentModel.mjs +0 -2
- package/esm2022/lib/models/GrossEarningsModel.mjs +0 -3
- package/esm2022/lib/models/HelpConstants.mjs +0 -5
- package/esm2022/lib/models/LexisNexisOtpDetailsResponseModel.mjs +0 -3
- package/esm2022/lib/models/ReasonSeparationRequestModel.mjs +0 -3
- package/esm2022/lib/models/RetroWeeksModel.mjs +0 -3
- package/esm2022/lib/models/SecurityQuestionAnswerModel.mjs +0 -3
- package/esm2022/lib/models/SendOtpRequestModel.mjs +0 -3
- package/esm2022/lib/models/VerifyOtpRequestModel.mjs +0 -3
- package/esm2022/lib/models/WageCalculatorModel.mjs +0 -3
- package/esm2022/lib/models/WageInfoModel.mjs +0 -4
- package/esm2022/lib/models/addressValidation/AddressRecommendationModel.mjs +0 -3
- package/esm2022/lib/models/addressValidation/AddressValidationRequestComponentModel.mjs +0 -3
- package/esm2022/lib/models/addressValidation/AddressValidationResponseComponentModel.mjs +0 -3
- package/esm2022/lib/models/addressValidation/AddressValidationReturnComponentModel.mjs +0 -3
- package/esm2022/lib/models/combo-model.mjs +0 -343
- package/esm2022/lib/models/fileupload/DocUploadModel.mjs +0 -7
- package/esm2022/lib/models/fileupload/EmployerDataModel.mjs +0 -3
- package/esm2022/lib/models/fileupload/FileObject.mjs +0 -3
- package/esm2022/lib/models/fileupload/FileObjectArray.mjs +0 -7
- package/esm2022/lib/models/questionnaire/AppealParticipantModel.mjs +0 -8
- package/esm2022/lib/models/questionnaire/ScrollableTextModel.mjs +0 -3
- package/esm2022/lib/models/questionnaire/WbaHelperTextModel.mjs +0 -3
- package/esm2022/lib/models/weekly-cert/WorkSearchWaiverModel.mjs +0 -3
- package/esm2022/lib/models/weekly-cert/address-detail-model.mjs +0 -2
- package/esm2022/lib/models/weekly-cert/admin-leave-details-model.mjs +0 -7
- package/esm2022/lib/models/weekly-cert/employer-info-v2-model.mjs +0 -7
- package/esm2022/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.mjs +0 -6
- package/esm2022/lib/models/weekly-cert/weekly-certification-v2-model.mjs +0 -34
- package/esm2022/lib/models/weekly-cert/work-search-record-v2-model.mjs +0 -15
- package/esm2022/lib/models/weekly-cert/work-search-v2-model.mjs +0 -11
- package/esm2022/lib/pipes/format-worksearch/format-worksearch.pipe.mjs +0 -101
- package/esm2022/lib/services/address-validation-service/address-validation.service.mjs +0 -151
- package/esm2022/lib/services/appeal/appeal.service.mjs +0 -37
- package/esm2022/lib/services/birt-service/birt.service.mjs +0 -57
- package/esm2022/lib/services/employer/employer-service.mjs +0 -35
- package/esm2022/lib/services/event-service/event-service.mjs +0 -44
- package/esm2022/lib/services/offline-claims/offline-claims.service.mjs +0 -327
- package/esm2022/lib/services/weekly-cert/review.service.mjs +0 -101
- package/esm2022/lib/services/weekly-cert/weekly-cert.service.mjs +0 -37
- package/esm2022/lib/services/weekly-cert/work-search.service.mjs +0 -58
- package/lib/components/add-wage/add-wage.component.d.ts +0 -30
- package/lib/components/add-wage/add-wage.component.d.ts.map +0 -1
- package/lib/components/address-popup/address-popup.component.d.ts +0 -16
- package/lib/components/address-popup/address-popup.component.d.ts.map +0 -1
- package/lib/components/address-suggestion/address-suggestion.component.d.ts +0 -43
- package/lib/components/address-suggestion/address-suggestion.component.d.ts.map +0 -1
- package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts +0 -37
- package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts.map +0 -1
- package/lib/components/associate-ssn/associate-ssn.component.d.ts +0 -33
- package/lib/components/associate-ssn/associate-ssn.component.d.ts.map +0 -1
- package/lib/components/claim-info/claim-info.component.d.ts +0 -49
- package/lib/components/claim-info/claim-info.component.d.ts.map +0 -1
- package/lib/components/dua-request-page/dua-request-page.component.d.ts +0 -74
- package/lib/components/dua-request-page/dua-request-page.component.d.ts.map +0 -1
- package/lib/components/dua-request-popup/dua-request-popup.component.d.ts +0 -61
- package/lib/components/dua-request-popup/dua-request-popup.component.d.ts.map +0 -1
- package/lib/components/employer-info/employer-info.component.d.ts +0 -50
- package/lib/components/employer-info/employer-info.component.d.ts.map +0 -1
- package/lib/components/employer-pay/employer-pay.component.d.ts +0 -51
- package/lib/components/employer-pay/employer-pay.component.d.ts.map +0 -1
- package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts +0 -43
- package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts.map +0 -1
- package/lib/components/farm-usage/farm-usage.component.d.ts +0 -33
- package/lib/components/farm-usage/farm-usage.component.d.ts.map +0 -1
- package/lib/components/gross-earnings/gross-earnings.component.d.ts +0 -42
- package/lib/components/gross-earnings/gross-earnings.component.d.ts.map +0 -1
- package/lib/components/history-page/history-page.component.d.ts +0 -80
- package/lib/components/history-page/history-page.component.d.ts.map +0 -1
- package/lib/components/idme/idme.component.d.ts +0 -19
- package/lib/components/idme/idme.component.d.ts.map +0 -1
- package/lib/components/offline-add-employer/offline-add-employer.component.d.ts +0 -311
- package/lib/components/offline-add-employer/offline-add-employer.component.d.ts.map +0 -1
- package/lib/components/offline-bank-details/offline-bank-details.component.d.ts +0 -33
- package/lib/components/offline-bank-details/offline-bank-details.component.d.ts.map +0 -1
- package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts +0 -97
- package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts.map +0 -1
- package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts +0 -33
- package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts.map +0 -1
- package/lib/components/proof-of-anything/proof-of-anything.component.d.ts +0 -54
- package/lib/components/proof-of-anything/proof-of-anything.component.d.ts.map +0 -1
- package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts +0 -74
- package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts.map +0 -1
- package/lib/components/scrollable-text/scrollable-text.component.d.ts +0 -11
- package/lib/components/scrollable-text/scrollable-text.component.d.ts.map +0 -1
- package/lib/components/sms/sms.component.d.ts +0 -63
- package/lib/components/sms/sms.component.d.ts.map +0 -1
- package/lib/components/wage-calculator/wage-calculator.component.d.ts +0 -44
- package/lib/components/wage-calculator/wage-calculator.component.d.ts.map +0 -1
- package/lib/components/wage-grid/wage-grid.component.d.ts +0 -43
- package/lib/components/wage-grid/wage-grid.component.d.ts.map +0 -1
- package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts +0 -28
- package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts.map +0 -1
- package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts +0 -28
- package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts.map +0 -1
- package/lib/components/weekly-certification/weekly-certification.component.d.ts +0 -101
- package/lib/components/weekly-certification/weekly-certification.component.d.ts.map +0 -1
- package/lib/components/weekly-confirmation/confirmation.component.d.ts +0 -21
- package/lib/components/weekly-confirmation/confirmation.component.d.ts.map +0 -1
- package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts +0 -34
- package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts.map +0 -1
- package/lib/components/weekly-summary-v2/summary.component-v2.d.ts +0 -17
- package/lib/components/weekly-summary-v2/summary.component-v2.d.ts.map +0 -1
- package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts +0 -10
- package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts.map +0 -1
- package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts +0 -17
- package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts.map +0 -1
- package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts +0 -105
- package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts.map +0 -1
- package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts +0 -71
- package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts.map +0 -1
- package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts +0 -59
- package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts.map +0 -1
- package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts +0 -47
- package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts.map +0 -1
- package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts +0 -78
- package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts.map +0 -1
- package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts +0 -8
- package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts.map +0 -1
- package/lib/enums/AddressValidationResponseEnum.d.ts +0 -8
- package/lib/enums/AddressValidationResponseEnum.d.ts.map +0 -1
- package/lib/enums/AddressValidationSourceFunctionEnum.d.ts +0 -4
- package/lib/enums/AddressValidationSourceFunctionEnum.d.ts.map +0 -1
- package/lib/models/ActiveClaimModel.d.ts +0 -8
- package/lib/models/ActiveClaimModel.d.ts.map +0 -1
- package/lib/models/CountyModel.d.ts +0 -8
- package/lib/models/CountyModel.d.ts.map +0 -1
- package/lib/models/DuaAppDataModel.d.ts +0 -5
- package/lib/models/DuaAppDataModel.d.ts.map +0 -1
- package/lib/models/DuaRequestModel.d.ts +0 -10
- package/lib/models/DuaRequestModel.d.ts.map +0 -1
- package/lib/models/DuaRetroWeeksComponentModel.d.ts +0 -5
- package/lib/models/DuaRetroWeeksComponentModel.d.ts.map +0 -1
- package/lib/models/EmployerInfoComponentModel.d.ts +0 -9
- package/lib/models/EmployerInfoComponentModel.d.ts.map +0 -1
- package/lib/models/EmployerPayInfoModel.d.ts +0 -20
- package/lib/models/EmployerPayInfoModel.d.ts.map +0 -1
- package/lib/models/FarmUsageComponentModel.d.ts +0 -10
- package/lib/models/FarmUsageComponentModel.d.ts.map +0 -1
- package/lib/models/GrossEarningsModel.d.ts +0 -6
- package/lib/models/GrossEarningsModel.d.ts.map +0 -1
- package/lib/models/HelpConstants.d.ts +0 -5
- package/lib/models/HelpConstants.d.ts.map +0 -1
- package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts +0 -7
- package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts.map +0 -1
- package/lib/models/ReasonSeparationRequestModel.d.ts +0 -7
- package/lib/models/ReasonSeparationRequestModel.d.ts.map +0 -1
- package/lib/models/RetroWeeksModel.d.ts +0 -11
- package/lib/models/RetroWeeksModel.d.ts.map +0 -1
- package/lib/models/SecurityQuestionAnswerModel.d.ts +0 -7
- package/lib/models/SecurityQuestionAnswerModel.d.ts.map +0 -1
- package/lib/models/SendOtpRequestModel.d.ts +0 -12
- package/lib/models/SendOtpRequestModel.d.ts.map +0 -1
- package/lib/models/VerifyOtpRequestModel.d.ts +0 -8
- package/lib/models/VerifyOtpRequestModel.d.ts.map +0 -1
- package/lib/models/WageCalculatorModel.d.ts +0 -15
- package/lib/models/WageCalculatorModel.d.ts.map +0 -1
- package/lib/models/WageInfoModel.d.ts +0 -9
- package/lib/models/WageInfoModel.d.ts.map +0 -1
- package/lib/models/addressValidation/AddressRecommendationModel.d.ts +0 -12
- package/lib/models/addressValidation/AddressRecommendationModel.d.ts.map +0 -1
- package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts +0 -11
- package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts.map +0 -1
- package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts +0 -6
- package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts.map +0 -1
- package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts +0 -16
- package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts.map +0 -1
- package/lib/models/combo-model.d.ts +0 -42
- package/lib/models/combo-model.d.ts.map +0 -1
- package/lib/models/fileupload/DocUploadModel.d.ts +0 -22
- package/lib/models/fileupload/DocUploadModel.d.ts.map +0 -1
- package/lib/models/fileupload/EmployerDataModel.d.ts +0 -6
- package/lib/models/fileupload/EmployerDataModel.d.ts.map +0 -1
- package/lib/models/fileupload/FileObject.d.ts +0 -8
- package/lib/models/fileupload/FileObject.d.ts.map +0 -1
- package/lib/models/fileupload/FileObjectArray.d.ts +0 -8
- package/lib/models/fileupload/FileObjectArray.d.ts.map +0 -1
- package/lib/models/questionnaire/AppealParticipantModel.d.ts +0 -17
- package/lib/models/questionnaire/AppealParticipantModel.d.ts.map +0 -1
- package/lib/models/questionnaire/ScrollableTextModel.d.ts +0 -4
- package/lib/models/questionnaire/ScrollableTextModel.d.ts.map +0 -1
- package/lib/models/questionnaire/WbaHelperTextModel.d.ts +0 -4
- package/lib/models/questionnaire/WbaHelperTextModel.d.ts.map +0 -1
- package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts +0 -9
- package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts.map +0 -1
- package/lib/models/weekly-cert/address-detail-model.d.ts +0 -14
- package/lib/models/weekly-cert/address-detail-model.d.ts.map +0 -1
- package/lib/models/weekly-cert/admin-leave-details-model.d.ts +0 -15
- package/lib/models/weekly-cert/admin-leave-details-model.d.ts.map +0 -1
- package/lib/models/weekly-cert/employer-info-v2-model.d.ts +0 -27
- package/lib/models/weekly-cert/employer-info-v2-model.d.ts.map +0 -1
- package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts +0 -57
- package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts.map +0 -1
- package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts +0 -59
- package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts.map +0 -1
- package/lib/models/weekly-cert/work-search-record-v2-model.d.ts +0 -66
- package/lib/models/weekly-cert/work-search-record-v2-model.d.ts.map +0 -1
- package/lib/models/weekly-cert/work-search-v2-model.d.ts +0 -18
- package/lib/models/weekly-cert/work-search-v2-model.d.ts.map +0 -1
- package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts +0 -14
- package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts.map +0 -1
- package/lib/services/address-validation-service/address-validation.service.d.ts +0 -44
- package/lib/services/address-validation-service/address-validation.service.d.ts.map +0 -1
- package/lib/services/appeal/appeal.service.d.ts +0 -16
- package/lib/services/appeal/appeal.service.d.ts.map +0 -1
- package/lib/services/birt-service/birt.service.d.ts +0 -17
- package/lib/services/birt-service/birt.service.d.ts.map +0 -1
- package/lib/services/employer/employer-service.d.ts +0 -16
- package/lib/services/employer/employer-service.d.ts.map +0 -1
- package/lib/services/event-service/event-service.d.ts +0 -20
- package/lib/services/event-service/event-service.d.ts.map +0 -1
- package/lib/services/offline-claims/offline-claims.service.d.ts +0 -64
- package/lib/services/offline-claims/offline-claims.service.d.ts.map +0 -1
- package/lib/services/weekly-cert/review.service.d.ts +0 -23
- package/lib/services/weekly-cert/review.service.d.ts.map +0 -1
- package/lib/services/weekly-cert/weekly-cert.service.d.ts +0 -17
- package/lib/services/weekly-cert/weekly-cert.service.d.ts.map +0 -1
- package/lib/services/weekly-cert/work-search.service.d.ts +0 -26
- package/lib/services/weekly-cert/work-search.service.d.ts.map +0 -1
|
@@ -1,739 +1,394 @@
|
|
|
1
|
-
import { Component, EventEmitter,
|
|
1
|
+
import { Component, EventEmitter, Output, ViewChild } from '@angular/core';
|
|
2
2
|
import { ComboOption } from '../../models/questionnaire/ComboModel';
|
|
3
|
-
import { Validators } from '@angular/forms';
|
|
4
|
-
import { BasePage } from '../../pages/BasePage';
|
|
5
|
-
import { LibConstants } from '../../models/LibConstants';
|
|
6
|
-
import { AddressPopupComponent } from '../address-popup/address-popup.component';
|
|
7
3
|
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "../../services/
|
|
4
|
+
import * as i1 from "../../services/util/util.service";
|
|
9
5
|
import * as i2 from "../../services/login/login.service";
|
|
10
|
-
import * as i3 from "
|
|
11
|
-
import * as i4 from "../../services/
|
|
12
|
-
import * as i5 from "
|
|
13
|
-
import * as i6 from "
|
|
14
|
-
import * as i7 from "../../services/
|
|
15
|
-
import * as i8 from "
|
|
16
|
-
import * as i9 from "
|
|
17
|
-
import * as i10 from "@angular/
|
|
18
|
-
import * as i11 from "
|
|
19
|
-
import * as i12 from "primeng/
|
|
20
|
-
import * as i13 from "
|
|
21
|
-
import * as i14 from "
|
|
22
|
-
import * as i15 from "
|
|
23
|
-
import * as i16 from "
|
|
24
|
-
import * as i17 from "primeng/selectbutton";
|
|
25
|
-
import * as i18 from "../error/error.component";
|
|
26
|
-
import * as i19 from "../questionnaire/form-builder/form-builder.page";
|
|
27
|
-
import * as i20 from "@ngx-translate/core";
|
|
6
|
+
import * as i3 from "@ionic/angular";
|
|
7
|
+
import * as i4 from "../../services/claimant-service/claimant.service";
|
|
8
|
+
import * as i5 from "@angular/router";
|
|
9
|
+
import * as i6 from "../../services/claimant-service/claimant-usps-redirect.service";
|
|
10
|
+
import * as i7 from "../../services/lexis-nexis/lexis.nexis.service";
|
|
11
|
+
import * as i8 from "@angular/common";
|
|
12
|
+
import * as i9 from "primeng/api";
|
|
13
|
+
import * as i10 from "@angular/forms";
|
|
14
|
+
import * as i11 from "primeng/dialog";
|
|
15
|
+
import * as i12 from "primeng/selectbutton";
|
|
16
|
+
import * as i13 from "../questionnaire/form-builder/form-builder.page";
|
|
17
|
+
import * as i14 from "../security-question/security-question.component";
|
|
18
|
+
import * as i15 from "../lexis-nexis/lexis-nexis.component";
|
|
19
|
+
import * as i16 from "@ngx-translate/core";
|
|
28
20
|
const _c0 = ["fb"];
|
|
29
|
-
const _c1 = ["otpFormDirective"];
|
|
30
|
-
const _c2 = ["securityQuestionFormDirective"];
|
|
31
|
-
function ProfileComponent_ng_template_1_p_selectButton_9_Template(rf, ctx) { if (rf & 1) {
|
|
32
|
-
const _r13 = i0.ɵɵgetCurrentView();
|
|
33
|
-
i0.ɵɵelementStart(0, "p-selectButton", 11);
|
|
34
|
-
i0.ɵɵlistener("ngModelChange", function ProfileComponent_ng_template_1_p_selectButton_9_Template_p_selectButton_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r13); const ctx_r12 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r12.selected = $event); })("onOptionClick", function ProfileComponent_ng_template_1_p_selectButton_9_Template_p_selectButton_onOptionClick_0_listener($event) { i0.ɵɵrestoreView(_r13); const ctx_r14 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r14.onValueChange($event)); });
|
|
35
|
-
i0.ɵɵelementEnd();
|
|
36
|
-
} if (rf & 2) {
|
|
37
|
-
const ctx_r10 = i0.ɵɵnextContext(2);
|
|
38
|
-
i0.ɵɵproperty("options", ctx_r10.profileOpts)("ngModel", ctx_r10.selected);
|
|
39
|
-
} }
|
|
40
|
-
function ProfileComponent_ng_template_1_p_selectButton_10_Template(rf, ctx) { if (rf & 1) {
|
|
41
|
-
const _r16 = i0.ɵɵgetCurrentView();
|
|
42
|
-
i0.ɵɵelementStart(0, "p-selectButton", 11);
|
|
43
|
-
i0.ɵɵlistener("ngModelChange", function ProfileComponent_ng_template_1_p_selectButton_10_Template_p_selectButton_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r15.selected = $event); })("onOptionClick", function ProfileComponent_ng_template_1_p_selectButton_10_Template_p_selectButton_onOptionClick_0_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r17 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r17.onValueChange($event)); });
|
|
44
|
-
i0.ɵɵelementEnd();
|
|
45
|
-
} if (rf & 2) {
|
|
46
|
-
const ctx_r11 = i0.ɵɵnextContext(2);
|
|
47
|
-
i0.ɵɵproperty("options", ctx_r11.profileOptsIVR)("ngModel", ctx_r11.selected);
|
|
48
|
-
} }
|
|
49
21
|
function ProfileComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
50
|
-
i0.ɵɵ
|
|
22
|
+
const _r8 = i0.ɵɵgetCurrentView();
|
|
23
|
+
i0.ɵɵelementStart(0, "ion-grid")(1, "ion-row")(2, "ion-col", 7);
|
|
51
24
|
i0.ɵɵtext(3);
|
|
52
25
|
i0.ɵɵpipe(4, "translate");
|
|
53
|
-
i0.ɵɵelementStart(5, "span",
|
|
26
|
+
i0.ɵɵelementStart(5, "span", 8);
|
|
54
27
|
i0.ɵɵtext(6);
|
|
55
28
|
i0.ɵɵelementEnd()()();
|
|
56
|
-
i0.ɵɵelementStart(7, "ion-row")(8, "ion-col");
|
|
57
|
-
i0.ɵɵ
|
|
58
|
-
i0.ɵɵelementEnd()()();
|
|
29
|
+
i0.ɵɵelementStart(7, "ion-row")(8, "ion-col")(9, "p-selectButton", 9);
|
|
30
|
+
i0.ɵɵlistener("ngModelChange", function ProfileComponent_ng_template_1_Template_p_selectButton_ngModelChange_9_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.selected = $event); })("onOptionClick", function ProfileComponent_ng_template_1_Template_p_selectButton_onOptionClick_9_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r9 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r9.onValueChange($event)); });
|
|
31
|
+
i0.ɵɵelementEnd()()()();
|
|
59
32
|
} if (rf & 2) {
|
|
60
33
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
61
34
|
i0.ɵɵadvance(3);
|
|
62
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 4, "
|
|
35
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 4, "header.account.your.account"), "");
|
|
63
36
|
i0.ɵɵadvance(3);
|
|
64
|
-
i0.ɵɵtextInterpolate1("(
|
|
37
|
+
i0.ɵɵtextInterpolate1("(CID ", ctx_r0.ls.getUser().claimantId, ")");
|
|
65
38
|
i0.ɵɵadvance(3);
|
|
66
|
-
i0.ɵɵproperty("
|
|
67
|
-
i0.ɵɵadvance(1);
|
|
68
|
-
i0.ɵɵproperty("ngIf", ctx_r0.isME());
|
|
69
|
-
} }
|
|
70
|
-
function ProfileComponent_div_2_app_form_builder_1_Template(rf, ctx) { if (rf & 1) {
|
|
71
|
-
const _r24 = i0.ɵɵgetCurrentView();
|
|
72
|
-
i0.ɵɵelementStart(0, "app-form-builder", 14, 15);
|
|
73
|
-
i0.ɵɵlistener("onError", function ProfileComponent_div_2_app_form_builder_1_Template_app_form_builder_onError_0_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r23 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r23.handleError($event)); })("onComplete", function ProfileComponent_div_2_app_form_builder_1_Template_app_form_builder_onComplete_0_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r25 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r25.success($event)); });
|
|
74
|
-
i0.ɵɵelementEnd();
|
|
75
|
-
} if (rf & 2) {
|
|
76
|
-
const ctx_r18 = i0.ɵɵnextContext(2);
|
|
77
|
-
i0.ɵɵproperty("flowKey", ctx_r18.selected)("showOnlyQuestion", true)("hideHeader", true)("hideFooter", true)("sizeXs", 12)("sizeSm", 12)("sizeMd", 12)("sizeLg", 12)("sizeXl", 12)("offsetXl", 0)("offsetLg", 0);
|
|
39
|
+
i0.ɵɵproperty("options", ctx_r0.profileOpts)("ngModel", ctx_r0.selected);
|
|
78
40
|
} }
|
|
79
|
-
function
|
|
80
|
-
i0.ɵɵelementStart(0, "div", 17);
|
|
81
|
-
i0.ɵɵelement(1, "ion-icon", 18);
|
|
82
|
-
i0.ɵɵelementStart(2, "span");
|
|
83
|
-
i0.ɵɵtext(3);
|
|
84
|
-
i0.ɵɵelementEnd()();
|
|
85
|
-
} if (rf & 2) {
|
|
86
|
-
const ctx_r26 = i0.ɵɵnextContext(3);
|
|
87
|
-
i0.ɵɵadvance(3);
|
|
88
|
-
i0.ɵɵtextInterpolate(ctx_r26.errorText);
|
|
89
|
-
} }
|
|
90
|
-
function ProfileComponent_div_2_div_2_app_form_builder_2_Template(rf, ctx) { if (rf & 1) {
|
|
91
|
-
const _r30 = i0.ɵɵgetCurrentView();
|
|
92
|
-
i0.ɵɵelementStart(0, "app-form-builder", 14, 15);
|
|
93
|
-
i0.ɵɵlistener("onError", function ProfileComponent_div_2_div_2_app_form_builder_2_Template_app_form_builder_onError_0_listener($event) { i0.ɵɵrestoreView(_r30); const ctx_r29 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r29.handleError($event)); })("onComplete", function ProfileComponent_div_2_div_2_app_form_builder_2_Template_app_form_builder_onComplete_0_listener($event) { i0.ɵɵrestoreView(_r30); const ctx_r31 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r31.success($event)); });
|
|
94
|
-
i0.ɵɵelementEnd();
|
|
95
|
-
} if (rf & 2) {
|
|
96
|
-
const ctx_r27 = i0.ɵɵnextContext(3);
|
|
97
|
-
i0.ɵɵproperty("flowKey", ctx_r27.selected)("showOnlyQuestion", true)("hideHeader", true)("hideFooter", true)("sizeXs", 12)("sizeSm", 12)("sizeMd", 12)("sizeLg", 12)("sizeXl", 12)("offsetXl", 0)("offsetLg", 0);
|
|
98
|
-
} }
|
|
99
|
-
function ProfileComponent_div_2_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
41
|
+
function ProfileComponent_div_2_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
100
42
|
i0.ɵɵelementStart(0, "div");
|
|
101
|
-
i0.ɵɵ
|
|
43
|
+
i0.ɵɵtext(1);
|
|
102
44
|
i0.ɵɵelementEnd();
|
|
103
45
|
} if (rf & 2) {
|
|
104
|
-
const
|
|
105
|
-
i0.ɵɵadvance(1);
|
|
106
|
-
i0.ɵɵproperty("ngIf", ctx_r19.showInlineError && ctx_r19.selected === "contact-details");
|
|
46
|
+
const ctx_r10 = i0.ɵɵnextContext(2);
|
|
107
47
|
i0.ɵɵadvance(1);
|
|
108
|
-
i0.ɵɵ
|
|
48
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r10.getSecQuestionsPaymentOptions(), " ");
|
|
109
49
|
} }
|
|
110
|
-
function
|
|
111
|
-
const
|
|
112
|
-
i0.ɵɵelementStart(0, "app-form-builder",
|
|
113
|
-
i0.ɵɵlistener("onError", function
|
|
50
|
+
function ProfileComponent_div_2_app_form_builder_2_Template(rf, ctx) { if (rf & 1) {
|
|
51
|
+
const _r16 = i0.ɵɵgetCurrentView();
|
|
52
|
+
i0.ɵɵelementStart(0, "app-form-builder", 12, 13);
|
|
53
|
+
i0.ɵɵlistener("onError", function ProfileComponent_div_2_app_form_builder_2_Template_app_form_builder_onError_0_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r15.handleError($event)); })("onComplete", function ProfileComponent_div_2_app_form_builder_2_Template_app_form_builder_onComplete_0_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r17 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r17.success($event)); });
|
|
114
54
|
i0.ɵɵelementEnd();
|
|
115
55
|
} if (rf & 2) {
|
|
116
|
-
const
|
|
117
|
-
i0.ɵɵproperty("flowKey",
|
|
56
|
+
const ctx_r11 = i0.ɵɵnextContext(2);
|
|
57
|
+
i0.ɵɵproperty("flowKey", ctx_r11.selected)("showOnlyQuestion", true)("hideHeader", true)("hideFooter", true)("sizeXs", 12)("sizeSm", 12)("sizeMd", 12)("sizeLg", 12)("sizeXl", 12)("offsetXl", 0)("offsetLg", 0);
|
|
118
58
|
} }
|
|
119
|
-
function
|
|
120
|
-
const
|
|
121
|
-
i0.ɵɵelementStart(0, "app-form-builder",
|
|
122
|
-
i0.ɵɵlistener("onError", function
|
|
59
|
+
function ProfileComponent_div_2_app_form_builder_3_Template(rf, ctx) { if (rf & 1) {
|
|
60
|
+
const _r20 = i0.ɵɵgetCurrentView();
|
|
61
|
+
i0.ɵɵelementStart(0, "app-form-builder", 12, 13);
|
|
62
|
+
i0.ɵɵlistener("onError", function ProfileComponent_div_2_app_form_builder_3_Template_app_form_builder_onError_0_listener($event) { i0.ɵɵrestoreView(_r20); const ctx_r19 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r19.handleError($event)); })("onComplete", function ProfileComponent_div_2_app_form_builder_3_Template_app_form_builder_onComplete_0_listener($event) { i0.ɵɵrestoreView(_r20); const ctx_r21 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r21.success($event)); });
|
|
123
63
|
i0.ɵɵelementEnd();
|
|
124
64
|
} if (rf & 2) {
|
|
125
|
-
const
|
|
126
|
-
i0.ɵɵproperty("flowKey",
|
|
65
|
+
const ctx_r12 = i0.ɵɵnextContext(2);
|
|
66
|
+
i0.ɵɵproperty("flowKey", ctx_r12.selected)("showOnlyQuestion", true)("hideHeader", true)("hideFooter", true)("sizeXs", 12)("sizeSm", 12)("sizeMd", 12)("sizeLg", 12)("sizeXl", 12)("offsetXl", 0)("offsetLg", 0);
|
|
127
67
|
} }
|
|
128
|
-
function
|
|
129
|
-
i0.ɵɵ
|
|
130
|
-
i0.ɵɵ
|
|
68
|
+
function ProfileComponent_div_2_div_4_app_form_builder_1_Template(rf, ctx) { if (rf & 1) {
|
|
69
|
+
const _r25 = i0.ɵɵgetCurrentView();
|
|
70
|
+
i0.ɵɵelementStart(0, "app-form-builder", 12, 13);
|
|
71
|
+
i0.ɵɵlistener("onError", function ProfileComponent_div_2_div_4_app_form_builder_1_Template_app_form_builder_onError_0_listener($event) { i0.ɵɵrestoreView(_r25); const ctx_r24 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r24.handleError($event)); })("onComplete", function ProfileComponent_div_2_div_4_app_form_builder_1_Template_app_form_builder_onComplete_0_listener($event) { i0.ɵɵrestoreView(_r25); const ctx_r26 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r26.success($event)); });
|
|
131
72
|
i0.ɵɵelementEnd();
|
|
132
73
|
} if (rf & 2) {
|
|
133
|
-
const
|
|
134
|
-
i0.ɵɵ
|
|
135
|
-
i0.ɵɵproperty("ngIf", ctx_r1.selected == "personal-details");
|
|
136
|
-
i0.ɵɵadvance(1);
|
|
137
|
-
i0.ɵɵproperty("ngIf", ctx_r1.selected == "contact-details");
|
|
138
|
-
i0.ɵɵadvance(1);
|
|
139
|
-
i0.ɵɵproperty("ngIf", ctx_r1.selected == "payment-details");
|
|
140
|
-
i0.ɵɵadvance(1);
|
|
141
|
-
i0.ɵɵproperty("ngIf", ctx_r1.selected == "update-ivr");
|
|
74
|
+
const ctx_r22 = i0.ɵɵnextContext(3);
|
|
75
|
+
i0.ɵɵproperty("flowKey", ctx_r22.selected)("showOnlyQuestion", true)("hideHeader", true)("hideFooter", true)("sizeXs", 12)("sizeSm", 12)("sizeMd", 12)("sizeLg", 12)("sizeXl", 12)("offsetXl", 0)("offsetLg", 0);
|
|
142
76
|
} }
|
|
143
|
-
function
|
|
77
|
+
function ProfileComponent_div_2_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
144
78
|
i0.ɵɵelementStart(0, "div");
|
|
145
|
-
i0.ɵɵ
|
|
146
|
-
i0.ɵɵpipe(2, "translate");
|
|
79
|
+
i0.ɵɵtemplate(1, ProfileComponent_div_2_div_4_app_form_builder_1_Template, 2, 11, "app-form-builder", 11);
|
|
147
80
|
i0.ɵɵelementEnd();
|
|
148
81
|
} if (rf & 2) {
|
|
82
|
+
const ctx_r13 = i0.ɵɵnextContext(2);
|
|
149
83
|
i0.ɵɵadvance(1);
|
|
150
|
-
i0.ɵɵ
|
|
84
|
+
i0.ɵɵproperty("ngIf", ctx_r13.selected == "payment-details");
|
|
151
85
|
} }
|
|
152
|
-
function
|
|
153
|
-
i0.ɵɵelementStart(0, "
|
|
154
|
-
i0.ɵɵ
|
|
155
|
-
i0.ɵɵpipe(2, "translate");
|
|
86
|
+
function ProfileComponent_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
87
|
+
i0.ɵɵelementStart(0, "div", 10);
|
|
88
|
+
i0.ɵɵtemplate(1, ProfileComponent_div_2_div_1_Template, 2, 1, "div", 3)(2, ProfileComponent_div_2_app_form_builder_2_Template, 2, 11, "app-form-builder", 11)(3, ProfileComponent_div_2_app_form_builder_3_Template, 2, 11, "app-form-builder", 11)(4, ProfileComponent_div_2_div_4_Template, 2, 1, "div", 3);
|
|
156
89
|
i0.ɵɵelementEnd();
|
|
157
90
|
} if (rf & 2) {
|
|
91
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
158
92
|
i0.ɵɵadvance(1);
|
|
159
|
-
i0.ɵɵ
|
|
160
|
-
} }
|
|
161
|
-
function ProfileComponent_div_3_div_1_ion_col_3_Template(rf, ctx) { if (rf & 1) {
|
|
162
|
-
const _r47 = i0.ɵɵgetCurrentView();
|
|
163
|
-
i0.ɵɵelementStart(0, "ion-col", 25)(1, "ion-card", 26)(2, "ion-header", 27)(3, "ion-card-title");
|
|
164
|
-
i0.ɵɵelement(4, "i", 32);
|
|
165
|
-
i0.ɵɵtext(5);
|
|
166
|
-
i0.ɵɵpipe(6, "translate");
|
|
167
|
-
i0.ɵɵelementEnd()();
|
|
168
|
-
i0.ɵɵelementStart(7, "ion-card-content", 29)(8, "label");
|
|
169
|
-
i0.ɵɵtext(9);
|
|
170
|
-
i0.ɵɵpipe(10, "translate");
|
|
171
|
-
i0.ɵɵelementEnd();
|
|
172
|
-
i0.ɵɵelementStart(11, "ion-button", 33);
|
|
173
|
-
i0.ɵɵlistener("click", function ProfileComponent_div_3_div_1_ion_col_3_Template_ion_button_click_11_listener() { i0.ɵɵrestoreView(_r47); const ctx_r46 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r46.getExternalClaimantReport()); });
|
|
174
|
-
i0.ɵɵelement(12, "ion-icon", 31);
|
|
175
|
-
i0.ɵɵtext(13);
|
|
176
|
-
i0.ɵɵpipe(14, "translate");
|
|
177
|
-
i0.ɵɵelementEnd()()();
|
|
178
|
-
i0.ɵɵtemplate(15, ProfileComponent_div_3_div_1_ion_col_3_div_15_Template, 3, 3, "div", 5)(16, ProfileComponent_div_3_div_1_ion_col_3_mat_error_16_Template, 3, 3, "mat-error", 5);
|
|
179
|
-
i0.ɵɵelementEnd();
|
|
180
|
-
} if (rf & 2) {
|
|
181
|
-
const ctx_r43 = i0.ɵɵnextContext(3);
|
|
182
|
-
i0.ɵɵadvance(5);
|
|
183
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 5, "profile.proof.of.unemployment.phase.two.label.download.unemployment.claim.report"));
|
|
184
|
-
i0.ɵɵadvance(4);
|
|
185
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(10, 7, "profile.proof.of.unemployment.phase.two.overlay.unemployment.claim.report"), " ");
|
|
186
|
-
i0.ɵɵadvance(4);
|
|
187
|
-
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(14, 9, "profile.proof.of.unemployment.phase.two.button.download.report"), " ");
|
|
188
|
-
i0.ɵɵadvance(2);
|
|
189
|
-
i0.ɵɵproperty("ngIf", ctx_r43.downloadStatus == "started");
|
|
93
|
+
i0.ɵɵproperty("ngIf", ctx_r1.selected == "payment-details" && !ctx_r1.isPaymentOptionQuestionsEnabled && ctx_r1.isPaymentOptionDivEnabled);
|
|
190
94
|
i0.ɵɵadvance(1);
|
|
191
|
-
i0.ɵɵproperty("ngIf",
|
|
192
|
-
} }
|
|
193
|
-
function ProfileComponent_div_3_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
194
|
-
const _r49 = i0.ɵɵgetCurrentView();
|
|
195
|
-
i0.ɵɵelementStart(0, "div", 22)(1, "ion-grid", 23)(2, "ion-row");
|
|
196
|
-
i0.ɵɵtemplate(3, ProfileComponent_div_3_div_1_ion_col_3_Template, 17, 11, "ion-col", 24);
|
|
197
|
-
i0.ɵɵelementStart(4, "ion-col", 25)(5, "ion-card", 26)(6, "ion-header", 27)(7, "ion-card-title");
|
|
198
|
-
i0.ɵɵelement(8, "i", 28);
|
|
199
|
-
i0.ɵɵtext(9);
|
|
200
|
-
i0.ɵɵpipe(10, "translate");
|
|
201
|
-
i0.ɵɵelementEnd()();
|
|
202
|
-
i0.ɵɵelementStart(11, "ion-card-content", 29)(12, "label");
|
|
203
|
-
i0.ɵɵtext(13);
|
|
204
|
-
i0.ɵɵpipe(14, "translate");
|
|
205
|
-
i0.ɵɵelementEnd();
|
|
206
|
-
i0.ɵɵelementStart(15, "ion-button", 30);
|
|
207
|
-
i0.ɵɵlistener("click", function ProfileComponent_div_3_div_1_Template_ion_button_click_15_listener() { i0.ɵɵrestoreView(_r49); const ctx_r48 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r48.redirectLink(".claimantsummaryverification")); });
|
|
208
|
-
i0.ɵɵelement(16, "ion-icon", 31);
|
|
209
|
-
i0.ɵɵtext(17);
|
|
210
|
-
i0.ɵɵpipe(18, "translate");
|
|
211
|
-
i0.ɵɵelementEnd()()()()()()();
|
|
212
|
-
} if (rf & 2) {
|
|
213
|
-
const ctx_r40 = i0.ɵɵnextContext(2);
|
|
214
|
-
i0.ɵɵadvance(3);
|
|
215
|
-
i0.ɵɵproperty("ngIf", !ctx_r40.isME());
|
|
216
|
-
i0.ɵɵadvance(6);
|
|
217
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(10, 4, "profile.proof.of.unemployment.phase.two.label.summary.unemployment.claim"), "");
|
|
218
|
-
i0.ɵɵadvance(4);
|
|
219
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(14, 6, "profile.proof.of.unemployment.phase.two.overlay.summary.unemployment.claim"), " ");
|
|
220
|
-
i0.ɵɵadvance(4);
|
|
221
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(18, 8, "profile.proof.of.unemployment.phase.two.button.download.report"), " ");
|
|
222
|
-
} }
|
|
223
|
-
function ProfileComponent_div_3_ng_template_2_ion_col_2_div_10_Template(rf, ctx) { if (rf & 1) {
|
|
224
|
-
i0.ɵɵelementStart(0, "div");
|
|
225
|
-
i0.ɵɵtext(1);
|
|
226
|
-
i0.ɵɵpipe(2, "translate");
|
|
227
|
-
i0.ɵɵelementEnd();
|
|
228
|
-
} if (rf & 2) {
|
|
229
|
-
i0.ɵɵadvance(1);
|
|
230
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "profile.proof.of.unemployment.status.download.start"));
|
|
231
|
-
} }
|
|
232
|
-
function ProfileComponent_div_3_ng_template_2_ion_col_2_mat_error_11_Template(rf, ctx) { if (rf & 1) {
|
|
233
|
-
i0.ɵɵelementStart(0, "mat-error");
|
|
234
|
-
i0.ɵɵtext(1);
|
|
235
|
-
i0.ɵɵpipe(2, "translate");
|
|
236
|
-
i0.ɵɵelementEnd();
|
|
237
|
-
} if (rf & 2) {
|
|
95
|
+
i0.ɵɵproperty("ngIf", ctx_r1.selected == "personal-details");
|
|
238
96
|
i0.ɵɵadvance(1);
|
|
239
|
-
i0.ɵɵ
|
|
240
|
-
} }
|
|
241
|
-
function ProfileComponent_div_3_ng_template_2_ion_col_2_Template(rf, ctx) { if (rf & 1) {
|
|
242
|
-
const _r54 = i0.ɵɵgetCurrentView();
|
|
243
|
-
i0.ɵɵelementStart(0, "ion-col", 35)(1, "label");
|
|
244
|
-
i0.ɵɵtext(2);
|
|
245
|
-
i0.ɵɵpipe(3, "translate");
|
|
246
|
-
i0.ɵɵelementEnd();
|
|
247
|
-
i0.ɵɵelement(4, "br");
|
|
248
|
-
i0.ɵɵelementStart(5, "ion-button", 37);
|
|
249
|
-
i0.ɵɵlistener("click", function ProfileComponent_div_3_ng_template_2_ion_col_2_Template_ion_button_click_5_listener() { i0.ɵɵrestoreView(_r54); const ctx_r53 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r53.getExternalClaimantReport()); });
|
|
250
|
-
i0.ɵɵelement(6, "ion-icon", 38);
|
|
251
|
-
i0.ɵɵtext(7);
|
|
252
|
-
i0.ɵɵpipe(8, "translate");
|
|
253
|
-
i0.ɵɵelementEnd();
|
|
254
|
-
i0.ɵɵelement(9, "br");
|
|
255
|
-
i0.ɵɵtemplate(10, ProfileComponent_div_3_ng_template_2_ion_col_2_div_10_Template, 3, 3, "div", 5)(11, ProfileComponent_div_3_ng_template_2_ion_col_2_mat_error_11_Template, 3, 3, "mat-error", 5);
|
|
256
|
-
i0.ɵɵelementEnd();
|
|
257
|
-
} if (rf & 2) {
|
|
258
|
-
const ctx_r50 = i0.ɵɵnextContext(3);
|
|
259
|
-
i0.ɵɵadvance(2);
|
|
260
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 4, "profile.proof.of.unemployment.label.download.unemployment.claim.report"), " ");
|
|
261
|
-
i0.ɵɵadvance(5);
|
|
262
|
-
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(8, 6, "profile.proof.of.unemployment.button.external.claimant.report"), " ");
|
|
263
|
-
i0.ɵɵadvance(3);
|
|
264
|
-
i0.ɵɵproperty("ngIf", ctx_r50.downloadStatus == "started");
|
|
97
|
+
i0.ɵɵproperty("ngIf", ctx_r1.selected == "contact-details");
|
|
265
98
|
i0.ɵɵadvance(1);
|
|
266
|
-
i0.ɵɵproperty("ngIf",
|
|
267
|
-
} }
|
|
268
|
-
function ProfileComponent_div_3_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
269
|
-
const _r56 = i0.ɵɵgetCurrentView();
|
|
270
|
-
i0.ɵɵelementStart(0, "ion-grid", 23)(1, "ion-row");
|
|
271
|
-
i0.ɵɵtemplate(2, ProfileComponent_div_3_ng_template_2_ion_col_2_Template, 12, 8, "ion-col", 34);
|
|
272
|
-
i0.ɵɵelementStart(3, "ion-col", 35)(4, "label");
|
|
273
|
-
i0.ɵɵtext(5);
|
|
274
|
-
i0.ɵɵpipe(6, "translate");
|
|
275
|
-
i0.ɵɵelementEnd();
|
|
276
|
-
i0.ɵɵelement(7, "br");
|
|
277
|
-
i0.ɵɵelementStart(8, "ion-button", 36);
|
|
278
|
-
i0.ɵɵlistener("click", function ProfileComponent_div_3_ng_template_2_Template_ion_button_click_8_listener() { i0.ɵɵrestoreView(_r56); const ctx_r55 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r55.redirectLink(".claimantsummaryverification")); });
|
|
279
|
-
i0.ɵɵtext(9);
|
|
280
|
-
i0.ɵɵpipe(10, "translate");
|
|
281
|
-
i0.ɵɵelementEnd()()()();
|
|
282
|
-
} if (rf & 2) {
|
|
283
|
-
const ctx_r41 = i0.ɵɵnextContext(2);
|
|
284
|
-
i0.ɵɵadvance(2);
|
|
285
|
-
i0.ɵɵproperty("ngIf", !ctx_r41.isME());
|
|
286
|
-
i0.ɵɵadvance(3);
|
|
287
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 3, "profile.proof.of.unemployment.label.summary.unemployment.claim"), " ");
|
|
288
|
-
i0.ɵɵadvance(4);
|
|
289
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(10, 5, "profile.proof.of.unemployment.button.unemployment.verification"));
|
|
99
|
+
i0.ɵɵproperty("ngIf", ctx_r1.isPaymentOptionQuestionsEnabled);
|
|
290
100
|
} }
|
|
291
101
|
function ProfileComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
292
|
-
i0.ɵɵelementStart(0, "div",
|
|
293
|
-
i0.ɵɵ
|
|
294
|
-
i0.ɵɵ
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
i0.ɵɵadvance(1);
|
|
299
|
-
i0.ɵɵproperty("ngIf", ctx_r2.phaseTwoProofOfUIView === "true")("ngIfElse", _r42);
|
|
300
|
-
} }
|
|
301
|
-
const _c3 = a0 => ({ type: a0 });
|
|
302
|
-
const _c4 = () => ({ required: "Authcode is required.", minlength: "Authcode should have 6 numbers." });
|
|
303
|
-
function ProfileComponent_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
304
|
-
const _r59 = i0.ɵɵgetCurrentView();
|
|
305
|
-
i0.ɵɵelementStart(0, "div", 39)(1, "form", 40, 41)(3, "ion-row")(4, "div", 42)(5, "ion-row");
|
|
306
|
-
i0.ɵɵelement(6, "label", 43);
|
|
307
|
-
i0.ɵɵpipe(7, "translate");
|
|
308
|
-
i0.ɵɵelementEnd();
|
|
309
|
-
i0.ɵɵelementStart(8, "ion-row")(9, "ion-col");
|
|
310
|
-
i0.ɵɵelement(10, "p-inputMask", 44)(11, "app-error", 45);
|
|
311
|
-
i0.ɵɵelementEnd();
|
|
312
|
-
i0.ɵɵelementStart(12, "ion-col")(13, "ion-button", 46);
|
|
313
|
-
i0.ɵɵlistener("click", function ProfileComponent_div_4_Template_ion_button_click_13_listener() { i0.ɵɵrestoreView(_r59); const ctx_r58 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r58.verify()); });
|
|
314
|
-
i0.ɵɵtext(14);
|
|
315
|
-
i0.ɵɵpipe(15, "translate");
|
|
316
|
-
i0.ɵɵelementEnd()()()()()()();
|
|
102
|
+
i0.ɵɵelementStart(0, "div")(1, "div", 14);
|
|
103
|
+
i0.ɵɵelement(2, "ion-icon", 15);
|
|
104
|
+
i0.ɵɵelementStart(3, "h1");
|
|
105
|
+
i0.ɵɵtext(4);
|
|
106
|
+
i0.ɵɵpipe(5, "translate");
|
|
107
|
+
i0.ɵɵelementEnd()()();
|
|
317
108
|
} if (rf & 2) {
|
|
318
|
-
const _r57 = i0.ɵɵreference(2);
|
|
319
|
-
const ctx_r3 = i0.ɵɵnextContext();
|
|
320
|
-
i0.ɵɵadvance(1);
|
|
321
|
-
i0.ɵɵproperty("formGroup", ctx_r3.otpForm);
|
|
322
|
-
i0.ɵɵadvance(5);
|
|
323
|
-
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind2(7, 7, "profile.contact.details.label.otp", i0.ɵɵpureFunction1(12, _c3, ctx_r3.type)), i0.ɵɵsanitizeHtml);
|
|
324
109
|
i0.ɵɵadvance(4);
|
|
325
|
-
i0.ɵɵ
|
|
326
|
-
i0.ɵɵadvance(1);
|
|
327
|
-
i0.ɵɵproperty("field", ctx_r3.otp)("form", _r57)("errDef", i0.ɵɵpureFunction0(14, _c4));
|
|
328
|
-
i0.ɵɵadvance(3);
|
|
329
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(15, 10, "profile.contact.details.button.verify"));
|
|
330
|
-
} }
|
|
331
|
-
const _c5 = a0 => ({ securityQuestionToAsk: a0 });
|
|
332
|
-
const _c6 = () => ({ required: "Security Answer is required." });
|
|
333
|
-
function ProfileComponent_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
334
|
-
const _r62 = i0.ɵɵgetCurrentView();
|
|
335
|
-
i0.ɵɵelementStart(0, "div", 39)(1, "form", 40, 47)(3, "ion-row")(4, "div", 42)(5, "ion-row");
|
|
336
|
-
i0.ɵɵelement(6, "label", 48);
|
|
337
|
-
i0.ɵɵpipe(7, "translate");
|
|
338
|
-
i0.ɵɵelementEnd();
|
|
339
|
-
i0.ɵɵelementStart(8, "ion-row")(9, "ion-col");
|
|
340
|
-
i0.ɵɵelement(10, "input", 49)(11, "app-error", 45);
|
|
341
|
-
i0.ɵɵelementEnd();
|
|
342
|
-
i0.ɵɵelementStart(12, "ion-col")(13, "ion-button", 46);
|
|
343
|
-
i0.ɵɵlistener("click", function ProfileComponent_div_5_Template_ion_button_click_13_listener() { i0.ɵɵrestoreView(_r62); const ctx_r61 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r61.verifySecurityQuestion()); });
|
|
344
|
-
i0.ɵɵtext(14);
|
|
345
|
-
i0.ɵɵpipe(15, "translate");
|
|
346
|
-
i0.ɵɵelementEnd()()()()()()();
|
|
347
|
-
} if (rf & 2) {
|
|
348
|
-
const _r60 = i0.ɵɵreference(2);
|
|
349
|
-
const ctx_r4 = i0.ɵɵnextContext();
|
|
350
|
-
i0.ɵɵadvance(1);
|
|
351
|
-
i0.ɵɵproperty("formGroup", ctx_r4.securityQuestionForm);
|
|
352
|
-
i0.ɵɵadvance(5);
|
|
353
|
-
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind2(7, 6, "profile.contact.details.label.securityQuestion", i0.ɵɵpureFunction1(11, _c5, ctx_r4.securityQuestionToAsk)), i0.ɵɵsanitizeHtml);
|
|
354
|
-
i0.ɵɵadvance(5);
|
|
355
|
-
i0.ɵɵproperty("field", ctx_r4.securityQuestionAnswer)("form", _r60)("errDef", i0.ɵɵpureFunction0(13, _c6));
|
|
356
|
-
i0.ɵɵadvance(3);
|
|
357
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(15, 9, "profile.contact.details.button.verify"));
|
|
110
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 1, "header.account.saved.successfully"));
|
|
358
111
|
} }
|
|
359
|
-
function
|
|
360
|
-
i0.ɵɵelementStart(0, "
|
|
361
|
-
i0.ɵɵ
|
|
362
|
-
i0.ɵɵelementEnd();
|
|
363
|
-
} if (rf & 2) {
|
|
364
|
-
const ctx_r5 = i0.ɵɵnextContext();
|
|
365
|
-
i0.ɵɵadvance(1);
|
|
366
|
-
i0.ɵɵtextInterpolate(ctx_r5.errorDtls);
|
|
367
|
-
} }
|
|
368
|
-
function ProfileComponent_ion_label_7_Template(rf, ctx) { if (rf & 1) {
|
|
369
|
-
i0.ɵɵelementStart(0, "ion-label", 50);
|
|
370
|
-
i0.ɵɵtext(1);
|
|
371
|
-
i0.ɵɵelement(2, "br");
|
|
372
|
-
i0.ɵɵelementEnd();
|
|
373
|
-
} if (rf & 2) {
|
|
374
|
-
const ctx_r6 = i0.ɵɵnextContext();
|
|
375
|
-
i0.ɵɵadvance(1);
|
|
376
|
-
i0.ɵɵtextInterpolate(ctx_r6.successDtls);
|
|
377
|
-
} }
|
|
378
|
-
function ProfileComponent_div_8_Template(rf, ctx) { if (rf & 1) {
|
|
379
|
-
i0.ɵɵelementStart(0, "div")(1, "div", 51);
|
|
380
|
-
i0.ɵɵelement(2, "ion-icon", 52);
|
|
112
|
+
function ProfileComponent_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
113
|
+
i0.ɵɵelementStart(0, "div")(1, "div", 14);
|
|
114
|
+
i0.ɵɵelement(2, "ion-icon", 16);
|
|
381
115
|
i0.ɵɵelementStart(3, "h1");
|
|
382
116
|
i0.ɵɵtext(4);
|
|
383
117
|
i0.ɵɵpipe(5, "translate");
|
|
384
118
|
i0.ɵɵelementEnd()()();
|
|
385
119
|
} if (rf & 2) {
|
|
120
|
+
const ctx_r3 = i0.ɵɵnextContext();
|
|
386
121
|
i0.ɵɵadvance(4);
|
|
387
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 1, "
|
|
388
|
-
} }
|
|
389
|
-
function ProfileComponent_div_9_section_3_Template(rf, ctx) { if (rf & 1) {
|
|
390
|
-
i0.ɵɵelementStart(0, "section")(1, "h1");
|
|
391
|
-
i0.ɵɵtext(2);
|
|
392
|
-
i0.ɵɵpipe(3, "translate");
|
|
393
|
-
i0.ɵɵelementEnd()();
|
|
394
|
-
} if (rf & 2) {
|
|
395
|
-
const ctx_r63 = i0.ɵɵnextContext(2);
|
|
396
|
-
i0.ɵɵadvance(2);
|
|
397
|
-
i0.ɵɵtextInterpolate(ctx_r63.errorText ? ctx_r63.errorText : i0.ɵɵpipeBind1(3, 1, "profile.banner.request.process.failure"));
|
|
398
|
-
} }
|
|
399
|
-
function ProfileComponent_div_9_section_4_Template(rf, ctx) { if (rf & 1) {
|
|
400
|
-
i0.ɵɵelementStart(0, "section")(1, "h1");
|
|
401
|
-
i0.ɵɵtext(2);
|
|
402
|
-
i0.ɵɵpipe(3, "translate");
|
|
403
|
-
i0.ɵɵelementEnd()();
|
|
404
|
-
} if (rf & 2) {
|
|
405
|
-
const ctx_r64 = i0.ɵɵnextContext(2);
|
|
406
|
-
i0.ɵɵadvance(2);
|
|
407
|
-
i0.ɵɵtextInterpolate(ctx_r64.errorText ? ctx_r64.errorText : i0.ɵɵpipeBind1(3, 1, "profile.banner.request.process.failure"));
|
|
408
|
-
} }
|
|
409
|
-
function ProfileComponent_div_9_Template(rf, ctx) { if (rf & 1) {
|
|
410
|
-
i0.ɵɵelementStart(0, "div")(1, "div", 51);
|
|
411
|
-
i0.ɵɵelement(2, "ion-icon", 53);
|
|
412
|
-
i0.ɵɵtemplate(3, ProfileComponent_div_9_section_3_Template, 4, 3, "section", 5)(4, ProfileComponent_div_9_section_4_Template, 4, 3, "section", 5);
|
|
413
|
-
i0.ɵɵelementEnd()();
|
|
414
|
-
} if (rf & 2) {
|
|
415
|
-
const ctx_r8 = i0.ɵɵnextContext();
|
|
416
|
-
i0.ɵɵadvance(3);
|
|
417
|
-
i0.ɵɵproperty("ngIf", ctx_r8.isMS());
|
|
418
|
-
i0.ɵɵadvance(1);
|
|
419
|
-
i0.ɵɵproperty("ngIf", !ctx_r8.isMS());
|
|
122
|
+
i0.ɵɵtextInterpolate(ctx_r3.errorText ? ctx_r3.errorText : i0.ɵɵpipeBind1(5, 1, "header.account.could.not.process"));
|
|
420
123
|
} }
|
|
421
|
-
function
|
|
422
|
-
const
|
|
423
|
-
i0.ɵɵelementStart(0, "ion-button",
|
|
424
|
-
i0.ɵɵlistener("click", function
|
|
124
|
+
function ProfileComponent_ng_template_5_ion_button_10_Template(rf, ctx) { if (rf & 1) {
|
|
125
|
+
const _r29 = i0.ɵɵgetCurrentView();
|
|
126
|
+
i0.ɵɵelementStart(0, "ion-button", 22);
|
|
127
|
+
i0.ɵɵlistener("click", function ProfileComponent_ng_template_5_ion_button_10_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r29); const ctx_r28 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r28.save()); })("keydown.enter", function ProfileComponent_ng_template_5_ion_button_10_Template_ion_button_keydown_enter_0_listener() { i0.ɵɵrestoreView(_r29); const ctx_r30 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r30.save()); });
|
|
425
128
|
i0.ɵɵtext(1);
|
|
426
129
|
i0.ɵɵpipe(2, "translate");
|
|
427
130
|
i0.ɵɵelementEnd();
|
|
428
131
|
} if (rf & 2) {
|
|
429
|
-
const
|
|
430
|
-
i0.ɵɵproperty("disabled",
|
|
132
|
+
const ctx_r27 = i0.ɵɵnextContext(2);
|
|
133
|
+
i0.ɵɵproperty("disabled", ctx_r27.isButtonDisabled);
|
|
431
134
|
i0.ɵɵadvance(1);
|
|
432
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, "
|
|
135
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, "header.account.save"));
|
|
433
136
|
} }
|
|
434
|
-
function
|
|
435
|
-
const
|
|
436
|
-
i0.ɵɵelementStart(0, "ion-grid")(1, "ion-row")(2, "ion-col",
|
|
437
|
-
i0.ɵɵlistener("click", function
|
|
137
|
+
function ProfileComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) {
|
|
138
|
+
const _r32 = i0.ɵɵgetCurrentView();
|
|
139
|
+
i0.ɵɵelementStart(0, "ion-grid")(1, "ion-row")(2, "ion-col", 17)(3, "ion-button", 18);
|
|
140
|
+
i0.ɵɵlistener("click", function ProfileComponent_ng_template_5_Template_ion_button_click_3_listener() { i0.ɵɵrestoreView(_r32); const ctx_r31 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r31.logout()); })("keydown.enter", function ProfileComponent_ng_template_5_Template_ion_button_keydown_enter_3_listener() { i0.ɵɵrestoreView(_r32); const ctx_r33 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r33.logout()); });
|
|
438
141
|
i0.ɵɵtext(4);
|
|
439
142
|
i0.ɵɵpipe(5, "translate");
|
|
440
143
|
i0.ɵɵelementEnd()();
|
|
441
|
-
i0.ɵɵelementStart(6, "ion-col",
|
|
442
|
-
i0.ɵɵlistener("click", function
|
|
144
|
+
i0.ɵɵelementStart(6, "ion-col", 19)(7, "ion-button", 20);
|
|
145
|
+
i0.ɵɵlistener("click", function ProfileComponent_ng_template_5_Template_ion_button_click_7_listener() { i0.ɵɵrestoreView(_r32); const ctx_r34 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r34.cancel()); })("keydown.enter", function ProfileComponent_ng_template_5_Template_ion_button_keydown_enter_7_listener() { i0.ɵɵrestoreView(_r32); const ctx_r35 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r35.cancel()); });
|
|
443
146
|
i0.ɵɵtext(8);
|
|
444
147
|
i0.ɵɵpipe(9, "translate");
|
|
445
148
|
i0.ɵɵelementEnd();
|
|
446
|
-
i0.ɵɵtemplate(10,
|
|
149
|
+
i0.ɵɵtemplate(10, ProfileComponent_ng_template_5_ion_button_10_Template, 3, 4, "ion-button", 21);
|
|
447
150
|
i0.ɵɵelementEnd()()();
|
|
448
151
|
} if (rf & 2) {
|
|
449
|
-
const
|
|
450
|
-
i0.ɵɵadvance(
|
|
451
|
-
i0.ɵɵ
|
|
452
|
-
i0.ɵɵadvance(
|
|
453
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(
|
|
152
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
153
|
+
i0.ɵɵadvance(3);
|
|
154
|
+
i0.ɵɵproperty("disabled", ctx_r4.isButtonDisabled);
|
|
155
|
+
i0.ɵɵadvance(1);
|
|
156
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 5, "header.account.logout"));
|
|
157
|
+
i0.ɵɵadvance(3);
|
|
158
|
+
i0.ɵɵproperty("disabled", ctx_r4.isButtonDisabled);
|
|
159
|
+
i0.ɵɵadvance(1);
|
|
160
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(9, 7, "header.account.close"));
|
|
454
161
|
i0.ɵɵadvance(2);
|
|
455
|
-
i0.ɵɵproperty("ngIf", !(
|
|
162
|
+
i0.ɵɵproperty("ngIf", !(ctx_r4.showSuccess || ctx_r4.showError));
|
|
163
|
+
} }
|
|
164
|
+
function ProfileComponent_app_lexis_nexis_6_Template(rf, ctx) { if (rf & 1) {
|
|
165
|
+
const _r37 = i0.ɵɵgetCurrentView();
|
|
166
|
+
i0.ɵɵelementStart(0, "app-lexis-nexis", 23);
|
|
167
|
+
i0.ɵɵlistener("success", function ProfileComponent_app_lexis_nexis_6_Template_app_lexis_nexis_success_0_listener() { i0.ɵɵrestoreView(_r37); const ctx_r36 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r36.onSecurityQuestionSuccess()); })("error", function ProfileComponent_app_lexis_nexis_6_Template_app_lexis_nexis_error_0_listener() { i0.ɵɵrestoreView(_r37); const ctx_r38 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r38.triggerUdol()); })("usps", function ProfileComponent_app_lexis_nexis_6_Template_app_lexis_nexis_usps_0_listener() { i0.ɵɵrestoreView(_r37); const ctx_r39 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r39.triggerUdol()); });
|
|
168
|
+
i0.ɵɵelementEnd();
|
|
169
|
+
} if (rf & 2) {
|
|
170
|
+
const ctx_r5 = i0.ɵɵnextContext();
|
|
171
|
+
i0.ɵɵproperty("display", ctx_r5.isLexisNexisPopupEnabled)("userName", ctx_r5.userName)("customerEventType", ctx_r5.customerEventType);
|
|
456
172
|
} }
|
|
457
|
-
|
|
458
|
-
const
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
173
|
+
function ProfileComponent_app_security_question_7_Template(rf, ctx) { if (rf & 1) {
|
|
174
|
+
const _r41 = i0.ɵɵgetCurrentView();
|
|
175
|
+
i0.ɵɵelementStart(0, "app-security-question", 24);
|
|
176
|
+
i0.ɵɵlistener("success", function ProfileComponent_app_security_question_7_Template_app_security_question_success_0_listener() { i0.ɵɵrestoreView(_r41); const ctx_r40 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r40.onSecurityQuestionSuccess()); })("clear", function ProfileComponent_app_security_question_7_Template_app_security_question_clear_0_listener() { i0.ɵɵrestoreView(_r41); const ctx_r42 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r42.enableLexisNexis()); });
|
|
177
|
+
i0.ɵɵelementEnd();
|
|
178
|
+
} if (rf & 2) {
|
|
179
|
+
const ctx_r6 = i0.ɵɵnextContext();
|
|
180
|
+
i0.ɵɵproperty("display", ctx_r6.isSecurityQuestionEnabled)("questionsAndAnswers", ctx_r6.usersQuesAndAns)("questionsAndKeysOfUser", ctx_r6.mappedKeysQuestionsForUser);
|
|
181
|
+
} }
|
|
182
|
+
const _c1 = () => ({ width: "60vw" });
|
|
183
|
+
const _c2 = () => ({ "1024px": "75vw", "768px": "85vw", "640px": "100vw" });
|
|
184
|
+
export class ProfileComponent {
|
|
185
|
+
constructor(util, ls, nav, cs, router, ur, ln) {
|
|
186
|
+
this.util = util;
|
|
463
187
|
this.ls = ls;
|
|
464
|
-
this.cs = cs;
|
|
465
|
-
this.bs = bs;
|
|
466
|
-
this.claimService = claimService;
|
|
467
188
|
this.nav = nav;
|
|
468
|
-
this.
|
|
469
|
-
this.
|
|
470
|
-
this.
|
|
471
|
-
this.
|
|
472
|
-
this.modalCtrl = modalCtrl;
|
|
189
|
+
this.cs = cs;
|
|
190
|
+
this.router = router;
|
|
191
|
+
this.ur = ur;
|
|
192
|
+
this.ln = ln;
|
|
473
193
|
this.showSuccess = false;
|
|
474
194
|
this.showError = false;
|
|
475
|
-
this.phaseTwoProofOfUIView = LibConstants.PhaseTwoProofOfUIView;
|
|
476
|
-
this.downloadStatus = "";
|
|
477
|
-
this.docFileLink = "assets/images/sampleDoc.png";
|
|
478
|
-
this.claimantAddressId = 0;
|
|
479
|
-
this.lastValidatedAddress = null;
|
|
480
|
-
this.lastValidateResult = '';
|
|
481
|
-
this.attemptCount = 0;
|
|
482
|
-
this.isAddressValidated = '0';
|
|
483
|
-
this.showInlineError = false;
|
|
484
195
|
this.onCancel = new EventEmitter();
|
|
196
|
+
this.error = new EventEmitter();
|
|
485
197
|
this.profileOpts = ComboOption.CLAIMANT_PROFILE_OPTS;
|
|
486
|
-
this.profileOptsIVR = ComboOption.CLAIMANT_PROFILE_OPTS_IVR;
|
|
487
198
|
this.selected = 'personal-details';
|
|
488
|
-
this.
|
|
489
|
-
this.
|
|
199
|
+
this.isReturningUser = true;
|
|
200
|
+
this.isSecurityQuestionEnabled = false;
|
|
201
|
+
this.isPaymentOptionQuestionsEnabled = false;
|
|
202
|
+
this.isPaymentOptionDivEnabled = true;
|
|
203
|
+
this.isLexisNexisPopupEnabled = false;
|
|
204
|
+
this.isButtonDisabled = false;
|
|
205
|
+
this.isLexisNexisProofedWithinTwentyFourHours = false;
|
|
490
206
|
}
|
|
491
207
|
ngOnInit() {
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
if (this.selected === 'proof-of-unemployment') {
|
|
498
|
-
this.titleService.setTitle("Proof of Unemployment");
|
|
499
|
-
this.getListOfActiveClaim();
|
|
208
|
+
if (localStorage.getItem("language") === "es") {
|
|
209
|
+
this.profileOpts = ComboOption.CLAIMANT_PROFILE_OPTS_ES;
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
this.profileOpts = ComboOption.CLAIMANT_PROFILE_OPTS;
|
|
500
213
|
}
|
|
214
|
+
this.getUserDetails();
|
|
215
|
+
//Get user personal-details
|
|
216
|
+
this.getPersonalDetails();
|
|
501
217
|
}
|
|
502
|
-
|
|
503
|
-
|
|
218
|
+
ngAfterViewInit() {
|
|
219
|
+
const pDialog = document.querySelector('div[role=dialog]');
|
|
220
|
+
pDialog?.setAttribute('aria-labelledby', 'pdialog-title');
|
|
221
|
+
setTimeout(() => {
|
|
222
|
+
document.querySelectorAll('div .ionButton').forEach(element => {
|
|
223
|
+
element.setAttribute('role', 'button');
|
|
224
|
+
});
|
|
225
|
+
}, 1000);
|
|
504
226
|
}
|
|
505
|
-
|
|
506
|
-
this.
|
|
507
|
-
|
|
227
|
+
getUserDetails() {
|
|
228
|
+
this.cs.getUserDetailsForLoggedInUser().subscribe((res) => {
|
|
229
|
+
this.ssn = res?.ssn;
|
|
230
|
+
this.verificationPreference = res;
|
|
231
|
+
this.userName = res?.userName;
|
|
232
|
+
this.isLexisNexisProofedWithin24Hours(this.userName);
|
|
233
|
+
}, (err) => {
|
|
234
|
+
console.log(err);
|
|
508
235
|
});
|
|
509
236
|
}
|
|
510
|
-
|
|
511
|
-
this.
|
|
512
|
-
|
|
237
|
+
isLexisNexisProofedWithin24Hours(ssn) {
|
|
238
|
+
this.ln.isLexisNexisProofedWithin24Hours(this.userName).subscribe((res) => {
|
|
239
|
+
this.isLexisNexisProofedWithinTwentyFourHours = res;
|
|
513
240
|
});
|
|
514
241
|
}
|
|
515
|
-
|
|
516
|
-
|
|
242
|
+
onValueChange(event) {
|
|
243
|
+
this.showError = false;
|
|
244
|
+
this.showSuccess = false;
|
|
245
|
+
if (this.selected != 'payment-details') {
|
|
246
|
+
this.isPaymentOptionQuestionsEnabled = true;
|
|
247
|
+
}
|
|
517
248
|
}
|
|
518
|
-
|
|
519
|
-
|
|
249
|
+
cancel() {
|
|
250
|
+
this.util.hideLoader();
|
|
251
|
+
this.onCancel.emit();
|
|
520
252
|
}
|
|
521
|
-
|
|
522
|
-
if (this.
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
//
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
// if (this.lastValidatedAddress != null) {
|
|
539
|
-
// const lastAddressType = this.lastValidatedAddress.diffmailaddress == 'Y' ? 'mail' : 'res';
|
|
540
|
-
// if (lastAddressType == currentType
|
|
541
|
-
// && !this.isAddressChanged(currentAddress, this.lastValidatedAddress)) {
|
|
542
|
-
// this.isAddressValidated = '1';
|
|
543
|
-
// return this.finishAndSave(form.value, this.isAddressValidated);
|
|
544
|
-
// }
|
|
545
|
-
// }
|
|
546
|
-
// //Starting the process to validate the address
|
|
547
|
-
// const returnComponent = await this.addrSvc.validateAddressProcess(currentType, currentAddress, form);
|
|
548
|
-
// this.lastValidatedAddress = returnComponent.lastValidatedAddress
|
|
549
|
-
// if (returnComponent.showInlineError == true) {
|
|
550
|
-
// this.errorText = returnComponent.errorText;
|
|
551
|
-
// this.showInlineError = returnComponent.showInlineError;
|
|
552
|
-
// }
|
|
553
|
-
// if (returnComponent.showPopup == true) {
|
|
554
|
-
// await this.handleRecommendations(returnComponent.addressValidationResponse, returnComponent.addressValidationRequest, v);
|
|
555
|
-
// }
|
|
556
|
-
// if (returnComponent.showInlineError == false && returnComponent.showPopup == false) {
|
|
557
|
-
// this.finishAndSave(form.value, returnComponent.isAddressValidated);
|
|
558
|
-
// }
|
|
559
|
-
if ((formData['phone'] == formData['hidOriginalPhone']) && (formData['email'] == formData['hidOriginalEmail'])) {
|
|
560
|
-
this.logger.debug("Phone or Email Not Changed");
|
|
561
|
-
this.isOtpSent = false;
|
|
562
|
-
this.fb.submitQuestionnaire();
|
|
563
|
-
}
|
|
564
|
-
else if (formData["hidIsEmailChanged"] === "Y" && formData["hidIsPhoneChanged"] === "Y") {
|
|
565
|
-
this.logger.debug("Both Email and Phone Changed");
|
|
566
|
-
this.errorText = "Please contact MDES support for assistance updating Email Address.";
|
|
567
|
-
this.showError = true;
|
|
568
|
-
}
|
|
569
|
-
else if (formData["hidOriginalPhone"] === "null" && formData["hidIsEmailChanged"] === "Y") {
|
|
570
|
-
this.logger.debug("Trying to change email but phone number is not present");
|
|
571
|
-
this.errorText = "Please contact MDES support for assistance updating Email Address and Cell Phone Number.";
|
|
572
|
-
this.showError = true;
|
|
253
|
+
save() {
|
|
254
|
+
if (this.fb.invalid) {
|
|
255
|
+
console.log(this.fb);
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
const dirtyItems = this.fb.getDirtyItems();
|
|
259
|
+
this.util.showLoader();
|
|
260
|
+
// this.saveQuestionnaire(); // First saving the change in the db
|
|
261
|
+
if (this.selected === 'personal-details') {
|
|
262
|
+
const nameControls = ['fstname', 'middlename', 'lstname'];
|
|
263
|
+
if (dirtyItems.some(item => nameControls.includes(item))) {
|
|
264
|
+
this.customerEventType = 'name';
|
|
265
|
+
// Uncomment to enable Lexis Nexis
|
|
266
|
+
const dirtyItemWithValues = this.fb.getDirtyItemsWithValues();
|
|
267
|
+
if (this.isLexisNexisProofedWithinTwentyFourHours && this.validateNameChange(dirtyItemWithValues)) {
|
|
268
|
+
this.util.hideLoader();
|
|
269
|
+
this.enableLexisNexis();
|
|
573
270
|
}
|
|
574
271
|
else {
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
this.type = 'text';
|
|
578
|
-
}
|
|
579
|
-
else if (formData["hidIsPhoneChanged"] === "Y") {
|
|
580
|
-
this.logger.debug("Phone Changed");
|
|
581
|
-
this.type = 'email';
|
|
582
|
-
}
|
|
583
|
-
this.isOtpSent = true;
|
|
584
|
-
this.initilizeForm();
|
|
585
|
-
this.ss.sendOtpWithoutCaptcha(this.type).subscribe(res => {
|
|
586
|
-
this.successDtls = "Access code sent successfully.";
|
|
587
|
-
}, err => {
|
|
588
|
-
this.isOtpSent = false;
|
|
589
|
-
this.successDtls = null;
|
|
590
|
-
this.errorDtls = err.msg;
|
|
591
|
-
});
|
|
272
|
+
this.util.showLoader();
|
|
273
|
+
this.saveQuestionnaire();
|
|
592
274
|
}
|
|
275
|
+
// Comment to enable Lexis Nexis
|
|
276
|
+
// this.onCancel.emit();
|
|
277
|
+
// this.triggerUdol();
|
|
593
278
|
}
|
|
594
|
-
else
|
|
595
|
-
this.
|
|
279
|
+
else {
|
|
280
|
+
this.util.showLoader();
|
|
281
|
+
this.saveQuestionnaire();
|
|
596
282
|
}
|
|
283
|
+
this.util.hideLoader();
|
|
597
284
|
}
|
|
598
|
-
else if (this.
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
this.
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
this.successDtls = null;
|
|
612
|
-
this.errorDtls = err.message;
|
|
613
|
-
}
|
|
614
|
-
});
|
|
615
|
-
this.initializeSecurityQuestionForm();
|
|
616
|
-
this.displaySecurityQuestion = true;
|
|
285
|
+
else if (this.selected === 'contact-details') {
|
|
286
|
+
const contactdetailsControls = ['phone'];
|
|
287
|
+
// dirtyItems.forEach((item) => {
|
|
288
|
+
if (dirtyItems.some(item => contactdetailsControls.includes(item))) {
|
|
289
|
+
// if (item === 'phone') {
|
|
290
|
+
this.customerEventType = 'phone';
|
|
291
|
+
this.util.hideLoader();
|
|
292
|
+
if (this.isLexisNexisProofedWithinTwentyFourHours) {
|
|
293
|
+
this.getAllSecurityQuestions();
|
|
294
|
+
}
|
|
295
|
+
else {
|
|
296
|
+
this.saveQuestionnaire();
|
|
297
|
+
}
|
|
617
298
|
}
|
|
618
299
|
else {
|
|
619
|
-
this.
|
|
300
|
+
this.saveQuestionnaire();
|
|
620
301
|
}
|
|
302
|
+
// });
|
|
621
303
|
}
|
|
622
|
-
else {
|
|
623
|
-
this.
|
|
304
|
+
else if (this.selected === 'payment-details') {
|
|
305
|
+
this.saveQuestionnaire();
|
|
306
|
+
// this.isPaymentOptionQuestionsEnabled=false;
|
|
307
|
+
this.isSecurityQuestionEnabled = false;
|
|
308
|
+
this.isLexisNexisPopupEnabled = false;
|
|
309
|
+
this.isButtonDisabled = false;
|
|
310
|
+
// this.isPaymentOptionDivEnabled=true;
|
|
624
311
|
}
|
|
625
312
|
}
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
return;
|
|
631
|
-
const modal = await this.modalCtrl.create({
|
|
632
|
-
component: AddressPopupComponent,
|
|
633
|
-
componentProps: { original: req, choices: suggestions },
|
|
634
|
-
backdropDismiss: false,
|
|
635
|
-
animated: true,
|
|
636
|
-
showBackdrop: true
|
|
637
|
-
});
|
|
638
|
-
document.body.appendChild(modal);
|
|
639
|
-
await modal.present();
|
|
640
|
-
const { data, role } = await modal.onWillDismiss();
|
|
641
|
-
if (role !== 'confirm' || !data?.selected)
|
|
642
|
-
return;
|
|
643
|
-
this.patchFormWithSelectedAddress(data.selected, v.diffmailaddress === 'Y');
|
|
644
|
-
}
|
|
645
|
-
/** Patch Form With Selected Address */
|
|
646
|
-
patchFormWithSelectedAddress(sel, isMail) {
|
|
647
|
-
const patchObj = isMail
|
|
648
|
-
? { mailAddress: this.mapAddress(sel) }
|
|
649
|
-
: { resAdress: this.mapAddress(sel),
|
|
650
|
-
mailAddress: this.mapAddress(sel)
|
|
651
|
-
};
|
|
652
|
-
this.lastValidatedAddress = this.mapAddress(sel);
|
|
653
|
-
this.fb.questionnaire.questionnaire.questionnaireForm.form.patchValue(patchObj);
|
|
654
|
-
}
|
|
655
|
-
mapAddress(sel) {
|
|
656
|
-
if (sel.isOriginal) {
|
|
657
|
-
// Original Address
|
|
658
|
-
return {
|
|
659
|
-
streetAddress: sel.line1,
|
|
660
|
-
optionalAddress: sel.line2,
|
|
661
|
-
city: sel.city,
|
|
662
|
-
state: { label: sel.state, value: sel.state },
|
|
663
|
-
zip: sel.zipCode,
|
|
664
|
-
country: { label: sel.country, value: sel.country }
|
|
665
|
-
};
|
|
313
|
+
onSecurityQuestionSuccess() {
|
|
314
|
+
if (this.selected != 'payment-details') {
|
|
315
|
+
this.util.showLoader();
|
|
316
|
+
this.saveQuestionnaire();
|
|
666
317
|
}
|
|
667
318
|
else {
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
streetAddress: sel.deliveryLine1,
|
|
671
|
-
optionalAddress: sel.deliveryLine2,
|
|
672
|
-
city: sel.cityName,
|
|
673
|
-
state: { label: sel.stateAbbrevation, value: sel.stateAbbrevation },
|
|
674
|
-
zip: sel.zipCode,
|
|
675
|
-
country: { label: sel.country, value: sel.country }
|
|
676
|
-
};
|
|
319
|
+
this.isPaymentOptionQuestionsEnabled = true;
|
|
320
|
+
// this.isPaymentOptionDivEnabled=true;
|
|
677
321
|
}
|
|
322
|
+
this.isSecurityQuestionEnabled = false;
|
|
323
|
+
this.isLexisNexisPopupEnabled = false;
|
|
324
|
+
this.isButtonDisabled = false;
|
|
678
325
|
}
|
|
679
|
-
|
|
680
|
-
this.
|
|
681
|
-
this.ss.validateOtpForClaimant(this.otpCode).subscribe(res => {
|
|
682
|
-
this.otpVerified = true;
|
|
683
|
-
this.isOtpSent = false;
|
|
684
|
-
this.successDtls = null;
|
|
685
|
-
this.accepted.emit(true);
|
|
686
|
-
}, err => {
|
|
687
|
-
this.logger.debug('Verify status error ', err);
|
|
688
|
-
this.otpVerified = false;
|
|
689
|
-
this.successDtls = null;
|
|
690
|
-
this.accepted.emit(false);
|
|
691
|
-
this.errorDtls = err.msg;
|
|
692
|
-
});
|
|
326
|
+
saveQuestionnaire() {
|
|
327
|
+
this.fb.submitQuestionnaire();
|
|
693
328
|
}
|
|
694
|
-
|
|
695
|
-
this.
|
|
696
|
-
|
|
697
|
-
this.
|
|
698
|
-
this.
|
|
699
|
-
|
|
700
|
-
this.displaySecurityQuestion = false;
|
|
701
|
-
this.successDtls = null;
|
|
702
|
-
this.errorDtls = null;
|
|
703
|
-
this.accepted.emit(true);
|
|
704
|
-
}, err => {
|
|
705
|
-
this.logger.debug('Verify status error ', err);
|
|
706
|
-
this.securityQuestionVerified = false;
|
|
707
|
-
this.successDtls = null;
|
|
708
|
-
this.errorDtls = err.msg;
|
|
709
|
-
this.accepted.emit(false);
|
|
710
|
-
});
|
|
711
|
-
}
|
|
329
|
+
getAllSecurityQuestions() {
|
|
330
|
+
this.cs.getAllSecurityQuestion().subscribe((res) => {
|
|
331
|
+
this.allSecurityQuestions = res;
|
|
332
|
+
this.loadSecurityQuestionsOfClaimant(res);
|
|
333
|
+
// this.saveQuestionnaire();
|
|
334
|
+
}, (err) => { });
|
|
712
335
|
}
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
this.util.
|
|
716
|
-
|
|
336
|
+
loadSecurityQuestionsOfClaimant(allQuestionWithKeys) {
|
|
337
|
+
var userName = this.userName;
|
|
338
|
+
this.util.get(`user/security/${userName}`).subscribe((res) => {
|
|
339
|
+
this.usersQuesAndAns = res;
|
|
340
|
+
// Initialize mappedKeysQuestionsForUser
|
|
341
|
+
this.mappedKeysQuestionsForUser = [];
|
|
342
|
+
// List of possible security question fields
|
|
343
|
+
const securityQuestionFields = [
|
|
344
|
+
'securityQuestion',
|
|
345
|
+
'securityQuestion2',
|
|
346
|
+
'securityQuestion3',
|
|
347
|
+
];
|
|
348
|
+
// Create a map for quick lookup of question descriptions
|
|
349
|
+
const questionMap = new Map();
|
|
350
|
+
for (const item of allQuestionWithKeys) {
|
|
351
|
+
questionMap.set(item.key, item.description || '');
|
|
352
|
+
}
|
|
353
|
+
// Iterate through each security question field
|
|
354
|
+
for (const field of securityQuestionFields) {
|
|
355
|
+
const fieldValue = this.usersQuesAndAns[field];
|
|
356
|
+
if (fieldValue && questionMap.has(fieldValue)) {
|
|
357
|
+
this.mappedKeysQuestionsForUser.push({
|
|
358
|
+
question: questionMap.get(fieldValue),
|
|
359
|
+
questionKey: fieldValue,
|
|
360
|
+
});
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
this.isSecurityQuestionEnabled = true;
|
|
364
|
+
}, (err) => {
|
|
365
|
+
console.error('Error loading security questions:', err);
|
|
717
366
|
});
|
|
718
367
|
}
|
|
719
|
-
|
|
720
|
-
this.
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
368
|
+
enableLexisNexis() {
|
|
369
|
+
this.util.showLoader();
|
|
370
|
+
this.isButtonDisabled = true;
|
|
371
|
+
this.isSecurityQuestionEnabled = false;
|
|
372
|
+
this.ln.isLexisNexisIdProofingEnabledWithUserId(this.userName).subscribe((res) => {
|
|
373
|
+
// If lexis-nexis id proofing is enabled
|
|
374
|
+
if (res) {
|
|
375
|
+
this.isLexisNexisPopupEnabled = true;
|
|
376
|
+
}
|
|
377
|
+
else {
|
|
378
|
+
this.util.showError("The claimant account with user name" + this.userName + " has been blocked. Please contact KDOL.");
|
|
379
|
+
}
|
|
726
380
|
});
|
|
381
|
+
//this.onCancel.emit();
|
|
382
|
+
// usps redirect call
|
|
383
|
+
//this.triggerUdol();
|
|
727
384
|
}
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
a.click();
|
|
736
|
-
URL.revokeObjectURL(url);
|
|
385
|
+
triggerUdol() {
|
|
386
|
+
this.onCancel.emit();
|
|
387
|
+
this.util.hideLoader();
|
|
388
|
+
console.log("usps is triggered");
|
|
389
|
+
localStorage.setItem('userId', this.userName);
|
|
390
|
+
this.ls.logout();
|
|
391
|
+
setTimeout(() => this.router.navigate(['/usps-redirect', ""]), 1000);
|
|
737
392
|
}
|
|
738
393
|
handleError(error) {
|
|
739
394
|
if (error?.errorCode == '422') {
|
|
@@ -748,122 +403,103 @@ export class ProfileComponent extends BasePage {
|
|
|
748
403
|
this.nav.navigateRoot('/landing');
|
|
749
404
|
this.ls.logout();
|
|
750
405
|
}
|
|
751
|
-
|
|
752
|
-
this.
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
406
|
+
getPersonalDetails() {
|
|
407
|
+
this.cs.getUserPersonalDetails().subscribe({
|
|
408
|
+
next: (res) => {
|
|
409
|
+
if (res) {
|
|
410
|
+
this.userPersonalDetail = res;
|
|
411
|
+
}
|
|
412
|
+
else {
|
|
413
|
+
this.util.showError("Failed to get the user info.");
|
|
414
|
+
}
|
|
415
|
+
},
|
|
416
|
+
error: (err) => {
|
|
417
|
+
// Log the error for debugging purposes
|
|
418
|
+
console.error('Error fetching user details:', err);
|
|
419
|
+
this.util.showError("An error occurred while fetching user information.");
|
|
420
|
+
}
|
|
763
421
|
});
|
|
764
422
|
}
|
|
765
|
-
|
|
766
|
-
this.
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
this.
|
|
770
|
-
this.
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
}
|
|
779
|
-
else if (formData["hidOriginalPhone"] === "null" && formData["hidIsEmailChanged"] === "Y") {
|
|
780
|
-
this.logger.debug("Trying to change email but phone number is not present");
|
|
781
|
-
this.errorText = "Please contact MDES support for assistance updating Email Address and Cell Phone Number.";
|
|
782
|
-
this.showError = true;
|
|
783
|
-
}
|
|
784
|
-
else {
|
|
785
|
-
if (formData["hidIsEmailChanged"] === "Y") {
|
|
786
|
-
this.logger.debug("Email Changed");
|
|
787
|
-
this.type = 'text';
|
|
423
|
+
getSecQuestionsPaymentOptions() {
|
|
424
|
+
if (this.selected === 'payment-details') {
|
|
425
|
+
this.isPaymentOptionDivEnabled = false;
|
|
426
|
+
this.customerEventType = 'account';
|
|
427
|
+
this.util.hideLoader();
|
|
428
|
+
// this.isLexisNexisProofedWithinTwentyFourHours=true;
|
|
429
|
+
if (this.isLexisNexisProofedWithinTwentyFourHours) {
|
|
430
|
+
this.getAllSecurityQuestions();
|
|
431
|
+
}
|
|
432
|
+
else {
|
|
433
|
+
//this.saveQuestionnaire();
|
|
434
|
+
this.isPaymentOptionDivEnabled = false;
|
|
435
|
+
this.isPaymentOptionQuestionsEnabled = true;
|
|
788
436
|
}
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
validateNameChange(formData) {
|
|
440
|
+
const keysToCheck = ['fstname', 'middlename', 'lstname'];
|
|
441
|
+
// Iterate through the form data and check if the control has changed
|
|
442
|
+
for (let item of formData) {
|
|
443
|
+
const controlName = item.controlName.toLowerCase();
|
|
444
|
+
// Find the matching key in the response data
|
|
445
|
+
const matchedKey = keysToCheck.find(key => key.toLowerCase() === controlName);
|
|
446
|
+
if (matchedKey) {
|
|
447
|
+
// Retrieve the current value from the user data and the form value
|
|
448
|
+
const userPersonValue = this.userPersonalDetail.data[matchedKey];
|
|
449
|
+
const formControlValue = item.controlValue;
|
|
450
|
+
// Check if values are null, undefined, or empty, or if they differ (ignoring case)
|
|
451
|
+
const userIsEmpty = this.isNullOrEmpty(userPersonValue);
|
|
452
|
+
const formIsEmpty = this.isNullOrEmpty(formControlValue);
|
|
453
|
+
// Case-insensitive comparison of the values
|
|
454
|
+
if ((userIsEmpty && !formIsEmpty) || (!userIsEmpty && formIsEmpty) ||
|
|
455
|
+
(userPersonValue && formControlValue && userPersonValue.toLowerCase() !== formControlValue.toLowerCase())) {
|
|
456
|
+
// If values differ (ignoring case), return true (change detected)
|
|
457
|
+
return true;
|
|
458
|
+
}
|
|
792
459
|
}
|
|
793
|
-
this.isOtpSent = true;
|
|
794
|
-
this.initilizeForm();
|
|
795
|
-
this.ss.sendOtpWithoutCaptcha(this.type).subscribe(res => {
|
|
796
|
-
this.successDtls = "Access code sent successfully.";
|
|
797
|
-
}, err => {
|
|
798
|
-
this.isOtpSent = false;
|
|
799
|
-
this.successDtls = null;
|
|
800
|
-
this.errorDtls = err.msg;
|
|
801
|
-
});
|
|
802
460
|
}
|
|
461
|
+
// If no differences were found, return false (no changes)
|
|
462
|
+
return false;
|
|
803
463
|
}
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
current.city !== last.city ||
|
|
808
|
-
current.state?.value !== last.state?.value ||
|
|
809
|
-
current.zip !== last.zip ||
|
|
810
|
-
current.country?.value !== last.country?.value;
|
|
464
|
+
// Utility method to check for null,undefined or empty string
|
|
465
|
+
isNullOrEmpty(value) {
|
|
466
|
+
return value === null || value === "" || value === undefined;
|
|
811
467
|
}
|
|
812
|
-
static { this.ɵfac = function ProfileComponent_Factory(t) { return new (t || ProfileComponent)(i0.ɵɵdirectiveInject(i1.
|
|
468
|
+
static { this.ɵfac = function ProfileComponent_Factory(t) { return new (t || ProfileComponent)(i0.ɵɵdirectiveInject(i1.UtilService), i0.ɵɵdirectiveInject(i2.LoginService), i0.ɵɵdirectiveInject(i3.NavController), i0.ɵɵdirectiveInject(i4.ClaimantService), i0.ɵɵdirectiveInject(i5.Router), i0.ɵɵdirectiveInject(i6.ClaimantUspsRedirectService), i0.ɵɵdirectiveInject(i7.LexisNexisService)); }; }
|
|
813
469
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ProfileComponent, selectors: [["app-profile"]], viewQuery: function ProfileComponent_Query(rf, ctx) { if (rf & 1) {
|
|
814
470
|
i0.ɵɵviewQuery(_c0, 5);
|
|
815
|
-
i0.ɵɵviewQuery(_c1, 5);
|
|
816
|
-
i0.ɵɵviewQuery(_c2, 5);
|
|
817
471
|
} if (rf & 2) {
|
|
818
472
|
let _t;
|
|
819
473
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.fb = _t.first);
|
|
820
|
-
|
|
821
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.securityQuestionFormDirective = _t.first);
|
|
822
|
-
} }, inputs: { form: "form", question: "question" }, outputs: { onCancel: "onCancel", accepted: "accepted" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 11, vars: 13, consts: [["visible", "true", "modal", "true", "appendTo", "body", "position", "top", 3, "breakpoints"], ["pTemplate", "header"], ["style", "margin-left: -8px;", 4, "ngIf"], ["class", "proof-of-unemployment", 4, "ngIf"], ["style", "margin-top: -90px;", 4, "ngIf"], [4, "ngIf"], ["style", "color: var(--ion-color-green)", 4, "ngIf"], ["pTemplate", "footer"], [1, "ion-text-left", "heading", 2, "padding-left", "24px"], [2, "font-size", "16px"], ["styleClass", "ion-padding-start", "optionLabel", "text", "optionValue", "value", 3, "options", "ngModel", "ngModelChange", "onOptionClick", 4, "ngIf"], ["styleClass", "ion-padding-start", "optionLabel", "text", "optionValue", "value", 3, "options", "ngModel", "ngModelChange", "onOptionClick"], [2, "margin-left", "-8px"], [3, "flowKey", "showOnlyQuestion", "hideHeader", "hideFooter", "sizeXs", "sizeSm", "sizeMd", "sizeLg", "sizeXl", "offsetXl", "offsetLg", "onError", "onComplete", 4, "ngIf"], [3, "flowKey", "showOnlyQuestion", "hideHeader", "hideFooter", "sizeXs", "sizeSm", "sizeMd", "sizeLg", "sizeXl", "offsetXl", "offsetLg", "onError", "onComplete"], ["fb", ""], ["class", "error-banner", 4, "ngIf"], [1, "error-banner"], ["name", "alert-circle-outline", 2, "color", "var(--ion-color-danger)", "font-size", "18px", "margin-right", "8px"], [1, "proof-of-unemployment"], ["style", "padding: 0px 1rem", 4, "ngIf", "ngIfElse"], ["nonPhraseTwoView", ""], [2, "padding", "0px 1rem"], [2, "margin-top", "15px"], ["class", "flex align-items-center flex-column", "layout", "row", "style", "margin:3px;", 4, "ngIf"], ["layout", "row", 1, "flex", "align-items-center", "flex-column", 2, "margin", "3px"], [1, "p-4", 2, "height", "100%"], [2, "box-shadow", "0 0 0 0"], [1, "pi", "pi-check-circle", 2, "color", "var(--ion-color-primary)", "font-size", "30px"], [1, "pl-0", "pr-0", "flex", "align-items-center", "flex-column", 2, "height", "100%", "justify-content", "space-between"], ["shape", "round", 1, "Claimant-summary-ver-btn", 2, "padding-bottom", "30px", 3, "click"], ["name", "download-outline", 1, "pr-1", "pb-1"], [1, "pi", "pi-file", 2, "color", "var(--ion-color-primary)", "font-size", "30px"], ["shape", "round", 1, "Claimant-report-btn", 2, "padding-bottom", "30px", 3, "click"], ["layout", "row", "style", "margin:3px;", 4, "ngIf"], ["layout", "row", 2, "margin", "3px"], ["shape", "round", "fill", "outline", 1, "Claimant-summary-ver-btn", 3, "click"], ["shape", "round", "fill", "outline", 1, "Claimant-report-btn", 3, "click"], ["name", "download-outline"], [2, "margin-top", "-90px"], [3, "formGroup"], ["otpFormDirective", "ngForm"], [1, "p-fluid", "p-formgrid"], ["for", "otp", 3, "innerHTML"], ["formControlName", "otp", "mask", "999999", "size", "6", "maxlength", "6", "minlength", "6", "title", "Enter Authcode", 3, "autoFocus"], [3, "field", "form", "errDef"], ["shape", "round", "type", "submit", 3, "click"], ["securityQuestionFormDirective", "ngForm"], ["for", "securityQuestionAnswer", 3, "innerHTML"], ["pInputText", "", "formControlName", "securityQuestionAnswer", "size", "30", "maxlength", "30", "title", "Security Answer"], [2, "color", "var(--ion-color-green)"], [1, "ion-text-center", "ion-padding-top"], ["name", "checkmark-circle", 2, "font-size", "80px", "color", "var(--ion-color-green)"], ["name", "close-circle-outline", 2, "font-size", "80px", "color", "var(--ion-color-danger)"], ["size", "12", "sizeXl", "4", "sizeLg", "4", "sizeMd", "5", 1, "ion-text-left"], ["shape", "round", "fill", "outline", "type", "button", 3, "click"], ["size", "12", "sizeXl", "8", "sizeLg", "8", "sizeMd", "7", 1, "ion-text-right"], ["shape", "round", "fill", "outline", "type", "reset", 3, "click"], ["shape", "round", "type", "submit", 3, "disabled", "click", 4, "ngIf"], ["shape", "round", "type", "submit", 3, "disabled", "click"]], template: function ProfileComponent_Template(rf, ctx) { if (rf & 1) {
|
|
474
|
+
} }, outputs: { onCancel: "onCancel", error: "error" }, decls: 8, vars: 10, consts: [["visible", "true", "modal", "true", "appendTo", "body", "position", "top", 3, "breakpoints"], ["pTemplate", "header"], ["style", "margin-left: -8px;", 4, "ngIf"], [4, "ngIf"], ["pTemplate", "footer"], [3, "display", "userName", "customerEventType", "success", "error", "usps", 4, "ngIf"], [3, "display", "questionsAndAnswers", "questionsAndKeysOfUser", "success", "clear", 4, "ngIf"], ["id", "pdialog-title", 1, "ion-text-left", "heading", 2, "padding-left", "24px"], [2, "font-size", "16px"], ["styleClass", "ion-padding-start", "optionLabel", "text", "optionValue", "value", 3, "options", "ngModel", "ngModelChange", "onOptionClick"], [2, "margin-left", "-8px"], [3, "flowKey", "showOnlyQuestion", "hideHeader", "hideFooter", "sizeXs", "sizeSm", "sizeMd", "sizeLg", "sizeXl", "offsetXl", "offsetLg", "onError", "onComplete", 4, "ngIf"], [3, "flowKey", "showOnlyQuestion", "hideHeader", "hideFooter", "sizeXs", "sizeSm", "sizeMd", "sizeLg", "sizeXl", "offsetXl", "offsetLg", "onError", "onComplete"], ["fb", ""], [1, "ion-text-center", "ion-padding-top"], ["name", "checkmark-circle", 2, "font-size", "80px", "color", "var(--ion-color-green)"], ["name", "close-circle-outline", 2, "font-size", "80px", "color", "var(--ion-color-danger)"], ["size", "12", "sizeXl", "4", "sizeLg", "4", "sizeMd", "5", 1, "ion-text-left"], ["tabindex", "0", "shape", "round", "fill", "outline", "type", "button", 1, "ionButton", 3, "disabled", "click", "keydown.enter"], ["size", "12", "sizeXl", "8", "sizeLg", "8", "sizeMd", "7", 1, "ion-text-right"], ["tabindex", "0", "shape", "round", "fill", "outline", "type", "reset", 1, "ionButton", 3, "disabled", "click", "keydown.enter"], ["tabindex", "0", "shape", "round", "type", "submit", "class", "ionButton", 3, "disabled", "click", "keydown.enter", 4, "ngIf"], ["tabindex", "0", "shape", "round", "type", "submit", 1, "ionButton", 3, "disabled", "click", "keydown.enter"], [3, "display", "userName", "customerEventType", "success", "error", "usps"], [3, "display", "questionsAndAnswers", "questionsAndKeysOfUser", "success", "clear"]], template: function ProfileComponent_Template(rf, ctx) { if (rf & 1) {
|
|
823
475
|
i0.ɵɵelementStart(0, "p-dialog", 0);
|
|
824
|
-
i0.ɵɵtemplate(1, ProfileComponent_ng_template_1_Template,
|
|
476
|
+
i0.ɵɵtemplate(1, ProfileComponent_ng_template_1_Template, 10, 6, "ng-template", 1)(2, ProfileComponent_div_2_Template, 5, 4, "div", 2)(3, ProfileComponent_div_3_Template, 6, 3, "div", 3)(4, ProfileComponent_div_4_Template, 6, 3, "div", 3)(5, ProfileComponent_ng_template_5_Template, 11, 9, "ng-template", 4)(6, ProfileComponent_app_lexis_nexis_6_Template, 1, 3, "app-lexis-nexis", 5)(7, ProfileComponent_app_security_question_7_Template, 1, 3, "app-security-question", 6);
|
|
825
477
|
i0.ɵɵelementEnd();
|
|
826
478
|
} if (rf & 2) {
|
|
827
|
-
i0.ɵɵstyleMap(i0.ɵɵpureFunction0(
|
|
828
|
-
i0.ɵɵproperty("breakpoints", i0.ɵɵpureFunction0(
|
|
479
|
+
i0.ɵɵstyleMap(i0.ɵɵpureFunction0(8, _c1));
|
|
480
|
+
i0.ɵɵproperty("breakpoints", i0.ɵɵpureFunction0(9, _c2));
|
|
829
481
|
i0.ɵɵadvance(2);
|
|
830
482
|
i0.ɵɵproperty("ngIf", !(ctx.showSuccess || ctx.showError));
|
|
831
483
|
i0.ɵɵadvance(1);
|
|
832
|
-
i0.ɵɵproperty("ngIf", ctx.selected == "proof-of-unemployment");
|
|
833
|
-
i0.ɵɵadvance(1);
|
|
834
|
-
i0.ɵɵproperty("ngIf", ctx.isMS() && ctx.selected == "contact-details" && ctx.isOtpSent == true);
|
|
835
|
-
i0.ɵɵadvance(1);
|
|
836
|
-
i0.ɵɵproperty("ngIf", ctx.isME() && ctx.selected == "contact-details" && ctx.displaySecurityQuestion == true);
|
|
837
|
-
i0.ɵɵadvance(1);
|
|
838
|
-
i0.ɵɵproperty("ngIf", ctx.errorDtls);
|
|
839
|
-
i0.ɵɵadvance(1);
|
|
840
|
-
i0.ɵɵproperty("ngIf", ctx.successDtls);
|
|
841
|
-
i0.ɵɵadvance(1);
|
|
842
484
|
i0.ɵɵproperty("ngIf", ctx.showSuccess);
|
|
843
485
|
i0.ɵɵadvance(1);
|
|
844
486
|
i0.ɵɵproperty("ngIf", ctx.showError);
|
|
845
|
-
|
|
487
|
+
i0.ɵɵadvance(2);
|
|
488
|
+
i0.ɵɵproperty("ngIf", ctx.isLexisNexisPopupEnabled);
|
|
489
|
+
i0.ɵɵadvance(1);
|
|
490
|
+
i0.ɵɵproperty("ngIf", ctx.isSecurityQuestionEnabled);
|
|
491
|
+
} }, dependencies: [i3.IonButton, i3.IonCol, i3.IonGrid, i3.IonIcon, i3.IonRow, i8.NgIf, i9.PrimeTemplate, i10.NgControlStatus, i10.NgModel, i11.Dialog, i12.SelectButton, i13.FormBuilderPage, i14.SecurityQuestionComponent, i15.LexisNexisComponent, i16.TranslatePipe], styles: ["ion-col[_ngcontent-%COMP%]{margin-left:0!important}ion-button[_ngcontent-%COMP%]:focus{outline:none}"] }); }
|
|
846
492
|
}
|
|
847
493
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ProfileComponent, [{
|
|
848
494
|
type: Component,
|
|
849
|
-
args: [{ selector: 'app-profile', template: "<p-dialog visible=\"true\" modal=\"true\" appendTo=\"body\"\r\n [breakpoints]=\"{'1024px': '75vw', '768px': '85vw', '640px': '100vw'}\" [style]=\"{width: '60vw'}\" position=\"top\">\r\n <ng-template pTemplate=\"header\">\r\n <ion-grid>\r\n <ion-row>\r\n <ion-col class=\"ion-text-left heading\" style=\"padding-left: 24px;\">\r\n {{\"Your Account\" | translate}} <span style=\"font-size: 16px;\">(CLAIMANT ID\r\n {{ls.getUser().claimantId}})</span>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row>\r\n <ion-col>\r\n <p-selectButton *ngIf=\"!isME()\" styleClass=\"ion-padding-start\" [options]=\"profileOpts\" optionLabel=\"text\"\r\n optionValue=\"value\" [(ngModel)]=\"selected\" (onOptionClick)=\"onValueChange($event)\">\r\n </p-selectButton>\r\n <p-selectButton *ngIf=\"isME()\" styleClass=\"ion-padding-start\" [options]=\"profileOptsIVR\" optionLabel=\"text\"\r\n optionValue=\"value\" [(ngModel)]=\"selected\" (onOptionClick)=\"onValueChange($event)\">\r\n </p-selectButton>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </ng-template>\r\n <div *ngIf=\"!(showSuccess || showError)\" style=\"margin-left: -8px;\">\r\n <app-form-builder #fb *ngIf=\"selected == 'personal-details'\" [flowKey]=\"selected\" [showOnlyQuestion]=\"true\"\r\n [hideHeader]=\"true\" [hideFooter]=\"true\" [sizeXs]=\"12\" [sizeSm]=\"12\" [sizeMd]=\"12\" [sizeLg]=\"12\"\r\n [sizeXl]=\"12\" [offsetXl]=\"0\" [offsetLg]=\"0\" (onError)=\"handleError($event)\" (onComplete)=\"success($event)\">\r\n </app-form-builder>\r\n <div *ngIf=\"selected == 'contact-details'\">\r\n <div *ngIf=\"showInlineError && selected === 'contact-details'\" class=\"error-banner\">\r\n <ion-icon name=\"alert-circle-outline\" style=\"color: var(--ion-color-danger); font-size: 18px; margin-right: 8px;\"></ion-icon>\r\n <span>{{ errorText }}</span>\r\n </div>\r\n <app-form-builder #fb *ngIf=\"selected == 'contact-details'\" [flowKey]=\"selected\" [showOnlyQuestion]=\"true\"\r\n [hideHeader]=\"true\" [hideFooter]=\"true\" [sizeXs]=\"12\" [sizeSm]=\"12\" [sizeMd]=\"12\" [sizeLg]=\"12\"\r\n [sizeXl]=\"12\" [offsetXl]=\"0\" [offsetLg]=\"0\" (onError)=\"handleError($event)\" (onComplete)=\"success($event)\">\r\n </app-form-builder>\r\n </div>\r\n <app-form-builder #fb *ngIf=\"selected == 'payment-details'\" [flowKey]=\"selected\" [showOnlyQuestion]=\"true\"\r\n [hideHeader]=\"true\" [hideFooter]=\"true\" [sizeXs]=\"12\" [sizeSm]=\"12\" [sizeMd]=\"12\" [sizeLg]=\"12\"\r\n [sizeXl]=\"12\" [offsetXl]=\"0\" [offsetLg]=\"0\" (onError)=\"handleError($event)\" (onComplete)=\"success($event)\">\r\n </app-form-builder>\r\n <app-form-builder #fb *ngIf=\"selected == 'update-ivr'\" [flowKey]=\"selected\" [showOnlyQuestion]=\"true\"\r\n [hideHeader]=\"true\" [hideFooter]=\"true\" [sizeXs]=\"12\" [sizeSm]=\"12\" [sizeMd]=\"12\" [sizeLg]=\"12\"\r\n [sizeXl]=\"12\" [offsetXl]=\"0\" [offsetLg]=\"0\" (onError)=\"handleError($event)\" (onComplete)=\"success($event)\">\r\n </app-form-builder>\r\n </div>\r\n <div class=\"proof-of-unemployment\" *ngIf=\"selected == 'proof-of-unemployment'\">\r\n <div *ngIf=\"phaseTwoProofOfUIView==='true';else nonPhraseTwoView\" style=\"padding: 0px 1rem\">\r\n <!-- <h2 style=\"font-family: 'Open Sans, Light';\">\r\n {{ \"profile.proof.of.unemployment.label.proof.of.unemployment.pay\"| translate}}\r\n </h2>\r\n <div *ngIf=\"!listOfActiveClaim || listOfActiveClaim.length === 0; else activeClaimTable\">\r\n <h3 style=\"font-family: 'Open Sans, Light';\">\r\n {{\"profile.proof.of.unemployment.label.no.active.claim\"| translate}}\r\n </h3>\r\n </div>\r\n <ng-template #activeClaimTable>\r\n <p-table [value]=\"listOfActiveClaim\" dataKey=\"claimId\" [rowExpandMode]=\"'single'\" styleClass=\"seperate-row\" class=\"seperate-row\"\r\n [tableStyle]=\"{'border-collapse': 'separate','border-spacing': '0 8px'}\"\r\n >\r\n <ng-template pTemplate=\"body\" let-data let-expanded=\"expanded\">\r\n <tr>\r\n <td>\r\n <a href=\"#\" [pRowToggler]=\"data\">\r\n <i [ngClass]=\"expanded ? 'pi pi-chevron-down' : 'pi pi-chevron-right'\" style=\"font-size: 1.5rem;\"></i>\r\n </a> \r\n <td >\r\n {{data.effectiveDate}} - {{data.byeDate}}\r\n </td>\r\n <td>\r\n {{data.entitlementType}}\r\n </td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"rowexpansion\" let-data>\r\n <tr>\r\n <td colspan=\"7\" style=\" border-left: 1px solid #e4e4e4;border-right: 1px solid #e4e4e4;\">\r\n <ion-grid>\r\n <ion-row>\r\n <ion-col style=\"display: flex;justify-content: center;\">\r\n <img [src]=\"docFileLink\" height='500px' width='420px'/>\r\n </ion-col>\r\n <ion-col style=\"display: flex;flex-direction: column;justify-content: space-between;\">\r\n <ion-row >\r\n <span [innerHTML]=\"data.description\" style=\"font-size: 19px;\"></span>\r\n </ion-row>\r\n <ion-row>\r\n \r\n <ion-button fill=\"outline\" shape=\"round\" style=\"padding-inline-end: 2rem;\" (click)=\"getVerificationReport()\">\r\n {{ \"profile.proof.of.unemployment.button.download.report\"| translate}}\r\n </ion-button>\r\n </ion-row>\r\n </ion-col>\r\n </ion-row>\r\n \r\n </ion-grid>\r\n \r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </ng-template> -->\r\n <ion-grid style=\"margin-top: 15px;\">\r\n <ion-row>\r\n <ion-col *ngIf=\"!isME()\" class=\"flex align-items-center flex-column\" layout=\"row\" style = \"margin:3px;\">\r\n <ion-card class=\"p-4\" style=\"height: 100%;\">\r\n <ion-header style=\"box-shadow: 0 0 0 0\">\r\n <ion-card-title><i class=\"pi pi-file\" style=\"color: var(--ion-color-primary);font-size: 30px;\"></i>{{ \"profile.proof.of.unemployment.phase.two.label.download.unemployment.claim.report\"| translate}}</ion-card-title>\r\n </ion-header>\r\n <ion-card-content class=\"pl-0 pr-0 flex align-items-center flex-column\" style=\"height: 100%; justify-content: space-between;\">\r\n <label>\r\n {{'profile.proof.of.unemployment.phase.two.overlay.unemployment.claim.report'| translate}}\r\n </label>\r\n <ion-button shape=\"round\" (click)=\"getExternalClaimantReport()\" style=\"padding-bottom:30px\"\r\n class=\"Claimant-report-btn\">\r\n <ion-icon name=\"download-outline\" class=\"pr-1 pb-1\"></ion-icon>{{ \"profile.proof.of.unemployment.phase.two.button.download.report\"| translate}}\r\n </ion-button>\r\n </ion-card-content>\r\n \r\n </ion-card>\r\n <div *ngIf=\"downloadStatus=='started'\">{{ \"profile.proof.of.unemployment.status.download.start\"| translate}}</div>\r\n <mat-error *ngIf=\"downloadStatus=='error'\">{{ \"profile.proof.of.unemployment.status.download.error\"| translate}}</mat-error>\r\n </ion-col>\r\n <ion-col layout=\"row\" class=\"flex align-items-center flex-column\" style = \"margin:3px;\">\r\n <ion-card class=\"p-4\" style=\"height: 100%;\">\r\n <ion-header style=\"box-shadow: 0 0 0 0\">\r\n <ion-card-title><i class=\"pi pi-check-circle\" style=\"color: var(--ion-color-primary);font-size: 30px;\"></i> {{ \"profile.proof.of.unemployment.phase.two.label.summary.unemployment.claim\"| translate}}</ion-card-title>\r\n </ion-header>\r\n <ion-card-content class=\"pl-0 pr-0 flex align-items-center flex-column\" style=\"height: 100%; justify-content: space-between;\">\r\n <label>\r\n {{'profile.proof.of.unemployment.phase.two.overlay.summary.unemployment.claim'| translate}}\r\n </label>\r\n <ion-button shape=\"round\" (click)=\"redirectLink('.claimantsummaryverification')\" style=\"padding-bottom:30px\"\r\n class=\"Claimant-summary-ver-btn\">\r\n <ion-icon name=\"download-outline\" class=\"pr-1 pb-1\"></ion-icon> {{ \"profile.proof.of.unemployment.phase.two.button.download.report\"| translate}}\r\n </ion-button>\r\n </ion-card-content>\r\n \r\n </ion-card>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n\r\n </div>\r\n <ng-template #nonPhraseTwoView>\r\n <ion-grid style=\"margin-top: 15px;\">\r\n <ion-row>\r\n <ion-col *ngIf=\"!isME()\" layout=\"row\" style = \"margin:3px;\">\r\n <label>\r\n {{ \"profile.proof.of.unemployment.label.download.unemployment.claim.report\"| translate}}\r\n </label>\r\n <br>\r\n <ion-button shape=\"round\" fill=\"outline\" (click)=\"getExternalClaimantReport()\"\r\n class=\"Claimant-report-btn\">\r\n <ion-icon name=\"download-outline\"></ion-icon>{{ \"profile.proof.of.unemployment.button.external.claimant.report\"| translate}}\r\n </ion-button>\r\n <br>\r\n <div *ngIf=\"downloadStatus=='started'\">{{ \"profile.proof.of.unemployment.status.download.start\"| translate}}</div>\r\n <mat-error *ngIf=\"downloadStatus=='error'\">{{ \"profile.proof.of.unemployment.status.download.error\"| translate}}</mat-error>\r\n </ion-col>\r\n <ion-col layout=\"row\" style = \"margin:3px;\">\r\n <label>\r\n {{ \"profile.proof.of.unemployment.label.summary.unemployment.claim\"| translate}}\r\n </label>\r\n <br>\r\n <ion-button shape=\"round\" fill=\"outline\" (click)=\"redirectLink('.claimantsummaryverification')\"\r\n class=\"Claimant-summary-ver-btn\">{{ \"profile.proof.of.unemployment.button.unemployment.verification\"| translate}}</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </ng-template>\r\n </div>\r\n <div *ngIf=\"isMS() && selected == 'contact-details' && isOtpSent == true\" style=\"margin-top: -90px;\">\r\n <form [formGroup]=\"otpForm\" #otpFormDirective=\"ngForm\">\r\n <ion-row>\r\n <div class=\"p-fluid p-formgrid\">\r\n <ion-row>\r\n <label for=\"otp\" [innerHTML]=\"'profile.contact.details.label.otp' | translate:{ type: type }\"></label>\r\n </ion-row>\r\n <ion-row>\r\n <ion-col>\r\n <p-inputMask formControlName=\"otp\" mask=\"999999\" size=\"6\" maxlength=\"6\" minlength=\"6\"\r\n [autoFocus]='true' title='Enter Authcode'></p-inputMask>\r\n <app-error [field]='otp' [form]=\"otpFormDirective\" [errDef]=\"{ \r\n required: 'Authcode is required.',\r\n minlength: 'Authcode should have 6 numbers.'\r\n }\"></app-error>\r\n </ion-col>\r\n <ion-col>\r\n <ion-button shape=\"round\" type=\"submit\" (click)=\"verify()\">{{ \"profile.contact.details.button.verify\"| translate}}</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n </ion-row>\r\n </form>\r\n </div>\r\n <div *ngIf=\"isME() && selected == 'contact-details' && displaySecurityQuestion == true\" style=\"margin-top: -90px;\">\r\n <form [formGroup]=\"securityQuestionForm\" #securityQuestionFormDirective=\"ngForm\">\r\n <ion-row>\r\n <div class=\"p-fluid p-formgrid\">\r\n <ion-row>\r\n <label for=\"securityQuestionAnswer\" [innerHTML]=\"'profile.contact.details.label.securityQuestion' | translate:{ securityQuestionToAsk: securityQuestionToAsk }\"></label>\r\n </ion-row>\r\n <ion-row>\r\n <ion-col>\r\n \t<input pInputText formControlName=\"securityQuestionAnswer\" size=\"30\" maxlength=\"30\" title=\"Security Answer\" />\r\n <app-error [field]='securityQuestionAnswer' [form]=\"securityQuestionFormDirective\" [errDef]=\"{ \r\n required: 'Security Answer is required.'\r\n }\"></app-error>\r\n </ion-col>\r\n <ion-col>\r\n <ion-button shape=\"round\" type=\"submit\" (click)=\"verifySecurityQuestion()\">{{ \"profile.contact.details.button.verify\"| translate}}</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n </ion-row>\r\n </form>\r\n </div>\r\n <mat-error *ngIf=\"errorDtls\">{{errorDtls}}</mat-error>\r\n <ion-label *ngIf=\"successDtls\" style=\"color: var(--ion-color-green)\">{{successDtls}}<br /></ion-label>\r\n\r\n <div *ngIf=\"showSuccess\">\r\n <div class=\"ion-text-center ion-padding-top\">\r\n <ion-icon name=\"checkmark-circle\" style=\"font-size: 80px; color: var(--ion-color-green);\"></ion-icon>\r\n <h1>{{ \"profile.banner.success\"| translate}}</h1>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"showError\">\r\n <div class=\"ion-text-center ion-padding-top\">\r\n <ion-icon name=\"close-circle-outline\" style=\"font-size: 80px; color: var(--ion-color-danger);\"></ion-icon>\r\n <section *ngIf=\"isMS()\">\r\n <h1>{{ errorText ? errorText : ('profile.banner.request.process.failure' | translate) }}</h1>\r\n </section>\r\n <section *ngIf=\"!isMS()\">\r\n <h1>{{errorText ? errorText : ('profile.banner.request.process.failure' | translate) }}</h1>\r\n </section>\r\n </div>\r\n </div>\r\n <ng-template pTemplate=\"footer\">\r\n <ion-grid>\r\n <ion-row>\r\n <ion-col class=\"ion-text-left\" size=\"12\" sizeXl=\"4\" sizeLg=\"4\" sizeMd=\"5\">\r\n <ion-button shape=\"round\" fill=\"outline\" type=\"button\" (click)=\"logout()\">{{ \"profile.button.logout\"| translate}}</ion-button>\r\n </ion-col>\r\n <ion-col class=\"ion-text-right\" size=\"12\" sizeXl=\"8\" sizeLg=\"8\" sizeMd=\"7\">\r\n <ion-button shape=\"round\" fill=\"outline\" type=\"reset\" (click)=\"cancel()\">{{ \"profile.button.close\"| translate}}</ion-button>\r\n <ion-button shape=\"round\" type=\"submit\" (click)=\"save()\" *ngIf=\"!(showSuccess || showError) && selected!='proof-of-unemployment'\"\r\n [disabled]=\"isOtpSent== true || displaySecurityQuestion== true\">{{ \"profile.button.save\"| translate}}</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </ng-template>\r\n</p-dialog>", styles: ["ion-col{margin-left:0!important}.Claimant-report-btn{margin-inline-end:3%}.proof-unemployment-btn-label{margin-bottom:3px}.error-banner{display:flex;align-items:center;background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:4px;padding:8px 12px;margin-bottom:10px;font-size:14px}.seperate-row td:not(:first-child):not(:last-child){border-left:none;border-right:none}.seperate-row td:first-child{border-right:none}.seperate-row td:last-child{border-left:none;padding:1rem .55rem;padding-right:20px}.seperate-row td{border:1px solid #e4e4e4;font-family:\"Open Sans, Light\";font-size:26px;padding:1rem .55rem}\n"] }]
|
|
850
|
-
}], () => [{ type: i1.
|
|
495
|
+
args: [{ selector: 'app-profile', template: "<p-dialog visible=\"true\" modal=\"true\" appendTo=\"body\" [breakpoints]=\"{'1024px': '75vw', '768px': '85vw', '640px': '100vw'}\"\r\n [style]=\"{width: '60vw'}\" position=\"top\">\r\n <ng-template pTemplate=\"header\">\r\n <ion-grid>\r\n <ion-row>\r\n <ion-col class=\"ion-text-left heading\" style=\"padding-left: 24px;\" id=\"pdialog-title\">\r\n {{'header.account.your.account' | translate}}<span style=\"font-size: 16px;\">(CID\r\n {{ls.getUser().claimantId}})</span>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row>\r\n <ion-col>\r\n <p-selectButton styleClass=\"ion-padding-start\" [options]=\"profileOpts\" optionLabel=\"text\"\r\n optionValue=\"value\" [(ngModel)]=\"selected\" (onOptionClick)=\"onValueChange($event)\">\r\n </p-selectButton>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </ng-template> \r\n \r\n <div *ngIf=\"!(showSuccess || showError)\" style=\"margin-left: -8px;\">\r\n <div *ngIf=\"selected == 'payment-details' && !isPaymentOptionQuestionsEnabled && isPaymentOptionDivEnabled\"> \r\n {{ getSecQuestionsPaymentOptions() }} \r\n </div>\r\n <app-form-builder #fb *ngIf=\"selected == 'personal-details'\" [flowKey]=\"selected\" [showOnlyQuestion]=\"true\" [hideHeader]=\"true\" [hideFooter]=\"true\"\r\n [sizeXs]=\"12\" [sizeSm]=\"12\" [sizeMd]=\"12\" [sizeLg]=\"12\" [sizeXl]=\"12\" [offsetXl]=\"0\" [offsetLg]=\"0\" (onError)=\"handleError($event)\" (onComplete)=\"success($event)\">\r\n </app-form-builder>\r\n <app-form-builder #fb *ngIf=\"selected == 'contact-details'\" [flowKey]=\"selected\" [showOnlyQuestion]=\"true\" [hideHeader]=\"true\" [hideFooter]=\"true\"\r\n [sizeXs]=\"12\" [sizeSm]=\"12\" [sizeMd]=\"12\" [sizeLg]=\"12\" [sizeXl]=\"12\" [offsetXl]=\"0\" [offsetLg]=\"0\" (onError)=\"handleError($event)\" (onComplete)=\"success($event)\">\r\n </app-form-builder>\r\n <div *ngIf=\"(isPaymentOptionQuestionsEnabled)\">\r\n <app-form-builder #fb *ngIf=\"selected == 'payment-details'\" [flowKey]=\"selected\" [showOnlyQuestion]=\"true\" [hideHeader]=\"true\" [hideFooter]=\"true\"\r\n [sizeXs]=\"12\" [sizeSm]=\"12\" [sizeMd]=\"12\" [sizeLg]=\"12\" [sizeXl]=\"12\" [offsetXl]=\"0\" [offsetLg]=\"0\" (onError)=\"handleError($event)\" (onComplete)=\"success($event)\">\r\n </app-form-builder>\r\n </div>\r\n </div>\r\n <div *ngIf=\"showSuccess\">\r\n <div class=\"ion-text-center ion-padding-top\">\r\n <ion-icon name=\"checkmark-circle\" style=\"font-size: 80px; color: var(--ion-color-green);\"></ion-icon>\r\n <h1>{{'header.account.saved.successfully' | translate}}</h1>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"showError\">\r\n <div class=\"ion-text-center ion-padding-top\">\r\n <ion-icon name=\"close-circle-outline\" style=\"font-size: 80px; color: var(--ion-color-danger);\"></ion-icon>\r\n <h1>{{errorText ? errorText : 'header.account.could.not.process' | translate}}</h1>\r\n </div>\r\n </div>\r\n \r\n <ng-template pTemplate=\"footer\">\r\n <ion-grid>\r\n <ion-row>\r\n <ion-col class=\"ion-text-left\" size=\"12\" sizeXl=\"4\" sizeLg=\"4\" sizeMd=\"5\">\r\n <ion-button tabindex=\"0\" shape=\"round\" fill=\"outline\" type=\"button\" [disabled]=\"isButtonDisabled\" (click)=\"logout()\" (keydown.enter)=\"logout()\" class=\"ionButton\">{{'header.account.logout' | translate}}</ion-button>\r\n </ion-col>\r\n <ion-col class=\"ion-text-right\" size=\"12\" sizeXl=\"8\" sizeLg=\"8\" sizeMd=\"7\">\r\n <ion-button tabindex=\"0\" shape=\"round\" fill=\"outline\" type=\"reset\" [disabled]=\"isButtonDisabled\" (click)=\"cancel()\" (keydown.enter)=\"cancel()\" class=\"ionButton\">{{'header.account.close' | translate}}</ion-button>\r\n <ion-button tabindex=\"0\" shape=\"round\" type=\"submit\" [disabled]=\"isButtonDisabled\" (click)=\"save()\" (keydown.enter)=\"save()\" *ngIf=\"!(showSuccess || showError)\" class=\"ionButton\">{{'header.account.save' | translate}}</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </ng-template>\r\n <app-lexis-nexis *ngIf=\"isLexisNexisPopupEnabled\" [display]=\"isLexisNexisPopupEnabled\" [userName] = 'this.userName' [customerEventType] = 'this.customerEventType' (success)=\"onSecurityQuestionSuccess()\" (error)=\"triggerUdol()\" (usps)=\"triggerUdol()\"></app-lexis-nexis>\r\n <!-- Uncomment to enable lexis - nexis -->\r\n <app-security-question *ngIf=\"isSecurityQuestionEnabled\" [display]=\"isSecurityQuestionEnabled\" [questionsAndAnswers]=\"usersQuesAndAns\" [questionsAndKeysOfUser]=\"mappedKeysQuestionsForUser\" (success)=\"onSecurityQuestionSuccess()\" (clear)=\"enableLexisNexis()\"></app-security-question>\r\n <!-- Comment when lexis nexis is enabled -->\r\n <!-- <app-security-question *ngIf=\"isSecurityQuestionEnabled\" [display]=\"isSecurityQuestionEnabled\" [questionsAndAnswers]=\"usersQuesAndAns\" [questionsAndKeysOfUser]=\"mappedKeysQuestionsForUser\" (success)=\"onSecurityQuestionSuccess()\" (clear)=\"triggerUdol()\"></app-security-question> -->\r\n \r\n</p-dialog>", styles: ["ion-col{margin-left:0!important}ion-button:focus{outline:none}\n"] }]
|
|
496
|
+
}], () => [{ type: i1.UtilService }, { type: i2.LoginService }, { type: i3.NavController }, { type: i4.ClaimantService }, { type: i5.Router }, { type: i6.ClaimantUspsRedirectService }, { type: i7.LexisNexisService }], { fb: [{
|
|
851
497
|
type: ViewChild,
|
|
852
498
|
args: ['fb']
|
|
853
499
|
}], onCancel: [{
|
|
854
500
|
type: Output
|
|
855
|
-
}],
|
|
856
|
-
type: ViewChild,
|
|
857
|
-
args: ['otpFormDirective', { static: false }]
|
|
858
|
-
}], securityQuestionFormDirective: [{
|
|
859
|
-
type: ViewChild,
|
|
860
|
-
args: ['securityQuestionFormDirective', { static: false }]
|
|
861
|
-
}], form: [{
|
|
862
|
-
type: Input
|
|
863
|
-
}], question: [{
|
|
864
|
-
type: Input
|
|
865
|
-
}], accepted: [{
|
|
501
|
+
}], error: [{
|
|
866
502
|
type: Output
|
|
867
503
|
}] }); })();
|
|
868
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProfileComponent, { className: "ProfileComponent", filePath: "lib\\components\\profile\\profile.component.ts", lineNumber:
|
|
869
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcHJvZmlsZS9wcm9maWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9wcm9maWxlL3Byb2ZpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBTXBFLE9BQU8sRUFBZ0QsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHMUYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWhELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQU96RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDUDdELDBDQUN1RjtJQUEvRCxvUUFBc0IsME1BQWtCLGVBQUEsNkJBQXFCLENBQUEsSUFBdkM7SUFDOUMsaUJBQWlCOzs7SUFGOEMsNkNBQXVCLDZCQUFBOzs7O0lBR3RGLDBDQUN1RjtJQUEvRCxxUUFBc0IsMk1BQWtCLGVBQUEsNkJBQXFCLENBQUEsSUFBdkM7SUFDOUMsaUJBQWlCOzs7SUFGNkMsZ0RBQTBCLDZCQUFBOzs7SUFacEcsZ0NBQVUsY0FBQSxpQkFBQTtJQUdFLFlBQStCOztJQUFBLCtCQUErQjtJQUFBLFlBQzlCO0lBQUEsaUJBQU8sRUFBQSxFQUFBO0lBRy9DLCtCQUFTLGNBQUE7SUFFRCxzR0FFaUIsMkZBQUE7SUFJckIsaUJBQVUsRUFBQSxFQUFBOzs7SUFaTixlQUErQjtJQUEvQixxRUFBK0I7SUFBK0IsZUFDOUI7SUFEOEIsMkVBQzlCO0lBS2YsZUFBYTtJQUFiLHFDQUFhO0lBR2IsZUFBWTtJQUFaLG9DQUFZOzs7O0lBUXpDLGdEQUUrRztJQUEvRCx1TUFBVyxlQUFBLDJCQUFtQixDQUFBLElBQUMsZ01BQWUsZUFBQSx1QkFBZSxDQUFBLElBQTlCO0lBQy9FLGlCQUFtQjs7O0lBSDBDLDBDQUFvQiwwQkFBQSxvQkFBQSxvQkFBQSxjQUFBLGNBQUEsY0FBQSxjQUFBLGNBQUEsZUFBQSxlQUFBOzs7SUFLakYsK0JBQW9GO0lBQ3BGLCtCQUE2SDtJQUM3SCw0QkFBTTtJQUFBLFlBQWU7SUFBQSxpQkFBTyxFQUFBOzs7SUFBdEIsZUFBZTtJQUFmLHVDQUFlOzs7O0lBRXJCLGdEQUUrRztJQUEvRCw2TUFBVyxlQUFBLDJCQUFtQixDQUFBLElBQUMsc01BQWUsZUFBQSx1QkFBZSxDQUFBLElBQTlCO0lBQy9FLGlCQUFtQjs7O0lBSHlDLDBDQUFvQiwwQkFBQSxvQkFBQSxvQkFBQSxjQUFBLGNBQUEsY0FBQSxjQUFBLGNBQUEsZUFBQSxlQUFBOzs7SUFMaEYsMkJBQTJDO0lBQzNDLDhFQUdNLDRGQUFBO0lBS04saUJBQU07OztJQVJBLGVBQXVEO0lBQXZELHdGQUF1RDtJQUl0QyxlQUFtQztJQUFuQyw0REFBbUM7Ozs7SUFLMUQsZ0RBRStHO0lBQS9ELHVNQUFXLGVBQUEsMkJBQW1CLENBQUEsSUFBQyxnTUFBZSxlQUFBLHVCQUFlLENBQUEsSUFBOUI7SUFDL0UsaUJBQW1COzs7SUFIeUMsMENBQW9CLDBCQUFBLG9CQUFBLG9CQUFBLGNBQUEsY0FBQSxjQUFBLGNBQUEsY0FBQSxlQUFBLGVBQUE7Ozs7SUFJaEYsZ0RBRStHO0lBQS9ELHVNQUFXLGVBQUEsMkJBQW1CLENBQUEsSUFBQyxnTUFBZSxlQUFBLHVCQUFlLENBQUEsSUFBOUI7SUFDL0UsaUJBQW1COzs7SUFIb0MsMENBQW9CLDBCQUFBLG9CQUFBLG9CQUFBLGNBQUEsY0FBQSxjQUFBLGNBQUEsY0FBQSxlQUFBLGVBQUE7OztJQW5CL0UsK0JBQW9FO0lBQ2hFLG1HQUdtQiwwREFBQSxzRkFBQSxzRkFBQTtJQW1CdkIsaUJBQU07OztJQXRCcUIsZUFBb0M7SUFBcEMsNERBQW9DO0lBSXJELGVBQW1DO0lBQW5DLDJEQUFtQztJQVVsQixlQUFtQztJQUFuQywyREFBbUM7SUFJbkMsZUFBOEI7SUFBOUIsc0RBQThCOzs7SUErRXJDLDJCQUF1QztJQUFBLFlBQXFFOztJQUFBLGlCQUFNOztJQUEzRSxlQUFxRTtJQUFyRSxpR0FBcUU7OztJQUM1RyxpQ0FBMkM7SUFBQSxZQUFxRTs7SUFBQSxpQkFBWTs7SUFBakYsZUFBcUU7SUFBckUsaUdBQXFFOzs7O0lBakJwSCxtQ0FBd0csbUJBQUEscUJBQUEscUJBQUE7SUFHNUUsd0JBQW1GO0lBQUEsWUFBa0c7O0lBQUEsaUJBQWlCLEVBQUE7SUFFMU4sNENBQThILFlBQUE7SUFFdEgsWUFDSjs7SUFBQSxpQkFBUTtJQUNSLHVDQUNnQztJQUROLHFMQUFTLGVBQUEsbUNBQTJCLENBQUEsSUFBQztJQUUzRCxnQ0FBK0Q7SUFBQSxhQUNuRTs7SUFBQSxpQkFBYSxFQUFBLEVBQUE7SUFJckIseUZBQWtILHdGQUFBO0lBRXRILGlCQUFVOzs7SUFmcUcsZUFBa0c7SUFBbEcsOEhBQWtHO0lBSWpNLGVBQ0o7SUFESSxtSUFDSjtJQUdtRSxlQUNuRTtJQURtRSx1SEFDbkU7SUFJRixlQUErQjtJQUEvQiwwREFBK0I7SUFDekIsZUFBNkI7SUFBN0Isd0RBQTZCOzs7O0lBMUV6RCwrQkFBNkYsbUJBQUEsY0FBQTtJQXlEakYsd0ZBa0JVO0lBQ1YsbUNBQXdGLG1CQUFBLHFCQUFBLHFCQUFBO0lBRzVELHdCQUEyRjtJQUFFLFlBQTBGOztJQUFBLGlCQUFpQixFQUFBO0lBRTVOLDZDQUE4SCxhQUFBO0lBRXRILGFBQ0o7O0lBQUEsaUJBQVE7SUFDUix1Q0FDcUM7SUFEWCwyS0FBUyxlQUFBLHFCQUFhLDhCQUE4QixDQUFDLENBQUEsSUFBQztJQUU1RSxnQ0FBK0Q7SUFBQyxhQUNwRTs7SUFBQSxpQkFBYSxFQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsRUFBQTs7O0lBL0JmLGVBQWE7SUFBYixzQ0FBYTtJQXNCa0csZUFBMEY7SUFBMUYsaUlBQTBGO0lBSW5NLGVBQ0o7SUFESSxvSUFDSjtJQUdvRSxlQUNwRTtJQURvRSx3SEFDcEU7OztJQXNCWiwyQkFBdUM7SUFBQSxZQUFxRTs7SUFBQSxpQkFBTTs7SUFBM0UsZUFBcUU7SUFBckUsaUdBQXFFOzs7SUFDNUcsaUNBQTJDO0lBQUEsWUFBcUU7O0lBQUEsaUJBQVk7O0lBQWpGLGVBQXFFO0lBQXJFLGlHQUFxRTs7OztJQVhwSCxtQ0FBNEQsWUFBQTtJQUVwRCxZQUNKOztJQUFBLGlCQUFRO0lBQ1IscUJBQUk7SUFDSixzQ0FDZ0M7SUFEUyw0TEFBUyxlQUFBLG1DQUEyQixDQUFBLElBQUM7SUFFMUUsK0JBQTZDO0lBQUEsWUFDakQ7O0lBQUEsaUJBQWE7SUFDYixxQkFBSTtJQUNKLGlHQUFrSCxnR0FBQTtJQUV0SCxpQkFBVTs7O0lBVkYsZUFDSjtJQURJLCtIQUNKO0lBSWlELGVBQ2pEO0lBRGlELHFIQUNqRDtJQUVNLGVBQStCO0lBQS9CLDBEQUErQjtJQUN6QixlQUE2QjtJQUE3Qix3REFBNkI7Ozs7SUFiakQsb0NBQW9DLGNBQUE7SUFFaEMsK0ZBWVU7SUFDVixtQ0FBNEMsWUFBQTtJQUVwQyxZQUNKOztJQUFBLGlCQUFRO0lBQ1IscUJBQUk7SUFDSixzQ0FDcUM7SUFESSxrTEFBUyxlQUFBLHFCQUFhLDhCQUE4QixDQUFDLENBQUEsSUFBQztJQUMxRCxZQUFnRjs7SUFBQSxpQkFBYSxFQUFBLEVBQUEsRUFBQTs7O0lBbkI1SCxlQUFhO0lBQWIsc0NBQWE7SUFlZixlQUNKO0lBREksdUhBQ0o7SUFHcUMsZUFBZ0Y7SUFBaEYsNkdBQWdGOzs7SUF4SHJJLCtCQUErRTtJQUMzRSwwRUFnR00sNkdBQUE7SUE0QlYsaUJBQU07Ozs7SUE1SEksZUFBcUM7SUFBckMsOERBQXFDLGtCQUFBOzs7Ozs7SUE2SC9DLCtCQUFxRyxtQkFBQSxjQUFBLGNBQUEsY0FBQTtJQUs3RSw0QkFBc0c7O0lBQzlHLGlCQUFVO0lBQ1YsK0JBQVMsY0FBQTtJQUVELG1DQUM0RCxxQkFBQTtJQUtoRSxpQkFBVTtJQUNWLGdDQUFTLHNCQUFBO0lBQ21DLG9LQUFTLGVBQUEsZ0JBQVEsQ0FBQSxJQUFDO0lBQUMsYUFBdUQ7O0lBQUEsaUJBQWEsRUFBQSxFQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUE7Ozs7SUFoQjdJLGVBQXFCO0lBQXJCLDBDQUFxQjtJQUlVLGVBQTRFO0lBQTVFLGtKQUE0RTtJQUt6RixlQUFrQjtJQUFsQixnQ0FBa0I7SUFDWCxlQUFhO0lBQWIsa0NBQWEsY0FBQSx1Q0FBQTtJQU1tQyxlQUF1RDtJQUF2RCxxRkFBdUQ7Ozs7OztJQU8xSSwrQkFBbUgsbUJBQUEsY0FBQSxjQUFBLGNBQUE7SUFLL0YsNEJBQXdLOztJQUM1SyxpQkFBVTtJQUNWLCtCQUFTLGNBQUE7SUFFSiw2QkFBOEcscUJBQUE7SUFJL0csaUJBQVU7SUFDVixnQ0FBUyxzQkFBQTtJQUNtQyxvS0FBUyxlQUFBLGdDQUF3QixDQUFBLElBQUM7SUFBQyxhQUF1RDs7SUFBQSxpQkFBYSxFQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsRUFBQTs7OztJQWQ3SixlQUFrQztJQUFsQyx1REFBa0M7SUFJWSxlQUEySDtJQUEzSCxnTEFBMkg7SUFLaEosZUFBZ0M7SUFBaEMscURBQWdDLGNBQUEsdUNBQUE7SUFLZ0MsZUFBdUQ7SUFBdkQsb0ZBQXVEOzs7SUFPMUosaUNBQTZCO0lBQUEsWUFBYTtJQUFBLGlCQUFZOzs7SUFBekIsZUFBYTtJQUFiLHNDQUFhOzs7SUFDMUMscUNBQXFFO0lBQUEsWUFBZTtJQUFBLHFCQUFNO0lBQUEsaUJBQVk7OztJQUFqQyxlQUFlO0lBQWYsd0NBQWU7OztJQUVwRiwyQkFBeUIsY0FBQTtJQUVqQiwrQkFBcUc7SUFDckcsMEJBQUk7SUFBQSxZQUF3Qzs7SUFBQSxpQkFBSyxFQUFBLEVBQUE7O0lBQTdDLGVBQXdDO0lBQXhDLG9FQUF3Qzs7O0lBTzVDLCtCQUF3QixTQUFBO0lBQ2hCLFlBQW9GOztJQUFBLGlCQUFLLEVBQUE7OztJQUF6RixlQUFvRjtJQUFwRiw0SEFBb0Y7OztJQUU1RiwrQkFBeUIsU0FBQTtJQUNqQixZQUFtRjs7SUFBQSxpQkFBSyxFQUFBOzs7SUFBeEYsZUFBbUY7SUFBbkYsNEhBQW1GOzs7SUFQbkcsMkJBQXVCLGNBQUE7SUFFZiwrQkFBMEc7SUFDMUcsK0VBRVUsa0VBQUE7SUFJZCxpQkFBTSxFQUFBOzs7SUFOUSxlQUFZO0lBQVosb0NBQVk7SUFHWixlQUFhO0lBQWIscUNBQWE7Ozs7SUFhZixzQ0FDb0U7SUFENUIsMkxBQVMsZUFBQSxjQUFNLENBQUEsSUFBQztJQUNZLFlBQXFDOztJQUFBLGlCQUFhOzs7SUFBbEgsK0ZBQStEO0lBQUMsZUFBcUM7SUFBckMsaUVBQXFDOzs7O0lBUnJILGdDQUFVLGNBQUEsa0JBQUEscUJBQUE7SUFHeUQsNEtBQVMsZUFBQSxnQkFBUSxDQUFBLElBQUM7SUFBQyxZQUF1Qzs7SUFBQSxpQkFBYSxFQUFBO0lBRWxJLG1DQUEyRSxxQkFBQTtJQUNqQiw0S0FBUyxlQUFBLGdCQUFRLENBQUEsSUFBQztJQUFDLFlBQXNDOztJQUFBLGlCQUFhO0lBQzVILGlHQUNzSDtJQUMxSCxpQkFBVSxFQUFBLEVBQUE7OztJQU5vRSxlQUF1QztJQUF2QyxtRUFBdUM7SUFHeEMsZUFBc0M7SUFBdEMsa0VBQXNDO0lBQ3JELGVBQXNFO0lBQXRFLDhHQUFzRTs7OztBRHhOcEosTUFBTSxPQUFPLGdCQUFpQixTQUFRLFFBQVE7SUFtRTVDLFlBQW1CLE1BQXFCLEVBQVMsRUFBZ0IsRUFBUyxFQUFtQixFQUFTLEVBQWUsRUFBUyxZQUEwQixFQUMvSSxHQUFrQixFQUFTLEVBQW1CLEVBQVMsSUFBaUIsRUFBUyxXQUErQixFQUFRLFlBQW1CLEVBQzFJLFNBQTBCO1FBQ2hDLEtBQUssRUFBRSxDQUFDO1FBSE8sV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUFTLE9BQUUsR0FBRixFQUFFLENBQWM7UUFBUyxPQUFFLEdBQUYsRUFBRSxDQUFpQjtRQUFTLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBUyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMvSSxRQUFHLEdBQUgsR0FBRyxDQUFlO1FBQVMsT0FBRSxHQUFGLEVBQUUsQ0FBaUI7UUFBUyxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQVMsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQVEsaUJBQVksR0FBWixZQUFZLENBQU87UUFDMUksY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFwRXBDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsMEJBQXFCLEdBQUcsWUFBWSxDQUFDLHFCQUFxQixDQUFDO1FBQzNELG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLGdCQUFXLEdBQVUsNkJBQTZCLENBQUM7UUFFbkQsc0JBQWlCLEdBQVUsQ0FBQyxDQUFDO1FBQzdCLHlCQUFvQixHQUFRLElBQUksQ0FBQztRQUNqQyx1QkFBa0IsR0FBVSxFQUFFLENBQUM7UUFDL0IsaUJBQVksR0FBVyxDQUFDLENBQUM7UUFDekIsdUJBQWtCLEdBQVcsR0FBRyxDQUFDO1FBQ2pDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBSXhCLGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUxQyxnQkFBVyxHQUFHLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQztRQUVoRCxtQkFBYyxHQUFHLFdBQVcsQ0FBQyx5QkFBeUIsQ0FBQztRQUV2RCxhQUFRLEdBQUcsa0JBQWtCLENBQUM7UUFnQzlCLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBU3JCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBUWpELENBQUM7SUFFRCxRQUFRO0lBQ1IsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFLO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLElBQUcsSUFBSSxDQUFDLFFBQVEsS0FBRyx1QkFBdUIsRUFBQztZQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO1lBQ25ELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUNwQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM5RCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsOEJBQThCO1FBQzdCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUNoRCx3QkFBd0IsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN4RCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxzQkFBc0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ1IsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDZixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsQ0FBQzthQUMvQjtpQkFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksaUJBQWlCLEVBQUU7Z0JBQzdDLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUM7Z0JBQzNFLHVDQUF1QztnQkFDdkMsRUFBRTtnQkFDRixzRUFBc0U7Z0JBQ3RFLHdCQUF3QjtnQkFFeEIsdUZBQXVGO2dCQUN2RixpRUFBaUU7Z0JBQ2pFLDhFQUE4RTtnQkFDOUUsK0JBQStCO2dCQUMvQixrR0FBa0c7Z0JBQ2xHLDJDQUEyQztnQkFDM0MsK0ZBQStGO2dCQUUvRix1Q0FBdUM7Z0JBQ3ZDLDhFQUE4RTtnQkFDOUUscUNBQXFDO2dCQUNyQyxzRUFBc0U7Z0JBQ3RFLE1BQU07Z0JBQ04sSUFBSTtnQkFDSixpREFBaUQ7Z0JBQ2pELHdHQUF3RztnQkFDeEcsbUVBQW1FO2dCQUVuRSxpREFBaUQ7Z0JBQ2pELGdEQUFnRDtnQkFDaEQsNERBQTREO2dCQUM1RCxJQUFJO2dCQUNKLDJDQUEyQztnQkFDM0MsOEhBQThIO2dCQUM5SCxJQUFJO2dCQUNKLHdGQUF3RjtnQkFDeEYsd0VBQXdFO2dCQUN4RSxJQUFJO2dCQUNKLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxRQUFRLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUFFO29CQUM5RyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO29CQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztvQkFDdkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2lCQUMvQjtxQkFBTSxJQUFJLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEdBQUcsSUFBSSxRQUFRLENBQUMsbUJBQW1CLENBQUMsS0FBSyxHQUFHLEVBQUU7b0JBQ3pGLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7b0JBQ2xELElBQUksQ0FBQyxTQUFTLEdBQUcsb0VBQW9FLENBQUM7b0JBQ3RGLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2lCQUN2QjtxQkFBTSxJQUFJLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLE1BQU0sSUFBSSxRQUFRLENBQUMsbUJBQW1CLENBQUMsS0FBSyxHQUFHLEVBQUU7b0JBQzNGLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHdEQUF3RCxDQUFDLENBQUM7b0JBQzVFLElBQUksQ0FBQyxTQUFTLEdBQUcsMEZBQTBGLENBQUM7b0JBQzVHLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2lCQUN2QjtxQkFDSTtvQkFDSCxJQUFJLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEdBQUcsRUFBRTt3QkFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7d0JBQ25DLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO3FCQUNwQjt5QkFBTSxJQUFJLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEdBQUcsRUFBRTt3QkFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7d0JBQ25DLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO3FCQUNyQjtvQkFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztvQkFDdEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO29CQUNyQixJQUFJLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7d0JBQ3ZELElBQUksQ0FBQyxXQUFXLEdBQUcsZ0NBQWdDLENBQUM7b0JBQ3RELENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRTt3QkFDUCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQzt3QkFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7d0JBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQztvQkFDM0IsQ0FBQyxDQUFDLENBQUE7aUJBQ0g7YUFDRjtpQkFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxpQkFBaUIsQ0FBQyxFQUFFO2dCQUN4RixJQUFJLENBQUMsRUFBRSxDQUFDLG1CQUFtQixFQUFFLENBQUM7YUFDL0I7U0FDRjthQUFNLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3ZCLElBQUksSUFBSSxDQUFDLHdCQUF3QixFQUFFO2dCQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO2dCQUMzRCxJQUFJLENBQUMsRUFBRSxDQUFDLG1CQUFtQixFQUFFLENBQUM7YUFDL0I7aUJBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLGlCQUFpQixFQUFFO2dCQUM3QyxJQUFJLENBQUMsRUFBRSxDQUFDLDZCQUE2QixFQUFFLENBQUMsU0FBUyxDQUFDO29CQUNoRCxJQUFJLEVBQUMsQ0FBQyxHQUFnQyxFQUFFLEVBQUU7d0JBQ3hDLElBQUksQ0FBQywyQkFBMkIsR0FBRyxHQUFHLENBQUM7d0JBQ3ZDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsMkJBQTJCLENBQUM7d0JBQzFGLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO29CQUMxQixDQUFDLEVBQUUsS0FBSyxFQUFDLENBQUMsR0FBVSxFQUFFLEVBQUU7d0JBQ3RCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUM7d0JBQ3JDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO3dCQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7b0JBQy9CLENBQUM7aUJBQ0YsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO2dCQUN0QyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDO2FBQ3JDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsQ0FBQzthQUMvQjtTQUNIO2FBQU07WUFDSixJQUFJLENBQUMsRUFBRSxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRUQsa0NBQWtDO0lBQzNCLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxHQUFZLEVBQUUsR0FBWSxFQUFFLENBQU07UUFDcEUsTUFBTSxXQUFXLEdBQWMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsMEJBQTBCLElBQUksRUFBRSxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNO1lBQUUsT0FBTztRQUNoQyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1lBQ3hDLFNBQVMsRUFBRSxxQkFBcUI7WUFDaEMsY0FBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFO1lBQ3ZELGVBQWUsRUFBRSxLQUFLO1lBQ3RCLFFBQVEsRUFBRSxJQUFJO1lBQ2QsWUFBWSxFQUFFLElBQUk7U0FDbkIsQ0FBQyxDQUFDO1FBQ0gsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdEIsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNuRCxJQUFJLElBQUksS0FBSyxTQUFTLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUTtZQUFFLE9BQU87UUFDbEQsSUFBSSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLGVBQWUsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUMsdUNBQXVDO0lBQ3BDLDRCQUE0QixDQUFDLEdBQVEsRUFBRSxNQUFlO1FBQzdELE1BQU0sUUFBUSxHQUFHLE1BQU07WUFDdkIsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdkMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO2dCQUNqQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7YUFDakMsQ0FBQztRQUNILElBQUksQ0FBQyxvQkFBb0IsR0FBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFTyxVQUFVLENBQUMsR0FBUTtRQUMzQixJQUFJLEdBQUcsQ0FBQyxVQUFVLEVBQUU7WUFDcEIsbUJBQW1CO1lBQ25CLE9BQU87Z0JBQ1AsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLO2dCQUN4QixlQUFlLEVBQUUsR0FBRyxDQUFDLEtBQUs7Z0JBQzFCLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSTtnQkFDZCxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssRUFBRTtnQkFDN0MsR0FBRyxFQUFFLEdBQUcsQ0FBQyxPQUFPO2dCQUNoQixPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLE9BQU8sRUFBRTthQUNsRCxDQUFDO1NBQ0Q7YUFBTTtZQUNQLDJCQUEyQjtZQUMzQixPQUFPO2dCQUNQLGFBQWEsRUFBRSxHQUFHLENBQUMsYUFBYTtnQkFDaEMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxhQUFhO2dCQUNsQyxJQUFJLEVBQUUsR0FBRyxDQUFDLFFBQVE7Z0JBQ2xCLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDbkUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxPQUFPO2dCQUNoQixPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLE9BQU8sRUFBRTthQUNsRCxDQUFDO1NBQ0Q7SUFDRCxDQUFDO0lBRUMsTUFBTTtRQUNKLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDO1FBQzlDLElBQUksQ0FBQyxFQUFFLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMzRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDUCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLEtBQUssQ0FBQztRQUNyRixJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssSUFBSSxFQUFFO1lBQ2hDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUN0RSxJQUFJLENBQUMsRUFBRSxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDeEYsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQztnQkFDckMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEtBQUssQ0FBQztnQkFDckMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQixDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQy9DLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxLQUFLLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2dCQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVCLENBQUMsQ0FBQyxDQUFBO1NBQ0g7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQUk7UUFDZixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUMvQixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsWUFBWSxDQUFDLG1CQUFtQix3Q0FBd0MsU0FBUyxDQUFDLFlBQVksTUFBTSxTQUFTLENBQUMsYUFBYSxxQ0FBcUMsSUFBSSxFQUFFLEVBQUcsT0FBTyxDQUFDLENBQUM7UUFDbk0sQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QseUJBQXlCO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUM5RSxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBQywwQkFBMEIsQ0FBQyxDQUFBO1FBQ3RELENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRTtZQUNQLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDO1lBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHdDQUF3QyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUNELGVBQWUsQ0FBQyxHQUFPLEVBQUUsUUFBZ0I7UUFDdkMsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNGLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN0QixDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDVixHQUFHLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDQyxXQUFXLENBQUMsS0FBSztRQUNmLElBQUksS0FBSyxFQUFFLFNBQVMsSUFBSSxLQUFLLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQy9CO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFHO1FBQ1QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRixvQkFBb0I7UUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBQyxFQUFFO1lBQ3hELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNqRixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBQyxvQ0FBb0MsQ0FBQyxDQUFBO1FBQ2hFLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRTtZQUNQLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDO1lBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGdEQUFnRCxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzNFLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVNLGFBQWEsQ0FBQyxRQUFhLEVBQUUsa0JBQTBCO1FBQ3hELElBQUksQ0FBQyxlQUFlLEdBQUUsS0FBSyxDQUFDO1FBQzdCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFNUgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxRQUFRLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUU7WUFDM0csSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixPQUFPLENBQUMsR0FBRyxDQUFDLDhCQUE4QixFQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQzNFLElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztTQUMvQjthQUFNLElBQUksUUFBUSxDQUFDLG1CQUFtQixDQUFDLEtBQUssR0FBRyxJQUFJLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEdBQUcsRUFBRTtZQUN6RixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxTQUFTLEdBQUcsb0VBQW9FLENBQUM7WUFDdEYsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7U0FDdkI7YUFBTSxJQUFJLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLE1BQU0sSUFBSSxRQUFRLENBQUMsbUJBQW1CLENBQUMsS0FBSyxHQUFHLEVBQUU7WUFDM0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsd0RBQXdELENBQUMsQ0FBQztZQUM1RSxJQUFJLENBQUMsU0FBUyxHQUFHLDBGQUEwRixDQUFDO1lBQzVHLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1NBQ3ZCO2FBQ0k7WUFDSCxJQUFJLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEdBQUcsRUFBRTtnQkFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO2FBQ3BCO2lCQUFNLElBQUksUUFBUSxDQUFDLG1CQUFtQixDQUFDLEtBQUssR0FBRyxFQUFFO2dCQUNoRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7YUFDckI7WUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN0QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUN2RCxJQUFJLENBQUMsV0FBVyxHQUFHLGdDQUFnQyxDQUFDO1lBQ3RELENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRTtnQkFDUCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQTtTQUNIO0lBQ1AsQ0FBQztJQUNELGdCQUFnQixDQUFDLE9BQVcsRUFBRSxJQUFRO1FBQ3RDLE9BQU8sT0FBTyxDQUFDLGFBQWEsS0FBSyxJQUFJLENBQUMsYUFBYTtZQUM1QyxPQUFPLENBQUMsZUFBZSxLQUFLLElBQUksQ0FBQyxlQUFlO1lBQ2hELE9BQU8sQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUk7WUFDMUIsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLO1lBQzFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLEdBQUc7WUFDeEIsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUM7SUFDdEQsQ0FBQztpRkFoWlUsZ0JBQWdCO29FQUFoQixnQkFBZ0I7Ozs7Ozs7Ozs7WUMvQjdCLG1DQUNtSDtZQUMvRyxrRkFtQmMsb0RBQUEsb0RBQUEsc0RBQUEsc0RBQUEsZ0VBQUEsZ0VBQUEsb0RBQUEsb0RBQUEsdUVBQUE7WUF3T2xCLGlCQUFXOztZQTVQK0QsMENBQXlCO1lBQS9GLHlEQUFxRTtZQXFCL0QsZUFBaUM7WUFBakMsMERBQWlDO1lBd0JILGVBQXlDO1lBQXpDLDhEQUF5QztZQThIdkUsZUFBa0U7WUFBbEUsK0ZBQWtFO1lBd0JsRSxlQUFnRjtZQUFoRiw2R0FBZ0Y7WUFzQjFFLGVBQWU7WUFBZixvQ0FBZTtZQUNmLGVBQWlCO1lBQWpCLHNDQUFpQjtZQUV2QixlQUFpQjtZQUFqQixzQ0FBaUI7WUFPakIsZUFBZTtZQUFmLG9DQUFlOzs7aUZEck1aLGdCQUFnQjtjQUw1QixTQUFTOzJCQUNFLGFBQWE7b1VBaUJOLEVBQUU7a0JBQWxCLFNBQVM7bUJBQUMsSUFBSTtZQUdmLFFBQVE7a0JBRFAsTUFBTTtZQW1CQSxnQkFBZ0I7a0JBRnRCLFNBQVM7bUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBMEJ6Qyw2QkFBNkI7a0JBRm5DLFNBQVM7bUJBQUMsK0JBQStCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBS3BELElBQUk7a0JBQVosS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDSSxRQUFRO2tCQUFqQixNQUFNOztrRkEvREksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21ib09wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NvbWJvTW9kZWwnO1xuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlclBhZ2UgfSBmcm9tICcuLi9xdWVzdGlvbm5haXJlL2Zvcm0tYnVpbGRlci9mb3JtLWJ1aWxkZXIucGFnZSc7XG5pbXBvcnQgeyBOYXZDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgQ2xhaW1hbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2xhaW1hbnQtc2VydmljZS9jbGFpbWFudC5zZXJ2aWNlJztcbmltcG9ydCB7IFNlY3VyaXR5U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NlY3VyaXR5LXNlcnZpY2Uvc2VjdXJpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBOZ0Zvcm0sIFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWxlbWVudHNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0VsZW1lbnRzTW9kZWwnO1xuaW1wb3J0IHsgQmFzZVBhZ2UgfSBmcm9tICcuLi8uLi9wYWdlcy9CYXNlUGFnZSc7XG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IExpYkNvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9MaWJDb25zdGFudHMnO1xuaW1wb3J0IHsgQmlydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9iaXJ0LXNlcnZpY2UvYmlydC5zZXJ2aWNlJztcbmltcG9ydCB7IENsYWltU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NsYWltcy9jbGFpbXMuc2VydmljZSc7XG5pbXBvcnQgeyBBY3RpdmVDbGFpbU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0FjdGl2ZUNsYWltTW9kZWwnOyBcbmltcG9ydCB7IE1vZGFsQ29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IEFkZHJlc3NWYWxpZGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FkZHJlc3MtdmFsaWRhdGlvbi1zZXJ2aWNlL2FkZHJlc3MtdmFsaWRhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEFkZHJlc3NSZWNvbW1lbmRhdGlvbk1vZGVsIGFzIEFkZHJSZWN9IGZyb20gJy4uLy4uL21vZGVscy9hZGRyZXNzVmFsaWRhdGlvbi9BZGRyZXNzUmVjb21tZW5kYXRpb25Nb2RlbCc7XG5pbXBvcnQgeyBBZGRyZXNzUG9wdXBDb21wb25lbnQgfSBmcm9tICcuLi9hZGRyZXNzLXBvcHVwL2FkZHJlc3MtcG9wdXAuY29tcG9uZW50JztcbmltcG9ydCB7IEFsZXJ0Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IEFkZHJlc3NWYWxpZGF0aW9uUmVxdWVzdENvbXBvbmVudE1vZGVsIGFzIEFkZHJSZXF9IGZyb20gJy4uLy4uL21vZGVscy9hZGRyZXNzVmFsaWRhdGlvbi9BZGRyZXNzVmFsaWRhdGlvblJlcXVlc3RDb21wb25lbnRNb2RlbCc7XG5pbXBvcnQgeyBBZGRyZXNzVmFsaWRhdGlvblJlc3BvbnNlQ29tcG9uZW50TW9kZWwgYXMgQWRkclJlc30gZnJvbSAnLi4vLi4vbW9kZWxzL2FkZHJlc3NWYWxpZGF0aW9uL0FkZHJlc3NWYWxpZGF0aW9uUmVzcG9uc2VDb21wb25lbnRNb2RlbCc7XG5pbXBvcnQgeyBTZWN1cml0eVF1ZXN0aW9uQW5zd2VyTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvU2VjdXJpdHlRdWVzdGlvbkFuc3dlck1vZGVsJztcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1wcm9maWxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2ZpbGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9maWxlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUHJvZmlsZUNvbXBvbmVudCBleHRlbmRzIEJhc2VQYWdlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgc2hvd1N1Y2Nlc3MgPSBmYWxzZTtcbiAgc2hvd0Vycm9yID0gZmFsc2U7XG4gIHBoYXNlVHdvUHJvb2ZPZlVJVmlldyA9IExpYkNvbnN0YW50cy5QaGFzZVR3b1Byb29mT2ZVSVZpZXc7XG4gIGRvd25sb2FkU3RhdHVzID0gXCJcIjtcbiAgZG9jRmlsZUxpbms6c3RyaW5nID0gXCJhc3NldHMvaW1hZ2VzL3NhbXBsZURvYy5wbmdcIjtcbiAgZXJyb3JUZXh0OiBzdHJpbmc7XG4gIGNsYWltYW50QWRkcmVzc0lkOiBudW1iZXI9IDA7XG4gIGxhc3RWYWxpZGF0ZWRBZGRyZXNzOiBhbnkgPSBudWxsO1xuICBsYXN0VmFsaWRhdGVSZXN1bHQ6IHN0cmluZyA9Jyc7XG4gIGF0dGVtcHRDb3VudDogbnVtYmVyID0gMDtcbiAgaXNBZGRyZXNzVmFsaWRhdGVkOiBzdHJpbmcgPSAnMCc7XG4gIHNob3dJbmxpbmVFcnJvciA9IGZhbHNlO1xuICBAVmlld0NoaWxkKCdmYicpIGZiOiBGb3JtQnVpbGRlclBhZ2VcblxuICBAT3V0cHV0KClcbiAgb25DYW5jZWw6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBwcm9maWxlT3B0cyA9IENvbWJvT3B0aW9uLkNMQUlNQU5UX1BST0ZJTEVfT1BUUztcblxuICBwdWJsaWMgcHJvZmlsZU9wdHNJVlIgPSBDb21ib09wdGlvbi5DTEFJTUFOVF9QUk9GSUxFX09QVFNfSVZSO1xuXG4gIHB1YmxpYyBzZWxlY3RlZCA9ICdwZXJzb25hbC1kZXRhaWxzJztcblxuICBwdWJsaWMgdHlwZTogc3RyaW5nO1xuXG4gIHB1YmxpYyBpc090cFNlbnQ6IGJvb2xlYW47XG5cbiAgcHVibGljIHN1Y2Nlc3NEdGxzO1xuXG4gIHB1YmxpYyBlcnJvckR0bHM7XG5cbiAgQFZpZXdDaGlsZCgnb3RwRm9ybURpcmVjdGl2ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxuXG4gIHB1YmxpYyBvdHBGb3JtRGlyZWN0aXZlOiBOZ0Zvcm07XG5cbiAgcHVibGljIG90cEZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgcHVibGljIG90cENvZGU7XG5cbiAgcHVibGljIG90cFZlcmlmaWVkOiBib29sZWFuO1xuXG4gIHB1YmxpYyBkaXNwbGF5U2VjdXJpdHlRdWVzdGlvbjogYm9vbGVhbjtcblxuICBwdWJsaWMgc2VjdXJpdHlRdWVzdGlvbkZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgcHVibGljIHNlY3VyaXR5UXVlc3Rpb25Ub0FzaztcblxuICBwdWJsaWMgc2VjdXJpdHlBbnN3ZXI7XG5cbiAgcHVibGljIHNlY3VyaXR5UXVlc3Rpb25WZXJpZmllZDogYm9vbGVhbjtcblxuICBwdWJsaWMgcmFuZG9tU2VjdXJpdHlRdWVzdGlvbk1vZGVsOiBTZWN1cml0eVF1ZXN0aW9uQW5zd2VyTW9kZWw7XG5cbiAgcHVibGljIGZhaWxDb3VudGVyOiBudW1iZXIgPSAwO1xuXG4gIEBWaWV3Q2hpbGQoJ3NlY3VyaXR5UXVlc3Rpb25Gb3JtRGlyZWN0aXZlJywgeyBzdGF0aWM6IGZhbHNlIH0pXG5cbiAgcHVibGljIHNlY3VyaXR5UXVlc3Rpb25Gb3JtRGlyZWN0aXZlOiBOZ0Zvcm07XG5cbiAgcHVibGljIHByb29mT2ZVbmVtcGxveW1lbnREYXRhOmFueTtcbiAgQElucHV0KCkgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcXVlc3Rpb246IEVsZW1lbnRzTW9kZWw7XG4gIEBPdXRwdXQoKSBhY2NlcHRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwdWJsaWMgbGlzdE9mQWN0aXZlQ2xhaW06QWN0aXZlQ2xhaW1Nb2RlbFtdO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBsb2dnZXI6IExvZ2dlclNlcnZpY2UsIHB1YmxpYyBsczogTG9naW5TZXJ2aWNlLCBwdWJsaWMgY3M6IENsYWltYW50U2VydmljZSwgcHVibGljIGJzOiBCaXJ0U2VydmljZSwgcHVibGljIGNsYWltU2VydmljZTogQ2xhaW1TZXJ2aWNlLFxuICAgIHB1YmxpYyBuYXY6IE5hdkNvbnRyb2xsZXIsIHB1YmxpYyBzczogU2VjdXJpdHlTZXJ2aWNlLCBwdWJsaWMgdXRpbDogVXRpbFNlcnZpY2UsIHB1YmxpYyBmb3JtYnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLHB1YmxpYyB0aXRsZVNlcnZpY2U6IFRpdGxlLFxuICAgIHByaXZhdGUgbW9kYWxDdHJsOiBNb2RhbENvbnRyb2xsZXIpIHtcbiAgICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIG9uVmFsdWVDaGFuZ2UoZXZlbnQpIHtcbiAgICB0aGlzLnNob3dFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuc2hvd1N1Y2Nlc3MgPSBmYWxzZTtcbiAgICB0aGlzLmRvd25sb2FkU3RhdHVzID0gXCJcIjtcbiAgICBpZih0aGlzLnNlbGVjdGVkPT09J3Byb29mLW9mLXVuZW1wbG95bWVudCcpe1xuICAgICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0VGl0bGUoXCJQcm9vZiBvZiBVbmVtcGxveW1lbnRcIilcbiAgICAgIHRoaXMuZ2V0TGlzdE9mQWN0aXZlQ2xhaW0oKTtcbiAgICB9XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy5vbkNhbmNlbC5lbWl0KCk7XG4gIH1cblxuICBpbml0aWxpemVGb3JtKCkge1xuICAgIHRoaXMub3RwRm9ybSA9IHRoaXMuZm9ybWJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgJ290cCc6IFtudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoNildXSxcbiAgICB9KTtcbiAgfVxuXG4gIGluaXRpYWxpemVTZWN1cml0eVF1ZXN0aW9uRm9ybSgpIHtcblx0ICB0aGlzLnNlY3VyaXR5UXVlc3Rpb25Gb3JtID0gdGhpcy5mb3JtYnVpbGRlci5ncm91cCh7XG4gICAgICAnc2VjdXJpdHlRdWVzdGlvbkFuc3dlcic6IFtudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IG90cCgpIHtcbiAgICByZXR1cm4gdGhpcy5vdHBGb3JtLmdldCgnb3RwJyk7XG4gIH1cblxuICBnZXQgc2VjdXJpdHlRdWVzdGlvbkFuc3dlcigpIHtcbiAgICByZXR1cm4gdGhpcy5zZWN1cml0eVF1ZXN0aW9uRm9ybS5nZXQoJ3NlY3VyaXR5UXVlc3Rpb25BbnN3ZXInKTtcbiAgfVxuXG4gIGFzeW5jIHNhdmUoKSB7XG4gICAgaWYgKHRoaXMuaXNNUygpKSB7XG4gICAgICBpZiAodGhpcy5vdHBWZXJpZmllZCkge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIk9UUCBWRVJJRklFRCBBTkQgU0FWSU5HXCIpO1xuICAgICAgICB0aGlzLmZiLnN1Ym1pdFF1ZXN0aW9ubmFpcmUoKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3RlZCA9PSAnY29udGFjdC1kZXRhaWxzJykge1xuICAgICAgICBsZXQgZm9ybURhdGEgPSB0aGlzLmZiLnF1ZXN0aW9ubmFpcmUucXVlc3Rpb25uYWlyZS5xdWVzdGlvbm5haXJlRm9ybS52YWx1ZTtcbiAgICAgICAgLy9Db2RlIGZvciB0aGUgYWRkcmVzcyB2YWxpZGF0aW9uIHBvcHVwXG4gICAgICAgIC8vXG4gICAgICAgIC8vIGNvbnN0IGZvcm0gPSB0aGlzLmZiLnF1ZXN0aW9ubmFpcmUucXVlc3Rpb25uYWlyZS5xdWVzdGlvbm5haXJlRm9ybTtcbiAgICAgICAgLy8gY29uc3QgdiA9IGZvcm0udmFsdWU7XG5cbiAgICAgICAgLy8gLy9EZXRlcm1pbmUgQ3VycmVudCBhZGRyZXNzIGFuZCB0eXBlIGJhc2VkIG9uIHRoZSBhbnN3ZXIgdG8gbWFpbGluZyBhZGRyZXNzIHF1ZXN0aW9uXG4gICAgICAgIC8vIGNvbnN0IGN1cnJlbnRUeXBlID0gdi5kaWZmbWFpbGFkZHJlc3MgPT0gJ1knID8gJ21haWwnIDogJ3Jlcyc7XG4gICAgICAgIC8vIGNvbnN0IGN1cnJlbnRBZGRyZXNzID0gY3VycmVudFR5cGUgPT0gJ21haWwnID8gdi5tYWlsQWRkcmVzcyA6IHYucmVzQWRyZXNzO1xuICAgICAgICAvLyB0aGlzLnNob3dJbmxpbmVFcnJvciA9IGZhbHNlXG4gICAgICAgIC8vIC8vY2hlY2sgaWYgYWRkcmVzcyBjaGFuZ2VkIHNpbmNlIGxhc3QgdmFsaWRhdGlvbiBhbmQgaWYgbm8gY2hhbmdlIGNvbnRpbnVlIHdpdGhvdXQgaW50ZXJydXB0aW9uXG4gICAgICAgIC8vIGlmICh0aGlzLmxhc3RWYWxpZGF0ZWRBZGRyZXNzICE9IG51bGwpIHtcbiAgICAgICAgLy8gICBjb25zdCBsYXN0QWRkcmVzc1R5cGUgPSB0aGlzLmxhc3RWYWxpZGF0ZWRBZGRyZXNzLmRpZmZtYWlsYWRkcmVzcyA9PSAnWScgPyAnbWFpbCcgOiAncmVzJztcblxuICAgICAgICAvLyAgIGlmIChsYXN0QWRkcmVzc1R5cGUgPT0gY3VycmVudFR5cGVcbiAgICAgICAgLy8gICAgICYmICF0aGlzLmlzQWRkcmVzc0NoYW5nZWQoY3VycmVudEFkZHJlc3MsIHRoaXMubGFzdFZhbGlkYXRlZEFkZHJlc3MpKSB7XG4gICAgICAgIC8vICAgICB0aGlzLmlzQWRkcmVzc1ZhbGlkYXRlZCA9ICcxJztcbiAgICAgICAgLy8gICAgIHJldHVybiB0aGlzLmZpbmlzaEFuZFNhdmUoZm9ybS52YWx1ZSwgdGhpcy5pc0FkZHJlc3NWYWxpZGF0ZWQpO1xuICAgICAgICAvLyAgIH1cbiAgICAgICAgLy8gfVxuICAgICAgICAvLyAvL1N0YXJ0aW5nIHRoZSBwcm9jZXNzIHRvIHZhbGlkYXRlIHRoZSBhZGRyZXNzXG4gICAgICAgIC8vIGNvbnN0IHJldHVybkNvbXBvbmVudCA9IGF3YWl0IHRoaXMuYWRkclN2Yy52YWxpZGF0ZUFkZHJlc3NQcm9jZXNzKGN1cnJlbnRUeXBlLCBjdXJyZW50QWRkcmVzcywgZm9ybSk7XG4gICAgICAgIC8vIHRoaXMubGFzdFZhbGlkYXRlZEFkZHJlc3MgPSByZXR1cm5Db21wb25lbnQubGFzdFZhbGlkYXRlZEFkZHJlc3NcblxuICAgICAgICAvLyBpZiAocmV0dXJuQ29tcG9uZW50LnNob3dJbmxpbmVFcnJvciA9PSB0cnVlKSB7XG4gICAgICAgIC8vICAgdGhpcy5lcnJvclRleHQgPSByZXR1cm5Db21wb25lbnQuZXJyb3JUZXh0O1xuICAgICAgICAvLyAgIHRoaXMuc2hvd0lubGluZUVycm9yID0gcmV0dXJuQ29tcG9uZW50LnNob3dJbmxpbmVFcnJvcjtcbiAgICAgICAgLy8gfVxuICAgICAgICAvLyBpZiAocmV0dXJuQ29tcG9uZW50LnNob3dQb3B1cCA9PSB0cnVlKSB7XG4gICAgICAgIC8vICAgYXdhaXQgdGhpcy5oYW5kbGVSZWNvbW1lbmRhdGlvbnMocmV0dXJuQ29tcG9uZW50LmFkZHJlc3NWYWxpZGF0aW9uUmVzcG9uc2UsIHJldHVybkNvbXBvbmVudC5hZGRyZXNzVmFsaWRhdGlvblJlcXVlc3QsIHYpO1xuICAgICAgICAvLyB9XG4gICAgICAgIC8vIGlmIChyZXR1cm5Db21wb25lbnQuc2hvd0lubGluZUVycm9yID09IGZhbHNlICYmIHJldHVybkNvbXBvbmVudC5zaG93UG9wdXAgPT0gZmFsc2UpIHtcbiAgICAgICAgLy8gICB0aGlzLmZpbmlzaEFuZFNhdmUoZm9ybS52YWx1ZSwgcmV0dXJuQ29tcG9uZW50LmlzQWRkcmVzc1ZhbGlkYXRlZCk7XG4gICAgICAgIC8vIH1cbiAgICAgICAgaWYgKChmb3JtRGF0YVsncGhvbmUnXSA9PSBmb3JtRGF0YVsnaGlkT3JpZ2luYWxQaG9uZSddKSAmJiAoZm9ybURhdGFbJ2VtYWlsJ10gPT0gZm9ybURhdGFbJ2hpZE9yaWdpbmFsRW1haWwnXSkpIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIlBob25lIG9yIEVtYWlsIE5vdCBDaGFuZ2VkXCIpO1xuICAgICAgICAgIHRoaXMuaXNPdHBTZW50ID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5mYi5zdWJtaXRRdWVzdGlvbm5haXJlKCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZm9ybURhdGFbXCJoaWRJc0VtYWlsQ2hhbmdlZFwiXSA9PT0gXCJZXCIgJiYgZm9ybURhdGFbXCJoaWRJc1Bob25lQ2hhbmdlZFwiXSA9PT0gXCJZXCIpIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIkJvdGggRW1haWwgYW5kIFBob25lIENoYW5nZWRcIik7XG4gICAgICAgICAgdGhpcy5lcnJvclRleHQgPSBcIlBsZWFzZSBjb250YWN0IE1ERVMgc3VwcG9ydCBmb3IgYXNzaXN0YW5jZSB1cGRhdGluZyBFbWFpbCBBZGRyZXNzLlwiO1xuICAgICAgICAgIHRoaXMuc2hvd0Vycm9yID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmIChmb3JtRGF0YVtcImhpZE9yaWdpbmFsUGhvbmVcIl0gPT09IFwibnVsbFwiICYmIGZvcm1EYXRhW1wiaGlkSXNFbWFpbENoYW5nZWRcIl0gPT09IFwiWVwiKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCJUcnlpbmcgdG8gY2hhbmdlIGVtYWlsIGJ1dCBwaG9uZSBudW1iZXIgaXMgbm90IHByZXNlbnRcIik7XG4gICAgICAgICAgdGhpcy5lcnJvclRleHQgPSBcIlBsZWFzZSBjb250YWN0IE1ERVMgc3VwcG9ydCBmb3IgYXNzaXN0YW5jZSB1cGRhdGluZyBFbWFpbCBBZGRyZXNzIGFuZCBDZWxsIFBob25lIE51bWJlci5cIjtcbiAgICAgICAgICB0aGlzLnNob3dFcnJvciA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgaWYgKGZvcm1EYXRhW1wiaGlkSXNFbWFpbENoYW5nZWRcIl0gPT09IFwiWVwiKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIkVtYWlsIENoYW5nZWRcIik7XG4gICAgICAgICAgICB0aGlzLnR5cGUgPSAndGV4dCc7XG4gICAgICAgICAgfSBlbHNlIGlmIChmb3JtRGF0YVtcImhpZElzUGhvbmVDaGFuZ2VkXCJdID09PSBcIllcIikge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCJQaG9uZSBDaGFuZ2VkXCIpO1xuICAgICAgICAgICAgdGhpcy50eXBlID0gJ2VtYWlsJztcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5pc090cFNlbnQgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuaW5pdGlsaXplRm9ybSgpO1xuICAgICAgICAgIHRoaXMuc3Muc2VuZE90cFdpdGhvdXRDYXB0Y2hhKHRoaXMudHlwZSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLnN1Y2Nlc3NEdGxzID0gXCJBY2Nlc3MgY29kZSBzZW50IHN1Y2Nlc3NmdWxseS5cIjtcbiAgICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc090cFNlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuc3VjY2Vzc0R0bHMgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5lcnJvckR0bHMgPSBlcnIubXNnO1xuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoKHRoaXMuc2VsZWN0ZWQgPT0gJ3BlcnNvbmFsLWRldGFpbHMnKSB8fCAodGhpcy5zZWxlY3RlZCA9PSAncGF5bWVudC1kZXRhaWxzJykpIHtcbiAgICAgICAgdGhpcy5mYi5zdWJtaXRRdWVzdGlvbm5haXJlKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzTUUoKSkge1xuXHQgICAgaWYgKHRoaXMuc2VjdXJpdHlRdWVzdGlvblZlcmlmaWVkKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiU0VDVVJJVFkgUVVFU1RJT04gVkVSSUZJRUQgQU5EIFNBVklOR1wiKTtcbiAgICAgICAgdGhpcy5mYi5zdWJtaXRRdWVzdGlvbm5haXJlKCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuc2VsZWN0ZWQgPT0gJ2NvbnRhY3QtZGV0YWlscycpIHsgIFxuICAgICAgICB0aGlzLnNzLmdldFJhbmRvbVNlY3VyaXR5UXVlc3Rpb25TZWxmKCkuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OihyZXM6IFNlY3VyaXR5UXVlc3Rpb25BbnN3ZXJNb2RlbCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yYW5kb21TZWN1cml0eVF1ZXN0aW9uTW9kZWwgPSByZXM7XG4gICAgICAgICAgICB0aGlzLnNlY3VyaXR5UXVlc3Rpb25Ub0FzayA9IHRoaXMucmFuZG9tU2VjdXJpdHlRdWVzdGlvbk1vZGVsLnNlY3VyaXR5UXVlc3Rpb25EZXNjcmlwdGlvbjtcbiAgICAgICAgICAgIHRoaXMuc3VjY2Vzc0R0bHMgPSBudWxsO1xuICAgICAgICAgIH0sIGVycm9yOihlcnI6IEVycm9yKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlTZWN1cml0eVF1ZXN0aW9uID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnN1Y2Nlc3NEdGxzID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuZXJyb3JEdGxzID0gZXJyLm1lc3NhZ2U7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcdFx0XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZVNlY3VyaXR5UXVlc3Rpb25Gb3JtKCk7XG4gICAgICAgIHRoaXMuZGlzcGxheVNlY3VyaXR5UXVlc3Rpb24gPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mYi5zdWJtaXRRdWVzdGlvbm5haXJlKCk7XG4gICAgICB9XG5cdCAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmIuc3VibWl0UXVlc3Rpb25uYWlyZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBIYW5kbGUgUmVjb21tZW5kYXRpb24gUG9wdXAgKi9cbiAgcHVibGljIGFzeW5jIGhhbmRsZVJlY29tbWVuZGF0aW9ucyhyZXM6IEFkZHJSZXMsIHJlcTogQWRkclJlcSwgdjogYW55KSB7XG4gICBjb25zdCBzdWdnZXN0aW9uczogQWRkclJlY1tdID0gQXJyYXkuZnJvbShyZXMuYWRkcmVzc1JlY29tbWVuZGF0aW9uTW9kZWwgPz8gW10pO1xuICAgaWYgKCFzdWdnZXN0aW9ucy5sZW5ndGgpIHJldHVybjtcbiAgIGNvbnN0IG1vZGFsID0gYXdhaXQgdGhpcy5tb2RhbEN0cmwuY3JlYXRlKHtcbiAgICAgY29tcG9uZW50OiBBZGRyZXNzUG9wdXBDb21wb25lbnQsXG4gICAgIGNvbXBvbmVudFByb3BzOiB7IG9yaWdpbmFsOiByZXEsIGNob2ljZXM6IHN1Z2dlc3Rpb25zIH0sXG4gICAgIGJhY2tkcm9wRGlzbWlzczogZmFsc2UsXG4gICAgIGFuaW1hdGVkOiB0cnVlLFxuICAgICBzaG93QmFja2Ryb3A6IHRydWVcbiAgIH0pO1xuICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChtb2RhbCk7XG4gICBhd2FpdCBtb2RhbC5wcmVzZW50KCk7XG4gICBjb25zdCB7IGRhdGEsIHJvbGUgfSA9IGF3YWl0IG1vZGFsLm9uV2lsbERpc21pc3MoKTtcbiAgIGlmIChyb2xlICE9PSAnY29uZmlybScgfHwgIWRhdGE/LnNlbGVjdGVkKSByZXR1cm47XG4gICB0aGlzLnBhdGNoRm9ybVdpdGhTZWxlY3RlZEFkZHJlc3MoZGF0YS5zZWxlY3RlZCwgdi5kaWZmbWFpbGFkZHJlc3MgPT09ICdZJyk7XG4gIH1cblxuICAgIC8qKiBQYXRjaCBGb3JtIFdpdGggU2VsZWN0ZWQgQWRkcmVzcyAqL1xucHVibGljIHBhdGNoRm9ybVdpdGhTZWxlY3RlZEFkZHJlc3Moc2VsOiBhbnksIGlzTWFpbDogYm9vbGVhbikge1xuY29uc3QgcGF0Y2hPYmogPSBpc01haWxcbj8geyBtYWlsQWRkcmVzczogdGhpcy5tYXBBZGRyZXNzKHNlbCkgfVxuOiB7IHJlc0FkcmVzczogdGhpcy5tYXBBZGRyZXNzKHNlbCksXG4gIG1haWxBZGRyZXNzOiB0aGlzLm1hcEFkZHJlc3Moc2VsKVxuIH07XG50aGlzLmxhc3RWYWxpZGF0ZWRBZGRyZXNzPSB0aGlzLm1hcEFkZHJlc3Moc2VsKTtcbnRoaXMuZmIucXVlc3Rpb25uYWlyZS5xdWVzdGlvbm5haXJlLnF1ZXN0aW9ubmFpcmVGb3JtLmZvcm0ucGF0Y2hWYWx1ZShwYXRjaE9iaik7XG59XG5cbnByaXZhdGUgbWFwQWRkcmVzcyhzZWw6IGFueSkge1xuaWYgKHNlbC5pc09yaWdpbmFsKSB7XG4vLyBPcmlnaW5hbCBBZGRyZXNzXG5yZXR1cm4ge1xuc3RyZWV0QWRkcmVzczogc2VsLmxpbmUxLFxub3B0aW9uYWxBZGRyZXNzOiBzZWwubGluZTIsXG5jaXR5OiBzZWwuY2l0eSxcbnN0YXRlOiB7IGxhYmVsOiBzZWwuc3RhdGUsIHZhbHVlOiBzZWwuc3RhdGUgfSxcbnppcDogc2VsLnppcENvZGUsXG5jb3VudHJ5OiB7IGxhYmVsOiBzZWwuY291bnRyeSwgdmFsdWU6IHNlbC5jb3VudHJ5IH1cbn07XG59IGVsc2Uge1xuLy8gVVNQUyBSZWNvbW1lbmRlZCBBZGRyZXNzXG5yZXR1cm4ge1xuc3RyZWV0QWRkcmVzczogc2VsLmRlbGl2ZXJ5TGluZTEsXG5vcHRpb25hbEFkZHJlc3M6IHNlbC5kZWxpdmVyeUxpbmUyLFxuY2l0eTogc2VsLmNpdHlOYW1lLFxuc3RhdGU6IHsgbGFiZWw6IHNlbC5zdGF0ZUFiYnJldmF0aW9uLCB2YWx1ZTogc2VsLnN0YXRlQWJicmV2YXRpb24gfSxcbnppcDogc2VsLnppcENvZGUsXG5jb3VudHJ5OiB7IGxhYmVsOiBzZWwuY291bnRyeSwgdmFsdWU6IHNlbC5jb3VudHJ5IH1cbn07XG59XG59XG5cbiAgdmVyaWZ5KCkge1xuICAgIHRoaXMub3RwQ29kZSA9IHRoaXMub3RwRm9ybS5nZXQoJ290cCcpPy52YWx1ZTtcbiAgICB0aGlzLnNzLnZhbGlkYXRlT3RwRm9yQ2xhaW1hbnQodGhpcy5vdHBDb2RlKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIHRoaXMub3RwVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgdGhpcy5pc090cFNlbnQgPSBmYWxzZTtcbiAgICAgIHRoaXMuc3VjY2Vzc0R0bHMgPSBudWxsO1xuICAgICAgdGhpcy5hY2NlcHRlZC5lbWl0KHRydWUpO1xuICAgIH0sIGVyciA9PiB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnVmVyaWZ5IHN0YXR1cyBlcnJvciAnLCBlcnIpO1xuICAgICAgdGhpcy5vdHBWZXJpZmllZCA9IGZhbHNlO1xuICAgICAgdGhpcy5zdWNjZXNzRHRscyA9IG51bGw7IFxuICAgICAgdGhpcy5hY2NlcHRlZC5lbWl0KGZhbHNlKTtcbiAgICAgIHRoaXMuZXJyb3JEdGxzID0gZXJyLm1zZztcbiAgICB9KVxuICB9XG5cbiAgdmVyaWZ5U2VjdXJpdHlRdWVzdGlvbigpIHtcbiAgICB0aGlzLnNlY3VyaXR5QW5zd2VyID0gdGhpcy5zZWN1cml0eVF1ZXN0aW9uRm9ybS5nZXQoJ3NlY3VyaXR5UXVlc3Rpb25BbnN3ZXInKT8udmFsdWU7XG4gICAgaWYgKHRoaXMuc2VjdXJpdHlBbnN3ZXIgIT09IG51bGwpIHtcbiAgICAgIHRoaXMucmFuZG9tU2VjdXJpdHlRdWVzdGlvbk1vZGVsLnNlY3VyaXR5QW5zd2VyID0gdGhpcy5zZWN1cml0eUFuc3dlcjtcbiAgICAgIHRoaXMuc3MudmFsaWRhdGVVc2VyU2VjdXJpdHlJbmZvcm1hdGlvbih0aGlzLnJhbmRvbVNlY3VyaXR5UXVlc3Rpb25Nb2RlbCkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgIHRoaXMuc2VjdXJpdHlRdWVzdGlvblZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5kaXNwbGF5U2VjdXJpdHlRdWVzdGlvbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnN1Y2Nlc3NEdGxzID0gbnVsbDtcbiAgICAgICAgdGhpcy5lcnJvckR0bHMgPSBudWxsO1xuICAgICAgICB0aGlzLmFjY2VwdGVkLmVtaXQodHJ1ZSk7XG4gICAgICB9LCBlcnIgPT4ge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnVmVyaWZ5IHN0YXR1cyBlcnJvciAnLCBlcnIpO1xuICAgICAgICB0aGlzLnNlY3VyaXR5UXVlc3Rpb25WZXJpZmllZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnN1Y2Nlc3NEdGxzID0gbnVsbDtcbiAgICAgICAgdGhpcy5lcnJvckR0bHMgPSBlcnIubXNnOyAgICAgXG4gICAgICAgIHRoaXMuYWNjZXB0ZWQuZW1pdChmYWxzZSk7ICAgIFxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICByZWRpcmVjdExpbmsodmlldykge1xuICAgIGxldCB1c2VyTW9kZWwgPSB0aGlzLmxzLmdldFVzZXIoKTtcbiAgICB0aGlzLnV0aWwuc2hvd0xvYWRlcigpLnRoZW4oKCkgPT4ge1xuICAgICAgd2luZG93Lm9wZW4oYCR7TGliQ29uc3RhbnRzLmJlbmVmaXRzVXJsRXh0ZXJuYWx9L2ZhY2VzL3ZpcnR1YWwvY29udGV4dHN3aXRjaC54aHRtbD9hPSR7dXNlck1vZGVsLmFjY2Vzc190b2tlbn0mcj0ke3VzZXJNb2RlbC5yZWZyZXNoX3Rva2VufSZ2PTIyOTkmQ0xBSU1BTlRfUE9SVEFMPXRydWUmdmlldz0ke3ZpZXd9YCwgIFwiX3NlbGZcIik7XG4gICAgfSk7XG4gIH1cbiAgZ2V0RXh0ZXJuYWxDbGFpbWFudFJlcG9ydCgpIHtcbiAgICB0aGlzLmRvd25sb2FkU3RhdHVzID0gXCJzdGFydGVkXCI7XG4gICAgcmV0dXJuIHRoaXMuYnMuZ2V0RXh0ZXJuYWxDbGFpbWFudFJlcG9ydCh0aGlzLmxzLmdldFVzZXIoKS5zc24pLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgdGhpcy5kb3dubG9hZFJhd0ZpbGUocmVzLCdFeHRlcm5hbEFnZW5jeVJlcG9ydC5wZGYnKVxuICAgIH0sIGVyciA9PiB7XG4gICAgICB0aGlzLmRvd25sb2FkU3RhdHVzID0gXCJlcnJvclwiO1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ0dldHRpbmcgRXh0ZXJuYWwgQ2xhaW1hbnQgUmVwb3J0IGVycm9yJywgZXJyKTtcbiAgICB9KVxuICB9XG4gIGRvd25sb2FkUmF3RmlsZShyZXM6YW55LCBmaWxlbmFtZTogc3RyaW5nKXtcbiAgICBsZXQgYmluYXJ5RGF0YSA9IFtdO1xuICAgIGJpbmFyeURhdGEucHVzaChyZXMpO1xuICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKG5ldyBCbG9iKGJpbmFyeURhdGEsIHsgdHlwZTogXCJhcHBsaWNhdGlvbi94bHN4XCIgfSkpO1xuICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgYS5ocmVmID0gdXJsO1xuICAgIGEuZG93bmxvYWQgPSBmaWxlbmFtZTtcbiAgICBhLmNsaWNrKCk7XG4gICAgVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xufVxuICBoYW5kbGVFcnJvcihlcnJvcikge1xuICAgIGlmIChlcnJvcj8uZXJyb3JDb2RlID09ICc0MjInKSB7XG4gICAgICB0aGlzLmVycm9yVGV4dCA9IGVycm9yLm1zZ1swXTtcbiAgICB9XG4gICAgdGhpcy5zaG93RXJyb3IgPSB0cnVlO1xuICB9XG5cbiAgc3VjY2Vzcyhtc2cpIHtcbiAgICB0aGlzLnNob3dTdWNjZXNzID0gdHJ1ZTtcbiAgfVxuXG4gIGxvZ291dCgpIHtcbiAgICB0aGlzLm5hdi5uYXZpZ2F0ZVJvb3QoJy9sYW5kaW5nJyk7XG4gICAgdGhpcy5scy5sb2dvdXQoKTtcbiAgfVxuXG4gZ2V0TGlzdE9mQWN0aXZlQ2xhaW0oKXtcbiAgICB0aGlzLmNsYWltU2VydmljZS5nZXRMaXN0T2ZBY3RpdmVDbGFpbSgpLnN1YnNjcmliZSgocmVzKT0+e1xuICAgICAgdGhpcy5saXN0T2ZBY3RpdmVDbGFpbSA9IHJlcztcbiAgICB9KVxuICB9XG5cbiAgZ2V0VmVyaWZpY2F0aW9uUmVwb3J0KCl7XG4gICAgdGhpcy5kb3dubG9hZFN0YXR1cyA9IFwic3RhcnRlZFwiO1xuICAgIHJldHVybiB0aGlzLmJzLmdldFZlcmlmaWNhdGlvblJlcG9ydCh0aGlzLmxzLmdldFVzZXIoKS5jbGFpbWFudElkKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIHRoaXMuZG93bmxvYWRSYXdGaWxlKHJlcywnVW5lbXBsb3ltZW50VmVyaWZpY2F0aW9uUmVwb3J0LnBkZicpXG4gICAgfSwgZXJyID0+IHtcbiAgICAgIHRoaXMuZG93bmxvYWRTdGF0dXMgPSBcImVycm9yXCI7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnR2V0dGluZyBVbmVtcGxveW1lbnQgVmVyaWZpY2F0aW9uIFJlcG9ydCBlcnJvcicsIGVycik7XG4gICAgfSlcbiAgfVxuXG4gIHB1YmxpYyBmaW5pc2hBbmRTYXZlKGZvcm1EYXRhOiBhbnksIGlzQWRkcmVzc1ZhbGlkYXRlZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2hvd0lubGluZUVycm9yPSBmYWxzZTsgXG4gICAgICAgdGhpcy5mYi5xdWVzdGlvbm5haXJlLnF1ZXN0aW9ubmFpcmUucXVlc3Rpb25uYWlyZUZvcm0uZm9ybS5jb250cm9sc1snaGlkSXNBZGRyZXNzVmFsaWRhdGVkJ10uc2V0VmFsdWUoaXNBZGRyZXNzVmFsaWRhdGVkKTtcblxuICAgICBpZiAoKGZvcm1EYXRhWydwaG9uZSddID09IGZvcm1EYXRhWydoaWRPcmlnaW5hbFBob25lJ10pICYmIChmb3JtRGF0YVsnZW1haWwnXSA9PSBmb3JtRGF0YVsnaGlkT3JpZ2luYWxFbWFpbCddKSkge1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiUGhvbmUgb3IgRW1haWwgTm90IENoYW5nZWRcIik7XG4gICAgICAgICAgdGhpcy5pc090cFNlbnQgPSBmYWxzZTtcbiAgICAgICAgICBjb25zb2xlLmxvZyhcImFkZHJlc3MgdmFsaWRhdGlvbiBmb3JtIGZsYWdcIixmb3JtRGF0YS5oaWRJc0FkZHJlc3NWYWxpZGF0ZWQpO1xuICAgICAgICAgIHRoaXMuZmIuc3VibWl0UXVlc3Rpb25uYWlyZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKGZvcm1EYXRhW1wiaGlkSXNFbWFpbENoYW5nZWRcIl0gPT09IFwiWVwiICYmIGZvcm1EYXRhW1wiaGlkSXNQaG9uZUNoYW5nZWRcIl0gPT09IFwiWVwiKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCJCb3RoIEVtYWlsIGFuZCBQaG9uZSBDaGFuZ2VkXCIpO1xuICAgICAgICAgIHRoaXMuZXJyb3JUZXh0ID0gXCJQbGVhc2UgY29udGFjdCBNREVTIHN1cHBvcnQgZm9yIGFzc2lzdGFuY2UgdXBkYXRpbmcgRW1haWwgQWRkcmVzcy5cIjtcbiAgICAgICAgICB0aGlzLnNob3dFcnJvciA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAoZm9ybURhdGFbXCJoaWRPcmlnaW5hbFBob25lXCJdID09PSBcIm51bGxcIiAmJiBmb3JtRGF0YVtcImhpZElzRW1haWxDaGFuZ2VkXCJdID09PSBcIllcIikge1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiVHJ5aW5nIHRvIGNoYW5nZSBlbWFpbCBidXQgcGhvbmUgbnVtYmVyIGlzIG5vdCBwcmVzZW50XCIpO1xuICAgICAgICAgIHRoaXMuZXJyb3JUZXh0ID0gXCJQbGVhc2UgY29udGFjdCBNREVTIHN1cHBvcnQgZm9yIGFzc2lzdGFuY2UgdXBkYXRpbmcgRW1haWwgQWRkcmVzcyBhbmQgQ2VsbCBQaG9uZSBOdW1iZXIuXCI7XG4gICAgICAgICAgdGhpcy5zaG93RXJyb3IgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIGlmIChmb3JtRGF0YVtcImhpZElzRW1haWxDaGFuZ2VkXCJdID09PSBcIllcIikge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCJFbWFpbCBDaGFuZ2VkXCIpO1xuICAgICAgICAgICAgdGhpcy50eXBlID0gJ3RleHQnO1xuICAgICAgICAgIH0gZWxzZSBpZiAoZm9ybURhdGFbXCJoaWRJc1Bob25lQ2hhbmdlZFwiXSA9PT0gXCJZXCIpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiUGhvbmUgQ2hhbmdlZFwiKTtcbiAgICAgICAgICAgIHRoaXMudHlwZSA9ICdlbWFpbCc7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuaXNPdHBTZW50ID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmluaXRpbGl6ZUZvcm0oKTtcbiAgICAgICAgICB0aGlzLnNzLnNlbmRPdHBXaXRob3V0Q2FwdGNoYSh0aGlzLnR5cGUpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdWNjZXNzRHRscyA9IFwiQWNjZXNzIGNvZGUgc2VudCBzdWNjZXNzZnVsbHkuXCI7XG4gICAgICAgICAgfSwgZXJyID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNPdHBTZW50ID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnN1Y2Nlc3NEdGxzID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuZXJyb3JEdGxzID0gZXJyLm1zZztcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gIH1cbiAgaXNBZGRyZXNzQ2hhbmdlZChjdXJyZW50OmFueSwgbGFzdDphbnkpOiBib29sZWFue1xuICByZXR1cm4gY3VycmVudC5zdHJlZXRBZGRyZXNzICE9PSBsYXN0LnN0cmVldEFkZHJlc3MgfHxcbiAgICAgICAgIGN1cnJlbnQub3B0aW9uYWxBZGRyZXNzICE9PSBsYXN0Lm9wdGlvbmFsQWRkcmVzcyB8fCBcbiAgICAgICAgIGN1cnJlbnQuY2l0eSAhPT0gbGFzdC5jaXR5IHx8XG4gICAgICAgICBjdXJyZW50LnN0YXRlPy52YWx1ZSAhPT0gbGFzdC5zdGF0ZT8udmFsdWUgfHxcbiAgICAgICAgIGN1cnJlbnQuemlwICE9PSBsYXN0LnppcCB8fFxuICAgICAgICAgY3VycmVudC5jb3VudHJ5Py52YWx1ZSAhPT0gbGFzdC5jb3VudHJ5Py52YWx1ZTtcbiAgfVxufVxuIiwiPHAtZGlhbG9nIHZpc2libGU9XCJ0cnVlXCIgbW9kYWw9XCJ0cnVlXCIgYXBwZW5kVG89XCJib2R5XCJcclxuICAgIFticmVha3BvaW50c109XCJ7JzEwMjRweCc6ICc3NXZ3JywgJzc2OHB4JzogJzg1dncnLCAnNjQwcHgnOiAnMTAwdncnfVwiIFtzdHlsZV09XCJ7d2lkdGg6ICc2MHZ3J31cIiBwb3NpdGlvbj1cInRvcFwiPlxyXG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxyXG4gICAgICAgIDxpb24tZ3JpZD5cclxuICAgICAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWxlZnQgaGVhZGluZ1wiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiAyNHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7XCJZb3VyIEFjY291bnRcIiB8IHRyYW5zbGF0ZX19IDxzcGFuIHN0eWxlPVwiZm9udC1zaXplOiAxNnB4O1wiPihDTEFJTUFOVCBJRFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e2xzLmdldFVzZXIoKS5jbGFpbWFudElkfX0pPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uICpuZ0lmPVwiIWlzTUUoKVwiIHN0eWxlQ2xhc3M9XCJpb24tcGFkZGluZy1zdGFydFwiIFtvcHRpb25zXT1cInByb2ZpbGVPcHRzXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRcIiAob25PcHRpb25DbGljayk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiAqbmdJZj1cImlzTUUoKVwiIHN0eWxlQ2xhc3M9XCJpb24tcGFkZGluZy1zdGFydFwiIFtvcHRpb25zXT1cInByb2ZpbGVPcHRzSVZSXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRcIiAob25PcHRpb25DbGljayk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgPC9pb24tZ3JpZD5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiIShzaG93U3VjY2VzcyB8fCBzaG93RXJyb3IpXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogLThweDtcIj5cclxuICAgICAgICA8YXBwLWZvcm0tYnVpbGRlciAjZmIgKm5nSWY9XCJzZWxlY3RlZCA9PSAncGVyc29uYWwtZGV0YWlscydcIiBbZmxvd0tleV09XCJzZWxlY3RlZFwiIFtzaG93T25seVF1ZXN0aW9uXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbaGlkZUhlYWRlcl09XCJ0cnVlXCIgW2hpZGVGb290ZXJdPVwidHJ1ZVwiIFtzaXplWHNdPVwiMTJcIiBbc2l6ZVNtXT1cIjEyXCIgW3NpemVNZF09XCIxMlwiIFtzaXplTGddPVwiMTJcIlxyXG4gICAgICAgICAgICBbc2l6ZVhsXT1cIjEyXCIgW29mZnNldFhsXT1cIjBcIiBbb2Zmc2V0TGddPVwiMFwiIChvbkVycm9yKT1cImhhbmRsZUVycm9yKCRldmVudClcIiAob25Db21wbGV0ZSk9XCJzdWNjZXNzKCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC1mb3JtLWJ1aWxkZXI+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkID09ICdjb250YWN0LWRldGFpbHMnXCI+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInNob3dJbmxpbmVFcnJvciAmJiBzZWxlY3RlZCA9PT0gJ2NvbnRhY3QtZGV0YWlscydcIiBjbGFzcz1cImVycm9yLWJhbm5lclwiPlxyXG4gICAgICAgIDxpb24taWNvbiBuYW1lPVwiYWxlcnQtY2lyY2xlLW91dGxpbmVcIiBzdHlsZT1cImNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFuZ2VyKTsgZm9udC1zaXplOiAxOHB4OyBtYXJnaW4tcmlnaHQ6IDhweDtcIj48L2lvbi1pY29uPlxyXG4gICAgICAgIDxzcGFuPnt7IGVycm9yVGV4dCB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YXBwLWZvcm0tYnVpbGRlciAjZmIgKm5nSWY9XCJzZWxlY3RlZCA9PSAnY29udGFjdC1kZXRhaWxzJ1wiIFtmbG93S2V5XT1cInNlbGVjdGVkXCIgW3Nob3dPbmx5UXVlc3Rpb25dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFtoaWRlSGVhZGVyXT1cInRydWVcIiBbaGlkZUZvb3Rlcl09XCJ0cnVlXCIgW3NpemVYc109XCIxMlwiIFtzaXplU21dPVwiMTJcIiBbc2l6ZU1kXT1cIjEyXCIgW3NpemVMZ109XCIxMlwiXHJcbiAgICAgICAgICAgIFtzaXplWGxdPVwiMTJcIiBbb2Zmc2V0WGxdPVwiMFwiIFtvZmZzZXRMZ109XCIwXCIgKG9uRXJyb3IpPVwiaGFuZGxlRXJyb3IoJGV2ZW50KVwiIChvbkNvbXBsZXRlKT1cInN1Y2Nlc3MoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLWZvcm0tYnVpbGRlcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YXBwLWZvcm0tYnVpbGRlciAjZmIgKm5nSWY9XCJzZWxlY3RlZCA9PSAncGF5bWVudC1kZXRhaWxzJ1wiIFtmbG93S2V5XT1cInNlbGVjdGVkXCIgW3Nob3dPbmx5UXVlc3Rpb25dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFtoaWRlSGVhZGVyXT1cInRydWVcIiBbaGlkZUZvb3Rlcl09XCJ0cnVlXCIgW3NpemVYc109XCIxMlwiIFtzaXplU21dPVwiMTJcIiBbc2l6ZU1kXT1cIjEyXCIgW3NpemVMZ109XCIxMlwiXHJcbiAgICAgICAgICAgIFtzaXplWGxdPVwiMTJcIiBbb2Zmc2V0WGxdPVwiMFwiIFtvZmZzZXRMZ109XCIwXCIgKG9uRXJyb3IpPVwiaGFuZGxlRXJyb3IoJGV2ZW50KVwiIChvbkNvbXBsZXRlKT1cInN1Y2Nlc3MoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLWZvcm0tYnVpbGRlcj5cclxuICAgICAgICA8YXBwLWZvcm0tYnVpbGRlciAjZmIgKm5nSWY9XCJzZWxlY3RlZCA9PSAndXBkYXRlLWl2cidcIiBbZmxvd0tleV09XCJzZWxlY3RlZFwiIFtzaG93T25seVF1ZXN0aW9uXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbaGlkZUhlYWRlcl09XCJ0cnVlXCIgW2hpZGVGb290ZXJdPVwidHJ1ZVwiIFtzaXplWHNdPVwiMTJcIiBbc2l6ZVNtXT1cIjEyXCIgW3NpemVNZF09XCIxMlwiIFtzaXplTGddPVwiMTJcIlxyXG4gICAgICAgICAgICBbc2l6ZVhsXT1cIjEyXCIgW29mZnNldFhsXT1cIjBcIiBbb2Zmc2V0TGddPVwiMFwiIChvbkVycm9yKT1cImhhbmRsZUVycm9yKCRldmVudClcIiAob25Db21wbGV0ZSk9XCJzdWNjZXNzKCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC1mb3JtLWJ1aWxkZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJwcm9vZi1vZi11bmVtcGxveW1lbnRcIiAqbmdJZj1cInNlbGVjdGVkID09ICdwcm9vZi1vZi11bmVtcGxveW1lbnQnXCI+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInBoYXNlVHdvUHJvb2ZPZlVJVmlldz09PSd0cnVlJztlbHNlICBub25QaHJhc2VUd29WaWV3XCIgc3R5bGU9XCJwYWRkaW5nOiAwcHggMXJlbVwiPlxyXG4gICAgICAgICAgICA8IS0tIDxoMiBzdHlsZT1cImZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zLCBMaWdodCc7XCI+XHJcbiAgICAgICAgICAgICAgICB7eyBcInByb2ZpbGUucHJvb2Yub2YudW5lbXBsb3ltZW50LmxhYmVsLnByb29mLm9mLnVuZW1wbG95bWVudC5wYXlcInwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgPC9oMj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFsaXN0T2ZBY3RpdmVDbGFpbSB8fCBsaXN0T2ZBY3RpdmVDbGFpbS5sZW5ndGggPT09IDA7IGVsc2UgYWN0aXZlQ2xhaW1UYWJsZVwiPlxyXG4gICAgICAgICAgICAgICA8aDMgc3R5bGU9XCJmb250LWZhbWlseTogJ09wZW4gU2FucywgTGlnaHQnO1wiPlxyXG4gICAgICAgICAgICAgICAge3tcInByb2ZpbGUucHJvb2Yub2YudW5lbXBsb3ltZW50LmxhYmVsLm5vLmFjdGl2ZS5jbGFpbVwifCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNhY3RpdmVDbGFpbVRhYmxlPlxyXG4gICAgICAgICAgICAgICAgPHAtdGFibGUgW3ZhbHVlXT1cImxpc3RPZkFjdGl2ZUNsYWltXCIgZGF0YUtleT1cImNsYWltSWRcIiBbcm93RXhwYW5kTW9kZV09XCInc2luZ2xlJ1wiIHN0eWxlQ2xhc3M9XCJzZXBlcmF0ZS1yb3dcIiBjbGFzcz1cInNlcGVyYXRlLXJvd1wiXHJcbiAgICAgICAgICAgICAgICBbdGFibGVTdHlsZV09XCJ7J2JvcmRlci1jb2xsYXBzZSc6ICdzZXBhcmF0ZScsJ2JvcmRlci1zcGFjaW5nJzogJzAgOHB4J31cIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LWRhdGEgbGV0LWV4cGFuZGVkPVwiZXhwYW5kZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgW3BSb3dUb2dnbGVyXT1cImRhdGFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgW25nQ2xhc3NdPVwiZXhwYW5kZWQgPyAncGkgcGktY2hldnJvbi1kb3duJyA6ICdwaSBwaS1jaGV2cm9uLXJpZ2h0J1wiIHN0eWxlPVwiZm9udC1zaXplOiAxLjVyZW07XCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4gICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkYXRhLmVmZmVjdGl2ZURhdGV9fSAtIHt7ZGF0YS5ieWVEYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkYXRhLmVudGl0bGVtZW50VHlwZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cInJvd2V4cGFuc2lvblwiIGxldC1kYXRhPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj1cIjdcIiBzdHlsZT1cIiBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlNGU0ZTQ7Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2U0ZTRlNDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1ncmlkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O2p1c3RpZnktY29udGVudDogY2VudGVyO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiZG9jRmlsZUxpbmtcIiBoZWlnaHQ9JzUwMHB4JyB3aWR0aD0nNDIwcHgnLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O2ZsZXgtZGlyZWN0aW9uOiBjb2x1bW47anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLXJvdyA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImRhdGEuZGVzY3JpcHRpb25cIiBzdHlsZT1cImZvbnQtc2l6ZTogMTlweDtcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwib3V0bGluZVwiIHNoYXBlPVwicm91bmRcIiBzdHlsZT1cInBhZGRpbmctaW5saW5lLWVuZDogMnJlbTtcIiAoY2xpY2spPVwiZ2V0VmVyaWZpY2F0aW9uUmVwb3J0KClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgXCJwcm9maWxlLnByb29mLm9mLnVuZW1wbG95bWVudC5idXR0b24uZG93bmxvYWQucmVwb3J0XCJ8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWdyaWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8L3AtdGFibGU+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+IC0tPlxyXG4gICAgICAgICAgICA8aW9uLWdyaWQgc3R5bGU9XCJtYXJnaW4tdG9wOiAxNXB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2wgKm5nSWY9XCIhaXNNRSgpXCIgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiIGxheW91dD1cInJvd1wiIHN0eWxlID0gXCJtYXJnaW46M3B4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWNhcmQgY2xhc3M9XCJwLTRcIiBzdHlsZT1cImhlaWdodDogMTAwJTtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24taGVhZGVyIHN0eWxlPVwiYm94LXNoYWRvdzogMCAwIDAgMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tY2FyZC10aXRsZT48aSBjbGFzcz1cInBpIHBpLWZpbGVcIiBzdHlsZT1cImNvbG9yOiB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSk7Zm9udC1zaXplOiAzMHB4O1wiPjwvaT57eyBcInByb2ZpbGUucHJvb2Yub2YudW5lbXBsb3ltZW50LnBoYXNlLnR3by5sYWJlbC5kb3dubG9hZC51bmVtcGxveW1lbnQuY2xhaW0ucmVwb3J0XCJ8IHRyYW5zbGF0ZX19PC9pb24tY2FyZC10aXRsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tY2FyZC1jb250ZW50IGNsYXNzPVwicGwtMCBwci0wIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCIgc3R5bGU9XCJoZWlnaHQ6IDEwMCU7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7J3Byb2ZpbGUucHJvb2Yub2YudW5lbXBsb3ltZW50LnBoYXNlLnR3by5vdmVybGF5LnVuZW1wbG95bWVudC5jbGFpbS5yZXBvcnQnfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIChjbGljayk9XCJnZXRFeHRlcm5hbENsYWltYW50UmVwb3J0KClcIiBzdHlsZT1cInBhZGRpbmctYm90dG9tOjMwcHhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIkNsYWltYW50LXJlcG9ydC1idG5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJkb3dubG9hZC1vdXRsaW5lXCIgY2xhc3M9XCJwci0xIHBiLTFcIj48L2lvbi1pY29uPnt7IFwicHJvZmlsZS5wcm9vZi5vZi51bmVtcGxveW1lbnQucGhhc2UudHdvLmJ1dHRvbi5kb3dubG9hZC5yZXBvcnRcInwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1jYXJkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZG93bmxvYWRTdGF0dXM9PSdzdGFydGVkJ1wiPnt7IFwicHJvZmlsZS5wcm9vZi5vZi51bmVtcGxveW1lbnQuc3RhdHVzLmRvd25sb2FkLnN0YXJ0XCJ8IHRyYW5zbGF0ZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJkb3dubG9hZFN0YXR1cz09J2Vycm9yJ1wiPnt7IFwicHJvZmlsZS5wcm9vZi5vZi51bmVtcGxveW1lbnQuc3RhdHVzLmRvd25sb2FkLmVycm9yXCJ8IHRyYW5zbGF0ZX19PC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tY29sIGxheW91dD1cInJvd1wiIGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIiBzdHlsZSA9IFwibWFyZ2luOjNweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1jYXJkIGNsYXNzPVwicC00XCIgc3R5bGU9XCJoZWlnaHQ6IDEwMCU7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWhlYWRlciBzdHlsZT1cImJveC1zaGFkb3c6IDAgMCAwIDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWNhcmQtdGl0bGU+PGkgY2xhc3M9XCJwaSBwaS1jaGVjay1jaXJjbGVcIiBzdHlsZT1cImNvbG9yOiB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSk7Zm9udC1zaXplOiAzMHB4O1wiPjwvaT4gIHt7IFwicHJvZmlsZS5wcm9vZi5vZi51bmVtcGxveW1lbnQucGhhc2UudHdvLmxhYmVsLnN1bW1hcnkudW5lbXBsb3ltZW50LmNsYWltXCJ8IHRyYW5zbGF0ZX19PC9pb24tY2FyZC10aXRsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tY2FyZC1jb250ZW50IGNsYXNzPVwicGwtMCBwci0wIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCIgc3R5bGU9XCJoZWlnaHQ6IDEwMCU7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7J3Byb2ZpbGUucHJvb2Yub2YudW5lbXBsb3ltZW50LnBoYXNlLnR3by5vdmVybGF5LnN1bW1hcnkudW5lbXBsb3ltZW50LmNsYWltJ3wgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwicmVkaXJlY3RMaW5rKCcuY2xhaW1hbnRzdW1tYXJ5dmVyaWZpY2F0aW9uJylcIiBzdHlsZT1cInBhZGRpbmctYm90dG9tOjMwcHhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIkNsYWltYW50LXN1bW1hcnktdmVyLWJ0blwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImRvd25sb2FkLW91dGxpbmVcIiBjbGFzcz1cInByLTEgcGItMVwiPjwvaW9uLWljb24+IHt7IFwicHJvZmlsZS5wcm9vZi5vZi51bmVtcGxveW1lbnQucGhhc2UudHdvLmJ1dHRvbi5kb3dubG9hZC5yZXBvcnRcInwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWNhcmQtY29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWNhcmQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8L2lvbi1ncmlkPlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI25vblBocmFzZVR3b1ZpZXc+XHJcbiAgICAgICAgICAgIDxpb24tZ3JpZCBzdHlsZT1cIm1hcmdpbi10b3A6IDE1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgICAgIDxpb24tY29sICpuZ0lmPVwiIWlzTUUoKVwiIGxheW91dD1cInJvd1wiIHN0eWxlID0gXCJtYXJnaW46M3B4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgXCJwcm9maWxlLnByb29mLm9mLnVuZW1wbG95bWVudC5sYWJlbC5kb3dubG9hZC51bmVtcGxveW1lbnQuY2xhaW0ucmVwb3J0XCJ8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8YnI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cImdldEV4dGVybmFsQ2xhaW1hbnRSZXBvcnQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiQ2xhaW1hbnQtcmVwb3J0LWJ0blwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImRvd25sb2FkLW91dGxpbmVcIj48L2lvbi1pY29uPnt7IFwicHJvZmlsZS5wcm9vZi5vZi51bmVtcGxveW1lbnQuYnV0dG9uLmV4dGVybmFsLmNsYWltYW50LnJlcG9ydFwifCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8YnI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImRvd25sb2FkU3RhdHVzPT0nc3RhcnRlZCdcIj57eyBcInByb2ZpbGUucHJvb2Yub2YudW5lbXBsb3ltZW50LnN0YXR1cy5kb3dubG9hZC5zdGFydFwifCB0cmFuc2xhdGV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJkb3dubG9hZFN0YXR1cz09J2Vycm9yJ1wiPnt7IFwicHJvZmlsZS5wcm9vZi5vZi51bmVtcGxveW1lbnQuc3RhdHVzLmRvd25sb2FkLmVycm9yXCJ8IHRyYW5zbGF0ZX19PC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWNvbCBsYXlvdXQ9XCJyb3dcIiBzdHlsZSA9IFwibWFyZ2luOjNweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwicHJvZmlsZS5wcm9vZi5vZi51bmVtcGxveW1lbnQubGFiZWwuc3VtbWFyeS51bmVtcGxveW1lbnQuY2xhaW1cInwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxicj5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgZmlsbD1cIm91dGxpbmVcIiAoY2xpY2spPVwicmVkaXJlY3RMaW5rKCcuY2xhaW1hbnRzdW1tYXJ5dmVyaWZpY2F0aW9uJylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIkNsYWltYW50LXN1bW1hcnktdmVyLWJ0blwiPnt7IFwicHJvZmlsZS5wcm9vZi5vZi51bmVtcGxveW1lbnQuYnV0dG9uLnVuZW1wbG95bWVudC52ZXJpZmljYXRpb25cInwgdHJhbnNsYXRlfX08L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICA8L2lvbi1ncmlkPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJpc01TKCkgJiYgc2VsZWN0ZWQgPT0gJ2NvbnRhY3QtZGV0YWlscycgJiYgaXNPdHBTZW50ID09IHRydWVcIiBzdHlsZT1cIm1hcmdpbi10b3A6IC05MHB4O1wiPlxyXG4gICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwib3RwRm9ybVwiICNvdHBGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCI+XHJcbiAgICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtZmx1aWQgcC1mb3JtZ3JpZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIm90cFwiIFtpbm5lckhUTUxdPVwiJ3Byb2ZpbGUuY29udGFjdC5kZXRhaWxzLmxhYmVsLm90cCcgfCB0cmFuc2xhdGU6eyB0eXBlOiB0eXBlIH1cIj48L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cC1pbnB1dE1hc2sgZm9ybUNvbnRyb2xOYW1lPVwib3RwXCIgbWFzaz1cIjk5OTk5OVwiIHNpemU9XCI2XCIgbWF4bGVuZ3RoPVwiNlwiIG1pbmxlbmd0aD1cIjZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdXRvRm9jdXNdPSd0cnVlJyB0aXRsZT0nRW50ZXIgQXV0aGNvZGUnPjwvcC1pbnB1dE1hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmaWVsZF09J290cCcgW2Zvcm1dPVwib3RwRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ0F1dGhjb2RlIGlzIHJlcXVpcmVkLicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWlubGVuZ3RoOiAnQXV0aGNvZGUgc2hvdWxkIGhhdmUgNiBudW1iZXJzLidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIHR5cGU9XCJzdWJtaXRcIiAoY2xpY2spPVwidmVyaWZ5KClcIj57eyBcInByb2ZpbGUuY29udGFjdC5kZXRhaWxzLmJ1dHRvbi52ZXJpZnlcInwgdHJhbnNsYXRlfX08L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgIDwvZm9ybT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cImlzTUUoKSAmJiBzZWxlY3RlZCA9PSAnY29udGFjdC1kZXRhaWxzJyAmJiBkaXNwbGF5U2VjdXJpdHlRdWVzdGlvbiA9PSB0cnVlXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAtOTBweDtcIj5cclxuICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cInNlY3VyaXR5UXVlc3Rpb25Gb3JtXCIgI3NlY3VyaXR5UXVlc3Rpb25Gb3JtRGlyZWN0aXZlPVwibmdGb3JtXCI+XHJcbiAgICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtZmx1aWQgcC1mb3JtZ3JpZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic2VjdXJpdHlRdWVzdGlvbkFuc3dlclwiIFtpbm5lckhUTUxdPVwiJ3Byb2ZpbGUuY29udGFjdC5kZXRhaWxzLmxhYmVsLnNlY3VyaXR5UXVlc3Rpb24nIHwgdHJhbnNsYXRlOnsgc2VjdXJpdHlRdWVzdGlvblRvQXNrOiBzZWN1cml0eVF1ZXN0aW9uVG9Bc2sgfVwiPjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHQ8aW5wdXQgcElucHV0VGV4dCBmb3JtQ29udHJvbE5hbWU9XCJzZWN1cml0eVF1ZXN0aW9uQW5zd2VyXCIgc2l6ZT1cIjMwXCIgbWF4bGVuZ3RoPVwiMzBcIiB0aXRsZT1cIlNlY3VyaXR5IEFuc3dlclwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmaWVsZF09J3NlY3VyaXR5UXVlc3Rpb25BbnN3ZXInIFtmb3JtXT1cInNlY3VyaXR5UXVlc3Rpb25Gb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnU2VjdXJpdHkgQW5zd2VyIGlzIHJlcXVpcmVkLidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIHR5cGU9XCJzdWJtaXRcIiAoY2xpY2spPVwidmVyaWZ5U2VjdXJpdHlRdWVzdGlvbigpXCI+e3sgXCJwcm9maWxlLmNvbnRhY3QuZGV0YWlscy5idXR0b24udmVyaWZ5XCJ8IHRyYW5zbGF0ZX19PC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICA8L2Zvcm0+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJlcnJvckR0bHNcIj57e2Vycm9yRHRsc319PC9tYXQtZXJyb3I+XHJcbiAgICA8aW9uLWxhYmVsICpuZ0lmPVwic3VjY2Vzc0R0bHNcIiBzdHlsZT1cImNvbG9yOiB2YXIoLS1pb24tY29sb3ItZ3JlZW4pXCI+e3tzdWNjZXNzRHRsc319PGJyIC8+PC9pb24tbGFiZWw+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cInNob3dTdWNjZXNzXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImlvbi10ZXh0LWNlbnRlciBpb24tcGFkZGluZy10b3BcIj5cclxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjaGVja21hcmstY2lyY2xlXCIgc3R5bGU9XCJmb250LXNpemU6IDgwcHg7IGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZ3JlZW4pO1wiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICAgIDxoMT57eyBcInByb2ZpbGUuYmFubmVyLnN1Y2Nlc3NcInwgdHJhbnNsYXRlfX08L2gxPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cInNob3dFcnJvclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXIgaW9uLXBhZGRpbmctdG9wXCI+XHJcbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2xvc2UtY2lyY2xlLW91dGxpbmVcIiBzdHlsZT1cImZvbnQtc2l6ZTogODBweDsgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYW5nZXIpO1wiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICAgIDxzZWN0aW9uICpuZ0lmPVwiaXNNUygpXCI+XHJcbiAgICAgICAgICAgICAgICA8aDE+e3sgZXJyb3JUZXh0ID8gZXJyb3JUZXh0IDogKCdwcm9maWxlLmJhbm5lci5yZXF1ZXN0LnByb2Nlc3MuZmFpbHVyZScgfCB0cmFuc2xhdGUpIH19PC9oMT5cclxuICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgICA8c2VjdGlvbiAqbmdJZj1cIiFpc01TKClcIj5cclxuICAgICAgICAgICAgICAgIDxoMT57e2Vycm9yVGV4dCA/IGVycm9yVGV4dCA6ICgncHJvZmlsZS5iYW5uZXIucmVxdWVzdC5wcm9jZXNzLmZhaWx1cmUnIHwgdHJhbnNsYXRlKSB9fTwvaDE+XHJcbiAgICAgICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImZvb3RlclwiPlxyXG4gICAgICAgIDxpb24tZ3JpZD5cclxuICAgICAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWxlZnRcIiBzaXplPVwiMTJcIiBzaXplWGw9XCI0XCIgc2l6ZUxnPVwiNFwiIHNpemVNZD1cIjVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgZmlsbD1cIm91dGxpbmVcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImxvZ291dCgpXCI+e3sgXCJwcm9maWxlLmJ1dHRvbi5sb2dvdXRcInwgdHJhbnNsYXRlfX08L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0XCIgc2l6ZT1cIjEyXCIgc2l6ZVhsPVwiOFwiIHNpemVMZz1cIjhcIiBzaXplTWQ9XCI3XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIGZpbGw9XCJvdXRsaW5lXCIgdHlwZT1cInJlc2V0XCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+e3sgXCJwcm9maWxlLmJ1dHRvbi5jbG9zZVwifCB0cmFuc2xhdGV9fTwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgdHlwZT1cInN1Ym1pdFwiIChjbGljayk9XCJzYXZlKClcIiAqbmdJZj1cIiEoc2hvd1N1Y2Nlc3MgfHwgc2hvd0Vycm9yKSAmJiBzZWxlY3RlZCE9J3Byb29mLW9mLXVuZW1wbG95bWVudCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNPdHBTZW50PT0gdHJ1ZSB8fCBkaXNwbGF5U2VjdXJpdHlRdWVzdGlvbj09IHRydWVcIj57eyBcInByb2ZpbGUuYnV0dG9uLnNhdmVcInwgdHJhbnNsYXRlfX08L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICA8L2lvbi1ncmlkPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9wLWRpYWxvZz4iXX0=
|
|
504
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProfileComponent, { className: "ProfileComponent", filePath: "lib\\components\\profile\\profile.component.ts", lineNumber: 19 }); })();
|
|
505
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcHJvZmlsZS9wcm9maWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9wcm9maWxlL3Byb2ZpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNFNUQsZ0NBQVUsY0FBQSxpQkFBQTtJQUdFLFlBQTZDOztJQUFBLCtCQUErQjtJQUFBLFlBQzVDO0lBQUEsaUJBQU8sRUFBQSxFQUFBO0lBRy9DLCtCQUFTLGNBQUEsd0JBQUE7SUFHbUIsK09BQXNCLHNMQUFrQixlQUFBLDRCQUFxQixDQUFBLElBQXZDO0lBQzlDLGlCQUFpQixFQUFBLEVBQUEsRUFBQTs7O0lBUmIsZUFBNkM7SUFBN0MsbUZBQTZDO0lBQStCLGVBQzVDO0lBRDRDLG1FQUM1QztJQUtlLGVBQXVCO0lBQXZCLDRDQUF1Qiw0QkFBQTs7O0lBU2xGLDJCQUE2RztJQUNqRyxZQUNaO0lBQUEsaUJBQU07OztJQURNLGVBQ1o7SUFEWSx3RUFDWjs7OztJQUNBLGdEQUN1SztJQUEvRCx1TUFBVyxlQUFBLDJCQUFtQixDQUFBLElBQUMsZ01BQWUsZUFBQSx1QkFBZSxDQUFBLElBQTlCO0lBQ3ZJLGlCQUFtQjs7O0lBRjBDLDBDQUFvQiwwQkFBQSxvQkFBQSxvQkFBQSxjQUFBLGNBQUEsY0FBQSxjQUFBLGNBQUEsZUFBQSxlQUFBOzs7O0lBR2pG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RkEzVlUsZ0JBQWdCO29FQUFoQixnQkFBZ0I7Ozs7OztZQ2xCN0IsbUNBQzZDO1lBQ3pDLGtGQWdCYyxvREFBQSxvREFBQSxvREFBQSxxRUFBQSw0RUFBQSx3RkFBQTtZQW1EbEIsaUJBQVc7O1lBcEVQLHlDQUF5QjtZQUR5Qix3REFBcUU7WUFvQmpILGVBQWlDO1lBQWpDLDBEQUFpQztZQWdCakMsZUFBaUI7WUFBakIsc0NBQWlCO1lBT2pCLGVBQWU7WUFBZixvQ0FBZTtZQW9CSCxlQUE4QjtZQUE5QixtREFBOEI7WUFFeEIsZUFBK0I7WUFBL0Isb0RBQStCOzs7aUZEL0M5QyxnQkFBZ0I7Y0FMNUIsU0FBUzsyQkFDRSxhQUFhO2dPQVFOLEVBQUU7a0JBQWxCLFNBQVM7bUJBQUMsSUFBSTtZQUdmLFFBQVE7a0JBRFAsTUFBTTtZQUlQLEtBQUs7a0JBREosTUFBTTs7a0ZBVEksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tYm9PcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9Db21ib01vZGVsJztcclxuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZSc7XHJcbmltcG9ydCB7IENsYWltYW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NsYWltYW50LXNlcnZpY2UvY2xhaW1hbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC91dGlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlclBhZ2UgfSBmcm9tICcuLi9xdWVzdGlvbm5haXJlL2Zvcm0tYnVpbGRlci9mb3JtLWJ1aWxkZXIucGFnZSc7XHJcbmltcG9ydCB7IE5hdkNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XHJcbmltcG9ydCB7IFVzZXJNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9Vc2VyTW9kZWwnO1xyXG5pbXBvcnQgeyBTZWN1cml0eVF1ZXN0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvU2VjdXJpdHlRdWVzdGlvbk1vZGVsJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQ2xhaW1hbnRVc3BzUmVkaXJlY3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2xhaW1hbnQtc2VydmljZS9jbGFpbWFudC11c3BzLXJlZGlyZWN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMZXhpc05leGlzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xleGlzLW5leGlzL2xleGlzLm5leGlzLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcHJvZmlsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2ZpbGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Byb2ZpbGUuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2ZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIHNob3dTdWNjZXNzID0gZmFsc2U7XHJcbiAgc2hvd0Vycm9yID0gZmFsc2U7XHJcbiAgZXJyb3JUZXh0OiBzdHJpbmc7XHJcbiAgQFZpZXdDaGlsZCgnZmInKSBmYjogRm9ybUJ1aWxkZXJQYWdlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBvbkNhbmNlbDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIGVycm9yOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgcHVibGljIHByb2ZpbGVPcHRzID0gQ29tYm9PcHRpb24uQ0xBSU1BTlRfUFJPRklMRV9PUFRTO1xyXG5cclxuICBwdWJsaWMgc2VsZWN0ZWQgPSAncGVyc29uYWwtZGV0YWlscyc7XHJcblxyXG4gIHB1YmxpYyBpc1JldHVybmluZ1VzZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyB2ZXJpZmljYXRpb25QcmVmZXJlbmNlO1xyXG5cclxuICBwdWJsaWMgc3NuOiBzdHJpbmc7XHJcbiAgcHVibGljIHVzZXJOYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIGN1c3RvbWVyRXZlbnRUeXBlIDogc3RyaW5nO1xyXG4gIHB1YmxpYyBhbGxTZWN1cml0eVF1ZXN0aW9ucztcclxuICBwdWJsaWMgdXNlcnNRdWVzQW5kQW5zO1xyXG4gIHB1YmxpYyBtYXBwZWRLZXlzUXVlc3Rpb25zRm9yVXNlcjtcclxuXHJcbiAgcHVibGljIGlzU2VjdXJpdHlRdWVzdGlvbkVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgaXNQYXltZW50T3B0aW9uUXVlc3Rpb25zRW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBpc1BheW1lbnRPcHRpb25EaXZFbmFibGVkOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgaXNMZXhpc05leGlzUG9wdXBFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHVzcHNSZWRpcmVjdFVybDogc3RyaW5nO1xyXG5cclxuICBwdWJsaWMgaXNCdXR0b25EaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBpc0xleGlzTmV4aXNQcm9vZmVkV2l0aGluVHdlbnR5Rm91ckhvdXJzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyB1c2VyUGVyc29uYWxEZXRhaWw6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgdXRpbDogVXRpbFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgbHM6IExvZ2luU2VydmljZSxcclxuICAgIHB1YmxpYyBuYXY6IE5hdkNvbnRyb2xsZXIsXHJcbiAgICBwdWJsaWMgY3M6IENsYWltYW50U2VydmljZSxcclxuICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcclxuICAgIHB1YmxpYyB1cjogQ2xhaW1hbnRVc3BzUmVkaXJlY3RTZXJ2aWNlLFxyXG4gICAgcHVibGljIGxuOiBMZXhpc05leGlzU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZihsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImxhbmd1YWdlXCIpID09PSBcImVzXCIpe1xyXG4gICAgICB0aGlzLnByb2ZpbGVPcHRzID0gQ29tYm9PcHRpb24uQ0xBSU1BTlRfUFJPRklMRV9PUFRTX0VTO1xyXG4gICAgfSBlbHNle1xyXG4gICAgICB0aGlzLnByb2ZpbGVPcHRzID0gQ29tYm9PcHRpb24uQ0xBSU1BTlRfUFJPRklMRV9PUFRTO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRVc2VyRGV0YWlscygpO1xyXG5cclxuICAgIC8vR2V0IHVzZXIgcGVyc29uYWwtZGV0YWlsc1xyXG4gICAgdGhpcy5nZXRQZXJzb25hbERldGFpbHMoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgICAgY29uc3QgcERpYWxvZyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2Rpdltyb2xlPWRpYWxvZ10nKTtcclxuICAgICAgcERpYWxvZz8uc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknLCAncGRpYWxvZy10aXRsZScpOyBcclxuICAgICAgXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RpdiAuaW9uQnV0dG9uJykuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdyb2xlJywgJ2J1dHRvbicpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LCAxMDAwKVxyXG4gICAgICBcclxuICB9XHJcblxyXG4gIFxyXG4gIGdldFVzZXJEZXRhaWxzKCkge1xyXG4gICAgdGhpcy5jcy5nZXRVc2VyRGV0YWlsc0ZvckxvZ2dlZEluVXNlcigpLnN1YnNjcmliZShcclxuICAgICAgKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zc24gPSByZXM/LnNzbjtcclxuICAgICAgICB0aGlzLnZlcmlmaWNhdGlvblByZWZlcmVuY2UgPSByZXM7XHJcbiAgICAgICAgdGhpcy51c2VyTmFtZSA9IHJlcz8udXNlck5hbWU7XHJcbiAgICAgICAgdGhpcy5pc0xleGlzTmV4aXNQcm9vZmVkV2l0aGluMjRIb3Vycyh0aGlzLnVzZXJOYW1lKTtcclxuICAgICAgfSxcclxuICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBpc0xleGlzTmV4aXNQcm9vZmVkV2l0aGluMjRIb3Vycyhzc24gOiBTdHJpbmcpe1xyXG4gICAgdGhpcy5sbi5pc0xleGlzTmV4aXNQcm9vZmVkV2l0aGluMjRIb3Vycyh0aGlzLnVzZXJOYW1lKS5zdWJzY3JpYmUoKHJlcyA6IGJvb2xlYW4pID0+IHtcclxuICAgICAgdGhpcy5pc0xleGlzTmV4aXNQcm9vZmVkV2l0aGluVHdlbnR5Rm91ckhvdXJzID0gcmVzO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblZhbHVlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICB0aGlzLnNob3dFcnJvciA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93U3VjY2VzcyA9IGZhbHNlOyAgXHJcbiAgICBpZih0aGlzLnNlbGVjdGVkICE9ICdwYXltZW50LWRldGFpbHMnKXtcclxuICAgICAgdGhpcy5pc1BheW1lbnRPcHRpb25RdWVzdGlvbnNFbmFibGVkPXRydWU7XHJcbiAgIH1cclxuICB9XHJcblxyXG4gIGNhbmNlbCgpIHtcclxuICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICB0aGlzLm9uQ2FuY2VsLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHNhdmUoKSB7XHJcbiAgICBpZiggdGhpcy5mYi5pbnZhbGlkKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMuZmIpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBkaXJ0eUl0ZW1zID0gdGhpcy5mYi5nZXREaXJ0eUl0ZW1zKCk7XHJcbiAgICB0aGlzLnV0aWwuc2hvd0xvYWRlcigpO1xyXG5cclxuICAgLy8gdGhpcy5zYXZlUXVlc3Rpb25uYWlyZSgpOyAvLyBGaXJzdCBzYXZpbmcgdGhlIGNoYW5nZSBpbiB0aGUgZGJcclxuXHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkID09PSAncGVyc29uYWwtZGV0YWlscycpIHtcclxuICAgICAgICAgIGNvbnN0IG5hbWVDb250cm9scyA9IFsnZnN0bmFtZScsICdtaWRkbGVuYW1lJywgJ2xzdG5hbWUnXTtcclxuICAgICAgICAgIGlmIChkaXJ0eUl0ZW1zLnNvbWUoaXRlbSA9PiBuYW1lQ29udHJvbHMuaW5jbHVkZXMoaXRlbSkpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmN1c3RvbWVyRXZlbnRUeXBlID0gJ25hbWUnOyAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC8vIFVuY29tbWVudCB0byBlbmFibGUgTGV4aXMgTmV4aXNcclxuICAgICAgICAgICAgICAgIGNvbnN0IGRpcnR5SXRlbVdpdGhWYWx1ZXMgPSB0aGlzLmZiLmdldERpcnR5SXRlbXNXaXRoVmFsdWVzKCk7XHJcbiAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzTGV4aXNOZXhpc1Byb29mZWRXaXRoaW5Ud2VudHlGb3VySG91cnMgJiYgdGhpcy52YWxpZGF0ZU5hbWVDaGFuZ2UoZGlydHlJdGVtV2l0aFZhbHVlcykpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpOyAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbmFibGVMZXhpc05leGlzKCk7XHJcbiAgICAgICAgICAgICAgICAgIH1lbHNleyAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXRpbC5zaG93TG9hZGVyKCk7ICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2F2ZVF1ZXN0aW9ubmFpcmUoKTtcclxuICAgICAgICAgICAgICAgICAgfSAgICAgIFxyXG4gICAgICAgICAgICAgICAgLy8gQ29tbWVudCB0byBlbmFibGUgTGV4aXMgTmV4aXNcclxuICAgICAgICAgICAgICAgIC8vIHRoaXMub25DYW5jZWwuZW1pdCgpO1xyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy50cmlnZ2VyVWRvbCgpO1xyXG4gICAgICAgICAgfWVsc2V7ICBcclxuICAgICAgICAgICAgdGhpcy51dGlsLnNob3dMb2FkZXIoKTsgICAgICAgXHJcbiAgICAgICAgICAgICB0aGlzLnNhdmVRdWVzdGlvbm5haXJlKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3RlZCA9PT0gJ2NvbnRhY3QtZGV0YWlscycpIHsgIFxyXG4gICAgICAgIGNvbnN0IGNvbnRhY3RkZXRhaWxzQ29udHJvbHMgPSBbJ3Bob25lJ107ICAgICAgIFxyXG4gICAgICAgICAgIC8vIGRpcnR5SXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZGlydHlJdGVtcy5zb21lKGl0ZW0gPT4gY29udGFjdGRldGFpbHNDb250cm9scy5pbmNsdWRlcyhpdGVtKSkpIHtcclxuICAgICAgICAgIC8vICAgIGlmIChpdGVtID09PSAncGhvbmUnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXN0b21lckV2ZW50VHlwZSA9ICdwaG9uZSc7XHJcbiAgICAgICAgICAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICAgICAgICAgICAgICAgIGlmKHRoaXMuaXNMZXhpc05leGlzUHJvb2ZlZFdpdGhpblR3ZW50eUZvdXJIb3Vycyl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRBbGxTZWN1cml0eVF1ZXN0aW9ucygpO1xyXG4gICAgICAgICAgICAgICAgICB9ZWxzZXsgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2F2ZVF1ZXN0aW9ubmFpcmUoKTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfWVsc2V7ICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgIHRoaXMuc2F2ZVF1ZXN0aW9ubmFpcmUoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgLy8gICB9KTtcclxuICAgICAgICAgICAgXHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuc2VsZWN0ZWQgPT09ICdwYXltZW50LWRldGFpbHMnKSB7ICAgICAgICAgICBcclxuICAgICAgICAgICAgICB0aGlzLnNhdmVRdWVzdGlvbm5haXJlKCk7IFxyXG4gICAgICAgICAgICAgIC8vICB0aGlzLmlzUGF5bWVudE9wdGlvblF1ZXN0aW9uc0VuYWJsZWQ9ZmFsc2U7XHJcbiAgICAgICAgICAgICB0aGlzLmlzU2VjdXJpdHlRdWVzdGlvbkVuYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgIHRoaXMuaXNMZXhpc05leGlzUG9wdXBFbmFibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICB0aGlzLmlzQnV0dG9uRGlzYWJsZWQgPSBmYWxzZTsgXHJcbiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgLy8gdGhpcy5pc1BheW1lbnRPcHRpb25EaXZFbmFibGVkPXRydWU7XHJcbiAgICB9XHJcbiAgICAgXHJcbiAgfVxyXG5cclxuICBvblNlY3VyaXR5UXVlc3Rpb25TdWNjZXNzKCl7XHJcbiAgICBpZih0aGlzLnNlbGVjdGVkICE9ICdwYXltZW50LWRldGFpbHMnKXtcclxuICAgICAgIHRoaXMudXRpbC5zaG93TG9hZGVyKCk7XHJcbiAgICAgICB0aGlzLnNhdmVRdWVzdGlvbm5haXJlKCk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5pc1BheW1lbnRPcHRpb25RdWVzdGlvbnNFbmFibGVkPXRydWU7XHJcbiAgICAvLyAgdGhpcy5pc1BheW1lbnRPcHRpb25EaXZFbmFibGVkPXRydWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzU2VjdXJpdHlRdWVzdGlvbkVuYWJsZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuaXNMZXhpc05leGlzUG9wdXBFbmFibGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLmlzQnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgXHJcbiAgfVxyXG5cclxuICBzYXZlUXVlc3Rpb25uYWlyZSgpIHsgICAgXHJcbiAgICB0aGlzLmZiLnN1Ym1pdFF1ZXN0aW9ubmFpcmUoKTtcclxuICB9XHJcblxyXG4gIGdldEFsbFNlY3VyaXR5UXVlc3Rpb25zKCkge1xyXG4gICAgdGhpcy5jcy5nZXRBbGxTZWN1cml0eVF1ZXN0aW9uKCkuc3Vic2NyaWJlKFxyXG4gICAgICAocmVzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5hbGxTZWN1cml0eVF1ZXN0aW9ucyA9IHJlcztcclxuICAgICAgICB0aGlzLmxvYWRTZWN1cml0eVF1ZXN0aW9uc09mQ2xhaW1hbnQocmVzKTtcclxuICAgICAgIC8vIHRoaXMuc2F2ZVF1ZXN0aW9ubmFpcmUoKTtcclxuICAgICAgfSxcclxuICAgICAgKGVycikgPT4ge31cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBsb2FkU2VjdXJpdHlRdWVzdGlvbnNPZkNsYWltYW50KFxyXG4gICAgYWxsUXVlc3Rpb25XaXRoS2V5czogU2VjdXJpdHlRdWVzdGlvbk1vZGVsW11cclxuICApIHtcclxuICAgIHZhciB1c2VyTmFtZSA9IHRoaXMudXNlck5hbWU7XHJcbiAgICB0aGlzLnV0aWwuZ2V0PFVzZXJNb2RlbD4oYHVzZXIvc2VjdXJpdHkvJHt1c2VyTmFtZX1gKS5zdWJzY3JpYmUoXHJcbiAgICAgIChyZXMpID0+IHtcclxuICAgICAgICB0aGlzLnVzZXJzUXVlc0FuZEFucyA9IHJlcztcclxuICAgICAgICAvLyBJbml0aWFsaXplIG1hcHBlZEtleXNRdWVzdGlvbnNGb3JVc2VyXHJcbiAgICAgICAgdGhpcy5tYXBwZWRLZXlzUXVlc3Rpb25zRm9yVXNlciA9IFtdO1xyXG4gICAgICAgIC8vIExpc3Qgb2YgcG9zc2libGUgc2VjdXJpdHkgcXVlc3Rpb24gZmllbGRzXHJcbiAgICAgICAgY29uc3Qgc2VjdXJpdHlRdWVzdGlvbkZpZWxkcyA9IFtcclxuICAgICAgICAgICdzZWN1cml0eVF1ZXN0aW9uJyxcclxuICAgICAgICAgICdzZWN1cml0eVF1ZXN0aW9uMicsXHJcbiAgICAgICAgICAnc2VjdXJpdHlRdWVzdGlvbjMnLFxyXG4gICAgICAgIF07XHJcbiAgICAgICAgLy8gQ3JlYXRlIGEgbWFwIGZvciBxdWljayBsb29rdXAgb2YgcXVlc3Rpb24gZGVzY3JpcHRpb25zXHJcbiAgICAgICAgY29uc3QgcXVlc3Rpb25NYXAgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgYWxsUXVlc3Rpb25XaXRoS2V5cykge1xyXG4gICAgICAgICAgcXVlc3Rpb25NYXAuc2V0KGl0ZW0ua2V5LCBpdGVtLmRlc2NyaXB0aW9uIHx8ICcnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIHNlY3VyaXR5IHF1ZXN0aW9uIGZpZWxkXHJcbiAgICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiBzZWN1cml0eVF1ZXN0aW9uRmllbGRzKSB7XHJcbiAgICAgICAgICBjb25zdCBmaWVsZFZhbHVlID0gdGhpcy51c2Vyc1F1ZXNBbmRBbnNbZmllbGRdO1xyXG5cclxuICAgICAgICAgIGlmIChmaWVsZFZhbHVlICYmIHF1ZXN0aW9uTWFwLmhhcyhmaWVsZFZhbHVlKSkge1xyXG4gICAgICAgICAgICB0aGlzLm1hcHBlZEtleXNRdWVzdGlvbnNGb3JVc2VyLnB1c2goe1xyXG4gICAgICAgICAgICAgIHF1ZXN0aW9uOiBxdWVzdGlvbk1hcC5nZXQoZmllbGRWYWx1ZSksXHJcbiAgICAgICAgICAgICAgcXVlc3Rpb25LZXk6IGZpZWxkVmFsdWUsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmlzU2VjdXJpdHlRdWVzdGlvbkVuYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgXHJcbiAgICAgIH0sXHJcbiAgICAgIChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBsb2FkaW5nIHNlY3VyaXR5IHF1ZXN0aW9uczonLCBlcnIpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZW5hYmxlTGV4aXNOZXhpcygpIHtcclxuICAgIHRoaXMudXRpbC5zaG93TG9hZGVyKCk7XHJcbiAgICB0aGlzLmlzQnV0dG9uRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5pc1NlY3VyaXR5UXVlc3Rpb25FbmFibGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLmxuLmlzTGV4aXNOZXhpc0lkUHJvb2ZpbmdFbmFibGVkV2l0aFVzZXJJZCh0aGlzLnVzZXJOYW1lKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAvLyBJZiBsZXhpcy1uZXhpcyBpZCBwcm9vZmluZyBpcyBlbmFibGVkXHJcbiAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICB0aGlzLmlzTGV4aXNOZXhpc1BvcHVwRW5hYmxlZCA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy51dGlsLnNob3dFcnJvcihcIlRoZSBjbGFpbWFudCBhY2NvdW50IHdpdGggdXNlciBuYW1lXCIgKyB0aGlzLnVzZXJOYW1lICsgXCIgaGFzIGJlZW4gYmxvY2tlZC4gUGxlYXNlIGNvbnRhY3QgS0RPTC5cIilcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICAvL3RoaXMub25DYW5jZWwuZW1pdCgpO1xyXG4gICAgLy8gdXNwcyByZWRpcmVjdCBjYWxsXHJcbiAgICAvL3RoaXMudHJpZ2dlclVkb2woKTtcclxuICB9XHJcblxyXG4gIHRyaWdnZXJVZG9sKCkge1xyXG4gICAgdGhpcy5vbkNhbmNlbC5lbWl0KCk7XHJcbiAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgY29uc29sZS5sb2coXCJ1c3BzIGlzIHRyaWdnZXJlZFwiKVxyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3VzZXJJZCcsIHRoaXMudXNlck5hbWUpO1xyXG4gICAgdGhpcy5scy5sb2dvdXQoKTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvdXNwcy1yZWRpcmVjdCcsIFwiXCJdKSwgMTAwMCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVFcnJvcihlcnJvcikge1xyXG4gICAgaWYgKGVycm9yPy5lcnJvckNvZGUgPT0gJzQyMicpIHtcclxuICAgICAgdGhpcy5lcnJvclRleHQgPSBlcnJvci5tc2dbMF07XHJcbiAgICB9XHJcbiAgICB0aGlzLnNob3dFcnJvciA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzdWNjZXNzKG1zZykge1xyXG4gICAgdGhpcy5zaG93U3VjY2VzcyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBsb2dvdXQoKSB7XHJcbiAgICB0aGlzLm5hdi5uYXZpZ2F0ZVJvb3QoJy9sYW5kaW5nJyk7XHJcbiAgICB0aGlzLmxzLmxvZ291dCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGVyc29uYWxEZXRhaWxzKCkge1xyXG4gICAgdGhpcy5jcy5nZXRVc2VyUGVyc29uYWxEZXRhaWxzKCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlcykgPT4ge1xyXG4gICAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICAgIHRoaXMudXNlclBlcnNvbmFsRGV0YWlsID0gcmVzO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnV0aWwuc2hvd0Vycm9yKFwiRmFpbGVkIHRvIGdldCB0aGUgdXNlciBpbmZvLlwiKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgLy8gTG9nIHRoZSBlcnJvciBmb3IgZGVidWdnaW5nIHB1cnBvc2VzXHJcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgdXNlciBkZXRhaWxzOicsIGVycik7XHJcbiAgICAgICAgdGhpcy51dGlsLnNob3dFcnJvcihcIkFuIGVycm9yIG9jY3VycmVkIHdoaWxlIGZldGNoaW5nIHVzZXIgaW5mb3JtYXRpb24uXCIpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgZ2V0U2VjUXVlc3Rpb25zUGF5bWVudE9wdGlvbnMoKXtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkID09PSAncGF5bWVudC1kZXRhaWxzJykgeyAgXHJcbiAgICAgICAgdGhpcy5pc1BheW1lbnRPcHRpb25EaXZFbmFibGVkPWZhbHNlOyAgIFxyXG4gICAgICAgICAgdGhpcy5jdXN0b21lckV2ZW50VHlwZSA9ICdhY2NvdW50JztcclxuICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7ICAgICBcclxuICAgICAgICAgLy8gdGhpcy5pc0xleGlzTmV4aXNQcm9vZmVkV2l0aGluVHdlbnR5Rm91ckhvdXJzPXRydWU7ICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICBpZih0aGlzLmlzTGV4aXNOZXhpc1Byb29mZWRXaXRoaW5Ud2VudHlGb3VySG91cnMpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0QWxsU2VjdXJpdHlRdWVzdGlvbnMoKTtcclxuICAgICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgLy90aGlzLnNhdmVRdWVzdGlvbm5haXJlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1BheW1lbnRPcHRpb25EaXZFbmFibGVkPWZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNQYXltZW50T3B0aW9uUXVlc3Rpb25zRW5hYmxlZD10cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbn1cclxuXHJcbiAgdmFsaWRhdGVOYW1lQ2hhbmdlKGZvcm1EYXRhOiBBcnJheTx7IGNvbnRyb2xOYW1lOiBzdHJpbmcsIGNvbnRyb2xWYWx1ZTogYW55IH0+KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBrZXlzVG9DaGVjayA9IFsnZnN0bmFtZScsICdtaWRkbGVuYW1lJywgJ2xzdG5hbWUnXTtcclxuICBcclxuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCB0aGUgZm9ybSBkYXRhIGFuZCBjaGVjayBpZiB0aGUgY29udHJvbCBoYXMgY2hhbmdlZFxyXG4gICAgZm9yIChsZXQgaXRlbSBvZiBmb3JtRGF0YSkge1xyXG4gICAgICBjb25zdCBjb250cm9sTmFtZSA9IGl0ZW0uY29udHJvbE5hbWUudG9Mb3dlckNhc2UoKTtcclxuICAgICAgXHJcbiAgICAgIC8vIEZpbmQgdGhlIG1hdGNoaW5nIGtleSBpbiB0aGUgcmVzcG9uc2UgZGF0YVxyXG4gICAgICBjb25zdCBtYXRjaGVkS2V5ID0ga2V5c1RvQ2hlY2suZmluZChrZXkgPT4ga2V5LnRvTG93ZXJDYXNlKCkgPT09IGNvbnRyb2xOYW1lKTtcclxuICBcclxuICAgICAgaWYgKG1hdGNoZWRLZXkpIHtcclxuICAgICAgICAvLyBSZXRyaWV2ZSB0aGUgY3VycmVudCB2YWx1ZSBmcm9tIHRoZSB1c2VyIGRhdGEgYW5kIHRoZSBmb3JtIHZhbHVlXHJcbiAgICAgICAgY29uc3QgdXNlclBlcnNvblZhbHVlID0gdGhpcy51c2VyUGVyc29uYWxEZXRhaWwuZGF0YVttYXRjaGVkS2V5XTtcclxuICAgICAgICBjb25zdCBmb3JtQ29udHJvbFZhbHVlID0gaXRlbS5jb250cm9sVmFsdWU7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLy8gQ2hlY2sgaWYgdmFsdWVzIGFyZSBudWxsLCB1bmRlZmluZWQsIG9yIGVtcHR5LCBvciBpZiB0aGV5IGRpZmZlciAoaWdub3JpbmcgY2FzZSlcclxuICAgICAgICBjb25zdCB1c2VySXNFbXB0eSA9IHRoaXMuaXNOdWxsT3JFbXB0eSh1c2VyUGVyc29uVmFsdWUpO1xyXG4gICAgICAgIGNvbnN0IGZvcm1Jc0VtcHR5ID0gdGhpcy5pc051bGxPckVtcHR5KGZvcm1Db250cm9sVmFsdWUpO1xyXG5cclxuICAgICAgICAvLyBDYXNlLWluc2Vuc2l0aXZlIGNvbXBhcmlzb24gb2YgdGhlIHZhbHVlc1xyXG4gICAgICAgIGlmICgodXNlcklzRW1wdHkgJiYgIWZvcm1Jc0VtcHR5KSB8fCAoIXVzZXJJc0VtcHR5ICYmIGZvcm1Jc0VtcHR5KSB8fFxyXG4gICAgICAgICAgICAodXNlclBlcnNvblZhbHVlICYmIGZvcm1Db250cm9sVmFsdWUgJiYgdXNlclBlcnNvblZhbHVlLnRvTG93ZXJDYXNlKCkgIT09IGZvcm1Db250cm9sVmFsdWUudG9Mb3dlckNhc2UoKSkpIHtcclxuICAgICAgICAgIC8vIElmIHZhbHVlcyBkaWZmZXIgKGlnbm9yaW5nIGNhc2UpLCByZXR1cm4gdHJ1ZSAoY2hhbmdlIGRldGVjdGVkKVxyXG4gICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgXHJcbiAgICAvLyBJZiBubyBkaWZmZXJlbmNlcyB3ZXJlIGZvdW5kLCByZXR1cm4gZmFsc2UgKG5vIGNoYW5nZXMpXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvLyBVdGlsaXR5IG1ldGhvZCB0byBjaGVjayBmb3IgbnVsbCx1bmRlZmluZWQgIG9yIGVtcHR5IHN0cmluZ1xyXG4gIGlzTnVsbE9yRW1wdHkodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSBcIlwiIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBcclxuICBcclxufVxyXG4iLCI8cC1kaWFsb2cgdmlzaWJsZT1cInRydWVcIiBtb2RhbD1cInRydWVcIiBhcHBlbmRUbz1cImJvZHlcIiBbYnJlYWtwb2ludHNdPVwieycxMDI0cHgnOiAnNzV2dycsICc3NjhweCc6ICc4NXZ3JywgJzY0MHB4JzogJzEwMHZ3J31cIlxyXG4gICAgW3N0eWxlXT1cInt3aWR0aDogJzYwdncnfVwiIHBvc2l0aW9uPVwidG9wXCI+XHJcbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XHJcbiAgICAgICAgPGlvbi1ncmlkPlxyXG4gICAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtbGVmdCBoZWFkaW5nXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDI0cHg7XCIgaWQ9XCJwZGlhbG9nLXRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3snaGVhZGVyLmFjY291bnQueW91ci5hY2NvdW50JyB8IHRyYW5zbGF0ZX19PHNwYW4gc3R5bGU9XCJmb250LXNpemU6IDE2cHg7XCI+KENJRFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e2xzLmdldFVzZXIoKS5jbGFpbWFudElkfX0pPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIHN0eWxlQ2xhc3M9XCJpb24tcGFkZGluZy1zdGFydFwiIFtvcHRpb25zXT1cInByb2ZpbGVPcHRzXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFwiIChvbk9wdGlvbkNsaWNrKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgIDwvaW9uLWdyaWQ+XHJcbiAgICA8L25nLXRlbXBsYXRlPiBcclxuIFxyXG4gICAgPGRpdiAqbmdJZj1cIiEoc2hvd1N1Y2Nlc3MgfHwgc2hvd0Vycm9yKVwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IC04cHg7XCI+XHJcbiAgICAgICAgPGRpdiAgKm5nSWY9XCJzZWxlY3RlZCA9PSAncGF5bWVudC1kZXRhaWxzJyAmJiAhaXNQYXltZW50T3B0aW9uUXVlc3Rpb25zRW5hYmxlZCAmJiBpc1BheW1lbnRPcHRpb25EaXZFbmFibGVkXCI+ICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICB7eyBnZXRTZWNRdWVzdGlvbnNQYXltZW50T3B0aW9ucygpIH19ICAgICAgICAgXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGFwcC1mb3JtLWJ1aWxkZXIgI2ZiICpuZ0lmPVwic2VsZWN0ZWQgPT0gJ3BlcnNvbmFsLWRldGFpbHMnXCIgW2Zsb3dLZXldPVwic2VsZWN0ZWRcIiBbc2hvd09ubHlRdWVzdGlvbl09XCJ0cnVlXCIgW2hpZGVIZWFkZXJdPVwidHJ1ZVwiIFtoaWRlRm9vdGVyXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbc2l6ZVhzXT1cIjEyXCIgW3NpemVTbV09XCIxMlwiIFtzaXplTWRdPVwiMTJcIiBbc2l6ZUxnXT1cIjEyXCIgW3NpemVYbF09XCIxMlwiIFtvZmZzZXRYbF09XCIwXCIgW29mZnNldExnXT1cIjBcIiAob25FcnJvcik9XCJoYW5kbGVFcnJvcigkZXZlbnQpXCIgKG9uQ29tcGxldGUpPVwic3VjY2VzcygkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtZm9ybS1idWlsZGVyPlxyXG4gICAgICAgIDxhcHAtZm9ybS1idWlsZGVyICNmYiAqbmdJZj1cInNlbGVjdGVkID09ICdjb250YWN0LWRldGFpbHMnXCIgW2Zsb3dLZXldPVwic2VsZWN0ZWRcIiBbc2hvd09ubHlRdWVzdGlvbl09XCJ0cnVlXCIgW2hpZGVIZWFkZXJdPVwidHJ1ZVwiIFtoaWRlRm9vdGVyXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbc2l6ZVhzXT1cIjEyXCIgW3NpemVTbV09XCIxMlwiIFtzaXplTWRdPVwiMTJcIiBbc2l6ZUxnXT1cIjEyXCIgW3NpemVYbF09XCIxMlwiIFtvZmZzZXRYbF09XCIwXCIgW29mZnNldExnXT1cIjBcIiAob25FcnJvcik9XCJoYW5kbGVFcnJvcigkZXZlbnQpXCIgKG9uQ29tcGxldGUpPVwic3VjY2VzcygkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtZm9ybS1idWlsZGVyPlxyXG4gICAgICAgIDxkaXYgICpuZ0lmPVwiKGlzUGF5bWVudE9wdGlvblF1ZXN0aW9uc0VuYWJsZWQpXCI+XHJcbiAgICAgICAgPGFwcC1mb3JtLWJ1aWxkZXIgI2ZiICpuZ0lmPVwic2VsZWN0ZWQgPT0gJ3BheW1lbnQtZGV0YWlscydcIiBbZmxvd0tleV09XCJzZWxlY3RlZFwiIFtzaG93T25seVF1ZXN0aW9uXT1cInRydWVcIiBbaGlkZUhlYWRlcl09XCJ0cnVlXCIgW2hpZGVGb290ZXJdPVwidHJ1ZVwiXHJcbiAgICAgICAgW3NpemVYc109XCIxMlwiIFtzaXplU21dPVwiMTJcIiBbc2l6ZU1kXT1cIjEyXCIgW3NpemVMZ109XCIxMlwiIFtzaXplWGxdPVwiMTJcIiBbb2Zmc2V0WGxdPVwiMFwiIFtvZmZzZXRMZ109XCIwXCIgKG9uRXJyb3IpPVwiaGFuZGxlRXJyb3IoJGV2ZW50KVwiIChvbkNvbXBsZXRlKT1cInN1Y2Nlc3MoJGV2ZW50KVwiPlxyXG4gICAgPC9hcHAtZm9ybS1idWlsZGVyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJzaG93U3VjY2Vzc1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXIgaW9uLXBhZGRpbmctdG9wXCI+XHJcbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2hlY2ttYXJrLWNpcmNsZVwiIHN0eWxlPVwiZm9udC1zaXplOiA4MHB4OyBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWdyZWVuKTtcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICA8aDE+e3snaGVhZGVyLmFjY291bnQuc2F2ZWQuc3VjY2Vzc2Z1bGx5JyB8IHRyYW5zbGF0ZX19PC9oMT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJzaG93RXJyb3JcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXRleHQtY2VudGVyIGlvbi1wYWRkaW5nLXRvcFwiPlxyXG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNsb3NlLWNpcmNsZS1vdXRsaW5lXCIgc3R5bGU9XCJmb250LXNpemU6IDgwcHg7IGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFuZ2VyKTtcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICA8aDE+e3tlcnJvclRleHQgPyBlcnJvclRleHQgOiAnaGVhZGVyLmFjY291bnQuY291bGQubm90LnByb2Nlc3MnIHwgdHJhbnNsYXRlfX08L2gxPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICBcclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJmb290ZXJcIj5cclxuICAgICAgICA8aW9uLWdyaWQ+XHJcbiAgICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1sZWZ0XCIgc2l6ZT1cIjEyXCIgc2l6ZVhsPVwiNFwiIHNpemVMZz1cIjRcIiBzaXplTWQ9XCI1XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gdGFiaW5kZXg9XCIwXCIgc2hhcGU9XCJyb3VuZFwiIGZpbGw9XCJvdXRsaW5lXCIgdHlwZT1cImJ1dHRvblwiIFtkaXNhYmxlZF09XCJpc0J1dHRvbkRpc2FibGVkXCIgKGNsaWNrKT1cImxvZ291dCgpXCIgKGtleWRvd24uZW50ZXIpPVwibG9nb3V0KClcIiBjbGFzcz1cImlvbkJ1dHRvblwiPnt7J2hlYWRlci5hY2NvdW50LmxvZ291dCcgfCB0cmFuc2xhdGV9fTwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIiBzaXplPVwiMTJcIiBzaXplWGw9XCI4XCIgc2l6ZUxnPVwiOFwiIHNpemVNZD1cIjdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiB0YWJpbmRleD1cIjBcIiBzaGFwZT1cInJvdW5kXCIgZmlsbD1cIm91dGxpbmVcIiB0eXBlPVwicmVzZXRcIiBbZGlzYWJsZWRdPVwiaXNCdXR0b25EaXNhYmxlZFwiIChjbGljayk9XCJjYW5jZWwoKVwiIChrZXlkb3duLmVudGVyKT1cImNhbmNlbCgpXCIgY2xhc3M9XCJpb25CdXR0b25cIj57eydoZWFkZXIuYWNjb3VudC5jbG9zZScgfCB0cmFuc2xhdGV9fTwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiB0YWJpbmRleD1cIjBcIiBzaGFwZT1cInJvdW5kXCIgdHlwZT1cInN1Ym1pdFwiICBbZGlzYWJsZWRdPVwiaXNCdXR0b25EaXNhYmxlZFwiIChjbGljayk9XCJzYXZlKClcIiAoa2V5ZG93bi5lbnRlcik9XCJzYXZlKClcIiAqbmdJZj1cIiEoc2hvd1N1Y2Nlc3MgfHwgc2hvd0Vycm9yKVwiIGNsYXNzPVwiaW9uQnV0dG9uXCI+e3snaGVhZGVyLmFjY291bnQuc2F2ZScgfCB0cmFuc2xhdGV9fTwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgIDwvaW9uLWdyaWQ+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPGFwcC1sZXhpcy1uZXhpcyAqbmdJZj1cImlzTGV4aXNOZXhpc1BvcHVwRW5hYmxlZFwiIFtkaXNwbGF5XT1cImlzTGV4aXNOZXhpc1BvcHVwRW5hYmxlZFwiIFt1c2VyTmFtZV0gPSAndGhpcy51c2VyTmFtZScgW2N1c3RvbWVyRXZlbnRUeXBlXSA9ICd0aGlzLmN1c3RvbWVyRXZlbnRUeXBlJyAoc3VjY2Vzcyk9XCJvblNlY3VyaXR5UXVlc3Rpb25TdWNjZXNzKClcIiAoZXJyb3IpPVwidHJpZ2dlclVkb2woKVwiICh1c3BzKT1cInRyaWdnZXJVZG9sKClcIj48L2FwcC1sZXhpcy1uZXhpcz5cclxuICAgIDwhLS0gVW5jb21tZW50IHRvIGVuYWJsZSBsZXhpcyAtIG5leGlzIC0tPlxyXG4gICAgPGFwcC1zZWN1cml0eS1xdWVzdGlvbiAqbmdJZj1cImlzU2VjdXJpdHlRdWVzdGlvbkVuYWJsZWRcIiBbZGlzcGxheV09XCJpc1NlY3VyaXR5UXVlc3Rpb25FbmFibGVkXCIgW3F1ZXN0aW9uc0FuZEFuc3dlcnNdPVwidXNlcnNRdWVzQW5kQW5zXCIgW3F1ZXN0aW9uc0FuZEtleXNPZlVzZXJdPVwibWFwcGVkS2V5c1F1ZXN0aW9uc0ZvclVzZXJcIiAoc3VjY2Vzcyk9XCJvblNlY3VyaXR5UXVlc3Rpb25TdWNjZXNzKClcIiAoY2xlYXIpPVwiZW5hYmxlTGV4aXNOZXhpcygpXCI+PC9hcHAtc2VjdXJpdHktcXVlc3Rpb24+XHJcbiAgICA8IS0tIENvbW1lbnQgd2hlbiBsZXhpcyBuZXhpcyBpcyBlbmFibGVkIC0tPlxyXG4gICAgPCEtLSA8YXBwLXNlY3VyaXR5LXF1ZXN0aW9uICpuZ0lmPVwiaXNTZWN1cml0eVF1ZXN0aW9uRW5hYmxlZFwiIFtkaXNwbGF5XT1cImlzU2VjdXJpdHlRdWVzdGlvbkVuYWJsZWRcIiBbcXVlc3Rpb25zQW5kQW5zd2Vyc109XCJ1c2Vyc1F1ZXNBbmRBbnNcIiBbcXVlc3Rpb25zQW5kS2V5c09mVXNlcl09XCJtYXBwZWRLZXlzUXVlc3Rpb25zRm9yVXNlclwiIChzdWNjZXNzKT1cIm9uU2VjdXJpdHlRdWVzdGlvblN1Y2Nlc3MoKVwiIChjbGVhcik9XCJ0cmlnZ2VyVWRvbCgpXCI+PC9hcHAtc2VjdXJpdHktcXVlc3Rpb24+IC0tPlxyXG4gICBcclxuPC9wLWRpYWxvZz4iXX0=
|