@reusa/ngx-reusa-app-lib 0.0.731 → 0.1.731
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/{esm2020 → esm2022}/lib/annimations/app-animations.mjs +36 -36
- package/esm2022/lib/components/add-employer/add-employer.component.mjs +3027 -0
- package/esm2022/lib/components/add-participant/add-participant.component.mjs +394 -0
- package/esm2022/lib/components/add-payment/add-payment.component.mjs +187 -0
- package/esm2022/lib/components/address/address.component.mjs +487 -0
- package/esm2022/lib/components/bank-details/bank-details.component.mjs +276 -0
- package/esm2022/lib/components/captcha/captcha.component.mjs +181 -0
- package/esm2022/lib/components/card/card.component.mjs +55 -0
- package/esm2022/lib/components/contact-us/contact-us.component.mjs +970 -0
- package/esm2022/lib/components/content/content.component.mjs +61 -0
- package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +83 -0
- package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +223 -0
- package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +292 -0
- package/esm2022/lib/components/disclosure/disclosure.component.mjs +60 -0
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +1974 -0
- package/esm2022/lib/components/dropdown/dropdown.interface.mjs +2 -0
- package/esm2022/lib/components/email-update/email-update.component.mjs +283 -0
- package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +794 -0
- package/esm2022/lib/components/error/error.component.mjs +86 -0
- package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +163 -0
- package/{esm2020 → esm2022}/lib/components/file-download/file-download.component.mjs +104 -104
- package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +315 -0
- package/esm2022/lib/components/footer/footer.component.mjs +332 -0
- package/esm2022/lib/components/header/header.component.mjs +558 -0
- package/esm2022/lib/components/help/help.component.mjs +49 -0
- package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +65 -0
- package/{esm2020 → esm2022}/lib/components/info/info.component.mjs +187 -188
- package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +206 -0
- package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +193 -0
- package/esm2022/lib/components/maintenance-detector/maintenance-detector.component.mjs +43 -0
- package/esm2022/lib/components/mask/mask.component.mjs +48 -0
- package/esm2022/lib/components/menu/menu.component.mjs +423 -0
- package/esm2022/lib/components/mfa/mfa.component.mjs +444 -0
- package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +50 -0
- package/esm2022/lib/components/money-expect/money-expect.component.mjs +90 -0
- package/esm2022/lib/components/msg/msg.component.mjs +48 -0
- package/esm2022/lib/components/news/news.component.mjs +90 -0
- package/esm2022/lib/components/overlay-info/overlay-info.component.mjs +213 -0
- package/esm2022/lib/components/page/page.component.mjs +136 -0
- package/esm2022/lib/components/profile/profile.component.mjs +177 -0
- package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +63 -0
- package/esm2022/lib/components/questionnaire/AppValidators.mjs +487 -0
- package/{esm2020 → esm2022}/lib/components/questionnaire/FbConstants.mjs +7 -7
- package/{esm2020 → esm2022}/lib/components/questionnaire/SelectItem.mjs +1 -1
- package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +256 -0
- package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +475 -0
- package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +1094 -0
- package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +1882 -0
- package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +1263 -0
- package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +244 -0
- package/{esm2020 → esm2022}/lib/components/questionnaire/input-focus.directive.mjs +44 -44
- package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +256 -0
- package/{esm2020 → esm2022}/lib/components/questionnaire/question-base.mjs +2 -2
- package/{esm2020 → esm2022}/lib/components/questionnaire/question-control.service.mjs +420 -419
- package/{esm2020 → esm2022}/lib/components/questionnaire/question.service.mjs +33 -33
- package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +262 -0
- package/{esm2020 → esm2022}/lib/components/read-more/read-more.component.mjs +67 -67
- package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +690 -0
- package/esm2022/lib/components/search-employer/search-employer.component.mjs +142 -0
- package/esm2022/lib/components/select/select.component.mjs +154 -0
- package/esm2022/lib/components/ssn/ssn.component.mjs +44 -0
- package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +151 -0
- package/esm2022/lib/components/test/test.component.mjs +19 -0
- package/esm2022/lib/components/user-login/user-login.component.mjs +398 -0
- package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +442 -0
- package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +307 -0
- package/{esm2020 → esm2022}/lib/directives/auto-focus/auto-focus.directive.mjs +31 -31
- package/{esm2020 → esm2022}/lib/directives/caps-lock.directive.mjs +38 -38
- package/{esm2020 → esm2022}/lib/directives/required-roles/required-roles.directive.mjs +30 -30
- package/{esm2020 → esm2022}/lib/enums/EmailStatusEnum.mjs +8 -8
- package/{esm2020 → esm2022}/lib/guards/auth.guard.mjs +138 -138
- package/esm2022/lib/guards/no-login/no-login.guard.mjs +21 -0
- package/{esm2020 → esm2022}/lib/interceptors/error-interceptor/http-error-interceptor.mjs +107 -107
- package/{esm2020 → esm2022}/lib/interceptors/header-interceptor/http-header.interceptor.mjs +99 -99
- package/{esm2020 → esm2022}/lib/models/AddressComponentModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/BankDetailsComponentModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/BankDetailsModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/CinRequalificationCriteriaModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/EmployerDetailSearchResult.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/ErrorModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/FileModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/LibConstants.mjs +119 -119
- package/{esm2020 → esm2022}/lib/models/NewsAndAnnouncementModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/NotificationModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/OtpAuthModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/PaymentComponentModel.mjs +2 -2
- package/esm2022/lib/models/RequalifyLiftPageModel.mjs +11 -0
- package/{esm2020 → esm2022}/lib/models/SsaVerificationModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/TrendModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/UserDetailsModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/UserModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/case/CaseAttachmentModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/claimant/ClaimantModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/claimant/JobResultsData.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/claimant/MatchingJobs.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/claimant/ResetPasswordModel.mjs +2 -2
- package/esm2022/lib/models/cmp/CaseCoreModel.mjs +3 -0
- package/{esm2020 → esm2022}/lib/models/cmp/ComplaintCategoryModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/cmp/ComplaintCategoryOutputModel.mjs +5 -5
- package/esm2022/lib/models/cmp/ContactUsModel.mjs +3 -0
- package/{esm2020 → esm2022}/lib/models/cmp/EmailTemplateModel.mjs +3 -3
- package/esm2022/lib/models/cmp/contactUsInqueryModel.mjs +7 -0
- package/{esm2020 → esm2022}/lib/models/cmp/messageRourceModel.mjs +3 -3
- package/esm2022/lib/models/dashboard-model.mjs +3 -0
- package/esm2022/lib/models/dependent.model.mjs +8 -0
- package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimAppEmpRequestModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +7 -7
- package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +2 -2
- package/esm2022/lib/models/questionnaire/ComboModel.mjs +337 -0
- package/{esm2020 → esm2022}/lib/models/questionnaire/ElementsModel.mjs +7 -7
- package/{esm2020 → esm2022}/lib/models/questionnaire/EmployerDetailSearchResult.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/questionnaire/EmployerWagesModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/questionnaire/FBConfigModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/questionnaire/KeyValueModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/questionnaire/LegalDiscaimarModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/questionnaire/LoaderModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/questionnaire/PollingStatusModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/questionnaire/QtrYearEmployerWageModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/questionnaire/QuestionnaireQueryModel.mjs +7 -7
- package/{esm2020 → esm2022}/lib/models/questionnaire/QuestionnaireReturnModel.mjs +10 -10
- package/{esm2020 → esm2022}/lib/models/questionnaire/QuestionnaireSaveModel.mjs +2 -2
- package/esm2022/lib/models/questionnaire/RequalifyLiftIssuesModel.mjs +3 -0
- package/{esm2020 → esm2022}/lib/models/questionnaire/ServiceActionResponseModel.mjs +3 -3
- package/esm2022/lib/models/questionnaire/StatusModel.mjs +6 -0
- package/{esm2020 → esm2022}/lib/models/questionnaire/SuccessPageElement.mjs +2 -2
- package/esm2022/lib/models/questionnaire/UI512AResponseModel.mjs +3 -0
- package/{esm2020 → esm2022}/lib/models/questionnaire/ValidationModel.mjs +2 -2
- package/esm2022/lib/ngx-reusa-app-lib.component.mjs +23 -0
- package/esm2022/lib/ngx-reusa-app-lib.module.mjs +402 -0
- package/{esm2020 → esm2022}/lib/ngx-reusa-app-lib.service.mjs +14 -14
- package/{esm2020 → esm2022}/lib/pages/BasePage.mjs +76 -76
- package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +81 -0
- package/esm2022/lib/pages/common/change-password/change-password.page.mjs +463 -0
- package/esm2022/lib/pages/common/landing/landing.component.mjs +208 -0
- package/esm2022/lib/pages/common/landing2/landing2.component.mjs +244 -0
- package/esm2022/lib/pages/common/login/login.component.mjs +526 -0
- package/esm2022/lib/pages/common/not-found/not-found.page.mjs +24 -0
- package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +306 -0
- package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +61 -0
- package/esm2022/lib/pages/common/unauthorized/unauthorized.page.mjs +24 -0
- package/esm2022/lib/pages/popovers/language/language.page.mjs +61 -0
- package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +204 -0
- package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +129 -0
- package/esm2022/lib/pages/popovers/user-search/user-search.component.mjs +251 -0
- package/{esm2020 → esm2022}/lib/pipes/filter.pipe.mjs +30 -30
- package/{esm2020 → esm2022}/lib/pipes/mask/mask.email.pipe.mjs +23 -23
- package/{esm2020 → esm2022}/lib/pipes/proper-case/proper-case.pipe.mjs +27 -27
- package/{esm2020 → esm2022}/lib/pipes/translate/dynamic-translate.pipe.mjs +44 -44
- package/{esm2020 → esm2022}/lib/pipes/trust-html/trust-html.pipe.mjs +20 -20
- package/{esm2020 → esm2022}/lib/services/base-service.mjs +49 -49
- package/{esm2020 → esm2022}/lib/services/captcha/captcha.service.mjs +46 -46
- package/{esm2020 → esm2022}/lib/services/case-service/case.service.mjs +47 -47
- package/{esm2020 → esm2022}/lib/services/chatbot/chatbot.service.mjs +257 -257
- package/esm2022/lib/services/chatbot/script.const.mjs +42 -0
- package/{esm2020 → esm2022}/lib/services/claimant/claimant.service.mjs +31 -31
- package/esm2022/lib/services/claimant-context/claimant-context.service.mjs +48 -0
- package/{esm2020 → esm2022}/lib/services/claimant-service/claimant.service.mjs +47 -47
- package/{esm2020 → esm2022}/lib/services/claims/claims.service.mjs +99 -99
- package/{esm2020 → esm2022}/lib/services/cmp-service/cmp.service.mjs +84 -84
- package/{esm2020 → esm2022}/lib/services/dms-service/dms.service.mjs +60 -60
- package/{esm2020 → esm2022}/lib/services/fpjs/fingerprint.service.mjs +70 -70
- package/{esm2020 → esm2022}/lib/services/google-analytics/google-analytics.service.mjs +29 -29
- package/{esm2020 → esm2022}/lib/services/help/help.service.mjs +63 -63
- package/{esm2020 → esm2022}/lib/services/idle/idle.service.mjs +159 -159
- package/{esm2020 → esm2022}/lib/services/logger/logger.service.mjs +67 -67
- package/esm2022/lib/services/login/login.service.mjs +330 -0
- package/{esm2020 → esm2022}/lib/services/maintenance/maintenance.service.mjs +21 -21
- package/{esm2020 → esm2022}/lib/services/notification/notification.service.mjs +113 -113
- package/{esm2020 → esm2022}/lib/services/questionnaire/questionnaire.service.mjs +69 -69
- package/{esm2020 → esm2022}/lib/services/questionnaire/validation.service.mjs +59 -59
- package/{esm2020 → esm2022}/lib/services/security-service/security.service.mjs +35 -35
- package/{esm2020 → esm2022}/lib/services/tour/tour.service.mjs +60 -60
- package/{esm2020 → esm2022}/lib/services/util/util.service.mjs +424 -424
- package/esm2022/lib/validations/AppRegex.mjs +45 -0
- package/{esm2020 → esm2022}/lib/validations/AppValidators.mjs +165 -165
- package/{esm2020 → esm2022}/public-api.mjs +131 -131
- package/{esm2020 → esm2022}/reusa-ngx-reusa-app-lib.mjs +4 -4
- package/{fesm2020 → fesm2022}/reusa-ngx-reusa-app-lib.mjs +27966 -27877
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/annimations/app-animations.d.ts +3 -3
- package/lib/components/add-employer/add-employer.component.d.ts +276 -276
- package/lib/components/add-participant/add-participant.component.d.ts +45 -45
- package/lib/components/add-payment/add-payment.component.d.ts +33 -33
- package/lib/components/address/address.component.d.ts +68 -68
- package/lib/components/address/address.component.d.ts.map +1 -1
- package/lib/components/bank-details/bank-details.component.d.ts +39 -39
- package/lib/components/captcha/captcha.component.d.ts +44 -44
- package/lib/components/card/card.component.d.ts +11 -11
- package/lib/components/contact-us/contact-us.component.d.ts +105 -107
- package/lib/components/contact-us/contact-us.component.d.ts.map +1 -1
- package/lib/components/content/content.component.d.ts +13 -13
- package/lib/components/correspondence-download/correspondence-download.component.d.ts +21 -21
- package/lib/components/dashboard-card/dashboard-card.component.d.ts +25 -25
- package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
- package/lib/components/dependent-grid/dependent-grid.component.d.ts +35 -35
- package/lib/components/disclosure/disclosure.component.d.ts +12 -12
- package/lib/components/dropdown/dropdown.component.d.ts +581 -207
- package/lib/components/dropdown/dropdown.component.d.ts.map +1 -1
- package/lib/components/dropdown/dropdown.interface.d.ts +155 -0
- package/lib/components/dropdown/dropdown.interface.d.ts.map +1 -0
- package/lib/components/email-update/email-update.component.d.ts +31 -31
- package/lib/components/employer-grid/employer-grid.component.d.ts +95 -94
- package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
- package/lib/components/error/error.component.d.ts +17 -17
- package/lib/components/fav-menu/fav-menu.component.d.ts +21 -21
- package/lib/components/file-download/file-download.component.d.ts +22 -22
- package/lib/components/file-uploader/file-uploader.component.d.ts +47 -47
- package/lib/components/footer/footer.component.d.ts +36 -36
- package/lib/components/header/header.component.d.ts +59 -58
- package/lib/components/header/header.component.d.ts.map +1 -1
- package/lib/components/help/help.component.d.ts +10 -10
- package/lib/components/idle-detector/idle-detector.component.d.ts +15 -15
- package/lib/components/info/info.component.d.ts +22 -22
- package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +21 -21
- package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +33 -33
- package/lib/components/maintenance-detector/maintenance-detector.component.d.ts +15 -15
- package/lib/components/mask/mask.component.d.ts +11 -11
- package/lib/components/menu/menu.component.d.ts +43 -43
- package/lib/components/mfa/mfa.component.d.ts +59 -59
- package/lib/components/mfa-popup/mfa-popup.component.d.ts +16 -16
- package/lib/components/money-expect/money-expect.component.d.ts +18 -18
- package/lib/components/msg/msg.component.d.ts +10 -10
- package/lib/components/news/news.component.d.ts +14 -14
- package/lib/components/overlay-info/overlay-info.component.d.ts +34 -34
- package/lib/components/page/page.component.d.ts +23 -23
- package/lib/components/profile/profile.component.d.ts +28 -28
- package/lib/components/profile-redirect/profile-redirect.component.d.ts +13 -13
- package/lib/components/questionnaire/AppValidators.d.ts +14 -14
- package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
- package/lib/components/questionnaire/FbConstants.d.ts +7 -7
- package/lib/components/questionnaire/SelectItem.d.ts +4 -4
- package/lib/components/questionnaire/account-success/account-success.page.d.ts +53 -53
- package/lib/components/questionnaire/common-success/common-success.page.d.ts +75 -75
- package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +46 -46
- package/lib/components/questionnaire/dynamic-form-question.component.d.ts +82 -82
- package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form.component.d.ts +130 -130
- package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
- package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +66 -64
- package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
- package/lib/components/questionnaire/input-focus.directive.d.ts +11 -11
- package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +38 -38
- package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
- package/lib/components/questionnaire/question-base.d.ts +16 -16
- package/lib/components/questionnaire/question-control.service.d.ts +19 -19
- package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
- package/lib/components/questionnaire/question.service.d.ts +18 -18
- package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +75 -74
- package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
- package/lib/components/read-more/read-more.component.d.ts +14 -14
- package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +67 -67
- package/lib/components/search-employer/search-employer.component.d.ts +37 -36
- package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
- package/lib/components/select/select.component.d.ts +55 -55
- package/lib/components/ssn/ssn.component.d.ts +11 -11
- package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +22 -22
- package/lib/components/test/test.component.d.ts +8 -8
- package/lib/components/user-login/user-login.component.d.ts +48 -48
- package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +59 -59
- package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +45 -45
- package/lib/directives/auto-focus/auto-focus.directive.d.ts +12 -12
- package/lib/directives/caps-lock.directive.d.ts +11 -11
- package/lib/directives/required-roles/required-roles.directive.d.ts +14 -14
- package/lib/enums/EmailStatusEnum.d.ts +7 -7
- package/lib/guards/auth.guard.d.ts +28 -28
- package/lib/guards/auth.guard.d.ts.map +1 -1
- package/lib/guards/no-login/no-login.guard.d.ts +11 -11
- package/lib/guards/no-login/no-login.guard.d.ts.map +1 -1
- package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts +22 -22
- package/lib/interceptors/header-interceptor/http-header.interceptor.d.ts +21 -21
- package/lib/interceptors/header-interceptor/http-header.interceptor.d.ts.map +1 -1
- package/lib/models/AddressComponentModel.d.ts +12 -12
- package/lib/models/BankDetailsComponentModel.d.ts +11 -11
- package/lib/models/BankDetailsModel.d.ts +4 -4
- package/lib/models/CinRequalificationCriteriaModel.d.ts +10 -10
- package/lib/models/EmployerDetailSearchResult.d.ts +47 -47
- package/lib/models/ErrorModel.d.ts +6 -6
- package/lib/models/FileModel.d.ts +4 -4
- package/lib/models/LibConstants.d.ts +112 -112
- package/lib/models/NewsAndAnnouncementModel.d.ts +5 -5
- package/lib/models/NotificationModel.d.ts +10 -10
- package/lib/models/OtpAuthModel.d.ts +6 -6
- package/lib/models/PaymentComponentModel.d.ts +7 -7
- package/lib/models/RequalifyLiftPageModel.d.ts +11 -11
- package/lib/models/SsaVerificationModel.d.ts +8 -8
- package/lib/models/TrendModel.d.ts +13 -13
- package/lib/models/UserDetailsModel.d.ts +9 -9
- package/lib/models/UserModel.d.ts +46 -46
- package/lib/models/case/CaseAttachmentModel.d.ts +5 -5
- package/lib/models/claimant/ClaimantModel.d.ts +22 -22
- package/lib/models/claimant/JobResultsData.d.ts +7 -7
- package/lib/models/claimant/MatchingJobs.d.ts +12 -12
- package/lib/models/claimant/ResetPasswordModel.d.ts +8 -8
- package/lib/models/cmp/CaseCoreModel.d.ts +20 -20
- package/lib/models/cmp/ComplaintCategoryModel.d.ts +8 -8
- package/lib/models/cmp/ComplaintCategoryOutputModel.d.ts +5 -5
- package/lib/models/cmp/ContactUsModel.d.ts +22 -22
- package/lib/models/cmp/EmailTemplateModel.d.ts +6 -6
- package/lib/models/cmp/contactUsInqueryModel.d.ts +46 -46
- package/lib/models/cmp/messageRourceModel.d.ts +5 -5
- package/lib/models/dashboard-model.d.ts +43 -43
- package/lib/models/dependent.model.d.ts +11 -18
- package/lib/models/dependent.model.d.ts.map +1 -1
- package/lib/models/questionnaire/ClaimAppEmpRequestModel.d.ts +8 -8
- package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +16 -16
- package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +151 -151
- package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +16 -16
- package/lib/models/questionnaire/ComboModel.d.ts +85 -85
- package/lib/models/questionnaire/ElementsModel.d.ts +68 -68
- package/lib/models/questionnaire/EmployerDetailSearchResult.d.ts +17 -17
- package/lib/models/questionnaire/EmployerWagesModel.d.ts +4 -4
- package/lib/models/questionnaire/FBConfigModel.d.ts +11 -11
- package/lib/models/questionnaire/KeyValueModel.d.ts +10 -10
- package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +10 -10
- package/lib/models/questionnaire/LoaderModel.d.ts +4 -4
- package/lib/models/questionnaire/PollingStatusModel.d.ts +6 -6
- package/lib/models/questionnaire/QtrYearEmployerWageModel.d.ts +8 -8
- package/lib/models/questionnaire/QuestionnaireQueryModel.d.ts +23 -23
- package/lib/models/questionnaire/QuestionnaireReturnModel.d.ts +20 -20
- package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts +24 -24
- package/lib/models/questionnaire/RequalifyLiftIssuesModel.d.ts +13 -13
- package/lib/models/questionnaire/ServiceActionResponseModel.d.ts +6 -6
- package/lib/models/questionnaire/StatusModel.d.ts +15 -15
- package/lib/models/questionnaire/SuccessPageElement.d.ts +8 -8
- package/lib/models/questionnaire/UI512AResponseModel.d.ts +12 -12
- package/lib/models/questionnaire/ValidationModel.d.ts +17 -17
- package/lib/ngx-reusa-app-lib.component.d.ts +8 -8
- package/lib/ngx-reusa-app-lib.module.d.ts +148 -145
- package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
- package/lib/ngx-reusa-app-lib.service.d.ts +6 -6
- package/lib/pages/BasePage.d.ts +26 -26
- package/lib/pages/common/accessibility-policy/accessibility-policy.page.d.ts +11 -11
- package/lib/pages/common/change-password/change-password.page.d.ts +40 -40
- package/lib/pages/common/landing/landing.component.d.ts +24 -24
- package/lib/pages/common/landing2/landing2.component.d.ts +30 -30
- package/lib/pages/common/login/login.component.d.ts +64 -64
- package/lib/pages/common/not-found/not-found.page.d.ts +8 -8
- package/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.d.ts +11 -11
- package/lib/pages/common/security-policy/security-policy.page.d.ts +11 -11
- package/lib/pages/common/unauthorized/unauthorized.page.d.ts +8 -8
- package/lib/pages/popovers/language/language.page.d.ts +16 -16
- package/lib/pages/popovers/my-notifications/my-notifications.page.d.ts +21 -21
- package/lib/pages/popovers/my-profile/my-profile.page.d.ts +20 -20
- package/lib/pages/popovers/user-search/user-search.component.d.ts +31 -31
- package/lib/pipes/filter.pipe.d.ts +7 -7
- package/lib/pipes/mask/mask.email.pipe.d.ts +10 -10
- package/lib/pipes/proper-case/proper-case.pipe.d.ts +8 -8
- package/lib/pipes/translate/dynamic-translate.pipe.d.ts +10 -10
- package/lib/pipes/trust-html/trust-html.pipe.d.ts +10 -10
- package/lib/services/base-service.d.ts +92 -92
- package/lib/services/captcha/captcha.service.d.ts +15 -15
- package/lib/services/case-service/case.service.d.ts +19 -19
- package/lib/services/chatbot/chatbot.service.d.ts +60 -60
- package/lib/services/chatbot/script.const.d.ts +15 -15
- package/lib/services/claimant/claimant.service.d.ts +17 -17
- package/lib/services/claimant-context/claimant-context.service.d.ts +18 -18
- package/lib/services/claimant-context/claimant-context.service.d.ts.map +1 -1
- package/lib/services/claimant-service/claimant.service.d.ts +19 -19
- package/lib/services/claims/claims.service.d.ts +39 -39
- package/lib/services/cmp-service/cmp.service.d.ts +33 -33
- package/lib/services/dms-service/dms.service.d.ts +23 -23
- package/lib/services/fpjs/fingerprint.service.d.ts +18 -18
- package/lib/services/google-analytics/google-analytics.service.d.ts +8 -8
- package/lib/services/help/help.service.d.ts +25 -25
- package/lib/services/help/help.service.d.ts.map +1 -1
- package/lib/services/idle/idle.service.d.ts +43 -43
- package/lib/services/logger/logger.service.d.ts +31 -31
- package/lib/services/logger/logger.service.d.ts.map +1 -1
- package/lib/services/login/login.service.d.ts +75 -75
- package/lib/services/login/login.service.d.ts.map +1 -1
- package/lib/services/maintenance/maintenance.service.d.ts +15 -15
- package/lib/services/notification/notification.service.d.ts +38 -38
- package/lib/services/questionnaire/questionnaire.service.d.ts +35 -35
- package/lib/services/questionnaire/validation.service.d.ts +81 -81
- package/lib/services/security-service/security.service.d.ts +14 -14
- package/lib/services/tour/tour.service.d.ts +24 -24
- package/lib/services/util/util.service.d.ts +190 -190
- package/lib/validations/AppRegex.d.ts +43 -43
- package/lib/validations/AppValidators.d.ts +53 -53
- package/package.json +6 -11
- package/public-api.d.ts +121 -121
- package/esm2020/lib/components/add-employer/add-employer.component.mjs +0 -3099
- package/esm2020/lib/components/add-participant/add-participant.component.mjs +0 -396
- package/esm2020/lib/components/add-payment/add-payment.component.mjs +0 -186
- package/esm2020/lib/components/address/address.component.mjs +0 -480
- package/esm2020/lib/components/bank-details/bank-details.component.mjs +0 -275
- package/esm2020/lib/components/captcha/captcha.component.mjs +0 -180
- package/esm2020/lib/components/card/card.component.mjs +0 -54
- package/esm2020/lib/components/contact-us/contact-us.component.mjs +0 -1004
- package/esm2020/lib/components/content/content.component.mjs +0 -60
- package/esm2020/lib/components/correspondence-download/correspondence-download.component.mjs +0 -82
- package/esm2020/lib/components/dashboard-card/dashboard-card.component.mjs +0 -219
- package/esm2020/lib/components/dependent-grid/dependent-grid.component.mjs +0 -297
- package/esm2020/lib/components/disclosure/disclosure.component.mjs +0 -59
- package/esm2020/lib/components/dropdown/dropdown.component.mjs +0 -1552
- package/esm2020/lib/components/email-update/email-update.component.mjs +0 -287
- package/esm2020/lib/components/employer-grid/employer-grid.component.mjs +0 -800
- package/esm2020/lib/components/error/error.component.mjs +0 -85
- package/esm2020/lib/components/fav-menu/fav-menu.component.mjs +0 -163
- package/esm2020/lib/components/file-uploader/file-uploader.component.mjs +0 -317
- package/esm2020/lib/components/footer/footer.component.mjs +0 -337
- package/esm2020/lib/components/header/header.component.mjs +0 -566
- package/esm2020/lib/components/help/help.component.mjs +0 -48
- package/esm2020/lib/components/idle-detector/idle-detector.component.mjs +0 -64
- package/esm2020/lib/components/job-search-result-page/job-search-result-page.component.mjs +0 -209
- package/esm2020/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +0 -192
- package/esm2020/lib/components/maintenance-detector/maintenance-detector.component.mjs +0 -42
- package/esm2020/lib/components/mask/mask.component.mjs +0 -48
- package/esm2020/lib/components/menu/menu.component.mjs +0 -430
- package/esm2020/lib/components/mfa/mfa.component.mjs +0 -451
- package/esm2020/lib/components/mfa-popup/mfa-popup.component.mjs +0 -49
- package/esm2020/lib/components/money-expect/money-expect.component.mjs +0 -89
- package/esm2020/lib/components/msg/msg.component.mjs +0 -48
- package/esm2020/lib/components/news/news.component.mjs +0 -89
- package/esm2020/lib/components/overlay-info/overlay-info.component.mjs +0 -235
- package/esm2020/lib/components/page/page.component.mjs +0 -138
- package/esm2020/lib/components/profile/profile.component.mjs +0 -182
- package/esm2020/lib/components/profile-redirect/profile-redirect.component.mjs +0 -62
- package/esm2020/lib/components/questionnaire/AppValidators.mjs +0 -523
- package/esm2020/lib/components/questionnaire/account-success/account-success.page.mjs +0 -259
- package/esm2020/lib/components/questionnaire/common-success/common-success.page.mjs +0 -483
- package/esm2020/lib/components/questionnaire/dynamic-form-panel.component.mjs +0 -1137
- package/esm2020/lib/components/questionnaire/dynamic-form-question.component.mjs +0 -1948
- package/esm2020/lib/components/questionnaire/dynamic-form.component.mjs +0 -1257
- package/esm2020/lib/components/questionnaire/form-builder/form-builder.page.mjs +0 -240
- package/esm2020/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +0 -259
- package/esm2020/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +0 -260
- package/esm2020/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +0 -703
- package/esm2020/lib/components/search-employer/search-employer.component.mjs +0 -142
- package/esm2020/lib/components/select/select.component.mjs +0 -153
- package/esm2020/lib/components/ssn/ssn.component.mjs +0 -43
- package/esm2020/lib/components/ssn-reverify/ssn-reverify.component.mjs +0 -150
- package/esm2020/lib/components/test/test.component.mjs +0 -18
- package/esm2020/lib/components/user-login/user-login.component.mjs +0 -401
- package/esm2020/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +0 -445
- package/esm2020/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +0 -308
- package/esm2020/lib/guards/no-login/no-login.guard.mjs +0 -21
- package/esm2020/lib/models/RequalifyLiftPageModel.mjs +0 -11
- package/esm2020/lib/models/cmp/CaseCoreModel.mjs +0 -3
- package/esm2020/lib/models/cmp/ContactUsModel.mjs +0 -3
- package/esm2020/lib/models/cmp/contactUsInqueryModel.mjs +0 -7
- package/esm2020/lib/models/dashboard-model.mjs +0 -3
- package/esm2020/lib/models/dependent.model.mjs +0 -8
- package/esm2020/lib/models/questionnaire/ComboModel.mjs +0 -337
- package/esm2020/lib/models/questionnaire/RequalifyLiftIssuesModel.mjs +0 -3
- package/esm2020/lib/models/questionnaire/StatusModel.mjs +0 -6
- package/esm2020/lib/models/questionnaire/UI512AResponseModel.mjs +0 -3
- package/esm2020/lib/ngx-reusa-app-lib.component.mjs +0 -22
- package/esm2020/lib/ngx-reusa-app-lib.module.mjs +0 -390
- package/esm2020/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +0 -80
- package/esm2020/lib/pages/common/change-password/change-password.page.mjs +0 -477
- package/esm2020/lib/pages/common/landing/landing.component.mjs +0 -207
- package/esm2020/lib/pages/common/landing2/landing2.component.mjs +0 -244
- package/esm2020/lib/pages/common/login/login.component.mjs +0 -542
- package/esm2020/lib/pages/common/not-found/not-found.page.mjs +0 -23
- package/esm2020/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +0 -305
- package/esm2020/lib/pages/common/security-policy/security-policy.page.mjs +0 -60
- package/esm2020/lib/pages/common/unauthorized/unauthorized.page.mjs +0 -23
- package/esm2020/lib/pages/popovers/language/language.page.mjs +0 -60
- package/esm2020/lib/pages/popovers/my-notifications/my-notifications.page.mjs +0 -205
- package/esm2020/lib/pages/popovers/my-profile/my-profile.page.mjs +0 -129
- package/esm2020/lib/pages/popovers/user-search/user-search.component.mjs +0 -253
- package/esm2020/lib/services/chatbot/script.const.mjs +0 -42
- package/esm2020/lib/services/claimant-context/claimant-context.service.mjs +0 -47
- package/esm2020/lib/services/login/login.service.mjs +0 -330
- package/esm2020/lib/validations/AppRegex.mjs +0 -45
- package/fesm2015/reusa-ngx-reusa-app-lib.mjs +0 -30728
- package/fesm2015/reusa-ngx-reusa-app-lib.mjs.map +0 -1
- package/fesm2020/reusa-ngx-reusa-app-lib.mjs.map +0 -1
|
@@ -0,0 +1,1882 @@
|
|
|
1
|
+
import { HttpParams } from '@angular/common/http';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, ViewChildren } from '@angular/core';
|
|
3
|
+
import { ValidationModel } from '../../models/questionnaire/ValidationModel';
|
|
4
|
+
import { rowExpansionTrigger } from '../../annimations/app-animations';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./question-control.service";
|
|
7
|
+
import * as i2 from "./question.service";
|
|
8
|
+
import * as i3 from "@ngx-translate/core";
|
|
9
|
+
import * as i4 from "../../services/questionnaire/validation.service";
|
|
10
|
+
import * as i5 from "../../services/util/util.service";
|
|
11
|
+
import * as i6 from "@ionic/angular";
|
|
12
|
+
import * as i7 from "../../services/logger/logger.service";
|
|
13
|
+
import * as i8 from "@angular/common";
|
|
14
|
+
import * as i9 from "primeng/api";
|
|
15
|
+
import * as i10 from "@angular/forms";
|
|
16
|
+
import * as i11 from "primeng/autocomplete";
|
|
17
|
+
import * as i12 from "primeng/dialog";
|
|
18
|
+
import * as i13 from "primeng/password";
|
|
19
|
+
import * as i14 from "primeng/inputtext";
|
|
20
|
+
import * as i15 from "primeng/inputmask";
|
|
21
|
+
import * as i16 from "primeng/divider";
|
|
22
|
+
import * as i17 from "primeng/calendar";
|
|
23
|
+
import * as i18 from "primeng/checkbox";
|
|
24
|
+
import * as i19 from "primeng/selectbutton";
|
|
25
|
+
import * as i20 from "primeng/inputnumber";
|
|
26
|
+
import * as i21 from "../captcha/captcha.component";
|
|
27
|
+
import * as i22 from "../file-uploader/file-uploader.component";
|
|
28
|
+
import * as i23 from "../overlay-info/overlay-info.component";
|
|
29
|
+
import * as i24 from "../employer-grid/employer-grid.component";
|
|
30
|
+
import * as i25 from "../legal-disclaimar/legal-disclaimar.component";
|
|
31
|
+
import * as i26 from "../money-expect/money-expect.component";
|
|
32
|
+
import * as i27 from "../search-employer/search-employer.component";
|
|
33
|
+
import * as i28 from "../address/address.component";
|
|
34
|
+
import * as i29 from "../bank-details/bank-details.component";
|
|
35
|
+
import * as i30 from "../dependent-grid/dependent-grid.component";
|
|
36
|
+
import * as i31 from "../weekly-cert-employer-grid/weekly-cert-employer-grid.component";
|
|
37
|
+
import * as i32 from "../add-participant/add-participant.component";
|
|
38
|
+
import * as i33 from "../dropdown/dropdown.component";
|
|
39
|
+
import * as i34 from "../requalify-lift-previous-issues/requalify-lift-previous-issues.component";
|
|
40
|
+
import * as i35 from "../add-payment/add-payment.component";
|
|
41
|
+
import * as i36 from "../../pipes/translate/dynamic-translate.pipe";
|
|
42
|
+
import * as i37 from "../../pipes/trust-html/trust-html.pipe";
|
|
43
|
+
const _c0 = ["bankdtls"];
|
|
44
|
+
const _c1 = ["address"];
|
|
45
|
+
function DynamicFormQuestionComponent_p_dialog_1_ng_template_5_ion_button_0_Template(rf, ctx) { if (rf & 1) {
|
|
46
|
+
const _r30 = i0.ɵɵgetCurrentView();
|
|
47
|
+
i0.ɵɵelementStart(0, "ion-button", 14);
|
|
48
|
+
i0.ɵɵlistener("click", function DynamicFormQuestionComponent_p_dialog_1_ng_template_5_ion_button_0_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r30); const ctx_r29 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r29.reject()); });
|
|
49
|
+
i0.ɵɵtext(1);
|
|
50
|
+
i0.ɵɵelementEnd();
|
|
51
|
+
} if (rf & 2) {
|
|
52
|
+
const ctx_r27 = i0.ɵɵnextContext(3);
|
|
53
|
+
i0.ɵɵadvance(1);
|
|
54
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r27.popUpNoActionLabel, " ");
|
|
55
|
+
} }
|
|
56
|
+
function DynamicFormQuestionComponent_p_dialog_1_ng_template_5_ion_button_1_Template(rf, ctx) { if (rf & 1) {
|
|
57
|
+
const _r32 = i0.ɵɵgetCurrentView();
|
|
58
|
+
i0.ɵɵelementStart(0, "ion-button", 15);
|
|
59
|
+
i0.ɵɵlistener("click", function DynamicFormQuestionComponent_p_dialog_1_ng_template_5_ion_button_1_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r32); const ctx_r31 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r31.accept()); });
|
|
60
|
+
i0.ɵɵtext(1);
|
|
61
|
+
i0.ɵɵelementEnd();
|
|
62
|
+
} if (rf & 2) {
|
|
63
|
+
const ctx_r28 = i0.ɵɵnextContext(3);
|
|
64
|
+
i0.ɵɵadvance(1);
|
|
65
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r28.popUpYesActionLabel, " ");
|
|
66
|
+
} }
|
|
67
|
+
function DynamicFormQuestionComponent_p_dialog_1_ng_template_5_Template(rf, ctx) { if (rf & 1) {
|
|
68
|
+
i0.ɵɵtemplate(0, DynamicFormQuestionComponent_p_dialog_1_ng_template_5_ion_button_0_Template, 2, 1, "ion-button", 12)(1, DynamicFormQuestionComponent_p_dialog_1_ng_template_5_ion_button_1_Template, 2, 1, "ion-button", 13);
|
|
69
|
+
} if (rf & 2) {
|
|
70
|
+
const ctx_r26 = i0.ɵɵnextContext(2);
|
|
71
|
+
i0.ɵɵproperty("ngIf", ctx_r26.popUpNoActionLabel);
|
|
72
|
+
i0.ɵɵadvance(1);
|
|
73
|
+
i0.ɵɵproperty("ngIf", ctx_r26.popUpYesActionLabel);
|
|
74
|
+
} }
|
|
75
|
+
const _c2 = () => ({ width: "45vw" });
|
|
76
|
+
const _c3 = () => ({ "1200px": "660px", "992px": "660px", "768px": "660px", "576px": "100vw" });
|
|
77
|
+
function DynamicFormQuestionComponent_p_dialog_1_Template(rf, ctx) { if (rf & 1) {
|
|
78
|
+
const _r34 = i0.ɵɵgetCurrentView();
|
|
79
|
+
i0.ɵɵelementStart(0, "p-dialog", 9);
|
|
80
|
+
i0.ɵɵlistener("visibleChange", function DynamicFormQuestionComponent_p_dialog_1_Template_p_dialog_visibleChange_0_listener($event) { i0.ɵɵrestoreView(_r34); const ctx_r33 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r33.displayPosition = $event); });
|
|
81
|
+
i0.ɵɵelementStart(1, "h4", 10);
|
|
82
|
+
i0.ɵɵtext(2);
|
|
83
|
+
i0.ɵɵelementEnd();
|
|
84
|
+
i0.ɵɵelementStart(3, "p");
|
|
85
|
+
i0.ɵɵtext(4);
|
|
86
|
+
i0.ɵɵelementEnd();
|
|
87
|
+
i0.ɵɵtemplate(5, DynamicFormQuestionComponent_p_dialog_1_ng_template_5_Template, 2, 2, "ng-template", 11);
|
|
88
|
+
i0.ɵɵelementEnd();
|
|
89
|
+
} if (rf & 2) {
|
|
90
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
91
|
+
i0.ɵɵstyleMap(i0.ɵɵpureFunction0(12, _c2));
|
|
92
|
+
i0.ɵɵproperty("visible", ctx_r0.displayPosition)("position", ctx_r0.position)("modal", true)("breakpoints", i0.ɵɵpureFunction0(13, _c3))("baseZIndex", 5000)("draggable", false)("resizable", false);
|
|
93
|
+
i0.ɵɵattribute("aria-label", ctx_r0.question.title);
|
|
94
|
+
i0.ɵɵadvance(2);
|
|
95
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.popUpHeader, " ");
|
|
96
|
+
i0.ɵɵadvance(2);
|
|
97
|
+
i0.ɵɵtextInterpolate1("", ctx_r0.popUpText, " ");
|
|
98
|
+
} }
|
|
99
|
+
function DynamicFormQuestionComponent_div_2_label_1_Template(rf, ctx) { if (rf & 1) {
|
|
100
|
+
i0.ɵɵelementStart(0, "label");
|
|
101
|
+
i0.ɵɵtext(1);
|
|
102
|
+
i0.ɵɵpipe(2, "dynamicTranslate");
|
|
103
|
+
i0.ɵɵelementEnd();
|
|
104
|
+
} if (rf & 2) {
|
|
105
|
+
const ctx_r35 = i0.ɵɵnextContext(2);
|
|
106
|
+
i0.ɵɵattribute("for", ctx_r35.question.name);
|
|
107
|
+
i0.ɵɵadvance(1);
|
|
108
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 2, ctx_r35.question.title, ctx_r35.dynamicParam), " ");
|
|
109
|
+
} }
|
|
110
|
+
function DynamicFormQuestionComponent_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
111
|
+
i0.ɵɵelementStart(0, "div", 16);
|
|
112
|
+
i0.ɵɵtemplate(1, DynamicFormQuestionComponent_div_2_label_1_Template, 3, 5, "label", 3);
|
|
113
|
+
i0.ɵɵelementEnd();
|
|
114
|
+
} if (rf & 2) {
|
|
115
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
116
|
+
i0.ɵɵproperty("ngStyle", ctx_r1.setStyle(ctx_r1.question.indent));
|
|
117
|
+
i0.ɵɵadvance(1);
|
|
118
|
+
i0.ɵɵproperty("ngIf", ctx_r1.question.indent === 1 && ctx_r1.question.type != "html" && ctx_r1.question.type != "hidden" && ctx_r1.question.type != "label");
|
|
119
|
+
} }
|
|
120
|
+
function DynamicFormQuestionComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
121
|
+
i0.ɵɵelementStart(0, "div", 16);
|
|
122
|
+
i0.ɵɵtext(1);
|
|
123
|
+
i0.ɵɵpipe(2, "dynamicTranslate");
|
|
124
|
+
i0.ɵɵelementEnd();
|
|
125
|
+
} if (rf & 2) {
|
|
126
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
127
|
+
i0.ɵɵproperty("ngStyle", ctx_r2.setStyle(ctx_r2.question.indent));
|
|
128
|
+
i0.ɵɵadvance(1);
|
|
129
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 2, ctx_r2.question.title, ctx_r2.dynamicParam), " ");
|
|
130
|
+
} }
|
|
131
|
+
function DynamicFormQuestionComponent_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
132
|
+
i0.ɵɵelementStart(0, "div", 16);
|
|
133
|
+
i0.ɵɵtext(1);
|
|
134
|
+
i0.ɵɵpipe(2, "dynamicTranslate");
|
|
135
|
+
i0.ɵɵelementEnd();
|
|
136
|
+
} if (rf & 2) {
|
|
137
|
+
const ctx_r3 = i0.ɵɵnextContext();
|
|
138
|
+
i0.ɵɵproperty("ngStyle", ctx_r3.setStyle(ctx_r3.question.indent));
|
|
139
|
+
i0.ɵɵadvance(1);
|
|
140
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 2, ctx_r3.question.title, ctx_r3.dynamicParam), " ");
|
|
141
|
+
} }
|
|
142
|
+
function DynamicFormQuestionComponent_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
143
|
+
i0.ɵɵelementStart(0, "div", 16);
|
|
144
|
+
i0.ɵɵtext(1);
|
|
145
|
+
i0.ɵɵpipe(2, "dynamicTranslate");
|
|
146
|
+
i0.ɵɵelementEnd();
|
|
147
|
+
} if (rf & 2) {
|
|
148
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
149
|
+
i0.ɵɵproperty("ngStyle", ctx_r4.setStyle(ctx_r4.question.indent));
|
|
150
|
+
i0.ɵɵadvance(1);
|
|
151
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 2, ctx_r4.question.title, ctx_r4.dynamicParam), " ");
|
|
152
|
+
} }
|
|
153
|
+
function DynamicFormQuestionComponent_div_6_app_employer_grid_1_Template(rf, ctx) { if (rf & 1) {
|
|
154
|
+
const _r50 = i0.ɵɵgetCurrentView();
|
|
155
|
+
i0.ɵɵelementStart(0, "app-employer-grid", 25);
|
|
156
|
+
i0.ɵɵlistener("modelDisplay", function DynamicFormQuestionComponent_div_6_app_employer_grid_1_Template_app_employer_grid_modelDisplay_0_listener($event) { i0.ɵɵrestoreView(_r50); const ctx_r49 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r49.onModelDisplay($event)); });
|
|
157
|
+
i0.ɵɵelementEnd();
|
|
158
|
+
} if (rf & 2) {
|
|
159
|
+
const ctx_r36 = i0.ɵɵnextContext(2);
|
|
160
|
+
i0.ɵɵproperty("formControlName", ctx_r36.question.name)("form", ctx_r36.form)("dynamicParam", ctx_r36.dynamicParam);
|
|
161
|
+
} }
|
|
162
|
+
function DynamicFormQuestionComponent_div_6_app_legal_disclaimar_2_Template(rf, ctx) { if (rf & 1) {
|
|
163
|
+
const _r52 = i0.ɵɵgetCurrentView();
|
|
164
|
+
i0.ɵɵelementStart(0, "app-legal-disclaimar", 26);
|
|
165
|
+
i0.ɵɵlistener("accepted", function DynamicFormQuestionComponent_div_6_app_legal_disclaimar_2_Template_app_legal_disclaimar_accepted_0_listener($event) { i0.ɵɵrestoreView(_r52); const ctx_r51 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r51.onAccepted($event)); });
|
|
166
|
+
i0.ɵɵelementEnd();
|
|
167
|
+
} if (rf & 2) {
|
|
168
|
+
const ctx_r37 = i0.ɵɵnextContext(2);
|
|
169
|
+
i0.ɵɵproperty("componentData", ctx_r37.question.componentData)("question", ctx_r37.question)("form", ctx_r37.form);
|
|
170
|
+
} }
|
|
171
|
+
function DynamicFormQuestionComponent_div_6_money_expect_3_Template(rf, ctx) { if (rf & 1) {
|
|
172
|
+
i0.ɵɵelement(0, "money-expect");
|
|
173
|
+
} }
|
|
174
|
+
function DynamicFormQuestionComponent_div_6_app_captcha_4_Template(rf, ctx) { if (rf & 1) {
|
|
175
|
+
i0.ɵɵelement(0, "app-captcha", 27);
|
|
176
|
+
} if (rf & 2) {
|
|
177
|
+
const ctx_r39 = i0.ɵɵnextContext(2);
|
|
178
|
+
i0.ɵɵproperty("formControlName", ctx_r39.question.name);
|
|
179
|
+
} }
|
|
180
|
+
function DynamicFormQuestionComponent_div_6_app_file_uploader_5_Template(rf, ctx) { if (rf & 1) {
|
|
181
|
+
i0.ɵɵelement(0, "app-file-uploader", 27);
|
|
182
|
+
} if (rf & 2) {
|
|
183
|
+
const ctx_r40 = i0.ɵɵnextContext(2);
|
|
184
|
+
i0.ɵɵproperty("formControlName", ctx_r40.question.name);
|
|
185
|
+
} }
|
|
186
|
+
function DynamicFormQuestionComponent_div_6_app_address_6_Template(rf, ctx) { if (rf & 1) {
|
|
187
|
+
i0.ɵɵelement(0, "app-address", 28, 29);
|
|
188
|
+
} if (rf & 2) {
|
|
189
|
+
const ctx_r41 = i0.ɵɵnextContext(2);
|
|
190
|
+
i0.ɵɵproperty("formControlName", ctx_r41.question.name)("fromPopup", false)("countyRequired", ctx_r41.question.countyRequired)("inputId", ctx_r41.question.name);
|
|
191
|
+
} }
|
|
192
|
+
function DynamicFormQuestionComponent_div_6_app_bank_details_7_Template(rf, ctx) { if (rf & 1) {
|
|
193
|
+
i0.ɵɵelement(0, "app-bank-details", 27, 30);
|
|
194
|
+
} if (rf & 2) {
|
|
195
|
+
const ctx_r42 = i0.ɵɵnextContext(2);
|
|
196
|
+
i0.ɵɵproperty("formControlName", ctx_r42.question.name);
|
|
197
|
+
} }
|
|
198
|
+
function DynamicFormQuestionComponent_div_6_app_requalify_lift_previous_issues_8_Template(rf, ctx) { if (rf & 1) {
|
|
199
|
+
i0.ɵɵelement(0, "app-requalify-lift-previous-issues", 31);
|
|
200
|
+
} if (rf & 2) {
|
|
201
|
+
const ctx_r43 = i0.ɵɵnextContext(2);
|
|
202
|
+
i0.ɵɵproperty("formControlName", ctx_r43.question.name)("componentData", ctx_r43.question.componentData)("form", ctx_r43.form);
|
|
203
|
+
} }
|
|
204
|
+
function DynamicFormQuestionComponent_div_6_app_dependent_grid_9_Template(rf, ctx) { if (rf & 1) {
|
|
205
|
+
i0.ɵɵelement(0, "app-dependent-grid", 27);
|
|
206
|
+
} if (rf & 2) {
|
|
207
|
+
const ctx_r44 = i0.ɵɵnextContext(2);
|
|
208
|
+
i0.ɵɵproperty("formControlName", ctx_r44.question.name);
|
|
209
|
+
} }
|
|
210
|
+
function DynamicFormQuestionComponent_div_6_app_weekly_cert_employer_grid_10_Template(rf, ctx) { if (rf & 1) {
|
|
211
|
+
i0.ɵɵelement(0, "app-weekly-cert-employer-grid", 32);
|
|
212
|
+
} if (rf & 2) {
|
|
213
|
+
const ctx_r45 = i0.ɵɵnextContext(2);
|
|
214
|
+
i0.ɵɵproperty("dynamicParam", ctx_r45.dynamicParam)("formControlName", ctx_r45.question.name);
|
|
215
|
+
} }
|
|
216
|
+
function DynamicFormQuestionComponent_div_6_app_search_employer_11_Template(rf, ctx) { if (rf & 1) {
|
|
217
|
+
const _r56 = i0.ɵɵgetCurrentView();
|
|
218
|
+
i0.ɵɵelementStart(0, "app-search-employer", 33);
|
|
219
|
+
i0.ɵɵlistener("onFound", function DynamicFormQuestionComponent_div_6_app_search_employer_11_Template_app_search_employer_onFound_0_listener($event) { i0.ɵɵrestoreView(_r56); const ctx_r55 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r55.setEmployer($event)); })("onEmpty", function DynamicFormQuestionComponent_div_6_app_search_employer_11_Template_app_search_employer_onEmpty_0_listener() { i0.ɵɵrestoreView(_r56); const ctx_r57 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r57.resetEmployer()); });
|
|
220
|
+
i0.ɵɵelementEnd();
|
|
221
|
+
} if (rf & 2) {
|
|
222
|
+
const ctx_r46 = i0.ɵɵnextContext(2);
|
|
223
|
+
i0.ɵɵproperty("formControlName", ctx_r46.question.name);
|
|
224
|
+
} }
|
|
225
|
+
function DynamicFormQuestionComponent_div_6_app_add_participant_12_Template(rf, ctx) { if (rf & 1) {
|
|
226
|
+
i0.ɵɵelement(0, "app-add-participant", 27);
|
|
227
|
+
} if (rf & 2) {
|
|
228
|
+
const ctx_r47 = i0.ɵɵnextContext(2);
|
|
229
|
+
i0.ɵɵproperty("formControlName", ctx_r47.question.name);
|
|
230
|
+
} }
|
|
231
|
+
function DynamicFormQuestionComponent_div_6_app_add_payment_13_Template(rf, ctx) { if (rf & 1) {
|
|
232
|
+
i0.ɵɵelement(0, "app-add-payment", 34);
|
|
233
|
+
} if (rf & 2) {
|
|
234
|
+
const ctx_r48 = i0.ɵɵnextContext(2);
|
|
235
|
+
i0.ɵɵproperty("potentialIssueId", ctx_r48.potentialIssueId)("formControlName", ctx_r48.question.name);
|
|
236
|
+
} }
|
|
237
|
+
function DynamicFormQuestionComponent_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
238
|
+
i0.ɵɵelementStart(0, "div");
|
|
239
|
+
i0.ɵɵtemplate(1, DynamicFormQuestionComponent_div_6_app_employer_grid_1_Template, 1, 3, "app-employer-grid", 17)(2, DynamicFormQuestionComponent_div_6_app_legal_disclaimar_2_Template, 1, 3, "app-legal-disclaimar", 18)(3, DynamicFormQuestionComponent_div_6_money_expect_3_Template, 1, 0, "money-expect", 3)(4, DynamicFormQuestionComponent_div_6_app_captcha_4_Template, 1, 1, "app-captcha", 19)(5, DynamicFormQuestionComponent_div_6_app_file_uploader_5_Template, 1, 1, "app-file-uploader", 19)(6, DynamicFormQuestionComponent_div_6_app_address_6_Template, 2, 4, "app-address", 20)(7, DynamicFormQuestionComponent_div_6_app_bank_details_7_Template, 2, 1, "app-bank-details", 19)(8, DynamicFormQuestionComponent_div_6_app_requalify_lift_previous_issues_8_Template, 1, 3, "app-requalify-lift-previous-issues", 21)(9, DynamicFormQuestionComponent_div_6_app_dependent_grid_9_Template, 1, 1, "app-dependent-grid", 19)(10, DynamicFormQuestionComponent_div_6_app_weekly_cert_employer_grid_10_Template, 1, 2, "app-weekly-cert-employer-grid", 22)(11, DynamicFormQuestionComponent_div_6_app_search_employer_11_Template, 1, 1, "app-search-employer", 23)(12, DynamicFormQuestionComponent_div_6_app_add_participant_12_Template, 1, 1, "app-add-participant", 19)(13, DynamicFormQuestionComponent_div_6_app_add_payment_13_Template, 1, 2, "app-add-payment", 24);
|
|
240
|
+
i0.ɵɵelementEnd();
|
|
241
|
+
} if (rf & 2) {
|
|
242
|
+
const ctx_r5 = i0.ɵɵnextContext();
|
|
243
|
+
i0.ɵɵadvance(1);
|
|
244
|
+
i0.ɵɵproperty("ngIf", ctx_r5.question.componentName === "app-employer-grid");
|
|
245
|
+
i0.ɵɵadvance(1);
|
|
246
|
+
i0.ɵɵproperty("ngIf", ctx_r5.question.componentName === "app-legal-disclaimar");
|
|
247
|
+
i0.ɵɵadvance(1);
|
|
248
|
+
i0.ɵɵproperty("ngIf", ctx_r5.question.componentName === "money-expect");
|
|
249
|
+
i0.ɵɵadvance(1);
|
|
250
|
+
i0.ɵɵproperty("ngIf", ctx_r5.question.componentName === "app-captcha");
|
|
251
|
+
i0.ɵɵadvance(1);
|
|
252
|
+
i0.ɵɵproperty("ngIf", ctx_r5.question.componentName === "app-file-uploader");
|
|
253
|
+
i0.ɵɵadvance(1);
|
|
254
|
+
i0.ɵɵproperty("ngIf", ctx_r5.question.componentName === "app-address");
|
|
255
|
+
i0.ɵɵadvance(1);
|
|
256
|
+
i0.ɵɵproperty("ngIf", ctx_r5.question.componentName === "app-bank-details");
|
|
257
|
+
i0.ɵɵadvance(1);
|
|
258
|
+
i0.ɵɵproperty("ngIf", ctx_r5.question.componentName === "app-requalify-lift-previous-issues");
|
|
259
|
+
i0.ɵɵadvance(1);
|
|
260
|
+
i0.ɵɵproperty("ngIf", ctx_r5.question.componentName === "app-dependent-grid");
|
|
261
|
+
i0.ɵɵadvance(1);
|
|
262
|
+
i0.ɵɵproperty("ngIf", ctx_r5.question.componentName === "app-weekly-cert-employer-grid");
|
|
263
|
+
i0.ɵɵadvance(1);
|
|
264
|
+
i0.ɵɵproperty("ngIf", ctx_r5.question.componentName === "app-search-employer");
|
|
265
|
+
i0.ɵɵadvance(1);
|
|
266
|
+
i0.ɵɵproperty("ngIf", ctx_r5.question.componentName === "app-add-participant");
|
|
267
|
+
i0.ɵɵadvance(1);
|
|
268
|
+
i0.ɵɵproperty("ngIf", ctx_r5.question.componentName === "app-add-payment");
|
|
269
|
+
} }
|
|
270
|
+
function DynamicFormQuestionComponent_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
271
|
+
i0.ɵɵelementStart(0, "div", 16);
|
|
272
|
+
i0.ɵɵtext(1);
|
|
273
|
+
i0.ɵɵelementEnd();
|
|
274
|
+
} if (rf & 2) {
|
|
275
|
+
const ctx_r6 = i0.ɵɵnextContext();
|
|
276
|
+
i0.ɵɵproperty("ngStyle", ctx_r6.setStyle(ctx_r6.question.indent));
|
|
277
|
+
i0.ɵɵadvance(1);
|
|
278
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r6.question.title, " ");
|
|
279
|
+
} }
|
|
280
|
+
function DynamicFormQuestionComponent_div_8_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
281
|
+
i0.ɵɵelementStart(0, "div", 38);
|
|
282
|
+
i0.ɵɵelement(1, "app-overlay-info", 39);
|
|
283
|
+
i0.ɵɵpipe(2, "dynamicTranslate");
|
|
284
|
+
i0.ɵɵelementEnd();
|
|
285
|
+
} if (rf & 2) {
|
|
286
|
+
const ctx_r58 = i0.ɵɵnextContext(2);
|
|
287
|
+
i0.ɵɵadvance(1);
|
|
288
|
+
i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind2(2, 1, ctx_r58.question.description, ctx_r58.dynamicParam));
|
|
289
|
+
} }
|
|
290
|
+
function DynamicFormQuestionComponent_div_8_Template(rf, ctx) { if (rf & 1) {
|
|
291
|
+
i0.ɵɵelementStart(0, "div", 35);
|
|
292
|
+
i0.ɵɵelement(1, "div", 36);
|
|
293
|
+
i0.ɵɵpipe(2, "trustHtml");
|
|
294
|
+
i0.ɵɵpipe(3, "dynamicTranslate");
|
|
295
|
+
i0.ɵɵtemplate(4, DynamicFormQuestionComponent_div_8_div_4_Template, 3, 4, "div", 37);
|
|
296
|
+
i0.ɵɵelementEnd();
|
|
297
|
+
} if (rf & 2) {
|
|
298
|
+
const ctx_r7 = i0.ɵɵnextContext();
|
|
299
|
+
i0.ɵɵadvance(1);
|
|
300
|
+
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(2, 2, i0.ɵɵpipeBind2(3, 4, ctx_r7.question.html, ctx_r7.dynamicParam)), i0.ɵɵsanitizeHtml);
|
|
301
|
+
i0.ɵɵadvance(3);
|
|
302
|
+
i0.ɵɵproperty("ngIf", ctx_r7.question.description);
|
|
303
|
+
} }
|
|
304
|
+
function DynamicFormQuestionComponent_ng_container_10_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
305
|
+
const _r73 = i0.ɵɵgetCurrentView();
|
|
306
|
+
i0.ɵɵelementStart(0, "div")(1, "div", 42)(2, "p-calendar", 43);
|
|
307
|
+
i0.ɵɵlistener("onBlur", function DynamicFormQuestionComponent_ng_container_10_div_2_Template_p_calendar_onBlur_2_listener() { i0.ɵɵrestoreView(_r73); const ctx_r72 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r72.validate(ctx_r72.question)); })("onSelect", function DynamicFormQuestionComponent_ng_container_10_div_2_Template_p_calendar_onSelect_2_listener() { i0.ɵɵrestoreView(_r73); const ctx_r74 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r74.validate(ctx_r74.question)); })("onInput", function DynamicFormQuestionComponent_ng_container_10_div_2_Template_p_calendar_onInput_2_listener($event) { i0.ɵɵrestoreView(_r73); const ctx_r75 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r75.dateInput($event)); });
|
|
308
|
+
i0.ɵɵelementEnd()()();
|
|
309
|
+
} if (rf & 2) {
|
|
310
|
+
const ctx_r59 = i0.ɵɵnextContext(2);
|
|
311
|
+
i0.ɵɵadvance(1);
|
|
312
|
+
i0.ɵɵproperty("ngStyle", ctx_r59.setStyle(ctx_r59.question.indent));
|
|
313
|
+
i0.ɵɵadvance(1);
|
|
314
|
+
i0.ɵɵproperty("formControlName", ctx_r59.question.name)("inputId", ctx_r59.question.name)("monthNavigator", true)("yearNavigator", true)("showIcon", true)("minDate", ctx_r59.showMinDate ? ctx_r59.minDate : null)("maxDate", ctx_r59.showMaxDate ? ctx_r59.maxDate : null)("showOnFocus", false)("iconAriaLabel", ctx_r59.question.title);
|
|
315
|
+
} }
|
|
316
|
+
function DynamicFormQuestionComponent_ng_container_10_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
317
|
+
const _r77 = i0.ɵɵgetCurrentView();
|
|
318
|
+
i0.ɵɵelementStart(0, "div", 42)(1, "p-inputMask", 44);
|
|
319
|
+
i0.ɵɵlistener("onComplete", function DynamicFormQuestionComponent_ng_container_10_div_3_Template_p_inputMask_onComplete_1_listener() { i0.ɵɵrestoreView(_r77); const ctx_r76 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r76.validate(ctx_r76.question)); })("onFocus", function DynamicFormQuestionComponent_ng_container_10_div_3_Template_p_inputMask_onFocus_1_listener($event) { i0.ɵɵrestoreView(_r77); const ctx_r78 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r78.unmask($event)); })("onBlur", function DynamicFormQuestionComponent_ng_container_10_div_3_Template_p_inputMask_onBlur_1_listener($event) { i0.ɵɵrestoreView(_r77); const ctx_r79 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r79.mask($event)); });
|
|
320
|
+
i0.ɵɵelementEnd()();
|
|
321
|
+
} if (rf & 2) {
|
|
322
|
+
const ctx_r60 = i0.ɵɵnextContext(2);
|
|
323
|
+
i0.ɵɵproperty("ngStyle", ctx_r60.setStyle(ctx_r60.question.indent));
|
|
324
|
+
i0.ɵɵadvance(1);
|
|
325
|
+
i0.ɵɵproperty("inputId", ctx_r60.question.name)("formControlName", ctx_r60.question.name)("type", ctx_r60.type);
|
|
326
|
+
i0.ɵɵattribute("aria-label", ctx_r60.question.title);
|
|
327
|
+
} }
|
|
328
|
+
function DynamicFormQuestionComponent_ng_container_10_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
329
|
+
const _r81 = i0.ɵɵgetCurrentView();
|
|
330
|
+
i0.ɵɵelementStart(0, "div", 42)(1, "p-inputMask", 45);
|
|
331
|
+
i0.ɵɵlistener("onComplete", function DynamicFormQuestionComponent_ng_container_10_div_4_Template_p_inputMask_onComplete_1_listener() { i0.ɵɵrestoreView(_r81); const ctx_r80 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r80.validate(ctx_r80.question)); });
|
|
332
|
+
i0.ɵɵelementEnd()();
|
|
333
|
+
} if (rf & 2) {
|
|
334
|
+
const ctx_r61 = i0.ɵɵnextContext(2);
|
|
335
|
+
i0.ɵɵproperty("ngStyle", ctx_r61.setStyle(ctx_r61.question.indent));
|
|
336
|
+
i0.ɵɵadvance(1);
|
|
337
|
+
i0.ɵɵproperty("inputId", ctx_r61.question.name)("formControlName", ctx_r61.question.name)("value", 81 - 586 - 0 - 1);
|
|
338
|
+
} }
|
|
339
|
+
function DynamicFormQuestionComponent_ng_container_10_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
340
|
+
i0.ɵɵelementStart(0, "div", 42);
|
|
341
|
+
i0.ɵɵelement(1, "p-inputNumber", 46);
|
|
342
|
+
i0.ɵɵelementEnd();
|
|
343
|
+
} if (rf & 2) {
|
|
344
|
+
const ctx_r62 = i0.ɵɵnextContext(2);
|
|
345
|
+
i0.ɵɵproperty("ngStyle", ctx_r62.setStyle(ctx_r62.question.indent));
|
|
346
|
+
i0.ɵɵadvance(1);
|
|
347
|
+
i0.ɵɵproperty("inputId", ctx_r62.question.name)("formControlName", ctx_r62.question.name)("minFractionDigits", 2)("ariaLabel", ctx_r62.question.title);
|
|
348
|
+
} }
|
|
349
|
+
function DynamicFormQuestionComponent_ng_container_10_div_6_input_1_Template(rf, ctx) { if (rf & 1) {
|
|
350
|
+
i0.ɵɵelement(0, "input", 50);
|
|
351
|
+
} if (rf & 2) {
|
|
352
|
+
const ctx_r82 = i0.ɵɵnextContext(3);
|
|
353
|
+
i0.ɵɵproperty("maxLength", ctx_r82.question.maxLength)("id", ctx_r82.question.name)("formControlName", ctx_r82.question.name);
|
|
354
|
+
i0.ɵɵattribute("aria-label", ctx_r82.question.title);
|
|
355
|
+
} }
|
|
356
|
+
function DynamicFormQuestionComponent_ng_container_10_div_6_input_2_Template(rf, ctx) { if (rf & 1) {
|
|
357
|
+
i0.ɵɵelement(0, "input", 51);
|
|
358
|
+
} if (rf & 2) {
|
|
359
|
+
const ctx_r83 = i0.ɵɵnextContext(3);
|
|
360
|
+
i0.ɵɵproperty("id", ctx_r83.question.name)("formControlName", ctx_r83.question.name);
|
|
361
|
+
i0.ɵɵattribute("aria-label", ctx_r83.question.title);
|
|
362
|
+
} }
|
|
363
|
+
function DynamicFormQuestionComponent_ng_container_10_div_6_input_3_Template(rf, ctx) { if (rf & 1) {
|
|
364
|
+
i0.ɵɵelement(0, "input", 50);
|
|
365
|
+
} if (rf & 2) {
|
|
366
|
+
const ctx_r84 = i0.ɵɵnextContext(3);
|
|
367
|
+
i0.ɵɵproperty("maxLength", ctx_r84.question.maxLength)("id", ctx_r84.question.name)("formControlName", ctx_r84.question.name);
|
|
368
|
+
} }
|
|
369
|
+
function DynamicFormQuestionComponent_ng_container_10_div_6_input_4_Template(rf, ctx) { if (rf & 1) {
|
|
370
|
+
i0.ɵɵelement(0, "input", 52);
|
|
371
|
+
} if (rf & 2) {
|
|
372
|
+
const ctx_r85 = i0.ɵɵnextContext(3);
|
|
373
|
+
i0.ɵɵproperty("id", ctx_r85.question.name)("formControlName", ctx_r85.question.name);
|
|
374
|
+
i0.ɵɵattribute("aria-label", ctx_r85.question.title);
|
|
375
|
+
} }
|
|
376
|
+
function DynamicFormQuestionComponent_ng_container_10_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
377
|
+
i0.ɵɵelementStart(0, "div", 42);
|
|
378
|
+
i0.ɵɵtemplate(1, DynamicFormQuestionComponent_ng_container_10_div_6_input_1_Template, 1, 4, "input", 47)(2, DynamicFormQuestionComponent_ng_container_10_div_6_input_2_Template, 1, 3, "input", 48)(3, DynamicFormQuestionComponent_ng_container_10_div_6_input_3_Template, 1, 3, "input", 47)(4, DynamicFormQuestionComponent_ng_container_10_div_6_input_4_Template, 1, 3, "input", 49);
|
|
379
|
+
i0.ɵɵelementEnd();
|
|
380
|
+
} if (rf & 2) {
|
|
381
|
+
const ctx_r63 = i0.ɵɵnextContext(2);
|
|
382
|
+
i0.ɵɵproperty("ngStyle", ctx_r63.setStyle(ctx_r63.question.indent));
|
|
383
|
+
i0.ɵɵadvance(1);
|
|
384
|
+
i0.ɵɵproperty("ngIf", ctx_r63.question.size && ctx_r63.question.maxLength);
|
|
385
|
+
i0.ɵɵadvance(1);
|
|
386
|
+
i0.ɵɵproperty("ngIf", ctx_r63.question.size && !ctx_r63.question.maxLength);
|
|
387
|
+
i0.ɵɵadvance(1);
|
|
388
|
+
i0.ɵɵproperty("ngIf", !ctx_r63.question.size && ctx_r63.question.maxLength);
|
|
389
|
+
i0.ɵɵadvance(1);
|
|
390
|
+
i0.ɵɵproperty("ngIf", !ctx_r63.question.size && !ctx_r63.question.maxLength);
|
|
391
|
+
} }
|
|
392
|
+
function DynamicFormQuestionComponent_ng_container_10_div_7_input_1_Template(rf, ctx) { if (rf & 1) {
|
|
393
|
+
i0.ɵɵelement(0, "input", 55);
|
|
394
|
+
} if (rf & 2) {
|
|
395
|
+
const ctx_r86 = i0.ɵɵnextContext(3);
|
|
396
|
+
i0.ɵɵproperty("maxLength", ctx_r86.question.maxLength)("id", ctx_r86.question.name)("formControlName", ctx_r86.question.name);
|
|
397
|
+
i0.ɵɵattribute("aria-label", ctx_r86.question.title);
|
|
398
|
+
} }
|
|
399
|
+
function DynamicFormQuestionComponent_ng_container_10_div_7_input_2_Template(rf, ctx) { if (rf & 1) {
|
|
400
|
+
i0.ɵɵelement(0, "input", 56);
|
|
401
|
+
} if (rf & 2) {
|
|
402
|
+
const ctx_r87 = i0.ɵɵnextContext(3);
|
|
403
|
+
i0.ɵɵproperty("id", ctx_r87.question.name)("formControlName", ctx_r87.question.name);
|
|
404
|
+
i0.ɵɵattribute("aria-label", ctx_r87.question.title);
|
|
405
|
+
} }
|
|
406
|
+
function DynamicFormQuestionComponent_ng_container_10_div_7_input_3_Template(rf, ctx) { if (rf & 1) {
|
|
407
|
+
i0.ɵɵelement(0, "input", 55);
|
|
408
|
+
} if (rf & 2) {
|
|
409
|
+
const ctx_r88 = i0.ɵɵnextContext(3);
|
|
410
|
+
i0.ɵɵproperty("maxLength", ctx_r88.question.maxLength)("id", ctx_r88.question.name)("formControlName", ctx_r88.question.name);
|
|
411
|
+
i0.ɵɵattribute("aria-label", ctx_r88.question.title);
|
|
412
|
+
} }
|
|
413
|
+
function DynamicFormQuestionComponent_ng_container_10_div_7_input_4_Template(rf, ctx) { if (rf & 1) {
|
|
414
|
+
i0.ɵɵelement(0, "input", 56);
|
|
415
|
+
} if (rf & 2) {
|
|
416
|
+
const ctx_r89 = i0.ɵɵnextContext(3);
|
|
417
|
+
i0.ɵɵproperty("id", ctx_r89.question.name)("formControlName", ctx_r89.question.name);
|
|
418
|
+
i0.ɵɵattribute("aria-label", ctx_r89.question.title);
|
|
419
|
+
} }
|
|
420
|
+
function DynamicFormQuestionComponent_ng_container_10_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
421
|
+
i0.ɵɵelementStart(0, "div", 42);
|
|
422
|
+
i0.ɵɵtemplate(1, DynamicFormQuestionComponent_ng_container_10_div_7_input_1_Template, 1, 4, "input", 53)(2, DynamicFormQuestionComponent_ng_container_10_div_7_input_2_Template, 1, 3, "input", 54)(3, DynamicFormQuestionComponent_ng_container_10_div_7_input_3_Template, 1, 4, "input", 53)(4, DynamicFormQuestionComponent_ng_container_10_div_7_input_4_Template, 1, 3, "input", 54);
|
|
423
|
+
i0.ɵɵelementEnd();
|
|
424
|
+
} if (rf & 2) {
|
|
425
|
+
const ctx_r64 = i0.ɵɵnextContext(2);
|
|
426
|
+
i0.ɵɵproperty("ngStyle", ctx_r64.setStyle(ctx_r64.question.indent));
|
|
427
|
+
i0.ɵɵadvance(1);
|
|
428
|
+
i0.ɵɵproperty("ngIf", ctx_r64.question.size && ctx_r64.question.maxLength);
|
|
429
|
+
i0.ɵɵadvance(1);
|
|
430
|
+
i0.ɵɵproperty("ngIf", ctx_r64.question.size && !ctx_r64.question.maxLength);
|
|
431
|
+
i0.ɵɵadvance(1);
|
|
432
|
+
i0.ɵɵproperty("ngIf", !ctx_r64.question.size && ctx_r64.question.maxLength);
|
|
433
|
+
i0.ɵɵadvance(1);
|
|
434
|
+
i0.ɵɵproperty("ngIf", !ctx_r64.question.size && !ctx_r64.question.maxLength);
|
|
435
|
+
} }
|
|
436
|
+
const _c4 = a0 => ({ "padding-left.px": a0 });
|
|
437
|
+
function DynamicFormQuestionComponent_ng_container_10_div_8_Template(rf, ctx) { if (rf & 1) {
|
|
438
|
+
i0.ɵɵelementStart(0, "div", 42);
|
|
439
|
+
i0.ɵɵelement(1, "input", 56);
|
|
440
|
+
i0.ɵɵelementEnd();
|
|
441
|
+
} if (rf & 2) {
|
|
442
|
+
const ctx_r65 = i0.ɵɵnextContext(2);
|
|
443
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(5, _c4, ctx_r65.question.indent * 10))("ngStyle", ctx_r65.setStyle(ctx_r65.question.indent));
|
|
444
|
+
i0.ɵɵadvance(1);
|
|
445
|
+
i0.ɵɵproperty("id", ctx_r65.question.name)("formControlName", ctx_r65.question.name);
|
|
446
|
+
i0.ɵɵattribute("aria-label", ctx_r65.question.title);
|
|
447
|
+
} }
|
|
448
|
+
function DynamicFormQuestionComponent_ng_container_10_div_9_p_inputMask_1_Template(rf, ctx) { if (rf & 1) {
|
|
449
|
+
const _r92 = i0.ɵɵgetCurrentView();
|
|
450
|
+
i0.ɵɵelementStart(0, "p-inputMask", 58);
|
|
451
|
+
i0.ɵɵlistener("onBlur", function DynamicFormQuestionComponent_ng_container_10_div_9_p_inputMask_1_Template_p_inputMask_onBlur_0_listener($event) { i0.ɵɵrestoreView(_r92); const ctx_r91 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r91.checkForValueChange($event)); });
|
|
452
|
+
i0.ɵɵelementEnd();
|
|
453
|
+
} if (rf & 2) {
|
|
454
|
+
const ctx_r90 = i0.ɵɵnextContext(3);
|
|
455
|
+
i0.ɵɵproperty("inputId", ctx_r90.question.name)("formControlName", ctx_r90.question.name)("placeholder", ctx_r90.question.isRequired ? "999-999-9999" : "Optional");
|
|
456
|
+
i0.ɵɵattribute("aria-label", ctx_r90.question.title);
|
|
457
|
+
} }
|
|
458
|
+
function DynamicFormQuestionComponent_ng_container_10_div_9_Template(rf, ctx) { if (rf & 1) {
|
|
459
|
+
i0.ɵɵelementStart(0, "div");
|
|
460
|
+
i0.ɵɵtemplate(1, DynamicFormQuestionComponent_ng_container_10_div_9_p_inputMask_1_Template, 1, 4, "p-inputMask", 57);
|
|
461
|
+
i0.ɵɵelementEnd();
|
|
462
|
+
} if (rf & 2) {
|
|
463
|
+
const ctx_r66 = i0.ɵɵnextContext(2);
|
|
464
|
+
i0.ɵɵadvance(1);
|
|
465
|
+
i0.ɵɵproperty("ngIf", ctx_r66.question.inputType && ctx_r66.question.inputType === "text");
|
|
466
|
+
} }
|
|
467
|
+
function DynamicFormQuestionComponent_ng_container_10_div_10_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
468
|
+
i0.ɵɵelement(0, "p-divider");
|
|
469
|
+
i0.ɵɵelementStart(1, "p", 60);
|
|
470
|
+
i0.ɵɵtext(2, "Password must include at least");
|
|
471
|
+
i0.ɵɵelementEnd();
|
|
472
|
+
i0.ɵɵelementStart(3, "ul", 61)(4, "li", 62);
|
|
473
|
+
i0.ɵɵtext(5, "1 lowercase letter");
|
|
474
|
+
i0.ɵɵelementEnd();
|
|
475
|
+
i0.ɵɵelementStart(6, "li", 62);
|
|
476
|
+
i0.ɵɵtext(7, "1 uppercase letter");
|
|
477
|
+
i0.ɵɵelementEnd();
|
|
478
|
+
i0.ɵɵelementStart(8, "li", 62);
|
|
479
|
+
i0.ɵɵtext(9, "1 number");
|
|
480
|
+
i0.ɵɵelementEnd();
|
|
481
|
+
i0.ɵɵelementStart(10, "li", 62);
|
|
482
|
+
i0.ɵɵtext(11, "2 of the following characters ");
|
|
483
|
+
i0.ɵɵelementStart(12, "b");
|
|
484
|
+
i0.ɵɵtext(13, "_ @ * $ ! # .");
|
|
485
|
+
i0.ɵɵelementEnd()();
|
|
486
|
+
i0.ɵɵelementStart(14, "li", 62);
|
|
487
|
+
i0.ɵɵtext(15, "14 characters");
|
|
488
|
+
i0.ɵɵelementEnd()();
|
|
489
|
+
i0.ɵɵelement(16, "p-divider");
|
|
490
|
+
i0.ɵɵelementStart(17, "p", 60);
|
|
491
|
+
i0.ɵɵtext(18, "Suggestion");
|
|
492
|
+
i0.ɵɵelementEnd();
|
|
493
|
+
i0.ɵɵelementStart(19, "ul", 61)(20, "li", 62);
|
|
494
|
+
i0.ɵɵtext(21, "Don't use your name, email or phone");
|
|
495
|
+
i0.ɵɵelementEnd();
|
|
496
|
+
i0.ɵɵelementStart(22, "li", 62);
|
|
497
|
+
i0.ɵɵtext(23, "Don't use your kid, partner or pet name.");
|
|
498
|
+
i0.ɵɵelementEnd()();
|
|
499
|
+
} }
|
|
500
|
+
function DynamicFormQuestionComponent_ng_container_10_div_10_Template(rf, ctx) { if (rf & 1) {
|
|
501
|
+
i0.ɵɵelementStart(0, "div")(1, "p-password", 59);
|
|
502
|
+
i0.ɵɵtemplate(2, DynamicFormQuestionComponent_ng_container_10_div_10_ng_template_2_Template, 24, 0, "ng-template", 11);
|
|
503
|
+
i0.ɵɵelementEnd()();
|
|
504
|
+
} if (rf & 2) {
|
|
505
|
+
const ctx_r67 = i0.ɵɵnextContext(2);
|
|
506
|
+
i0.ɵɵadvance(1);
|
|
507
|
+
i0.ɵɵproperty("inputId", ctx_r67.question.name)("formControlName", ctx_r67.question.name)("toggleMask", true)("maxLength", ctx_r67.question.maxLength)("ariaLabel", ctx_r67.question.title);
|
|
508
|
+
} }
|
|
509
|
+
function DynamicFormQuestionComponent_ng_container_10_div_11_Template(rf, ctx) { if (rf & 1) {
|
|
510
|
+
i0.ɵɵelementStart(0, "div");
|
|
511
|
+
i0.ɵɵelement(1, "app-file-uploader", 63);
|
|
512
|
+
i0.ɵɵelementEnd();
|
|
513
|
+
} if (rf & 2) {
|
|
514
|
+
const ctx_r68 = i0.ɵɵnextContext(2);
|
|
515
|
+
i0.ɵɵadvance(1);
|
|
516
|
+
i0.ɵɵproperty("allowedFileType", ctx_r68.question.allowedFileType)("formControlName", ctx_r68.question.name)("maxSizeInMB", ctx_r68.question.sizeInMB)("multiple", ctx_r68.question.multiple)("noOfFilesToUpload", ctx_r68.question.noOFFiles);
|
|
517
|
+
i0.ɵɵattribute("aria-label", ctx_r68.question.title);
|
|
518
|
+
} }
|
|
519
|
+
function DynamicFormQuestionComponent_ng_container_10_div_12_Template(rf, ctx) { if (rf & 1) {
|
|
520
|
+
const _r95 = i0.ɵɵgetCurrentView();
|
|
521
|
+
i0.ɵɵelementStart(0, "div")(1, "div", 42)(2, "input", 64);
|
|
522
|
+
i0.ɵɵlistener("blur", function DynamicFormQuestionComponent_ng_container_10_div_12_Template_input_blur_2_listener($event) { i0.ɵɵrestoreView(_r95); const ctx_r94 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r94.checkForValueChange($event)); });
|
|
523
|
+
i0.ɵɵelementEnd()()();
|
|
524
|
+
} if (rf & 2) {
|
|
525
|
+
const ctx_r69 = i0.ɵɵnextContext(2);
|
|
526
|
+
i0.ɵɵadvance(1);
|
|
527
|
+
i0.ɵɵproperty("ngStyle", ctx_r69.setStyle(ctx_r69.question.indent));
|
|
528
|
+
i0.ɵɵadvance(1);
|
|
529
|
+
i0.ɵɵproperty("id", ctx_r69.question.name)("formControlName", ctx_r69.question.name);
|
|
530
|
+
i0.ɵɵattribute("aria-label", ctx_r69.question.title)("aria-label", ctx_r69.question.title);
|
|
531
|
+
} }
|
|
532
|
+
function DynamicFormQuestionComponent_ng_container_10_div_13_input_1_Template(rf, ctx) { if (rf & 1) {
|
|
533
|
+
i0.ɵɵelement(0, "input", 56);
|
|
534
|
+
} if (rf & 2) {
|
|
535
|
+
const ctx_r96 = i0.ɵɵnextContext(3);
|
|
536
|
+
i0.ɵɵproperty("id", ctx_r96.question.name)("formControlName", ctx_r96.question.name);
|
|
537
|
+
i0.ɵɵattribute("aria-label", ctx_r96.question.title);
|
|
538
|
+
} }
|
|
539
|
+
function DynamicFormQuestionComponent_ng_container_10_div_13_input_2_Template(rf, ctx) { if (rf & 1) {
|
|
540
|
+
i0.ɵɵelement(0, "input", 56);
|
|
541
|
+
} if (rf & 2) {
|
|
542
|
+
const ctx_r97 = i0.ɵɵnextContext(3);
|
|
543
|
+
i0.ɵɵproperty("id", ctx_r97.question.name)("formControlName", ctx_r97.question.name);
|
|
544
|
+
i0.ɵɵattribute("aria-label", ctx_r97.question.title);
|
|
545
|
+
} }
|
|
546
|
+
function DynamicFormQuestionComponent_ng_container_10_div_13_Template(rf, ctx) { if (rf & 1) {
|
|
547
|
+
i0.ɵɵelementStart(0, "div", 42);
|
|
548
|
+
i0.ɵɵtemplate(1, DynamicFormQuestionComponent_ng_container_10_div_13_input_1_Template, 1, 3, "input", 54)(2, DynamicFormQuestionComponent_ng_container_10_div_13_input_2_Template, 1, 3, "input", 54);
|
|
549
|
+
i0.ɵɵelementEnd();
|
|
550
|
+
} if (rf & 2) {
|
|
551
|
+
const ctx_r70 = i0.ɵɵnextContext(2);
|
|
552
|
+
i0.ɵɵproperty("ngStyle", ctx_r70.setStyle(ctx_r70.question.indent));
|
|
553
|
+
i0.ɵɵadvance(1);
|
|
554
|
+
i0.ɵɵproperty("ngIf", ctx_r70.question.size);
|
|
555
|
+
i0.ɵɵadvance(1);
|
|
556
|
+
i0.ɵɵproperty("ngIf", !ctx_r70.question.size);
|
|
557
|
+
} }
|
|
558
|
+
function DynamicFormQuestionComponent_ng_container_10_div_14_Template(rf, ctx) { if (rf & 1) {
|
|
559
|
+
i0.ɵɵelementStart(0, "div", 65);
|
|
560
|
+
i0.ɵɵelement(1, "app-overlay-info", 39);
|
|
561
|
+
i0.ɵɵpipe(2, "dynamicTranslate");
|
|
562
|
+
i0.ɵɵelementEnd();
|
|
563
|
+
} if (rf & 2) {
|
|
564
|
+
const ctx_r71 = i0.ɵɵnextContext(2);
|
|
565
|
+
i0.ɵɵadvance(1);
|
|
566
|
+
i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind2(2, 1, ctx_r71.question.description, ctx_r71.dynamicParam));
|
|
567
|
+
} }
|
|
568
|
+
function DynamicFormQuestionComponent_ng_container_10_Template(rf, ctx) { if (rf & 1) {
|
|
569
|
+
i0.ɵɵelementContainerStart(0);
|
|
570
|
+
i0.ɵɵelementStart(1, "div", 40);
|
|
571
|
+
i0.ɵɵtemplate(2, DynamicFormQuestionComponent_ng_container_10_div_2_Template, 3, 10, "div", 3)(3, DynamicFormQuestionComponent_ng_container_10_div_3_Template, 2, 5, "div", 8)(4, DynamicFormQuestionComponent_ng_container_10_div_4_Template, 2, 4, "div", 8)(5, DynamicFormQuestionComponent_ng_container_10_div_5_Template, 2, 5, "div", 8)(6, DynamicFormQuestionComponent_ng_container_10_div_6_Template, 5, 5, "div", 8)(7, DynamicFormQuestionComponent_ng_container_10_div_7_Template, 5, 5, "div", 8)(8, DynamicFormQuestionComponent_ng_container_10_div_8_Template, 2, 7, "div", 8)(9, DynamicFormQuestionComponent_ng_container_10_div_9_Template, 2, 1, "div", 3)(10, DynamicFormQuestionComponent_ng_container_10_div_10_Template, 3, 5, "div", 3)(11, DynamicFormQuestionComponent_ng_container_10_div_11_Template, 2, 6, "div", 3)(12, DynamicFormQuestionComponent_ng_container_10_div_12_Template, 3, 5, "div", 3)(13, DynamicFormQuestionComponent_ng_container_10_div_13_Template, 3, 3, "div", 8)(14, DynamicFormQuestionComponent_ng_container_10_div_14_Template, 3, 4, "div", 41);
|
|
572
|
+
i0.ɵɵelementEnd();
|
|
573
|
+
i0.ɵɵelementContainerEnd();
|
|
574
|
+
} if (rf & 2) {
|
|
575
|
+
const ctx_r8 = i0.ɵɵnextContext();
|
|
576
|
+
i0.ɵɵadvance(2);
|
|
577
|
+
i0.ɵɵproperty("ngIf", ctx_r8.question.inputType && ctx_r8.question.inputType === "date");
|
|
578
|
+
i0.ɵɵadvance(1);
|
|
579
|
+
i0.ɵɵproperty("ngIf", ctx_r8.question.inputType && ctx_r8.question.inputType === "text" && ctx_r8.question.customTag && ctx_r8.question.customTag === "ssn");
|
|
580
|
+
i0.ɵɵadvance(1);
|
|
581
|
+
i0.ɵɵproperty("ngIf", ctx_r8.question.inputType && ctx_r8.question.inputType === "text" && ctx_r8.question.customTag && ctx_r8.question.customTag === "ean");
|
|
582
|
+
i0.ɵɵadvance(1);
|
|
583
|
+
i0.ɵɵproperty("ngIf", ctx_r8.question.inputType && ctx_r8.question.inputType === "text" && ctx_r8.question.customTag && ctx_r8.question.customTag === "dueamt");
|
|
584
|
+
i0.ɵɵadvance(1);
|
|
585
|
+
i0.ɵɵproperty("ngIf", ctx_r8.question.inputType && ctx_r8.question.inputType === "text" && (!ctx_r8.question.customTag || ctx_r8.question.customTag === "Optional") && !ctx_r8.question.isRequired);
|
|
586
|
+
i0.ɵɵadvance(1);
|
|
587
|
+
i0.ɵɵproperty("ngIf", ctx_r8.question.inputType && ctx_r8.question.inputType === "text" && !ctx_r8.question.customTag && ctx_r8.question.isRequired);
|
|
588
|
+
i0.ɵɵadvance(1);
|
|
589
|
+
i0.ɵɵproperty("ngIf", !ctx_r8.question.inputType && ctx_r8.question.customTag && !ctx_r8.question.customTag.includes("phone"));
|
|
590
|
+
i0.ɵɵadvance(1);
|
|
591
|
+
i0.ɵɵproperty("ngIf", ctx_r8.question.customTag && ctx_r8.question.customTag.includes("phone"));
|
|
592
|
+
i0.ɵɵadvance(1);
|
|
593
|
+
i0.ɵɵproperty("ngIf", ctx_r8.question.customTag && ctx_r8.question.customTag.includes("password"));
|
|
594
|
+
i0.ɵɵadvance(1);
|
|
595
|
+
i0.ɵɵproperty("ngIf", ctx_r8.question.customTag && ctx_r8.question.customTag.includes("fileupload"));
|
|
596
|
+
i0.ɵɵadvance(1);
|
|
597
|
+
i0.ɵɵproperty("ngIf", ctx_r8.question.inputType && ctx_r8.question.inputType === "text" && ctx_r8.question.customTag && (ctx_r8.question.customTag != "ssn" && ctx_r8.question.customTag != "Optional" && ctx_r8.question.customTag != "fileupload" && ctx_r8.question.customTag != "phone" && ctx_r8.question.customTag != "ean" && ctx_r8.question.customTag != "dueamt" && ctx_r8.question.customTag != "password"));
|
|
598
|
+
i0.ɵɵadvance(1);
|
|
599
|
+
i0.ɵɵproperty("ngIf", !ctx_r8.question.inputType && !ctx_r8.question.customTag);
|
|
600
|
+
i0.ɵɵadvance(1);
|
|
601
|
+
i0.ɵɵproperty("ngIf", ctx_r8.question.description);
|
|
602
|
+
} }
|
|
603
|
+
function DynamicFormQuestionComponent_ng_container_11_div_1_small_3_Template(rf, ctx) { if (rf & 1) {
|
|
604
|
+
i0.ɵɵelementStart(0, "small", 68);
|
|
605
|
+
i0.ɵɵtext(1);
|
|
606
|
+
i0.ɵɵelementEnd();
|
|
607
|
+
} if (rf & 2) {
|
|
608
|
+
const ctx_r100 = i0.ɵɵnextContext(3);
|
|
609
|
+
i0.ɵɵadvance(1);
|
|
610
|
+
i0.ɵɵtextInterpolate(ctx_r100.question.description);
|
|
611
|
+
} }
|
|
612
|
+
function DynamicFormQuestionComponent_ng_container_11_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
613
|
+
i0.ɵɵelementStart(0, "div", 42);
|
|
614
|
+
i0.ɵɵelement(1, "textarea", 66);
|
|
615
|
+
i0.ɵɵelementStart(2, "div");
|
|
616
|
+
i0.ɵɵtemplate(3, DynamicFormQuestionComponent_ng_container_11_div_1_small_3_Template, 2, 1, "small", 67);
|
|
617
|
+
i0.ɵɵelementEnd()();
|
|
618
|
+
} if (rf & 2) {
|
|
619
|
+
const ctx_r98 = i0.ɵɵnextContext(2);
|
|
620
|
+
i0.ɵɵproperty("ngStyle", ctx_r98.setStyle(ctx_r98.question.indent));
|
|
621
|
+
i0.ɵɵadvance(1);
|
|
622
|
+
i0.ɵɵproperty("id", ctx_r98.question.name)("formControlName", ctx_r98.question.name)("maxLength", ctx_r98.question.maxLength)("rows", 3)("cols", 35);
|
|
623
|
+
i0.ɵɵattribute("aria-label", ctx_r98.question.title);
|
|
624
|
+
i0.ɵɵadvance(2);
|
|
625
|
+
i0.ɵɵproperty("ngIf", ctx_r98.question.description);
|
|
626
|
+
} }
|
|
627
|
+
function DynamicFormQuestionComponent_ng_container_11_div_2_small_3_Template(rf, ctx) { if (rf & 1) {
|
|
628
|
+
i0.ɵɵelementStart(0, "small", 68);
|
|
629
|
+
i0.ɵɵtext(1);
|
|
630
|
+
i0.ɵɵelementEnd();
|
|
631
|
+
} if (rf & 2) {
|
|
632
|
+
const ctx_r101 = i0.ɵɵnextContext(3);
|
|
633
|
+
i0.ɵɵadvance(1);
|
|
634
|
+
i0.ɵɵtextInterpolate(ctx_r101.question.description);
|
|
635
|
+
} }
|
|
636
|
+
function DynamicFormQuestionComponent_ng_container_11_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
637
|
+
i0.ɵɵelementStart(0, "div", 42);
|
|
638
|
+
i0.ɵɵelement(1, "textarea", 69);
|
|
639
|
+
i0.ɵɵelementStart(2, "div");
|
|
640
|
+
i0.ɵɵtemplate(3, DynamicFormQuestionComponent_ng_container_11_div_2_small_3_Template, 2, 1, "small", 67);
|
|
641
|
+
i0.ɵɵelementEnd()();
|
|
642
|
+
} if (rf & 2) {
|
|
643
|
+
const ctx_r99 = i0.ɵɵnextContext(2);
|
|
644
|
+
i0.ɵɵproperty("ngStyle", ctx_r99.setStyle(ctx_r99.question.indent));
|
|
645
|
+
i0.ɵɵadvance(1);
|
|
646
|
+
i0.ɵɵproperty("id", ctx_r99.question.name)("formControlName", ctx_r99.question.name)("rows", 3)("cols", 35);
|
|
647
|
+
i0.ɵɵattribute("aria-label", ctx_r99.question.title);
|
|
648
|
+
i0.ɵɵadvance(2);
|
|
649
|
+
i0.ɵɵproperty("ngIf", ctx_r99.question.description);
|
|
650
|
+
} }
|
|
651
|
+
function DynamicFormQuestionComponent_ng_container_11_Template(rf, ctx) { if (rf & 1) {
|
|
652
|
+
i0.ɵɵelementContainerStart(0);
|
|
653
|
+
i0.ɵɵtemplate(1, DynamicFormQuestionComponent_ng_container_11_div_1_Template, 4, 8, "div", 8)(2, DynamicFormQuestionComponent_ng_container_11_div_2_Template, 4, 7, "div", 8);
|
|
654
|
+
i0.ɵɵelementContainerEnd();
|
|
655
|
+
} if (rf & 2) {
|
|
656
|
+
const ctx_r9 = i0.ɵɵnextContext();
|
|
657
|
+
i0.ɵɵadvance(1);
|
|
658
|
+
i0.ɵɵproperty("ngIf", ctx_r9.question.maxLength);
|
|
659
|
+
i0.ɵɵadvance(1);
|
|
660
|
+
i0.ɵɵproperty("ngIf", !ctx_r9.question.maxLength);
|
|
661
|
+
} }
|
|
662
|
+
function DynamicFormQuestionComponent_ng_container_12_p_autoComplete_3_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
663
|
+
i0.ɵɵelementStart(0, "div")(1, "div");
|
|
664
|
+
i0.ɵɵtext(2);
|
|
665
|
+
i0.ɵɵelementEnd()();
|
|
666
|
+
} if (rf & 2) {
|
|
667
|
+
const value_r105 = ctx.$implicit;
|
|
668
|
+
i0.ɵɵadvance(2);
|
|
669
|
+
i0.ɵɵtextInterpolate(value_r105.text);
|
|
670
|
+
} }
|
|
671
|
+
function DynamicFormQuestionComponent_ng_container_12_p_autoComplete_3_Template(rf, ctx) { if (rf & 1) {
|
|
672
|
+
const _r107 = i0.ɵɵgetCurrentView();
|
|
673
|
+
i0.ɵɵelementStart(0, "p-autoComplete", 72);
|
|
674
|
+
i0.ɵɵlistener("completeMethod", function DynamicFormQuestionComponent_ng_container_12_p_autoComplete_3_Template_p_autoComplete_completeMethod_0_listener($event) { i0.ɵɵrestoreView(_r107); const ctx_r106 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r106.filterValue($event, ctx_r106.question)); })("onSelect", function DynamicFormQuestionComponent_ng_container_12_p_autoComplete_3_Template_p_autoComplete_onSelect_0_listener($event) { i0.ɵɵrestoreView(_r107); const ctx_r108 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r108.onSelect($event, ctx_r108.question.name)); });
|
|
675
|
+
i0.ɵɵtemplate(1, DynamicFormQuestionComponent_ng_container_12_p_autoComplete_3_ng_template_1_Template, 3, 1, "ng-template", 73);
|
|
676
|
+
i0.ɵɵelementEnd();
|
|
677
|
+
} if (rf & 2) {
|
|
678
|
+
const ctx_r102 = i0.ɵɵnextContext(2);
|
|
679
|
+
i0.ɵɵproperty("formControlName", ctx_r102.question.name)("suggestions", ctx_r102.filterResult)("dropdown", true)("forceSelection", true)("completeOnFocus", true);
|
|
680
|
+
} }
|
|
681
|
+
function DynamicFormQuestionComponent_ng_container_12_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
682
|
+
i0.ɵɵelementStart(0, "div", 65);
|
|
683
|
+
i0.ɵɵelement(1, "app-overlay-info", 39);
|
|
684
|
+
i0.ɵɵpipe(2, "dynamicTranslate");
|
|
685
|
+
i0.ɵɵelementEnd();
|
|
686
|
+
} if (rf & 2) {
|
|
687
|
+
const ctx_r103 = i0.ɵɵnextContext(2);
|
|
688
|
+
i0.ɵɵadvance(1);
|
|
689
|
+
i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind2(2, 1, ctx_r103.question.description, ctx_r103.dynamicParam));
|
|
690
|
+
} }
|
|
691
|
+
function DynamicFormQuestionComponent_ng_container_12_Template(rf, ctx) { if (rf & 1) {
|
|
692
|
+
const _r110 = i0.ɵɵgetCurrentView();
|
|
693
|
+
i0.ɵɵelementContainerStart(0);
|
|
694
|
+
i0.ɵɵelementStart(1, "div", 40)(2, "div", 42);
|
|
695
|
+
i0.ɵɵtemplate(3, DynamicFormQuestionComponent_ng_container_12_p_autoComplete_3_Template, 2, 5, "p-autoComplete", 70);
|
|
696
|
+
i0.ɵɵelementStart(4, "app-dropdown", 71);
|
|
697
|
+
i0.ɵɵlistener("onChange", function DynamicFormQuestionComponent_ng_container_12_Template_app_dropdown_onChange_4_listener($event) { i0.ɵɵrestoreView(_r110); const ctx_r109 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r109.onSelect($event, ctx_r109.question.name)); })("onClick", function DynamicFormQuestionComponent_ng_container_12_Template_app_dropdown_onClick_4_listener($event) { i0.ɵɵrestoreView(_r110); const ctx_r111 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r111.filterValue($event, ctx_r111.question)); });
|
|
698
|
+
i0.ɵɵelementEnd()();
|
|
699
|
+
i0.ɵɵtemplate(5, DynamicFormQuestionComponent_ng_container_12_div_5_Template, 3, 4, "div", 41);
|
|
700
|
+
i0.ɵɵelementEnd();
|
|
701
|
+
i0.ɵɵelementContainerEnd();
|
|
702
|
+
} if (rf & 2) {
|
|
703
|
+
const ctx_r10 = i0.ɵɵnextContext();
|
|
704
|
+
i0.ɵɵadvance(2);
|
|
705
|
+
i0.ɵɵproperty("ngStyle", ctx_r10.setStyle(ctx_r10.question.indent));
|
|
706
|
+
i0.ɵɵadvance(1);
|
|
707
|
+
i0.ɵɵproperty("ngIf", false);
|
|
708
|
+
i0.ɵɵadvance(1);
|
|
709
|
+
i0.ɵɵproperty("options", ctx_r10.filterResult)("formControlName", ctx_r10.question.name)("autoDisplayFirst", false)("inputId", ctx_r10.question.name)("ariaLabel", ctx_r10.question.title);
|
|
710
|
+
i0.ɵɵadvance(1);
|
|
711
|
+
i0.ɵɵproperty("ngIf", ctx_r10.question.description);
|
|
712
|
+
} }
|
|
713
|
+
function DynamicFormQuestionComponent_ng_container_13_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
714
|
+
i0.ɵɵelementStart(0, "div", 65);
|
|
715
|
+
i0.ɵɵelement(1, "app-overlay-info", 39);
|
|
716
|
+
i0.ɵɵpipe(2, "dynamicTranslate");
|
|
717
|
+
i0.ɵɵelementEnd();
|
|
718
|
+
} if (rf & 2) {
|
|
719
|
+
const ctx_r112 = i0.ɵɵnextContext(2);
|
|
720
|
+
i0.ɵɵadvance(1);
|
|
721
|
+
i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind2(2, 1, ctx_r112.question.description, ctx_r112.dynamicParam));
|
|
722
|
+
} }
|
|
723
|
+
function DynamicFormQuestionComponent_ng_container_13_Template(rf, ctx) { if (rf & 1) {
|
|
724
|
+
const _r114 = i0.ɵɵgetCurrentView();
|
|
725
|
+
i0.ɵɵelementContainerStart(0);
|
|
726
|
+
i0.ɵɵelementStart(1, "div", 40)(2, "div", 42)(3, "p-selectButton", 74);
|
|
727
|
+
i0.ɵɵlistener("onOptionClick", function DynamicFormQuestionComponent_ng_container_13_Template_p_selectButton_onOptionClick_3_listener($event) { i0.ɵɵrestoreView(_r114); const ctx_r113 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r113.onRadioOptionClick($event, ctx_r113.question)); });
|
|
728
|
+
i0.ɵɵelementEnd()();
|
|
729
|
+
i0.ɵɵtemplate(4, DynamicFormQuestionComponent_ng_container_13_div_4_Template, 3, 4, "div", 41);
|
|
730
|
+
i0.ɵɵelementEnd();
|
|
731
|
+
i0.ɵɵelementContainerEnd();
|
|
732
|
+
} if (rf & 2) {
|
|
733
|
+
const ctx_r11 = i0.ɵɵnextContext();
|
|
734
|
+
i0.ɵɵadvance(2);
|
|
735
|
+
i0.ɵɵproperty("ngStyle", ctx_r11.setStyle(ctx_r11.question.indent));
|
|
736
|
+
i0.ɵɵadvance(1);
|
|
737
|
+
i0.ɵɵproperty("options", ctx_r11.question.choices)("formControlName", ctx_r11.question.name);
|
|
738
|
+
i0.ɵɵadvance(1);
|
|
739
|
+
i0.ɵɵproperty("ngIf", ctx_r11.question.description);
|
|
740
|
+
} }
|
|
741
|
+
function DynamicFormQuestionComponent_ng_container_14_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
742
|
+
i0.ɵɵelementStart(0, "div", 65);
|
|
743
|
+
i0.ɵɵelement(1, "app-overlay-info", 39);
|
|
744
|
+
i0.ɵɵpipe(2, "dynamicTranslate");
|
|
745
|
+
i0.ɵɵelementEnd();
|
|
746
|
+
} if (rf & 2) {
|
|
747
|
+
const ctx_r115 = i0.ɵɵnextContext(2);
|
|
748
|
+
i0.ɵɵadvance(1);
|
|
749
|
+
i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind2(2, 1, ctx_r115.question.description, ctx_r115.dynamicParam));
|
|
750
|
+
} }
|
|
751
|
+
function DynamicFormQuestionComponent_ng_container_14_Template(rf, ctx) { if (rf & 1) {
|
|
752
|
+
i0.ɵɵelementContainerStart(0);
|
|
753
|
+
i0.ɵɵelementStart(1, "div", 40)(2, "div", 42);
|
|
754
|
+
i0.ɵɵelement(3, "p-inputNumber", 75);
|
|
755
|
+
i0.ɵɵelementEnd();
|
|
756
|
+
i0.ɵɵtemplate(4, DynamicFormQuestionComponent_ng_container_14_div_4_Template, 3, 4, "div", 41);
|
|
757
|
+
i0.ɵɵelementEnd();
|
|
758
|
+
i0.ɵɵelementContainerEnd();
|
|
759
|
+
} if (rf & 2) {
|
|
760
|
+
const ctx_r12 = i0.ɵɵnextContext();
|
|
761
|
+
i0.ɵɵadvance(2);
|
|
762
|
+
i0.ɵɵproperty("ngStyle", ctx_r12.setStyle(ctx_r12.question.indent));
|
|
763
|
+
i0.ɵɵadvance(1);
|
|
764
|
+
i0.ɵɵpropertyInterpolate("formControlName", ctx_r12.question.name);
|
|
765
|
+
i0.ɵɵproperty("inputId", ctx_r12.question.name)("useGrouping", false)("min", ctx_r12.question.min ? ctx_r12.question.min : null)("max", ctx_r12.question.max ? ctx_r12.question.max : null)("size", ctx_r12.question.size ? ctx_r12.question.size : null)("maxlength", ctx_r12.question.maxLength ? ctx_r12.question.maxLength : null)("ariaLabel", ctx_r12.question.title);
|
|
766
|
+
i0.ɵɵadvance(1);
|
|
767
|
+
i0.ɵɵproperty("ngIf", ctx_r12.question.description);
|
|
768
|
+
} }
|
|
769
|
+
function DynamicFormQuestionComponent_ng_container_15_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
770
|
+
i0.ɵɵelementStart(0, "div", 65);
|
|
771
|
+
i0.ɵɵelement(1, "app-overlay-info", 39);
|
|
772
|
+
i0.ɵɵpipe(2, "dynamicTranslate");
|
|
773
|
+
i0.ɵɵelementEnd();
|
|
774
|
+
} if (rf & 2) {
|
|
775
|
+
const ctx_r116 = i0.ɵɵnextContext(2);
|
|
776
|
+
i0.ɵɵadvance(1);
|
|
777
|
+
i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind2(2, 1, ctx_r116.question.description, ctx_r116.dynamicParam));
|
|
778
|
+
} }
|
|
779
|
+
function DynamicFormQuestionComponent_ng_container_15_Template(rf, ctx) { if (rf & 1) {
|
|
780
|
+
i0.ɵɵelementContainerStart(0);
|
|
781
|
+
i0.ɵɵelementStart(1, "div", 40)(2, "div", 42);
|
|
782
|
+
i0.ɵɵelement(3, "p-inputNumber", 76);
|
|
783
|
+
i0.ɵɵelementEnd();
|
|
784
|
+
i0.ɵɵtemplate(4, DynamicFormQuestionComponent_ng_container_15_div_4_Template, 3, 4, "div", 41);
|
|
785
|
+
i0.ɵɵelementEnd();
|
|
786
|
+
i0.ɵɵelementContainerEnd();
|
|
787
|
+
} if (rf & 2) {
|
|
788
|
+
const ctx_r13 = i0.ɵɵnextContext();
|
|
789
|
+
i0.ɵɵadvance(2);
|
|
790
|
+
i0.ɵɵproperty("ngStyle", ctx_r13.setStyle(ctx_r13.question.indent));
|
|
791
|
+
i0.ɵɵadvance(1);
|
|
792
|
+
i0.ɵɵpropertyInterpolate("formControlName", ctx_r13.question.name);
|
|
793
|
+
i0.ɵɵproperty("inputId", ctx_r13.question.name)("useGrouping", false)("minFractionDigits", 2)("maxFractionDigits", 2)("min", ctx_r13.question.min ? ctx_r13.question.min : null)("max", ctx_r13.question.max ? ctx_r13.question.max : null)("size", ctx_r13.question.size ? ctx_r13.question.size : null)("maxlength", ctx_r13.question.maxLength ? ctx_r13.question.maxLength : null)("ariaLabel", ctx_r13.question.title);
|
|
794
|
+
i0.ɵɵadvance(1);
|
|
795
|
+
i0.ɵɵproperty("ngIf", ctx_r13.question.description);
|
|
796
|
+
} }
|
|
797
|
+
function DynamicFormQuestionComponent_ng_container_16_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
798
|
+
i0.ɵɵelementStart(0, "div", 65);
|
|
799
|
+
i0.ɵɵelement(1, "app-overlay-info", 39);
|
|
800
|
+
i0.ɵɵpipe(2, "dynamicTranslate");
|
|
801
|
+
i0.ɵɵelementEnd();
|
|
802
|
+
} if (rf & 2) {
|
|
803
|
+
const ctx_r117 = i0.ɵɵnextContext(2);
|
|
804
|
+
i0.ɵɵadvance(1);
|
|
805
|
+
i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind2(2, 1, ctx_r117.question.description, ctx_r117.dynamicParam));
|
|
806
|
+
} }
|
|
807
|
+
function DynamicFormQuestionComponent_ng_container_16_Template(rf, ctx) { if (rf & 1) {
|
|
808
|
+
i0.ɵɵelementContainerStart(0);
|
|
809
|
+
i0.ɵɵelementStart(1, "div", 40)(2, "div", 42);
|
|
810
|
+
i0.ɵɵelement(3, "p-inputNumber", 77);
|
|
811
|
+
i0.ɵɵelementEnd();
|
|
812
|
+
i0.ɵɵtemplate(4, DynamicFormQuestionComponent_ng_container_16_div_4_Template, 3, 4, "div", 41);
|
|
813
|
+
i0.ɵɵelementEnd();
|
|
814
|
+
i0.ɵɵelementContainerEnd();
|
|
815
|
+
} if (rf & 2) {
|
|
816
|
+
const ctx_r14 = i0.ɵɵnextContext();
|
|
817
|
+
i0.ɵɵadvance(2);
|
|
818
|
+
i0.ɵɵproperty("ngStyle", ctx_r14.setStyle(ctx_r14.question.indent));
|
|
819
|
+
i0.ɵɵadvance(1);
|
|
820
|
+
i0.ɵɵpropertyInterpolate("formControlName", ctx_r14.question.name);
|
|
821
|
+
i0.ɵɵproperty("inputId", ctx_r14.question.name)("useGrouping", false)("minFractionDigits", 2)("maxFractionDigits", 2)("min", ctx_r14.question.min ? ctx_r14.question.min : null)("max", ctx_r14.question.max ? ctx_r14.question.max : null)("size", ctx_r14.question.size ? ctx_r14.question.size : null)("maxlength", ctx_r14.question.maxLength ? ctx_r14.question.maxLength : null)("ariaLabel", ctx_r14.question.title);
|
|
822
|
+
i0.ɵɵadvance(1);
|
|
823
|
+
i0.ɵɵproperty("ngIf", ctx_r14.question.description);
|
|
824
|
+
} }
|
|
825
|
+
function DynamicFormQuestionComponent_ng_container_17_p_checkbox_3_Template(rf, ctx) { if (rf & 1) {
|
|
826
|
+
i0.ɵɵelement(0, "p-checkbox", 80);
|
|
827
|
+
} if (rf & 2) {
|
|
828
|
+
const choice_r120 = ctx.$implicit;
|
|
829
|
+
const ctx_r118 = i0.ɵɵnextContext(2);
|
|
830
|
+
i0.ɵɵproperty("name", ctx_r118.question.name + "-group")("value", choice_r120.value)("label", choice_r120.text)("formControl", ctx_r118.form.controls[ctx_r118.question.name])("inputId", ctx_r118.question.name + "-" + choice_r120.value);
|
|
831
|
+
i0.ɵɵattribute("aria-label", ctx_r118.question.title);
|
|
832
|
+
} }
|
|
833
|
+
function DynamicFormQuestionComponent_ng_container_17_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
834
|
+
i0.ɵɵelementStart(0, "div", 65);
|
|
835
|
+
i0.ɵɵelement(1, "app-overlay-info", 39);
|
|
836
|
+
i0.ɵɵpipe(2, "dynamicTranslate");
|
|
837
|
+
i0.ɵɵelementEnd();
|
|
838
|
+
} if (rf & 2) {
|
|
839
|
+
const ctx_r119 = i0.ɵɵnextContext(2);
|
|
840
|
+
i0.ɵɵadvance(1);
|
|
841
|
+
i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind2(2, 1, ctx_r119.question.description, ctx_r119.dynamicParam));
|
|
842
|
+
} }
|
|
843
|
+
function DynamicFormQuestionComponent_ng_container_17_Template(rf, ctx) { if (rf & 1) {
|
|
844
|
+
i0.ɵɵelementContainerStart(0);
|
|
845
|
+
i0.ɵɵelementStart(1, "div", 40)(2, "div", 78);
|
|
846
|
+
i0.ɵɵtemplate(3, DynamicFormQuestionComponent_ng_container_17_p_checkbox_3_Template, 1, 6, "p-checkbox", 79);
|
|
847
|
+
i0.ɵɵelementEnd();
|
|
848
|
+
i0.ɵɵtemplate(4, DynamicFormQuestionComponent_ng_container_17_div_4_Template, 3, 4, "div", 41);
|
|
849
|
+
i0.ɵɵelementEnd();
|
|
850
|
+
i0.ɵɵelementContainerEnd();
|
|
851
|
+
} if (rf & 2) {
|
|
852
|
+
const ctx_r15 = i0.ɵɵnextContext();
|
|
853
|
+
i0.ɵɵadvance(2);
|
|
854
|
+
i0.ɵɵproperty("ngStyle", ctx_r15.setStyle(ctx_r15.question.indent));
|
|
855
|
+
i0.ɵɵadvance(1);
|
|
856
|
+
i0.ɵɵproperty("ngForOf", ctx_r15.question.choices);
|
|
857
|
+
i0.ɵɵadvance(1);
|
|
858
|
+
i0.ɵɵproperty("ngIf", ctx_r15.question.description);
|
|
859
|
+
} }
|
|
860
|
+
function DynamicFormQuestionComponent_ng_container_18_p_checkbox_3_Template(rf, ctx) { if (rf & 1) {
|
|
861
|
+
i0.ɵɵelement(0, "p-checkbox", 80);
|
|
862
|
+
} if (rf & 2) {
|
|
863
|
+
const choice_r123 = ctx.$implicit;
|
|
864
|
+
const ctx_r121 = i0.ɵɵnextContext(2);
|
|
865
|
+
i0.ɵɵproperty("name", ctx_r121.question.name + "-group")("value", choice_r123.value)("label", choice_r123.text)("formControl", ctx_r121.form.controls[ctx_r121.question.name])("inputId", ctx_r121.question.name + "-" + choice_r123.value);
|
|
866
|
+
i0.ɵɵattribute("aria-label", ctx_r121.question.title);
|
|
867
|
+
} }
|
|
868
|
+
function DynamicFormQuestionComponent_ng_container_18_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
869
|
+
i0.ɵɵelementStart(0, "div", 65);
|
|
870
|
+
i0.ɵɵelement(1, "app-overlay-info", 39);
|
|
871
|
+
i0.ɵɵpipe(2, "dynamicTranslate");
|
|
872
|
+
i0.ɵɵelementEnd();
|
|
873
|
+
} if (rf & 2) {
|
|
874
|
+
const ctx_r122 = i0.ɵɵnextContext(2);
|
|
875
|
+
i0.ɵɵadvance(1);
|
|
876
|
+
i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind2(2, 1, ctx_r122.question.description, ctx_r122.dynamicParam));
|
|
877
|
+
} }
|
|
878
|
+
function DynamicFormQuestionComponent_ng_container_18_Template(rf, ctx) { if (rf & 1) {
|
|
879
|
+
i0.ɵɵelementContainerStart(0);
|
|
880
|
+
i0.ɵɵelementStart(1, "div", 40)(2, "div", 42);
|
|
881
|
+
i0.ɵɵtemplate(3, DynamicFormQuestionComponent_ng_container_18_p_checkbox_3_Template, 1, 6, "p-checkbox", 79);
|
|
882
|
+
i0.ɵɵelementEnd();
|
|
883
|
+
i0.ɵɵtemplate(4, DynamicFormQuestionComponent_ng_container_18_div_4_Template, 3, 4, "div", 41);
|
|
884
|
+
i0.ɵɵelementEnd();
|
|
885
|
+
i0.ɵɵelementContainerEnd();
|
|
886
|
+
} if (rf & 2) {
|
|
887
|
+
const ctx_r16 = i0.ɵɵnextContext();
|
|
888
|
+
i0.ɵɵadvance(2);
|
|
889
|
+
i0.ɵɵproperty("ngStyle", ctx_r16.setStyle(ctx_r16.question.indent));
|
|
890
|
+
i0.ɵɵadvance(1);
|
|
891
|
+
i0.ɵɵproperty("ngForOf", ctx_r16.question.choices);
|
|
892
|
+
i0.ɵɵadvance(1);
|
|
893
|
+
i0.ɵɵproperty("ngIf", ctx_r16.question.description);
|
|
894
|
+
} }
|
|
895
|
+
function DynamicFormQuestionComponent_ng_container_19_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
896
|
+
i0.ɵɵelementStart(0, "div", 65);
|
|
897
|
+
i0.ɵɵelement(1, "app-overlay-info", 39);
|
|
898
|
+
i0.ɵɵpipe(2, "dynamicTranslate");
|
|
899
|
+
i0.ɵɵelementEnd();
|
|
900
|
+
} if (rf & 2) {
|
|
901
|
+
const ctx_r124 = i0.ɵɵnextContext(2);
|
|
902
|
+
i0.ɵɵadvance(1);
|
|
903
|
+
i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind2(2, 1, ctx_r124.question.description, ctx_r124.dynamicParam));
|
|
904
|
+
} }
|
|
905
|
+
function DynamicFormQuestionComponent_ng_container_19_Template(rf, ctx) { if (rf & 1) {
|
|
906
|
+
i0.ɵɵelementContainerStart(0);
|
|
907
|
+
i0.ɵɵelementStart(1, "div", 40)(2, "div", 42);
|
|
908
|
+
i0.ɵɵelement(3, "p-selectButton", 81);
|
|
909
|
+
i0.ɵɵelementEnd();
|
|
910
|
+
i0.ɵɵtemplate(4, DynamicFormQuestionComponent_ng_container_19_div_4_Template, 3, 4, "div", 41);
|
|
911
|
+
i0.ɵɵelementEnd();
|
|
912
|
+
i0.ɵɵelementContainerEnd();
|
|
913
|
+
} if (rf & 2) {
|
|
914
|
+
const ctx_r17 = i0.ɵɵnextContext();
|
|
915
|
+
i0.ɵɵadvance(2);
|
|
916
|
+
i0.ɵɵproperty("ngStyle", ctx_r17.setStyle(ctx_r17.question.indent));
|
|
917
|
+
i0.ɵɵadvance(1);
|
|
918
|
+
i0.ɵɵproperty("options", ctx_r17.question.choices)("formControlName", ctx_r17.question.name)("multiple", false);
|
|
919
|
+
i0.ɵɵattribute("aria-label", ctx_r17.question.title);
|
|
920
|
+
i0.ɵɵadvance(1);
|
|
921
|
+
i0.ɵɵproperty("ngIf", ctx_r17.question.description);
|
|
922
|
+
} }
|
|
923
|
+
function DynamicFormQuestionComponent_ng_container_20_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
924
|
+
i0.ɵɵelementStart(0, "div", 65);
|
|
925
|
+
i0.ɵɵelement(1, "app-overlay-info", 39);
|
|
926
|
+
i0.ɵɵpipe(2, "dynamicTranslate");
|
|
927
|
+
i0.ɵɵelementEnd();
|
|
928
|
+
} if (rf & 2) {
|
|
929
|
+
const ctx_r125 = i0.ɵɵnextContext(2);
|
|
930
|
+
i0.ɵɵadvance(1);
|
|
931
|
+
i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind2(2, 1, ctx_r125.question.description, ctx_r125.dynamicParam));
|
|
932
|
+
} }
|
|
933
|
+
function DynamicFormQuestionComponent_ng_container_20_Template(rf, ctx) { if (rf & 1) {
|
|
934
|
+
i0.ɵɵelementContainerStart(0);
|
|
935
|
+
i0.ɵɵelementStart(1, "div", 40)(2, "div", 82);
|
|
936
|
+
i0.ɵɵelement(3, "p-checkbox", 83);
|
|
937
|
+
i0.ɵɵelementStart(4, "label", 84);
|
|
938
|
+
i0.ɵɵtext(5);
|
|
939
|
+
i0.ɵɵelementEnd()();
|
|
940
|
+
i0.ɵɵtemplate(6, DynamicFormQuestionComponent_ng_container_20_div_6_Template, 3, 4, "div", 85);
|
|
941
|
+
i0.ɵɵelementEnd();
|
|
942
|
+
i0.ɵɵelementContainerEnd();
|
|
943
|
+
} if (rf & 2) {
|
|
944
|
+
const ctx_r18 = i0.ɵɵnextContext();
|
|
945
|
+
i0.ɵɵadvance(3);
|
|
946
|
+
i0.ɵɵproperty("formControlName", ctx_r18.question.name);
|
|
947
|
+
i0.ɵɵattribute("aria-label", ctx_r18.question.title);
|
|
948
|
+
i0.ɵɵadvance(2);
|
|
949
|
+
i0.ɵɵtextInterpolate(ctx_r18.question.title);
|
|
950
|
+
i0.ɵɵadvance(1);
|
|
951
|
+
i0.ɵɵproperty("ngIf", ctx_r18.question.description);
|
|
952
|
+
} }
|
|
953
|
+
function DynamicFormQuestionComponent_ng_container_21_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
954
|
+
i0.ɵɵelementStart(0, "div", 88);
|
|
955
|
+
i0.ɵɵelement(1, "app-overlay-info", 39);
|
|
956
|
+
i0.ɵɵpipe(2, "dynamicTranslate");
|
|
957
|
+
i0.ɵɵelementEnd();
|
|
958
|
+
} if (rf & 2) {
|
|
959
|
+
const ctx_r126 = i0.ɵɵnextContext(2);
|
|
960
|
+
i0.ɵɵadvance(1);
|
|
961
|
+
i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind2(2, 1, ctx_r126.question.description, ctx_r126.dynamicParam));
|
|
962
|
+
} }
|
|
963
|
+
function DynamicFormQuestionComponent_ng_container_21_Template(rf, ctx) { if (rf & 1) {
|
|
964
|
+
i0.ɵɵelementContainerStart(0);
|
|
965
|
+
i0.ɵɵelementStart(1, "div", 40)(2, "label");
|
|
966
|
+
i0.ɵɵtext(3);
|
|
967
|
+
i0.ɵɵelementEnd();
|
|
968
|
+
i0.ɵɵelement(4, "input", 86);
|
|
969
|
+
i0.ɵɵtemplate(5, DynamicFormQuestionComponent_ng_container_21_div_5_Template, 3, 4, "div", 87);
|
|
970
|
+
i0.ɵɵelementEnd();
|
|
971
|
+
i0.ɵɵelementContainerEnd();
|
|
972
|
+
} if (rf & 2) {
|
|
973
|
+
const ctx_r19 = i0.ɵɵnextContext();
|
|
974
|
+
i0.ɵɵadvance(3);
|
|
975
|
+
i0.ɵɵtextInterpolate(ctx_r19.getText(ctx_r19.form.controls[ctx_r19.question.name].value));
|
|
976
|
+
i0.ɵɵadvance(1);
|
|
977
|
+
i0.ɵɵproperty("formControlName", ctx_r19.question.name);
|
|
978
|
+
i0.ɵɵattribute("aria-label", ctx_r19.question.title);
|
|
979
|
+
i0.ɵɵadvance(1);
|
|
980
|
+
i0.ɵɵproperty("ngIf", ctx_r19.question.description);
|
|
981
|
+
} }
|
|
982
|
+
function DynamicFormQuestionComponent_ng_container_22_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
983
|
+
i0.ɵɵelementStart(0, "div", 88);
|
|
984
|
+
i0.ɵɵelement(1, "app-overlay-info", 39);
|
|
985
|
+
i0.ɵɵpipe(2, "dynamicTranslate");
|
|
986
|
+
i0.ɵɵelementEnd();
|
|
987
|
+
} if (rf & 2) {
|
|
988
|
+
const ctx_r127 = i0.ɵɵnextContext(2);
|
|
989
|
+
i0.ɵɵadvance(1);
|
|
990
|
+
i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind2(2, 1, ctx_r127.question.description, ctx_r127.dynamicParam));
|
|
991
|
+
} }
|
|
992
|
+
function DynamicFormQuestionComponent_ng_container_22_Template(rf, ctx) { if (rf & 1) {
|
|
993
|
+
i0.ɵɵelementContainerStart(0);
|
|
994
|
+
i0.ɵɵelementStart(1, "div", 40)(2, "label");
|
|
995
|
+
i0.ɵɵtext(3);
|
|
996
|
+
i0.ɵɵelementEnd();
|
|
997
|
+
i0.ɵɵtemplate(4, DynamicFormQuestionComponent_ng_container_22_div_4_Template, 3, 4, "div", 87);
|
|
998
|
+
i0.ɵɵelementEnd();
|
|
999
|
+
i0.ɵɵelementContainerEnd();
|
|
1000
|
+
} if (rf & 2) {
|
|
1001
|
+
const ctx_r20 = i0.ɵɵnextContext();
|
|
1002
|
+
i0.ɵɵadvance(3);
|
|
1003
|
+
i0.ɵɵtextInterpolate(ctx_r20.question.title);
|
|
1004
|
+
i0.ɵɵadvance(1);
|
|
1005
|
+
i0.ɵɵproperty("ngIf", ctx_r20.question.description);
|
|
1006
|
+
} }
|
|
1007
|
+
function DynamicFormQuestionComponent_ng_container_23_Template(rf, ctx) { if (rf & 1) {
|
|
1008
|
+
i0.ɵɵelementContainerStart(0);
|
|
1009
|
+
i0.ɵɵelementStart(1, "div", 40);
|
|
1010
|
+
i0.ɵɵelement(2, "app-overlay-info", 89);
|
|
1011
|
+
i0.ɵɵpipe(3, "dynamicTranslate");
|
|
1012
|
+
i0.ɵɵelementEnd();
|
|
1013
|
+
i0.ɵɵelementContainerEnd();
|
|
1014
|
+
} if (rf & 2) {
|
|
1015
|
+
const ctx_r21 = i0.ɵɵnextContext();
|
|
1016
|
+
i0.ɵɵadvance(2);
|
|
1017
|
+
i0.ɵɵproperty("displayText", ctx_r21.question.title)("overlayText", i0.ɵɵpipeBind2(3, 3, ctx_r21.question.description, ctx_r21.dynamicParam))("displayAsLabel", true);
|
|
1018
|
+
} }
|
|
1019
|
+
function DynamicFormQuestionComponent_ng_container_24_Template(rf, ctx) { if (rf & 1) {
|
|
1020
|
+
i0.ɵɵelementContainerStart(0);
|
|
1021
|
+
i0.ɵɵelementStart(1, "div", 40);
|
|
1022
|
+
i0.ɵɵelement(2, "app-overlay-info", 90);
|
|
1023
|
+
i0.ɵɵpipe(3, "dynamicTranslate");
|
|
1024
|
+
i0.ɵɵelementEnd();
|
|
1025
|
+
i0.ɵɵelementContainerEnd();
|
|
1026
|
+
} if (rf & 2) {
|
|
1027
|
+
const ctx_r22 = i0.ɵɵnextContext();
|
|
1028
|
+
i0.ɵɵadvance(2);
|
|
1029
|
+
i0.ɵɵproperty("displayText", ctx_r22.question.title)("formControlName", ctx_r22.question.name)("overlayText", i0.ɵɵpipeBind2(3, 4, ctx_r22.question.description, ctx_r22.dynamicParam))("labelWithLink", true);
|
|
1030
|
+
} }
|
|
1031
|
+
function DynamicFormQuestionComponent_ng_container_25_Template(rf, ctx) { if (rf & 1) {
|
|
1032
|
+
i0.ɵɵelementContainerStart(0);
|
|
1033
|
+
i0.ɵɵelementStart(1, "div", 40);
|
|
1034
|
+
i0.ɵɵelement(2, "app-overlay-info", 91);
|
|
1035
|
+
i0.ɵɵpipe(3, "dynamicTranslate");
|
|
1036
|
+
i0.ɵɵelementEnd();
|
|
1037
|
+
i0.ɵɵelementContainerEnd();
|
|
1038
|
+
} if (rf & 2) {
|
|
1039
|
+
const ctx_r23 = i0.ɵɵnextContext();
|
|
1040
|
+
i0.ɵɵadvance(2);
|
|
1041
|
+
i0.ɵɵproperty("displayText", ctx_r23.question.title)("formControlName", ctx_r23.question.name)("labelWithPopup", i0.ɵɵpipeBind2(3, 4, ctx_r23.question.description, ctx_r23.dynamicParam))("labelWithLink", true);
|
|
1042
|
+
} }
|
|
1043
|
+
function DynamicFormQuestionComponent_ng_container_26_ng_container_4_ion_col_1_Template(rf, ctx) { if (rf & 1) {
|
|
1044
|
+
i0.ɵɵelementStart(0, "ion-col", 95);
|
|
1045
|
+
i0.ɵɵelement(1, "app-question", 96);
|
|
1046
|
+
i0.ɵɵelementEnd();
|
|
1047
|
+
} if (rf & 2) {
|
|
1048
|
+
const element_r130 = i0.ɵɵnextContext().$implicit;
|
|
1049
|
+
const ctx_r131 = i0.ɵɵnextContext(2);
|
|
1050
|
+
i0.ɵɵproperty("sizeXl", element_r130.sizeXL)("sizeLg", element_r130.sizeLG)("sizeMd", element_r130.sizeMD)("offsetMd", element_r130.offSetMD);
|
|
1051
|
+
i0.ɵɵadvance(1);
|
|
1052
|
+
i0.ɵɵproperty("question", element_r130)("form", ctx_r131.form)("forScreenQuestionnaire", ctx_r131.forScreenQuestionnaire);
|
|
1053
|
+
} }
|
|
1054
|
+
function DynamicFormQuestionComponent_ng_container_26_ng_container_4_Template(rf, ctx) { if (rf & 1) {
|
|
1055
|
+
i0.ɵɵelementContainerStart(0);
|
|
1056
|
+
i0.ɵɵtemplate(1, DynamicFormQuestionComponent_ng_container_26_ng_container_4_ion_col_1_Template, 2, 7, "ion-col", 94);
|
|
1057
|
+
i0.ɵɵelementContainerEnd();
|
|
1058
|
+
} if (rf & 2) {
|
|
1059
|
+
const element_r130 = ctx.$implicit;
|
|
1060
|
+
const ctx_r128 = i0.ɵɵnextContext(2);
|
|
1061
|
+
i0.ɵɵadvance(1);
|
|
1062
|
+
i0.ɵɵproperty("ngIf", element_r130.colElement === "COL1" && ctx_r128.visibleIf(element_r130.visibleIf, element_r130.name));
|
|
1063
|
+
} }
|
|
1064
|
+
function DynamicFormQuestionComponent_ng_container_26_ng_container_7_ion_col_1_Template(rf, ctx) { if (rf & 1) {
|
|
1065
|
+
i0.ɵɵelementStart(0, "ion-col", 98);
|
|
1066
|
+
i0.ɵɵelement(1, "app-question", 96);
|
|
1067
|
+
i0.ɵɵelementEnd();
|
|
1068
|
+
} if (rf & 2) {
|
|
1069
|
+
const element_r133 = i0.ɵɵnextContext().$implicit;
|
|
1070
|
+
const ctx_r134 = i0.ɵɵnextContext(2);
|
|
1071
|
+
i0.ɵɵproperty("sizeXl", element_r133.sizeXL)("sizeLg", element_r133.sizeLG)("sizeMd", element_r133.sizeMD)("offsetMd", element_r133.offSetMD);
|
|
1072
|
+
i0.ɵɵadvance(1);
|
|
1073
|
+
i0.ɵɵproperty("question", element_r133)("form", ctx_r134.form)("forScreenQuestionnaire", ctx_r134.forScreenQuestionnaire);
|
|
1074
|
+
} }
|
|
1075
|
+
function DynamicFormQuestionComponent_ng_container_26_ng_container_7_Template(rf, ctx) { if (rf & 1) {
|
|
1076
|
+
i0.ɵɵelementContainerStart(0);
|
|
1077
|
+
i0.ɵɵtemplate(1, DynamicFormQuestionComponent_ng_container_26_ng_container_7_ion_col_1_Template, 2, 7, "ion-col", 97);
|
|
1078
|
+
i0.ɵɵelementContainerEnd();
|
|
1079
|
+
} if (rf & 2) {
|
|
1080
|
+
const element_r133 = ctx.$implicit;
|
|
1081
|
+
const ctx_r129 = i0.ɵɵnextContext(2);
|
|
1082
|
+
i0.ɵɵadvance(1);
|
|
1083
|
+
i0.ɵɵproperty("ngIf", element_r133.colElement === "COL2" && ctx_r129.visibleIf(element_r133.visibleIf, element_r133.name));
|
|
1084
|
+
} }
|
|
1085
|
+
function DynamicFormQuestionComponent_ng_container_26_Template(rf, ctx) { if (rf & 1) {
|
|
1086
|
+
i0.ɵɵelementContainerStart(0, 92);
|
|
1087
|
+
i0.ɵɵelementStart(1, "ion-row")(2, "ion-col")(3, "ion-row");
|
|
1088
|
+
i0.ɵɵtemplate(4, DynamicFormQuestionComponent_ng_container_26_ng_container_4_Template, 2, 1, "ng-container", 93);
|
|
1089
|
+
i0.ɵɵelementEnd()();
|
|
1090
|
+
i0.ɵɵelementStart(5, "ion-col")(6, "ion-row");
|
|
1091
|
+
i0.ɵɵtemplate(7, DynamicFormQuestionComponent_ng_container_26_ng_container_7_Template, 2, 1, "ng-container", 93);
|
|
1092
|
+
i0.ɵɵelementEnd()()();
|
|
1093
|
+
i0.ɵɵelementContainerEnd();
|
|
1094
|
+
} if (rf & 2) {
|
|
1095
|
+
const ctx_r24 = i0.ɵɵnextContext();
|
|
1096
|
+
i0.ɵɵadvance(4);
|
|
1097
|
+
i0.ɵɵproperty("ngForOf", ctx_r24.question.elements);
|
|
1098
|
+
i0.ɵɵadvance(3);
|
|
1099
|
+
i0.ɵɵproperty("ngForOf", ctx_r24.question.elements);
|
|
1100
|
+
} }
|
|
1101
|
+
function DynamicFormQuestionComponent_div_27_small_1_Template(rf, ctx) { if (rf & 1) {
|
|
1102
|
+
i0.ɵɵelementStart(0, "small", 100);
|
|
1103
|
+
i0.ɵɵtext(1);
|
|
1104
|
+
i0.ɵɵelementEnd();
|
|
1105
|
+
} if (rf & 2) {
|
|
1106
|
+
const ctx_r136 = i0.ɵɵnextContext(2);
|
|
1107
|
+
i0.ɵɵproperty("@rowExpansionTrigger", "active");
|
|
1108
|
+
i0.ɵɵadvance(1);
|
|
1109
|
+
i0.ɵɵtextInterpolate(ctx_r136.isValid);
|
|
1110
|
+
} }
|
|
1111
|
+
function DynamicFormQuestionComponent_div_27_Template(rf, ctx) { if (rf & 1) {
|
|
1112
|
+
i0.ɵɵelementStart(0, "div", 42);
|
|
1113
|
+
i0.ɵɵtemplate(1, DynamicFormQuestionComponent_div_27_small_1_Template, 2, 2, "small", 99);
|
|
1114
|
+
i0.ɵɵelementEnd();
|
|
1115
|
+
} if (rf & 2) {
|
|
1116
|
+
const ctx_r25 = i0.ɵɵnextContext();
|
|
1117
|
+
i0.ɵɵproperty("ngStyle", ctx_r25.setStyle(ctx_r25.question.indent));
|
|
1118
|
+
i0.ɵɵadvance(1);
|
|
1119
|
+
i0.ɵɵproperty("ngIf", ctx_r25.isValid != "");
|
|
1120
|
+
} }
|
|
1121
|
+
export class DynamicFormQuestionComponent {
|
|
1122
|
+
constructor(qcs, service, translate, validationService, util, navController, logger) {
|
|
1123
|
+
this.qcs = qcs;
|
|
1124
|
+
this.service = service;
|
|
1125
|
+
this.translate = translate;
|
|
1126
|
+
this.validationService = validationService;
|
|
1127
|
+
this.util = util;
|
|
1128
|
+
this.navController = navController;
|
|
1129
|
+
this.logger = logger;
|
|
1130
|
+
this.onDynamicParamUpdate = new EventEmitter();
|
|
1131
|
+
this.legalAccepted = null;
|
|
1132
|
+
this.index = 1;
|
|
1133
|
+
this.returnModel = new ValidationModel();
|
|
1134
|
+
this.type = 'text';
|
|
1135
|
+
this.showMinDate = false;
|
|
1136
|
+
this.showMaxDate = false;
|
|
1137
|
+
}
|
|
1138
|
+
visibleIf(strExp, elementName) {
|
|
1139
|
+
if (!strExp) {
|
|
1140
|
+
return true;
|
|
1141
|
+
}
|
|
1142
|
+
let isVisible = false;
|
|
1143
|
+
if (strExp.includes('&&')) {
|
|
1144
|
+
let expr = strExp.split('&&');
|
|
1145
|
+
isVisible = this.calculateOperandValue(expr[0]) && this.calculateOperandValue(expr[1]);
|
|
1146
|
+
}
|
|
1147
|
+
if (strExp.includes('||')) {
|
|
1148
|
+
let expr = strExp.split('||');
|
|
1149
|
+
isVisible = this.calculateOperandValue(expr[0]) || this.calculateOperandValue(expr[1]);
|
|
1150
|
+
}
|
|
1151
|
+
if (isVisible) {
|
|
1152
|
+
return isVisible;
|
|
1153
|
+
}
|
|
1154
|
+
//this.setFormControlValue(elementName, null);
|
|
1155
|
+
return false;
|
|
1156
|
+
}
|
|
1157
|
+
calculateOperandValue(strExp) {
|
|
1158
|
+
var splitArray;
|
|
1159
|
+
let isDoesNotEqual;
|
|
1160
|
+
let index = strExp.indexOf('!=');
|
|
1161
|
+
if (index === -1) {
|
|
1162
|
+
splitArray = strExp.split('==');
|
|
1163
|
+
isDoesNotEqual = false;
|
|
1164
|
+
}
|
|
1165
|
+
else {
|
|
1166
|
+
splitArray = strExp.split('!=');
|
|
1167
|
+
isDoesNotEqual = true;
|
|
1168
|
+
}
|
|
1169
|
+
let operand1 = splitArray[0];
|
|
1170
|
+
let operand2 = splitArray[1];
|
|
1171
|
+
operand1 = operand1.replace('{', '').replace('}', '').trim(); //claimantPriorPay102 diffmailaddress315
|
|
1172
|
+
operand2 = operand2.replace('{', '').replace('}', '').trim(); //null
|
|
1173
|
+
if (this.form.controls[operand1]) {
|
|
1174
|
+
var valueOfCnrtrlToCheck;
|
|
1175
|
+
if (this.form.controls[operand1].value && typeof (this.form.controls[operand1]).value === 'string') {
|
|
1176
|
+
valueOfCnrtrlToCheck = this.form.controls[operand1].value;
|
|
1177
|
+
}
|
|
1178
|
+
if (this.form.controls[operand1].value && typeof (this.form.controls[operand1]).value != 'string') {
|
|
1179
|
+
valueOfCnrtrlToCheck = this.form.controls[operand1].value['value'];
|
|
1180
|
+
}
|
|
1181
|
+
if (operand2 === 'null' && isDoesNotEqual && valueOfCnrtrlToCheck) {
|
|
1182
|
+
return true;
|
|
1183
|
+
}
|
|
1184
|
+
if (operand2 === 'null' && !isDoesNotEqual && !valueOfCnrtrlToCheck) {
|
|
1185
|
+
return true;
|
|
1186
|
+
}
|
|
1187
|
+
operand2 = operand2.replace('\'', '').replace('\'', '').trim(); //null
|
|
1188
|
+
if (operand2 != 'null' && !isDoesNotEqual && (valueOfCnrtrlToCheck === operand2)) {
|
|
1189
|
+
return true;
|
|
1190
|
+
}
|
|
1191
|
+
if (operand2 != 'null' && isDoesNotEqual && (valueOfCnrtrlToCheck != operand2)) {
|
|
1192
|
+
return true;
|
|
1193
|
+
}
|
|
1194
|
+
return false;
|
|
1195
|
+
}
|
|
1196
|
+
}
|
|
1197
|
+
ngOnInit() {
|
|
1198
|
+
// this.logger.debug('is DynamicFormQuestionComponent ngOnInit called', this.question)
|
|
1199
|
+
this.filterResult = this.question.choices;
|
|
1200
|
+
this.setMinMaxDate();
|
|
1201
|
+
this.setDefaultValue();
|
|
1202
|
+
}
|
|
1203
|
+
setMinMaxDate() {
|
|
1204
|
+
if (this.question.inputType === 'date') {
|
|
1205
|
+
let minMaxModel = this.question.componentData ? JSON.parse(this.question.componentData) : null;
|
|
1206
|
+
if (minMaxModel && (minMaxModel.maxDateKey || minMaxModel.minDateKey)) {
|
|
1207
|
+
if (this.dynamicParam[minMaxModel.minDateKey]) {
|
|
1208
|
+
this.parseDate(this.dynamicParam[minMaxModel.minDateKey], 'min');
|
|
1209
|
+
this.showMinDate = true;
|
|
1210
|
+
}
|
|
1211
|
+
if (this.dynamicParam[minMaxModel.maxDateKey]) {
|
|
1212
|
+
this.parseDate(this.dynamicParam[minMaxModel.maxDateKey], 'max');
|
|
1213
|
+
this.showMaxDate = true;
|
|
1214
|
+
}
|
|
1215
|
+
}
|
|
1216
|
+
else {
|
|
1217
|
+
if (this.question.min) {
|
|
1218
|
+
this.parseDate(this.question.min, 'min');
|
|
1219
|
+
this.showMinDate = true;
|
|
1220
|
+
}
|
|
1221
|
+
if (this.question.max) {
|
|
1222
|
+
this.parseDate(this.question.max, 'max');
|
|
1223
|
+
this.showMaxDate = true;
|
|
1224
|
+
}
|
|
1225
|
+
}
|
|
1226
|
+
}
|
|
1227
|
+
}
|
|
1228
|
+
parseDate(strDate, type) {
|
|
1229
|
+
if (strDate && type === 'max') {
|
|
1230
|
+
var splitArray = strDate.split('-');
|
|
1231
|
+
this.maxDate = new Date();
|
|
1232
|
+
this.maxDate.setMonth(Number(splitArray[0]) - 1);
|
|
1233
|
+
this.maxDate.setFullYear(Number(splitArray[2]));
|
|
1234
|
+
this.maxDate.setDate(Number(splitArray[1]));
|
|
1235
|
+
return this.maxDate;
|
|
1236
|
+
}
|
|
1237
|
+
if (strDate && type === 'min') {
|
|
1238
|
+
var splitArray = strDate.split('-');
|
|
1239
|
+
this.minDate = new Date();
|
|
1240
|
+
this.minDate.setMonth(Number(splitArray[0]) - 1);
|
|
1241
|
+
this.minDate.setFullYear(Number(splitArray[2]));
|
|
1242
|
+
this.minDate.setDate(Number(splitArray[1]));
|
|
1243
|
+
return this.minDate;
|
|
1244
|
+
}
|
|
1245
|
+
}
|
|
1246
|
+
setStyle(indent) {
|
|
1247
|
+
let padding = indent <= 1 ? '0 px' : indent * 10 + 'px';
|
|
1248
|
+
let styleObj = {
|
|
1249
|
+
'padding-left': padding
|
|
1250
|
+
};
|
|
1251
|
+
return Object.assign(styleObj);
|
|
1252
|
+
}
|
|
1253
|
+
setMargin(margin) {
|
|
1254
|
+
let mar = margin + 'px';
|
|
1255
|
+
let styleObj = {
|
|
1256
|
+
'margin-right': mar
|
|
1257
|
+
};
|
|
1258
|
+
return Object.assign(styleObj);
|
|
1259
|
+
}
|
|
1260
|
+
get isValid() {
|
|
1261
|
+
let message = "";
|
|
1262
|
+
let questionType = this.question.type;
|
|
1263
|
+
if ('html' === questionType || 'label' === questionType || 'simpleLabel' === questionType || 'displaytextaslabel' === questionType || ('button' === questionType && !this.question.validators) || 'label-with-overlay' === questionType) {
|
|
1264
|
+
return "";
|
|
1265
|
+
}
|
|
1266
|
+
if (this.question && this.question.name && this.form && this.form.controls[this.question.name].errors?.required
|
|
1267
|
+
&& (this.form.controls[this.question.name].dirty || this.form.controls[this.question.name].touched)) {
|
|
1268
|
+
this.form.controls[this.question.name].markAsDirty();
|
|
1269
|
+
return this.question.requiredErrorText;
|
|
1270
|
+
}
|
|
1271
|
+
if (this.question && this.question.name && this.form && this.form.controls[this.question.name].errors?.maxlength && (this.form.controls[this.question.name].dirty || this.form.controls[this.question.name].touched)) {
|
|
1272
|
+
this.logger.debug('errors?.maxLength', this.question);
|
|
1273
|
+
this.form.controls[this.question.name].markAsDirty();
|
|
1274
|
+
if (this.question.description) {
|
|
1275
|
+
return this.question.description;
|
|
1276
|
+
}
|
|
1277
|
+
let validatorList = this.question.validators;
|
|
1278
|
+
var keepGoing = true;
|
|
1279
|
+
validatorList.forEach(validator => {
|
|
1280
|
+
this.logger.debug('validator.type ', validator.type);
|
|
1281
|
+
if (keepGoing) {
|
|
1282
|
+
if (validator.type === 'text' && validator.maxLength) {
|
|
1283
|
+
this.logger.debug('validator.text ', validator.text);
|
|
1284
|
+
message = validator.text;
|
|
1285
|
+
keepGoing = false;
|
|
1286
|
+
}
|
|
1287
|
+
else {
|
|
1288
|
+
message = "";
|
|
1289
|
+
}
|
|
1290
|
+
}
|
|
1291
|
+
});
|
|
1292
|
+
return message;
|
|
1293
|
+
}
|
|
1294
|
+
if (this.question && this.question.name && this.form && this.form.controls[this.question.name].errors?.pattern
|
|
1295
|
+
&& (this.form.controls[this.question.name].dirty || this.form.controls[this.question.name].touched)) {
|
|
1296
|
+
// this.logger.debug('errors?.pattern',this.question)
|
|
1297
|
+
let validatorList = this.question.validators;
|
|
1298
|
+
var keepGoing = true;
|
|
1299
|
+
validatorList.forEach(validator => {
|
|
1300
|
+
// this.logger.debug('validator.type ', validator.type)
|
|
1301
|
+
if (keepGoing) {
|
|
1302
|
+
if (validator.type === 'regex') {
|
|
1303
|
+
// this.logger.debug('validator.text ', validator.text)
|
|
1304
|
+
message = validator.text;
|
|
1305
|
+
this.form.controls[this.question.name].markAsDirty();
|
|
1306
|
+
keepGoing = false;
|
|
1307
|
+
}
|
|
1308
|
+
else {
|
|
1309
|
+
message = "";
|
|
1310
|
+
}
|
|
1311
|
+
}
|
|
1312
|
+
});
|
|
1313
|
+
return message;
|
|
1314
|
+
}
|
|
1315
|
+
if (this.question && this.question.name && this.form && this.form.controls[this.question.name].errors?.dateComparision
|
|
1316
|
+
&& (this.form.controls[this.question.name].dirty || this.form.controls[this.question.name].touched)) {
|
|
1317
|
+
let validatorList = this.question.validators;
|
|
1318
|
+
var keepGoing = true;
|
|
1319
|
+
let message = "";
|
|
1320
|
+
validatorList.forEach(validator => {
|
|
1321
|
+
if (keepGoing) {
|
|
1322
|
+
// this.logger.debug('validator.type.minlength ', validator.type)
|
|
1323
|
+
if (validator.type === 'expression') {
|
|
1324
|
+
console.log('validator.text ', validator);
|
|
1325
|
+
message = validator.text;
|
|
1326
|
+
keepGoing = false;
|
|
1327
|
+
this.form.controls[this.question.name].markAsDirty();
|
|
1328
|
+
}
|
|
1329
|
+
else {
|
|
1330
|
+
message = "";
|
|
1331
|
+
}
|
|
1332
|
+
}
|
|
1333
|
+
});
|
|
1334
|
+
return message;
|
|
1335
|
+
}
|
|
1336
|
+
if (this.question && this.question.name && this.form && this.form.controls[this.question.name].errors?.minlength
|
|
1337
|
+
&& (this.form.controls[this.question.name].dirty || this.form.controls[this.question.name].touched)) {
|
|
1338
|
+
let validatorList = this.question.validators;
|
|
1339
|
+
var keepGoing = true;
|
|
1340
|
+
let message = "";
|
|
1341
|
+
validatorList.forEach(validator => {
|
|
1342
|
+
if (keepGoing) {
|
|
1343
|
+
//console.log('validator.type.minlength ', validator.type)
|
|
1344
|
+
if (validator.type === 'text') {
|
|
1345
|
+
//console.log('validator.text ', validator.text)
|
|
1346
|
+
message = validator.text;
|
|
1347
|
+
this.form.controls[this.question.name].markAsDirty();
|
|
1348
|
+
keepGoing = false;
|
|
1349
|
+
}
|
|
1350
|
+
else {
|
|
1351
|
+
message = "";
|
|
1352
|
+
}
|
|
1353
|
+
}
|
|
1354
|
+
});
|
|
1355
|
+
return message;
|
|
1356
|
+
}
|
|
1357
|
+
if (this.question && this.question.name && this.form && this.form.controls[this.question.name].errors?.passwordComparision
|
|
1358
|
+
&& (this.form.controls[this.question.name].dirty || this.form.controls[this.question.name].touched)) {
|
|
1359
|
+
let validatorList = this.question.validators;
|
|
1360
|
+
var keepGoing = true;
|
|
1361
|
+
let message = "";
|
|
1362
|
+
validatorList.forEach(validator => {
|
|
1363
|
+
if (keepGoing) {
|
|
1364
|
+
// console.log('validator.type.minlength ', validator.type)
|
|
1365
|
+
if (validator.type === 'expression') {
|
|
1366
|
+
// console.log('validator.text ', validator.text)
|
|
1367
|
+
message = validator.text;
|
|
1368
|
+
this.form.controls[this.question.name].markAsDirty();
|
|
1369
|
+
keepGoing = false;
|
|
1370
|
+
}
|
|
1371
|
+
else {
|
|
1372
|
+
message = "";
|
|
1373
|
+
}
|
|
1374
|
+
}
|
|
1375
|
+
});
|
|
1376
|
+
return message;
|
|
1377
|
+
}
|
|
1378
|
+
if (this.question && this.question.name && this.form && this.form.controls[this.question.name].errors?.requiredIf
|
|
1379
|
+
&& (this.form.controls[this.question.name].dirty || this.form.controls[this.question.name].touched)) {
|
|
1380
|
+
this.form.controls[this.question.name].markAsDirty();
|
|
1381
|
+
return "required";
|
|
1382
|
+
}
|
|
1383
|
+
if (this.question && this.question.name && this.form && this.form.controls[this.question.name].errors?.bpEmplrFlag
|
|
1384
|
+
&& (this.form.controls[this.question.name].dirty || this.form.controls[this.question.name].touched)) {
|
|
1385
|
+
var keepGoing = true;
|
|
1386
|
+
let message = "Confirm or Delete each employer(s) to continue";
|
|
1387
|
+
this.form.controls[this.question.name].markAsDirty();
|
|
1388
|
+
return message;
|
|
1389
|
+
}
|
|
1390
|
+
if (this.question && this.question.name && this.form && this.form.controls[this.question.name].errors?.simpleCheckBoxValidationFlag
|
|
1391
|
+
&& (this.form.controls[this.question.name].dirty || this.form.controls[this.question.name].touched)) {
|
|
1392
|
+
var keepGoing = true;
|
|
1393
|
+
let message = "required";
|
|
1394
|
+
this.form.controls[this.question.name].markAsDirty();
|
|
1395
|
+
return message;
|
|
1396
|
+
}
|
|
1397
|
+
if (this.question && this.question.name && this.form && this.form.controls[this.question.name].errors?.cpatchvalidationFlag
|
|
1398
|
+
&& (this.form.controls[this.question.name].dirty || this.form.controls[this.question.name].touched)) {
|
|
1399
|
+
var keepGoing = true;
|
|
1400
|
+
let message = "required";
|
|
1401
|
+
this.form.controls[this.question.name].markAsDirty();
|
|
1402
|
+
return message;
|
|
1403
|
+
}
|
|
1404
|
+
if (this.question && this.question.name && this.form && this.form.controls[this.question.name].errors?.uploadvalidationFlag
|
|
1405
|
+
&& (this.form.controls[this.question.name].dirty || this.form.controls[this.question.name].touched)) {
|
|
1406
|
+
var keepGoing = true;
|
|
1407
|
+
let message = "required";
|
|
1408
|
+
this.form.controls[this.question.name].markAsDirty();
|
|
1409
|
+
return message;
|
|
1410
|
+
}
|
|
1411
|
+
if (this.question && this.question.name && this.form && this.form.controls[this.question.name].errors?.bpEmplrLengthFlag
|
|
1412
|
+
&& (this.form.controls[this.question.name].dirty || this.form.controls[this.question.name].touched)) {
|
|
1413
|
+
var keepGoing = true;
|
|
1414
|
+
let message = "Add previous employment details";
|
|
1415
|
+
this.form.controls[this.question.name].markAsDirty();
|
|
1416
|
+
return message;
|
|
1417
|
+
}
|
|
1418
|
+
if (this.question && this.question.name && this.form && this.form.controls[this.question.name].errors?.addressValidationFlag
|
|
1419
|
+
&& (this.form.controls[this.question.name].dirty || this.form.controls[this.question.name].touched)) {
|
|
1420
|
+
var keepGoing = true;
|
|
1421
|
+
//let message: string = "Please provide valid address.";
|
|
1422
|
+
this.addresses.forEach(address => address.submit());
|
|
1423
|
+
this.form.controls[this.question.name].markAsDirty();
|
|
1424
|
+
return message;
|
|
1425
|
+
}
|
|
1426
|
+
if (this.question && this.question.name && this.form && this.form.controls[this.question.name].errors?.bankDetailsValidationFlag
|
|
1427
|
+
&& (this.form.controls[this.question.name].dirty || this.form.controls[this.question.name].touched)) {
|
|
1428
|
+
var keepGoing = true;
|
|
1429
|
+
//let message: string = "Please provide valid bank details.";
|
|
1430
|
+
this.bankdtls?.submit();
|
|
1431
|
+
this.form.controls[this.question.name].markAsDirty();
|
|
1432
|
+
return message;
|
|
1433
|
+
}
|
|
1434
|
+
if (this.question && this.question.name && this.form && this.form.controls[this.question.name].errors?.notEquals
|
|
1435
|
+
&& (this.form.controls[this.question.name].dirty || this.form.controls[this.question.name].touched)) {
|
|
1436
|
+
let validatorList = this.question.validators;
|
|
1437
|
+
var keepGoing = true;
|
|
1438
|
+
let message = "";
|
|
1439
|
+
validatorList.forEach(validator => {
|
|
1440
|
+
if (keepGoing) {
|
|
1441
|
+
if (validator.type === 'customvalidation') {
|
|
1442
|
+
message = validator.text;
|
|
1443
|
+
this.form.controls[this.question.name].markAsDirty();
|
|
1444
|
+
keepGoing = false;
|
|
1445
|
+
}
|
|
1446
|
+
else {
|
|
1447
|
+
message = "";
|
|
1448
|
+
}
|
|
1449
|
+
}
|
|
1450
|
+
});
|
|
1451
|
+
var keepGoing = true;
|
|
1452
|
+
this.form.controls[this.question.name].markAsDirty();
|
|
1453
|
+
return message;
|
|
1454
|
+
}
|
|
1455
|
+
// this.logger.debug('message from panel outer-- ',message);
|
|
1456
|
+
return message;
|
|
1457
|
+
}
|
|
1458
|
+
onAccepted(agreed) {
|
|
1459
|
+
//console.log('onAccepted called',agreed);
|
|
1460
|
+
this.legalAccepted = agreed;
|
|
1461
|
+
}
|
|
1462
|
+
onCompleteRequalify(requalifyData) {
|
|
1463
|
+
//console.log("onCompleteRequalify", requalifyData);
|
|
1464
|
+
}
|
|
1465
|
+
onModelDisplay(modelDisplay) {
|
|
1466
|
+
//console.log('modelDisplay called',modelDisplay);
|
|
1467
|
+
}
|
|
1468
|
+
onRadioOptionClick(event, element) {
|
|
1469
|
+
let query = event.query;
|
|
1470
|
+
if (element.serviceType && element.serviceType === 'FETCH') {
|
|
1471
|
+
let serviceCallType = element.serviceCallType;
|
|
1472
|
+
let serviceName = element.serviceName;
|
|
1473
|
+
const options = event.option.value ? { params: new HttpParams().set('selection', event.option.value) } : {};
|
|
1474
|
+
if (serviceCallType === 'GET') {
|
|
1475
|
+
this.util.showLoader();
|
|
1476
|
+
this.validationService
|
|
1477
|
+
.get(`${serviceName}`, options)
|
|
1478
|
+
.subscribe(res => {
|
|
1479
|
+
let values = res;
|
|
1480
|
+
if (values.success == true) {
|
|
1481
|
+
//console.log(values.serviceCallValues.serviceType);
|
|
1482
|
+
//console.log(values.serviceCallValues);
|
|
1483
|
+
if (values.serviceCallValues && values.serviceCallValues.serviceType
|
|
1484
|
+
&& values.serviceCallValues.serviceType === 'FETCH') {
|
|
1485
|
+
let serviceCallTypeInTrue = values.serviceCallValues.serviceCallType;
|
|
1486
|
+
let serviceNameInTrue = values.serviceCallValues.serviceName;
|
|
1487
|
+
if (serviceCallTypeInTrue === 'GET') {
|
|
1488
|
+
this.util.showLoader();
|
|
1489
|
+
this.validationService
|
|
1490
|
+
.get(`${serviceNameInTrue}`)
|
|
1491
|
+
.subscribe(resp => {
|
|
1492
|
+
let loaderModel = resp;
|
|
1493
|
+
// console.log(" value from loader = ", loaderModel);
|
|
1494
|
+
this.setFormValues(loaderModel.data);
|
|
1495
|
+
this.util.hideLoader();
|
|
1496
|
+
}, errp => {
|
|
1497
|
+
this.util.hideLoader();
|
|
1498
|
+
this.form.controls[element.name]?.reset();
|
|
1499
|
+
this.form.controls[element.name]?.updateValueAndValidity();
|
|
1500
|
+
this.util.errorHandler(errp);
|
|
1501
|
+
});
|
|
1502
|
+
}
|
|
1503
|
+
;
|
|
1504
|
+
}
|
|
1505
|
+
this.util.hideLoader();
|
|
1506
|
+
}
|
|
1507
|
+
}, err => {
|
|
1508
|
+
this.util.hideLoader();
|
|
1509
|
+
this.form.controls[element.name]?.reset();
|
|
1510
|
+
this.form.controls[element.name]?.updateValueAndValidity();
|
|
1511
|
+
this.util.errorHandler(err);
|
|
1512
|
+
});
|
|
1513
|
+
}
|
|
1514
|
+
}
|
|
1515
|
+
}
|
|
1516
|
+
setFormValues(data) {
|
|
1517
|
+
Object.keys(data)
|
|
1518
|
+
.forEach(key => {
|
|
1519
|
+
let valueToSet = data[key];
|
|
1520
|
+
this.setValueInFormControl(key, valueToSet);
|
|
1521
|
+
});
|
|
1522
|
+
}
|
|
1523
|
+
setValueInFormControl(name, value) {
|
|
1524
|
+
let control = this.form.controls[name];
|
|
1525
|
+
if (control) {
|
|
1526
|
+
control.patchValue(value);
|
|
1527
|
+
}
|
|
1528
|
+
else {
|
|
1529
|
+
console.error('No form control present with name ', name);
|
|
1530
|
+
}
|
|
1531
|
+
}
|
|
1532
|
+
filterValue(event, element) {
|
|
1533
|
+
// this.logger.debug('choices--',choices);
|
|
1534
|
+
let choices = [];
|
|
1535
|
+
let filtered = [];
|
|
1536
|
+
let query = event.query;
|
|
1537
|
+
if (element.serviceType && element.serviceType === 'FETCH') {
|
|
1538
|
+
let serviceCallParam = element.serviceCallParam; //ssn320,lstname320
|
|
1539
|
+
let serviceCallType = element.serviceCallType; //"GET"
|
|
1540
|
+
let serviceName = element.serviceName; ///security-service/validateSSN/
|
|
1541
|
+
let serviceUpdateParam = element.serviceUpdateParam;
|
|
1542
|
+
if (serviceCallType === 'GET') {
|
|
1543
|
+
// this.logger.debug('Inside GET');
|
|
1544
|
+
this.validationService
|
|
1545
|
+
.get(`${serviceName}`)
|
|
1546
|
+
.subscribe(res => {
|
|
1547
|
+
this.logger.debug('res--', res, ' - res[0].length -', res);
|
|
1548
|
+
choices.push(res);
|
|
1549
|
+
let query = event.query;
|
|
1550
|
+
//let filtered: any[] = [];
|
|
1551
|
+
for (let i = 0; i < choices.length; i++) {
|
|
1552
|
+
let choice = choices[i];
|
|
1553
|
+
//this.logger.debug('choice - ', choice, 'choice.text--', choice.text, 'query.toLowerCase()', query?.toLowerCase());
|
|
1554
|
+
//if (choice.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
|
|
1555
|
+
filtered.push(choice[0]);
|
|
1556
|
+
//}
|
|
1557
|
+
}
|
|
1558
|
+
this.filterResult = filtered;
|
|
1559
|
+
this.logger.debug('this.filterResult123--', this.filterResult);
|
|
1560
|
+
}, err => {
|
|
1561
|
+
this.util.hideLoader();
|
|
1562
|
+
this.util.errorHandler(err);
|
|
1563
|
+
});
|
|
1564
|
+
}
|
|
1565
|
+
}
|
|
1566
|
+
else {
|
|
1567
|
+
choices = element.choices;
|
|
1568
|
+
for (let i = 0; i < choices.length; i++) {
|
|
1569
|
+
let country = choices[i];
|
|
1570
|
+
//if (country.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
|
|
1571
|
+
filtered.push(country);
|
|
1572
|
+
//}
|
|
1573
|
+
}
|
|
1574
|
+
this.filterResult = filtered;
|
|
1575
|
+
}
|
|
1576
|
+
}
|
|
1577
|
+
onSelect(event, cntrlName) {
|
|
1578
|
+
}
|
|
1579
|
+
//This shoud be similira to method present in panel
|
|
1580
|
+
validate(element) {
|
|
1581
|
+
if (!element.serviceName) {
|
|
1582
|
+
return;
|
|
1583
|
+
}
|
|
1584
|
+
let serviceType = element.serviceType;
|
|
1585
|
+
if (element.serviceType === 'FETCH') {
|
|
1586
|
+
return;
|
|
1587
|
+
}
|
|
1588
|
+
let serviceCallParam = element.serviceCallParam; //ssn320,lstname320
|
|
1589
|
+
let serviceCallType = element.serviceCallType; //"GET"
|
|
1590
|
+
let serviceName = element.serviceName; ///security-service/validateSSN/
|
|
1591
|
+
let serviceUpdateParam = element.serviceUpdateParam;
|
|
1592
|
+
let allValuePresent = true;
|
|
1593
|
+
// this.logger.debug('serviceCallParam',serviceCallParam);
|
|
1594
|
+
if (serviceCallParam) {
|
|
1595
|
+
var splitted = serviceCallParam.split(",");
|
|
1596
|
+
let valueArr = [];
|
|
1597
|
+
let paramArr = [];
|
|
1598
|
+
for (let i = 0; i < splitted.length; i++) {
|
|
1599
|
+
//use i instead of 0 dob320
|
|
1600
|
+
// this.logger.debug('dob320',this.form.controls['dob320'].value);
|
|
1601
|
+
if (this.form.controls[splitted[i]].value) {
|
|
1602
|
+
paramArr.push(splitted[i]);
|
|
1603
|
+
valueArr.push(this.form.controls[splitted[i]].value);
|
|
1604
|
+
}
|
|
1605
|
+
else {
|
|
1606
|
+
allValuePresent = false;
|
|
1607
|
+
}
|
|
1608
|
+
}
|
|
1609
|
+
// this.logger.debug('valueArr12', valueArr, 'paramArr11 ', paramArr, ' element', element);
|
|
1610
|
+
var model = {};
|
|
1611
|
+
model.paramName = paramArr;
|
|
1612
|
+
model.paramValue = valueArr;
|
|
1613
|
+
// return this.post(`questionnaire/screen-questionnaire`, questionnaireData);
|
|
1614
|
+
if (allValuePresent) {
|
|
1615
|
+
if (serviceCallType === 'POST') {
|
|
1616
|
+
// this.logger.debug('Inside GET');
|
|
1617
|
+
this.validationService
|
|
1618
|
+
.post(`${serviceName}`, model)
|
|
1619
|
+
.subscribe(res => {
|
|
1620
|
+
this.returnModel = res;
|
|
1621
|
+
if (this.returnModel.returnType && this.returnModel.returnType === 'POPUP') {
|
|
1622
|
+
this.displayPosition = true;
|
|
1623
|
+
this.position = 'top';
|
|
1624
|
+
this.popUpHeader = this.returnModel.popUpHeader;
|
|
1625
|
+
this.popUpText = this.returnModel.popUpText;
|
|
1626
|
+
this.popUpYesActionLabel = this.returnModel.popUpYesButtonLabel;
|
|
1627
|
+
this.popUpNoActionLabel = this.returnModel.popUpNoButtonLabel;
|
|
1628
|
+
}
|
|
1629
|
+
this.logger.debug('this.returnModel ', this.returnModel);
|
|
1630
|
+
}, err => {
|
|
1631
|
+
this.util.hideLoader();
|
|
1632
|
+
this.util.errorHandler(err);
|
|
1633
|
+
});
|
|
1634
|
+
}
|
|
1635
|
+
}
|
|
1636
|
+
}
|
|
1637
|
+
}
|
|
1638
|
+
accept() {
|
|
1639
|
+
//console.log('accept called123', this.returnModel.identifier)
|
|
1640
|
+
let paramArray = [];
|
|
1641
|
+
if (this.returnModel.identifier) {
|
|
1642
|
+
let modelArr = this.returnModel.identifier;
|
|
1643
|
+
for (var val of modelArr) {
|
|
1644
|
+
paramArray.push({ [val.key]: val.value });
|
|
1645
|
+
}
|
|
1646
|
+
const params = paramArray.reduce((arrObj, item) => Object.assign(arrObj, item, {}));
|
|
1647
|
+
this.navController.navigateRoot([this.returnModel.yesAction], { queryParams: params });
|
|
1648
|
+
}
|
|
1649
|
+
if (this.returnModel.yesAction && this.returnModel.yesAction.substring(0, 4) != '/cp/') {
|
|
1650
|
+
this.navController.navigateForward([this.returnModel.yesAction]);
|
|
1651
|
+
}
|
|
1652
|
+
else {
|
|
1653
|
+
window.open(location.origin + this.returnModel.yesAction, '_self');
|
|
1654
|
+
}
|
|
1655
|
+
this.navController.navigateRoot([this.returnModel.yesAction]);
|
|
1656
|
+
}
|
|
1657
|
+
reject() {
|
|
1658
|
+
if (this.returnModel.noAction && this.returnModel.noAction.substring(0, 4) != '/cp/') {
|
|
1659
|
+
this.navController.navigateForward([this.returnModel.noAction]);
|
|
1660
|
+
}
|
|
1661
|
+
else {
|
|
1662
|
+
window.open(location.origin + this.returnModel.noAction, '_self');
|
|
1663
|
+
}
|
|
1664
|
+
}
|
|
1665
|
+
getContextRoot() {
|
|
1666
|
+
return window.location.pathname.substring(0, window.location.pathname.indexOf("/", 2));
|
|
1667
|
+
}
|
|
1668
|
+
uploadFile(ev) {
|
|
1669
|
+
}
|
|
1670
|
+
getTranslation(key, dynamicParam) {
|
|
1671
|
+
if (!dynamicParam) {
|
|
1672
|
+
return key;
|
|
1673
|
+
}
|
|
1674
|
+
let dynamicObj = {};
|
|
1675
|
+
let param;
|
|
1676
|
+
let params;
|
|
1677
|
+
if (Array.isArray(dynamicParam)) {
|
|
1678
|
+
params = dynamicParam;
|
|
1679
|
+
params.forEach(prm => {
|
|
1680
|
+
dynamicObj[prm.key] = prm.value;
|
|
1681
|
+
});
|
|
1682
|
+
}
|
|
1683
|
+
else {
|
|
1684
|
+
param = dynamicParam;
|
|
1685
|
+
dynamicObj[param.key] = param.value;
|
|
1686
|
+
}
|
|
1687
|
+
this.translate.use('en');
|
|
1688
|
+
let translatedString = "";
|
|
1689
|
+
this.translate.set(key, key);
|
|
1690
|
+
translatedString = this.translate.instant(key, Object.assign(dynamicObj));
|
|
1691
|
+
return translatedString;
|
|
1692
|
+
}
|
|
1693
|
+
getText(object) {
|
|
1694
|
+
return object?.text ? object?.text : object;
|
|
1695
|
+
}
|
|
1696
|
+
unmask(event) {
|
|
1697
|
+
this.type = 'text';
|
|
1698
|
+
}
|
|
1699
|
+
mask(event) {
|
|
1700
|
+
this.type = 'password';
|
|
1701
|
+
}
|
|
1702
|
+
dateInput(event) {
|
|
1703
|
+
let currentValue = event.srcElement.value;
|
|
1704
|
+
if (currentValue) {
|
|
1705
|
+
if (currentValue.length == 2 && currentValue.charAt(2) != '/') {
|
|
1706
|
+
event.target.value = currentValue + "/";
|
|
1707
|
+
}
|
|
1708
|
+
if (currentValue.length == 5 && currentValue.charAt(5) != '/') {
|
|
1709
|
+
event.target.value = currentValue + "/";
|
|
1710
|
+
}
|
|
1711
|
+
}
|
|
1712
|
+
}
|
|
1713
|
+
checkForValueChange(event) {
|
|
1714
|
+
if (this.question.componentData) {
|
|
1715
|
+
let compData = JSON.parse(this.question.componentData);
|
|
1716
|
+
let currentValue = event.target.value;
|
|
1717
|
+
let originalValue = this.form.get(compData.originalValueControl)?.value;
|
|
1718
|
+
let formControlToUpdate = this.form.get(compData.formControlToUpdate);
|
|
1719
|
+
formControlToUpdate.patchValue('N');
|
|
1720
|
+
formControlToUpdate.updateValueAndValidity();
|
|
1721
|
+
this.form.updateValueAndValidity();
|
|
1722
|
+
this.dynamicParam = this.dynamicParam ? this.dynamicParam : [];
|
|
1723
|
+
if (Array.isArray(this.dynamicParam)) {
|
|
1724
|
+
this.dynamicParam.push({ key: this.question.name, value: currentValue });
|
|
1725
|
+
}
|
|
1726
|
+
else {
|
|
1727
|
+
this.dynamicParam[this.question.name] = currentValue;
|
|
1728
|
+
}
|
|
1729
|
+
if (currentValue != originalValue) {
|
|
1730
|
+
formControlToUpdate.patchValue('Y');
|
|
1731
|
+
this.onDynamicParamUpdate.emit(this.dynamicParam);
|
|
1732
|
+
}
|
|
1733
|
+
else {
|
|
1734
|
+
formControlToUpdate.patchValue('N');
|
|
1735
|
+
}
|
|
1736
|
+
formControlToUpdate.updateValueAndValidity();
|
|
1737
|
+
}
|
|
1738
|
+
}
|
|
1739
|
+
setEmployer(employer) {
|
|
1740
|
+
if (this.question.componentData) {
|
|
1741
|
+
let compData = JSON.parse(this.question.componentData);
|
|
1742
|
+
let addressFc = this.form.get(compData.addressFormControlName);
|
|
1743
|
+
let empIdFc = this.form.get(compData.employerIdFormControlName);
|
|
1744
|
+
empIdFc.setValue(employer.employerId);
|
|
1745
|
+
addressFc.setValue({
|
|
1746
|
+
country: employer.country, city: employer.city,
|
|
1747
|
+
zip: employer.zip, streetAddress: employer.addressDisplayVal, state: employer.state,
|
|
1748
|
+
optionalAddress: null, county: null, town: null
|
|
1749
|
+
});
|
|
1750
|
+
}
|
|
1751
|
+
}
|
|
1752
|
+
resetEmployer() {
|
|
1753
|
+
if (this.question.componentData) {
|
|
1754
|
+
let compData = JSON.parse(this.question.componentData);
|
|
1755
|
+
let addressFc = this.form.get(compData.addressFormControlName);
|
|
1756
|
+
let empIdFc = this.form.get(compData.employerIdFormControlName);
|
|
1757
|
+
empIdFc.setValue(null);
|
|
1758
|
+
addressFc.setValue({
|
|
1759
|
+
country: null, city: null,
|
|
1760
|
+
zip: null, streetAddress: null, state: null,
|
|
1761
|
+
optionalAddress: null, county: null, town: null
|
|
1762
|
+
});
|
|
1763
|
+
}
|
|
1764
|
+
}
|
|
1765
|
+
setFormControlValue(elementName, elementValue) {
|
|
1766
|
+
if (this.form.controls[elementName]) {
|
|
1767
|
+
this.form.controls[elementName].patchValue(elementValue);
|
|
1768
|
+
}
|
|
1769
|
+
}
|
|
1770
|
+
setDefaultValue() {
|
|
1771
|
+
if (this.question.defaultValue) {
|
|
1772
|
+
let value = this.question.defaultValue;
|
|
1773
|
+
if (this.question.type == 'dropdown') {
|
|
1774
|
+
const choice = this.question.defaultValue;
|
|
1775
|
+
var jsonObject = JSON.parse(choice);
|
|
1776
|
+
this.setFormControlValue(this.question.name, this.question.choices.filter(c => c.value == jsonObject.value)[0]);
|
|
1777
|
+
}
|
|
1778
|
+
else {
|
|
1779
|
+
this.setFormControlValue(this.question.name, value);
|
|
1780
|
+
}
|
|
1781
|
+
}
|
|
1782
|
+
}
|
|
1783
|
+
static { this.ɵfac = function DynamicFormQuestionComponent_Factory(t) { return new (t || DynamicFormQuestionComponent)(i0.ɵɵdirectiveInject(i1.QuestionControlService), i0.ɵɵdirectiveInject(i2.QuestionService), i0.ɵɵdirectiveInject(i3.TranslateService), i0.ɵɵdirectiveInject(i4.ValidationService), i0.ɵɵdirectiveInject(i5.UtilService), i0.ɵɵdirectiveInject(i6.NavController), i0.ɵɵdirectiveInject(i7.LoggerService)); }; }
|
|
1784
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DynamicFormQuestionComponent, selectors: [["app-question"]], viewQuery: function DynamicFormQuestionComponent_Query(rf, ctx) { if (rf & 1) {
|
|
1785
|
+
i0.ɵɵviewQuery(_c0, 5);
|
|
1786
|
+
i0.ɵɵviewQuery(_c1, 5);
|
|
1787
|
+
} if (rf & 2) {
|
|
1788
|
+
let _t;
|
|
1789
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.bankdtls = _t.first);
|
|
1790
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.addresses = _t);
|
|
1791
|
+
} }, inputs: { question: "question", form: "form", indexNumber: "indexNumber", forScreenQuestionnaire: "forScreenQuestionnaire", dynamicParam: "dynamicParam", potentialIssueId: "potentialIssueId" }, outputs: { onDynamicParamUpdate: "onDynamicParamUpdate" }, decls: 28, vars: 29, consts: [[3, "formGroup", "id"], ["appendTo", "body", "closeOnEscape", "false", 3, "visible", "position", "modal", "breakpoints", "style", "baseZIndex", "draggable", "resizable", "visibleChange", 4, "ngIf"], ["class", "form-label", 3, "ngStyle", 4, "ngIf"], [4, "ngIf"], ["style", "display: flex;", 4, "ngIf"], [3, "ngSwitch"], [4, "ngSwitchCase"], ["class", "responsive", 4, "ngSwitchCase"], [3, "ngStyle", 4, "ngIf"], ["appendTo", "body", "closeOnEscape", "false", 3, "visible", "position", "modal", "breakpoints", "baseZIndex", "draggable", "resizable", "visibleChange"], [1, "heading", "ion-padding-left"], ["pTemplate", "footer"], ["shape", "round", "size", "small", "type", "submit", "fill", "outline", 3, "click", 4, "ngIf"], ["shape", "round", "size", "small", "type", "submit", "fill", "solid", 3, "click", 4, "ngIf"], ["shape", "round", "size", "small", "type", "submit", "fill", "outline", 3, "click"], ["shape", "round", "size", "small", "type", "submit", "fill", "solid", 3, "click"], [1, "form-label", 3, "ngStyle"], [3, "formControlName", "form", "dynamicParam", "modelDisplay", 4, "ngIf"], [3, "componentData", "question", "form", "accepted", 4, "ngIf"], [3, "formControlName", 4, "ngIf"], [3, "formControlName", "fromPopup", "countyRequired", "inputId", 4, "ngIf"], [3, "formControlName", "componentData", "form", 4, "ngIf"], [3, "dynamicParam", "formControlName", 4, "ngIf"], ["empType", "REG", 3, "formControlName", "onFound", "onEmpty", 4, "ngIf"], [3, "potentialIssueId", "formControlName", 4, "ngIf"], [3, "formControlName", "form", "dynamicParam", "modelDisplay"], [3, "componentData", "question", "form", "accepted"], [3, "formControlName"], [3, "formControlName", "fromPopup", "countyRequired", "inputId"], ["address", ""], ["bankdtls", ""], [3, "formControlName", "componentData", "form"], [3, "dynamicParam", "formControlName"], ["empType", "REG", 3, "formControlName", "onFound", "onEmpty"], [3, "potentialIssueId", "formControlName"], [2, "display", "flex"], [1, "heading", 2, "color", "var(--ion-color-medium-gray)", "padding-top", "20px", 3, "innerHTML"], ["style", "flex-grow: 1;", "style", "padding-left: 8px; padding-top:13px", 4, "ngIf"], [2, "padding-left", "8px", "padding-top", "13px"], [3, "overlayText"], [1, "container", 2, "display", "flex"], ["style", "flex-grow: 1;", "style", "padding-left: 8px; padding-top:3px", 4, "ngIf"], [3, "ngStyle"], ["yearRange", "1901:2099", "dateFormat", "mm/dd/yy", "appendTo", "body", "dataType", "string", "placeholder", "mm/dd/yyyy", 3, "formControlName", "inputId", "monthNavigator", "yearNavigator", "showIcon", "minDate", "maxDate", "showOnFocus", "iconAriaLabel", "onBlur", "onSelect", "onInput"], ["mask", "999-99-9999", "placeholder", "999-99-9999", 3, "inputId", "formControlName", "type", "onComplete", "onFocus", "onBlur"], ["mask", "99-99999-9-99", "placeholder", "99-99999-9-99", 3, "inputId", "formControlName", "value", "onComplete"], ["mode", "decimal", "locale", "en-US", 3, "inputId", "formControlName", "minFractionDigits", "ariaLabel"], ["type", "text", "placeholder", "Optional", "pInputText", "", 3, "maxLength", "id", "formControlName", 4, "ngIf"], ["type", "text", "placeholder", "Optional", "pInputText", "", 3, "id", "formControlName", 4, "ngIf"], ["type", "text", "pInputText", "", "placeholder", "Optional", 3, "id", "formControlName", 4, "ngIf"], ["type", "text", "placeholder", "Optional", "pInputText", "", 3, "maxLength", "id", "formControlName"], ["type", "text", "placeholder", "Optional", "pInputText", "", 3, "id", "formControlName"], ["type", "text", "pInputText", "", "placeholder", "Optional", 3, "id", "formControlName"], ["type", "text", "pInputText", "", 3, "maxLength", "id", "formControlName", 4, "ngIf"], ["type", "text", "pInputText", "", 3, "id", "formControlName", 4, "ngIf"], ["type", "text", "pInputText", "", 3, "maxLength", "id", "formControlName"], ["type", "text", "pInputText", "", 3, "id", "formControlName"], ["mask", "999-999-9999", 3, "inputId", "formControlName", "placeholder", "onBlur", 4, "ngIf"], ["mask", "999-999-9999", 3, "inputId", "formControlName", "placeholder", "onBlur"], ["weakLabel", "Weak password", "mediumLabel", "Weak password", "strongLabel", "Strong password", "strongRegex", "^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[_@*$!#.]+.*[_@*$!#.])(?=.{14,})", 3, "inputId", "formControlName", "toggleMask", "maxLength", "ariaLabel"], [1, "mt-1", 2, "font-size", "small"], [2, "line-height", "1.25"], [2, "margin-left", "-25px", "font-size", "small"], [3, "allowedFileType", "formControlName", "maxSizeInMB", "multiple", "noOfFilesToUpload"], ["type", "text", "pInputText", "", 3, "id", "formControlName", "blur"], [2, "padding-left", "8px", "padding-top", "3px"], ["autoResize", "true", 3, "id", "formControlName", "maxLength", "rows", "cols"], ["styleClass", "p-d-block", 4, "ngIf"], ["styleClass", "p-d-block"], ["autoResize", "true", 3, "id", "formControlName", "rows", "cols"], ["appendTo", "body", "field", "text", "minLength", "1", 3, "formControlName", "suggestions", "dropdown", "forceSelection", "completeOnFocus", "completeMethod", "onSelect", 4, "ngIf"], ["optionLabel", "text", "appendTo", "body", 3, "options", "formControlName", "autoDisplayFirst", "inputId", "ariaLabel", "onChange", "onClick"], ["appendTo", "body", "field", "text", "minLength", "1", 3, "formControlName", "suggestions", "dropdown", "forceSelection", "completeOnFocus", "completeMethod", "onSelect"], ["pTemplate", "item"], ["optionLabel", "text", "optionValue", "value", 3, "options", "formControlName", "onOptionClick"], ["mode", "decimal", 3, "formControlName", "inputId", "useGrouping", "min", "max", "size", "maxlength", "ariaLabel"], ["mode", "decimal", 3, "formControlName", "inputId", "useGrouping", "minFractionDigits", "maxFractionDigits", "min", "max", "size", "maxlength", "ariaLabel"], ["mode", "currency", "currency", "USD", 3, "formControlName", "inputId", "useGrouping", "minFractionDigits", "maxFractionDigits", "min", "max", "size", "maxlength", "ariaLabel"], [1, "formgroup-inline", 3, "ngStyle"], ["styleClass", "app-p-checkbox", 3, "name", "value", "label", "formControl", "inputId", 4, "ngFor", "ngForOf"], ["styleClass", "app-p-checkbox", 3, "name", "value", "label", "formControl", "inputId"], ["optionLabel", "text", "optionValue", "value", 3, "options", "formControlName", "multiple"], [1, "field-checkbox"], ["binary", "true", "inputId", "binary", 3, "formControlName"], ["for", "binary"], ["style", "flex-grow: 1;", "style", "padding-left: 8px; padding-top: 3px", 4, "ngIf"], ["type", "hidden", 3, "formControlName"], ["style", "flex-grow: 1;", "style", "padding-left: 2px", 4, "ngIf"], [2, "padding-left", "2px"], [3, "displayText", "overlayText", "displayAsLabel"], [3, "displayText", "formControlName", "overlayText", "labelWithLink"], [3, "displayText", "formControlName", "labelWithPopup", "labelWithLink"], [1, "responsive"], [4, "ngFor", "ngForOf"], ["class", "col-fit-content", 3, "sizeXl", "sizeLg", "sizeMd", "offsetMd", 4, "ngIf"], [1, "col-fit-content", 3, "sizeXl", "sizeLg", "sizeMd", "offsetMd"], [3, "question", "form", "forScreenQuestionnaire"], [3, "sizeXl", "sizeLg", "sizeMd", "offsetMd", 4, "ngIf"], [3, "sizeXl", "sizeLg", "sizeMd", "offsetMd"], ["class", "p-error", 4, "ngIf"], [1, "p-error"]], template: function DynamicFormQuestionComponent_Template(rf, ctx) { if (rf & 1) {
|
|
1792
|
+
i0.ɵɵelementStart(0, "div", 0);
|
|
1793
|
+
i0.ɵɵtemplate(1, DynamicFormQuestionComponent_p_dialog_1_Template, 6, 14, "p-dialog", 1)(2, DynamicFormQuestionComponent_div_2_Template, 2, 2, "div", 2)(3, DynamicFormQuestionComponent_div_3_Template, 3, 5, "div", 2)(4, DynamicFormQuestionComponent_div_4_Template, 3, 5, "div", 2)(5, DynamicFormQuestionComponent_div_5_Template, 3, 5, "div", 2)(6, DynamicFormQuestionComponent_div_6_Template, 14, 13, "div", 3)(7, DynamicFormQuestionComponent_div_7_Template, 2, 2, "div", 2)(8, DynamicFormQuestionComponent_div_8_Template, 5, 7, "div", 4);
|
|
1794
|
+
i0.ɵɵelementStart(9, "div", 5);
|
|
1795
|
+
i0.ɵɵtemplate(10, DynamicFormQuestionComponent_ng_container_10_Template, 15, 13, "ng-container", 6)(11, DynamicFormQuestionComponent_ng_container_11_Template, 3, 2, "ng-container", 6)(12, DynamicFormQuestionComponent_ng_container_12_Template, 6, 8, "ng-container", 6)(13, DynamicFormQuestionComponent_ng_container_13_Template, 5, 4, "ng-container", 6)(14, DynamicFormQuestionComponent_ng_container_14_Template, 5, 10, "ng-container", 6)(15, DynamicFormQuestionComponent_ng_container_15_Template, 5, 12, "ng-container", 6)(16, DynamicFormQuestionComponent_ng_container_16_Template, 5, 12, "ng-container", 6)(17, DynamicFormQuestionComponent_ng_container_17_Template, 5, 3, "ng-container", 6)(18, DynamicFormQuestionComponent_ng_container_18_Template, 5, 3, "ng-container", 6)(19, DynamicFormQuestionComponent_ng_container_19_Template, 5, 6, "ng-container", 6)(20, DynamicFormQuestionComponent_ng_container_20_Template, 7, 4, "ng-container", 6)(21, DynamicFormQuestionComponent_ng_container_21_Template, 6, 4, "ng-container", 6)(22, DynamicFormQuestionComponent_ng_container_22_Template, 5, 2, "ng-container", 6)(23, DynamicFormQuestionComponent_ng_container_23_Template, 4, 6, "ng-container", 6)(24, DynamicFormQuestionComponent_ng_container_24_Template, 4, 7, "ng-container", 6)(25, DynamicFormQuestionComponent_ng_container_25_Template, 4, 7, "ng-container", 6)(26, DynamicFormQuestionComponent_ng_container_26_Template, 8, 2, "ng-container", 7);
|
|
1796
|
+
i0.ɵɵelementEnd();
|
|
1797
|
+
i0.ɵɵtemplate(27, DynamicFormQuestionComponent_div_27_Template, 2, 2, "div", 8);
|
|
1798
|
+
i0.ɵɵelementEnd();
|
|
1799
|
+
} if (rf & 2) {
|
|
1800
|
+
i0.ɵɵproperty("formGroup", ctx.form)("id", "question-div-" + ctx.question.name);
|
|
1801
|
+
i0.ɵɵadvance(1);
|
|
1802
|
+
i0.ɵɵproperty("ngIf", ctx.displayPosition);
|
|
1803
|
+
i0.ɵɵadvance(1);
|
|
1804
|
+
i0.ɵɵproperty("ngIf", !ctx.forScreenQuestionnaire);
|
|
1805
|
+
i0.ɵɵadvance(1);
|
|
1806
|
+
i0.ɵɵproperty("ngIf", ctx.forScreenQuestionnaire && ctx.question.indent === 1 && ctx.question.type != "html" && ctx.question.type != "hidden" && ctx.question.description && ctx.question.type != "simplecheckbox" && ctx.question.type != "label" && ctx.question.type != "label-with-overlay");
|
|
1807
|
+
i0.ɵɵadvance(1);
|
|
1808
|
+
i0.ɵɵproperty("ngIf", ctx.forScreenQuestionnaire && ctx.question.customTag && ctx.question.customTag != "component" && ctx.question.indent === 1 && ctx.question.type != "html" && ctx.question.type != "hidden" && !ctx.question.description && ctx.question.type != "label" && ctx.question.type != "simplecheckbox");
|
|
1809
|
+
i0.ɵɵadvance(1);
|
|
1810
|
+
i0.ɵɵproperty("ngIf", ctx.forScreenQuestionnaire && !ctx.question.customTag && ctx.question.indent === 1 && ctx.question.type != "html" && ctx.question.type != "hidden" && !ctx.question.description && ctx.question.type != "simplecheckbox" && ctx.question.type != "label" && ctx.question.type != "label-with-overlay");
|
|
1811
|
+
i0.ɵɵadvance(1);
|
|
1812
|
+
i0.ɵɵproperty("ngIf", ctx.question.customTag && ctx.question.customTag === "component" && ctx.question.type != "html" && !ctx.question.description);
|
|
1813
|
+
i0.ɵɵadvance(1);
|
|
1814
|
+
i0.ɵɵproperty("ngIf", ctx.question.indent != 1 && ctx.question.type != "html" && ctx.question.type != "label" && ctx.question.type != "hidden");
|
|
1815
|
+
i0.ɵɵadvance(1);
|
|
1816
|
+
i0.ɵɵproperty("ngIf", ctx.question.type === "html");
|
|
1817
|
+
i0.ɵɵadvance(1);
|
|
1818
|
+
i0.ɵɵproperty("ngSwitch", ctx.question.type);
|
|
1819
|
+
i0.ɵɵadvance(1);
|
|
1820
|
+
i0.ɵɵproperty("ngSwitchCase", "text");
|
|
1821
|
+
i0.ɵɵadvance(1);
|
|
1822
|
+
i0.ɵɵproperty("ngSwitchCase", "comment");
|
|
1823
|
+
i0.ɵɵadvance(1);
|
|
1824
|
+
i0.ɵɵproperty("ngSwitchCase", "dropdown");
|
|
1825
|
+
i0.ɵɵadvance(1);
|
|
1826
|
+
i0.ɵɵproperty("ngSwitchCase", "radiogroup");
|
|
1827
|
+
i0.ɵɵadvance(1);
|
|
1828
|
+
i0.ɵɵproperty("ngSwitchCase", "number");
|
|
1829
|
+
i0.ɵɵadvance(1);
|
|
1830
|
+
i0.ɵɵproperty("ngSwitchCase", "decimal");
|
|
1831
|
+
i0.ɵɵadvance(1);
|
|
1832
|
+
i0.ɵɵproperty("ngSwitchCase", "currency");
|
|
1833
|
+
i0.ɵɵadvance(1);
|
|
1834
|
+
i0.ɵɵproperty("ngSwitchCase", "checkbox");
|
|
1835
|
+
i0.ɵɵadvance(1);
|
|
1836
|
+
i0.ɵɵproperty("ngSwitchCase", "multicheckbox");
|
|
1837
|
+
i0.ɵɵadvance(1);
|
|
1838
|
+
i0.ɵɵproperty("ngSwitchCase", "singleselectcheckbox");
|
|
1839
|
+
i0.ɵɵadvance(1);
|
|
1840
|
+
i0.ɵɵproperty("ngSwitchCase", "simplecheckbox");
|
|
1841
|
+
i0.ɵɵadvance(1);
|
|
1842
|
+
i0.ɵɵproperty("ngSwitchCase", "displaytextaslabel");
|
|
1843
|
+
i0.ɵɵadvance(1);
|
|
1844
|
+
i0.ɵɵproperty("ngSwitchCase", "label");
|
|
1845
|
+
i0.ɵɵadvance(1);
|
|
1846
|
+
i0.ɵɵproperty("ngSwitchCase", "label-with-overlay");
|
|
1847
|
+
i0.ɵɵadvance(1);
|
|
1848
|
+
i0.ɵɵproperty("ngSwitchCase", "label-with-link");
|
|
1849
|
+
i0.ɵɵadvance(1);
|
|
1850
|
+
i0.ɵɵproperty("ngSwitchCase", "label-with-popup");
|
|
1851
|
+
i0.ɵɵadvance(1);
|
|
1852
|
+
i0.ɵɵproperty("ngSwitchCase", "panel");
|
|
1853
|
+
i0.ɵɵadvance(1);
|
|
1854
|
+
i0.ɵɵproperty("ngIf", ctx.question.type != "panel");
|
|
1855
|
+
} }, dependencies: [i6.IonButton, i6.IonCol, i6.IonRow, i8.NgForOf, i8.NgIf, i8.NgStyle, i8.NgSwitch, i8.NgSwitchCase, i9.PrimeTemplate, i10.DefaultValueAccessor, i10.NgControlStatus, i10.NgControlStatusGroup, i10.MaxLengthValidator, i10.FormControlDirective, i10.FormGroupDirective, i10.FormControlName, i11.AutoComplete, i12.Dialog, i13.Password, i14.InputText, i15.InputMask, i16.Divider, i17.Calendar, i18.Checkbox, i19.SelectButton, i20.InputNumber, i21.CaptchaComponent, i22.FileUploaderComponent, DynamicFormQuestionComponent, i23.OverlayInfoComponent, i24.EmployerGridComponent, i25.LegalDisclaimarComponent, i26.MoneyExpectComponent, i27.SearchEmployerComponent, i28.AddressComponent, i29.BankDetailsComponent, i30.DependentGridComponent, i31.WeeklyCertEmployerGridComponent, i32.AddParticipantComponent, i33.Dropdown, i34.RequalifyLiftPreviousIssuesComponent, i35.AddPaymentComponent, i36.DynamicTranslatePipe, i37.TrustHtmlPipe], styles: [".form-label[_ngcontent-%COMP%]{display:inline-block;margin-bottom:6px;margin-top:16px}.p-checkbox-label[_ngcontent-%COMP%]{line-height:1.5;text-align:justify;margin-left:1rem}.p-checkbox[_ngcontent-%COMP%]{padding:6px 0;width:-webkit-fill-available}.p-dropdown[_ngcontent-%COMP%]{display:inline-flex;min-width:185px}.p-calendar[_ngcontent-%COMP%] .p-inputtext[_ngcontent-%COMP%]{max-width:134px}[_nghost-%COMP%] .p-dropdown{display:inline-flex;min-width:185px}[_nghost-%COMP%] .p-calendar .p-inputtext{max-width:134px!important}.col-fit-content[_ngcontent-%COMP%]{max-width:-moz-fit-content;max-width:fit-content}"], data: { animation: [rowExpansionTrigger] } }); }
|
|
1856
|
+
}
|
|
1857
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DynamicFormQuestionComponent, [{
|
|
1858
|
+
type: Component,
|
|
1859
|
+
args: [{ selector: 'app-question', changeDetection: ChangeDetectionStrategy.Default, animations: [rowExpansionTrigger], template: "<div [formGroup]=\"form\" [id]=\"'question-div-' + question.name\">\n <p-dialog *ngIf=\"displayPosition\" [(visible)]=\"displayPosition\" [position]=\"position\"\n [modal]=\"true\" [breakpoints]=\"{'1200px': '660px', '992px': '660px', '768px': '660px', '576px': '100vw'}\" [style]=\"{width: '45vw'}\"\n [baseZIndex]=\"5000\" [draggable]=\"false\" [resizable]=\"false\" appendTo=\"body\" closeOnEscape=\"false\" [attr.aria-label]=\"question.title\">\n\n <h4 class=\"heading ion-padding-left\">\n {{popUpHeader}}\n </h4>\n <p>{{popUpText}}\n </p>\n <ng-template pTemplate=\"footer\">\n <ion-button shape=\"round\" *ngIf=\"popUpNoActionLabel\" size=\"small\" type=\"submit\" fill=\"outline\" (click)=\"reject()\">\n {{popUpNoActionLabel}}\n </ion-button>\n\n <ion-button shape=\"round\" *ngIf=\"popUpYesActionLabel\" size=\"small\" type=\"submit\" fill=\"solid\" (click)=\"accept()\">\n {{popUpYesActionLabel}}\n </ion-button>\n\n </ng-template>\n </p-dialog>\n <div [ngStyle]=\"setStyle(question.indent)\" *ngIf=\"!forScreenQuestionnaire\" class=\"form-label\">\n <label [attr.for]=\"question.name\" *ngIf=\"question.indent===1 && question.type!='html' && question.type!='hidden' && question.type!='label'\">\n {{question.title | dynamicTranslate:dynamicParam}}\n </label>\n </div>\n\n <div [ngStyle]=\"setStyle(question.indent)\" class=\"form-label\"\n *ngIf=\"forScreenQuestionnaire && question.indent===1 && question.type!='html' && question.type!='hidden' && question.description && question.type!='simplecheckbox' && question.type!='label' && question.type!='label-with-overlay'\">\n {{question.title | dynamicTranslate:dynamicParam}}\n </div>\n\n <div [ngStyle]=\"setStyle(question.indent)\" class=\"form-label\"\n *ngIf=\"forScreenQuestionnaire && question.customTag && question.customTag!='component' && question.indent===1 && question.type!='html' && question.type!='hidden' && !question.description && question.type!='label' && question.type!='simplecheckbox'\">\n {{question.title | dynamicTranslate:dynamicParam}}\n </div>\n\n <div [ngStyle]=\"setStyle(question.indent)\" class=\"form-label\"\n *ngIf=\"forScreenQuestionnaire && !question.customTag && question.indent===1 && question.type!='html' && question.type!='hidden' && !question.description && question.type!='simplecheckbox' && question.type!='label' && question.type!='label-with-overlay'\">\n {{question.title | dynamicTranslate:dynamicParam}}\n </div>\n\n\n\n <div *ngIf=\"question.customTag && question.customTag==='component' && question.type!='html' && !question.description\">\n <app-employer-grid [formControlName]=\"question.name\" [form]=\"form\" [dynamicParam]=\"dynamicParam\"\n *ngIf=\"question.componentName==='app-employer-grid'\" (modelDisplay)=\"onModelDisplay($event)\"></app-employer-grid>\n <app-legal-disclaimar *ngIf=\"question.componentName==='app-legal-disclaimar'\"\n [componentData]=\"question.componentData\" (accepted)=\"onAccepted($event)\" [question]=\"question\" [form]=\"form\">\n </app-legal-disclaimar>\n <money-expect *ngIf=\"question.componentName==='money-expect'\"></money-expect>\n <app-captcha [formControlName]=\"question.name\" *ngIf=\"question.componentName==='app-captcha'\"></app-captcha>\n\n <app-file-uploader [formControlName]=\"question.name\" *ngIf=\"question.componentName==='app-file-uploader'\">\n </app-file-uploader>\n <app-address [formControlName]=\"question.name\" [fromPopup]=\"false\" [countyRequired]=\"question.countyRequired\"\n *ngIf=\"question.componentName==='app-address'\" #address [inputId]=\"question.name\"> </app-address>\n <app-bank-details [formControlName]=\"question.name\" *ngIf=\"question.componentName==='app-bank-details'\" #bankdtls>\n </app-bank-details>\n <app-requalify-lift-previous-issues *ngIf=\"question.componentName==='app-requalify-lift-previous-issues'\"\n [formControlName]=\"question.name\" [componentData]=\"question.componentData\" [form]=\"form\" >\n </app-requalify-lift-previous-issues> \n <app-dependent-grid [formControlName]=\"question.name\" *ngIf=\"question.componentName==='app-dependent-grid'\"></app-dependent-grid>\n <app-weekly-cert-employer-grid [dynamicParam]=\"dynamicParam\" [formControlName]=\"question.name\" *ngIf=\"question.componentName==='app-weekly-cert-employer-grid'\"></app-weekly-cert-employer-grid>\n <app-search-employer [formControlName]=\"question.name\" empType=\"REG\" (onFound)=\"setEmployer($event)\" \n (onEmpty)=\"resetEmployer()\" *ngIf=\"question.componentName==='app-search-employer'\"></app-search-employer>\n <app-add-participant [formControlName]=\"question.name\" *ngIf=\"question.componentName==='app-add-participant'\"> </app-add-participant>\n <app-add-payment [potentialIssueId]=\"potentialIssueId\" [formControlName]=\"question.name\" *ngIf=\"question.componentName==='app-add-payment'\"></app-add-payment>\n </div>\n\n <div *ngIf=\"question.indent!=1 && question.type!='html' && question.type!='label' && question.type!='hidden'\" class=\"form-label\" [ngStyle]=\"setStyle(question.indent)\">\n {{question.title}}\n </div>\n\n <div *ngIf=\"question.type==='html'\" style=\"display: flex;\">\n <div [innerHTML]=\"question.html | dynamicTranslate:dynamicParam | trustHtml\"\n style=\"color:var(--ion-color-medium-gray); padding-top: 20px;\" class=\"heading\">\n </div>\n <div style=\"flex-grow: 1;\" *ngIf=\"question.description\" style=\"padding-left: 8px; padding-top:13px\">\n <app-overlay-info [overlayText]=\"question.description | dynamicTranslate:dynamicParam\"></app-overlay-info>\n </div>\n </div>\n \n <div [ngSwitch]=\"question.type\">\n <ng-container *ngSwitchCase=\"'text'\">\n <div class=\"container\" style=\"display: flex;\">\n <div *ngIf=\"question.inputType && question.inputType==='date'\">\n <div [ngStyle]=\"setStyle(question.indent)\">\n <p-calendar [formControlName]=\"question.name\" [inputId]=\"question.name\" [monthNavigator]=\"true\"\n [yearNavigator]=\"true\" yearRange=\"1901:2099\" [showIcon]=\"true\" [minDate]=\"showMinDate ? minDate : null\"\n [maxDate]=\"showMaxDate ? maxDate : null\" dateFormat=\"mm/dd/yy\" appendTo=\"body\" dataType=\"string\"\n (onBlur)=\"validate(question)\" (onSelect)=\"validate(question)\" placeholder=\"mm/dd/yyyy\" [showOnFocus]=\"false\" \n (onInput)=\"dateInput($event)\" [iconAriaLabel]=\"question.title\">\n </p-calendar>\n </div>\n </div>\n\n <div\n *ngIf=\"question.inputType && question.inputType==='text' && question.customTag && question.customTag==='ssn'\"\n [ngStyle]=\"setStyle(question.indent)\">\n <p-inputMask mask=\"999-99-9999\" [inputId]=\"question.name\" [formControlName]=\"question.name\"\n placeholder=\"999-99-9999\" (onComplete)=\"validate(question)\" (onFocus)=\"unmask($event)\" (onBlur)=\"mask($event)\" [type]=\"type\" [attr.aria-label]=\"question.title\">\n </p-inputMask>\n </div>\n\n <div\n *ngIf=\"question.inputType && question.inputType==='text' && question.customTag && question.customTag==='ean'\"\n [ngStyle]=\"setStyle(question.indent)\">\n <p-inputMask mask=\"99-99999-9-99\" [inputId]=\"question.name\" [formControlName]=\"question.name\"\n placeholder=\"99-99999-9-99\" [value]=\"81-00586-0-01\" (onComplete)=\"validate(question)\">\n </p-inputMask>\n </div>\n\n <div\n *ngIf=\"question.inputType && question.inputType==='text' && question.customTag && question.customTag==='dueamt'\"\n [ngStyle]=\"setStyle(question.indent)\">\n <p-inputNumber [inputId]=\"question.name\" [formControlName]=\"question.name\" mode=\"decimal\" locale=\"en-US\"\n [minFractionDigits]=\"2\" [ariaLabel]=\"question.title\"></p-inputNumber>\n </div>\n\n\n\n <div\n *ngIf=\"question.inputType && question.inputType==='text' && (!question.customTag || question.customTag==='Optional') && !question.isRequired\"\n [ngStyle]=\"setStyle(question.indent)\">\n <input type=\"text\" *ngIf=\"question.size && question.maxLength\"\n [maxLength]=\"question.maxLength\" placeholder=\"Optional\" [id]=\"question.name\" pInputText\n [formControlName]=\"question.name\" [attr.aria-label]=\"question.title\"/>\n <input type=\"text\" *ngIf=\"question.size && !question.maxLength\" placeholder=\"Optional\"\n [id]=\"question.name\" pInputText [formControlName]=\"question.name\" [attr.aria-label]=\"question.title\"/>\n <input type=\"text\" *ngIf=\"!question.size && question.maxLength\" [maxLength]=\"question.maxLength\"\n placeholder=\"Optional\" [id]=\"question.name\" pInputText [formControlName]=\"question.name\" />\n <input type=\"text\" *ngIf=\"!question.size && !question.maxLength\" [id]=\"question.name\" pInputText\n [formControlName]=\"question.name\" placeholder=\"Optional\" [attr.aria-label]=\"question.title\"/>\n </div>\n\n <!--User Name-->\n <div *ngIf=\"question.inputType && question.inputType==='text' && !question.customTag && question.isRequired\"\n [ngStyle]=\"setStyle(question.indent)\">\n <input type=\"text\" *ngIf=\"question.size && question.maxLength\" \n [maxLength]=\"question.maxLength\" [id]=\"question.name\" pInputText [formControlName]=\"question.name\" [attr.aria-label]=\"question.title\"/>\n <input type=\"text\" *ngIf=\"question.size && !question.maxLength\" [id]=\"question.name\"\n pInputText [formControlName]=\"question.name\" [attr.aria-label]=\"question.title\"/>\n <input type=\"text\" *ngIf=\"!question.size && question.maxLength\" [maxLength]=\"question.maxLength\"\n [id]=\"question.name\" pInputText [formControlName]=\"question.name\" [attr.aria-label]=\"question.title\"/>\n <input type=\"text\" *ngIf=\"!question.size && !question.maxLength\" [id]=\"question.name\" pInputText\n [formControlName]=\"question.name\" [attr.aria-label]=\"question.title\"/>\n </div>\n\n <div *ngIf=\"!question.inputType && question.customTag && !question.customTag.includes('phone')\"\n [ngStyle]=\"{'padding-left.px': question.indent*10}\" [ngStyle]=\"setStyle(question.indent)\">\n <input type=\"text\" [id]=\"question.name\" pInputText [formControlName]=\"question.name\" [attr.aria-label]=\"question.title\"/>\n </div>\n\n\n <div *ngIf=\"question.customTag && question.customTag.includes('phone')\">\n <p-inputMask mask=\"999-999-9999\" [inputId]=\"question.name\" [formControlName]=\"question.name\" \n [placeholder]=\"question.isRequired ? '999-999-9999' : 'Optional'\"\n *ngIf=\"question.inputType && question.inputType==='text'\" (onBlur)=\"checkForValueChange($event)\" [attr.aria-label]=\"question.title\">\n </p-inputMask>\n </div>\n\n <div *ngIf=\"question.customTag && question.customTag.includes('password')\">\n <p-password [inputId]=\"question.name\" [formControlName]=\"question.name\" [toggleMask]=\"true\" [maxLength]=\"question.maxLength\" weakLabel=\"Weak password\" \n mediumLabel=\"Weak password\" strongLabel=\"Strong password\" strongRegex=\"^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[_@*$!#.]+.*[_@*$!#.])(?=.{14,})\" [ariaLabel]=\"question.title\">\n \n <ng-template pTemplate=\"footer\">\n <p-divider></p-divider>\n <p class=\"mt-1\" style=\"font-size: small;\">Password must include at least</p>\n <ul style=\"line-height: 1.25\">\n <li style=\"margin-left: -25px; font-size: small;\">1 lowercase letter</li>\n <li style=\"margin-left: -25px; font-size: small;\">1 uppercase letter</li>\n <li style=\"margin-left: -25px; font-size: small;\">1 number</li>\n <li style=\"margin-left: -25px; font-size: small;\">2 of the following characters <b>_ @ * $ ! # .</b></li>\n <li style=\"margin-left: -25px; font-size: small;\">14 characters</li>\n </ul>\n <p-divider></p-divider>\n <p class=\"mt-1\" style=\"font-size: small;\">Suggestion</p>\n <ul style=\"line-height: 1.25\">\n <li style=\"margin-left: -25px; font-size: small;\">Don't use your name, email or phone</li>\n <li style=\"margin-left: -25px; font-size: small;\">Don't use your kid, partner or pet name.</li>\n </ul>\n </ng-template>\n </p-password>\n </div>\n\n <div *ngIf=\"question.customTag && question.customTag.includes('fileupload')\">\n <app-file-uploader [allowedFileType]=\"question.allowedFileType\" [formControlName]=\"question.name\"\n [maxSizeInMB]=\"question.sizeInMB\" [multiple]=\"question.multiple\" [noOfFilesToUpload]=\"question.noOFFiles\" [attr.aria-label]=\"question.title\">\n </app-file-uploader>\n </div>\n\n <!--Email Address-->\n <div\n *ngIf=\"question.inputType && question.inputType==='text'\n && question.customTag && (question.customTag!='ssn' && question.customTag!='Optional' && question.customTag!='fileupload' \n && question.customTag!='phone' && question.customTag!='ean' && question.customTag!='dueamt' && question.customTag!='password') \">\n <div [ngStyle]=\"setStyle(question.indent)\">\n <input type=\"text\" [id]=\"question.name\" [attr.aria-label]=\"question.title\" pInputText [formControlName]=\"question.name\" (blur)=\"checkForValueChange($event)\" [attr.aria-label]=\"question.title\"/>\n </div>\n </div>\n\n <div *ngIf=\"!question.inputType && !question.customTag\" [ngStyle]=\"setStyle(question.indent)\">\n <input type=\"text\" [id]=\"question.name\" *ngIf=\"question.size\" pInputText\n [formControlName]=\"question.name\" [attr.aria-label]=\"question.title\"/>\n <input type=\"text\" [id]=\"question.name\" *ngIf=\"!question.size\" pInputText [formControlName]=\"question.name\" [attr.aria-label]=\"question.title\"/>\n </div>\n <!-- </ion-col>\n <ion-col size=\"1\" *ngIf=\"question.description\" style=\"padding-top: 12px\">\n <app-overlay-info [overlayText]=\"question.description | dynamicTranslate:dynamicParam\"></app-overlay-info>\n </ion-col>\n </ion-row> -->\n <div style=\"flex-grow: 1;\" *ngIf=\"question.description\" style=\"padding-left: 8px; padding-top:3px\">\n <app-overlay-info [overlayText]=\"question.description | dynamicTranslate:dynamicParam\"></app-overlay-info>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'comment'\">\n <div [ngStyle]=\"setStyle(question.indent)\" *ngIf=\"question.maxLength\">\n <textarea [id]=\"question.name\" autoResize=\"true\" [formControlName]=\"question.name\"\n [maxLength]=\"question.maxLength\" [rows]=\"3\" [cols]=\"35\" [attr.aria-label]=\"question.title\"></textarea>\n <div>\n\n <small styleClass=\"p-d-block\" *ngIf=\"question.description\">{{question.description}}</small>\n </div>\n </div>\n\n <div [ngStyle]=\"setStyle(question.indent)\" *ngIf=\"!question.maxLength\">\n <textarea [id]=\"question.name\" autoResize=\"true\" [formControlName]=\"question.name\" [rows]=\"3\"\n [cols]=\"35\" [attr.aria-label]=\"question.title\"></textarea>\n <div>\n\n <small styleClass=\"p-d-block\" *ngIf=\"question.description\">{{question.description}}</small>\n </div>\n </div>\n </ng-container>\n\n\n <ng-container *ngSwitchCase=\"'dropdown'\">\n <div class=\"container\" style=\"display: flex;\">\n <div [ngStyle]=\"setStyle(question.indent)\">\n <p-autoComplete *ngIf=\"false\" [formControlName]=\"question.name\" [suggestions]=\"filterResult\" appendTo=\"body\"\n (completeMethod)=\"filterValue($event,question)\" field=\"text\" [dropdown]=\"true\" minLength=\"1\"\n [forceSelection]=\"true\" (onSelect)=\"onSelect($event,question.name)\" [completeOnFocus]=\"true\">\n <ng-template let-value pTemplate=\"item\">\n <div>\n <div>{{value.text}}</div>\n </div>\n </ng-template>\n </p-autoComplete>\n <app-dropdown [options]=\"filterResult\" [formControlName]=\"question.name\" optionLabel=\"text\" appendTo=\"body\"\n (onChange)=\"onSelect($event,question.name)\" [autoDisplayFirst]=\"false\" (onClick)=\"filterValue($event,question)\" [inputId]=\"question.name\"\n [ariaLabel]=\"question.title\"></app-dropdown>\n </div>\n <div style=\"flex-grow: 1;\" *ngIf=\"question.description\" style=\"padding-left: 8px; padding-top:3px\">\n <app-overlay-info [overlayText]=\"question.description | dynamicTranslate:dynamicParam\"></app-overlay-info>\n\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'radiogroup' \">\n\n <div class=\"container\" style=\"display: flex;\">\n <div [ngStyle]=\"setStyle(question.indent)\">\n <p-selectButton [options]=\"question.choices\" [formControlName]=\"question.name\" optionLabel=\"text\"\n optionValue=\"value\" (onOptionClick)=\"onRadioOptionClick($event,question)\"></p-selectButton>\n </div>\n <div style=\"flex-grow: 1;\" *ngIf=\"question.description\" style=\"padding-left: 8px; padding-top:3px\">\n <app-overlay-info [overlayText]=\"question.description | dynamicTranslate:dynamicParam\"></app-overlay-info>\n\n </div>\n </div>\n\n\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'number'\">\n <div class=\"container\" style=\"display: flex;\">\n <div [ngStyle]=\"setStyle(question.indent)\">\n <p-inputNumber formControlName=\"{{question.name}}\" mode=\"decimal\" [inputId]=\"question.name\" [useGrouping]=\"false\"\n [min]=\"question.min ? question.min : null\" [max]=\"question.max ? question.max : null\"\n [size]=\"question.size ? question.size : null\" [maxlength]=\"question.maxLength ? question.maxLength : null\" [ariaLabel]=\"question.title\"></p-inputNumber>\n </div>\n <div style=\"flex-grow: 1;\" *ngIf=\"question.description\" style=\"padding-left: 8px; padding-top:3px\">\n <app-overlay-info [overlayText]=\"question.description | dynamicTranslate:dynamicParam\"></app-overlay-info>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'decimal'\">\n <div class=\"container\" style=\"display: flex;\">\n <div [ngStyle]=\"setStyle(question.indent)\">\n <p-inputNumber formControlName=\"{{question.name}}\" mode=\"decimal\" [inputId]=\"question.name\" [useGrouping]=\"false\" \n [minFractionDigits]=\"2\" [maxFractionDigits]=\"2\" [min]=\"question.min ? question.min : null\" \n [max]=\"question.max ? question.max : null\" [size]=\"question.size ? question.size : null\" [maxlength]=\"question.maxLength ? question.maxLength : null\" [ariaLabel]=\"question.title\"></p-inputNumber>\n </div>\n <div style=\"flex-grow: 1;\" *ngIf=\"question.description\" style=\"padding-left: 8px; padding-top:3px\">\n <app-overlay-info [overlayText]=\"question.description | dynamicTranslate:dynamicParam\"></app-overlay-info>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'currency'\">\n <div class=\"container\" style=\"display: flex;\">\n <div [ngStyle]=\"setStyle(question.indent)\">\n <p-inputNumber formControlName=\"{{question.name}}\" mode=\"currency\" [inputId]=\"question.name\" [useGrouping]=\"false\" \n [minFractionDigits]=\"2\" [maxFractionDigits]=\"2\" currency=\"USD\" [min]=\"question.min ? question.min : null\" \n [max]=\"question.max ? question.max : null\" [size]=\"question.size ? question.size : null\" [maxlength]=\"question.maxLength ? question.maxLength : null\" [ariaLabel]=\"question.title\"></p-inputNumber>\n </div>\n <div style=\"flex-grow: 1;\" *ngIf=\"question.description\" style=\"padding-left: 8px; padding-top:3px\">\n <app-overlay-info [overlayText]=\"question.description | dynamicTranslate:dynamicParam\"></app-overlay-info>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <div class=\"container\" style=\"display: flex;\">\n <div [ngStyle]=\"setStyle(question.indent)\" class=\"formgroup-inline\">\n <p-checkbox [name]=\"question.name + '-group'\" [value]=\"choice.value\" \n [label]=\"choice.text\" *ngFor=\"let choice of question.choices\" [formControl]=\"form.controls[question.name]\"\n styleClass=\"app-p-checkbox\" [inputId]=\"question.name + '-' + choice.value\" [attr.aria-label]=\"question.title\"></p-checkbox>\n </div>\n <div style=\"flex-grow: 1;\" *ngIf=\"question.description\" style=\"padding-left: 8px; padding-top:3px\">\n <app-overlay-info [overlayText]=\"question.description | dynamicTranslate:dynamicParam\"></app-overlay-info>\n\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'multicheckbox'\">\n <div class=\"container\" style=\"display: flex;\">\n <div [ngStyle]=\"setStyle(question.indent)\">\n <p-checkbox [name]=\"question.name + '-group'\" [value]=\"choice.value\" \n [label]=\"choice.text\" *ngFor=\"let choice of question.choices\" [formControl]=\"form.controls[question.name]\"\n styleClass=\"app-p-checkbox\" [inputId]=\"question.name + '-' + choice.value\" [attr.aria-label]=\"question.title\"></p-checkbox>\n </div>\n <div style=\"flex-grow: 1;\" *ngIf=\"question.description\" style=\"padding-left: 8px; padding-top:3px\">\n <app-overlay-info [overlayText]=\"question.description | dynamicTranslate:dynamicParam\"></app-overlay-info>\n\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'singleselectcheckbox'\">\n <div class=\"container\" style=\"display: flex;\">\n <div [ngStyle]=\"setStyle(question.indent)\">\n <p-selectButton [options]=\"question.choices\" [formControlName]=\"question.name\" [multiple]=false\n optionLabel=\"text\" optionValue=\"value\" [attr.aria-label]=\"question.title\"></p-selectButton>\n </div>\n <div style=\"flex-grow: 1;\" *ngIf=\"question.description\" style=\"padding-left: 8px; padding-top:3px\">\n <app-overlay-info [overlayText]=\"question.description | dynamicTranslate:dynamicParam\"></app-overlay-info>\n\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'simplecheckbox'\">\n <div class=\"container\" style=\"display: flex;\">\n <div class=\"field-checkbox\">\n <p-checkbox binary=\"true\" inputId=\"binary\" [formControlName]=\"question.name\" [attr.aria-label]=\"question.title\"></p-checkbox>\n <label for=\"binary\">{{question.title}}</label>\n </div>\n <div style=\"flex-grow: 1;\" *ngIf=\"question.description\" style=\"padding-left: 8px; padding-top: 3px\">\n <app-overlay-info [overlayText]=\"question.description | dynamicTranslate:dynamicParam\"></app-overlay-info>\n\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'displaytextaslabel'\">\n <div class=\"container\" style=\"display: flex;\">\n <label>{{getText(form.controls[question.name].value)}}</label>\n <input type=\"hidden\" [formControlName]=\"question.name\" [attr.aria-label]=\"question.title\"/>\n <div style=\"flex-grow: 1;\" *ngIf=\"question.description\" style=\"padding-left: 2px\">\n <app-overlay-info [overlayText]=\"question.description | dynamicTranslate:dynamicParam\"></app-overlay-info>\n\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'label'\">\n <div class=\"container\" style=\"display: flex;\">\n <label>{{question.title}}</label>\n <div style=\"flex-grow: 1;\" *ngIf=\"question.description\" style=\"padding-left: 2px\">\n <app-overlay-info [overlayText]=\"question.description | dynamicTranslate:dynamicParam\"></app-overlay-info>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'label-with-overlay'\">\n <div class=\"container\" style=\"display: flex;\">\n <app-overlay-info [displayText]=\"question.title\" [overlayText]=\"question.description | dynamicTranslate:dynamicParam\" [displayAsLabel]=\"true\"></app-overlay-info>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'label-with-link'\">\n <div class=\"container\" style=\"display: flex;\">\n <app-overlay-info [displayText]=\"question.title\" [formControlName]=\"question.name\" [overlayText]=\"question.description | dynamicTranslate:dynamicParam\" [labelWithLink]=\"true\"></app-overlay-info>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'label-with-popup'\">\n <div class=\"container\" style=\"display: flex;\">\n <app-overlay-info [displayText]=\"question.title\" [formControlName]=\"question.name\" [labelWithPopup]=\"question.description | dynamicTranslate:dynamicParam\" [labelWithLink]=\"true\"></app-overlay-info>\n </div>\n </ng-container>\n \n <ng-container class=\"responsive\" *ngSwitchCase=\"'panel'\">\n <ion-row>\n <ion-col>\n <ion-row>\n <ng-container *ngFor=\"let element of question.elements\">\n <ion-col *ngIf=\"element.colElement==='COL1' && visibleIf(element.visibleIf,element.name)\"\n [sizeXl]=\"element.sizeXL\" [sizeLg]=\"element.sizeLG\" [sizeMd]=\"element.sizeMD\"\n [offsetMd]=\"element.offSetMD\" class=\"col-fit-content\">\n <app-question [question]=\"element\" [form]=\"form\" [forScreenQuestionnaire]=\"forScreenQuestionnaire\">\n </app-question>\n </ion-col>\n </ng-container>\n </ion-row>\n </ion-col>\n <ion-col>\n <ion-row>\n <ng-container *ngFor=\"let element of question.elements\">\n <ion-col *ngIf=\"element.colElement==='COL2' && visibleIf(element.visibleIf,element.name)\"\n [sizeXl]=\"element.sizeXL\" [sizeLg]=\"element.sizeLG\" [sizeMd]=\"element.sizeMD\"\n [offsetMd]=\"element.offSetMD\">\n <app-question [question]=\"element\" [form]=\"form\" [forScreenQuestionnaire]=\"forScreenQuestionnaire\">\n </app-question>\n </ion-col>\n </ng-container>\n </ion-row>\n </ion-col>\n </ion-row>\n </ng-container>\n </div>\n <div [ngStyle]=\"setStyle(question.indent)\" *ngIf=\"question.type!='panel'\">\n <small class=\"p-error\" *ngIf=\"isValid!=''\" [@rowExpansionTrigger]=\"'active'\">{{isValid}}</small>\n </div>\n</div>", styles: [".form-label{display:inline-block;margin-bottom:6px;margin-top:16px}.p-checkbox-label{line-height:1.5;text-align:justify;margin-left:1rem}.p-checkbox{padding:6px 0;width:-webkit-fill-available}.p-dropdown{display:inline-flex;min-width:185px}.p-calendar .p-inputtext{max-width:134px}:host ::ng-deep .p-dropdown{display:inline-flex;min-width:185px}:host ::ng-deep .p-calendar .p-inputtext{max-width:134px!important}.col-fit-content{max-width:-moz-fit-content;max-width:fit-content}\n"] }]
|
|
1860
|
+
}], () => [{ type: i1.QuestionControlService }, { type: i2.QuestionService }, { type: i3.TranslateService }, { type: i4.ValidationService }, { type: i5.UtilService }, { type: i6.NavController }, { type: i7.LoggerService }], { question: [{
|
|
1861
|
+
type: Input
|
|
1862
|
+
}], form: [{
|
|
1863
|
+
type: Input
|
|
1864
|
+
}], indexNumber: [{
|
|
1865
|
+
type: Input
|
|
1866
|
+
}], forScreenQuestionnaire: [{
|
|
1867
|
+
type: Input
|
|
1868
|
+
}], dynamicParam: [{
|
|
1869
|
+
type: Input
|
|
1870
|
+
}], potentialIssueId: [{
|
|
1871
|
+
type: Input
|
|
1872
|
+
}], onDynamicParamUpdate: [{
|
|
1873
|
+
type: Output
|
|
1874
|
+
}], bankdtls: [{
|
|
1875
|
+
type: ViewChild,
|
|
1876
|
+
args: ['bankdtls']
|
|
1877
|
+
}], addresses: [{
|
|
1878
|
+
type: ViewChildren,
|
|
1879
|
+
args: ['address']
|
|
1880
|
+
}] }); })();
|
|
1881
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DynamicFormQuestionComponent, { className: "DynamicFormQuestionComponent" }); })();
|
|
1882
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXF1ZXN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbm5haXJlL2R5bmFtaWMtZm9ybS1xdWVzdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb25uYWlyZS9keW5hbWljLWZvcm0tcXVlc3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVFwSSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFVN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNSakUsc0NBQWtIO0lBQW5CLGdOQUFTLGVBQUEsZ0JBQVEsQ0FBQSxJQUFDO0lBQy9HLFlBQ0Y7SUFBQSxpQkFBYTs7O0lBRFgsZUFDRjtJQURFLDJEQUNGOzs7O0lBRUEsc0NBQWlIO0lBQW5CLGdOQUFTLGVBQUEsZ0JBQVEsQ0FBQSxJQUFDO0lBQzlHLFlBQ0Y7SUFBQSxpQkFBYTs7O0lBRFgsZUFDRjtJQURFLDREQUNGOzs7SUFOQSxxSEFFYSx3R0FBQTs7O0lBRmMsaURBQXdCO0lBSXhCLGVBQXlCO0lBQXpCLGtEQUF5Qjs7Ozs7O0lBZHhELG1DQUV1STtJQUZyRyw0UEFBNkI7SUFJN0QsOEJBQXFD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O1lBQXZCLHdDQUF1QjtZQXFCdkIsZUFBd0I7WUFBeEIseUNBQXdCO1lBdUJ4QixlQUEwQjtZQUExQiwyQ0FBMEI7WUFnQjFCLGVBQXNCO1lBQXRCLHVDQUFzQjtZQWF0QixlQUF1QjtZQUF2Qix3Q0FBdUI7WUFhdkIsZUFBd0I7WUFBeEIseUNBQXdCO1lBYXhCLGVBQXdCO1lBQXhCLHlDQUF3QjtZQWN4QixlQUE2QjtZQUE3Qiw4Q0FBNkI7WUFjN0IsZUFBb0M7WUFBcEMscURBQW9DO1lBYXBDLGVBQThCO1lBQTlCLCtDQUE4QjtZQWE5QixlQUFrQztZQUFsQyxtREFBa0M7WUFXbEMsZUFBcUI7WUFBckIsc0NBQXFCO1lBUXJCLGVBQWtDO1lBQWxDLG1EQUFrQztZQUtsQyxlQUErQjtZQUEvQixnREFBK0I7WUFLL0IsZUFBZ0M7WUFBaEMsaURBQWdDO1lBTWIsZUFBcUI7WUFBckIsc0NBQXFCO1lBNkJiLGVBQTRCO1lBQTVCLG1EQUE0QjtnZ0JEdlk3RCw0QkFBNEIseWlDQUgzQixDQUFDLG1CQUFtQixDQUFDOztpRkFHdEIsNEJBQTRCO2NBUnhDLFNBQVM7MkJBQ0UsY0FBYyxtQkFHUCx1QkFBdUIsQ0FBQyxPQUFPLGNBQ3BDLENBQUMsbUJBQW1CLENBQUM7c09BSXhCLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxJQUFJO2tCQUFaLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csc0JBQXNCO2tCQUE5QixLQUFLO1lBQ0csWUFBWTtrQkFBcEIsS0FBSztZQUNHLGdCQUFnQjtrQkFBeEIsS0FBSztZQUVJLG9CQUFvQjtrQkFBN0IsTUFBTTtZQWtCZ0IsUUFBUTtrQkFBOUIsU0FBUzttQkFBQyxVQUFVO1lBQ0ksU0FBUztrQkFBakMsWUFBWTttQkFBQyxTQUFTOztrRkEzQlosNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGQsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE5hdkNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBFbGVtZW50c01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvRWxlbWVudHNNb2RlbCc7XG5pbXBvcnQgeyBLZXlWYWx1ZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvS2V5VmFsdWVNb2RlbCc7XG5pbXBvcnQgeyBTZXJ2aWNlQWN0aW9uUmVzcG9uc2VNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1NlcnZpY2VBY3Rpb25SZXNwb25zZU1vZGVsJztcbmltcG9ydCB7IFZhbGlkYXRpb25Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1ZhbGlkYXRpb25Nb2RlbCc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IFZhbGlkYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcXVlc3Rpb25uYWlyZS92YWxpZGF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XG5pbXBvcnQgeyBDaG9pY2VzLCBRdWVzdGlvbkNvbnRyb2xTZXJ2aWNlIH0gZnJvbSAnLi9xdWVzdGlvbi1jb250cm9sLnNlcnZpY2UnO1xuaW1wb3J0IHsgUXVlc3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9xdWVzdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IExvYWRlck1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvTG9hZGVyTW9kZWwnO1xuaW1wb3J0IHsgQWRkcmVzc0NvbXBvbmVudCB9IGZyb20gJy4uL2FkZHJlc3MvYWRkcmVzcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFua0RldGFpbHNDb21wb25lbnQgfSBmcm9tICcuLi9iYW5rLWRldGFpbHMvYmFuay1kZXRhaWxzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbXBsb3llckRldGFpbFNlYXJjaFJlc3VsdCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0VtcGxveWVyRGV0YWlsU2VhcmNoUmVzdWx0JztcbmltcG9ydCB7IHJvd0V4cGFuc2lvblRyaWdnZXIgfSBmcm9tICcuLi8uLi9hbm5pbWF0aW9ucy9hcHAtYW5pbWF0aW9ucyc7XG5cbmludGVyZmFjZSBWYWx1ZUNoYW5nZUNvbXBvbmVudE1vZGVsIHtcbiAgb3JpZ2luYWxWYWx1ZUNvbnRyb2w6IHN0cmluZztcbiAgZm9ybUNvbnRyb2xUb1VwZGF0ZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgRW1wbG95ZXJBZGRyZXNzVXBkYXRlTW9kZWwge1xuICBhZGRyZXNzRm9ybUNvbnRyb2xOYW1lOiBzdHJpbmc7XG4gIGVtcGxveWVySWRGb3JtQ29udHJvbE5hbWU6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIE1pbk1heERhdGVNb2RlbCB7XG4gIG1pbkRhdGVLZXk6IHN0cmluZztcbiAgbWF4RGF0ZUtleTogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcXVlc3Rpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1mb3JtLXF1ZXN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXCIuL2R5bmFtaWMtZm9ybS1xdWVzdGlvbi5jb21wb25lbnQuc2Nzc1wiXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxuICBhbmltYXRpb25zOiBbcm93RXhwYW5zaW9uVHJpZ2dlcl1cbn0pXG5cbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybVF1ZXN0aW9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcXVlc3Rpb246IEVsZW1lbnRzTW9kZWw7XG4gIEBJbnB1dCgpIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIGluZGV4TnVtYmVyOiBudW1iZXI7XG4gIEBJbnB1dCgpIGZvclNjcmVlblF1ZXN0aW9ubmFpcmU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGR5bmFtaWNQYXJhbTogYW55O1xuICBASW5wdXQoKSBwb3RlbnRpYWxJc3N1ZUlkOiBudW1iZXI7XG5cbiAgQE91dHB1dCgpIG9uRHluYW1pY1BhcmFtVXBkYXRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBmaWx0ZXJSZXN1bHQ6IGFueVtdO1xuICBtaW5EYXRlOiBEYXRlO1xuICBsZWdhbEFjY2VwdGVkOiBib29sZWFuID0gbnVsbDtcbiAgbWF4RGF0ZTogRGF0ZTtcbiAgaW5kZXg6IG51bWJlciA9IDE7XG4gIHJldHVybk1vZGVsID0gbmV3IFZhbGlkYXRpb25Nb2RlbCgpO1xuICBkaXNwbGF5UG9zaXRpb246IGJvb2xlYW47XG4gIHBvc2l0aW9uOiBzdHJpbmc7XG4gIHBvcFVwSGVhZGVyOiBzdHJpbmc7XG4gIHBvcFVwVGV4dDogc3RyaW5nO1xuICBwb3BVcFllc0FjdGlvbkxhYmVsOiBzdHJpbmc7XG4gIHBvcFVwTm9BY3Rpb25MYWJlbDogc3RyaW5nO1xuICB0eXBlID0gJ3RleHQnO1xuICBzaG93TWluRGF0ZSA6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2hvd01heERhdGUgOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgnYmFua2R0bHMnKSBiYW5rZHRsczogQmFua0RldGFpbHNDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGRyZW4oJ2FkZHJlc3MnKSBhZGRyZXNzZXM6IFF1ZXJ5TGlzdDxBZGRyZXNzQ29tcG9uZW50PjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHFjczogUXVlc3Rpb25Db250cm9sU2VydmljZSwgcHVibGljIHNlcnZpY2U6IFF1ZXN0aW9uU2VydmljZSwgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHVibGljIHZhbGlkYXRpb25TZXJ2aWNlOiBWYWxpZGF0aW9uU2VydmljZSwgcHVibGljIHV0aWw6IFV0aWxTZXJ2aWNlLCBwdWJsaWMgbmF2Q29udHJvbGxlcjogTmF2Q29udHJvbGxlciwgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UpIHtcblxuICB9XG5cblxuICB2aXNpYmxlSWYoc3RyRXhwOiBzdHJpbmcsIGVsZW1lbnROYW1lOiBzdHJpbmcpIHtcblxuICAgIGlmICghc3RyRXhwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBsZXQgaXNWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gICAgaWYgKHN0ckV4cC5pbmNsdWRlcygnJiYnKSkge1xuICAgICAgbGV0IGV4cHI6IHN0cmluZ1tdID0gc3RyRXhwLnNwbGl0KCcmJicpO1xuICAgICAgaXNWaXNpYmxlID0gdGhpcy5jYWxjdWxhdGVPcGVyYW5kVmFsdWUoZXhwclswXSkgJiYgdGhpcy5jYWxjdWxhdGVPcGVyYW5kVmFsdWUoZXhwclsxXSlcbiAgICB9XG4gICAgaWYgKHN0ckV4cC5pbmNsdWRlcygnfHwnKSkge1xuICAgICAgbGV0IGV4cHI6IHN0cmluZ1tdID0gc3RyRXhwLnNwbGl0KCd8fCcpO1xuICAgICAgaXNWaXNpYmxlID0gdGhpcy5jYWxjdWxhdGVPcGVyYW5kVmFsdWUoZXhwclswXSkgfHwgdGhpcy5jYWxjdWxhdGVPcGVyYW5kVmFsdWUoZXhwclsxXSlcbiAgICB9XG5cbiAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICByZXR1cm4gaXNWaXNpYmxlO1xuICAgIH1cblxuICAgIC8vdGhpcy5zZXRGb3JtQ29udHJvbFZhbHVlKGVsZW1lbnROYW1lLCBudWxsKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjYWxjdWxhdGVPcGVyYW5kVmFsdWUoc3RyRXhwOiBzdHJpbmcpIHtcbiAgICB2YXIgc3BsaXRBcnJheTogc3RyaW5nW107XG4gICAgbGV0IGlzRG9lc05vdEVxdWFsOiBib29sZWFuO1xuICAgIGxldCBpbmRleDogbnVtYmVyID0gc3RyRXhwLmluZGV4T2YoJyE9Jyk7XG4gICAgaWYgKGluZGV4ID09PSAtMSkge1xuICAgICAgc3BsaXRBcnJheSA9IHN0ckV4cC5zcGxpdCgnPT0nKTtcbiAgICAgIGlzRG9lc05vdEVxdWFsID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNwbGl0QXJyYXkgPSBzdHJFeHAuc3BsaXQoJyE9Jyk7XG4gICAgICBpc0RvZXNOb3RFcXVhbCA9IHRydWU7XG4gICAgfVxuICAgIGxldCBvcGVyYW5kMTogc3RyaW5nID0gc3BsaXRBcnJheVswXTtcbiAgICBsZXQgb3BlcmFuZDI6IHN0cmluZyA9IHNwbGl0QXJyYXlbMV07XG4gICAgb3BlcmFuZDEgPSBvcGVyYW5kMS5yZXBsYWNlKCd7JywgJycpLnJlcGxhY2UoJ30nLCAnJykudHJpbSgpOyAvL2NsYWltYW50UHJpb3JQYXkxMDIgZGlmZm1haWxhZGRyZXNzMzE1XG4gICAgb3BlcmFuZDIgPSBvcGVyYW5kMi5yZXBsYWNlKCd7JywgJycpLnJlcGxhY2UoJ30nLCAnJykudHJpbSgpOyAvL251bGwgXG4gICAgaWYgKHRoaXMuZm9ybS5jb250cm9sc1tvcGVyYW5kMV0pIHtcbiAgICAgIHZhciB2YWx1ZU9mQ25ydHJsVG9DaGVjaztcblxuICAgICAgaWYgKHRoaXMuZm9ybS5jb250cm9sc1tvcGVyYW5kMV0udmFsdWUgJiYgdHlwZW9mICh0aGlzLmZvcm0uY29udHJvbHNbb3BlcmFuZDFdKS52YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdmFsdWVPZkNucnRybFRvQ2hlY2sgPSB0aGlzLmZvcm0uY29udHJvbHNbb3BlcmFuZDFdLnZhbHVlO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5mb3JtLmNvbnRyb2xzW29wZXJhbmQxXS52YWx1ZSAmJiB0eXBlb2YgKHRoaXMuZm9ybS5jb250cm9sc1tvcGVyYW5kMV0pLnZhbHVlICE9ICdzdHJpbmcnKSB7XG4gICAgICAgIHZhbHVlT2ZDbnJ0cmxUb0NoZWNrID0gdGhpcy5mb3JtLmNvbnRyb2xzW29wZXJhbmQxXS52YWx1ZVsndmFsdWUnXTtcbiAgICAgIH1cblxuICAgICAgaWYgKG9wZXJhbmQyID09PSAnbnVsbCcgJiYgaXNEb2VzTm90RXF1YWwgJiYgdmFsdWVPZkNucnRybFRvQ2hlY2spIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBpZiAob3BlcmFuZDIgPT09ICdudWxsJyAmJiAhaXNEb2VzTm90RXF1YWwgJiYgIXZhbHVlT2ZDbnJ0cmxUb0NoZWNrKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgb3BlcmFuZDIgPSBvcGVyYW5kMi5yZXBsYWNlKCdcXCcnLCAnJykucmVwbGFjZSgnXFwnJywgJycpLnRyaW0oKTsgLy9udWxsXG5cbiAgICAgIGlmIChvcGVyYW5kMiAhPSAnbnVsbCcgJiYgIWlzRG9lc05vdEVxdWFsICYmICh2YWx1ZU9mQ25ydHJsVG9DaGVjayA9PT0gb3BlcmFuZDIpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAob3BlcmFuZDIgIT0gJ251bGwnICYmIGlzRG9lc05vdEVxdWFsICYmICh2YWx1ZU9mQ25ydHJsVG9DaGVjayAhPSBvcGVyYW5kMikpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICAvLyAgIHRoaXMubG9nZ2VyLmRlYnVnKCdpcyBEeW5hbWljRm9ybVF1ZXN0aW9uQ29tcG9uZW50IG5nT25Jbml0IGNhbGxlZCcsIHRoaXMucXVlc3Rpb24pXG5cbiAgICB0aGlzLmZpbHRlclJlc3VsdCA9IHRoaXMucXVlc3Rpb24uY2hvaWNlcztcbiAgICB0aGlzLnNldE1pbk1heERhdGUoKTtcbiAgICB0aGlzLnNldERlZmF1bHRWYWx1ZSgpO1xuICB9XG5cbiAgc2V0TWluTWF4RGF0ZSgpIHtcbiAgICBpZiAodGhpcy5xdWVzdGlvbi5pbnB1dFR5cGUgPT09ICdkYXRlJykge1xuICAgICAgbGV0IG1pbk1heE1vZGVsIDogTWluTWF4RGF0ZU1vZGVsID0gdGhpcy5xdWVzdGlvbi5jb21wb25lbnREYXRhID8gSlNPTi5wYXJzZSh0aGlzLnF1ZXN0aW9uLmNvbXBvbmVudERhdGEpIDogbnVsbDtcbiAgICAgIGlmKG1pbk1heE1vZGVsICYmIChtaW5NYXhNb2RlbC5tYXhEYXRlS2V5IHx8IG1pbk1heE1vZGVsLm1pbkRhdGVLZXkpKXtcbiAgICAgICAgaWYodGhpcy5keW5hbWljUGFyYW1bbWluTWF4TW9kZWwubWluRGF0ZUtleV0pe1xuICAgICAgICAgIHRoaXMucGFyc2VEYXRlKHRoaXMuZHluYW1pY1BhcmFtW21pbk1heE1vZGVsLm1pbkRhdGVLZXldLCAnbWluJyk7XG4gICAgICAgICAgdGhpcy5zaG93TWluRGF0ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYodGhpcy5keW5hbWljUGFyYW1bbWluTWF4TW9kZWwubWF4RGF0ZUtleV0pe1xuICAgICAgICAgIHRoaXMucGFyc2VEYXRlKHRoaXMuZHluYW1pY1BhcmFtW21pbk1heE1vZGVsLm1heERhdGVLZXldLCAnbWF4Jyk7XG4gICAgICAgICAgdGhpcy5zaG93TWF4RGF0ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZXtcbiAgICAgICAgaWYgKHRoaXMucXVlc3Rpb24ubWluKSB7XG4gICAgICAgICAgdGhpcy5wYXJzZURhdGUodGhpcy5xdWVzdGlvbi5taW4sICdtaW4nKVxuICAgICAgICAgIHRoaXMuc2hvd01pbkRhdGUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnF1ZXN0aW9uLm1heCkge1xuICAgICAgICAgIHRoaXMucGFyc2VEYXRlKHRoaXMucXVlc3Rpb24ubWF4LCAnbWF4JylcbiAgICAgICAgICB0aGlzLnNob3dNYXhEYXRlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBwYXJzZURhdGUoc3RyRGF0ZTogc3RyaW5nLCB0eXBlOiBzdHJpbmcpOiBEYXRlIHtcbiAgICBpZiAoc3RyRGF0ZSAmJiB0eXBlID09PSAnbWF4Jykge1xuICAgICAgdmFyIHNwbGl0QXJyYXkgPSBzdHJEYXRlLnNwbGl0KCctJyk7XG4gICAgICB0aGlzLm1heERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgdGhpcy5tYXhEYXRlLnNldE1vbnRoKE51bWJlcihzcGxpdEFycmF5WzBdKSAtIDEpO1xuICAgICAgdGhpcy5tYXhEYXRlLnNldEZ1bGxZZWFyKE51bWJlcihzcGxpdEFycmF5WzJdKSk7XG4gICAgICB0aGlzLm1heERhdGUuc2V0RGF0ZShOdW1iZXIoc3BsaXRBcnJheVsxXSkpO1xuICAgICAgcmV0dXJuIHRoaXMubWF4RGF0ZTtcbiAgICB9XG5cbiAgICBpZiAoc3RyRGF0ZSAmJiB0eXBlID09PSAnbWluJykge1xuICAgICAgdmFyIHNwbGl0QXJyYXkgPSBzdHJEYXRlLnNwbGl0KCctJyk7XG4gICAgICB0aGlzLm1pbkRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgdGhpcy5taW5EYXRlLnNldE1vbnRoKE51bWJlcihzcGxpdEFycmF5WzBdKSAtIDEpO1xuICAgICAgdGhpcy5taW5EYXRlLnNldEZ1bGxZZWFyKE51bWJlcihzcGxpdEFycmF5WzJdKSk7XG4gICAgICB0aGlzLm1pbkRhdGUuc2V0RGF0ZShOdW1iZXIoc3BsaXRBcnJheVsxXSkpO1xuICAgICAgcmV0dXJuIHRoaXMubWluRGF0ZTtcbiAgICB9XG4gIH1cblxuXG4gIHNldFN0eWxlKGluZGVudDogbnVtYmVyKTogb2JqZWN0IHtcbiAgICBsZXQgcGFkZGluZyA9IGluZGVudCA8PSAxID8gJzAgcHgnIDogaW5kZW50ICogMTAgKyAncHgnO1xuXG4gICAgbGV0IHN0eWxlT2JqID0ge1xuICAgICAgJ3BhZGRpbmctbGVmdCc6IHBhZGRpbmdcbiAgICB9O1xuXG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oc3R5bGVPYmopO1xuICB9XG5cbiAgc2V0TWFyZ2luKG1hcmdpbjogbnVtYmVyKTogb2JqZWN0IHtcbiAgICBsZXQgbWFyID0gbWFyZ2luICsgJ3B4JztcbiAgICBsZXQgc3R5bGVPYmogPSB7XG4gICAgICAnbWFyZ2luLXJpZ2h0JzogbWFyXG4gICAgfTtcblxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHN0eWxlT2JqKTtcbiAgfVxuXG4gIGdldCBpc1ZhbGlkKCkge1xuICAgIGxldCBtZXNzYWdlOiBzdHJpbmcgPSBcIlwiO1xuICAgIGxldCBxdWVzdGlvblR5cGU6IHN0cmluZyA9IHRoaXMucXVlc3Rpb24udHlwZTtcbiAgICBpZiAoJ2h0bWwnID09PSBxdWVzdGlvblR5cGUgfHwgJ2xhYmVsJyA9PT0gcXVlc3Rpb25UeXBlIHx8ICdzaW1wbGVMYWJlbCcgPT09IHF1ZXN0aW9uVHlwZSB8fCAnZGlzcGxheXRleHRhc2xhYmVsJyA9PT0gcXVlc3Rpb25UeXBlIHx8ICgnYnV0dG9uJyA9PT0gcXVlc3Rpb25UeXBlICYmICF0aGlzLnF1ZXN0aW9uLnZhbGlkYXRvcnMpIHx8ICdsYWJlbC13aXRoLW92ZXJsYXknID09PSBxdWVzdGlvblR5cGUpIHtcbiAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cbiAgICBpZiAodGhpcy5xdWVzdGlvbiAmJiB0aGlzLnF1ZXN0aW9uLm5hbWUgJiYgdGhpcy5mb3JtICYmIHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLmVycm9ycz8ucmVxdWlyZWRcbiAgICAgICYmICh0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5kaXJ0eSB8fCB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS50b3VjaGVkKSkge1xuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0ubWFya0FzRGlydHkoKTtcbiAgICAgIHJldHVybiB0aGlzLnF1ZXN0aW9uLnJlcXVpcmVkRXJyb3JUZXh0O1xuICAgIH1cbiAgICBpZiAodGhpcy5xdWVzdGlvbiAmJiB0aGlzLnF1ZXN0aW9uLm5hbWUgJiYgdGhpcy5mb3JtICYmIHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLmVycm9ycz8ubWF4bGVuZ3RoICYmICh0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5kaXJ0eSB8fCB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS50b3VjaGVkKSkge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2Vycm9ycz8ubWF4TGVuZ3RoJywgdGhpcy5xdWVzdGlvbilcbiAgICAgIHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLm1hcmtBc0RpcnR5KCk7XG4gICAgICBpZiAodGhpcy5xdWVzdGlvbi5kZXNjcmlwdGlvbikge1xuICAgICAgICByZXR1cm4gdGhpcy5xdWVzdGlvbi5kZXNjcmlwdGlvbjtcbiAgICAgIH1cbiAgICAgIGxldCB2YWxpZGF0b3JMaXN0ID0gdGhpcy5xdWVzdGlvbi52YWxpZGF0b3JzO1xuICAgICAgdmFyIGtlZXBHb2luZyA9IHRydWU7XG4gICAgICB2YWxpZGF0b3JMaXN0LmZvckVhY2godmFsaWRhdG9yID0+IHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3ZhbGlkYXRvci50eXBlICcsIHZhbGlkYXRvci50eXBlKVxuICAgICAgICBpZiAoa2VlcEdvaW5nKSB7XG4gICAgICAgICAgaWYgKHZhbGlkYXRvci50eXBlID09PSAndGV4dCcgJiYgdmFsaWRhdG9yLm1heExlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3ZhbGlkYXRvci50ZXh0ICcsIHZhbGlkYXRvci50ZXh0KVxuICAgICAgICAgICAgbWVzc2FnZSA9IHZhbGlkYXRvci50ZXh0O1xuICAgICAgICAgICAga2VlcEdvaW5nID0gZmFsc2U7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBcIlwiO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIHJldHVybiBtZXNzYWdlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnF1ZXN0aW9uICYmIHRoaXMucXVlc3Rpb24ubmFtZSAmJiB0aGlzLmZvcm0gJiYgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0uZXJyb3JzPy5wYXR0ZXJuXG4gICAgICAmJiAodGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0uZGlydHkgfHwgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0udG91Y2hlZCkpIHtcbiAgICAgIC8vIHRoaXMubG9nZ2VyLmRlYnVnKCdlcnJvcnM/LnBhdHRlcm4nLHRoaXMucXVlc3Rpb24pXG4gICAgICBsZXQgdmFsaWRhdG9yTGlzdCA9IHRoaXMucXVlc3Rpb24udmFsaWRhdG9ycztcbiAgICAgIHZhciBrZWVwR29pbmcgPSB0cnVlO1xuXG4gICAgICB2YWxpZGF0b3JMaXN0LmZvckVhY2godmFsaWRhdG9yID0+IHtcbiAgICAgICAgLy8gdGhpcy5sb2dnZXIuZGVidWcoJ3ZhbGlkYXRvci50eXBlICcsIHZhbGlkYXRvci50eXBlKVxuICAgICAgICBpZiAoa2VlcEdvaW5nKSB7XG4gICAgICAgICAgaWYgKHZhbGlkYXRvci50eXBlID09PSAncmVnZXgnKSB7XG4gICAgICAgICAgICAvLyB0aGlzLmxvZ2dlci5kZWJ1ZygndmFsaWRhdG9yLnRleHQgJywgdmFsaWRhdG9yLnRleHQpXG4gICAgICAgICAgICBtZXNzYWdlID0gdmFsaWRhdG9yLnRleHQ7XG4gICAgICAgICAgICB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICAgICAga2VlcEdvaW5nID0gZmFsc2U7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBcIlwiO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIHJldHVybiBtZXNzYWdlO1xuXG4gICAgfVxuICAgIGlmICh0aGlzLnF1ZXN0aW9uICYmIHRoaXMucXVlc3Rpb24ubmFtZSAmJiB0aGlzLmZvcm0gJiYgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0uZXJyb3JzPy5kYXRlQ29tcGFyaXNpb25cbiAgICAgICYmICh0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5kaXJ0eSB8fCB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS50b3VjaGVkKSkge1xuICAgICAgbGV0IHZhbGlkYXRvckxpc3QgPSB0aGlzLnF1ZXN0aW9uLnZhbGlkYXRvcnM7XG4gICAgICB2YXIga2VlcEdvaW5nID0gdHJ1ZTtcbiAgICAgIGxldCBtZXNzYWdlOiBzdHJpbmcgPSBcIlwiO1xuICAgICAgdmFsaWRhdG9yTGlzdC5mb3JFYWNoKHZhbGlkYXRvciA9PiB7XG4gICAgICAgIGlmIChrZWVwR29pbmcpIHtcbiAgICAgICAgICAvLyAgIHRoaXMubG9nZ2VyLmRlYnVnKCd2YWxpZGF0b3IudHlwZS5taW5sZW5ndGggJywgdmFsaWRhdG9yLnR5cGUpXG4gICAgICAgICAgaWYgKHZhbGlkYXRvci50eXBlID09PSAnZXhwcmVzc2lvbicpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCd2YWxpZGF0b3IudGV4dCAnLCB2YWxpZGF0b3IpXG4gICAgICAgICAgICBtZXNzYWdlID0gdmFsaWRhdG9yLnRleHQ7XG4gICAgICAgICAgICBrZWVwR29pbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLm1hcmtBc0RpcnR5KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgbWVzc2FnZSA9IFwiXCI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgcmV0dXJuIG1lc3NhZ2U7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucXVlc3Rpb24gJiYgdGhpcy5xdWVzdGlvbi5uYW1lICYmIHRoaXMuZm9ybSAmJiB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5lcnJvcnM/Lm1pbmxlbmd0aFxuICAgICAgJiYgKHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLmRpcnR5IHx8IHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLnRvdWNoZWQpKSB7XG4gICAgICBsZXQgdmFsaWRhdG9yTGlzdCA9IHRoaXMucXVlc3Rpb24udmFsaWRhdG9ycztcbiAgICAgIHZhciBrZWVwR29pbmcgPSB0cnVlO1xuICAgICAgbGV0IG1lc3NhZ2U6IHN0cmluZyA9IFwiXCI7XG4gICAgICB2YWxpZGF0b3JMaXN0LmZvckVhY2godmFsaWRhdG9yID0+IHtcbiAgICAgICAgaWYgKGtlZXBHb2luZykge1xuICAgICAgICAgIC8vY29uc29sZS5sb2coJ3ZhbGlkYXRvci50eXBlLm1pbmxlbmd0aCAnLCB2YWxpZGF0b3IudHlwZSlcbiAgICAgICAgICBpZiAodmFsaWRhdG9yLnR5cGUgPT09ICd0ZXh0Jykge1xuICAgICAgICAgICAgLy9jb25zb2xlLmxvZygndmFsaWRhdG9yLnRleHQgJywgdmFsaWRhdG9yLnRleHQpXG4gICAgICAgICAgICBtZXNzYWdlID0gdmFsaWRhdG9yLnRleHQ7XG4gICAgICAgICAgICB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICAgICAga2VlcEdvaW5nID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgbWVzc2FnZSA9IFwiXCI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgcmV0dXJuIG1lc3NhZ2U7XG5cbiAgICB9XG5cbiAgICBpZiAodGhpcy5xdWVzdGlvbiAmJiB0aGlzLnF1ZXN0aW9uLm5hbWUgJiYgdGhpcy5mb3JtICYmIHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLmVycm9ycz8ucGFzc3dvcmRDb21wYXJpc2lvblxuICAgICAgJiYgKHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLmRpcnR5IHx8IHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLnRvdWNoZWQpKSB7XG4gICAgICBsZXQgdmFsaWRhdG9yTGlzdCA9IHRoaXMucXVlc3Rpb24udmFsaWRhdG9ycztcbiAgICAgIHZhciBrZWVwR29pbmcgPSB0cnVlO1xuICAgICAgbGV0IG1lc3NhZ2U6IHN0cmluZyA9IFwiXCI7XG4gICAgICB2YWxpZGF0b3JMaXN0LmZvckVhY2godmFsaWRhdG9yID0+IHtcbiAgICAgICAgaWYgKGtlZXBHb2luZykge1xuICAgICAgICAgIC8vICAgY29uc29sZS5sb2coJ3ZhbGlkYXRvci50eXBlLm1pbmxlbmd0aCAnLCB2YWxpZGF0b3IudHlwZSlcbiAgICAgICAgICBpZiAodmFsaWRhdG9yLnR5cGUgPT09ICdleHByZXNzaW9uJykge1xuICAgICAgICAgICAgLy8gIGNvbnNvbGUubG9nKCd2YWxpZGF0b3IudGV4dCAnLCB2YWxpZGF0b3IudGV4dClcbiAgICAgICAgICAgIG1lc3NhZ2UgPSB2YWxpZGF0b3IudGV4dDtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLm1hcmtBc0RpcnR5KCk7XG4gICAgICAgICAgICBrZWVwR29pbmcgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBtZXNzYWdlID0gXCJcIjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICByZXR1cm4gbWVzc2FnZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5xdWVzdGlvbiAmJiB0aGlzLnF1ZXN0aW9uLm5hbWUgJiYgdGhpcy5mb3JtICYmIHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLmVycm9ycz8ucmVxdWlyZWRJZlxuICAgICAgJiYgKHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLmRpcnR5IHx8IHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLnRvdWNoZWQpKSB7XG4gICAgICB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5tYXJrQXNEaXJ0eSgpO1xuICAgICAgcmV0dXJuIFwicmVxdWlyZWRcIjtcblxuICAgIH1cblxuXG5cbiAgICBpZiAodGhpcy5xdWVzdGlvbiAmJiB0aGlzLnF1ZXN0aW9uLm5hbWUgJiYgdGhpcy5mb3JtICYmIHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLmVycm9ycz8uYnBFbXBsckZsYWdcbiAgICAgICYmICh0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5kaXJ0eSB8fCB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS50b3VjaGVkKSkge1xuICAgICAgdmFyIGtlZXBHb2luZyA9IHRydWU7XG4gICAgICBsZXQgbWVzc2FnZTogc3RyaW5nID0gXCJDb25maXJtIG9yIERlbGV0ZSBlYWNoIGVtcGxveWVyKHMpIHRvIGNvbnRpbnVlXCI7XG4gICAgICB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5tYXJrQXNEaXJ0eSgpO1xuICAgICAgcmV0dXJuIG1lc3NhZ2U7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucXVlc3Rpb24gJiYgdGhpcy5xdWVzdGlvbi5uYW1lICYmIHRoaXMuZm9ybSAmJiB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5lcnJvcnM/LnNpbXBsZUNoZWNrQm94VmFsaWRhdGlvbkZsYWdcbiAgICAgICYmICh0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5kaXJ0eSB8fCB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS50b3VjaGVkKSkge1xuICAgICAgdmFyIGtlZXBHb2luZyA9IHRydWU7XG4gICAgICBsZXQgbWVzc2FnZTogc3RyaW5nID0gXCJyZXF1aXJlZFwiO1xuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0ubWFya0FzRGlydHkoKTtcbiAgICAgIHJldHVybiBtZXNzYWdlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnF1ZXN0aW9uICYmIHRoaXMucXVlc3Rpb24ubmFtZSAmJiB0aGlzLmZvcm0gJiYgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0uZXJyb3JzPy5jcGF0Y2h2YWxpZGF0aW9uRmxhZ1xuICAgICAgJiYgKHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLmRpcnR5IHx8IHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLnRvdWNoZWQpKSB7XG4gICAgICB2YXIga2VlcEdvaW5nID0gdHJ1ZTtcbiAgICAgIGxldCBtZXNzYWdlOiBzdHJpbmcgPSBcInJlcXVpcmVkXCI7XG4gICAgICB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5tYXJrQXNEaXJ0eSgpO1xuICAgICAgcmV0dXJuIG1lc3NhZ2U7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucXVlc3Rpb24gJiYgdGhpcy5xdWVzdGlvbi5uYW1lICYmIHRoaXMuZm9ybSAmJiB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5lcnJvcnM/LnVwbG9hZHZhbGlkYXRpb25GbGFnXG4gICAgICAmJiAodGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0uZGlydHkgfHwgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0udG91Y2hlZCkpIHtcbiAgICAgIHZhciBrZWVwR29pbmcgPSB0cnVlO1xuICAgICAgbGV0IG1lc3NhZ2U6IHN0cmluZyA9IFwicmVxdWlyZWRcIjtcbiAgICAgIHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLm1hcmtBc0RpcnR5KCk7XG4gICAgICByZXR1cm4gbWVzc2FnZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5xdWVzdGlvbiAmJiB0aGlzLnF1ZXN0aW9uLm5hbWUgJiYgdGhpcy5mb3JtICYmIHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLmVycm9ycz8uYnBFbXBsckxlbmd0aEZsYWdcbiAgICAgICYmICh0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5kaXJ0eSB8fCB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS50b3VjaGVkKSkge1xuICAgICAgdmFyIGtlZXBHb2luZyA9IHRydWU7XG4gICAgICBsZXQgbWVzc2FnZTogc3RyaW5nID0gXCJBZGQgcHJldmlvdXMgZW1wbG95bWVudCBkZXRhaWxzXCI7XG4gICAgICB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5tYXJrQXNEaXJ0eSgpO1xuICAgICAgcmV0dXJuIG1lc3NhZ2U7XG4gICAgfVxuICAgIGlmICh0aGlzLnF1ZXN0aW9uICYmIHRoaXMucXVlc3Rpb24ubmFtZSAmJiB0aGlzLmZvcm0gJiYgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0uZXJyb3JzPy5hZGRyZXNzVmFsaWRhdGlvbkZsYWdcbiAgICAgICYmICh0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5kaXJ0eSB8fCB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS50b3VjaGVkKSkge1xuICAgICAgdmFyIGtlZXBHb2luZyA9IHRydWU7XG4gICAgICAvL2xldCBtZXNzYWdlOiBzdHJpbmcgPSBcIlBsZWFzZSBwcm92aWRlIHZhbGlkIGFkZHJlc3MuXCI7XG4gICAgICB0aGlzLmFkZHJlc3Nlcy5mb3JFYWNoKGFkZHJlc3MgPT4gYWRkcmVzcy5zdWJtaXQoKSk7XG4gICAgICB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5tYXJrQXNEaXJ0eSgpO1xuICAgICAgcmV0dXJuIG1lc3NhZ2U7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucXVlc3Rpb24gJiYgdGhpcy5xdWVzdGlvbi5uYW1lICYmIHRoaXMuZm9ybSAmJiB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5lcnJvcnM/LmJhbmtEZXRhaWxzVmFsaWRhdGlvbkZsYWdcbiAgICAgICYmICh0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5kaXJ0eSB8fCB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS50b3VjaGVkKSkge1xuICAgICAgdmFyIGtlZXBHb2luZyA9IHRydWU7XG4gICAgICAvL2xldCBtZXNzYWdlOiBzdHJpbmcgPSBcIlBsZWFzZSBwcm92aWRlIHZhbGlkIGJhbmsgZGV0YWlscy5cIjtcbiAgICAgIHRoaXMuYmFua2R0bHM/LnN1Ym1pdCgpO1xuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0ubWFya0FzRGlydHkoKTtcbiAgICAgIHJldHVybiBtZXNzYWdlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnF1ZXN0aW9uICYmIHRoaXMucXVlc3Rpb24ubmFtZSAmJiB0aGlzLmZvcm0gJiYgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0uZXJyb3JzPy5ub3RFcXVhbHNcbiAgICAgICYmICh0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5kaXJ0eSB8fCB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS50b3VjaGVkKSkge1xuICAgICAgbGV0IHZhbGlkYXRvckxpc3QgPSB0aGlzLnF1ZXN0aW9uLnZhbGlkYXRvcnM7XG4gICAgICB2YXIga2VlcEdvaW5nID0gdHJ1ZTtcbiAgICAgIGxldCBtZXNzYWdlOiBzdHJpbmcgPSBcIlwiO1xuICAgICAgdmFsaWRhdG9yTGlzdC5mb3JFYWNoKHZhbGlkYXRvciA9PiB7XG4gICAgICAgIGlmIChrZWVwR29pbmcpIHtcbiAgICAgICAgICBpZiAodmFsaWRhdG9yLnR5cGUgPT09ICdjdXN0b212YWxpZGF0aW9uJykge1xuICAgICAgICAgICAgbWVzc2FnZSA9IHZhbGlkYXRvci50ZXh0O1xuICAgICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0ubWFya0FzRGlydHkoKTtcbiAgICAgICAgICAgIGtlZXBHb2luZyA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBcIlwiO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcblxuICAgICAgdmFyIGtlZXBHb2luZyA9IHRydWU7XG4gICAgICB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5tYXJrQXNEaXJ0eSgpO1xuICAgICAgcmV0dXJuIG1lc3NhZ2U7XG4gICAgfVxuXG4gICAgLy8gdGhpcy5sb2dnZXIuZGVidWcoJ21lc3NhZ2UgZnJvbSBwYW5lbCBvdXRlci0tICcsbWVzc2FnZSk7XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH1cblxuICBvbkFjY2VwdGVkKGFncmVlZDogYm9vbGVhbikge1xuICAgIC8vY29uc29sZS5sb2coJ29uQWNjZXB0ZWQgY2FsbGVkJyxhZ3JlZWQpO1xuICAgIHRoaXMubGVnYWxBY2NlcHRlZCA9IGFncmVlZDtcbiAgfVxuXG4gIG9uQ29tcGxldGVSZXF1YWxpZnkocmVxdWFsaWZ5RGF0YTogVW50eXBlZEZvcm1Hcm91cCl7XG5cbiAgICAvL2NvbnNvbGUubG9nKFwib25Db21wbGV0ZVJlcXVhbGlmeVwiLCByZXF1YWxpZnlEYXRhKTtcbiAgfVxuXG4gIG9uTW9kZWxEaXNwbGF5KG1vZGVsRGlzcGxheTogYm9vbGVhbikge1xuICAgIC8vY29uc29sZS5sb2coJ21vZGVsRGlzcGxheSBjYWxsZWQnLG1vZGVsRGlzcGxheSk7XG4gIH1cblxuICBvblJhZGlvT3B0aW9uQ2xpY2soZXZlbnQsIGVsZW1lbnQ6IEVsZW1lbnRzTW9kZWwpIHtcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcbiAgICBpZiAoZWxlbWVudC5zZXJ2aWNlVHlwZSAmJiBlbGVtZW50LnNlcnZpY2VUeXBlID09PSAnRkVUQ0gnKSB7XG4gICAgICBsZXQgc2VydmljZUNhbGxUeXBlID0gZWxlbWVudC5zZXJ2aWNlQ2FsbFR5cGU7XG4gICAgICBsZXQgc2VydmljZU5hbWU6IHN0cmluZyA9IGVsZW1lbnQuc2VydmljZU5hbWU7XG4gICAgICBjb25zdCBvcHRpb25zID0gZXZlbnQub3B0aW9uLnZhbHVlID8geyBwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdzZWxlY3Rpb24nLCBldmVudC5vcHRpb24udmFsdWUpIH0gOiB7fTtcbiAgICAgIGlmIChzZXJ2aWNlQ2FsbFR5cGUgPT09ICdHRVQnKSB7XG4gICAgICAgIHRoaXMudXRpbC5zaG93TG9hZGVyKCk7XG4gICAgICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2VcbiAgICAgICAgICAuZ2V0KGAke3NlcnZpY2VOYW1lfWAsIG9wdGlvbnMpXG4gICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgICAgIGxldCB2YWx1ZXM6IFNlcnZpY2VBY3Rpb25SZXNwb25zZU1vZGVsID0gcmVzO1xuICAgICAgICAgICAgICBpZiAodmFsdWVzLnN1Y2Nlc3MgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIC8vY29uc29sZS5sb2codmFsdWVzLnNlcnZpY2VDYWxsVmFsdWVzLnNlcnZpY2VUeXBlKTtcbiAgICAgICAgICAgICAgICAvL2NvbnNvbGUubG9nKHZhbHVlcy5zZXJ2aWNlQ2FsbFZhbHVlcyk7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlcy5zZXJ2aWNlQ2FsbFZhbHVlcyAmJiB2YWx1ZXMuc2VydmljZUNhbGxWYWx1ZXMuc2VydmljZVR5cGVcbiAgICAgICAgICAgICAgICAgICYmIHZhbHVlcy5zZXJ2aWNlQ2FsbFZhbHVlcy5zZXJ2aWNlVHlwZSA9PT0gJ0ZFVENIJykge1xuICAgICAgICAgICAgICAgICAgbGV0IHNlcnZpY2VDYWxsVHlwZUluVHJ1ZSA9IHZhbHVlcy5zZXJ2aWNlQ2FsbFZhbHVlcy5zZXJ2aWNlQ2FsbFR5cGU7XG4gICAgICAgICAgICAgICAgICBsZXQgc2VydmljZU5hbWVJblRydWU6IHN0cmluZyA9IHZhbHVlcy5zZXJ2aWNlQ2FsbFZhbHVlcy5zZXJ2aWNlTmFtZTtcbiAgICAgICAgICAgICAgICAgIGlmIChzZXJ2aWNlQ2FsbFR5cGVJblRydWUgPT09ICdHRVQnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXRpbC5zaG93TG9hZGVyKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgICAuZ2V0KGAke3NlcnZpY2VOYW1lSW5UcnVlfWApXG4gICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3AgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbG9hZGVyTW9kZWw6IExvYWRlck1vZGVsID0gcmVzcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCIgdmFsdWUgZnJvbSBsb2FkZXIgPSBcIiwgbG9hZGVyTW9kZWwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEZvcm1WYWx1ZXMobG9hZGVyTW9kZWwuZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJycCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5jb250cm9sc1tlbGVtZW50Lm5hbWVdPy5yZXNldCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0uY29udHJvbHNbZWxlbWVudC5uYW1lXT8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycnApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xuICAgICAgICAgICAgICB0aGlzLmZvcm0uY29udHJvbHNbZWxlbWVudC5uYW1lXT8ucmVzZXQoKTtcbiAgICAgICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzW2VsZW1lbnQubmFtZV0/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgICAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0Rm9ybVZhbHVlcyhkYXRhKSB7XG4gICAgT2JqZWN0LmtleXMoZGF0YSlcbiAgICAgIC5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGxldCB2YWx1ZVRvU2V0ID0gZGF0YVtrZXldO1xuICAgICAgICB0aGlzLnNldFZhbHVlSW5Gb3JtQ29udHJvbChrZXksIHZhbHVlVG9TZXQpO1xuICAgICAgfSk7XG4gIH1cblxuICBzZXRWYWx1ZUluRm9ybUNvbnRyb2wobmFtZSwgdmFsdWUpIHtcbiAgICBsZXQgY29udHJvbCA9IHRoaXMuZm9ybS5jb250cm9sc1tuYW1lXTtcbiAgICBpZiAoY29udHJvbCkge1xuICAgICAgY29udHJvbC5wYXRjaFZhbHVlKHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcignTm8gZm9ybSBjb250cm9sIHByZXNlbnQgd2l0aCBuYW1lICcsIG5hbWUpO1xuICAgIH1cbiAgfVxuXG4gIGZpbHRlclZhbHVlKGV2ZW50LCBlbGVtZW50OiBFbGVtZW50c01vZGVsKSB7XG4gICAgLy8gdGhpcy5sb2dnZXIuZGVidWcoJ2Nob2ljZXMtLScsY2hvaWNlcyk7XG5cbiAgICBsZXQgY2hvaWNlczogYW55W10gPSBbXTtcblxuICAgIGxldCBmaWx0ZXJlZDogYW55W10gPSBbXTtcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcblxuXG4gICAgaWYgKGVsZW1lbnQuc2VydmljZVR5cGUgJiYgZWxlbWVudC5zZXJ2aWNlVHlwZSA9PT0gJ0ZFVENIJykge1xuXG4gICAgICBsZXQgc2VydmljZUNhbGxQYXJhbSA9IGVsZW1lbnQuc2VydmljZUNhbGxQYXJhbTsgLy9zc24zMjAsbHN0bmFtZTMyMFxuICAgICAgbGV0IHNlcnZpY2VDYWxsVHlwZSA9IGVsZW1lbnQuc2VydmljZUNhbGxUeXBlOyAgLy9cIkdFVFwiXG4gICAgICBsZXQgc2VydmljZU5hbWU6IHN0cmluZyA9IGVsZW1lbnQuc2VydmljZU5hbWU7IC8vL3NlY3VyaXR5LXNlcnZpY2UvdmFsaWRhdGVTU04vXG4gICAgICBsZXQgc2VydmljZVVwZGF0ZVBhcmFtID0gZWxlbWVudC5zZXJ2aWNlVXBkYXRlUGFyYW07XG5cbiAgICAgIGlmIChzZXJ2aWNlQ2FsbFR5cGUgPT09ICdHRVQnKSB7XG4gICAgICAgIC8vIHRoaXMubG9nZ2VyLmRlYnVnKCdJbnNpZGUgR0VUJyk7XG4gICAgICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2VcbiAgICAgICAgICAuZ2V0KGAke3NlcnZpY2VOYW1lfWApXG4gICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdyZXMtLScsIHJlcywgJyAtIHJlc1swXS5sZW5ndGggLScsIHJlcyk7XG4gICAgICAgICAgICAgIGNob2ljZXMucHVzaChyZXMpO1xuICAgICAgICAgICAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcbiAgICAgICAgICAgICAgLy9sZXQgZmlsdGVyZWQ6IGFueVtdID0gW107XG4gICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2hvaWNlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGxldCBjaG9pY2UgPSBjaG9pY2VzW2ldO1xuICAgICAgICAgICAgICAgIC8vdGhpcy5sb2dnZXIuZGVidWcoJ2Nob2ljZSAtICcsIGNob2ljZSwgJ2Nob2ljZS50ZXh0LS0nLCBjaG9pY2UudGV4dCwgJ3F1ZXJ5LnRvTG93ZXJDYXNlKCknLCBxdWVyeT8udG9Mb3dlckNhc2UoKSk7XG4gICAgICAgICAgICAgICAgLy9pZiAoY2hvaWNlLnRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHF1ZXJ5LnRvTG93ZXJDYXNlKCkpID09IDApIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJlZC5wdXNoKGNob2ljZVswXSk7XG4gICAgICAgICAgICAgICAgLy99XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdGhpcy5maWx0ZXJSZXN1bHQgPSBmaWx0ZXJlZDtcbiAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3RoaXMuZmlsdGVyUmVzdWx0MTIzLS0nLCB0aGlzLmZpbHRlclJlc3VsdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAsXG4gICAgICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xuICAgICAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgZWxzZSB7XG4gICAgICBjaG9pY2VzID0gZWxlbWVudC5jaG9pY2VzO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaG9pY2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGxldCBjb3VudHJ5ID0gY2hvaWNlc1tpXTtcbiAgICAgICAgLy9pZiAoY291bnRyeS50ZXh0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeS50b0xvd2VyQ2FzZSgpKSA9PSAwKSB7XG4gICAgICAgIGZpbHRlcmVkLnB1c2goY291bnRyeSk7XG4gICAgICAgIC8vfVxuICAgICAgfVxuICAgICAgdGhpcy5maWx0ZXJSZXN1bHQgPSBmaWx0ZXJlZDtcbiAgICB9XG5cbiAgfVxuXG4gIG9uU2VsZWN0KGV2ZW50LCBjbnRybE5hbWU6IHN0cmluZykge1xuICB9XG5cblxuICAvL1RoaXMgc2hvdWQgYmUgc2ltaWxpcmEgdG8gbWV0aG9kIHByZXNlbnQgaW4gcGFuZWxcbiAgdmFsaWRhdGUoZWxlbWVudDogRWxlbWVudHNNb2RlbCkge1xuXG5cbiAgICBpZiAoIWVsZW1lbnQuc2VydmljZU5hbWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgc2VydmljZVR5cGUgPSBlbGVtZW50LnNlcnZpY2VUeXBlO1xuICAgIGlmIChlbGVtZW50LnNlcnZpY2VUeXBlID09PSAnRkVUQ0gnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG5cbiAgICBsZXQgc2VydmljZUNhbGxQYXJhbSA9IGVsZW1lbnQuc2VydmljZUNhbGxQYXJhbTsgLy9zc24zMjAsbHN0bmFtZTMyMFxuICAgIGxldCBzZXJ2aWNlQ2FsbFR5cGUgPSBlbGVtZW50LnNlcnZpY2VDYWxsVHlwZTsgIC8vXCJHRVRcIlxuICAgIGxldCBzZXJ2aWNlTmFtZTogc3RyaW5nID0gZWxlbWVudC5zZXJ2aWNlTmFtZTsgLy8vc2VjdXJpdHktc2VydmljZS92YWxpZGF0ZVNTTi9cbiAgICBsZXQgc2VydmljZVVwZGF0ZVBhcmFtID0gZWxlbWVudC5zZXJ2aWNlVXBkYXRlUGFyYW07XG4gICAgbGV0IGFsbFZhbHVlUHJlc2VudDogQm9vbGVhbiA9IHRydWU7XG4gICAgLy8gIHRoaXMubG9nZ2VyLmRlYnVnKCdzZXJ2aWNlQ2FsbFBhcmFtJyxzZXJ2aWNlQ2FsbFBhcmFtKTtcbiAgICBpZiAoc2VydmljZUNhbGxQYXJhbSkge1xuICAgICAgdmFyIHNwbGl0dGVkID0gc2VydmljZUNhbGxQYXJhbS5zcGxpdChcIixcIik7XG4gICAgICBsZXQgdmFsdWVBcnI6IHN0cmluZ1tdID0gW107XG4gICAgICBsZXQgcGFyYW1BcnI6IHN0cmluZ1tdID0gW107XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNwbGl0dGVkLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIC8vdXNlIGkgaW5zdGVhZCBvZiAwIGRvYjMyMFxuICAgICAgICAvLyB0aGlzLmxvZ2dlci5kZWJ1ZygnZG9iMzIwJyx0aGlzLmZvcm0uY29udHJvbHNbJ2RvYjMyMCddLnZhbHVlKTtcbiAgICAgICAgaWYgKHRoaXMuZm9ybS5jb250cm9sc1tzcGxpdHRlZFtpXV0udmFsdWUpIHtcbiAgICAgICAgICBwYXJhbUFyci5wdXNoKHNwbGl0dGVkW2ldKTtcbiAgICAgICAgICB2YWx1ZUFyci5wdXNoKHRoaXMuZm9ybS5jb250cm9sc1tzcGxpdHRlZFtpXV0udmFsdWUpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWxsVmFsdWVQcmVzZW50ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIHRoaXMubG9nZ2VyLmRlYnVnKCd2YWx1ZUFycjEyJywgdmFsdWVBcnIsICdwYXJhbUFycjExICcsIHBhcmFtQXJyLCAnIGVsZW1lbnQnLCBlbGVtZW50KTtcblxuICAgICAgdmFyIG1vZGVsOiBWYWxpZGF0aW9uTW9kZWwgPSB7fTtcbiAgICAgIG1vZGVsLnBhcmFtTmFtZSA9IHBhcmFtQXJyO1xuICAgICAgbW9kZWwucGFyYW1WYWx1ZSA9IHZhbHVlQXJyO1xuICAgICAgLy8gcmV0dXJuIHRoaXMucG9zdChgcXVlc3Rpb25uYWlyZS9zY3JlZW4tcXVlc3Rpb25uYWlyZWAsIHF1ZXN0aW9ubmFpcmVEYXRhKTtcbiAgICAgIGlmIChhbGxWYWx1ZVByZXNlbnQpIHtcbiAgICAgICAgaWYgKHNlcnZpY2VDYWxsVHlwZSA9PT0gJ1BPU1QnKSB7XG4gICAgICAgICAgLy8gdGhpcy5sb2dnZXIuZGVidWcoJ0luc2lkZSBHRVQnKTtcbiAgICAgICAgICB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlXG4gICAgICAgICAgICAucG9zdChgJHtzZXJ2aWNlTmFtZX1gLCBtb2RlbClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXR1cm5Nb2RlbCA9IHJlcztcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5yZXR1cm5Nb2RlbC5yZXR1cm5UeXBlICYmIHRoaXMucmV0dXJuTW9kZWwucmV0dXJuVHlwZSA9PT0gJ1BPUFVQJykge1xuXG4gICAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlQb3NpdGlvbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0gJ3RvcCc7XG4gICAgICAgICAgICAgICAgICB0aGlzLnBvcFVwSGVhZGVyID0gdGhpcy5yZXR1cm5Nb2RlbC5wb3BVcEhlYWRlcjtcbiAgICAgICAgICAgICAgICAgIHRoaXMucG9wVXBUZXh0ID0gdGhpcy5yZXR1cm5Nb2RlbC5wb3BVcFRleHQ7XG4gICAgICAgICAgICAgICAgICB0aGlzLnBvcFVwWWVzQWN0aW9uTGFiZWwgPSB0aGlzLnJldHVybk1vZGVsLnBvcFVwWWVzQnV0dG9uTGFiZWw7XG4gICAgICAgICAgICAgICAgICB0aGlzLnBvcFVwTm9BY3Rpb25MYWJlbCA9IHRoaXMucmV0dXJuTW9kZWwucG9wVXBOb0J1dHRvbkxhYmVsO1xuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd0aGlzLnJldHVybk1vZGVsICcsIHRoaXMucmV0dXJuTW9kZWwpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLFxuICAgICAgICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xuXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhY2NlcHQoKSB7XG4gICAgLy9jb25zb2xlLmxvZygnYWNjZXB0IGNhbGxlZDEyMycsIHRoaXMucmV0dXJuTW9kZWwuaWRlbnRpZmllcilcbiAgICBsZXQgcGFyYW1BcnJheTogUGFyYW1zW10gPSBbXTtcblxuICAgIGlmICh0aGlzLnJldHVybk1vZGVsLmlkZW50aWZpZXIpIHtcbiAgICAgIGxldCBtb2RlbEFycjogS2V5VmFsdWVNb2RlbFtdID0gdGhpcy5yZXR1cm5Nb2RlbC5pZGVudGlmaWVyO1xuICAgICAgZm9yICh2YXIgdmFsIG9mIG1vZGVsQXJyKSB7XG4gICAgICAgIHBhcmFtQXJyYXkucHVzaCh7IFt2YWwua2V5XTogdmFsLnZhbHVlIH0pO1xuICAgICAgfVxuICAgICAgY29uc3QgcGFyYW1zID0gcGFyYW1BcnJheS5yZWR1Y2UoKGFyck9iaiwgaXRlbSkgPT4gT2JqZWN0LmFzc2lnbihhcnJPYmosIGl0ZW0sIHt9KSk7XG4gICAgICB0aGlzLm5hdkNvbnRyb2xsZXIubmF2aWdhdGVSb290KFt0aGlzLnJldHVybk1vZGVsLnllc0FjdGlvbl0sIHsgcXVlcnlQYXJhbXM6IHBhcmFtcyB9KVxuXG4gICAgfVxuXG5cblxuICAgIGlmICh0aGlzLnJldHVybk1vZGVsLnllc0FjdGlvbiAmJiB0aGlzLnJldHVybk1vZGVsLnllc0FjdGlvbi5zdWJzdHJpbmcoMCwgNCkgIT0gJy9jcC8nKSB7XG4gICAgICB0aGlzLm5hdkNvbnRyb2xsZXIubmF2aWdhdGVGb3J3YXJkKFt0aGlzLnJldHVybk1vZGVsLnllc0FjdGlvbl0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB3aW5kb3cub3Blbihsb2NhdGlvbi5vcmlnaW4gKyB0aGlzLnJldHVybk1vZGVsLnllc0FjdGlvbiwgJ19zZWxmJyk7XG4gICAgfVxuXG4gICAgdGhpcy5uYXZDb250cm9sbGVyLm5hdmlnYXRlUm9vdChbdGhpcy5yZXR1cm5Nb2RlbC55ZXNBY3Rpb25dKVxuXG4gIH1cblxuICByZWplY3QoKSB7XG4gICAgaWYgKHRoaXMucmV0dXJuTW9kZWwubm9BY3Rpb24gJiYgdGhpcy5yZXR1cm5Nb2RlbC5ub0FjdGlvbi5zdWJzdHJpbmcoMCwgNCkgIT0gJy9jcC8nKSB7XG4gICAgICB0aGlzLm5hdkNvbnRyb2xsZXIubmF2aWdhdGVGb3J3YXJkKFt0aGlzLnJldHVybk1vZGVsLm5vQWN0aW9uXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHdpbmRvdy5vcGVuKGxvY2F0aW9uLm9yaWdpbiArIHRoaXMucmV0dXJuTW9kZWwubm9BY3Rpb24sICdfc2VsZicpO1xuICAgIH1cbiAgfVxuXG4gIGdldENvbnRleHRSb290KCkge1xuICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3Vic3RyaW5nKDAsIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5pbmRleE9mKFwiL1wiLCAyKSk7XG4gIH1cblxuICB1cGxvYWRGaWxlKGV2OiBhbnkpIHtcblxuICB9XG5cbiAgZ2V0VHJhbnNsYXRpb24oa2V5OiBzdHJpbmcsIGR5bmFtaWNQYXJhbTogYW55KSB7XG4gICAgaWYgKCFkeW5hbWljUGFyYW0pIHtcbiAgICAgIHJldHVybiBrZXk7XG4gICAgfVxuXG4gICAgbGV0IGR5bmFtaWNPYmogPSB7fTtcblxuICAgIGxldCBwYXJhbTogS2V5VmFsdWVNb2RlbDtcbiAgICBsZXQgcGFyYW1zOiBLZXlWYWx1ZU1vZGVsW107XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShkeW5hbWljUGFyYW0pKSB7XG4gICAgICBwYXJhbXMgPSBkeW5hbWljUGFyYW07XG4gICAgICBwYXJhbXMuZm9yRWFjaChwcm0gPT4ge1xuICAgICAgICBkeW5hbWljT2JqW3BybS5rZXldID0gcHJtLnZhbHVlO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcmFtID0gZHluYW1pY1BhcmFtO1xuICAgICAgZHluYW1pY09ialtwYXJhbS5rZXldID0gcGFyYW0udmFsdWU7XG4gICAgfVxuXG4gICAgdGhpcy50cmFuc2xhdGUudXNlKCdlbicpO1xuICAgIGxldCB0cmFuc2xhdGVkU3RyaW5nOiBTdHJpbmcgPSBcIlwiO1xuICAgIHRoaXMudHJhbnNsYXRlLnNldChcbiAgICAgIGtleSwga2V5KTtcbiAgICB0cmFuc2xhdGVkU3RyaW5nID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgIGtleSwgT2JqZWN0LmFzc2lnbihkeW5hbWljT2JqKSk7XG4gICAgcmV0dXJuIHRyYW5zbGF0ZWRTdHJpbmc7XG4gIH1cblxuICBnZXRUZXh0KG9iamVjdCkge1xuICAgIHJldHVybiBvYmplY3Q/LnRleHQgPyBvYmplY3Q/LnRleHQgOiBvYmplY3Q7XG4gIH1cblxuICB1bm1hc2soZXZlbnQpIHtcbiAgICB0aGlzLnR5cGUgPSAndGV4dCc7XG4gIH1cblxuICBtYXNrKGV2ZW50KSB7XG4gICAgdGhpcy50eXBlID0gJ3Bhc3N3b3JkJztcbiAgfVxuXG4gIGRhdGVJbnB1dChldmVudCkge1xuICAgIGxldCBjdXJyZW50VmFsdWU6IHN0cmluZyA9IGV2ZW50LnNyY0VsZW1lbnQudmFsdWU7XG4gICAgaWYgKGN1cnJlbnRWYWx1ZSkge1xuICAgICAgaWYgKGN1cnJlbnRWYWx1ZS5sZW5ndGggPT0gMiAmJiBjdXJyZW50VmFsdWUuY2hhckF0KDIpICE9ICcvJykge1xuICAgICAgICBldmVudC50YXJnZXQudmFsdWUgPSBjdXJyZW50VmFsdWUgKyBcIi9cIjtcbiAgICAgIH1cbiAgICAgIGlmIChjdXJyZW50VmFsdWUubGVuZ3RoID09IDUgJiYgY3VycmVudFZhbHVlLmNoYXJBdCg1KSAhPSAnLycpIHtcbiAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gY3VycmVudFZhbHVlICsgXCIvXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY2hlY2tGb3JWYWx1ZUNoYW5nZShldmVudCkge1xuICAgIGlmICh0aGlzLnF1ZXN0aW9uLmNvbXBvbmVudERhdGEpIHtcbiAgICAgIGxldCBjb21wRGF0YTogVmFsdWVDaGFuZ2VDb21wb25lbnRNb2RlbCA9IEpTT04ucGFyc2UodGhpcy5xdWVzdGlvbi5jb21wb25lbnREYXRhKTtcbiAgICAgIGxldCBjdXJyZW50VmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICBsZXQgb3JpZ2luYWxWYWx1ZSA9IHRoaXMuZm9ybS5nZXQoY29tcERhdGEub3JpZ2luYWxWYWx1ZUNvbnRyb2wpPy52YWx1ZTtcbiAgICAgIGxldCBmb3JtQ29udHJvbFRvVXBkYXRlOiBBYnN0cmFjdENvbnRyb2wgPSB0aGlzLmZvcm0uZ2V0KGNvbXBEYXRhLmZvcm1Db250cm9sVG9VcGRhdGUpO1xuICAgICAgZm9ybUNvbnRyb2xUb1VwZGF0ZS5wYXRjaFZhbHVlKCdOJylcbiAgICAgIGZvcm1Db250cm9sVG9VcGRhdGUudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgdGhpcy5mb3JtLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgIHRoaXMuZHluYW1pY1BhcmFtID0gdGhpcy5keW5hbWljUGFyYW0gPyB0aGlzLmR5bmFtaWNQYXJhbSA6IFtdO1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5keW5hbWljUGFyYW0pKSB7XG4gICAgICAgIHRoaXMuZHluYW1pY1BhcmFtLnB1c2goeyBrZXk6IHRoaXMucXVlc3Rpb24ubmFtZSwgdmFsdWU6IGN1cnJlbnRWYWx1ZSB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZHluYW1pY1BhcmFtW3RoaXMucXVlc3Rpb24ubmFtZV0gPSBjdXJyZW50VmFsdWU7XG4gICAgICB9XG4gICAgICBpZiAoY3VycmVudFZhbHVlICE9IG9yaWdpbmFsVmFsdWUpIHtcbiAgICAgICAgZm9ybUNvbnRyb2xUb1VwZGF0ZS5wYXRjaFZhbHVlKCdZJyk7XG4gICAgICAgIHRoaXMub25EeW5hbWljUGFyYW1VcGRhdGUuZW1pdCh0aGlzLmR5bmFtaWNQYXJhbSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmb3JtQ29udHJvbFRvVXBkYXRlLnBhdGNoVmFsdWUoJ04nKVxuICAgICAgfVxuICAgICAgZm9ybUNvbnRyb2xUb1VwZGF0ZS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgfVxuICB9XG5cbiAgc2V0RW1wbG95ZXIoZW1wbG95ZXI6IEVtcGxveWVyRGV0YWlsU2VhcmNoUmVzdWx0KSB7XG4gICAgaWYgKHRoaXMucXVlc3Rpb24uY29tcG9uZW50RGF0YSkge1xuICAgICAgbGV0IGNvbXBEYXRhOiBFbXBsb3llckFkZHJlc3NVcGRhdGVNb2RlbCA9IEpTT04ucGFyc2UodGhpcy5xdWVzdGlvbi5jb21wb25lbnREYXRhKTtcbiAgICAgIGxldCBhZGRyZXNzRmM6IEFic3RyYWN0Q29udHJvbCA9IHRoaXMuZm9ybS5nZXQoY29tcERhdGEuYWRkcmVzc0Zvcm1Db250cm9sTmFtZSk7XG4gICAgICBsZXQgZW1wSWRGYzogQWJzdHJhY3RDb250cm9sID0gdGhpcy5mb3JtLmdldChjb21wRGF0YS5lbXBsb3llcklkRm9ybUNvbnRyb2xOYW1lKTtcbiAgICAgIGVtcElkRmMuc2V0VmFsdWUoZW1wbG95ZXIuZW1wbG95ZXJJZCk7XG4gICAgICBhZGRyZXNzRmMuc2V0VmFsdWUoe1xuICAgICAgICBjb3VudHJ5OiBlbXBsb3llci5jb3VudHJ5LCBjaXR5OiBlbXBsb3llci5jaXR5XG4gICAgICAgICwgemlwOiBlbXBsb3llci56aXAsIHN0cmVldEFkZHJlc3M6IGVtcGxveWVyLmFkZHJlc3NEaXNwbGF5VmFsLCBzdGF0ZTogZW1wbG95ZXIuc3RhdGUsXG4gICAgICAgIG9wdGlvbmFsQWRkcmVzczogbnVsbCwgY291bnR5OiBudWxsLCB0b3duOiBudWxsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZXNldEVtcGxveWVyKCkge1xuICAgIGlmICh0aGlzLnF1ZXN0aW9uLmNvbXBvbmVudERhdGEpIHtcbiAgICAgIGxldCBjb21wRGF0YTogRW1wbG95ZXJBZGRyZXNzVXBkYXRlTW9kZWwgPSBKU09OLnBhcnNlKHRoaXMucXVlc3Rpb24uY29tcG9uZW50RGF0YSk7XG4gICAgICBsZXQgYWRkcmVzc0ZjOiBBYnN0cmFjdENvbnRyb2wgPSB0aGlzLmZvcm0uZ2V0KGNvbXBEYXRhLmFkZHJlc3NGb3JtQ29udHJvbE5hbWUpO1xuICAgICAgbGV0IGVtcElkRmM6IEFic3RyYWN0Q29udHJvbCA9IHRoaXMuZm9ybS5nZXQoY29tcERhdGEuZW1wbG95ZXJJZEZvcm1Db250cm9sTmFtZSk7XG4gICAgICBlbXBJZEZjLnNldFZhbHVlKG51bGwpO1xuICAgICAgYWRkcmVzc0ZjLnNldFZhbHVlKHtcbiAgICAgICAgY291bnRyeTogbnVsbCwgY2l0eTogbnVsbFxuICAgICAgICAsIHppcDogbnVsbCwgc3RyZWV0QWRkcmVzczogbnVsbCwgc3RhdGU6IG51bGwsXG4gICAgICAgIG9wdGlvbmFsQWRkcmVzczogbnVsbCwgY291bnR5OiBudWxsLCB0b3duOiBudWxsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzZXRGb3JtQ29udHJvbFZhbHVlKGVsZW1lbnROYW1lLCBlbGVtZW50VmFsdWUpIHtcbiAgICBpZiAodGhpcy5mb3JtLmNvbnRyb2xzW2VsZW1lbnROYW1lXSkge1xuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzW2VsZW1lbnROYW1lXS5wYXRjaFZhbHVlKGVsZW1lbnRWYWx1ZSk7XG4gICAgfVxuICB9XG4gIFxuICBzZXREZWZhdWx0VmFsdWUoKSB7XG4gICAgaWYodGhpcy5xdWVzdGlvbi5kZWZhdWx0VmFsdWUpe1xuICAgICAgbGV0IHZhbHVlID0gdGhpcy5xdWVzdGlvbi5kZWZhdWx0VmFsdWU7XG4gICAgICBpZih0aGlzLnF1ZXN0aW9uLnR5cGUgPT0gJ2Ryb3Bkb3duJyl7XG4gICAgICAgIGNvbnN0IGNob2ljZTpzdHJpbmcgPSB0aGlzLnF1ZXN0aW9uLmRlZmF1bHRWYWx1ZTtcbiAgICAgICAgdmFyIGpzb25PYmplY3Q6IENob2ljZXMgPSBKU09OLnBhcnNlKGNob2ljZSk7ICBcbiAgICAgICAgdGhpcy5zZXRGb3JtQ29udHJvbFZhbHVlKHRoaXMucXVlc3Rpb24ubmFtZSwgdGhpcy5xdWVzdGlvbi5jaG9pY2VzLmZpbHRlcihjID0+IGMudmFsdWUgPT0ganNvbk9iamVjdC52YWx1ZSlbMF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZXRGb3JtQ29udHJvbFZhbHVlKHRoaXMucXVlc3Rpb24ubmFtZSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1cIiBbaWRdPVwiJ3F1ZXN0aW9uLWRpdi0nICsgcXVlc3Rpb24ubmFtZVwiPlxuICA8cC1kaWFsb2cgKm5nSWY9XCJkaXNwbGF5UG9zaXRpb25cIiBbKHZpc2libGUpXT1cImRpc3BsYXlQb3NpdGlvblwiIFtwb3NpdGlvbl09XCJwb3NpdGlvblwiXG4gICAgW21vZGFsXT1cInRydWVcIiBbYnJlYWtwb2ludHNdPVwieycxMjAwcHgnOiAnNjYwcHgnLCAnOTkycHgnOiAnNjYwcHgnLCAnNzY4cHgnOiAnNjYwcHgnLCAnNTc2cHgnOiAnMTAwdncnfVwiIFtzdHlsZV09XCJ7d2lkdGg6ICc0NXZ3J31cIlxuICAgIFtiYXNlWkluZGV4XT1cIjUwMDBcIiBbZHJhZ2dhYmxlXT1cImZhbHNlXCIgW3Jlc2l6YWJsZV09XCJmYWxzZVwiIGFwcGVuZFRvPVwiYm9keVwiIGNsb3NlT25Fc2NhcGU9XCJmYWxzZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwicXVlc3Rpb24udGl0bGVcIj5cblxuICAgIDxoNCBjbGFzcz1cImhlYWRpbmcgaW9uLXBhZGRpbmctbGVmdFwiPlxuICAgICAge3twb3BVcEhlYWRlcn19XG4gICAgPC9oND5cbiAgICA8cD57e3BvcFVwVGV4dH19XG4gICAgPC9wPlxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJmb290ZXJcIj5cbiAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiAqbmdJZj1cInBvcFVwTm9BY3Rpb25MYWJlbFwiIHNpemU9XCJzbWFsbFwiIHR5cGU9XCJzdWJtaXRcIiBmaWxsPVwib3V0bGluZVwiIChjbGljayk9XCJyZWplY3QoKVwiPlxuICAgICAgICB7e3BvcFVwTm9BY3Rpb25MYWJlbH19XG4gICAgICA8L2lvbi1idXR0b24+XG5cbiAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiAqbmdJZj1cInBvcFVwWWVzQWN0aW9uTGFiZWxcIiBzaXplPVwic21hbGxcIiB0eXBlPVwic3VibWl0XCIgZmlsbD1cInNvbGlkXCIgKGNsaWNrKT1cImFjY2VwdCgpXCI+XG4gICAgICAgIHt7cG9wVXBZZXNBY3Rpb25MYWJlbH19XG4gICAgICA8L2lvbi1idXR0b24+XG5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L3AtZGlhbG9nPlxuICA8ZGl2IFtuZ1N0eWxlXT1cInNldFN0eWxlKHF1ZXN0aW9uLmluZGVudClcIiAqbmdJZj1cIiFmb3JTY3JlZW5RdWVzdGlvbm5haXJlXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+XG4gICAgPGxhYmVsIFthdHRyLmZvcl09XCJxdWVzdGlvbi5uYW1lXCIgKm5nSWY9XCJxdWVzdGlvbi5pbmRlbnQ9PT0xICYmIHF1ZXN0aW9uLnR5cGUhPSdodG1sJyAmJiBxdWVzdGlvbi50eXBlIT0naGlkZGVuJyAmJiBxdWVzdGlvbi50eXBlIT0nbGFiZWwnXCI+XG4gICAgICB7e3F1ZXN0aW9uLnRpdGxlIHwgZHluYW1pY1RyYW5zbGF0ZTpkeW5hbWljUGFyYW19fVxuICAgIDwvbGFiZWw+XG4gIDwvZGl2PlxuXG4gIDxkaXYgW25nU3R5bGVdPVwic2V0U3R5bGUocXVlc3Rpb24uaW5kZW50KVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiXG4gICAgKm5nSWY9XCJmb3JTY3JlZW5RdWVzdGlvbm5haXJlICYmIHF1ZXN0aW9uLmluZGVudD09PTEgJiYgcXVlc3Rpb24udHlwZSE9J2h0bWwnICYmIHF1ZXN0aW9uLnR5cGUhPSdoaWRkZW4nICYmIHF1ZXN0aW9uLmRlc2NyaXB0aW9uICYmIHF1ZXN0aW9uLnR5cGUhPSdzaW1wbGVjaGVja2JveCcgJiYgcXVlc3Rpb24udHlwZSE9J2xhYmVsJyAmJiBxdWVzdGlvbi50eXBlIT0nbGFiZWwtd2l0aC1vdmVybGF5J1wiPlxuICAgIHt7cXVlc3Rpb24udGl0bGUgfCBkeW5hbWljVHJhbnNsYXRlOmR5bmFtaWNQYXJhbX19XG4gIDwvZGl2PlxuXG4gIDxkaXYgW25nU3R5bGVdPVwic2V0U3R5bGUocXVlc3Rpb24uaW5kZW50KVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiXG4gICAgKm5nSWY9XCJmb3JTY3JlZW5RdWVzdGlvbm5haXJlICYmIHF1ZXN0aW9uLmN1c3RvbVRhZyAmJiBxdWVzdGlvbi5jdXN0b21UYWchPSdjb21wb25lbnQnICYmIHF1ZXN0aW9uLmluZGVudD09PTEgJiYgcXVlc3Rpb24udHlwZSE9J2h0bWwnICYmIHF1ZXN0aW9uLnR5cGUhPSdoaWRkZW4nICYmICFxdWVzdGlvbi5kZXNjcmlwdGlvbiAmJiBxdWVzdGlvbi50eXBlIT0nbGFiZWwnICYmIHF1ZXN0aW9uLnR5cGUhPSdzaW1wbGVjaGVja2JveCdcIj5cbiAgICB7e3F1ZXN0aW9uLnRpdGxlIHwgZHluYW1pY1RyYW5zbGF0ZTpkeW5hbWljUGFyYW19fVxuICA8L2Rpdj5cblxuICA8ZGl2IFtuZ1N0eWxlXT1cInNldFN0eWxlKHF1ZXN0aW9uLmluZGVudClcIiBjbGFzcz1cImZvcm0tbGFiZWxcIlxuICAgICpuZ0lmPVwiZm9yU2NyZWVuUXVlc3Rpb25uYWlyZSAmJiAhcXVlc3Rpb24uY3VzdG9tVGFnICAmJiBxdWVzdGlvbi5pbmRlbnQ9PT0xICYmIHF1ZXN0aW9uLnR5cGUhPSdodG1sJyAmJiBxdWVzdGlvbi50eXBlIT0naGlkZGVuJyAmJiAhcXVlc3Rpb24uZGVzY3JpcHRpb24gJiYgcXVlc3Rpb24udHlwZSE9J3NpbXBsZWNoZWNrYm94JyAmJiBxdWVzdGlvbi50eXBlIT0nbGFiZWwnICYmIHF1ZXN0aW9uLnR5cGUhPSdsYWJlbC13aXRoLW92ZXJsYXknXCI+XG4gICAge3txdWVzdGlvbi50aXRsZSB8IGR5bmFtaWNUcmFuc2xhdGU6ZHluYW1pY1BhcmFtfX1cbiAgPC9kaXY+XG5cblxuXG4gIDxkaXYgKm5nSWY9XCJxdWVzdGlvbi5jdXN0b21UYWcgJiYgcXVlc3Rpb24uY3VzdG9tVGFnPT09J2NvbXBvbmVudCcgJiYgcXVlc3Rpb24udHlwZSE9J2h0bWwnICYmICFxdWVzdGlvbi5kZXNjcmlwdGlvblwiPlxuICAgIDxhcHAtZW1wbG95ZXItZ3JpZCBbZm9ybUNvbnRyb2xOYW1lXT1cInF1ZXN0aW9uLm5hbWVcIiBbZm9ybV09XCJmb3JtXCIgW2R5bmFtaWNQYXJhbV09XCJkeW5hbWljUGFyYW1cIlxuICAgICAgKm5nSWY9XCJxdWVzdGlvbi5jb21wb25lbnROYW1lPT09J2FwcC1lbXBsb3llci1ncmlkJ1wiIChtb2RlbERpc3BsYXkpPVwib25Nb2RlbERpc3BsYXkoJGV2ZW50KVwiPjwvYXBwLWVtcGxveWVyLWdyaWQ+XG4gICAgPGFwcC1sZWdhbC1kaXNjbGFpbWFyICpuZ0lmPVwicXVlc3Rpb24uY29tcG9uZW50TmFtZT09PSdhcHAtbGVnYWwtZGlzY2xhaW1hcidcIlxuICAgICAgW2NvbXBvbmVudERhdGFdPVwicXVlc3Rpb24uY29tcG9uZW50RGF0YVwiIChhY2NlcHRlZCk9XCJvbkFjY2VwdGVkKCRldmVudClcIiBbcXVlc3Rpb25dPVwicXVlc3Rpb25cIiBbZm9ybV09XCJmb3JtXCI+XG4gICAgPC9hcHAtbGVnYWwtZGlzY2xhaW1hcj5cbiAgICA8bW9uZXktZXhwZWN0ICpuZ0lmPVwicXVlc3Rpb24uY29tcG9uZW50TmFtZT09PSdtb25leS1leHBlY3QnXCI+PC9tb25leS1leHBlY3Q+XG4gICAgPGFwcC1jYXB0Y2hhIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiICpuZ0lmPVwicXVlc3Rpb24uY29tcG9uZW50TmFtZT09PSdhcHAtY2FwdGNoYSdcIj48L2FwcC1jYXB0Y2hhPlxuXG4gICAgPGFwcC1maWxlLXVwbG9hZGVyIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiICpuZ0lmPVwicXVlc3Rpb24uY29tcG9uZW50TmFtZT09PSdhcHAtZmlsZS11cGxvYWRlcidcIj5cbiAgICA8L2FwcC1maWxlLXVwbG9hZGVyPlxuICAgIDxhcHAtYWRkcmVzcyBbZm9ybUNvbnRyb2xOYW1lXT1cInF1ZXN0aW9uLm5hbWVcIiBbZnJvbVBvcHVwXT1cImZhbHNlXCIgW2NvdW50eVJlcXVpcmVkXT1cInF1ZXN0aW9uLmNvdW50eVJlcXVpcmVkXCJcbiAgICAgICpuZ0lmPVwicXVlc3Rpb24uY29tcG9uZW50TmFtZT09PSdhcHAtYWRkcmVzcydcIiAjYWRkcmVzcyBbaW5wdXRJZF09XCJxdWVzdGlvbi5uYW1lXCI+IDwvYXBwLWFkZHJlc3M+XG4gICAgPGFwcC1iYW5rLWRldGFpbHMgW2Zvcm1Db250cm9sTmFtZV09XCJxdWVzdGlvbi5uYW1lXCIgKm5nSWY9XCJxdWVzdGlvbi5jb21wb25lbnROYW1lPT09J2FwcC1iYW5rLWRldGFpbHMnXCIgI2JhbmtkdGxzPlxuICAgIDwvYXBwLWJhbmstZGV0YWlscz5cbiAgICA8YXBwLXJlcXVhbGlmeS1saWZ0LXByZXZpb3VzLWlzc3VlcyAqbmdJZj1cInF1ZXN0aW9uLmNvbXBvbmVudE5hbWU9PT0nYXBwLXJlcXVhbGlmeS1saWZ0LXByZXZpb3VzLWlzc3VlcydcIlxuICAgIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiIFtjb21wb25lbnREYXRhXT1cInF1ZXN0aW9uLmNvbXBvbmVudERhdGFcIiBbZm9ybV09XCJmb3JtXCIgPlxuICAgIDwvYXBwLXJlcXVhbGlmeS1saWZ0LXByZXZpb3VzLWlzc3Vlcz4gXG4gICAgPGFwcC1kZXBlbmRlbnQtZ3JpZCBbZm9ybUNvbnRyb2xOYW1lXT1cInF1ZXN0aW9uLm5hbWVcIiAqbmdJZj1cInF1ZXN0aW9uLmNvbXBvbmVudE5hbWU9PT0nYXBwLWRlcGVuZGVudC1ncmlkJ1wiPjwvYXBwLWRlcGVuZGVudC1ncmlkPlxuICAgIDxhcHAtd2Vla2x5LWNlcnQtZW1wbG95ZXItZ3JpZCBbZHluYW1pY1BhcmFtXT1cImR5bmFtaWNQYXJhbVwiIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiICpuZ0lmPVwicXVlc3Rpb24uY29tcG9uZW50TmFtZT09PSdhcHAtd2Vla2x5LWNlcnQtZW1wbG95ZXItZ3JpZCdcIj48L2FwcC13ZWVrbHktY2VydC1lbXBsb3llci1ncmlkPlxuICAgIDxhcHAtc2VhcmNoLWVtcGxveWVyIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiIGVtcFR5cGU9XCJSRUdcIiAob25Gb3VuZCk9XCJzZXRFbXBsb3llcigkZXZlbnQpXCIgXG4gICAgKG9uRW1wdHkpPVwicmVzZXRFbXBsb3llcigpXCIgKm5nSWY9XCJxdWVzdGlvbi5jb21wb25lbnROYW1lPT09J2FwcC1zZWFyY2gtZW1wbG95ZXInXCI+PC9hcHAtc2VhcmNoLWVtcGxveWVyPlxuICAgIDxhcHAtYWRkLXBhcnRpY2lwYW50IFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiICpuZ0lmPVwicXVlc3Rpb24uY29tcG9uZW50TmFtZT09PSdhcHAtYWRkLXBhcnRpY2lwYW50J1wiPiA8L2FwcC1hZGQtcGFydGljaXBhbnQ+XG4gICAgPGFwcC1hZGQtcGF5bWVudCBbcG90ZW50aWFsSXNzdWVJZF09XCJwb3RlbnRpYWxJc3N1ZUlkXCIgW2Zvcm1Db250cm9sTmFtZV09XCJxdWVzdGlvbi5uYW1lXCIgKm5nSWY9XCJxdWVzdGlvbi5jb21wb25lbnROYW1lPT09J2FwcC1hZGQtcGF5bWVudCdcIj48L2FwcC1hZGQtcGF5bWVudD5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cInF1ZXN0aW9uLmluZGVudCE9MSAmJiBxdWVzdGlvbi50eXBlIT0naHRtbCcgJiYgcXVlc3Rpb24udHlwZSE9J2xhYmVsJyAmJiBxdWVzdGlvbi50eXBlIT0naGlkZGVuJ1wiIGNsYXNzPVwiZm9ybS1sYWJlbFwiIFtuZ1N0eWxlXT1cInNldFN0eWxlKHF1ZXN0aW9uLmluZGVudClcIj5cbiAgICB7e3F1ZXN0aW9uLnRpdGxlfX1cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cInF1ZXN0aW9uLnR5cGU9PT0naHRtbCdcIiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7XCI+XG4gICAgPGRpdiAgW2lubmVySFRNTF09XCJxdWVzdGlvbi5odG1sIHwgZHluYW1pY1RyYW5zbGF0ZTpkeW5hbWljUGFyYW0gfCB0cnVzdEh0bWxcIlxuICAgICAgc3R5bGU9XCJjb2xvcjp2YXIoLS1pb24tY29sb3ItbWVkaXVtLWdyYXkpOyBwYWRkaW5nLXRvcDogMjBweDtcIiBjbGFzcz1cImhlYWRpbmdcIj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IHN0eWxlPVwiZmxleC1ncm93OiAxO1wiICpuZ0lmPVwicXVlc3Rpb24uZGVzY3JpcHRpb25cIiBzdHlsZT1cInBhZGRpbmctbGVmdDogOHB4OyBwYWRkaW5nLXRvcDoxM3B4XCI+XG4gICAgICA8YXBwLW92ZXJsYXktaW5mbyBbb3ZlcmxheVRleHRdPVwicXVlc3Rpb24uZGVzY3JpcHRpb24gfCBkeW5hbWljVHJhbnNsYXRlOmR5bmFtaWNQYXJhbVwiPjwvYXBwLW92ZXJsYXktaW5mbz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIFxuICA8ZGl2IFtuZ1N3aXRjaF09XCJxdWVzdGlvbi50eXBlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3RleHQnXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwicXVlc3Rpb24uaW5wdXRUeXBlICYmIHF1ZXN0aW9uLmlucHV0VHlwZT09PSdkYXRlJ1wiPlxuICAgICAgICAgIDxkaXYgW25nU3R5bGVdPVwic2V0U3R5bGUocXVlc3Rpb24uaW5kZW50KVwiPlxuICAgICAgICAgICAgPHAtY2FsZW5kYXIgW2Zvcm1Db250cm9sTmFtZV09XCJxdWVzdGlvbi5uYW1lXCIgW2lucHV0SWRdPVwicXVlc3Rpb24ubmFtZVwiIFttb250aE5hdmlnYXRvcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIHllYXJSYW5nZT1cIjE5MDE6MjA5OVwiIFtzaG93SWNvbl09XCJ0cnVlXCIgW21pbkRhdGVdPVwic2hvd01pbkRhdGUgPyBtaW5EYXRlIDogbnVsbFwiXG4gICAgICAgICAgICAgIFttYXhEYXRlXT1cInNob3dNYXhEYXRlID8gbWF4RGF0ZSA6IG51bGxcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBhcHBlbmRUbz1cImJvZHlcIiBkYXRhVHlwZT1cInN0cmluZ1wiXG4gICAgICAgICAgICAgIChvbkJsdXIpPVwidmFsaWRhdGUocXVlc3Rpb24pXCIgKG9uU2VsZWN0KT1cInZhbGlkYXRlKHF1ZXN0aW9uKVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIFxuICAgICAgICAgICAgICAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiIFtpY29uQXJpYUxhYmVsXT1cInF1ZXN0aW9uLnRpdGxlXCI+XG4gICAgICAgICAgICA8L3AtY2FsZW5kYXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAqbmdJZj1cInF1ZXN0aW9uLmlucHV0VHlwZSAmJiBxdWVzdGlvbi5pbnB1dFR5cGU9PT0ndGV4dCcgJiYgcXVlc3Rpb24uY3VzdG9tVGFnICYmIHF1ZXN0aW9uLmN1c3RvbVRhZz09PSdzc24nXCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJzZXRTdHlsZShxdWVzdGlvbi5pbmRlbnQpXCI+XG4gICAgICAgICAgPHAtaW5wdXRNYXNrIG1hc2s9XCI5OTktOTktOTk5OVwiIFtpbnB1dElkXT1cInF1ZXN0aW9uLm5hbWVcIiBbZm9ybUNvbnRyb2xOYW1lXT1cInF1ZXN0aW9uLm5hbWVcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCI5OTktOTktOTk5OVwiIChvbkNvbXBsZXRlKT1cInZhbGlkYXRlKHF1ZXN0aW9uKVwiIChvbkZvY3VzKT1cInVubWFzaygkZXZlbnQpXCIgKG9uQmx1cik9XCJtYXNrKCRldmVudClcIiBbdHlwZV09XCJ0eXBlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJxdWVzdGlvbi50aXRsZVwiPlxuICAgICAgICAgIDwvcC1pbnB1dE1hc2s+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAqbmdJZj1cInF1ZXN0aW9uLmlucHV0VHlwZSAmJiBxdWVzdGlvbi5pbnB1dFR5cGU9PT0ndGV4dCcgJiYgcXVlc3Rpb24uY3VzdG9tVGFnICYmIHF1ZXN0aW9uLmN1c3RvbVRhZz09PSdlYW4nXCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJzZXRTdHlsZShxdWVzdGlvbi5pbmRlbnQpXCI+XG4gICAgICAgICAgPHAtaW5wdXRNYXNrIG1hc2s9XCI5OS05OTk5OS05LTk5XCIgW2lucHV0SWRdPVwicXVlc3Rpb24ubmFtZVwiIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIjk5LTk5OTk5LTktOTlcIiBbdmFsdWVdPVwiODEtMDA1ODYtMC0wMVwiIChvbkNvbXBsZXRlKT1cInZhbGlkYXRlKHF1ZXN0aW9uKVwiPlxuICAgICAgICAgIDwvcC1pbnB1dE1hc2s+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAqbmdJZj1cInF1ZXN0aW9uLmlucHV0VHlwZSAmJiBxdWVzdGlvbi5pbnB1dFR5cGU9PT0ndGV4dCcgJiYgcXVlc3Rpb24uY3VzdG9tVGFnICYmIHF1ZXN0aW9uLmN1c3RvbVRhZz09PSdkdWVhbXQnXCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJzZXRTdHlsZShxdWVzdGlvbi5pbmRlbnQpXCI+XG4gICAgICAgICAgPHAtaW5wdXROdW1iZXIgW2lucHV0SWRdPVwicXVlc3Rpb24ubmFtZVwiIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiIG1vZGU9XCJkZWNpbWFsXCIgbG9jYWxlPVwiZW4tVVNcIlxuICAgICAgICAgICAgW21pbkZyYWN0aW9uRGlnaXRzXT1cIjJcIiBbYXJpYUxhYmVsXT1cInF1ZXN0aW9uLnRpdGxlXCI+PC9wLWlucHV0TnVtYmVyPlxuICAgICAgICA8L2Rpdj5cblxuXG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0lmPVwicXVlc3Rpb24uaW5wdXRUeXBlICYmIHF1ZXN0aW9uLmlucHV0VHlwZT09PSd0ZXh0JyAmJiAoIXF1ZXN0aW9uLmN1c3RvbVRhZyAgfHwgIHF1ZXN0aW9uLmN1c3RvbVRhZz09PSdPcHRpb25hbCcpICYmICFxdWVzdGlvbi5pc1JlcXVpcmVkXCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJzZXRTdHlsZShxdWVzdGlvbi5pbmRlbnQpXCI+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgKm5nSWY9XCJxdWVzdGlvbi5zaXplICYmIHF1ZXN0aW9uLm1heExlbmd0aFwiXG4gICAgICAgICAgICBbbWF4TGVuZ3RoXT1cInF1ZXN0aW9uLm1heExlbmd0aFwiIHBsYWNlaG9sZGVyPVwiT3B0aW9uYWxcIiBbaWRdPVwicXVlc3Rpb24ubmFtZVwiIHBJbnB1dFRleHRcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwicXVlc3Rpb24udGl0bGVcIi8+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgKm5nSWY9XCJxdWVzdGlvbi5zaXplICYmICFxdWVzdGlvbi5tYXhMZW5ndGhcIiAgcGxhY2Vob2xkZXI9XCJPcHRpb25hbFwiXG4gICAgICAgICAgICBbaWRdPVwicXVlc3Rpb24ubmFtZVwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sTmFtZV09XCJxdWVzdGlvbi5uYW1lXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJxdWVzdGlvbi50aXRsZVwiLz5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiAqbmdJZj1cIiFxdWVzdGlvbi5zaXplICYmIHF1ZXN0aW9uLm1heExlbmd0aFwiIFttYXhMZW5ndGhdPVwicXVlc3Rpb24ubWF4TGVuZ3RoXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiT3B0aW9uYWxcIiBbaWRdPVwicXVlc3Rpb24ubmFtZVwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sTmFtZV09XCJxdWVzdGlvbi5uYW1lXCIgLz5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiAqbmdJZj1cIiFxdWVzdGlvbi5zaXplICYmICFxdWVzdGlvbi5tYXhMZW5ndGhcIiBbaWRdPVwicXVlc3Rpb24ubmFtZVwiIHBJbnB1dFRleHRcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiIHBsYWNlaG9sZGVyPVwiT3B0aW9uYWxcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInF1ZXN0aW9uLnRpdGxlXCIvPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tVXNlciBOYW1lLS0+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJxdWVzdGlvbi5pbnB1dFR5cGUgJiYgcXVlc3Rpb24uaW5wdXRUeXBlPT09J3RleHQnICYmICFxdWVzdGlvbi5jdXN0b21UYWcgJiYgcXVlc3Rpb24uaXNSZXF1aXJlZFwiXG4gICAgICAgICAgW25nU3R5bGVdPVwic2V0U3R5bGUocXVlc3Rpb24uaW5kZW50KVwiPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiICpuZ0lmPVwicXVlc3Rpb24uc2l6ZSAmJiBxdWVzdGlvbi5tYXhMZW5ndGhcIiBcbiAgICAgICAgICAgIFttYXhMZW5ndGhdPVwicXVlc3Rpb24ubWF4TGVuZ3RoXCIgW2lkXT1cInF1ZXN0aW9uLm5hbWVcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwicXVlc3Rpb24udGl0bGVcIi8+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgKm5nSWY9XCJxdWVzdGlvbi5zaXplICYmICFxdWVzdGlvbi5tYXhMZW5ndGhcIiAgW2lkXT1cInF1ZXN0aW9uLm5hbWVcIlxuICAgICAgICAgICAgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xOYW1lXT1cInF1ZXN0aW9uLm5hbWVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInF1ZXN0aW9uLnRpdGxlXCIvPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiICpuZ0lmPVwiIXF1ZXN0aW9uLnNpemUgJiYgcXVlc3Rpb24ubWF4TGVuZ3RoXCIgW21heExlbmd0aF09XCJxdWVzdGlvbi5tYXhMZW5ndGhcIlxuICAgICAgICAgICAgW2lkXT1cInF1ZXN0aW9uLm5hbWVcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwicXVlc3Rpb24udGl0bGVcIi8+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgKm5nSWY9XCIhcXVlc3Rpb24uc2l6ZSAmJiAhcXVlc3Rpb24ubWF4TGVuZ3RoXCIgW2lkXT1cInF1ZXN0aW9uLm5hbWVcIiBwSW5wdXRUZXh0XG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cInF1ZXN0aW9uLm5hbWVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInF1ZXN0aW9uLnRpdGxlXCIvPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIXF1ZXN0aW9uLmlucHV0VHlwZSAmJiBxdWVzdGlvbi5jdXN0b21UYWcgJiYgICFxdWVzdGlvbi5jdXN0b21UYWcuaW5jbHVkZXMoJ3Bob25lJylcIlxuICAgICAgICAgIFtuZ1N0eWxlXT1cInsncGFkZGluZy1sZWZ0LnB4JzogcXVlc3Rpb24uaW5kZW50KjEwfVwiIFtuZ1N0eWxlXT1cInNldFN0eWxlKHF1ZXN0aW9uLmluZGVudClcIj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbaWRdPVwicXVlc3Rpb24ubmFtZVwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sTmFtZV09XCJxdWVzdGlvbi5uYW1lXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJxdWVzdGlvbi50aXRsZVwiLz5cbiAgICAgICAgPC9kaXY+XG5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwicXVlc3Rpb24uY3VzdG9tVGFnICYmIHF1ZXN0aW9uLmN1c3RvbVRhZy5pbmNsdWRlcygncGhvbmUnKVwiPlxuICAgICAgICAgIDxwLWlucHV0TWFzayBtYXNrPVwiOTk5LTk5OS05OTk5XCIgW2lucHV0SWRdPVwicXVlc3Rpb24ubmFtZVwiIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiIFxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInF1ZXN0aW9uLmlzUmVxdWlyZWQgPyAnOTk5LTk5OS05OTk5JyA6ICdPcHRpb25hbCdcIlxuICAgICAgICAgICAgKm5nSWY9XCJxdWVzdGlvbi5pbnB1dFR5cGUgJiYgcXVlc3Rpb24uaW5wdXRUeXBlPT09J3RleHQnXCIgKG9uQmx1cik9XCJjaGVja0ZvclZhbHVlQ2hhbmdlKCRldmVudClcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInF1ZXN0aW9uLnRpdGxlXCI+XG4gICAgICAgICAgPC9wLWlucHV0TWFzaz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiAqbmdJZj1cInF1ZXN0aW9uLmN1c3RvbVRhZyAmJiBxdWVzdGlvbi5jdXN0b21UYWcuaW5jbHVkZXMoJ3Bhc3N3b3JkJylcIj5cbiAgICAgICAgICA8cC1wYXNzd29yZCBbaW5wdXRJZF09XCJxdWVzdGlvbi5uYW1lXCIgW2Zvcm1Db250cm9sTmFtZV09XCJxdWVzdGlvbi5uYW1lXCIgW3RvZ2dsZU1hc2tdPVwidHJ1ZVwiIFttYXhMZW5ndGhdPVwicXVlc3Rpb24ubWF4TGVuZ3RoXCIgd2Vha0xhYmVsPVwiV2VhayBwYXNzd29yZFwiIFxuICAgICAgICAgIG1lZGl1bUxhYmVsPVwiV2VhayBwYXNzd29yZFwiIHN0cm9uZ0xhYmVsPVwiU3Ryb25nIHBhc3N3b3JkXCIgc3Ryb25nUmVnZXg9XCJeKD89LipbYS16XSkoPz0uKltBLVpdKSg/PS4qWzAtOV0pKD89LipbX0AqJCEjLl0rLipbX0AqJCEjLl0pKD89LnsxNCx9KVwiIFthcmlhTGFiZWxdPVwicXVlc3Rpb24udGl0bGVcIj5cbiAgICAgICAgICAgIFxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJmb290ZXJcIj5cbiAgICAgICAgICAgICAgPHAtZGl2aWRlcj48L3AtZGl2aWRlcj5cbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtdC0xXCIgc3R5bGU9XCJmb250LXNpemU6IHNtYWxsO1wiPlBhc3N3b3JkIG11c3QgaW5jbHVkZSBhdCBsZWFzdDwvcD5cbiAgICAgICAgICAgICAgPHVsIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEuMjVcIj5cbiAgICAgICAgICAgICAgICAgIDxsaSBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAtMjVweDsgZm9udC1zaXplOiBzbWFsbDtcIj4xIGxvd2VyY2FzZSBsZXR0ZXI8L2xpPlxuICAgICAgICAgICAgICAgICAgPGxpIHN0eWxlPVwibWFyZ2luLWxlZnQ6IC0yNXB4OyBmb250LXNpemU6IHNtYWxsO1wiPjEgdXBwZXJjYXNlIGxldHRlcjwvbGk+XG4gICAgICAgICAgICAgICAgICA8bGkgc3R5bGU9XCJtYXJnaW4tbGVmdDogLTI1cHg7IGZvbnQtc2l6ZTogc21hbGw7XCI+MSBudW1iZXI8L2xpPlxuICAgICAgICAgICAgICAgICAgPGxpIHN0eWxlPVwibWFyZ2luLWxlZnQ6IC0yNXB4OyBmb250LXNpemU6IHNtYWxsO1wiPjIgb2YgdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXJzIDxiPl8gJiM2NDsgKiAkICEgIyAuPC9iPjwvbGk+XG4gICAgICAgICAgICAgICAgICA8bGkgc3R5bGU9XCJtYXJnaW4tbGVmdDogLTI1cHg7IGZvbnQtc2l6ZTogc21hbGw7XCI+MTQgY2hhcmFjdGVyczwvbGk+XG4gICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgIDxwLWRpdmlkZXI+PC9wLWRpdmlkZXI+XG4gICAgICAgICAgICAgIDxwIGNsYXNzPVwibXQtMVwiIHN0eWxlPVwiZm9udC1zaXplOiBzbWFsbDtcIj5TdWdnZXN0aW9uPC9wPlxuICAgICAgICAgICAgICA8dWwgc3R5bGU9XCJsaW5lLWhlaWdodDogMS4yNVwiPlxuICAgICAgICAgICAgICAgIDxsaSBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAtMjVweDsgZm9udC1zaXplOiBzbWFsbDtcIj5Eb24ndCB1c2UgeW91ciBuYW1lLCBlbWFpbCBvciBwaG9uZTwvbGk+XG4gICAgICAgICAgICAgICAgPGxpIHN0eWxlPVwibWFyZ2luLWxlZnQ6IC0yNXB4OyBmb250LXNpemU6IHNtYWxsO1wiPkRvbid0IHVzZSB5b3VyIGtpZCwgcGFydG5lciBvciBwZXQgbmFtZS48L2xpPlxuICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9wLXBhc3N3b3JkPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwicXVlc3Rpb24uY3VzdG9tVGFnICYmIHF1ZXN0aW9uLmN1c3RvbVRhZy5pbmNsdWRlcygnZmlsZXVwbG9hZCcpXCI+XG4gICAgICAgICAgPGFwcC1maWxlLXVwbG9hZGVyIFthbGxvd2VkRmlsZVR5cGVdPVwicXVlc3Rpb24uYWxsb3dlZEZpbGVUeXBlXCIgW2Zvcm1Db250cm9sTmFtZV09XCJxdWVzdGlvbi5uYW1lXCJcbiAgICAgICAgICAgIFttYXhTaXplSW5NQl09XCJxdWVzdGlvbi5zaXplSW5NQlwiIFttdWx0aXBsZV09XCJxdWVzdGlvbi5tdWx0aXBsZVwiIFtub09mRmlsZXNUb1VwbG9hZF09XCJxdWVzdGlvbi5ub09GRmlsZXNcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInF1ZXN0aW9uLnRpdGxlXCI+XG4gICAgICAgICAgPC9hcHAtZmlsZS11cGxvYWRlcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLUVtYWlsIEFkZHJlc3MtLT5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0lmPVwicXVlc3Rpb24uaW5wdXRUeXBlICAmJiBxdWVzdGlvbi5pbnB1dFR5cGU9PT0ndGV4dCdcbiAgICAgICAgICAgICAgICAgICYmIHF1ZXN0aW9uLmN1c3RvbVRhZyAgJiYgKHF1ZXN0aW9uLmN1c3RvbVRhZyE9J3NzbicgJiYgcXVlc3Rpb24uY3VzdG9tVGFnIT0nT3B0aW9uYWwnICYmIHF1ZXN0aW9uLmN1c3RvbVRhZyE9J2ZpbGV1cGxvYWQnICBcbiAgICAgICAgICAgICAgICAgICYmIHF1ZXN0aW9uLmN1c3RvbVRhZyE9J3Bob25lJyAgJiYgcXVlc3Rpb24uY3VzdG9tVGFnIT0nZWFuJyAgJiYgcXVlc3Rpb24uY3VzdG9tVGFnIT0nZHVlYW10JyAmJiBxdWVzdGlvbi5jdXN0b21UYWchPSdwYXNzd29yZCcpIFwiPlxuICAgICAgICAgIDxkaXYgW25nU3R5bGVdPVwic2V0U3R5bGUocXVlc3Rpb24uaW5kZW50KVwiPlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgW2lkXT1cInF1ZXN0aW9uLm5hbWVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInF1ZXN0aW9uLnRpdGxlXCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xOYW1lXT1cInF1ZXN0aW9uLm5hbWVcIiAoYmx1cik9XCJjaGVja0ZvclZhbHVlQ2hhbmdlKCRldmVudClcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInF1ZXN0aW9uLnRpdGxlXCIvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIXF1ZXN0aW9uLmlucHV0VHlwZSAmJiAhcXVlc3Rpb24uY3VzdG9tVGFnXCIgW25nU3R5bGVdPVwic2V0U3R5bGUocXVlc3Rpb24uaW5kZW50KVwiPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFtpZF09XCJxdWVzdGlvbi5uYW1lXCIgKm5nSWY9XCJxdWVzdGlvbi5zaXplXCIgIHBJbnB1dFRleHRcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwicXVlc3Rpb24udGl0bGVcIi8+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgW2lkXT1cInF1ZXN0aW9uLm5hbWVcIiAqbmdJZj1cIiFxdWVzdGlvbi5zaXplXCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xOYW1lXT1cInF1ZXN0aW9uLm5hbWVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInF1ZXN0aW9uLnRpdGxlXCIvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSA8L2lvbi1jb2w+XG4gICAgPGlvbi1jb2wgc2l6ZT1cIjFcIiAqbmdJZj1cInF1ZXN0aW9uLmRlc2NyaXB0aW9uXCIgc3R5bGU9XCJwYWRkaW5nLXRvcDogMTJweFwiPlxuICAgICAgPGFwcC1vdmVybGF5LWluZm8gW292ZXJsYXlUZXh0XT1cInF1ZXN0aW9uLmRlc2NyaXB0aW9uIHwgZHluYW1pY1RyYW5zbGF0ZTpkeW5hbWljUGFyYW1cIj48L2FwcC1vdmVybGF5LWluZm8+XG4gICAgPC9pb24tY29sPlxuICA8L2lvbi1yb3c+IC0tPlxuICAgICAgICA8ZGl2IHN0eWxlPVwiZmxleC1ncm93OiAxO1wiICpuZ0lmPVwicXVlc3Rpb24uZGVzY3JpcHRpb25cIiBzdHlsZT1cInBhZGRpbmctbGVmdDogOHB4OyBwYWRkaW5nLXRvcDozcHhcIj5cbiAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBbb3ZlcmxheVRleHRdPVwicXVlc3Rpb24uZGVzY3JpcHRpb24gfCBkeW5hbWljVHJhbnNsYXRlOmR5bmFtaWNQYXJhbVwiPjwvYXBwLW92ZXJsYXktaW5mbz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidjb21tZW50J1wiPlxuICAgICAgPGRpdiBbbmdTdHlsZV09XCJzZXRTdHlsZShxdWVzdGlvbi5pbmRlbnQpXCIgKm5nSWY9XCJxdWVzdGlvbi5tYXhMZW5ndGhcIj5cbiAgICAgICAgPHRleHRhcmVhIFtpZF09XCJxdWVzdGlvbi5uYW1lXCIgYXV0b1Jlc2l6ZT1cInRydWVcIiBbZm9ybUNvbnRyb2xOYW1lXT1cInF1ZXN0aW9uLm5hbWVcIlxuICAgICAgICAgIFttYXhMZW5ndGhdPVwicXVlc3Rpb24ubWF4TGVuZ3RoXCIgW3Jvd3NdPVwiM1wiIFtjb2xzXT1cIjM1XCIgW2F0dHIuYXJpYS1sYWJlbF09XCJxdWVzdGlvbi50aXRsZVwiPjwvdGV4dGFyZWE+XG4gICAgICAgIDxkaXY+XG5cbiAgICAgICAgICA8c21hbGwgc3R5bGVDbGFzcz1cInAtZC1ibG9ja1wiICpuZ0lmPVwicXVlc3Rpb24uZGVzY3JpcHRpb25cIj57e3F1ZXN0aW9uLmRlc2NyaXB0aW9ufX08L3NtYWxsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IFtuZ1N0eWxlXT1cInNldFN0eWxlKHF1ZXN0aW9uLmluZGVudClcIiAqbmdJZj1cIiFxdWVzdGlvbi5tYXhMZW5ndGhcIj5cbiAgICAgICAgPHRleHRhcmVhIFtpZF09XCJxdWVzdGlvbi5uYW1lXCIgYXV0b1Jlc2l6ZT1cInRydWVcIiBbZm9ybUNvbnRyb2xOYW1lXT1cInF1ZXN0aW9uLm5hbWVcIiBbcm93c109XCIzXCJcbiAgICAgICAgICBbY29sc109XCIzNVwiIFthdHRyLmFyaWEtbGFiZWxdPVwicXVlc3Rpb24udGl0bGVcIj48L3RleHRhcmVhPlxuICAgICAgICA8ZGl2PlxuXG4gICAgICAgICAgPHNtYWxsIHN0eWxlQ2xhc3M9XCJwLWQtYmxvY2tcIiAqbmdJZj1cInF1ZXN0aW9uLmRlc2NyaXB0aW9uXCI+e3txdWVzdGlvbi5kZXNjcmlwdGlvbn19PC9zbWFsbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2Ryb3Bkb3duJ1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIHN0eWxlPVwiZGlzcGxheTogZmxleDtcIj5cbiAgICAgICAgPGRpdiBbbmdTdHlsZV09XCJzZXRTdHlsZShxdWVzdGlvbi5pbmRlbnQpXCI+XG4gICAgICAgICAgPHAtYXV0b0NvbXBsZXRlICpuZ0lmPVwiZmFsc2VcIiBbZm9ybUNvbnRyb2xOYW1lXT1cInF1ZXN0aW9uLm5hbWVcIiBbc3VnZ2VzdGlvbnNdPVwiZmlsdGVyUmVzdWx0XCIgYXBwZW5kVG89XCJib2R5XCJcbiAgICAgICAgICAgIChjb21wbGV0ZU1ldGhvZCk9XCJmaWx0ZXJWYWx1ZSgkZXZlbnQscXVlc3Rpb24pXCIgZmllbGQ9XCJ0ZXh0XCIgW2Ryb3Bkb3duXT1cInRydWVcIiBtaW5MZW5ndGg9XCIxXCJcbiAgICAgICAgICAgIFtmb3JjZVNlbGVjdGlvbl09XCJ0cnVlXCIgKG9uU2VsZWN0KT1cIm9uU2VsZWN0KCRldmVudCxxdWVzdGlvbi5uYW1lKVwiIFtjb21wbGV0ZU9uRm9jdXNdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC12YWx1ZSBwVGVtcGxhdGU9XCJpdGVtXCI+XG4gICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPGRpdj57e3ZhbHVlLnRleHR9fTwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9wLWF1dG9Db21wbGV0ZT5cbiAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtvcHRpb25zXT1cImZpbHRlclJlc3VsdFwiIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGFwcGVuZFRvPVwiYm9keVwiXG4gICAgICAgICAgKG9uQ2hhbmdlKT1cIm9uU2VsZWN0KCRldmVudCxxdWVzdGlvbi5uYW1lKVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgKG9uQ2xpY2spPVwiZmlsdGVyVmFsdWUoJGV2ZW50LHF1ZXN0aW9uKVwiIFtpbnB1dElkXT1cInF1ZXN0aW9uLm5hbWVcIlxuICAgICAgICAgIFthcmlhTGFiZWxdPVwicXVlc3Rpb24udGl0bGVcIj48L2FwcC1kcm9wZG93bj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJmbGV4LWdyb3c6IDE7XCIgKm5nSWY9XCJxdWVzdGlvbi5kZXNjcmlwdGlvblwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiA4cHg7IHBhZGRpbmctdG9wOjNweFwiPlxuICAgICAgICAgIDxhcHAtb3ZlcmxheS1pbmZvIFtvdmVybGF5VGV4dF09XCJxdWVzdGlvbi5kZXNjcmlwdGlvbiB8IGR5bmFtaWNUcmFuc2xhdGU6ZHluYW1pY1BhcmFtXCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxuXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncmFkaW9ncm91cCcgXCI+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7XCI+XG4gICAgICAgIDxkaXYgW25nU3R5bGVdPVwic2V0U3R5bGUocXVlc3Rpb24uaW5kZW50KVwiPlxuICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBbb3B0aW9uc109XCJxdWVzdGlvbi5jaG9pY2VzXCIgW2Zvcm1Db250cm9sTmFtZV09XCJxdWVzdGlvbi5uYW1lXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcbiAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIiAob25PcHRpb25DbGljayk9XCJvblJhZGlvT3B0aW9uQ2xpY2soJGV2ZW50LHF1ZXN0aW9uKVwiPjwvcC1zZWxlY3RCdXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IHN0eWxlPVwiZmxleC1ncm93OiAxO1wiICpuZ0lmPVwicXVlc3Rpb24uZGVzY3JpcHRpb25cIiBzdHlsZT1cInBhZGRpbmctbGVmdDogOHB4OyBwYWRkaW5nLXRvcDozcHhcIj5cbiAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBbb3ZlcmxheVRleHRdPVwicXVlc3Rpb24uZGVzY3JpcHRpb24gfCBkeW5hbWljVHJhbnNsYXRlOmR5bmFtaWNQYXJhbVwiPjwvYXBwLW92ZXJsYXktaW5mbz5cblxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidudW1iZXInXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxuICAgICAgICA8ZGl2IFtuZ1N0eWxlXT1cInNldFN0eWxlKHF1ZXN0aW9uLmluZGVudClcIj5cbiAgICAgICAgICA8cC1pbnB1dE51bWJlciBmb3JtQ29udHJvbE5hbWU9XCJ7e3F1ZXN0aW9uLm5hbWV9fVwiIG1vZGU9XCJkZWNpbWFsXCIgW2lucHV0SWRdPVwicXVlc3Rpb24ubmFtZVwiIFt1c2VHcm91cGluZ109XCJmYWxzZVwiXG4gICAgICAgICAgW21pbl09XCJxdWVzdGlvbi5taW4gPyBxdWVzdGlvbi5taW4gOiBudWxsXCIgW21heF09XCJxdWVzdGlvbi5tYXggPyBxdWVzdGlvbi5tYXggOiBudWxsXCJcbiAgICAgICAgICBbc2l6ZV09XCJxdWVzdGlvbi5zaXplID8gcXVlc3Rpb24uc2l6ZSA6IG51bGxcIiBbbWF4bGVuZ3RoXT1cInF1ZXN0aW9uLm1heExlbmd0aCA/IHF1ZXN0aW9uLm1heExlbmd0aCA6IG51bGxcIiBbYXJpYUxhYmVsXT1cInF1ZXN0aW9uLnRpdGxlXCI+PC9wLWlucHV0TnVtYmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBzdHlsZT1cImZsZXgtZ3JvdzogMTtcIiAqbmdJZj1cInF1ZXN0aW9uLmRlc2NyaXB0aW9uXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDhweDsgcGFkZGluZy10b3A6M3B4XCI+XG4gICAgICAgICAgPGFwcC1vdmVybGF5LWluZm8gW292ZXJsYXlUZXh0XT1cInF1ZXN0aW9uLmRlc2NyaXB0aW9uIHwgZHluYW1pY1RyYW5zbGF0ZTpkeW5hbWljUGFyYW1cIj48L2FwcC1vdmVybGF5LWluZm8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGVjaW1hbCdcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7XCI+XG4gICAgICAgIDxkaXYgW25nU3R5bGVdPVwic2V0U3R5bGUocXVlc3Rpb24uaW5kZW50KVwiPlxuICAgICAgICAgIDxwLWlucHV0TnVtYmVyIGZvcm1Db250cm9sTmFtZT1cInt7cXVlc3Rpb24ubmFtZX19XCIgbW9kZT1cImRlY2ltYWxcIiBbaW5wdXRJZF09XCJxdWVzdGlvbi5uYW1lXCIgW3VzZUdyb3VwaW5nXT1cImZhbHNlXCIgXG4gICAgICAgICAgW21pbkZyYWN0aW9uRGlnaXRzXT1cIjJcIiBbbWF4RnJhY3Rpb25EaWdpdHNdPVwiMlwiIFttaW5dPVwicXVlc3Rpb24ubWluID8gcXVlc3Rpb24ubWluIDogbnVsbFwiIFxuICAgICAgICAgIFttYXhdPVwicXVlc3Rpb24ubWF4ID8gcXVlc3Rpb24ubWF4IDogbnVsbFwiIFtzaXplXT1cInF1ZXN0aW9uLnNpemUgPyBxdWVzdGlvbi5zaXplIDogbnVsbFwiICBbbWF4bGVuZ3RoXT1cInF1ZXN0aW9uLm1heExlbmd0aCA/IHF1ZXN0aW9uLm1heExlbmd0aCA6IG51bGxcIiBbYXJpYUxhYmVsXT1cInF1ZXN0aW9uLnRpdGxlXCI+PC9wLWlucHV0TnVtYmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBzdHlsZT1cImZsZXgtZ3JvdzogMTtcIiAqbmdJZj1cInF1ZXN0aW9uLmRlc2NyaXB0aW9uXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDhweDsgcGFkZGluZy10b3A6M3B4XCI+XG4gICAgICAgICAgPGFwcC1vdmVybGF5LWluZm8gW292ZXJsYXlUZXh0XT1cInF1ZXN0aW9uLmRlc2NyaXB0aW9uIHwgZHluYW1pY1RyYW5zbGF0ZTpkeW5hbWljUGFyYW1cIj48L2FwcC1vdmVybGF5LWluZm8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInY3VycmVuY3knXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxuICAgICAgICA8ZGl2IFtuZ1N0eWxlXT1cInNldFN0eWxlKHF1ZXN0aW9uLmluZGVudClcIj5cbiAgICAgICAgICA8cC1pbnB1dE51bWJlciBmb3JtQ29udHJvbE5hbWU9XCJ7e3F1ZXN0aW9uLm5hbWV9fVwiIG1vZGU9XCJjdXJyZW5jeVwiIFtpbnB1dElkXT1cInF1ZXN0aW9uLm5hbWVcIiBbdXNlR3JvdXBpbmddPVwiZmFsc2VcIiBcbiAgICAgICAgICBbbWluRnJhY3Rpb25EaWdpdHNdPVwiMlwiIFttYXhGcmFjdGlvbkRpZ2l0c109XCIyXCIgY3VycmVuY3k9XCJVU0RcIiBbbWluXT1cInF1ZXN0aW9uLm1pbiA/IHF1ZXN0aW9uLm1pbiA6IG51bGxcIiBcbiAgICAgICAgICBbbWF4XT1cInF1ZXN0aW9uLm1heCA/IHF1ZXN0aW9uLm1heCA6IG51bGxcIiBbc2l6ZV09XCJxdWVzdGlvbi5zaXplID8gcXVlc3Rpb24uc2l6ZSA6IG51bGxcIiAgW21heGxlbmd0aF09XCJxdWVzdGlvbi5tYXhMZW5ndGggPyBxdWVzdGlvbi5tYXhMZW5ndGggOiBudWxsXCIgW2FyaWFMYWJlbF09XCJxdWVzdGlvbi50aXRsZVwiPjwvcC1pbnB1dE51bWJlcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJmbGV4LWdyb3c6IDE7XCIgKm5nSWY9XCJxdWVzdGlvbi5kZXNjcmlwdGlvblwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiA4cHg7IHBhZGRpbmctdG9wOjNweFwiPlxuICAgICAgICAgIDxhcHAtb3ZlcmxheS1pbmZvIFtvdmVybGF5VGV4dF09XCJxdWVzdGlvbi5kZXNjcmlwdGlvbiB8IGR5bmFtaWNUcmFuc2xhdGU6ZHluYW1pY1BhcmFtXCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NoZWNrYm94J1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIHN0eWxlPVwiZGlzcGxheTogZmxleDtcIj5cbiAgICAgICAgPGRpdiBbbmdTdHlsZV09XCJzZXRTdHlsZShxdWVzdGlvbi5pbmRlbnQpXCIgY2xhc3M9XCJmb3JtZ3JvdXAtaW5saW5lXCI+XG4gICAgICAgICAgICA8cC1jaGVja2JveCBbbmFtZV09XCJxdWVzdGlvbi5uYW1lICsgJy1ncm91cCdcIiBbdmFsdWVdPVwiY2hvaWNlLnZhbHVlXCIgXG4gICAgICAgICAgICAgIFtsYWJlbF09XCJjaG9pY2UudGV4dFwiICpuZ0Zvcj1cImxldCBjaG9pY2Ugb2YgcXVlc3Rpb24uY2hvaWNlc1wiIFtmb3JtQ29udHJvbF09XCJmb3JtLmNvbnRyb2xzW3F1ZXN0aW9uLm5hbWVdXCJcbiAgICAgICAgICAgICAgc3R5bGVDbGFzcz1cImFwcC1wLWNoZWNrYm94XCIgW2lucHV0SWRdPVwicXVlc3Rpb24ubmFtZSArICctJyArIGNob2ljZS52YWx1ZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwicXVlc3Rpb24udGl0bGVcIj48L3AtY2hlY2tib3g+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IHN0eWxlPVwiZmxleC1ncm93OiAxO1wiICpuZ0lmPVwicXVlc3Rpb24uZGVzY3JpcHRpb25cIiBzdHlsZT1cInBhZGRpbmctbGVmdDogOHB4OyBwYWRkaW5nLXRvcDozcHhcIj5cbiAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBbb3ZlcmxheVRleHRdPVwicXVlc3Rpb24uZGVzY3JpcHRpb24gfCBkeW5hbWljVHJhbnNsYXRlOmR5bmFtaWNQYXJhbVwiPjwvYXBwLW92ZXJsYXktaW5mbz5cblxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ211bHRpY2hlY2tib3gnXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxuICAgICAgICA8ZGl2IFtuZ1N0eWxlXT1cInNldFN0eWxlKHF1ZXN0aW9uLmluZGVudClcIj5cbiAgICAgICAgICAgIDxwLWNoZWNrYm94IFtuYW1lXT1cInF1ZXN0aW9uLm5hbWUgKyAnLWdyb3VwJ1wiIFt2YWx1ZV09XCJjaG9pY2UudmFsdWVcIiBcbiAgICAgICAgICAgICAgW2xhYmVsXT1cImNob2ljZS50ZXh0XCIgKm5nRm9yPVwibGV0IGNob2ljZSBvZiBxdWVzdGlvbi5jaG9pY2VzXCIgW2Zvcm1Db250cm9sXT1cImZvcm0uY29udHJvbHNbcXVlc3Rpb24ubmFtZV1cIlxuICAgICAgICAgICAgICBzdHlsZUNsYXNzPVwiYXBwLXAtY2hlY2tib3hcIiBbaW5wdXRJZF09XCJxdWVzdGlvbi5uYW1lICsgJy0nICsgY2hvaWNlLnZhbHVlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJxdWVzdGlvbi50aXRsZVwiPjwvcC1jaGVja2JveD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJmbGV4LWdyb3c6IDE7XCIgKm5nSWY9XCJxdWVzdGlvbi5kZXNjcmlwdGlvblwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiA4cHg7IHBhZGRpbmctdG9wOjNweFwiPlxuICAgICAgICAgIDxhcHAtb3ZlcmxheS1pbmZvIFtvdmVybGF5VGV4dF09XCJxdWVzdGlvbi5kZXNjcmlwdGlvbiB8IGR5bmFtaWNUcmFuc2xhdGU6ZHluYW1pY1BhcmFtXCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxuXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc2luZ2xlc2VsZWN0Y2hlY2tib3gnXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxuICAgICAgICA8ZGl2IFtuZ1N0eWxlXT1cInNldFN0eWxlKHF1ZXN0aW9uLmluZGVudClcIj5cbiAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwicXVlc3Rpb24uY2hvaWNlc1wiIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiIFttdWx0aXBsZV09ZmFsc2VcbiAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInF1ZXN0aW9uLnRpdGxlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJmbGV4LWdyb3c6IDE7XCIgKm5nSWY9XCJxdWVzdGlvbi5kZXNjcmlwdGlvblwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiA4cHg7IHBhZGRpbmctdG9wOjNweFwiPlxuICAgICAgICAgIDxhcHAtb3ZlcmxheS1pbmZvIFtvdmVybGF5VGV4dF09XCJxdWVzdGlvbi5kZXNjcmlwdGlvbiB8IGR5bmFtaWNUcmFuc2xhdGU6ZHluYW1pY1BhcmFtXCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxuXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc2ltcGxlY2hlY2tib3gnXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQtY2hlY2tib3hcIj5cbiAgICAgICAgICA8cC1jaGVja2JveCBiaW5hcnk9XCJ0cnVlXCIgaW5wdXRJZD1cImJpbmFyeVwiIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwicXVlc3Rpb24udGl0bGVcIj48L3AtY2hlY2tib3g+XG4gICAgICAgICAgPGxhYmVsIGZvcj1cImJpbmFyeVwiPnt7cXVlc3Rpb24udGl0bGV9fTwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IHN0eWxlPVwiZmxleC1ncm93OiAxO1wiICpuZ0lmPVwicXVlc3Rpb24uZGVzY3JpcHRpb25cIiBzdHlsZT1cInBhZGRpbmctbGVmdDogOHB4OyBwYWRkaW5nLXRvcDogM3B4XCI+XG4gICAgICAgICAgPGFwcC1vdmVybGF5LWluZm8gW292ZXJsYXlUZXh0XT1cInF1ZXN0aW9uLmRlc2NyaXB0aW9uIHwgZHluYW1pY1RyYW5zbGF0ZTpkeW5hbWljUGFyYW1cIj48L2FwcC1vdmVybGF5LWluZm8+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidkaXNwbGF5dGV4dGFzbGFiZWwnXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxuICAgICAgICA8bGFiZWw+e3tnZXRUZXh0KGZvcm0uY29udHJvbHNbcXVlc3Rpb24ubmFtZV0udmFsdWUpfX08L2xhYmVsPlxuICAgICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwicXVlc3Rpb24udGl0bGVcIi8+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJmbGV4LWdyb3c6IDE7XCIgKm5nSWY9XCJxdWVzdGlvbi5kZXNjcmlwdGlvblwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiAycHhcIj5cbiAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBbb3ZlcmxheVRleHRdPVwicXVlc3Rpb24uZGVzY3JpcHRpb24gfCBkeW5hbWljVHJhbnNsYXRlOmR5bmFtaWNQYXJhbVwiPjwvYXBwLW92ZXJsYXktaW5mbz5cblxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2xhYmVsJ1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIHN0eWxlPVwiZGlzcGxheTogZmxleDtcIj5cbiAgICAgICAgPGxhYmVsPnt7cXVlc3Rpb24udGl0bGV9fTwvbGFiZWw+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJmbGV4LWdyb3c6IDE7XCIgKm5nSWY9XCJxdWVzdGlvbi5kZXNjcmlwdGlvblwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiAycHhcIj5cbiAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBbb3ZlcmxheVRleHRdPVwicXVlc3Rpb24uZGVzY3JpcHRpb24gfCBkeW5hbWljVHJhbnNsYXRlOmR5bmFtaWNQYXJhbVwiPjwvYXBwLW92ZXJsYXktaW5mbz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbGFiZWwtd2l0aC1vdmVybGF5J1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIHN0eWxlPVwiZGlzcGxheTogZmxleDtcIj5cbiAgICAgICAgPGFwcC1vdmVybGF5LWluZm8gW2Rpc3BsYXlUZXh0XT1cInF1ZXN0aW9uLnRpdGxlXCIgIFtvdmVybGF5VGV4dF09XCJxdWVzdGlvbi5kZXNjcmlwdGlvbiB8IGR5bmFtaWNUcmFuc2xhdGU6ZHluYW1pY1BhcmFtXCIgW2Rpc3BsYXlBc0xhYmVsXT1cInRydWVcIj48L2FwcC1vdmVybGF5LWluZm8+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbGFiZWwtd2l0aC1saW5rJ1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIHN0eWxlPVwiZGlzcGxheTogZmxleDtcIj5cbiAgICAgICAgPGFwcC1vdmVybGF5LWluZm8gW2Rpc3BsYXlUZXh0XT1cInF1ZXN0aW9uLnRpdGxlXCIgW2Zvcm1Db250cm9sTmFtZV09XCJxdWVzdGlvbi5uYW1lXCIgW292ZXJsYXlUZXh0XT1cInF1ZXN0aW9uLmRlc2NyaXB0aW9uIHwgZHluYW1pY1RyYW5zbGF0ZTpkeW5hbWljUGFyYW1cIiBbbGFiZWxXaXRoTGlua109XCJ0cnVlXCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2xhYmVsLXdpdGgtcG9wdXAnXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxuICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBbZGlzcGxheVRleHRdPVwicXVlc3Rpb24udGl0bGVcIiBbZm9ybUNvbnRyb2xOYW1lXT1cInF1ZXN0aW9uLm5hbWVcIiBbbGFiZWxXaXRoUG9wdXBdPVwicXVlc3Rpb24uZGVzY3JpcHRpb24gfCBkeW5hbWljVHJhbnNsYXRlOmR5bmFtaWNQYXJhbVwiIFtsYWJlbFdpdGhMaW5rXT1cInRydWVcIj48L2FwcC1vdmVybGF5LWluZm8+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICBcbiAgICA8bmctY29udGFpbmVyIGNsYXNzPVwicmVzcG9uc2l2ZVwiICpuZ1N3aXRjaENhc2U9XCIncGFuZWwnXCI+XG4gICAgICA8aW9uLXJvdz5cbiAgICAgICAgPGlvbi1jb2w+XG4gICAgICAgICAgPGlvbi1yb3c+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mIHF1ZXN0aW9uLmVsZW1lbnRzXCI+XG4gICAgICAgICAgICAgIDxpb24tY29sICpuZ0lmPVwiZWxlbWVudC5jb2xFbGVtZW50PT09J0NPTDEnICYmIHZpc2libGVJZihlbGVtZW50LnZpc2libGVJZixlbGVtZW50Lm5hbWUpXCJcbiAgICAgICAgICAgICAgICBbc2l6ZVhsXT1cImVsZW1lbnQuc2l6ZVhMXCIgW3NpemVMZ109XCJlbGVtZW50LnNpemVMR1wiIFtzaXplTWRdPVwiZWxlbWVudC5zaXplTURcIlxuICAgICAgICAgICAgICAgIFtvZmZzZXRNZF09XCJlbGVtZW50Lm9mZlNldE1EXCIgY2xhc3M9XCJjb2wtZml0LWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICA8YXBwLXF1ZXN0aW9uIFtxdWVzdGlvbl09XCJlbGVtZW50XCIgW2Zvcm1dPVwiZm9ybVwiIFtmb3JTY3JlZW5RdWVzdGlvbm5haXJlXT1cImZvclNjcmVlblF1ZXN0aW9ubmFpcmVcIj5cbiAgICAgICAgICAgICAgICA8L2FwcC1xdWVzdGlvbj5cbiAgICAgICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9pb24tcm93PlxuICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgIDxpb24tY29sPlxuICAgICAgICAgIDxpb24tcm93PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiBxdWVzdGlvbi5lbGVtZW50c1wiPlxuICAgICAgICAgICAgICA8aW9uLWNvbCAqbmdJZj1cImVsZW1lbnQuY29sRWxlbWVudD09PSdDT0wyJyAmJiB2aXNpYmxlSWYoZWxlbWVudC52aXNpYmxlSWYsZWxlbWVudC5uYW1lKVwiXG4gICAgICAgICAgICAgICAgW3NpemVYbF09XCJlbGVtZW50LnNpemVYTFwiIFtzaXplTGddPVwiZWxlbWVudC5zaXplTEdcIiBbc2l6ZU1kXT1cImVsZW1lbnQuc2l6ZU1EXCJcbiAgICAgICAgICAgICAgICBbb2Zmc2V0TWRdPVwiZWxlbWVudC5vZmZTZXRNRFwiPlxuICAgICAgICAgICAgICAgIDxhcHAtcXVlc3Rpb24gW3F1ZXN0aW9uXT1cImVsZW1lbnRcIiBbZm9ybV09XCJmb3JtXCIgW2ZvclNjcmVlblF1ZXN0aW9ubmFpcmVdPVwiZm9yU2NyZWVuUXVlc3Rpb25uYWlyZVwiPlxuICAgICAgICAgICAgICAgIDwvYXBwLXF1ZXN0aW9uPlxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2lvbi1yb3c+XG4gICAgICAgIDwvaW9uLWNvbD5cbiAgICAgIDwvaW9uLXJvdz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxkaXYgW25nU3R5bGVdPVwic2V0U3R5bGUocXVlc3Rpb24uaW5kZW50KVwiICpuZ0lmPVwicXVlc3Rpb24udHlwZSE9J3BhbmVsJ1wiPlxuICAgIDxzbWFsbCBjbGFzcz1cInAtZXJyb3JcIiAqbmdJZj1cImlzVmFsaWQhPScnXCIgW0Byb3dFeHBhbnNpb25UcmlnZ2VyXT1cIidhY3RpdmUnXCI+e3tpc1ZhbGlkfX08L3NtYWxsPlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|