@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,1094 @@
|
|
|
1
|
+
import { Component, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { ValidationModel } from '../../models/questionnaire/ValidationModel';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./question.service";
|
|
6
|
+
import * as i2 from "../../services/questionnaire/validation.service";
|
|
7
|
+
import * as i3 from "../../services/util/util.service";
|
|
8
|
+
import * as i4 from "@ionic/angular";
|
|
9
|
+
import * as i5 from "@angular/common";
|
|
10
|
+
import * as i6 from "primeng/api";
|
|
11
|
+
import * as i7 from "@angular/forms";
|
|
12
|
+
import * as i8 from "primeng/autocomplete";
|
|
13
|
+
import * as i9 from "primeng/dialog";
|
|
14
|
+
import * as i10 from "primeng/password";
|
|
15
|
+
import * as i11 from "primeng/inputtext";
|
|
16
|
+
import * as i12 from "primeng/inputmask";
|
|
17
|
+
import * as i13 from "primeng/calendar";
|
|
18
|
+
import * as i14 from "primeng/selectbutton";
|
|
19
|
+
import * as i15 from "../file-uploader/file-uploader.component";
|
|
20
|
+
import * as i16 from "../overlay-info/overlay-info.component";
|
|
21
|
+
import * as i17 from "../money-expect/money-expect.component";
|
|
22
|
+
function DynamicFormPanelComponent_p_dialog_1_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
+
const _r27 = i0.ɵɵgetCurrentView();
|
|
24
|
+
i0.ɵɵelementStart(0, "ion-button", 10);
|
|
25
|
+
i0.ɵɵlistener("click", function DynamicFormPanelComponent_p_dialog_1_ng_template_3_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r27); const ctx_r26 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r26.reject()); });
|
|
26
|
+
i0.ɵɵtext(1);
|
|
27
|
+
i0.ɵɵelementEnd();
|
|
28
|
+
i0.ɵɵelementStart(2, "ion-button", 11);
|
|
29
|
+
i0.ɵɵlistener("click", function DynamicFormPanelComponent_p_dialog_1_ng_template_3_Template_ion_button_click_2_listener() { i0.ɵɵrestoreView(_r27); const ctx_r28 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r28.accept()); });
|
|
30
|
+
i0.ɵɵtext(3);
|
|
31
|
+
i0.ɵɵelementEnd();
|
|
32
|
+
} if (rf & 2) {
|
|
33
|
+
const ctx_r25 = i0.ɵɵnextContext(2);
|
|
34
|
+
i0.ɵɵadvance(1);
|
|
35
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r25.popUpNoActionLabel, " ");
|
|
36
|
+
i0.ɵɵadvance(2);
|
|
37
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r25.popUpYesActionLabel, " ");
|
|
38
|
+
} }
|
|
39
|
+
const _c0 = () => ({ width: "80vw" });
|
|
40
|
+
function DynamicFormPanelComponent_p_dialog_1_Template(rf, ctx) { if (rf & 1) {
|
|
41
|
+
const _r30 = i0.ɵɵgetCurrentView();
|
|
42
|
+
i0.ɵɵelementStart(0, "p-dialog", 8);
|
|
43
|
+
i0.ɵɵlistener("visibleChange", function DynamicFormPanelComponent_p_dialog_1_Template_p_dialog_visibleChange_0_listener($event) { i0.ɵɵrestoreView(_r30); const ctx_r29 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r29.displayPosition = $event); });
|
|
44
|
+
i0.ɵɵelementStart(1, "p");
|
|
45
|
+
i0.ɵɵtext(2);
|
|
46
|
+
i0.ɵɵelementEnd();
|
|
47
|
+
i0.ɵɵtemplate(3, DynamicFormPanelComponent_p_dialog_1_ng_template_3_Template, 4, 2, "ng-template", 9);
|
|
48
|
+
i0.ɵɵelementEnd();
|
|
49
|
+
} if (rf & 2) {
|
|
50
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
51
|
+
i0.ɵɵstyleMap(i0.ɵɵpureFunction0(10, _c0));
|
|
52
|
+
i0.ɵɵproperty("header", ctx_r0.popUpHeader)("visible", ctx_r0.displayPosition)("position", ctx_r0.position)("modal", true)("baseZIndex", 5000)("draggable", false)("resizable", false);
|
|
53
|
+
i0.ɵɵadvance(2);
|
|
54
|
+
i0.ɵɵtextInterpolate1("", ctx_r0.popUpText, " ");
|
|
55
|
+
} }
|
|
56
|
+
function DynamicFormPanelComponent_div_2_label_1_Template(rf, ctx) { if (rf & 1) {
|
|
57
|
+
i0.ɵɵelementStart(0, "label");
|
|
58
|
+
i0.ɵɵtext(1);
|
|
59
|
+
i0.ɵɵelementEnd();
|
|
60
|
+
} if (rf & 2) {
|
|
61
|
+
const ctx_r31 = i0.ɵɵnextContext(2);
|
|
62
|
+
i0.ɵɵattribute("for", ctx_r31.question.name);
|
|
63
|
+
i0.ɵɵadvance(1);
|
|
64
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r31.question.title, "");
|
|
65
|
+
} }
|
|
66
|
+
function DynamicFormPanelComponent_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
67
|
+
i0.ɵɵelementStart(0, "div", 12);
|
|
68
|
+
i0.ɵɵtemplate(1, DynamicFormPanelComponent_div_2_label_1_Template, 2, 2, "label", 3);
|
|
69
|
+
i0.ɵɵelementEnd();
|
|
70
|
+
} if (rf & 2) {
|
|
71
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
72
|
+
i0.ɵɵadvance(1);
|
|
73
|
+
i0.ɵɵproperty("ngIf", ctx_r1.question.indent === 1 && ctx_r1.question.type != "html");
|
|
74
|
+
} }
|
|
75
|
+
function DynamicFormPanelComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
76
|
+
i0.ɵɵelementStart(0, "div", 12);
|
|
77
|
+
i0.ɵɵtext(1);
|
|
78
|
+
i0.ɵɵelementEnd();
|
|
79
|
+
} if (rf & 2) {
|
|
80
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
81
|
+
i0.ɵɵadvance(1);
|
|
82
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.question.title, " ");
|
|
83
|
+
} }
|
|
84
|
+
function DynamicFormPanelComponent_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
85
|
+
i0.ɵɵelementStart(0, "div", 12);
|
|
86
|
+
i0.ɵɵtext(1);
|
|
87
|
+
i0.ɵɵelementEnd();
|
|
88
|
+
} if (rf & 2) {
|
|
89
|
+
const ctx_r3 = i0.ɵɵnextContext();
|
|
90
|
+
i0.ɵɵadvance(1);
|
|
91
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r3.question.title, " ");
|
|
92
|
+
} }
|
|
93
|
+
function DynamicFormPanelComponent_div_5_money_expect_1_Template(rf, ctx) { if (rf & 1) {
|
|
94
|
+
i0.ɵɵelement(0, "money-expect");
|
|
95
|
+
} }
|
|
96
|
+
function DynamicFormPanelComponent_div_5_app_regular_employer_date_2_Template(rf, ctx) { if (rf & 1) {
|
|
97
|
+
i0.ɵɵelement(0, "app-regular-employer-date", 14);
|
|
98
|
+
} if (rf & 2) {
|
|
99
|
+
const ctx_r33 = i0.ɵɵnextContext(2);
|
|
100
|
+
i0.ɵɵproperty("form", ctx_r33.form);
|
|
101
|
+
} }
|
|
102
|
+
function DynamicFormPanelComponent_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
103
|
+
i0.ɵɵelementStart(0, "div");
|
|
104
|
+
i0.ɵɵtemplate(1, DynamicFormPanelComponent_div_5_money_expect_1_Template, 1, 0, "money-expect", 3)(2, DynamicFormPanelComponent_div_5_app_regular_employer_date_2_Template, 1, 1, "app-regular-employer-date", 13);
|
|
105
|
+
i0.ɵɵelementEnd();
|
|
106
|
+
} if (rf & 2) {
|
|
107
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
108
|
+
i0.ɵɵadvance(1);
|
|
109
|
+
i0.ɵɵproperty("ngIf", ctx_r4.question.componentName === "money-expect");
|
|
110
|
+
i0.ɵɵadvance(1);
|
|
111
|
+
i0.ɵɵproperty("ngIf", ctx_r4.question.componentName === "app-regular-emp-date");
|
|
112
|
+
} }
|
|
113
|
+
function DynamicFormPanelComponent_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
114
|
+
i0.ɵɵelement(0, "div", 15);
|
|
115
|
+
} if (rf & 2) {
|
|
116
|
+
const ctx_r5 = i0.ɵɵnextContext();
|
|
117
|
+
i0.ɵɵproperty("innerHTML", ctx_r5.question.html, i0.ɵɵsanitizeHtml);
|
|
118
|
+
} }
|
|
119
|
+
function DynamicFormPanelComponent_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
120
|
+
i0.ɵɵelement(0, "div", 16);
|
|
121
|
+
} if (rf & 2) {
|
|
122
|
+
const ctx_r6 = i0.ɵɵnextContext();
|
|
123
|
+
i0.ɵɵproperty("innerHTML", ctx_r6.question.html, i0.ɵɵsanitizeHtml);
|
|
124
|
+
} }
|
|
125
|
+
function DynamicFormPanelComponent_div_8_Template(rf, ctx) { if (rf & 1) {
|
|
126
|
+
i0.ɵɵelementStart(0, "div");
|
|
127
|
+
i0.ɵɵelement(1, "p-calendar", 17);
|
|
128
|
+
i0.ɵɵelementEnd();
|
|
129
|
+
} if (rf & 2) {
|
|
130
|
+
const ctx_r7 = i0.ɵɵnextContext();
|
|
131
|
+
i0.ɵɵadvance(1);
|
|
132
|
+
i0.ɵɵproperty("formControlName", ctx_r7.question.name)("id", ctx_r7.question.name)("monthNavigator", true)("yearNavigator", true)("readonlyInput", true)("showIcon", true)("minDate", ctx_r7.minDate)("maxDate", ctx_r7.maxDate);
|
|
133
|
+
} }
|
|
134
|
+
function DynamicFormPanelComponent_div_9_Template(rf, ctx) { if (rf & 1) {
|
|
135
|
+
i0.ɵɵelementStart(0, "div");
|
|
136
|
+
i0.ɵɵelement(1, "p-calendar", 18);
|
|
137
|
+
i0.ɵɵelementEnd();
|
|
138
|
+
} if (rf & 2) {
|
|
139
|
+
const ctx_r8 = i0.ɵɵnextContext();
|
|
140
|
+
i0.ɵɵadvance(1);
|
|
141
|
+
i0.ɵɵproperty("formControlName", ctx_r8.question.name)("id", ctx_r8.question.name)("monthNavigator", true)("yearNavigator", true)("inputId", ctx_r8.question.name)("readonlyInput", true)("showIcon", true);
|
|
142
|
+
} }
|
|
143
|
+
function DynamicFormPanelComponent_div_10_Template(rf, ctx) { if (rf & 1) {
|
|
144
|
+
i0.ɵɵelementStart(0, "div");
|
|
145
|
+
i0.ɵɵelement(1, "p-calendar", 19);
|
|
146
|
+
i0.ɵɵelementEnd();
|
|
147
|
+
} if (rf & 2) {
|
|
148
|
+
const ctx_r9 = i0.ɵɵnextContext();
|
|
149
|
+
i0.ɵɵadvance(1);
|
|
150
|
+
i0.ɵɵproperty("formControlName", ctx_r9.question.name)("id", ctx_r9.question.name)("monthNavigator", true)("yearNavigator", true)("inputId", ctx_r9.question.name)("maxDate", ctx_r9.maxDate)("readonlyInput", true)("showIcon", true);
|
|
151
|
+
} }
|
|
152
|
+
function DynamicFormPanelComponent_div_11_Template(rf, ctx) { if (rf & 1) {
|
|
153
|
+
const _r35 = i0.ɵɵgetCurrentView();
|
|
154
|
+
i0.ɵɵelementStart(0, "div")(1, "p-calendar", 20);
|
|
155
|
+
i0.ɵɵlistener("onShow", function DynamicFormPanelComponent_div_11_Template_p_calendar_onShow_1_listener($event) { i0.ɵɵrestoreView(_r35); const ctx_r34 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r34.setMinDate($event, ctx_r34.question)); });
|
|
156
|
+
i0.ɵɵelementEnd()();
|
|
157
|
+
} if (rf & 2) {
|
|
158
|
+
const ctx_r10 = i0.ɵɵnextContext();
|
|
159
|
+
i0.ɵɵadvance(1);
|
|
160
|
+
i0.ɵɵproperty("formControlName", ctx_r10.question.name)("id", ctx_r10.question.name)("monthNavigator", true)("yearNavigator", true)("inputId", ctx_r10.question.name)("minDate", ctx_r10.minDate)("readonlyInput", true)("showIcon", true);
|
|
161
|
+
} }
|
|
162
|
+
function DynamicFormPanelComponent_div_12_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
163
|
+
i0.ɵɵelementStart(0, "div", 24);
|
|
164
|
+
i0.ɵɵelement(1, "app-overlay-info", 25);
|
|
165
|
+
i0.ɵɵelementEnd();
|
|
166
|
+
} if (rf & 2) {
|
|
167
|
+
const ctx_r36 = i0.ɵɵnextContext(2);
|
|
168
|
+
i0.ɵɵadvance(1);
|
|
169
|
+
i0.ɵɵproperty("overlayText", ctx_r36.question.description);
|
|
170
|
+
} }
|
|
171
|
+
function DynamicFormPanelComponent_div_12_Template(rf, ctx) { if (rf & 1) {
|
|
172
|
+
i0.ɵɵelementStart(0, "div")(1, "div", 21);
|
|
173
|
+
i0.ɵɵelement(2, "p-password", 22);
|
|
174
|
+
i0.ɵɵtemplate(3, DynamicFormPanelComponent_div_12_div_3_Template, 2, 1, "div", 23);
|
|
175
|
+
i0.ɵɵelementEnd()();
|
|
176
|
+
} if (rf & 2) {
|
|
177
|
+
const ctx_r11 = i0.ɵɵnextContext();
|
|
178
|
+
i0.ɵɵadvance(2);
|
|
179
|
+
i0.ɵɵproperty("id", ctx_r11.question.name)("formControlName", ctx_r11.question.name)("toggleMask", true)("maxLength", ctx_r11.question.maxLength);
|
|
180
|
+
i0.ɵɵadvance(1);
|
|
181
|
+
i0.ɵɵproperty("ngIf", ctx_r11.question.description);
|
|
182
|
+
} }
|
|
183
|
+
function DynamicFormPanelComponent_div_13_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
184
|
+
i0.ɵɵelementStart(0, "div", 24);
|
|
185
|
+
i0.ɵɵelement(1, "app-overlay-info", 25);
|
|
186
|
+
i0.ɵɵelementEnd();
|
|
187
|
+
} if (rf & 2) {
|
|
188
|
+
const ctx_r37 = i0.ɵɵnextContext(2);
|
|
189
|
+
i0.ɵɵadvance(1);
|
|
190
|
+
i0.ɵɵproperty("overlayText", ctx_r37.question.description);
|
|
191
|
+
} }
|
|
192
|
+
function DynamicFormPanelComponent_div_13_Template(rf, ctx) { if (rf & 1) {
|
|
193
|
+
i0.ɵɵelementStart(0, "div")(1, "div", 21);
|
|
194
|
+
i0.ɵɵelement(2, "p-password", 22);
|
|
195
|
+
i0.ɵɵtemplate(3, DynamicFormPanelComponent_div_13_div_3_Template, 2, 1, "div", 23);
|
|
196
|
+
i0.ɵɵelementEnd()();
|
|
197
|
+
} if (rf & 2) {
|
|
198
|
+
const ctx_r12 = i0.ɵɵnextContext();
|
|
199
|
+
i0.ɵɵadvance(2);
|
|
200
|
+
i0.ɵɵproperty("id", ctx_r12.question.name)("formControlName", ctx_r12.question.name)("toggleMask", true)("maxLength", ctx_r12.question.maxLength);
|
|
201
|
+
i0.ɵɵadvance(1);
|
|
202
|
+
i0.ɵɵproperty("ngIf", ctx_r12.question.description);
|
|
203
|
+
} }
|
|
204
|
+
function DynamicFormPanelComponent_div_14_input_2_Template(rf, ctx) { if (rf & 1) {
|
|
205
|
+
i0.ɵɵelement(0, "input", 34);
|
|
206
|
+
} if (rf & 2) {
|
|
207
|
+
const ctx_r38 = i0.ɵɵnextContext(2);
|
|
208
|
+
i0.ɵɵproperty("id", ctx_r38.question.name)("formControlName", ctx_r38.question.name)("size", ctx_r38.question.size)("maxLength", ctx_r38.question.maxLength);
|
|
209
|
+
} }
|
|
210
|
+
function DynamicFormPanelComponent_div_14_input_3_Template(rf, ctx) { if (rf & 1) {
|
|
211
|
+
i0.ɵɵelement(0, "input", 35);
|
|
212
|
+
} if (rf & 2) {
|
|
213
|
+
const ctx_r39 = i0.ɵɵnextContext(2);
|
|
214
|
+
i0.ɵɵproperty("id", ctx_r39.question.name)("formControlName", ctx_r39.question.name)("size", ctx_r39.question.size);
|
|
215
|
+
} }
|
|
216
|
+
function DynamicFormPanelComponent_div_14_input_4_Template(rf, ctx) { if (rf & 1) {
|
|
217
|
+
i0.ɵɵelement(0, "input", 36);
|
|
218
|
+
} if (rf & 2) {
|
|
219
|
+
const ctx_r40 = i0.ɵɵnextContext(2);
|
|
220
|
+
i0.ɵɵproperty("id", ctx_r40.question.name)("formControlName", ctx_r40.question.name)("maxLength", ctx_r40.question.maxLength);
|
|
221
|
+
} }
|
|
222
|
+
function DynamicFormPanelComponent_div_14_input_5_Template(rf, ctx) { if (rf & 1) {
|
|
223
|
+
i0.ɵɵelement(0, "input", 37);
|
|
224
|
+
} if (rf & 2) {
|
|
225
|
+
const ctx_r41 = i0.ɵɵnextContext(2);
|
|
226
|
+
i0.ɵɵproperty("id", ctx_r41.question.name)("formControlName", ctx_r41.question.name);
|
|
227
|
+
} }
|
|
228
|
+
function DynamicFormPanelComponent_div_14_input_6_Template(rf, ctx) { if (rf & 1) {
|
|
229
|
+
const _r48 = i0.ɵɵgetCurrentView();
|
|
230
|
+
i0.ɵɵelementStart(0, "input", 38);
|
|
231
|
+
i0.ɵɵlistener("blur", function DynamicFormPanelComponent_div_14_input_6_Template_input_blur_0_listener() { i0.ɵɵrestoreView(_r48); const ctx_r47 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r47.validate(ctx_r47.question)); });
|
|
232
|
+
i0.ɵɵelementEnd();
|
|
233
|
+
} if (rf & 2) {
|
|
234
|
+
const ctx_r42 = i0.ɵɵnextContext(2);
|
|
235
|
+
i0.ɵɵproperty("id", ctx_r42.question.name)("formControlName", ctx_r42.question.name)("size", ctx_r42.question.size)("maxLength", ctx_r42.question.maxLength);
|
|
236
|
+
} }
|
|
237
|
+
function DynamicFormPanelComponent_div_14_input_7_Template(rf, ctx) { if (rf & 1) {
|
|
238
|
+
i0.ɵɵelement(0, "input", 39);
|
|
239
|
+
} if (rf & 2) {
|
|
240
|
+
const ctx_r43 = i0.ɵɵnextContext(2);
|
|
241
|
+
i0.ɵɵproperty("id", ctx_r43.question.name)("formControlName", ctx_r43.question.name)("size", ctx_r43.question.size);
|
|
242
|
+
} }
|
|
243
|
+
function DynamicFormPanelComponent_div_14_input_8_Template(rf, ctx) { if (rf & 1) {
|
|
244
|
+
i0.ɵɵelement(0, "input", 40);
|
|
245
|
+
} if (rf & 2) {
|
|
246
|
+
const ctx_r44 = i0.ɵɵnextContext(2);
|
|
247
|
+
i0.ɵɵproperty("id", ctx_r44.question.name)("formControlName", ctx_r44.question.name)("maxLength", ctx_r44.question.maxLength);
|
|
248
|
+
} }
|
|
249
|
+
function DynamicFormPanelComponent_div_14_input_9_Template(rf, ctx) { if (rf & 1) {
|
|
250
|
+
i0.ɵɵelement(0, "input", 41);
|
|
251
|
+
} if (rf & 2) {
|
|
252
|
+
const ctx_r45 = i0.ɵɵnextContext(2);
|
|
253
|
+
i0.ɵɵproperty("id", ctx_r45.question.name)("formControlName", ctx_r45.question.name);
|
|
254
|
+
} }
|
|
255
|
+
function DynamicFormPanelComponent_div_14_div_10_Template(rf, ctx) { if (rf & 1) {
|
|
256
|
+
i0.ɵɵelementStart(0, "div", 24);
|
|
257
|
+
i0.ɵɵelement(1, "app-overlay-info", 25);
|
|
258
|
+
i0.ɵɵelementEnd();
|
|
259
|
+
} if (rf & 2) {
|
|
260
|
+
const ctx_r46 = i0.ɵɵnextContext(2);
|
|
261
|
+
i0.ɵɵadvance(1);
|
|
262
|
+
i0.ɵɵproperty("overlayText", ctx_r46.question.description);
|
|
263
|
+
} }
|
|
264
|
+
function DynamicFormPanelComponent_div_14_Template(rf, ctx) { if (rf & 1) {
|
|
265
|
+
i0.ɵɵelementStart(0, "div")(1, "div", 21);
|
|
266
|
+
i0.ɵɵtemplate(2, DynamicFormPanelComponent_div_14_input_2_Template, 1, 4, "input", 26)(3, DynamicFormPanelComponent_div_14_input_3_Template, 1, 3, "input", 27)(4, DynamicFormPanelComponent_div_14_input_4_Template, 1, 3, "input", 28)(5, DynamicFormPanelComponent_div_14_input_5_Template, 1, 2, "input", 29)(6, DynamicFormPanelComponent_div_14_input_6_Template, 1, 4, "input", 30)(7, DynamicFormPanelComponent_div_14_input_7_Template, 1, 3, "input", 31)(8, DynamicFormPanelComponent_div_14_input_8_Template, 1, 3, "input", 32)(9, DynamicFormPanelComponent_div_14_input_9_Template, 1, 2, "input", 33)(10, DynamicFormPanelComponent_div_14_div_10_Template, 2, 1, "div", 23);
|
|
267
|
+
i0.ɵɵelementEnd()();
|
|
268
|
+
} if (rf & 2) {
|
|
269
|
+
const ctx_r13 = i0.ɵɵnextContext();
|
|
270
|
+
i0.ɵɵadvance(2);
|
|
271
|
+
i0.ɵɵproperty("ngIf", ctx_r13.question.inputType && ctx_r13.question.inputType === "text" && !ctx_r13.question.isRequired && ctx_r13.question.size && ctx_r13.question.maxLength);
|
|
272
|
+
i0.ɵɵadvance(1);
|
|
273
|
+
i0.ɵɵproperty("ngIf", ctx_r13.question.inputType && ctx_r13.question.inputType === "text" && !ctx_r13.question.isRequired && ctx_r13.question.size && !ctx_r13.question.maxLength);
|
|
274
|
+
i0.ɵɵadvance(1);
|
|
275
|
+
i0.ɵɵproperty("ngIf", ctx_r13.question.inputType && ctx_r13.question.inputType === "text" && !ctx_r13.question.isRequired && !ctx_r13.question.size && ctx_r13.question.maxLength);
|
|
276
|
+
i0.ɵɵadvance(1);
|
|
277
|
+
i0.ɵɵproperty("ngIf", ctx_r13.question.inputType && ctx_r13.question.inputType === "text" && !ctx_r13.question.isRequired && !ctx_r13.question.size && !ctx_r13.question.maxLength);
|
|
278
|
+
i0.ɵɵadvance(1);
|
|
279
|
+
i0.ɵɵproperty("ngIf", ctx_r13.question.inputType && ctx_r13.question.inputType === "text" && ctx_r13.question.isRequired && ctx_r13.question.size && ctx_r13.question.maxLength);
|
|
280
|
+
i0.ɵɵadvance(1);
|
|
281
|
+
i0.ɵɵproperty("ngIf", ctx_r13.question.inputType && ctx_r13.question.inputType === "text" && ctx_r13.question.isRequired && ctx_r13.question.size && !ctx_r13.question.maxLength);
|
|
282
|
+
i0.ɵɵadvance(1);
|
|
283
|
+
i0.ɵɵproperty("ngIf", ctx_r13.question.inputType && ctx_r13.question.inputType === "text" && ctx_r13.question.isRequired && !ctx_r13.question.size && ctx_r13.question.maxLength);
|
|
284
|
+
i0.ɵɵadvance(1);
|
|
285
|
+
i0.ɵɵproperty("ngIf", ctx_r13.question.inputType && ctx_r13.question.inputType === "text" && ctx_r13.question.isRequired && !ctx_r13.question.size && !ctx_r13.question.maxLength);
|
|
286
|
+
i0.ɵɵadvance(1);
|
|
287
|
+
i0.ɵɵproperty("ngIf", ctx_r13.question.description);
|
|
288
|
+
} }
|
|
289
|
+
function DynamicFormPanelComponent_div_15_input_2_Template(rf, ctx) { if (rf & 1) {
|
|
290
|
+
i0.ɵɵelement(0, "input", 34);
|
|
291
|
+
} if (rf & 2) {
|
|
292
|
+
const ctx_r49 = i0.ɵɵnextContext(2);
|
|
293
|
+
i0.ɵɵproperty("id", ctx_r49.question.name)("formControlName", ctx_r49.question.name)("size", ctx_r49.question.size)("maxLength", ctx_r49.question.maxLength);
|
|
294
|
+
} }
|
|
295
|
+
function DynamicFormPanelComponent_div_15_input_3_Template(rf, ctx) { if (rf & 1) {
|
|
296
|
+
i0.ɵɵelement(0, "input", 35);
|
|
297
|
+
} if (rf & 2) {
|
|
298
|
+
const ctx_r50 = i0.ɵɵnextContext(2);
|
|
299
|
+
i0.ɵɵproperty("id", ctx_r50.question.name)("formControlName", ctx_r50.question.name)("size", ctx_r50.question.size);
|
|
300
|
+
} }
|
|
301
|
+
function DynamicFormPanelComponent_div_15_input_4_Template(rf, ctx) { if (rf & 1) {
|
|
302
|
+
i0.ɵɵelement(0, "input", 36);
|
|
303
|
+
} if (rf & 2) {
|
|
304
|
+
const ctx_r51 = i0.ɵɵnextContext(2);
|
|
305
|
+
i0.ɵɵproperty("id", ctx_r51.question.name)("formControlName", ctx_r51.question.name)("maxLength", ctx_r51.question.maxLength);
|
|
306
|
+
} }
|
|
307
|
+
function DynamicFormPanelComponent_div_15_input_5_Template(rf, ctx) { if (rf & 1) {
|
|
308
|
+
i0.ɵɵelement(0, "input", 37);
|
|
309
|
+
} if (rf & 2) {
|
|
310
|
+
const ctx_r52 = i0.ɵɵnextContext(2);
|
|
311
|
+
i0.ɵɵproperty("id", ctx_r52.question.name)("formControlName", ctx_r52.question.name);
|
|
312
|
+
} }
|
|
313
|
+
function DynamicFormPanelComponent_div_15_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
314
|
+
i0.ɵɵelementStart(0, "div", 24);
|
|
315
|
+
i0.ɵɵelement(1, "app-overlay-info", 25);
|
|
316
|
+
i0.ɵɵelementEnd();
|
|
317
|
+
} if (rf & 2) {
|
|
318
|
+
const ctx_r53 = i0.ɵɵnextContext(2);
|
|
319
|
+
i0.ɵɵadvance(1);
|
|
320
|
+
i0.ɵɵproperty("overlayText", ctx_r53.question.description);
|
|
321
|
+
} }
|
|
322
|
+
function DynamicFormPanelComponent_div_15_Template(rf, ctx) { if (rf & 1) {
|
|
323
|
+
i0.ɵɵelementStart(0, "div")(1, "div", 21);
|
|
324
|
+
i0.ɵɵtemplate(2, DynamicFormPanelComponent_div_15_input_2_Template, 1, 4, "input", 26)(3, DynamicFormPanelComponent_div_15_input_3_Template, 1, 3, "input", 27)(4, DynamicFormPanelComponent_div_15_input_4_Template, 1, 3, "input", 28)(5, DynamicFormPanelComponent_div_15_input_5_Template, 1, 2, "input", 29)(6, DynamicFormPanelComponent_div_15_div_6_Template, 2, 1, "div", 23);
|
|
325
|
+
i0.ɵɵelementEnd()();
|
|
326
|
+
} if (rf & 2) {
|
|
327
|
+
const ctx_r14 = i0.ɵɵnextContext();
|
|
328
|
+
i0.ɵɵadvance(2);
|
|
329
|
+
i0.ɵɵproperty("ngIf", ctx_r14.question.inputType && ctx_r14.question.inputType === "text" && !ctx_r14.question.isRequired && ctx_r14.question.size && ctx_r14.question.maxLength);
|
|
330
|
+
i0.ɵɵadvance(1);
|
|
331
|
+
i0.ɵɵproperty("ngIf", ctx_r14.question.inputType && ctx_r14.question.inputType === "text" && !ctx_r14.question.isRequired && ctx_r14.question.size && !ctx_r14.question.maxLength);
|
|
332
|
+
i0.ɵɵadvance(1);
|
|
333
|
+
i0.ɵɵproperty("ngIf", ctx_r14.question.inputType && ctx_r14.question.inputType === "text" && !ctx_r14.question.isRequired && !ctx_r14.question.size && ctx_r14.question.maxLength);
|
|
334
|
+
i0.ɵɵadvance(1);
|
|
335
|
+
i0.ɵɵproperty("ngIf", ctx_r14.question.inputType && ctx_r14.question.inputType === "text" && !ctx_r14.question.isRequired && !ctx_r14.question.size && !ctx_r14.question.maxLength);
|
|
336
|
+
i0.ɵɵadvance(1);
|
|
337
|
+
i0.ɵɵproperty("ngIf", ctx_r14.question.description);
|
|
338
|
+
} }
|
|
339
|
+
function DynamicFormPanelComponent_div_16_p_inputMask_2_Template(rf, ctx) { if (rf & 1) {
|
|
340
|
+
i0.ɵɵelement(0, "p-inputMask", 44);
|
|
341
|
+
} if (rf & 2) {
|
|
342
|
+
const ctx_r54 = i0.ɵɵnextContext(2);
|
|
343
|
+
i0.ɵɵproperty("id", ctx_r54.question.name)("formControlName", ctx_r54.question.name);
|
|
344
|
+
} }
|
|
345
|
+
function DynamicFormPanelComponent_div_16_p_inputMask_3_Template(rf, ctx) { if (rf & 1) {
|
|
346
|
+
i0.ɵɵelement(0, "p-inputMask", 45);
|
|
347
|
+
} if (rf & 2) {
|
|
348
|
+
const ctx_r55 = i0.ɵɵnextContext(2);
|
|
349
|
+
i0.ɵɵproperty("id", ctx_r55.question.name)("formControlName", ctx_r55.question.name);
|
|
350
|
+
} }
|
|
351
|
+
function DynamicFormPanelComponent_div_16_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
352
|
+
i0.ɵɵelementStart(0, "div", 24);
|
|
353
|
+
i0.ɵɵelement(1, "app-overlay-info", 25);
|
|
354
|
+
i0.ɵɵelementEnd();
|
|
355
|
+
} if (rf & 2) {
|
|
356
|
+
const ctx_r56 = i0.ɵɵnextContext(2);
|
|
357
|
+
i0.ɵɵadvance(1);
|
|
358
|
+
i0.ɵɵproperty("overlayText", ctx_r56.question.description);
|
|
359
|
+
} }
|
|
360
|
+
function DynamicFormPanelComponent_div_16_Template(rf, ctx) { if (rf & 1) {
|
|
361
|
+
i0.ɵɵelementStart(0, "div")(1, "div", 21);
|
|
362
|
+
i0.ɵɵtemplate(2, DynamicFormPanelComponent_div_16_p_inputMask_2_Template, 1, 2, "p-inputMask", 42)(3, DynamicFormPanelComponent_div_16_p_inputMask_3_Template, 1, 2, "p-inputMask", 43)(4, DynamicFormPanelComponent_div_16_div_4_Template, 2, 1, "div", 23);
|
|
363
|
+
i0.ɵɵelementEnd()();
|
|
364
|
+
} if (rf & 2) {
|
|
365
|
+
const ctx_r15 = i0.ɵɵnextContext();
|
|
366
|
+
i0.ɵɵadvance(2);
|
|
367
|
+
i0.ɵɵproperty("ngIf", ctx_r15.question.inputType && ctx_r15.question.inputType === "text" && !ctx_r15.question.isRequired);
|
|
368
|
+
i0.ɵɵadvance(1);
|
|
369
|
+
i0.ɵɵproperty("ngIf", ctx_r15.question.inputType && ctx_r15.question.inputType === "text" && ctx_r15.question.isRequired);
|
|
370
|
+
i0.ɵɵadvance(1);
|
|
371
|
+
i0.ɵɵproperty("ngIf", ctx_r15.question.description);
|
|
372
|
+
} }
|
|
373
|
+
function DynamicFormPanelComponent_div_17_p_inputMask_2_Template(rf, ctx) { if (rf & 1) {
|
|
374
|
+
i0.ɵɵelement(0, "p-inputMask", 48);
|
|
375
|
+
} if (rf & 2) {
|
|
376
|
+
const ctx_r57 = i0.ɵɵnextContext(2);
|
|
377
|
+
i0.ɵɵproperty("id", ctx_r57.question.name)("formControlName", ctx_r57.question.name);
|
|
378
|
+
} }
|
|
379
|
+
function DynamicFormPanelComponent_div_17_p_inputMask_3_Template(rf, ctx) { if (rf & 1) {
|
|
380
|
+
i0.ɵɵelement(0, "p-inputMask", 49);
|
|
381
|
+
} if (rf & 2) {
|
|
382
|
+
const ctx_r58 = i0.ɵɵnextContext(2);
|
|
383
|
+
i0.ɵɵproperty("id", ctx_r58.question.name)("formControlName", ctx_r58.question.name);
|
|
384
|
+
} }
|
|
385
|
+
function DynamicFormPanelComponent_div_17_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
386
|
+
i0.ɵɵelementStart(0, "div", 24);
|
|
387
|
+
i0.ɵɵelement(1, "app-overlay-info", 25);
|
|
388
|
+
i0.ɵɵelementEnd();
|
|
389
|
+
} if (rf & 2) {
|
|
390
|
+
const ctx_r59 = i0.ɵɵnextContext(2);
|
|
391
|
+
i0.ɵɵadvance(1);
|
|
392
|
+
i0.ɵɵproperty("overlayText", ctx_r59.question.description);
|
|
393
|
+
} }
|
|
394
|
+
function DynamicFormPanelComponent_div_17_Template(rf, ctx) { if (rf & 1) {
|
|
395
|
+
i0.ɵɵelementStart(0, "div")(1, "div", 21);
|
|
396
|
+
i0.ɵɵtemplate(2, DynamicFormPanelComponent_div_17_p_inputMask_2_Template, 1, 2, "p-inputMask", 46)(3, DynamicFormPanelComponent_div_17_p_inputMask_3_Template, 1, 2, "p-inputMask", 47)(4, DynamicFormPanelComponent_div_17_div_4_Template, 2, 1, "div", 23);
|
|
397
|
+
i0.ɵɵelementEnd()();
|
|
398
|
+
} if (rf & 2) {
|
|
399
|
+
const ctx_r16 = i0.ɵɵnextContext();
|
|
400
|
+
i0.ɵɵadvance(2);
|
|
401
|
+
i0.ɵɵproperty("ngIf", ctx_r16.question.isRequired);
|
|
402
|
+
i0.ɵɵadvance(1);
|
|
403
|
+
i0.ɵɵproperty("ngIf", !ctx_r16.question.isRequired);
|
|
404
|
+
i0.ɵɵadvance(1);
|
|
405
|
+
i0.ɵɵproperty("ngIf", ctx_r16.question.description);
|
|
406
|
+
} }
|
|
407
|
+
function DynamicFormPanelComponent_div_18_input_2_Template(rf, ctx) { if (rf & 1) {
|
|
408
|
+
i0.ɵɵelement(0, "input", 51);
|
|
409
|
+
} if (rf & 2) {
|
|
410
|
+
const ctx_r60 = i0.ɵɵnextContext(2);
|
|
411
|
+
i0.ɵɵproperty("id", ctx_r60.question.name)("formControlName", ctx_r60.question.name)("size", ctx_r60.question.size)("maxLength", ctx_r60.question.maxLength);
|
|
412
|
+
} }
|
|
413
|
+
function DynamicFormPanelComponent_div_18_input_3_Template(rf, ctx) { if (rf & 1) {
|
|
414
|
+
i0.ɵɵelement(0, "input", 39);
|
|
415
|
+
} if (rf & 2) {
|
|
416
|
+
const ctx_r61 = i0.ɵɵnextContext(2);
|
|
417
|
+
i0.ɵɵproperty("id", ctx_r61.question.name)("formControlName", ctx_r61.question.name)("size", ctx_r61.question.size);
|
|
418
|
+
} }
|
|
419
|
+
function DynamicFormPanelComponent_div_18_input_4_Template(rf, ctx) { if (rf & 1) {
|
|
420
|
+
i0.ɵɵelement(0, "input", 40);
|
|
421
|
+
} if (rf & 2) {
|
|
422
|
+
const ctx_r62 = i0.ɵɵnextContext(2);
|
|
423
|
+
i0.ɵɵproperty("id", ctx_r62.question.name)("formControlName", ctx_r62.question.name)("maxLength", ctx_r62.question.maxLength);
|
|
424
|
+
} }
|
|
425
|
+
function DynamicFormPanelComponent_div_18_input_5_Template(rf, ctx) { if (rf & 1) {
|
|
426
|
+
i0.ɵɵelement(0, "input", 41);
|
|
427
|
+
} if (rf & 2) {
|
|
428
|
+
const ctx_r63 = i0.ɵɵnextContext(2);
|
|
429
|
+
i0.ɵɵproperty("id", ctx_r63.question.name)("formControlName", ctx_r63.question.name);
|
|
430
|
+
} }
|
|
431
|
+
function DynamicFormPanelComponent_div_18_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
432
|
+
i0.ɵɵelementStart(0, "div", 24);
|
|
433
|
+
i0.ɵɵelement(1, "app-overlay-info", 25);
|
|
434
|
+
i0.ɵɵelementEnd();
|
|
435
|
+
} if (rf & 2) {
|
|
436
|
+
const ctx_r64 = i0.ɵɵnextContext(2);
|
|
437
|
+
i0.ɵɵadvance(1);
|
|
438
|
+
i0.ɵɵproperty("overlayText", ctx_r64.question.description);
|
|
439
|
+
} }
|
|
440
|
+
function DynamicFormPanelComponent_div_18_Template(rf, ctx) { if (rf & 1) {
|
|
441
|
+
i0.ɵɵelementStart(0, "div")(1, "div", 21);
|
|
442
|
+
i0.ɵɵtemplate(2, DynamicFormPanelComponent_div_18_input_2_Template, 1, 4, "input", 50)(3, DynamicFormPanelComponent_div_18_input_3_Template, 1, 3, "input", 31)(4, DynamicFormPanelComponent_div_18_input_4_Template, 1, 3, "input", 32)(5, DynamicFormPanelComponent_div_18_input_5_Template, 1, 2, "input", 33)(6, DynamicFormPanelComponent_div_18_div_6_Template, 2, 1, "div", 23);
|
|
443
|
+
i0.ɵɵelementEnd()();
|
|
444
|
+
} if (rf & 2) {
|
|
445
|
+
const ctx_r17 = i0.ɵɵnextContext();
|
|
446
|
+
i0.ɵɵadvance(2);
|
|
447
|
+
i0.ɵɵproperty("ngIf", ctx_r17.question.inputType && ctx_r17.question.inputType === "text" && ctx_r17.question.isRequired && ctx_r17.question.size && ctx_r17.question.maxLength);
|
|
448
|
+
i0.ɵɵadvance(1);
|
|
449
|
+
i0.ɵɵproperty("ngIf", ctx_r17.question.inputType && ctx_r17.question.inputType === "text" && ctx_r17.question.isRequired && ctx_r17.question.size && !ctx_r17.question.maxLength);
|
|
450
|
+
i0.ɵɵadvance(1);
|
|
451
|
+
i0.ɵɵproperty("ngIf", ctx_r17.question.inputType && ctx_r17.question.inputType === "text" && ctx_r17.question.isRequired && !ctx_r17.question.size && ctx_r17.question.maxLength);
|
|
452
|
+
i0.ɵɵadvance(1);
|
|
453
|
+
i0.ɵɵproperty("ngIf", ctx_r17.question.inputType && ctx_r17.question.inputType === "text" && ctx_r17.question.isRequired && !ctx_r17.question.size && !ctx_r17.question.maxLength);
|
|
454
|
+
i0.ɵɵadvance(1);
|
|
455
|
+
i0.ɵɵproperty("ngIf", ctx_r17.question.description);
|
|
456
|
+
} }
|
|
457
|
+
function DynamicFormPanelComponent_div_19_Template(rf, ctx) { if (rf & 1) {
|
|
458
|
+
i0.ɵɵelementStart(0, "div");
|
|
459
|
+
i0.ɵɵelement(1, "p-selectButton", 52);
|
|
460
|
+
i0.ɵɵelementEnd();
|
|
461
|
+
} if (rf & 2) {
|
|
462
|
+
const ctx_r18 = i0.ɵɵnextContext();
|
|
463
|
+
i0.ɵɵadvance(1);
|
|
464
|
+
i0.ɵɵproperty("options", ctx_r18.question.choices)("formControlName", ctx_r18.question.name)("multiple", false);
|
|
465
|
+
} }
|
|
466
|
+
function DynamicFormPanelComponent_div_20_ng_template_4_Template(rf, ctx) { if (rf & 1) {
|
|
467
|
+
i0.ɵɵelementStart(0, "div")(1, "div");
|
|
468
|
+
i0.ɵɵtext(2);
|
|
469
|
+
i0.ɵɵelementEnd()();
|
|
470
|
+
} if (rf & 2) {
|
|
471
|
+
const value_r66 = ctx.$implicit;
|
|
472
|
+
i0.ɵɵadvance(2);
|
|
473
|
+
i0.ɵɵtextInterpolate(value_r66.text);
|
|
474
|
+
} }
|
|
475
|
+
function DynamicFormPanelComponent_div_20_Template(rf, ctx) { if (rf & 1) {
|
|
476
|
+
const _r68 = i0.ɵɵgetCurrentView();
|
|
477
|
+
i0.ɵɵelementStart(0, "div")(1, "div")(2, "p-autoComplete", 53);
|
|
478
|
+
i0.ɵɵlistener("completeMethod", function DynamicFormPanelComponent_div_20_Template_p_autoComplete_completeMethod_2_listener($event) { i0.ɵɵrestoreView(_r68); const ctx_r67 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r67.filterValue($event, ctx_r67.question)); })("onSelect", function DynamicFormPanelComponent_div_20_Template_p_autoComplete_onSelect_2_listener($event) { i0.ɵɵrestoreView(_r68); const ctx_r69 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r69.onSelect($event, ctx_r69.question.name)); });
|
|
479
|
+
i0.ɵɵpipe(3, "async");
|
|
480
|
+
i0.ɵɵtemplate(4, DynamicFormPanelComponent_div_20_ng_template_4_Template, 3, 1, "ng-template", 54);
|
|
481
|
+
i0.ɵɵelementEnd()()();
|
|
482
|
+
} if (rf & 2) {
|
|
483
|
+
const ctx_r19 = i0.ɵɵnextContext();
|
|
484
|
+
i0.ɵɵadvance(2);
|
|
485
|
+
i0.ɵɵproperty("formControlName", ctx_r19.question.name)("suggestions", i0.ɵɵpipeBind1(3, 4, ctx_r19.filteredBs.get(ctx_r19.question.name)))("dropdown", true)("size", ctx_r19.question.size);
|
|
486
|
+
} }
|
|
487
|
+
function DynamicFormPanelComponent_div_21_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
488
|
+
i0.ɵɵelementStart(0, "div")(1, "div");
|
|
489
|
+
i0.ɵɵtext(2);
|
|
490
|
+
i0.ɵɵelementEnd()();
|
|
491
|
+
} if (rf & 2) {
|
|
492
|
+
const value_r71 = ctx.$implicit;
|
|
493
|
+
i0.ɵɵadvance(2);
|
|
494
|
+
i0.ɵɵtextInterpolate(value_r71.text);
|
|
495
|
+
} }
|
|
496
|
+
function DynamicFormPanelComponent_div_21_Template(rf, ctx) { if (rf & 1) {
|
|
497
|
+
const _r73 = i0.ɵɵgetCurrentView();
|
|
498
|
+
i0.ɵɵelementStart(0, "div")(1, "p-autoComplete", 55);
|
|
499
|
+
i0.ɵɵlistener("completeMethod", function DynamicFormPanelComponent_div_21_Template_p_autoComplete_completeMethod_1_listener($event) { i0.ɵɵrestoreView(_r73); const ctx_r72 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r72.filterValue($event, ctx_r72.question)); })("onSelect", function DynamicFormPanelComponent_div_21_Template_p_autoComplete_onSelect_1_listener($event) { i0.ɵɵrestoreView(_r73); const ctx_r74 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r74.onSelect($event, ctx_r74.question.name)); });
|
|
500
|
+
i0.ɵɵpipe(2, "async");
|
|
501
|
+
i0.ɵɵtemplate(3, DynamicFormPanelComponent_div_21_ng_template_3_Template, 3, 1, "ng-template", 54);
|
|
502
|
+
i0.ɵɵelementEnd()();
|
|
503
|
+
} if (rf & 2) {
|
|
504
|
+
const ctx_r20 = i0.ɵɵnextContext();
|
|
505
|
+
i0.ɵɵadvance(1);
|
|
506
|
+
i0.ɵɵproperty("formControlName", ctx_r20.question.name)("suggestions", i0.ɵɵpipeBind1(2, 3, ctx_r20.filteredBs.get(ctx_r20.question.name)))("dropdown", true);
|
|
507
|
+
} }
|
|
508
|
+
function DynamicFormPanelComponent_div_22_Template(rf, ctx) { if (rf & 1) {
|
|
509
|
+
i0.ɵɵelementStart(0, "div");
|
|
510
|
+
i0.ɵɵelement(1, "app-file-uploader", 56);
|
|
511
|
+
i0.ɵɵelementEnd();
|
|
512
|
+
} if (rf & 2) {
|
|
513
|
+
const ctx_r21 = i0.ɵɵnextContext();
|
|
514
|
+
i0.ɵɵadvance(1);
|
|
515
|
+
i0.ɵɵproperty("allowedFileType", ctx_r21.question.allowedFileType)("formControlName", ctx_r21.question.name)("maxSizeInMB", ctx_r21.question.sizeInMB)("multiple", ctx_r21.question.multiple)("noOfFilesToUpload", ctx_r21.question.noOFFiles);
|
|
516
|
+
} }
|
|
517
|
+
function DynamicFormPanelComponent_div_23_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
518
|
+
i0.ɵɵelementStart(0, "div", 24);
|
|
519
|
+
i0.ɵɵelement(1, "app-overlay-info", 25);
|
|
520
|
+
i0.ɵɵelementEnd();
|
|
521
|
+
} if (rf & 2) {
|
|
522
|
+
const ctx_r75 = i0.ɵɵnextContext(2);
|
|
523
|
+
i0.ɵɵadvance(1);
|
|
524
|
+
i0.ɵɵproperty("overlayText", ctx_r75.question.description);
|
|
525
|
+
} }
|
|
526
|
+
function DynamicFormPanelComponent_div_23_Template(rf, ctx) { if (rf & 1) {
|
|
527
|
+
i0.ɵɵelementStart(0, "div", 57)(1, "div", 21);
|
|
528
|
+
i0.ɵɵelement(2, "p-selectButton", 58);
|
|
529
|
+
i0.ɵɵtemplate(3, DynamicFormPanelComponent_div_23_div_3_Template, 2, 1, "div", 23);
|
|
530
|
+
i0.ɵɵelementEnd()();
|
|
531
|
+
} if (rf & 2) {
|
|
532
|
+
const ctx_r22 = i0.ɵɵnextContext();
|
|
533
|
+
i0.ɵɵadvance(2);
|
|
534
|
+
i0.ɵɵproperty("options", ctx_r22.question.choices)("formControlName", ctx_r22.question.name);
|
|
535
|
+
i0.ɵɵadvance(1);
|
|
536
|
+
i0.ɵɵproperty("ngIf", ctx_r22.question.description);
|
|
537
|
+
} }
|
|
538
|
+
function DynamicFormPanelComponent_div_24_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
539
|
+
i0.ɵɵelementStart(0, "div", 61);
|
|
540
|
+
i0.ɵɵelement(1, "app-overlay-info", 25);
|
|
541
|
+
i0.ɵɵelementEnd();
|
|
542
|
+
} if (rf & 2) {
|
|
543
|
+
const ctx_r76 = i0.ɵɵnextContext(2);
|
|
544
|
+
i0.ɵɵadvance(1);
|
|
545
|
+
i0.ɵɵproperty("overlayText", ctx_r76.question.description);
|
|
546
|
+
} }
|
|
547
|
+
function DynamicFormPanelComponent_div_24_Template(rf, ctx) { if (rf & 1) {
|
|
548
|
+
i0.ɵɵelementStart(0, "div", 57)(1, "div", 21)(2, "label");
|
|
549
|
+
i0.ɵɵtext(3);
|
|
550
|
+
i0.ɵɵelementEnd();
|
|
551
|
+
i0.ɵɵelement(4, "input", 59);
|
|
552
|
+
i0.ɵɵtemplate(5, DynamicFormPanelComponent_div_24_div_5_Template, 2, 1, "div", 60);
|
|
553
|
+
i0.ɵɵelementEnd()();
|
|
554
|
+
} if (rf & 2) {
|
|
555
|
+
const ctx_r23 = i0.ɵɵnextContext();
|
|
556
|
+
i0.ɵɵadvance(3);
|
|
557
|
+
i0.ɵɵtextInterpolate(ctx_r23.form.controls[ctx_r23.question.name].value);
|
|
558
|
+
i0.ɵɵadvance(1);
|
|
559
|
+
i0.ɵɵproperty("formControlName", ctx_r23.question.name);
|
|
560
|
+
i0.ɵɵadvance(1);
|
|
561
|
+
i0.ɵɵproperty("ngIf", ctx_r23.question.description);
|
|
562
|
+
} }
|
|
563
|
+
function DynamicFormPanelComponent_small_26_Template(rf, ctx) { if (rf & 1) {
|
|
564
|
+
i0.ɵɵelementStart(0, "small", 62);
|
|
565
|
+
i0.ɵɵtext(1);
|
|
566
|
+
i0.ɵɵelementEnd();
|
|
567
|
+
} if (rf & 2) {
|
|
568
|
+
const ctx_r24 = i0.ɵɵnextContext();
|
|
569
|
+
i0.ɵɵadvance(1);
|
|
570
|
+
i0.ɵɵtextInterpolate(ctx_r24.isValid);
|
|
571
|
+
} }
|
|
572
|
+
export class DynamicFormPanelComponent {
|
|
573
|
+
constructor(service, validationService, util, questionService, navController) {
|
|
574
|
+
this.service = service;
|
|
575
|
+
this.validationService = validationService;
|
|
576
|
+
this.util = util;
|
|
577
|
+
this.questionService = questionService;
|
|
578
|
+
this.navController = navController;
|
|
579
|
+
this.dropdownValueBs = new Map();
|
|
580
|
+
this.filteredBs = new Map();
|
|
581
|
+
this.returnModel = new ValidationModel();
|
|
582
|
+
}
|
|
583
|
+
ngOnInit() {
|
|
584
|
+
// console.log('is DynamicFormQuestionComponent ngOnInit called', this.question)
|
|
585
|
+
if (this.question.inputType === 'date') {
|
|
586
|
+
console.log('Date ', this.question);
|
|
587
|
+
if (this.question.max) {
|
|
588
|
+
this.parseDate(this.question.max, 'max');
|
|
589
|
+
}
|
|
590
|
+
if (this.question.min) {
|
|
591
|
+
this.parseDate(this.question.min, 'min');
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
}
|
|
595
|
+
get isValid() {
|
|
596
|
+
// console.log('isValid is callled');
|
|
597
|
+
let message = "";
|
|
598
|
+
let questionType = this.question.type;
|
|
599
|
+
if ('html' === questionType || ('button' === questionType && !this.question.validators) || 'simpleLabel' === questionType || 'displaytextaslabel' === questionType) {
|
|
600
|
+
return "";
|
|
601
|
+
}
|
|
602
|
+
if (this.question && this.question.name && this.form && this.form.controls[this.question.name].errors?.required
|
|
603
|
+
&& (this.form.controls[this.question.name].dirty || this.form.controls[this.question.name].touched)) {
|
|
604
|
+
//console.log('errors?.required',this.question)
|
|
605
|
+
this.form.controls[this.question.name].markAsDirty();
|
|
606
|
+
return this.question.requiredErrorText;
|
|
607
|
+
}
|
|
608
|
+
// 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)) {
|
|
609
|
+
// ///console.log('errors?.maxLength',this.question)
|
|
610
|
+
// this.form.controls[this.question.name].markAsDirty();
|
|
611
|
+
// return this.question.description;
|
|
612
|
+
// }
|
|
613
|
+
if (this.question && this.question.name && this.form && this.form.controls[this.question.name].errors?.pattern
|
|
614
|
+
&& (this.form.controls[this.question.name].dirty || this.form.controls[this.question.name].touched)) {
|
|
615
|
+
// console.log('errors?.pattern',this.question)
|
|
616
|
+
let validatorList = this.question.validators;
|
|
617
|
+
var keepGoing = true;
|
|
618
|
+
validatorList.forEach(validator => {
|
|
619
|
+
// console.log('validator.type ', validator.type)
|
|
620
|
+
if (keepGoing) {
|
|
621
|
+
if (validator.type === 'regex') {
|
|
622
|
+
// console.log('validator.text ', validator.text)
|
|
623
|
+
message = validator.text;
|
|
624
|
+
this.form.controls[this.question.name].markAsDirty();
|
|
625
|
+
}
|
|
626
|
+
else {
|
|
627
|
+
message = "";
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
});
|
|
631
|
+
return message;
|
|
632
|
+
}
|
|
633
|
+
if (this.question && this.question.name && this.form && this.form.controls[this.question.name].errors?.dateComparision
|
|
634
|
+
&& (this.form.controls[this.question.name].dirty || this.form.controls[this.question.name].touched)) {
|
|
635
|
+
let validatorList = this.question.validators;
|
|
636
|
+
var keepGoing = true;
|
|
637
|
+
let message = "";
|
|
638
|
+
validatorList.forEach(validator => {
|
|
639
|
+
if (keepGoing) {
|
|
640
|
+
if (validator.type === 'expression') {
|
|
641
|
+
// console.log('validator.text ', validator.text)
|
|
642
|
+
message = validator.text;
|
|
643
|
+
this.form.controls[this.question.name].markAsDirty();
|
|
644
|
+
keepGoing = false;
|
|
645
|
+
}
|
|
646
|
+
else {
|
|
647
|
+
message = "";
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
});
|
|
651
|
+
return message;
|
|
652
|
+
}
|
|
653
|
+
if (this.question && this.question.name && this.form && this.form.controls[this.question.name].errors?.passwordComparision
|
|
654
|
+
&& (this.form.controls[this.question.name].dirty || this.form.controls[this.question.name].touched)) {
|
|
655
|
+
let validatorList = this.question.validators;
|
|
656
|
+
var keepGoing = true;
|
|
657
|
+
let message = "";
|
|
658
|
+
validatorList.forEach(validator => {
|
|
659
|
+
if (keepGoing) {
|
|
660
|
+
// console.log('validator.type.minlength ', validator.type)
|
|
661
|
+
if (validator.type === 'expression') {
|
|
662
|
+
// console.log('validator.text ', validator.text)
|
|
663
|
+
message = validator.text;
|
|
664
|
+
this.form.controls[this.question.name].markAsDirty();
|
|
665
|
+
keepGoing = false;
|
|
666
|
+
}
|
|
667
|
+
else {
|
|
668
|
+
message = "";
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
});
|
|
672
|
+
return message;
|
|
673
|
+
}
|
|
674
|
+
if (this.question && this.question.name && this.form && this.form.controls[this.question.name].errors?.minlength
|
|
675
|
+
&& (this.form.controls[this.question.name].dirty || this.form.controls[this.question.name].touched)) {
|
|
676
|
+
let validatorList = this.question.validators;
|
|
677
|
+
// console.log('MinLength')
|
|
678
|
+
var keepGoing = true;
|
|
679
|
+
let message = "";
|
|
680
|
+
validatorList.forEach(validator => {
|
|
681
|
+
if (keepGoing) {
|
|
682
|
+
// console.log('validator.type.minlength ', validator.type)
|
|
683
|
+
if (validator.type === 'text') {
|
|
684
|
+
// console.log('validator.text ', validator.text)
|
|
685
|
+
message = validator.text;
|
|
686
|
+
this.form.controls[this.question.name].markAsDirty();
|
|
687
|
+
keepGoing = false;
|
|
688
|
+
}
|
|
689
|
+
else {
|
|
690
|
+
message = "";
|
|
691
|
+
}
|
|
692
|
+
}
|
|
693
|
+
});
|
|
694
|
+
return message;
|
|
695
|
+
}
|
|
696
|
+
if (this.question && this.question.name && this.form && this.form.controls[this.question.name].errors?.maxlength
|
|
697
|
+
&& (this.form.controls[this.question.name].dirty || this.form.controls[this.question.name].touched)) {
|
|
698
|
+
let validatorList = this.question.validators;
|
|
699
|
+
var keepGoing = true;
|
|
700
|
+
let message = "";
|
|
701
|
+
validatorList.forEach(validator => {
|
|
702
|
+
if (keepGoing) {
|
|
703
|
+
// console.log('validator.type.minlength ', validator.type)
|
|
704
|
+
if (validator.type === 'text') {
|
|
705
|
+
// console.log('validator.text ', validator.text)
|
|
706
|
+
message = validator.text;
|
|
707
|
+
this.form.controls[this.question.name].markAsDirty();
|
|
708
|
+
keepGoing = false;
|
|
709
|
+
}
|
|
710
|
+
else {
|
|
711
|
+
message = "";
|
|
712
|
+
}
|
|
713
|
+
}
|
|
714
|
+
});
|
|
715
|
+
return message;
|
|
716
|
+
}
|
|
717
|
+
if (this.question && this.question.name && this.form && this.form.controls[this.question.name].errors?.requiredIf
|
|
718
|
+
&& (this.form.controls[this.question.name].dirty || this.form.controls[this.question.name].touched)) {
|
|
719
|
+
this.form.controls[this.question.name].markAsDirty();
|
|
720
|
+
return "Required";
|
|
721
|
+
}
|
|
722
|
+
if (this.question && this.question.name && this.form && this.form.controls[this.question.name].errors?.notEquals
|
|
723
|
+
&& (this.form.controls[this.question.name].dirty || this.form.controls[this.question.name].touched)) {
|
|
724
|
+
let validatorList = this.question.validators;
|
|
725
|
+
var keepGoing = true;
|
|
726
|
+
validatorList.forEach(validator => {
|
|
727
|
+
if (keepGoing) {
|
|
728
|
+
//console.log('validator.type.minlength ', validator.type)
|
|
729
|
+
if (validator.type === 'customvalidation') {
|
|
730
|
+
//console.log('validator.text ', validator.text)
|
|
731
|
+
message = validator.text;
|
|
732
|
+
this.form.controls[this.question.name].markAsDirty();
|
|
733
|
+
keepGoing = false;
|
|
734
|
+
}
|
|
735
|
+
else {
|
|
736
|
+
message = "";
|
|
737
|
+
}
|
|
738
|
+
}
|
|
739
|
+
});
|
|
740
|
+
var keepGoing = true;
|
|
741
|
+
this.form.controls[this.question.name].markAsDirty();
|
|
742
|
+
return message;
|
|
743
|
+
}
|
|
744
|
+
}
|
|
745
|
+
setMinDate(dateValue, question) {
|
|
746
|
+
console.log('setMinDate called', question.min);
|
|
747
|
+
console.log('question.min ', this.form.controls[question.min].value);
|
|
748
|
+
let startDateValue = new Date(this.form.controls[question.min].value);
|
|
749
|
+
//this.minDate = new Date(startDateValue);
|
|
750
|
+
//this.form.controls[question.name].setValue(null);
|
|
751
|
+
this.minDate = new Date();
|
|
752
|
+
console.log('startDateValue', startDateValue);
|
|
753
|
+
this.minDate.setMonth(startDateValue.getMonth());
|
|
754
|
+
this.minDate.setFullYear(Number(startDateValue.getFullYear()));
|
|
755
|
+
this.minDate.setDate(Number(startDateValue.getDate()) + 1);
|
|
756
|
+
}
|
|
757
|
+
parseDate(strDate, type) {
|
|
758
|
+
console.log('is parseDate called', strDate + ' type', type); //05-10-2021
|
|
759
|
+
if (strDate && type === 'max') {
|
|
760
|
+
var splitArray = strDate.split('-');
|
|
761
|
+
//let date: Date = new Date();
|
|
762
|
+
this.maxDate = new Date();
|
|
763
|
+
this.maxDate.setMonth(Number(splitArray[0]) - 1);
|
|
764
|
+
this.maxDate.setFullYear(Number(splitArray[2]));
|
|
765
|
+
this.maxDate.setDate(Number(splitArray[1]));
|
|
766
|
+
console.log('date', this.maxDate);
|
|
767
|
+
return this.maxDate;
|
|
768
|
+
}
|
|
769
|
+
if (strDate && type === 'min') {
|
|
770
|
+
var splitArray = strDate.split('-');
|
|
771
|
+
//let date: Date = new Date();
|
|
772
|
+
this.minDate = new Date();
|
|
773
|
+
this.minDate.setMonth(Number(splitArray[0]) - 1);
|
|
774
|
+
this.minDate.setFullYear(Number(splitArray[2]));
|
|
775
|
+
this.minDate.setDate(Number(splitArray[1]));
|
|
776
|
+
console.log('date', this.minDate);
|
|
777
|
+
return this.minDate;
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
visibleIf(strExp) {
|
|
781
|
+
if (!strExp) {
|
|
782
|
+
return true;
|
|
783
|
+
}
|
|
784
|
+
var splitArray;
|
|
785
|
+
let isDoesNotEqual;
|
|
786
|
+
let index = strExp.indexOf('!=');
|
|
787
|
+
if (index === -1) {
|
|
788
|
+
splitArray = strExp.split('==');
|
|
789
|
+
isDoesNotEqual = false;
|
|
790
|
+
}
|
|
791
|
+
else {
|
|
792
|
+
splitArray = strExp.split('!=');
|
|
793
|
+
isDoesNotEqual = true;
|
|
794
|
+
}
|
|
795
|
+
let operand1 = splitArray[0];
|
|
796
|
+
let operand2 = splitArray[1];
|
|
797
|
+
operand1 = operand1.replace('{', '').replace('}', ''); //claimantPriorPay102 diffmailaddress315
|
|
798
|
+
operand2 = operand2.replace('{', '').replace('}', ''); //null
|
|
799
|
+
// console.log('operand1',operand1,'operand2',operand2,' this.form',this.form.controls['city315']);
|
|
800
|
+
if (this.form.controls['operand1']) {
|
|
801
|
+
var valueOfCnrtrlToCheck = this.form.controls[operand1].value;
|
|
802
|
+
//console.log('valueOfCnrtrlToCheck', valueOfCnrtrlToCheck);
|
|
803
|
+
if (operand2 === 'null' && isDoesNotEqual && valueOfCnrtrlToCheck) {
|
|
804
|
+
return true;
|
|
805
|
+
}
|
|
806
|
+
if (operand2 === 'null' && !isDoesNotEqual && !valueOfCnrtrlToCheck) {
|
|
807
|
+
return true;
|
|
808
|
+
}
|
|
809
|
+
console.log('this.form.controls[operand1]', this.form.controls[operand1]);
|
|
810
|
+
if (this.form.controls[operand1]) {
|
|
811
|
+
this.form.controls[operand1].setValue(null);
|
|
812
|
+
}
|
|
813
|
+
}
|
|
814
|
+
return false;
|
|
815
|
+
}
|
|
816
|
+
getDependentDropdownData(element) {
|
|
817
|
+
if (element.serviceName) {
|
|
818
|
+
if (element.serviceType != 'FETCH') {
|
|
819
|
+
return;
|
|
820
|
+
}
|
|
821
|
+
let parentControl = this.form.controls[element.serviceCallParam];
|
|
822
|
+
let serviceCallType = element.serviceCallType;
|
|
823
|
+
let serviceName = element.serviceName;
|
|
824
|
+
let serviceUpdateParam = element.serviceUpdateParam;
|
|
825
|
+
let bs = this.dropdownValueBs.get(parentControl);
|
|
826
|
+
if (bs) {
|
|
827
|
+
return bs;
|
|
828
|
+
}
|
|
829
|
+
else {
|
|
830
|
+
let bs = new BehaviorSubject(null);
|
|
831
|
+
this.dropdownValueBs.set(parentControl, bs);
|
|
832
|
+
}
|
|
833
|
+
parentControl.valueChanges.subscribe(value => {
|
|
834
|
+
// console.log('parentControl', parentControl);
|
|
835
|
+
// console.log('value', value);
|
|
836
|
+
let currentBs = this.dropdownValueBs.get(parentControl);
|
|
837
|
+
if (value) {
|
|
838
|
+
if (serviceCallType === 'GET') {
|
|
839
|
+
// console.log('Inside GET');
|
|
840
|
+
this.validationService
|
|
841
|
+
.get(`${serviceName}${value}/${serviceUpdateParam}`)
|
|
842
|
+
.subscribe(res => {
|
|
843
|
+
if (res != null) {
|
|
844
|
+
currentBs.next(res['choices']);
|
|
845
|
+
}
|
|
846
|
+
else {
|
|
847
|
+
currentBs.next(null);
|
|
848
|
+
}
|
|
849
|
+
});
|
|
850
|
+
}
|
|
851
|
+
}
|
|
852
|
+
});
|
|
853
|
+
return bs;
|
|
854
|
+
}
|
|
855
|
+
else {
|
|
856
|
+
let dependentFc = this.form.controls[element.name];
|
|
857
|
+
let bs = this.dropdownValueBs.get(dependentFc);
|
|
858
|
+
if (!bs) {
|
|
859
|
+
let bs = new BehaviorSubject(element.choices);
|
|
860
|
+
this.dropdownValueBs.set(dependentFc, bs);
|
|
861
|
+
}
|
|
862
|
+
return bs;
|
|
863
|
+
}
|
|
864
|
+
}
|
|
865
|
+
validate(element) {
|
|
866
|
+
if (!element.serviceName) {
|
|
867
|
+
return;
|
|
868
|
+
}
|
|
869
|
+
let serviceType = element.serviceType;
|
|
870
|
+
if (element.serviceType === 'FETCH') {
|
|
871
|
+
return;
|
|
872
|
+
}
|
|
873
|
+
let serviceCallParam = element.serviceCallParam; //ssn320,lstname320
|
|
874
|
+
let serviceCallType = element.serviceCallType; //"GET"
|
|
875
|
+
let serviceName = element.serviceName; ///security-service/validateSSN/
|
|
876
|
+
let serviceUpdateParam = element.serviceUpdateParam;
|
|
877
|
+
let allValuePresent = true;
|
|
878
|
+
// console.log('serviceCallParam',serviceCallParam);
|
|
879
|
+
if (serviceCallParam) {
|
|
880
|
+
var splitted = serviceCallParam.split(",");
|
|
881
|
+
let valueArr = [];
|
|
882
|
+
let paramArr = [];
|
|
883
|
+
for (let i = 0; i < splitted.length; i++) {
|
|
884
|
+
//use i instead of 0 dob320
|
|
885
|
+
// console.log('dob320',this.form.controls['dob320'].value);
|
|
886
|
+
if (this.form.controls[splitted[i]].value) {
|
|
887
|
+
paramArr.push(splitted[i]);
|
|
888
|
+
valueArr.push(this.form.controls[splitted[i]].value);
|
|
889
|
+
}
|
|
890
|
+
else {
|
|
891
|
+
allValuePresent = false;
|
|
892
|
+
}
|
|
893
|
+
}
|
|
894
|
+
// console.log('valueArr12', valueArr, 'paramArr11 ', paramArr, ' element', element);
|
|
895
|
+
var model = {};
|
|
896
|
+
model.paramName = paramArr;
|
|
897
|
+
model.paramValue = valueArr;
|
|
898
|
+
// return this.post(`questionnaire/screen-questionnaire`, questionnaireData);
|
|
899
|
+
if (allValuePresent) {
|
|
900
|
+
if (serviceCallType === 'POST') {
|
|
901
|
+
// console.log('Inside GET');
|
|
902
|
+
this.validationService
|
|
903
|
+
.post(`${serviceName}`, model)
|
|
904
|
+
.subscribe(res => {
|
|
905
|
+
this.returnModel = res;
|
|
906
|
+
if (this.returnModel.returnType && this.returnModel.returnType === 'POPUP') {
|
|
907
|
+
this.displayPosition = true;
|
|
908
|
+
this.position = 'top';
|
|
909
|
+
this.popUpHeader = this.returnModel.popUpHeader;
|
|
910
|
+
this.popUpText = this.returnModel.popUpText;
|
|
911
|
+
this.popUpYesActionLabel = this.returnModel.popUpYesButtonLabel;
|
|
912
|
+
this.popUpNoActionLabel = this.returnModel.popUpNoButtonLabel;
|
|
913
|
+
}
|
|
914
|
+
console.log('this.returnModel ', this.returnModel);
|
|
915
|
+
}, err => {
|
|
916
|
+
this.util.hideLoader();
|
|
917
|
+
this.util.errorHandler(err);
|
|
918
|
+
});
|
|
919
|
+
}
|
|
920
|
+
}
|
|
921
|
+
}
|
|
922
|
+
}
|
|
923
|
+
accept() {
|
|
924
|
+
//console.log('accept called123', this.returnModel.identifier)
|
|
925
|
+
let modelArr = this.returnModel.identifier;
|
|
926
|
+
let paramArray = [];
|
|
927
|
+
for (var val of modelArr) {
|
|
928
|
+
paramArray.push({ [val.key]: val.value });
|
|
929
|
+
}
|
|
930
|
+
const params = paramArray.reduce((arrObj, item) => Object.assign(arrObj, item, {}));
|
|
931
|
+
this.navController.navigateRoot([this.returnModel.yesAction], { queryParams: params });
|
|
932
|
+
}
|
|
933
|
+
reject() {
|
|
934
|
+
//console.log('Reject called')
|
|
935
|
+
this.navController.navigateRoot(this.returnModel.noAction);
|
|
936
|
+
}
|
|
937
|
+
filterValue(event, element) {
|
|
938
|
+
// console.log('filterValue called', event, ' element', element);
|
|
939
|
+
if (!element.serviceName) {
|
|
940
|
+
let bs = new BehaviorSubject([]);
|
|
941
|
+
let query = event.query;
|
|
942
|
+
let filtered = [];
|
|
943
|
+
for (let i = 0; i < element.choices.length; i++) {
|
|
944
|
+
let choice = element.choices[i];
|
|
945
|
+
if (choice.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
|
|
946
|
+
filtered.push(choice);
|
|
947
|
+
}
|
|
948
|
+
}
|
|
949
|
+
bs.next(filtered);
|
|
950
|
+
this.filteredBs.set(element.name, bs);
|
|
951
|
+
return;
|
|
952
|
+
}
|
|
953
|
+
else {
|
|
954
|
+
if (this.filteredBs && this.filteredBs.get(element.name)) {
|
|
955
|
+
let query = event.query;
|
|
956
|
+
let filtered = [];
|
|
957
|
+
let existingChoices = this.filteredBs.get(element.name).value;
|
|
958
|
+
let bs = new BehaviorSubject([]);
|
|
959
|
+
//console.log('Inside IF---', bs);
|
|
960
|
+
for (let i = 0; i < existingChoices.length; i++) {
|
|
961
|
+
let choice = existingChoices[i];
|
|
962
|
+
if (choice.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
|
|
963
|
+
filtered.push(choice);
|
|
964
|
+
}
|
|
965
|
+
}
|
|
966
|
+
bs.next(filtered);
|
|
967
|
+
this.filteredBs.set(element.name, bs);
|
|
968
|
+
return;
|
|
969
|
+
}
|
|
970
|
+
else {
|
|
971
|
+
let parentControl = this.form.controls[element.serviceCallParam];
|
|
972
|
+
let serviceCallType = element.serviceCallType;
|
|
973
|
+
let serviceName = element.serviceName;
|
|
974
|
+
let serviceUpdateParam = element.serviceUpdateParam;
|
|
975
|
+
let parentControlVal = null;
|
|
976
|
+
if (parentControl.value) {
|
|
977
|
+
parentControlVal = parentControl.value['value']; //CA
|
|
978
|
+
}
|
|
979
|
+
//console.log('parentControlVal', parentControlVal);
|
|
980
|
+
parentControl.valueChanges.subscribe(value => {
|
|
981
|
+
//console.log('parentControlVal value changed');
|
|
982
|
+
let childControl = this.form.controls[serviceUpdateParam];
|
|
983
|
+
this.filteredBs = new Map();
|
|
984
|
+
childControl.setValue(null);
|
|
985
|
+
});
|
|
986
|
+
if (parentControlVal) {
|
|
987
|
+
if (serviceCallType === 'GET') {
|
|
988
|
+
this.validationService
|
|
989
|
+
.get(`${serviceName}${parentControlVal}/${serviceUpdateParam}`)
|
|
990
|
+
.subscribe(res => {
|
|
991
|
+
if (res != null) {
|
|
992
|
+
let query = event.query;
|
|
993
|
+
let filtered = [];
|
|
994
|
+
let bs = new BehaviorSubject([]);
|
|
995
|
+
for (let i = 0; i < res['choices'].length; i++) {
|
|
996
|
+
let choice = res['choices'][i];
|
|
997
|
+
if (choice.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
|
|
998
|
+
filtered.push(choice);
|
|
999
|
+
}
|
|
1000
|
+
}
|
|
1001
|
+
bs.next(filtered);
|
|
1002
|
+
this.filteredBs.set(element.name, bs);
|
|
1003
|
+
}
|
|
1004
|
+
else {
|
|
1005
|
+
let filtered = [];
|
|
1006
|
+
let bs = new BehaviorSubject([]);
|
|
1007
|
+
bs.next(filtered);
|
|
1008
|
+
this.filteredBs.set(element.name, bs);
|
|
1009
|
+
}
|
|
1010
|
+
});
|
|
1011
|
+
}
|
|
1012
|
+
}
|
|
1013
|
+
}
|
|
1014
|
+
}
|
|
1015
|
+
}
|
|
1016
|
+
clickOption(event) {
|
|
1017
|
+
console.log('clickOption called');
|
|
1018
|
+
}
|
|
1019
|
+
onSelect(event, cntrlName) {
|
|
1020
|
+
console.log('onSelect--', event.value, cntrlName);
|
|
1021
|
+
}
|
|
1022
|
+
static { this.ɵfac = function DynamicFormPanelComponent_Factory(t) { return new (t || DynamicFormPanelComponent)(i0.ɵɵdirectiveInject(i1.QuestionService), i0.ɵɵdirectiveInject(i2.ValidationService), i0.ɵɵdirectiveInject(i3.UtilService), i0.ɵɵdirectiveInject(i1.QuestionService), i0.ɵɵdirectiveInject(i4.NavController)); }; }
|
|
1023
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DynamicFormPanelComponent, selectors: [["panel-question"]], inputs: { question: "question", form: "form", forScreenQuestionnaire: "forScreenQuestionnaire" }, decls: 27, vars: 26, consts: [[3, "formGroup"], ["appendTo", "body", 3, "header", "visible", "position", "modal", "style", "baseZIndex", "draggable", "resizable", "visibleChange", 4, "ngIf"], ["class", "form-label", 4, "ngIf"], [4, "ngIf"], ["class", "heading", 3, "innerHTML", 4, "ngIf"], [3, "innerHTML", 4, "ngIf"], ["class", "container", "style", "padding: 0px;", 4, "ngIf"], ["class", "p-error", 4, "ngIf"], ["appendTo", "body", 3, "header", "visible", "position", "modal", "baseZIndex", "draggable", "resizable", "visibleChange"], ["pTemplate", "footer"], ["shape", "round", "size", "small", "type", "submit", "fill", "outline", 3, "click"], ["shape", "round", "size", "small", "type", "submit", "fill", "solid", 3, "click"], [1, "form-label"], [3, "form", 4, "ngIf"], [3, "form"], [1, "heading", 3, "innerHTML"], [3, "innerHTML"], ["yearRange", "1901:2050", "dateFormat", "mm-dd-yy", "inputId", "navigators", "dataType", "string", "appendTo", "body", 3, "formControlName", "id", "monthNavigator", "yearNavigator", "readonlyInput", "showIcon", "minDate", "maxDate"], ["dateFormat", "mm-dd-yy", "yearRange", "1901:2050", "dataType", "string", "appendTo", "body", 3, "formControlName", "id", "monthNavigator", "yearNavigator", "inputId", "readonlyInput", "showIcon"], ["dateFormat", "mm-dd-yy", "yearRange", "1901:2050", "dataType", "string", "appendTo", "body", 3, "formControlName", "id", "monthNavigator", "yearNavigator", "inputId", "maxDate", "readonlyInput", "showIcon"], ["dateFormat", "mm-dd-yy", "yearRange", "1901:2050", "dataType", "string", "appendTo", "body", 3, "formControlName", "id", "monthNavigator", "yearNavigator", "inputId", "minDate", "readonlyInput", "showIcon", "onShow"], [1, "container", 2, "display", "flex"], [3, "id", "formControlName", "toggleMask", "maxLength"], ["style", "flex-grow: 1;", "style", "padding-left: 8px", 4, "ngIf"], [2, "padding-left", "8px"], [3, "overlayText"], ["type", "text", "pInputText", "", "placeholder", "Optional", 3, "id", "formControlName", "size", "maxLength", 4, "ngIf"], ["type", "text", "pInputText", "", "placeholder", "Optional", 3, "id", "formControlName", "size", 4, "ngIf"], ["type", "text", "pInputText", "", "placeholder", "Optional", 3, "id", "formControlName", "maxLength", 4, "ngIf"], ["type", "text", "pInputText", "", "placeholder", "Optional", 3, "id", "formControlName", 4, "ngIf"], ["type", "text", "pInputText", "", 3, "id", "formControlName", "size", "maxLength", "blur", 4, "ngIf"], ["type", "text", "pInputText", "", 3, "id", "formControlName", "size", 4, "ngIf"], ["type", "text", "pInputText", "", 3, "id", "formControlName", "maxLength", 4, "ngIf"], ["type", "text", "pInputText", "", 3, "id", "formControlName", 4, "ngIf"], ["type", "text", "pInputText", "", "placeholder", "Optional", 3, "id", "formControlName", "size", "maxLength"], ["type", "text", "pInputText", "", "placeholder", "Optional", 3, "id", "formControlName", "size"], ["type", "text", "pInputText", "", "placeholder", "Optional", 3, "id", "formControlName", "maxLength"], ["type", "text", "pInputText", "", "placeholder", "Optional", 3, "id", "formControlName"], ["type", "text", "pInputText", "", 3, "id", "formControlName", "size", "maxLength", "blur"], ["type", "text", "pInputText", "", 3, "id", "formControlName", "size"], ["type", "text", "pInputText", "", 3, "id", "formControlName", "maxLength"], ["type", "text", "pInputText", "", 3, "id", "formControlName"], ["mask", "999 999-9999", "placeholder", "Optional", 3, "id", "formControlName", 4, "ngIf"], ["mask", "999 999-9999", "placeholder", "999 999-9999", 3, "id", "formControlName", 4, "ngIf"], ["mask", "999 999-9999", "placeholder", "Optional", 3, "id", "formControlName"], ["mask", "999 999-9999", "placeholder", "999 999-9999", 3, "id", "formControlName"], ["mask", "999-99-9999", "placeholder", "999-99-9999", 3, "id", "formControlName", 4, "ngIf"], ["mask", "999-99-9999", "placeholder", "Optional", 3, "id", "formControlName", 4, "ngIf"], ["mask", "999-99-9999", "placeholder", "999-99-9999", 3, "id", "formControlName"], ["mask", "999-99-9999", "placeholder", "Optional", 3, "id", "formControlName"], ["type", "text", "pInputText", "", 3, "id", "formControlName", "size", "maxLength", 4, "ngIf"], ["type", "text", "pInputText", "", 3, "id", "formControlName", "size", "maxLength"], ["optionLabel", "text", "optionValue", "value", 3, "options", "formControlName", "multiple"], ["appendTo", "body", "dataKey", "value", "field", "text", "minLength", "1", "forceSelection", "true", "type", "text", 3, "formControlName", "suggestions", "dropdown", "size", "completeMethod", "onSelect"], ["pTemplate", "item"], ["appendTo", "body", "dataKey", "value", "field", "text", "minLength", "3", "forceSelection", "true", "type", "text", 3, "formControlName", "suggestions", "dropdown", "completeMethod", "onSelect"], [3, "allowedFileType", "formControlName", "maxSizeInMB", "multiple", "noOfFilesToUpload"], [1, "container", 2, "padding", "0px"], ["optionLabel", "text", "optionValue", "value", 3, "options", "formControlName"], ["type", "hidden", 3, "formControlName"], ["style", "flex-grow: 1;", "style", "padding-left: 2px", 4, "ngIf"], [2, "padding-left", "2px"], [1, "p-error"]], template: function DynamicFormPanelComponent_Template(rf, ctx) { if (rf & 1) {
|
|
1024
|
+
i0.ɵɵelementStart(0, "div", 0);
|
|
1025
|
+
i0.ɵɵtemplate(1, DynamicFormPanelComponent_p_dialog_1_Template, 4, 11, "p-dialog", 1)(2, DynamicFormPanelComponent_div_2_Template, 2, 1, "div", 2)(3, DynamicFormPanelComponent_div_3_Template, 2, 1, "div", 2)(4, DynamicFormPanelComponent_div_4_Template, 2, 1, "div", 2)(5, DynamicFormPanelComponent_div_5_Template, 3, 2, "div", 3)(6, DynamicFormPanelComponent_div_6_Template, 1, 1, "div", 4)(7, DynamicFormPanelComponent_div_7_Template, 1, 1, "div", 5)(8, DynamicFormPanelComponent_div_8_Template, 2, 8, "div", 3)(9, DynamicFormPanelComponent_div_9_Template, 2, 7, "div", 3)(10, DynamicFormPanelComponent_div_10_Template, 2, 8, "div", 3)(11, DynamicFormPanelComponent_div_11_Template, 2, 8, "div", 3)(12, DynamicFormPanelComponent_div_12_Template, 4, 5, "div", 3)(13, DynamicFormPanelComponent_div_13_Template, 4, 5, "div", 3)(14, DynamicFormPanelComponent_div_14_Template, 11, 9, "div", 3)(15, DynamicFormPanelComponent_div_15_Template, 7, 5, "div", 3)(16, DynamicFormPanelComponent_div_16_Template, 5, 3, "div", 3)(17, DynamicFormPanelComponent_div_17_Template, 5, 3, "div", 3)(18, DynamicFormPanelComponent_div_18_Template, 7, 5, "div", 3)(19, DynamicFormPanelComponent_div_19_Template, 2, 3, "div", 3)(20, DynamicFormPanelComponent_div_20_Template, 5, 6, "div", 3)(21, DynamicFormPanelComponent_div_21_Template, 4, 5, "div", 3)(22, DynamicFormPanelComponent_div_22_Template, 2, 5, "div", 3)(23, DynamicFormPanelComponent_div_23_Template, 4, 3, "div", 6)(24, DynamicFormPanelComponent_div_24_Template, 6, 3, "div", 6);
|
|
1026
|
+
i0.ɵɵelementStart(25, "div");
|
|
1027
|
+
i0.ɵɵtemplate(26, DynamicFormPanelComponent_small_26_Template, 2, 1, "small", 7);
|
|
1028
|
+
i0.ɵɵelementEnd()();
|
|
1029
|
+
} if (rf & 2) {
|
|
1030
|
+
i0.ɵɵproperty("formGroup", ctx.form);
|
|
1031
|
+
i0.ɵɵadvance(1);
|
|
1032
|
+
i0.ɵɵproperty("ngIf", ctx.displayPosition);
|
|
1033
|
+
i0.ɵɵadvance(1);
|
|
1034
|
+
i0.ɵɵproperty("ngIf", !ctx.forScreenQuestionnaire);
|
|
1035
|
+
i0.ɵɵadvance(1);
|
|
1036
|
+
i0.ɵɵproperty("ngIf", ctx.forScreenQuestionnaire && ctx.question.indent === 1 && ctx.question.type != "html" && ctx.question.type != "simpleLabel" && ctx.question.customTag != "component");
|
|
1037
|
+
i0.ɵɵadvance(1);
|
|
1038
|
+
i0.ɵɵproperty("ngIf", ctx.question.indent != 1 && ctx.question.type != "html" && ctx.question.customTag && !ctx.question.customTag.includes("fmtnumbertext"));
|
|
1039
|
+
i0.ɵɵadvance(1);
|
|
1040
|
+
i0.ɵɵproperty("ngIf", ctx.forScreenQuestionnaire && ctx.question.customTag && ctx.question.customTag === "component" && ctx.question.indent === 1 && ctx.question.type != "html" && !ctx.question.description);
|
|
1041
|
+
i0.ɵɵadvance(1);
|
|
1042
|
+
i0.ɵɵproperty("ngIf", ctx.question.type === "html");
|
|
1043
|
+
i0.ɵɵadvance(1);
|
|
1044
|
+
i0.ɵɵproperty("ngIf", ctx.question.type === "simpleLabel");
|
|
1045
|
+
i0.ɵɵadvance(1);
|
|
1046
|
+
i0.ɵɵproperty("ngIf", ctx.question.inputType && ctx.question.inputType === "date" && ctx.question.max && ctx.question.min);
|
|
1047
|
+
i0.ɵɵadvance(1);
|
|
1048
|
+
i0.ɵɵproperty("ngIf", ctx.question.inputType && ctx.question.inputType === "date" && !ctx.question.max && !ctx.question.min);
|
|
1049
|
+
i0.ɵɵadvance(1);
|
|
1050
|
+
i0.ɵɵproperty("ngIf", ctx.question.inputType && ctx.question.inputType === "date" && ctx.question.max && !ctx.question.min);
|
|
1051
|
+
i0.ɵɵadvance(1);
|
|
1052
|
+
i0.ɵɵproperty("ngIf", ctx.question.inputType && ctx.question.inputType === "date" && !ctx.question.max && ctx.question.min);
|
|
1053
|
+
i0.ɵɵadvance(1);
|
|
1054
|
+
i0.ɵɵproperty("ngIf", ctx.question.customTag && ctx.question.customTag.includes("password") && !ctx.question.name.includes("confpwd"));
|
|
1055
|
+
i0.ɵɵadvance(1);
|
|
1056
|
+
i0.ɵɵproperty("ngIf", ctx.question.customTag && ctx.question.customTag.includes("password") && ctx.question.name.includes("confpwd"));
|
|
1057
|
+
i0.ɵɵadvance(1);
|
|
1058
|
+
i0.ɵɵproperty("ngIf", !ctx.question.customTag && ctx.question.type && (ctx.question.type != "radiogroup" && ctx.question.type != "displaytextaslabel"));
|
|
1059
|
+
i0.ɵɵadvance(1);
|
|
1060
|
+
i0.ɵɵproperty("ngIf", ctx.question.customTag && ctx.question.type && ctx.question.customTag.includes("Optional"));
|
|
1061
|
+
i0.ɵɵadvance(1);
|
|
1062
|
+
i0.ɵɵproperty("ngIf", ctx.question.customTag && ctx.question.customTag.includes("phone"));
|
|
1063
|
+
i0.ɵɵadvance(1);
|
|
1064
|
+
i0.ɵɵproperty("ngIf", ctx.question.customTag && ctx.question.customTag.includes("ssn"));
|
|
1065
|
+
i0.ɵɵadvance(1);
|
|
1066
|
+
i0.ɵɵproperty("ngIf", ctx.question.customTag && !ctx.question.customTag.includes("phone") && !ctx.question.customTag.includes("password") && !ctx.question.customTag.includes("ssn"));
|
|
1067
|
+
i0.ɵɵadvance(1);
|
|
1068
|
+
i0.ɵɵproperty("ngIf", ctx.question.type && ctx.question.type === "singleselectcheckbox");
|
|
1069
|
+
i0.ɵɵadvance(1);
|
|
1070
|
+
i0.ɵɵproperty("ngIf", ctx.question.type && ctx.question.type === "dropdown" && ctx.question.size);
|
|
1071
|
+
i0.ɵɵadvance(1);
|
|
1072
|
+
i0.ɵɵproperty("ngIf", ctx.question.type && ctx.question.type === "dropdown" && !ctx.question.size);
|
|
1073
|
+
i0.ɵɵadvance(1);
|
|
1074
|
+
i0.ɵɵproperty("ngIf", ctx.question.customTag && ctx.question.customTag.includes("fileupload"));
|
|
1075
|
+
i0.ɵɵadvance(1);
|
|
1076
|
+
i0.ɵɵproperty("ngIf", ctx.question.type && ctx.question.type === "radiogroup");
|
|
1077
|
+
i0.ɵɵadvance(1);
|
|
1078
|
+
i0.ɵɵproperty("ngIf", ctx.question.type && ctx.question.type === "displaytextaslabel");
|
|
1079
|
+
i0.ɵɵadvance(2);
|
|
1080
|
+
i0.ɵɵproperty("ngIf", ctx.isValid != "");
|
|
1081
|
+
} }, dependencies: [i4.IonButton, i5.NgIf, i6.PrimeTemplate, i7.DefaultValueAccessor, i7.NgControlStatus, i7.NgControlStatusGroup, i7.FormGroupDirective, i7.FormControlName, i8.AutoComplete, i9.Dialog, i10.Password, i11.InputText, i12.InputMask, i13.Calendar, i14.SelectButton, i15.FileUploaderComponent, i16.OverlayInfoComponent, i17.MoneyExpectComponent, i5.AsyncPipe], styles: [".form-label{display:inline-block;margin-bottom:6px;margin-top:20px}\n"], encapsulation: 2 }); }
|
|
1082
|
+
}
|
|
1083
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DynamicFormPanelComponent, [{
|
|
1084
|
+
type: Component,
|
|
1085
|
+
args: [{ selector: 'panel-question', encapsulation: ViewEncapsulation.None, template: "<div [formGroup]=\"form\">\n\n\n <p-dialog [header]=\"popUpHeader\" *ngIf=\"displayPosition\" [(visible)]=\"displayPosition\" [position]=\"position\" [modal]=\"true\" [style]=\"{width: '80vw'}\" [baseZIndex]=\"5000\"\n [draggable]=\"false\" [resizable]=\"false\" appendTo=\"body\">\n \n <p>{{popUpText}}\n </p>\n <ng-template pTemplate=\"footer\">\n <ion-button shape=\"round\" \n size=\"small\" type=\"submit\"\n fill=\"outline\" (click)=\"reject()\"> \n {{popUpNoActionLabel}}\n </ion-button>\n\n <ion-button shape=\"round\" \n size=\"small\" type=\"submit\"\n fill=\"solid\" (click)=\"accept()\" >\n {{popUpYesActionLabel}}\n </ion-button>\n \n </ng-template>\n </p-dialog> \n\n\n <div *ngIf=\"!forScreenQuestionnaire\" class=\"form-label\">\n <label [attr.for]=\"question.name\" *ngIf=\"question.indent===1 && question.type!='html'\">\n {{question.title}}</label>\n </div>\n <div\n *ngIf=\"forScreenQuestionnaire && question.indent===1 && question.type!='html' && question.type!='simpleLabel' && question.customTag!='component'\"\n class=\"form-label\">\n {{question.title}}\n \n </div>\n\n <div\n *ngIf=\"question.indent!=1 && question.type!='html' && question.customTag && !question.customTag.includes('fmtnumbertext')\"\n class=\"form-label\">\n {{question.title}}\n \n </div>\n\n\n <div *ngIf=\"forScreenQuestionnaire && question.customTag && question.customTag==='component' && question.indent===1 && question.type!='html' \n && !question.description\">\n <money-expect *ngIf=\"question.componentName==='money-expect'\"></money-expect>\n<!-- <app-search-employer *ngIf=\"question.componentName==='app-search-employer'\" (onEmpty)=\"resetEmployer($event)\" (onFound)=\"setEmployer($event)\" [formControlName]=\"question.name\"></app-search-employer> -->\n<app-regular-employer-date *ngIf=\"question.componentName==='app-regular-emp-date'\" [form]=\"form\"></app-regular-employer-date>\n\n</div> \n\n <div *ngIf=\"question.type==='html'\" [innerHTML]=\"question.html\" class=\"heading\">\n </div>\n <div *ngIf=\"question.type==='simpleLabel'\" [innerHTML]=\"question.html\">\n </div>\n\n <div *ngIf=\"question.inputType && question.inputType==='date' && question.max && question.min\">\n <p-calendar [formControlName]=\"question.name\" [id]=\"question.name\" [monthNavigator]=\"true\" [yearNavigator]=\"true\"\n [readonlyInput]=\"true\" yearRange=\"1901:2050\" [showIcon]=\"true\" [minDate]=\"minDate\" [maxDate]=\"maxDate\"\n dateFormat=\"mm-dd-yy\" inputId=\"navigators\" dataType=\"string\" appendTo=\"body\" \n >\n </p-calendar>\n </div>\n\n\n <div *ngIf=\"question.inputType && question.inputType==='date' && !question.max && !question.min\">\n <p-calendar [formControlName]=\"question.name\" [id]=\"question.name\" [monthNavigator]=\"true\" [yearNavigator]=\"true\"\n [inputId]=\"question.name\" [readonlyInput]=\"true\" [showIcon]=\"true\" dateFormat=\"mm-dd-yy\" yearRange=\"1901:2050\"\n dataType=\"string\" appendTo=\"body\"></p-calendar>\n </div>\n\n <div *ngIf=\"question.inputType && question.inputType==='date' && question.max && !question.min\">\n <p-calendar [formControlName]=\"question.name\" [id]=\"question.name\" [monthNavigator]=\"true\" [yearNavigator]=\"true\"\n [inputId]=\"question.name\" [maxDate]=\"maxDate\" [readonlyInput]=\"true\" [showIcon]=\"true\" dateFormat=\"mm-dd-yy\"\n yearRange=\"1901:2050\" dataType=\"string\" appendTo=\"body\"></p-calendar>\n </div>\n\n <div *ngIf=\"question.inputType && question.inputType==='date' && !question.max && question.min\">\n <p-calendar [formControlName]=\"question.name\" [id]=\"question.name\" [monthNavigator]=\"true\" [yearNavigator]=\"true\"\n [inputId]=\"question.name\" [minDate]=\"minDate\" [readonlyInput]=\"true\" [showIcon]=\"true\" dateFormat=\"mm-dd-yy\"\n yearRange=\"1901:2050\" dataType=\"string\" appendTo=\"body\" (onShow)=\"setMinDate($event,question)\"></p-calendar>\n </div>\n\n <div *ngIf=\"question.customTag && question.customTag.includes('password') && !question.name.includes('confpwd')\">\n <div class=\"container\" style=\"display: flex;\">\n <p-password [id]=\"question.name\" [formControlName]=\"question.name\" [toggleMask]=\"true\"\n [maxLength]=\"question.maxLength\"></p-password>\n <div style=\"flex-grow: 1;\" *ngIf=\"question.description\" style=\"padding-left: 8px\">\n <app-overlay-info [overlayText]=\"question.description\"></app-overlay-info>\n \n </div>\n </div>\n </div>\n \n <div *ngIf=\"question.customTag && question.customTag.includes('password') && question.name.includes('confpwd')\">\n <div class=\"container\" style=\"display: flex;\">\n <p-password [id]=\"question.name\" [formControlName]=\"question.name\" [toggleMask]=\"true\"\n [maxLength]=\"question.maxLength\"></p-password>\n <div style=\"flex-grow: 1;\" *ngIf=\"question.description\" style=\"padding-left: 8px\">\n <app-overlay-info [overlayText]=\"question.description\"></app-overlay-info>\n </div>\n </div>\n </div>\n \n <div *ngIf=\"!question.customTag && question.type && (question.type!='radiogroup' && question.type!='displaytextaslabel')\">\n <div class=\"container\" style=\"display: flex;\">\n <input type=\"text\" [id]=\"question.name\" pInputText *ngIf=\"question.inputType && question.inputType==='text' \n && !question.isRequired && question.size && question.maxLength\" [formControlName]=\"question.name\"\n placeholder=\"Optional\" [size]=\"question.size\" [maxLength]=\"question.maxLength\" />\n \n \n <input type=\"text\" [id]=\"question.name\" pInputText *ngIf=\"question.inputType && question.inputType==='text' \n && !question.isRequired && question.size && !question.maxLength\" [formControlName]=\"question.name\"\n placeholder=\"Optional\" [size]=\"question.size\" />\n \n <input type=\"text\" [id]=\"question.name\" pInputText *ngIf=\"question.inputType && question.inputType==='text' \n && !question.isRequired && !question.size && question.maxLength\" [formControlName]=\"question.name\"\n placeholder=\"Optional\" [maxLength]=\"question.maxLength\" />\n \n <input type=\"text\" [id]=\"question.name\" pInputText *ngIf=\"question.inputType && question.inputType==='text' \n && !question.isRequired && !question.size && !question.maxLength\" [formControlName]=\"question.name\"\n placeholder=\"Optional\" />\n \n \n <input type=\"text\" [id]=\"question.name\" pInputText *ngIf=\"question.inputType && question.inputType==='text' \n && question.isRequired && question.size && question.maxLength\" [formControlName]=\"question.name\"\n [size]=\"question.size\" [maxLength]=\"question.maxLength\" (blur)=\"validate(question)\" />\n \n <input type=\"text\" [id]=\"question.name\" pInputText *ngIf=\"question.inputType && question.inputType==='text' \n && question.isRequired && question.size && !question.maxLength\" [formControlName]=\"question.name\"\n [size]=\"question.size\" />\n \n <input type=\"text\" [id]=\"question.name\" pInputText *ngIf=\"question.inputType && question.inputType==='text' \n && question.isRequired && !question.size && question.maxLength\" [formControlName]=\"question.name\"\n [maxLength]=\"question.maxLength\" />\n \n <input type=\"text\" [id]=\"question.name\" pInputText *ngIf=\"question.inputType && question.inputType==='text' \n && question.isRequired && !question.size && !question.maxLength\" [formControlName]=\"question.name\" />\n <div style=\"flex-grow: 1;\" *ngIf=\"question.description\" style=\"padding-left: 8px\">\n <app-overlay-info [overlayText]=\"question.description\"></app-overlay-info>\n </div>\n </div>\n </div>\n\n\n <div *ngIf=\"question.customTag && question.type && question.customTag.includes('Optional')\">\n <div class=\"container\" style=\"display: flex;\">\n <input type=\"text\" [id]=\"question.name\" pInputText *ngIf=\"question.inputType && question.inputType==='text' \n && !question.isRequired && question.size && question.maxLength\" [formControlName]=\"question.name\"\n placeholder=\"Optional\" [size]=\"question.size\" [maxLength]=\"question.maxLength\" />\n <input type=\"text\" [id]=\"question.name\" pInputText *ngIf=\"question.inputType && question.inputType==='text' \n && !question.isRequired && question.size && !question.maxLength\" [formControlName]=\"question.name\"\n placeholder=\"Optional\" [size]=\"question.size\" />\n \n <input type=\"text\" [id]=\"question.name\" pInputText *ngIf=\"question.inputType && question.inputType==='text' \n && !question.isRequired && !question.size && question.maxLength\" [formControlName]=\"question.name\"\n placeholder=\"Optional\" [maxLength]=\"question.maxLength\" />\n \n <input type=\"text\" [id]=\"question.name\" pInputText *ngIf=\"question.inputType && question.inputType==='text' \n && !question.isRequired && !question.size && !question.maxLength\" [formControlName]=\"question.name\"\n placeholder=\"Optional\" />\n <div style=\"flex-grow: 1;\" *ngIf=\"question.description\" style=\"padding-left: 8px\">\n <app-overlay-info [overlayText]=\"question.description\"></app-overlay-info>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"question.customTag && question.customTag.includes('phone')\">\n <div class=\"container\" style=\"display: flex;\">\n <p-inputMask mask=\"999 999-9999\" [id]=\"question.name\" [formControlName]=\"question.name\" placeholder=\"Optional\"\n *ngIf=\"question.inputType && question.inputType==='text' && !question.isRequired\"></p-inputMask>\n \n <p-inputMask mask=\"999 999-9999\" [id]=\"question.name\" [formControlName]=\"question.name\" placeholder=\"999 999-9999\"\n *ngIf=\"question.inputType && question.inputType==='text' && question.isRequired\"></p-inputMask>\n <div style=\"flex-grow: 1;\" *ngIf=\"question.description\" style=\"padding-left: 8px\">\n <app-overlay-info [overlayText]=\"question.description\"></app-overlay-info>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"question.customTag && question.customTag.includes('ssn')\">\n <div class=\"container\" style=\"display: flex;\">\n <p-inputMask mask=\"999-99-9999\" [id]=\"question.name\" *ngIf=\"question.isRequired\" [formControlName]=\"question.name\"\n placeholder=\"999-99-9999\">\n </p-inputMask>\n \n <p-inputMask mask=\"999-99-9999\" [id]=\"question.name\" *ngIf=\"!question.isRequired\"\n [formControlName]=\"question.name\" placeholder=\"Optional\">\n </p-inputMask>\n <div style=\"flex-grow: 1;\" *ngIf=\"question.description\" style=\"padding-left: 8px\">\n <app-overlay-info [overlayText]=\"question.description\"></app-overlay-info>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"question.customTag && !question.customTag.includes('phone') \n && !question.customTag.includes('password') && !question.customTag.includes('ssn')\">\n <div class=\"container\" style=\"display: flex;\">\n <input type=\"text\" [id]=\"question.name\" pInputText *ngIf=\"question.inputType && question.inputType==='text' \n && question.isRequired && question.size && question.maxLength\" [formControlName]=\"question.name\"\n [size]=\"question.size\" [maxLength]=\"question.maxLength\" />\n \n <input type=\"text\" [id]=\"question.name\" pInputText *ngIf=\"question.inputType && question.inputType==='text' \n && question.isRequired && question.size && !question.maxLength\" [formControlName]=\"question.name\"\n [size]=\"question.size\" />\n \n <input type=\"text\" [id]=\"question.name\" pInputText *ngIf=\"question.inputType && question.inputType==='text' \n && question.isRequired && !question.size && question.maxLength\" [formControlName]=\"question.name\"\n [maxLength]=\"question.maxLength\" />\n \n <input type=\"text\" [id]=\"question.name\" pInputText *ngIf=\"question.inputType && question.inputType==='text' \n && question.isRequired && !question.size && !question.maxLength\" [formControlName]=\"question.name\" />\n <div style=\"flex-grow: 1;\" *ngIf=\"question.description\" style=\"padding-left: 8px\">\n <app-overlay-info [overlayText]=\"question.description\"></app-overlay-info>\n </div>\n </div>\n </div>\n <!-- && visibleIf(question.visibleIf) -->\n <div *ngIf=\"question.type && question.type==='singleselectcheckbox'\">\n <!-- <div [ngStyle]=\"setStyle(question.indent)\"> -->\n <p-selectButton [options]=\"question.choices\" [formControlName]=\"question.name\" [multiple]=false\n optionLabel=\"text\" optionValue=\"value\" ></p-selectButton>\n <!-- </div> -->\n </div>\n\n\n <div *ngIf=\"question.type && question.type==='dropdown' && question.size\"> \n <!-- <div class=\"flex-child\"> \n <p-dropdown [id]=\"question.name\" *ngIf=\"question.choices.length>3\" \n [formControlName]=\"question.name\" placeholder=\" \" [options]=\" getDependentDropdownData(question)| async\"\n optionLabel=\"text\" optionValue=\"value\" [style]=\"{'width':'200px','height':'35px'}\" [filter]=\"true\" filterBy=\"text\"\n >\n </p-dropdown>\n\n \n <p-dropdown [id]=\"question.name\" *ngIf=\"question.choices.length<=3\" editable=\"true\" filter=\"true\" filterBy=\"text\"\n [formControlName]=\"question.name\" placeholder=\" \" [options]=\" getDependentDropdownData(question)| async\"\n optionLabel=\"text\" optionValue=\"value\" [style]=\"{'width':'200px','height':'35px'}\">\n </p-dropdown>\n </div> -->\n\n <!-- <p-autoComplete [formControlName]=\"question.name\" [suggestions]=\"getDependentDropdownData(question)| async\" appendTo=\"body\"\n (completeMethod)=\"filterValue($event,question.choices,question.name)\" field=\"text\" [dropdown]=\"true\" \n minLength = 3 forceSelection=\"true\" [show]=\"getDependentDropdownData(question)| async\"\n > -->\n <div > \n \n <p-autoComplete [formControlName]=\"question.name\" appendTo=\"body\" [suggestions]=\"filteredBs.get(question.name)| async\"\n (completeMethod)=\"filterValue($event,question)\" dataKey =\"value\" field=\"text\" [dropdown]=\"true\" [size]=\"question.size\"\n minLength = 1 forceSelection=\"true\" type=\"text\" (onSelect)=\"onSelect($event,question.name)\"> \n\n <ng-template let-value pTemplate=\"item\">\n <div>\n <div>{{value.text}}</div>\n </div>\n </ng-template>\n </p-autoComplete>\n</div>\n\n <!-- <div *ngIf=\"question.description\">\n <app-overlay-info [overlayText]=\"question.description\"></app-overlay-info>\n </div> -->\n </div>\n \n <div *ngIf=\"question.type && question.type==='dropdown' && !question.size\">\n <p-autoComplete [formControlName]=\"question.name\" appendTo=\"body\"\n [suggestions]=\"filteredBs.get(question.name)| async\" (completeMethod)=\"filterValue($event,question)\"\n dataKey=\"value\" field=\"text\" [dropdown]=\"true\" minLength=3 forceSelection=\"true\" type=\"text\" (onSelect)=\"onSelect($event,question.name)\">\n <ng-template let-value pTemplate=\"item\">\n <div>\n <div>{{value.text}}</div>\n </div>\n </ng-template>\n </p-autoComplete>\n </div>\n\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\" ></app-file-uploader>\n </div>\n\n\n <div class=\"container\" style=\"padding: 0px;\" *ngIf=\"question.type && question.type==='radiogroup'\">\n <div class=\"container\" style=\"display: flex;\">\n <p-selectButton [options]=\"question.choices\" [formControlName]=\"question.name\" optionLabel=\"text\"\n optionValue=\"value\"></p-selectButton>\n <div style=\"flex-grow: 1;\" *ngIf=\"question.description\" style=\"padding-left: 8px\">\n <app-overlay-info [overlayText]=\"question.description\"></app-overlay-info>\n </div>\n </div>\n </div>\n\n <div class=\"container\" style=\"padding: 0px;\" *ngIf=\"question.type && question.type==='displaytextaslabel'\">\n <div class=\"container\" style=\"display: flex;\">\n <label>{{form.controls[question.name].value}}</label>\n <input type=\"hidden\" [formControlName]=\"question.name\"/>\n <div style=\"flex-grow: 1;\" *ngIf=\"question.description\" style=\"padding-left: 2px\">\n <app-overlay-info [overlayText]=\"question.description\"></app-overlay-info>\n </div>\n </div>\n </div>\n\n\n <div>\n <small class=\"p-error\" *ngIf=\"isValid!=''\">{{isValid}}</small>\n </div>\n</div>", styles: [".form-label{display:inline-block;margin-bottom:6px;margin-top:20px}\n"] }]
|
|
1086
|
+
}], () => [{ type: i1.QuestionService }, { type: i2.ValidationService }, { type: i3.UtilService }, { type: i1.QuestionService }, { type: i4.NavController }], { question: [{
|
|
1087
|
+
type: Input
|
|
1088
|
+
}], form: [{
|
|
1089
|
+
type: Input
|
|
1090
|
+
}], forScreenQuestionnaire: [{
|
|
1091
|
+
type: Input
|
|
1092
|
+
}] }); })();
|
|
1093
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DynamicFormPanelComponent, { className: "DynamicFormPanelComponent" }); })();
|
|
1094
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbm5haXJlL2R5bmFtaWMtZm9ybS1wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb25uYWlyZS9keW5hbWljLWZvcm0tcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ0NuRSxzQ0FFa0M7SUFBbkIsZ01BQVMsZUFBQSxnQkFBUSxDQUFBLElBQUM7SUFDNUIsWUFDTDtJQUFBLGlCQUFhO0lBRWIsc0NBRWlDO0lBQXBCLGdNQUFTLGVBQUEsZ0JBQVEsQ0FBQSxJQUFDO0lBQzFCLFlBQ0w7SUFBQSxpQkFBYTs7O0lBUFIsZUFDTDtJQURLLDJEQUNMO0lBS0ssZUFDTDtJQURLLDREQUNMOzs7OztJQWhCUixtQ0FDd0Q7SUFERSx5UEFBNkI7SUFHdkYseUJBQUc7SUFBQSxZQUNDO0lBQUEsaUJBQUk7SUFDSixxR0FhZ0I7SUFDcEIsaUJBQVc7OztJQW5Ca0gsMENBQXlCO0lBQTVJLDJDQUFzQixtQ0FBQSw2QkFBQSxlQUFBLG9CQUFBLG9CQUFBLG9CQUFBO0lBRzdCLGVBQ0M7SUFERCxnREFDQzs7O0lBbUJFLDZCQUF1RjtJQUNyRixZQUFrQjtJQUFBLGlCQUFROzs7SUFEckIsNENBQTBC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QXJFLDhGQUFxRTtZQU03QixlQUFtRDtZQUFuRCw4RUFBbUQ7WUFVbkQsZUFBMkQ7WUFBM0Qsc0ZBQTJEO1lBWWpGLGVBQWlCO1lBQWpCLHdDQUFpQjs7O2lGRDVSaEMseUJBQXlCO2NBUnJDLFNBQVM7MkJBQ0UsZ0JBQWdCLGlCQUdYLGlCQUFpQixDQUFDLElBQUk7b0tBSzVCLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxJQUFJO2tCQUFaLEtBQUs7WUFDRyxzQkFBc0I7a0JBQTlCLEtBQUs7O2tGQUhLLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBFbGVtZW50c01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvRWxlbWVudHNNb2RlbCc7XHJcbmltcG9ydCB7IEtleVZhbHVlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9LZXlWYWx1ZU1vZGVsJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvVmFsaWRhdGlvbk1vZGVsJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9xdWVzdGlvbm5haXJlL3ZhbGlkYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC91dGlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBRdWVzdGlvblNlcnZpY2UgfSBmcm9tICcuL3F1ZXN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSAnLi9TZWxlY3RJdGVtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncGFuZWwtcXVlc3Rpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWZvcm0tcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJscyA6IFsnLi9keW5hbWljLWZvcm0tcGFuZWwuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybVBhbmVsQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBxdWVzdGlvbjogRWxlbWVudHNNb2RlbDtcclxuICBASW5wdXQoKSBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIGZvclNjcmVlblF1ZXN0aW9ubmFpcmU6IGJvb2xlYW47XHJcbiAgbWluRGF0ZTogRGF0ZTtcclxuICBtYXhEYXRlOiBEYXRlO1xyXG4gIGRpc3BsYXlQb3NpdGlvbjogYm9vbGVhbjtcclxuICBwb3NpdGlvbjogc3RyaW5nO1xyXG4gIHBvcFVwSGVhZGVyOiBzdHJpbmc7XHJcbiAgcG9wVXBUZXh0OiBzdHJpbmc7XHJcbiAgcG9wVXBZZXNBY3Rpb25MYWJlbDogc3RyaW5nO1xyXG4gIHBvcFVwTm9BY3Rpb25MYWJlbDogc3RyaW5nO1xyXG4gIGRyb3Bkb3duVmFsdWVCcyA9IG5ldyBNYXA8VW50eXBlZEZvcm1Db250cm9sLCBCZWhhdmlvclN1YmplY3Q8U2VsZWN0SXRlbVtdPj4oKTtcclxuICBmaWx0ZXJlZEJzID0gbmV3IE1hcDxzdHJpbmcsIEJlaGF2aW9yU3ViamVjdDxTZWxlY3RJdGVtW10+PigpO1xyXG4gIHJldHVybk1vZGVsID0gbmV3IFZhbGlkYXRpb25Nb2RlbCgpO1xyXG4gXHJcbiAgY29uc3RydWN0b3IocHVibGljIHNlcnZpY2U6IFF1ZXN0aW9uU2VydmljZSwgcHVibGljIHZhbGlkYXRpb25TZXJ2aWNlOiBWYWxpZGF0aW9uU2VydmljZSxcclxuICAgIHB1YmxpYyB1dGlsOiBVdGlsU2VydmljZSwgcHVibGljIHF1ZXN0aW9uU2VydmljZTogUXVlc3Rpb25TZXJ2aWNlLFxyXG4gICAgcHVibGljIG5hdkNvbnRyb2xsZXI6IE5hdkNvbnRyb2xsZXIpIHsgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAvLyAgIGNvbnNvbGUubG9nKCdpcyBEeW5hbWljRm9ybVF1ZXN0aW9uQ29tcG9uZW50IG5nT25Jbml0IGNhbGxlZCcsIHRoaXMucXVlc3Rpb24pXHJcbiAgXHJcbiAgXHJcbiAgICAgIGlmICh0aGlzLnF1ZXN0aW9uLmlucHV0VHlwZSA9PT0gJ2RhdGUnKSB7XHJcbiAgICAgICAgIGNvbnNvbGUubG9nKCdEYXRlICcsIHRoaXMucXVlc3Rpb24pO1xyXG4gICAgICAgIGlmICh0aGlzLnF1ZXN0aW9uLm1heCkge1xyXG4gICAgICAgICAgdGhpcy5wYXJzZURhdGUodGhpcy5xdWVzdGlvbi5tYXgsICdtYXgnKVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5xdWVzdGlvbi5taW4pIHtcclxuICAgICAgICAgIHRoaXMucGFyc2VEYXRlKHRoaXMucXVlc3Rpb24ubWluLCAnbWluJylcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICBnZXQgaXNWYWxpZCgpIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKCdpc1ZhbGlkIGlzIGNhbGxsZWQnKTtcclxuICAgIGxldCBtZXNzYWdlOiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgbGV0IHF1ZXN0aW9uVHlwZTogc3RyaW5nID0gdGhpcy5xdWVzdGlvbi50eXBlO1xyXG4gICAgaWYgKCdodG1sJyA9PT0gcXVlc3Rpb25UeXBlIHx8ICgnYnV0dG9uJyA9PT0gcXVlc3Rpb25UeXBlICYmICF0aGlzLnF1ZXN0aW9uLnZhbGlkYXRvcnMpIHx8ICdzaW1wbGVMYWJlbCcgPT09IHF1ZXN0aW9uVHlwZSB8fCAnZGlzcGxheXRleHRhc2xhYmVsJyA9PT0gcXVlc3Rpb25UeXBlKSB7XHJcbiAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucXVlc3Rpb24gJiYgdGhpcy5xdWVzdGlvbi5uYW1lICYmIHRoaXMuZm9ybSAmJiB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5lcnJvcnM/LnJlcXVpcmVkXHJcbiAgICAgICYmICh0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5kaXJ0eSB8fCB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS50b3VjaGVkKSkge1xyXG4gICAgICAvL2NvbnNvbGUubG9nKCdlcnJvcnM/LnJlcXVpcmVkJyx0aGlzLnF1ZXN0aW9uKVxyXG4gICAgICB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgICByZXR1cm4gdGhpcy5xdWVzdGlvbi5yZXF1aXJlZEVycm9yVGV4dDtcclxuICAgIH1cclxuICAgIC8vIGlmICh0aGlzLnF1ZXN0aW9uICYmIHRoaXMucXVlc3Rpb24ubmFtZSAmJiB0aGlzLmZvcm0gJiYgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0uZXJyb3JzPy5tYXhsZW5ndGggJiYgKHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLmRpcnR5IHx8IHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLnRvdWNoZWQpKSB7XHJcbiAgICAvLyAgIC8vL2NvbnNvbGUubG9nKCdlcnJvcnM/Lm1heExlbmd0aCcsdGhpcy5xdWVzdGlvbilcclxuICAgIC8vICAgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0ubWFya0FzRGlydHkoKTtcclxuICAgIC8vICAgcmV0dXJuIHRoaXMucXVlc3Rpb24uZGVzY3JpcHRpb247XHJcbiAgICAvLyB9XHJcblxyXG4gICAgaWYgKHRoaXMucXVlc3Rpb24gJiYgdGhpcy5xdWVzdGlvbi5uYW1lICYmIHRoaXMuZm9ybSAmJiB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5lcnJvcnM/LnBhdHRlcm5cclxuICAgICAgJiYgKHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLmRpcnR5IHx8IHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLnRvdWNoZWQpKSB7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdlcnJvcnM/LnBhdHRlcm4nLHRoaXMucXVlc3Rpb24pXHJcbiAgICAgIGxldCB2YWxpZGF0b3JMaXN0ID0gdGhpcy5xdWVzdGlvbi52YWxpZGF0b3JzO1xyXG4gICAgICB2YXIga2VlcEdvaW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgIHZhbGlkYXRvckxpc3QuZm9yRWFjaCh2YWxpZGF0b3IgPT4ge1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCd2YWxpZGF0b3IudHlwZSAnLCB2YWxpZGF0b3IudHlwZSlcclxuICAgICAgICBpZiAoa2VlcEdvaW5nKSB7XHJcbiAgICAgICAgICBpZiAodmFsaWRhdG9yLnR5cGUgPT09ICdyZWdleCcpIHtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ3ZhbGlkYXRvci50ZXh0ICcsIHZhbGlkYXRvci50ZXh0KVxyXG4gICAgICAgICAgICBtZXNzYWdlID0gdmFsaWRhdG9yLnRleHQ7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLm1hcmtBc0RpcnR5KCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBtZXNzYWdlID0gXCJcIjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICAgIHJldHVybiBtZXNzYWdlO1xyXG5cclxuICAgIH1cclxuICAgIGlmICh0aGlzLnF1ZXN0aW9uICYmIHRoaXMucXVlc3Rpb24ubmFtZSAmJiB0aGlzLmZvcm0gJiYgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0uZXJyb3JzPy5kYXRlQ29tcGFyaXNpb25cclxuICAgICAgJiYgKHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLmRpcnR5IHx8IHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLnRvdWNoZWQpKSB7XHJcbiAgICAgIGxldCB2YWxpZGF0b3JMaXN0ID0gdGhpcy5xdWVzdGlvbi52YWxpZGF0b3JzO1xyXG4gICAgICB2YXIga2VlcEdvaW5nID0gdHJ1ZTtcclxuICAgICAgbGV0IG1lc3NhZ2U6IHN0cmluZyA9IFwiXCI7XHJcbiAgICAgIHZhbGlkYXRvckxpc3QuZm9yRWFjaCh2YWxpZGF0b3IgPT4ge1xyXG4gICAgICAgIGlmIChrZWVwR29pbmcpIHtcclxuICAgICAgICAgIGlmICh2YWxpZGF0b3IudHlwZSA9PT0gJ2V4cHJlc3Npb24nKSB7XHJcbiAgICAgICAgICAgIC8vICBjb25zb2xlLmxvZygndmFsaWRhdG9yLnRleHQgJywgdmFsaWRhdG9yLnRleHQpXHJcbiAgICAgICAgICAgIG1lc3NhZ2UgPSB2YWxpZGF0b3IudGV4dDtcclxuICAgICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0ubWFya0FzRGlydHkoKTtcclxuICAgICAgICAgICAga2VlcEdvaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgbWVzc2FnZSA9IFwiXCI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgICByZXR1cm4gbWVzc2FnZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5xdWVzdGlvbiAmJiB0aGlzLnF1ZXN0aW9uLm5hbWUgJiYgdGhpcy5mb3JtICYmIHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLmVycm9ycz8ucGFzc3dvcmRDb21wYXJpc2lvblxyXG4gICAgICAmJiAodGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0uZGlydHkgfHwgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0udG91Y2hlZCkpIHtcclxuICAgICAgbGV0IHZhbGlkYXRvckxpc3QgPSB0aGlzLnF1ZXN0aW9uLnZhbGlkYXRvcnM7XHJcbiAgICAgIHZhciBrZWVwR29pbmcgPSB0cnVlO1xyXG4gICAgICBsZXQgbWVzc2FnZTogc3RyaW5nID0gXCJcIjtcclxuICAgICAgdmFsaWRhdG9yTGlzdC5mb3JFYWNoKHZhbGlkYXRvciA9PiB7XHJcbiAgICAgICAgaWYgKGtlZXBHb2luZykge1xyXG4gICAgICAgICAgLy8gICBjb25zb2xlLmxvZygndmFsaWRhdG9yLnR5cGUubWlubGVuZ3RoICcsIHZhbGlkYXRvci50eXBlKVxyXG4gICAgICAgICAgaWYgKHZhbGlkYXRvci50eXBlID09PSAnZXhwcmVzc2lvbicpIHtcclxuICAgICAgICAgICAgLy8gIGNvbnNvbGUubG9nKCd2YWxpZGF0b3IudGV4dCAnLCB2YWxpZGF0b3IudGV4dClcclxuICAgICAgICAgICAgbWVzc2FnZSA9IHZhbGlkYXRvci50ZXh0O1xyXG4gICAgICAgICAgICB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgICAgICAgICBrZWVwR29pbmcgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBtZXNzYWdlID0gXCJcIjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICAgIHJldHVybiBtZXNzYWdlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnF1ZXN0aW9uICYmIHRoaXMucXVlc3Rpb24ubmFtZSAmJiB0aGlzLmZvcm0gJiYgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0uZXJyb3JzPy5taW5sZW5ndGhcclxuICAgICAgJiYgKHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLmRpcnR5IHx8IHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLnRvdWNoZWQpKSB7XHJcbiAgICAgIGxldCB2YWxpZGF0b3JMaXN0ID0gdGhpcy5xdWVzdGlvbi52YWxpZGF0b3JzO1xyXG4gICAgIC8vIGNvbnNvbGUubG9nKCdNaW5MZW5ndGgnKVxyXG4gICAgICB2YXIga2VlcEdvaW5nID0gdHJ1ZTtcclxuICAgICAgbGV0IG1lc3NhZ2U6IHN0cmluZyA9IFwiXCI7XHJcbiAgICAgIHZhbGlkYXRvckxpc3QuZm9yRWFjaCh2YWxpZGF0b3IgPT4ge1xyXG4gICAgICAgIGlmIChrZWVwR29pbmcpIHtcclxuICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCd2YWxpZGF0b3IudHlwZS5taW5sZW5ndGggJywgdmFsaWRhdG9yLnR5cGUpXHJcbiAgICAgICAgICBpZiAodmFsaWRhdG9yLnR5cGUgPT09ICd0ZXh0Jykge1xyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZygndmFsaWRhdG9yLnRleHQgJywgdmFsaWRhdG9yLnRleHQpXHJcbiAgICAgICAgICAgIG1lc3NhZ2UgPSB2YWxpZGF0b3IudGV4dDtcclxuICAgICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0ubWFya0FzRGlydHkoKTtcclxuICAgICAgICAgICAga2VlcEdvaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgbWVzc2FnZSA9IFwiXCI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgICByZXR1cm4gbWVzc2FnZTtcclxuXHJcbiAgICB9XHJcblxyXG5cclxuICBcclxuICAgIGlmICh0aGlzLnF1ZXN0aW9uICYmIHRoaXMucXVlc3Rpb24ubmFtZSAmJiB0aGlzLmZvcm0gJiYgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0uZXJyb3JzPy5tYXhsZW5ndGhcclxuICAgICAgJiYgKHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLmRpcnR5IHx8IHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLnRvdWNoZWQpKSB7XHJcbiAgICAgIGxldCB2YWxpZGF0b3JMaXN0ID0gdGhpcy5xdWVzdGlvbi52YWxpZGF0b3JzO1xyXG4gICAgICB2YXIga2VlcEdvaW5nID0gdHJ1ZTtcclxuICAgICAgbGV0IG1lc3NhZ2U6IHN0cmluZyA9IFwiXCI7XHJcbiAgICAgIHZhbGlkYXRvckxpc3QuZm9yRWFjaCh2YWxpZGF0b3IgPT4ge1xyXG4gICAgICAgIGlmIChrZWVwR29pbmcpIHtcclxuICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCd2YWxpZGF0b3IudHlwZS5taW5sZW5ndGggJywgdmFsaWRhdG9yLnR5cGUpXHJcbiAgICAgICAgICBpZiAodmFsaWRhdG9yLnR5cGUgPT09ICd0ZXh0Jykge1xyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZygndmFsaWRhdG9yLnRleHQgJywgdmFsaWRhdG9yLnRleHQpXHJcbiAgICAgICAgICAgIG1lc3NhZ2UgPSB2YWxpZGF0b3IudGV4dDtcclxuICAgICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0ubWFya0FzRGlydHkoKTtcclxuICAgICAgICAgICAga2VlcEdvaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgbWVzc2FnZSA9IFwiXCI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgICByZXR1cm4gbWVzc2FnZTtcclxuXHJcbiAgICB9XHJcbiAgXHJcbiAgICBpZiAodGhpcy5xdWVzdGlvbiAmJiB0aGlzLnF1ZXN0aW9uLm5hbWUgJiYgdGhpcy5mb3JtICYmIHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLm5hbWVdLmVycm9ycz8ucmVxdWlyZWRJZlxyXG4gICAgICAmJiAodGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0uZGlydHkgfHwgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0udG91Y2hlZCkpIHtcclxuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0ubWFya0FzRGlydHkoKTtcclxuICAgICAgcmV0dXJuIFwiUmVxdWlyZWRcIjtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucXVlc3Rpb24gJiYgdGhpcy5xdWVzdGlvbi5uYW1lICYmIHRoaXMuZm9ybSAmJiB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5lcnJvcnM/Lm5vdEVxdWFsc1xyXG4gICAgICAmJiAodGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0uZGlydHkgfHwgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0udG91Y2hlZCkpIHtcclxuICAgICAgbGV0IHZhbGlkYXRvckxpc3QgPSB0aGlzLnF1ZXN0aW9uLnZhbGlkYXRvcnM7XHJcbiAgICAgIHZhciBrZWVwR29pbmcgPSB0cnVlO1xyXG4gICAgICB2YWxpZGF0b3JMaXN0LmZvckVhY2godmFsaWRhdG9yID0+IHtcclxuICAgICAgICBpZiAoa2VlcEdvaW5nKSB7XHJcbiAgICAgICAgICAvL2NvbnNvbGUubG9nKCd2YWxpZGF0b3IudHlwZS5taW5sZW5ndGggJywgdmFsaWRhdG9yLnR5cGUpXHJcbiAgICAgICAgICBpZiAodmFsaWRhdG9yLnR5cGUgPT09ICdjdXN0b212YWxpZGF0aW9uJykge1xyXG4gICAgICAgICAgICAvL2NvbnNvbGUubG9nKCd2YWxpZGF0b3IudGV4dCAnLCB2YWxpZGF0b3IudGV4dClcclxuICAgICAgICAgICAgbWVzc2FnZSA9IHZhbGlkYXRvci50ZXh0O1xyXG4gICAgICAgICAgICB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5xdWVzdGlvbi5uYW1lXS5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgICAgICAgICBrZWVwR29pbmcgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBtZXNzYWdlID0gXCJcIjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcblxyXG4gICAgICB2YXIga2VlcEdvaW5nID0gdHJ1ZTtcclxuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMucXVlc3Rpb24ubmFtZV0ubWFya0FzRGlydHkoKTtcclxuICAgICAgcmV0dXJuIG1lc3NhZ2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuc2V0TWluRGF0ZShkYXRlVmFsdWU6RGF0ZSxxdWVzdGlvbjpFbGVtZW50c01vZGVsKXtcclxuICBjb25zb2xlLmxvZygnc2V0TWluRGF0ZSBjYWxsZWQnLCBxdWVzdGlvbi5taW4pO1xyXG4gIGNvbnNvbGUubG9nKCdxdWVzdGlvbi5taW4gJyx0aGlzLmZvcm0uY29udHJvbHNbcXVlc3Rpb24ubWluXS52YWx1ZSk7XHJcbiAgbGV0IHN0YXJ0RGF0ZVZhbHVlOkRhdGU9bmV3IERhdGUodGhpcy5mb3JtLmNvbnRyb2xzW3F1ZXN0aW9uLm1pbl0udmFsdWUpO1xyXG4gICAvL3RoaXMubWluRGF0ZSA9IG5ldyBEYXRlKHN0YXJ0RGF0ZVZhbHVlKTtcclxuICAgLy90aGlzLmZvcm0uY29udHJvbHNbcXVlc3Rpb24ubmFtZV0uc2V0VmFsdWUobnVsbCk7XHJcbiAgIHRoaXMubWluRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgIGNvbnNvbGUubG9nKCdzdGFydERhdGVWYWx1ZScsc3RhcnREYXRlVmFsdWUpO1xyXG4gICB0aGlzLm1pbkRhdGUuc2V0TW9udGgoc3RhcnREYXRlVmFsdWUuZ2V0TW9udGgoKSk7XHJcbiAgIHRoaXMubWluRGF0ZS5zZXRGdWxsWWVhcihOdW1iZXIoc3RhcnREYXRlVmFsdWUuZ2V0RnVsbFllYXIoKSkpO1xyXG4gICB0aGlzLm1pbkRhdGUuc2V0RGF0ZShOdW1iZXIoc3RhcnREYXRlVmFsdWUuZ2V0RGF0ZSgpKSArIDEpO1xyXG59XHJcblxyXG4gIHBhcnNlRGF0ZShzdHJEYXRlOiBzdHJpbmcsIHR5cGU6IHN0cmluZyk6IERhdGUge1xyXG4gICAgICBjb25zb2xlLmxvZygnaXMgcGFyc2VEYXRlIGNhbGxlZCcsIHN0ckRhdGUgKyAnIHR5cGUnLCB0eXBlKSAvLzA1LTEwLTIwMjFcclxuICAgICAgaWYgKHN0ckRhdGUgJiYgdHlwZSA9PT0gJ21heCcpIHtcclxuICAgICAgICB2YXIgc3BsaXRBcnJheSA9IHN0ckRhdGUuc3BsaXQoJy0nKTtcclxuICAgICAgICAvL2xldCBkYXRlOiBEYXRlID0gbmV3IERhdGUoKTtcclxuICAgICAgICB0aGlzLm1heERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICAgIHRoaXMubWF4RGF0ZS5zZXRNb250aChOdW1iZXIoc3BsaXRBcnJheVswXSkgLSAxKTtcclxuICAgICAgICB0aGlzLm1heERhdGUuc2V0RnVsbFllYXIoTnVtYmVyKHNwbGl0QXJyYXlbMl0pKTtcclxuICAgICAgICB0aGlzLm1heERhdGUuc2V0RGF0ZShOdW1iZXIoc3BsaXRBcnJheVsxXSkpO1xyXG4gICAgICAgICBjb25zb2xlLmxvZygnZGF0ZScsIHRoaXMubWF4RGF0ZSlcclxuICAgICAgICByZXR1cm4gdGhpcy5tYXhEYXRlO1xyXG4gICAgICB9XHJcbiAgXHJcbiAgICAgIGlmIChzdHJEYXRlICYmIHR5cGUgPT09ICdtaW4nKSB7XHJcbiAgICAgICAgdmFyIHNwbGl0QXJyYXkgPSBzdHJEYXRlLnNwbGl0KCctJyk7XHJcbiAgICAgICAgLy9sZXQgZGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgdGhpcy5taW5EYXRlID0gbmV3IERhdGUoKTtcclxuICAgICAgICB0aGlzLm1pbkRhdGUuc2V0TW9udGgoTnVtYmVyKHNwbGl0QXJyYXlbMF0pIC0gMSk7XHJcbiAgICAgICAgdGhpcy5taW5EYXRlLnNldEZ1bGxZZWFyKE51bWJlcihzcGxpdEFycmF5WzJdKSk7XHJcbiAgICAgICAgdGhpcy5taW5EYXRlLnNldERhdGUoTnVtYmVyKHNwbGl0QXJyYXlbMV0pKTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdkYXRlJywgdGhpcy5taW5EYXRlKVxyXG4gICAgICAgIHJldHVybiB0aGlzLm1pbkRhdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgdmlzaWJsZUlmKHN0ckV4cDogc3RyaW5nKSB7XHJcblxyXG4gICAgaWYgKCFzdHJFeHApIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICB2YXIgc3BsaXRBcnJheTogc3RyaW5nW107XHJcbiAgICBsZXQgaXNEb2VzTm90RXF1YWw6IGJvb2xlYW47XHJcbiAgICBsZXQgaW5kZXg6IG51bWJlciA9IHN0ckV4cC5pbmRleE9mKCchPScpO1xyXG4gICAgaWYgKGluZGV4ID09PSAtMSkge1xyXG4gICAgICBzcGxpdEFycmF5ID0gc3RyRXhwLnNwbGl0KCc9PScpO1xyXG4gICAgICBpc0RvZXNOb3RFcXVhbCA9IGZhbHNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc3BsaXRBcnJheSA9IHN0ckV4cC5zcGxpdCgnIT0nKTtcclxuICAgICAgaXNEb2VzTm90RXF1YWwgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgbGV0IG9wZXJhbmQxOiBzdHJpbmcgPSBzcGxpdEFycmF5WzBdO1xyXG4gICAgbGV0IG9wZXJhbmQyOiBzdHJpbmcgPSBzcGxpdEFycmF5WzFdO1xyXG4gICAgb3BlcmFuZDEgPSBvcGVyYW5kMS5yZXBsYWNlKCd7JywgJycpLnJlcGxhY2UoJ30nLCAnJyk7IC8vY2xhaW1hbnRQcmlvclBheTEwMiBkaWZmbWFpbGFkZHJlc3MzMTVcclxuICAgIG9wZXJhbmQyID0gb3BlcmFuZDIucmVwbGFjZSgneycsICcnKS5yZXBsYWNlKCd9JywgJycpOyAvL251bGxcclxuICAgIC8vIGNvbnNvbGUubG9nKCdvcGVyYW5kMScsb3BlcmFuZDEsJ29wZXJhbmQyJyxvcGVyYW5kMiwnIHRoaXMuZm9ybScsdGhpcy5mb3JtLmNvbnRyb2xzWydjaXR5MzE1J10pO1xyXG4gICAgaWYgKHRoaXMuZm9ybS5jb250cm9sc1snb3BlcmFuZDEnXSkge1xyXG4gICAgICB2YXIgdmFsdWVPZkNucnRybFRvQ2hlY2sgPSB0aGlzLmZvcm0uY29udHJvbHNbb3BlcmFuZDFdLnZhbHVlO1xyXG4gICAgICAvL2NvbnNvbGUubG9nKCd2YWx1ZU9mQ25ydHJsVG9DaGVjaycsIHZhbHVlT2ZDbnJ0cmxUb0NoZWNrKTtcclxuICAgICAgaWYgKG9wZXJhbmQyID09PSAnbnVsbCcgJiYgaXNEb2VzTm90RXF1YWwgJiYgdmFsdWVPZkNucnRybFRvQ2hlY2spIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAob3BlcmFuZDIgPT09ICdudWxsJyAmJiAhaXNEb2VzTm90RXF1YWwgJiYgIXZhbHVlT2ZDbnJ0cmxUb0NoZWNrKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgY29uc29sZS5sb2coJ3RoaXMuZm9ybS5jb250cm9sc1tvcGVyYW5kMV0nLHRoaXMuZm9ybS5jb250cm9sc1tvcGVyYW5kMV0pXHJcbiAgICAgIGlmICh0aGlzLmZvcm0uY29udHJvbHNbb3BlcmFuZDFdKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzW29wZXJhbmQxXS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG5cclxuICBnZXREZXBlbmRlbnREcm9wZG93bkRhdGEoZWxlbWVudDogYW55KSB7XHJcbiAgICBpZiAoZWxlbWVudC5zZXJ2aWNlTmFtZSkge1xyXG4gICAgICBpZiAoZWxlbWVudC5zZXJ2aWNlVHlwZSAhPSAnRkVUQ0gnKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBwYXJlbnRDb250cm9sID0gdGhpcy5mb3JtLmNvbnRyb2xzW2VsZW1lbnQuc2VydmljZUNhbGxQYXJhbV0gYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG4gICAgICBsZXQgc2VydmljZUNhbGxUeXBlID0gZWxlbWVudC5zZXJ2aWNlQ2FsbFR5cGU7XHJcbiAgICAgIGxldCBzZXJ2aWNlTmFtZTogc3RyaW5nID0gZWxlbWVudC5zZXJ2aWNlTmFtZTtcclxuICAgICAgbGV0IHNlcnZpY2VVcGRhdGVQYXJhbSA9IGVsZW1lbnQuc2VydmljZVVwZGF0ZVBhcmFtO1xyXG4gICAgICBsZXQgYnMgPSB0aGlzLmRyb3Bkb3duVmFsdWVCcy5nZXQocGFyZW50Q29udHJvbCk7XHJcbiAgICAgIGlmIChicykge1xyXG4gICAgICAgIHJldHVybiBicztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBsZXQgYnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xyXG4gICAgICAgIHRoaXMuZHJvcGRvd25WYWx1ZUJzLnNldChwYXJlbnRDb250cm9sLCBicyk7XHJcbiAgICAgIH1cclxuICAgICAgcGFyZW50Q29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgICAvLyAgY29uc29sZS5sb2coJ3BhcmVudENvbnRyb2wnLCBwYXJlbnRDb250cm9sKTtcclxuICAgICAgICAvLyAgICBjb25zb2xlLmxvZygndmFsdWUnLCB2YWx1ZSk7XHJcbiAgICAgICAgbGV0IGN1cnJlbnRCcyA9IHRoaXMuZHJvcGRvd25WYWx1ZUJzLmdldChwYXJlbnRDb250cm9sKTtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgIGlmIChzZXJ2aWNlQ2FsbFR5cGUgPT09ICdHRVQnKSB7XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdJbnNpZGUgR0VUJyk7XHJcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2VcclxuICAgICAgICAgICAgICAuZ2V0KGAke3NlcnZpY2VOYW1lfSR7dmFsdWV9LyR7c2VydmljZVVwZGF0ZVBhcmFtfWApXHJcbiAgICAgICAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRCcy5uZXh0KHJlc1snY2hvaWNlcyddKTtcclxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50QnMubmV4dChudWxsKTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIGJzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IGRlcGVuZGVudEZjID0gdGhpcy5mb3JtLmNvbnRyb2xzW2VsZW1lbnQubmFtZV0gYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG4gICAgICBsZXQgYnMgPSB0aGlzLmRyb3Bkb3duVmFsdWVCcy5nZXQoZGVwZW5kZW50RmMpO1xyXG4gICAgICBpZiAoIWJzKSB7XHJcbiAgICAgICAgbGV0IGJzID0gbmV3IEJlaGF2aW9yU3ViamVjdChlbGVtZW50LmNob2ljZXMpO1xyXG4gICAgICAgIHRoaXMuZHJvcGRvd25WYWx1ZUJzLnNldChkZXBlbmRlbnRGYywgYnMpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBicztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHZhbGlkYXRlKGVsZW1lbnQ6IGFueSkge1xyXG5cclxuICAgXHJcbiAgICBpZiAoIWVsZW1lbnQuc2VydmljZU5hbWUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgIFxyXG4gICAgbGV0IHNlcnZpY2VUeXBlID0gZWxlbWVudC5zZXJ2aWNlVHlwZTtcclxuICAgIGlmIChlbGVtZW50LnNlcnZpY2VUeXBlID09PSAnRkVUQ0gnKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcblxyXG4gICAgbGV0IHNlcnZpY2VDYWxsUGFyYW0gPSBlbGVtZW50LnNlcnZpY2VDYWxsUGFyYW07IC8vc3NuMzIwLGxzdG5hbWUzMjBcclxuICAgIGxldCBzZXJ2aWNlQ2FsbFR5cGUgPSBlbGVtZW50LnNlcnZpY2VDYWxsVHlwZTsgIC8vXCJHRVRcIlxyXG4gICAgbGV0IHNlcnZpY2VOYW1lOiBzdHJpbmcgPSBlbGVtZW50LnNlcnZpY2VOYW1lOyAvLy9zZWN1cml0eS1zZXJ2aWNlL3ZhbGlkYXRlU1NOL1xyXG4gICAgbGV0IHNlcnZpY2VVcGRhdGVQYXJhbSA9IGVsZW1lbnQuc2VydmljZVVwZGF0ZVBhcmFtO1xyXG4gICAgbGV0IGFsbFZhbHVlUHJlc2VudDpCb29sZWFuPXRydWU7XHJcbiAvLyAgY29uc29sZS5sb2coJ3NlcnZpY2VDYWxsUGFyYW0nLHNlcnZpY2VDYWxsUGFyYW0pO1xyXG4gICAgaWYgKHNlcnZpY2VDYWxsUGFyYW0pIHtcclxuICAgICAgdmFyIHNwbGl0dGVkID0gc2VydmljZUNhbGxQYXJhbS5zcGxpdChcIixcIik7XHJcbiAgICAgIGxldCB2YWx1ZUFycjogc3RyaW5nW10gPSBbXTtcclxuICAgICAgbGV0IHBhcmFtQXJyOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNwbGl0dGVkLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgLy91c2UgaSBpbnN0ZWFkIG9mIDAgZG9iMzIwXHJcbiAgICAgICAvLyBjb25zb2xlLmxvZygnZG9iMzIwJyx0aGlzLmZvcm0uY29udHJvbHNbJ2RvYjMyMCddLnZhbHVlKTtcclxuICAgICAgICBpZiAodGhpcy5mb3JtLmNvbnRyb2xzW3NwbGl0dGVkW2ldXS52YWx1ZSkge1xyXG4gICAgICAgICAgcGFyYW1BcnIucHVzaChzcGxpdHRlZFtpXSk7XHJcbiAgICAgICAgICB2YWx1ZUFyci5wdXNoKHRoaXMuZm9ybS5jb250cm9sc1tzcGxpdHRlZFtpXV0udmFsdWUpXHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICBhbGxWYWx1ZVByZXNlbnQ9ZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgLy8gY29uc29sZS5sb2coJ3ZhbHVlQXJyMTInLCB2YWx1ZUFyciwgJ3BhcmFtQXJyMTEgJywgcGFyYW1BcnIsICcgZWxlbWVudCcsIGVsZW1lbnQpO1xyXG5cclxuICAgICAgdmFyIG1vZGVsOiBWYWxpZGF0aW9uTW9kZWwgPSB7fTtcclxuICAgICAgbW9kZWwucGFyYW1OYW1lID0gcGFyYW1BcnI7XHJcbiAgICAgIG1vZGVsLnBhcmFtVmFsdWUgPSB2YWx1ZUFycjtcclxuICAgICAgLy8gcmV0dXJuIHRoaXMucG9zdChgcXVlc3Rpb25uYWlyZS9zY3JlZW4tcXVlc3Rpb25uYWlyZWAsIHF1ZXN0aW9ubmFpcmVEYXRhKTtcclxuICAgICAgaWYoYWxsVmFsdWVQcmVzZW50KXtcclxuICAgICAgaWYgKHNlcnZpY2VDYWxsVHlwZSA9PT0gJ1BPU1QnKSB7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ0luc2lkZSBHRVQnKTtcclxuICAgICAgICB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlXHJcbiAgICAgICAgICAucG9zdChgJHtzZXJ2aWNlTmFtZX1gLCBtb2RlbClcclxuICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5yZXR1cm5Nb2RlbCA9IHJlcztcclxuICAgICAgICAgICAgICBpZiAodGhpcy5yZXR1cm5Nb2RlbC5yZXR1cm5UeXBlICYmIHRoaXMucmV0dXJuTW9kZWwucmV0dXJuVHlwZSA9PT0gJ1BPUFVQJykge1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheVBvc2l0aW9uID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMucG9zaXRpb24gPSAndG9wJztcclxuICAgICAgICAgICAgICAgIHRoaXMucG9wVXBIZWFkZXIgPSB0aGlzLnJldHVybk1vZGVsLnBvcFVwSGVhZGVyO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wb3BVcFRleHQgPSB0aGlzLnJldHVybk1vZGVsLnBvcFVwVGV4dDtcclxuICAgICAgICAgICAgICAgIHRoaXMucG9wVXBZZXNBY3Rpb25MYWJlbCA9IHRoaXMucmV0dXJuTW9kZWwucG9wVXBZZXNCdXR0b25MYWJlbDtcclxuICAgICAgICAgICAgICAgIHRoaXMucG9wVXBOb0FjdGlvbkxhYmVsID0gdGhpcy5yZXR1cm5Nb2RlbC5wb3BVcE5vQnV0dG9uTGFiZWw7XHJcblxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBjb25zb2xlLmxvZygndGhpcy5yZXR1cm5Nb2RlbCAnLCB0aGlzLnJldHVybk1vZGVsKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICxcclxuICAgICAgICAgICAgZXJyID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICAgICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFjY2VwdCgpIHtcclxuICAgIC8vY29uc29sZS5sb2coJ2FjY2VwdCBjYWxsZWQxMjMnLCB0aGlzLnJldHVybk1vZGVsLmlkZW50aWZpZXIpXHJcbiAgICBsZXQgbW9kZWxBcnI6IEtleVZhbHVlTW9kZWxbXSA9IHRoaXMucmV0dXJuTW9kZWwuaWRlbnRpZmllcjtcclxuICAgIGxldCBwYXJhbUFycmF5OiBQYXJhbXNbXSA9IFtdO1xyXG4gICAgZm9yICh2YXIgdmFsIG9mIG1vZGVsQXJyKSB7XHJcbiAgICAgIHBhcmFtQXJyYXkucHVzaCh7IFt2YWwua2V5XTogdmFsLnZhbHVlIH0pO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFyYW1zID0gcGFyYW1BcnJheS5yZWR1Y2UoKGFyck9iaiwgaXRlbSkgPT4gT2JqZWN0LmFzc2lnbihhcnJPYmosIGl0ZW0sIHt9KSk7XHJcbiAgICB0aGlzLm5hdkNvbnRyb2xsZXIubmF2aWdhdGVSb290KFt0aGlzLnJldHVybk1vZGVsLnllc0FjdGlvbl0sIHsgcXVlcnlQYXJhbXM6IHBhcmFtcyB9KVxyXG5cclxuICB9XHJcblxyXG4gIHJlamVjdCgpIHtcclxuICAgIC8vY29uc29sZS5sb2coJ1JlamVjdCBjYWxsZWQnKVxyXG4gICAgdGhpcy5uYXZDb250cm9sbGVyLm5hdmlnYXRlUm9vdCh0aGlzLnJldHVybk1vZGVsLm5vQWN0aW9uKTtcclxuICB9XHJcblxyXG4gIFxyXG5cclxuXHJcbiAgZmlsdGVyVmFsdWUoZXZlbnQsIGVsZW1lbnQ6IGFueSkge1xyXG4gIC8vICBjb25zb2xlLmxvZygnZmlsdGVyVmFsdWUgY2FsbGVkJywgZXZlbnQsICcgZWxlbWVudCcsIGVsZW1lbnQpO1xyXG4gICAgaWYgKCFlbGVtZW50LnNlcnZpY2VOYW1lKSB7XHJcbiAgICAgIGxldCBicyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2VsZWN0SXRlbVtdPihbXSk7XHJcbiAgICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5O1xyXG4gICAgICBsZXQgZmlsdGVyZWQ6IGFueVtdID0gW107XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZWxlbWVudC5jaG9pY2VzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgbGV0IGNob2ljZSA9IGVsZW1lbnQuY2hvaWNlc1tpXTtcclxuICAgICAgICBpZiAoY2hvaWNlLnRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHF1ZXJ5LnRvTG93ZXJDYXNlKCkpID09IDApIHtcclxuICAgICAgICAgIGZpbHRlcmVkLnB1c2goY2hvaWNlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgYnMubmV4dChmaWx0ZXJlZCk7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRCcy5zZXQoZWxlbWVudC5uYW1lLCBicyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgXHJcbiAgICAgIGlmICh0aGlzLmZpbHRlcmVkQnMgJiYgdGhpcy5maWx0ZXJlZEJzLmdldChlbGVtZW50Lm5hbWUpKSB7XHJcbiAgICAgICAgbGV0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XHJcbiAgICAgICAgbGV0IGZpbHRlcmVkOiBhbnlbXSA9IFtdO1xyXG4gICAgICAgIGxldCBleGlzdGluZ0Nob2ljZXMgPSB0aGlzLmZpbHRlcmVkQnMuZ2V0KGVsZW1lbnQubmFtZSkudmFsdWU7XHJcbiAgICAgICAgbGV0IGJzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTZWxlY3RJdGVtW10+KFtdKTtcclxuICAgICAgICAvL2NvbnNvbGUubG9nKCdJbnNpZGUgSUYtLS0nLCBicyk7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBleGlzdGluZ0Nob2ljZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIGxldCBjaG9pY2UgPSBleGlzdGluZ0Nob2ljZXNbaV07XHJcbiAgICAgICAgICBpZiAoY2hvaWNlLnRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHF1ZXJ5LnRvTG93ZXJDYXNlKCkpID09IDApIHtcclxuICAgICAgICAgICAgZmlsdGVyZWQucHVzaChjaG9pY2UpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBicy5uZXh0KGZpbHRlcmVkKTtcclxuICAgICAgICB0aGlzLmZpbHRlcmVkQnMuc2V0KGVsZW1lbnQubmFtZSwgYnMpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuXHJcblxyXG4gICAgICAgIGxldCBwYXJlbnRDb250cm9sID0gdGhpcy5mb3JtLmNvbnRyb2xzW2VsZW1lbnQuc2VydmljZUNhbGxQYXJhbV0gYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG4gICAgICAgIGxldCBzZXJ2aWNlQ2FsbFR5cGUgPSBlbGVtZW50LnNlcnZpY2VDYWxsVHlwZTtcclxuICAgICAgICBsZXQgc2VydmljZU5hbWU6IHN0cmluZyA9IGVsZW1lbnQuc2VydmljZU5hbWU7XHJcbiAgICAgICAgbGV0IHNlcnZpY2VVcGRhdGVQYXJhbSA9IGVsZW1lbnQuc2VydmljZVVwZGF0ZVBhcmFtO1xyXG4gICAgICAgIGxldCBwYXJlbnRDb250cm9sVmFsID0gbnVsbDtcclxuXHJcbiAgICAgICAgaWYgKHBhcmVudENvbnRyb2wudmFsdWUpIHtcclxuICAgICAgICAgIHBhcmVudENvbnRyb2xWYWwgPSBwYXJlbnRDb250cm9sLnZhbHVlWyd2YWx1ZSddOyAgLy9DQVxyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIC8vY29uc29sZS5sb2coJ3BhcmVudENvbnRyb2xWYWwnLCBwYXJlbnRDb250cm9sVmFsKTtcclxuXHJcbiAgICAgICAgcGFyZW50Q29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgICAgIC8vY29uc29sZS5sb2coJ3BhcmVudENvbnRyb2xWYWwgdmFsdWUgY2hhbmdlZCcpO1xyXG4gICAgICAgICAgbGV0IGNoaWxkQ29udHJvbCA9IHRoaXMuZm9ybS5jb250cm9sc1tzZXJ2aWNlVXBkYXRlUGFyYW1dIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuICAgICAgICAgIHRoaXMuZmlsdGVyZWRCcyA9IG5ldyBNYXA8c3RyaW5nLCBCZWhhdmlvclN1YmplY3Q8U2VsZWN0SXRlbVtdPj4oKTtcclxuICAgICAgICAgIGNoaWxkQ29udHJvbC5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgaWYgKHBhcmVudENvbnRyb2xWYWwpIHtcclxuICAgICAgICAgIGlmIChzZXJ2aWNlQ2FsbFR5cGUgPT09ICdHRVQnKSB7XHJcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2VcclxuICAgICAgICAgICAgICAuZ2V0KGAke3NlcnZpY2VOYW1lfSR7cGFyZW50Q29udHJvbFZhbH0vJHtzZXJ2aWNlVXBkYXRlUGFyYW19YClcclxuICAgICAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgcmVzID0+IHtcclxuICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZpbHRlcmVkOiBhbnlbXSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBicyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2VsZWN0SXRlbVtdPihbXSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzWydjaG9pY2VzJ10ubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGxldCBjaG9pY2UgPSByZXNbJ2Nob2ljZXMnXVtpXTtcclxuICAgICAgICAgICAgICAgICAgICAgIGlmIChjaG9pY2UudGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnkudG9Mb3dlckNhc2UoKSkgPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJlZC5wdXNoKGNob2ljZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJzLm5leHQoZmlsdGVyZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRCcy5zZXQoZWxlbWVudC5uYW1lLCBicyk7XHJcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZpbHRlcmVkOiBhbnlbXSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBicyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2VsZWN0SXRlbVtdPihbXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnMubmV4dChmaWx0ZXJlZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJlZEJzLnNldChlbGVtZW50Lm5hbWUsIGJzKTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuICBjbGlja09wdGlvbihldmVudCl7XHJcbiAgICBjb25zb2xlLmxvZygnY2xpY2tPcHRpb24gY2FsbGVkJylcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0KGV2ZW50LGNudHJsTmFtZTpzdHJpbmcpe1xyXG4gICAgY29uc29sZS5sb2coJ29uU2VsZWN0LS0nLGV2ZW50LnZhbHVlLCBjbnRybE5hbWUpO1xyXG4gIH1cclxufSIsIjxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG5cblxuICA8cC1kaWFsb2cgW2hlYWRlcl09XCJwb3BVcEhlYWRlclwiICpuZ0lmPVwiZGlzcGxheVBvc2l0aW9uXCIgIFsodmlzaWJsZSldPVwiZGlzcGxheVBvc2l0aW9uXCIgW3Bvc2l0aW9uXT1cInBvc2l0aW9uXCIgW21vZGFsXT1cInRydWVcIiBbc3R5bGVdPVwie3dpZHRoOiAnODB2dyd9XCIgW2Jhc2VaSW5kZXhdPVwiNTAwMFwiXG4gIFtkcmFnZ2FibGVdPVwiZmFsc2VcIiBbcmVzaXphYmxlXT1cImZhbHNlXCIgYXBwZW5kVG89XCJib2R5XCI+XG4gIFxuICA8cD57e3BvcFVwVGV4dH19XG4gICAgICA8L3A+XG4gICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZm9vdGVyXCI+XG4gICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIFxuICAgICAgICAgIHNpemU9XCJzbWFsbFwiIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cInJlamVjdCgpXCI+IFxuICAgICAgICAgICAgICAge3twb3BVcE5vQWN0aW9uTGFiZWx9fVxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiBcbiAgICAgICAgICBzaXplPVwic21hbGxcIiB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICBmaWxsPVwic29saWRcIiAoY2xpY2spPVwiYWNjZXB0KClcIiA+XG4gICAgICAgICAgICAgICB7e3BvcFVwWWVzQWN0aW9uTGFiZWx9fVxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgIFxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICA8L3AtZGlhbG9nPiBcblxuXG4gIDxkaXYgKm5nSWY9XCIhZm9yU2NyZWVuUXVlc3Rpb25uYWlyZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxuICAgICAgICA8bGFiZWwgW2F0dHIuZm9yXT1cInF1ZXN0aW9uLm5hbWVcIiAqbmdJZj1cInF1ZXN0aW9uLmluZGVudD09PTEgJiYgcXVlc3Rpb24udHlwZSE9J2h0bWwnXCI+XG4gICAgICAgICAge3txdWVzdGlvbi50aXRsZX19PC9sYWJlbD5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICAqbmdJZj1cImZvclNjcmVlblF1ZXN0aW9ubmFpcmUgJiYgcXVlc3Rpb24uaW5kZW50PT09MSAmJiBxdWVzdGlvbi50eXBlIT0naHRtbCcgJiYgcXVlc3Rpb24udHlwZSE9J3NpbXBsZUxhYmVsJyAmJiBxdWVzdGlvbi5jdXN0b21UYWchPSdjb21wb25lbnQnXCJcbiAgICBjbGFzcz1cImZvcm0tbGFiZWxcIj5cbiAgICAgICAge3txdWVzdGlvbi50aXRsZX19XG4gICAgICBcbiAgPC9kaXY+XG5cbiAgPGRpdlxuICAgICpuZ0lmPVwicXVlc3Rpb24uaW5kZW50IT0xICYmIHF1ZXN0aW9uLnR5cGUhPSdodG1sJyAmJiBxdWVzdGlvbi5jdXN0b21UYWcgJiYgIXF1ZXN0aW9uLmN1c3RvbVRhZy5pbmNsdWRlcygnZm10bnVtYmVydGV4dCcpXCJcbiAgICBjbGFzcz1cImZvcm0tbGFiZWxcIj5cbiAgICAgICAge3txdWVzdGlvbi50aXRsZX19XG4gICAgICBcbiAgPC9kaXY+XG5cblxuICAgPGRpdiAgKm5nSWY9XCJmb3JTY3JlZW5RdWVzdGlvbm5haXJlICYmIHF1ZXN0aW9uLmN1c3RvbVRhZyAmJiBxdWVzdGlvbi5jdXN0b21UYWc9PT0nY29tcG9uZW50JyAmJiBxdWVzdGlvbi5pbmRlbnQ9PT0xICYmIHF1ZXN0aW9uLnR5cGUhPSdodG1sJyBcbiAgICYmICFxdWVzdGlvbi5kZXNjcmlwdGlvblwiPlxuICAgIDxtb25leS1leHBlY3QgKm5nSWY9XCJxdWVzdGlvbi5jb21wb25lbnROYW1lPT09J21vbmV5LWV4cGVjdCdcIj48L21vbmV5LWV4cGVjdD5cbjwhLS0gPGFwcC1zZWFyY2gtZW1wbG95ZXIgKm5nSWY9XCJxdWVzdGlvbi5jb21wb25lbnROYW1lPT09J2FwcC1zZWFyY2gtZW1wbG95ZXInXCIgKG9uRW1wdHkpPVwicmVzZXRFbXBsb3llcigkZXZlbnQpXCIgKG9uRm91bmQpPVwic2V0RW1wbG95ZXIoJGV2ZW50KVwiIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiPjwvYXBwLXNlYXJjaC1lbXBsb3llcj4gLS0+XG48YXBwLXJlZ3VsYXItZW1wbG95ZXItZGF0ZSAqbmdJZj1cInF1ZXN0aW9uLmNvbXBvbmVudE5hbWU9PT0nYXBwLXJlZ3VsYXItZW1wLWRhdGUnXCIgIFtmb3JtXT1cImZvcm1cIj48L2FwcC1yZWd1bGFyLWVtcGxveWVyLWRhdGU+XG5cbjwvZGl2PiBcblxuICA8ZGl2ICpuZ0lmPVwicXVlc3Rpb24udHlwZT09PSdodG1sJ1wiIFtpbm5lckhUTUxdPVwicXVlc3Rpb24uaHRtbFwiIGNsYXNzPVwiaGVhZGluZ1wiPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cInF1ZXN0aW9uLnR5cGU9PT0nc2ltcGxlTGFiZWwnXCIgW2lubmVySFRNTF09XCJxdWVzdGlvbi5odG1sXCI+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJxdWVzdGlvbi5pbnB1dFR5cGUgJiYgcXVlc3Rpb24uaW5wdXRUeXBlPT09J2RhdGUnICYmIHF1ZXN0aW9uLm1heCAmJiBxdWVzdGlvbi5taW5cIj5cbiAgICA8cC1jYWxlbmRhciBbZm9ybUNvbnRyb2xOYW1lXT1cInF1ZXN0aW9uLm5hbWVcIiBbaWRdPVwicXVlc3Rpb24ubmFtZVwiIFttb250aE5hdmlnYXRvcl09XCJ0cnVlXCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiXG4gICAgICBbcmVhZG9ubHlJbnB1dF09XCJ0cnVlXCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgW3Nob3dJY29uXT1cInRydWVcIiBbbWluRGF0ZV09XCJtaW5EYXRlXCIgW21heERhdGVdPVwibWF4RGF0ZVwiXG4gICAgICBkYXRlRm9ybWF0PVwibW0tZGQteXlcIiBpbnB1dElkPVwibmF2aWdhdG9yc1wiIGRhdGFUeXBlPVwic3RyaW5nXCIgYXBwZW5kVG89XCJib2R5XCIgXG4gICAgICAgPlxuICAgIDwvcC1jYWxlbmRhcj5cbiAgPC9kaXY+XG5cblxuICA8ZGl2ICpuZ0lmPVwicXVlc3Rpb24uaW5wdXRUeXBlICYmIHF1ZXN0aW9uLmlucHV0VHlwZT09PSdkYXRlJyAmJiAhcXVlc3Rpb24ubWF4ICYmICFxdWVzdGlvbi5taW5cIj5cbiAgICA8cC1jYWxlbmRhciBbZm9ybUNvbnRyb2xOYW1lXT1cInF1ZXN0aW9uLm5hbWVcIiBbaWRdPVwicXVlc3Rpb24ubmFtZVwiIFttb250aE5hdmlnYXRvcl09XCJ0cnVlXCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiXG4gICAgICBbaW5wdXRJZF09XCJxdWVzdGlvbi5uYW1lXCIgW3JlYWRvbmx5SW5wdXRdPVwidHJ1ZVwiIFtzaG93SWNvbl09XCJ0cnVlXCIgZGF0ZUZvcm1hdD1cIm1tLWRkLXl5XCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCJcbiAgICAgIGRhdGFUeXBlPVwic3RyaW5nXCIgYXBwZW5kVG89XCJib2R5XCI+PC9wLWNhbGVuZGFyPlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwicXVlc3Rpb24uaW5wdXRUeXBlICYmIHF1ZXN0aW9uLmlucHV0VHlwZT09PSdkYXRlJyAmJiBxdWVzdGlvbi5tYXggJiYgIXF1ZXN0aW9uLm1pblwiPlxuICAgIDxwLWNhbGVuZGFyIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiIFtpZF09XCJxdWVzdGlvbi5uYW1lXCIgW21vbnRoTmF2aWdhdG9yXT1cInRydWVcIiBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCJcbiAgICAgIFtpbnB1dElkXT1cInF1ZXN0aW9uLm5hbWVcIiBbbWF4RGF0ZV09XCJtYXhEYXRlXCIgW3JlYWRvbmx5SW5wdXRdPVwidHJ1ZVwiIFtzaG93SWNvbl09XCJ0cnVlXCIgZGF0ZUZvcm1hdD1cIm1tLWRkLXl5XCJcbiAgICAgIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGFUeXBlPVwic3RyaW5nXCIgYXBwZW5kVG89XCJib2R5XCI+PC9wLWNhbGVuZGFyPlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwicXVlc3Rpb24uaW5wdXRUeXBlICYmIHF1ZXN0aW9uLmlucHV0VHlwZT09PSdkYXRlJyAmJiAhcXVlc3Rpb24ubWF4ICYmIHF1ZXN0aW9uLm1pblwiPlxuICAgIDxwLWNhbGVuZGFyIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiIFtpZF09XCJxdWVzdGlvbi5uYW1lXCIgW21vbnRoTmF2aWdhdG9yXT1cInRydWVcIiBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCJcbiAgICAgIFtpbnB1dElkXT1cInF1ZXN0aW9uLm5hbWVcIiBbbWluRGF0ZV09XCJtaW5EYXRlXCIgW3JlYWRvbmx5SW5wdXRdPVwidHJ1ZVwiIFtzaG93SWNvbl09XCJ0cnVlXCIgZGF0ZUZvcm1hdD1cIm1tLWRkLXl5XCJcbiAgICAgIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGFUeXBlPVwic3RyaW5nXCIgYXBwZW5kVG89XCJib2R5XCIgKG9uU2hvdyk9XCJzZXRNaW5EYXRlKCRldmVudCxxdWVzdGlvbilcIj48L3AtY2FsZW5kYXI+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJxdWVzdGlvbi5jdXN0b21UYWcgJiYgcXVlc3Rpb24uY3VzdG9tVGFnLmluY2x1ZGVzKCdwYXNzd29yZCcpICYmICFxdWVzdGlvbi5uYW1lLmluY2x1ZGVzKCdjb25mcHdkJylcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxuICAgICAgICA8cC1wYXNzd29yZCBbaWRdPVwicXVlc3Rpb24ubmFtZVwiIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiIFt0b2dnbGVNYXNrXT1cInRydWVcIlxuICAgICAgICAgIFttYXhMZW5ndGhdPVwicXVlc3Rpb24ubWF4TGVuZ3RoXCI+PC9wLXBhc3N3b3JkPlxuICAgICAgICAgIDxkaXYgc3R5bGU9XCJmbGV4LWdyb3c6IDE7XCIgKm5nSWY9XCJxdWVzdGlvbi5kZXNjcmlwdGlvblwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiA4cHhcIj5cbiAgICAgICAgICAgIDxhcHAtb3ZlcmxheS1pbmZvIFtvdmVybGF5VGV4dF09XCJxdWVzdGlvbi5kZXNjcmlwdGlvblwiPjwvYXBwLW92ZXJsYXktaW5mbz5cbiAgICAgICAgXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgXG4gIDxkaXYgKm5nSWY9XCJxdWVzdGlvbi5jdXN0b21UYWcgJiYgcXVlc3Rpb24uY3VzdG9tVGFnLmluY2x1ZGVzKCdwYXNzd29yZCcpICYmIHF1ZXN0aW9uLm5hbWUuaW5jbHVkZXMoJ2NvbmZwd2QnKVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7XCI+XG4gICAgICAgIDxwLXBhc3N3b3JkIFtpZF09XCJxdWVzdGlvbi5uYW1lXCIgW2Zvcm1Db250cm9sTmFtZV09XCJxdWVzdGlvbi5uYW1lXCIgW3RvZ2dsZU1hc2tdPVwidHJ1ZVwiXG4gICAgICAgICAgW21heExlbmd0aF09XCJxdWVzdGlvbi5tYXhMZW5ndGhcIj48L3AtcGFzc3dvcmQ+XG4gICAgICAgICAgPGRpdiBzdHlsZT1cImZsZXgtZ3JvdzogMTtcIiAqbmdJZj1cInF1ZXN0aW9uLmRlc2NyaXB0aW9uXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDhweFwiPlxuICAgICAgICAgICAgPGFwcC1vdmVybGF5LWluZm8gW292ZXJsYXlUZXh0XT1cInF1ZXN0aW9uLmRlc2NyaXB0aW9uXCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIFxuICA8ZGl2ICpuZ0lmPVwiIXF1ZXN0aW9uLmN1c3RvbVRhZyAmJiBxdWVzdGlvbi50eXBlICYmIChxdWVzdGlvbi50eXBlIT0ncmFkaW9ncm91cCcgJiYgcXVlc3Rpb24udHlwZSE9J2Rpc3BsYXl0ZXh0YXNsYWJlbCcpXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIHN0eWxlPVwiZGlzcGxheTogZmxleDtcIj5cbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgW2lkXT1cInF1ZXN0aW9uLm5hbWVcIiBwSW5wdXRUZXh0ICpuZ0lmPVwicXVlc3Rpb24uaW5wdXRUeXBlICYmIHF1ZXN0aW9uLmlucHV0VHlwZT09PSd0ZXh0JyBcbiAgICAgICAmJiAhcXVlc3Rpb24uaXNSZXF1aXJlZCAmJiBxdWVzdGlvbi5zaXplICYmIHF1ZXN0aW9uLm1heExlbmd0aFwiIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJPcHRpb25hbFwiIFtzaXplXT1cInF1ZXN0aW9uLnNpemVcIiBbbWF4TGVuZ3RoXT1cInF1ZXN0aW9uLm1heExlbmd0aFwiIC8+XG4gIFxuICBcbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgW2lkXT1cInF1ZXN0aW9uLm5hbWVcIiBwSW5wdXRUZXh0ICpuZ0lmPVwicXVlc3Rpb24uaW5wdXRUeXBlICYmIHF1ZXN0aW9uLmlucHV0VHlwZT09PSd0ZXh0JyBcbiAgICAgICAgICAmJiAhcXVlc3Rpb24uaXNSZXF1aXJlZCAmJiBxdWVzdGlvbi5zaXplICYmICFxdWVzdGlvbi5tYXhMZW5ndGhcIiBbZm9ybUNvbnRyb2xOYW1lXT1cInF1ZXN0aW9uLm5hbWVcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiT3B0aW9uYWxcIiBbc2l6ZV09XCJxdWVzdGlvbi5zaXplXCIgLz5cbiAgXG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFtpZF09XCJxdWVzdGlvbi5uYW1lXCIgcElucHV0VGV4dCAqbmdJZj1cInF1ZXN0aW9uLmlucHV0VHlwZSAmJiBxdWVzdGlvbi5pbnB1dFR5cGU9PT0ndGV4dCcgXG4gICAgICAgICAgICAgJiYgIXF1ZXN0aW9uLmlzUmVxdWlyZWQgJiYgIXF1ZXN0aW9uLnNpemUgJiYgcXVlc3Rpb24ubWF4TGVuZ3RoXCIgW2Zvcm1Db250cm9sTmFtZV09XCJxdWVzdGlvbi5uYW1lXCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIk9wdGlvbmFsXCIgW21heExlbmd0aF09XCJxdWVzdGlvbi5tYXhMZW5ndGhcIiAvPlxuICBcbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgW2lkXT1cInF1ZXN0aW9uLm5hbWVcIiBwSW5wdXRUZXh0ICpuZ0lmPVwicXVlc3Rpb24uaW5wdXRUeXBlICYmIHF1ZXN0aW9uLmlucHV0VHlwZT09PSd0ZXh0JyBcbiAgICAgICAgICAgICAgICAmJiAhcXVlc3Rpb24uaXNSZXF1aXJlZCAmJiAhcXVlc3Rpb24uc2l6ZSAmJiAhcXVlc3Rpb24ubWF4TGVuZ3RoXCIgW2Zvcm1Db250cm9sTmFtZV09XCJxdWVzdGlvbi5uYW1lXCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIk9wdGlvbmFsXCIgLz5cbiAgXG4gIFxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbaWRdPVwicXVlc3Rpb24ubmFtZVwiIHBJbnB1dFRleHQgKm5nSWY9XCJxdWVzdGlvbi5pbnB1dFR5cGUgJiYgcXVlc3Rpb24uaW5wdXRUeXBlPT09J3RleHQnIFxuICAgICAgICAgICYmIHF1ZXN0aW9uLmlzUmVxdWlyZWQgJiYgcXVlc3Rpb24uc2l6ZSAmJiBxdWVzdGlvbi5tYXhMZW5ndGhcIiBbZm9ybUNvbnRyb2xOYW1lXT1cInF1ZXN0aW9uLm5hbWVcIlxuICAgICAgICAgIFtzaXplXT1cInF1ZXN0aW9uLnNpemVcIiBbbWF4TGVuZ3RoXT1cInF1ZXN0aW9uLm1heExlbmd0aFwiIChibHVyKT1cInZhbGlkYXRlKHF1ZXN0aW9uKVwiIC8+XG4gIFxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbaWRdPVwicXVlc3Rpb24ubmFtZVwiIHBJbnB1dFRleHQgKm5nSWY9XCJxdWVzdGlvbi5pbnB1dFR5cGUgJiYgcXVlc3Rpb24uaW5wdXRUeXBlPT09J3RleHQnIFxuICAgICAgICAgICYmIHF1ZXN0aW9uLmlzUmVxdWlyZWQgJiYgcXVlc3Rpb24uc2l6ZSAmJiAhcXVlc3Rpb24ubWF4TGVuZ3RoXCIgW2Zvcm1Db250cm9sTmFtZV09XCJxdWVzdGlvbi5uYW1lXCJcbiAgICAgICAgICBbc2l6ZV09XCJxdWVzdGlvbi5zaXplXCIgLz5cbiAgXG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFtpZF09XCJxdWVzdGlvbi5uYW1lXCIgcElucHV0VGV4dCAqbmdJZj1cInF1ZXN0aW9uLmlucHV0VHlwZSAmJiBxdWVzdGlvbi5pbnB1dFR5cGU9PT0ndGV4dCcgXG4gICAgICAgICAgJiYgcXVlc3Rpb24uaXNSZXF1aXJlZCAmJiAhcXVlc3Rpb24uc2l6ZSAmJiBxdWVzdGlvbi5tYXhMZW5ndGhcIiBbZm9ybUNvbnRyb2xOYW1lXT1cInF1ZXN0aW9uLm5hbWVcIlxuICAgICAgICAgIFttYXhMZW5ndGhdPVwicXVlc3Rpb24ubWF4TGVuZ3RoXCIgLz5cbiAgXG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFtpZF09XCJxdWVzdGlvbi5uYW1lXCIgcElucHV0VGV4dCAqbmdJZj1cInF1ZXN0aW9uLmlucHV0VHlwZSAmJiBxdWVzdGlvbi5pbnB1dFR5cGU9PT0ndGV4dCcgXG4gICAgICAgICAgJiYgcXVlc3Rpb24uaXNSZXF1aXJlZCAmJiAhcXVlc3Rpb24uc2l6ZSAmJiAhcXVlc3Rpb24ubWF4TGVuZ3RoXCIgW2Zvcm1Db250cm9sTmFtZV09XCJxdWVzdGlvbi5uYW1lXCIgLz5cbiAgICAgICAgICA8ZGl2IHN0eWxlPVwiZmxleC1ncm93OiAxO1wiICpuZ0lmPVwicXVlc3Rpb24uZGVzY3JpcHRpb25cIiBzdHlsZT1cInBhZGRpbmctbGVmdDogOHB4XCI+XG4gICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBbb3ZlcmxheVRleHRdPVwicXVlc3Rpb24uZGVzY3JpcHRpb25cIj48L2FwcC1vdmVybGF5LWluZm8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuXG4gIDxkaXYgKm5nSWY9XCJxdWVzdGlvbi5jdXN0b21UYWcgJiYgcXVlc3Rpb24udHlwZSAgJiYgcXVlc3Rpb24uY3VzdG9tVGFnLmluY2x1ZGVzKCdPcHRpb25hbCcpXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIHN0eWxlPVwiZGlzcGxheTogZmxleDtcIj5cbiAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFtpZF09XCJxdWVzdGlvbi5uYW1lXCIgcElucHV0VGV4dCAqbmdJZj1cInF1ZXN0aW9uLmlucHV0VHlwZSAmJiBxdWVzdGlvbi5pbnB1dFR5cGU9PT0ndGV4dCcgXG4gICAgICAgICAgICYmICFxdWVzdGlvbi5pc1JlcXVpcmVkICYmIHF1ZXN0aW9uLnNpemUgJiYgcXVlc3Rpb24ubWF4TGVuZ3RoXCIgW2Zvcm1Db250cm9sTmFtZV09XCJxdWVzdGlvbi5uYW1lXCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJPcHRpb25hbFwiIFtzaXplXT1cInF1ZXN0aW9uLnNpemVcIiBbbWF4TGVuZ3RoXT1cInF1ZXN0aW9uLm1heExlbmd0aFwiIC8+XG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbaWRdPVwicXVlc3Rpb24ubmFtZVwiIHBJbnB1dFRleHQgKm5nSWY9XCJxdWVzdGlvbi5pbnB1dFR5cGUgJiYgcXVlc3Rpb24uaW5wdXRUeXBlPT09J3RleHQnIFxuICAgICAgICAgICYmICFxdWVzdGlvbi5pc1JlcXVpcmVkICYmIHF1ZXN0aW9uLnNpemUgJiYgIXF1ZXN0aW9uLm1heExlbmd0aFwiIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiT3B0aW9uYWxcIiBbc2l6ZV09XCJxdWVzdGlvbi5zaXplXCIgLz5cbiAgXG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbaWRdPVwicXVlc3Rpb24ubmFtZVwiIHBJbnB1dFRleHQgKm5nSWY9XCJxdWVzdGlvbi5pbnB1dFR5cGUgJiYgcXVlc3Rpb24uaW5wdXRUeXBlPT09J3RleHQnIFxuICAgICAgICAgICAgICYmICFxdWVzdGlvbi5pc1JlcXVpcmVkICYmICFxdWVzdGlvbi5zaXplICYmIHF1ZXN0aW9uLm1heExlbmd0aFwiIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiT3B0aW9uYWxcIiBbbWF4TGVuZ3RoXT1cInF1ZXN0aW9uLm1heExlbmd0aFwiIC8+XG4gIFxuICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgW2lkXT1cInF1ZXN0aW9uLm5hbWVcIiBwSW5wdXRUZXh0ICpuZ0lmPVwicXVlc3Rpb24uaW5wdXRUeXBlICYmIHF1ZXN0aW9uLmlucHV0VHlwZT09PSd0ZXh0JyBcbiAgICAgICAgICAgICAgICAmJiAhcXVlc3Rpb24uaXNSZXF1aXJlZCAmJiAhcXVlc3Rpb24uc2l6ZSAmJiAhcXVlc3Rpb24ubWF4TGVuZ3RoXCIgW2Zvcm1Db250cm9sTmFtZV09XCJxdWVzdGlvbi5uYW1lXCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJPcHRpb25hbFwiIC8+XG4gICAgICA8ZGl2IHN0eWxlPVwiZmxleC1ncm93OiAxO1wiICpuZ0lmPVwicXVlc3Rpb24uZGVzY3JpcHRpb25cIiBzdHlsZT1cInBhZGRpbmctbGVmdDogOHB4XCI+XG4gICAgICAgIDxhcHAtb3ZlcmxheS1pbmZvIFtvdmVybGF5VGV4dF09XCJxdWVzdGlvbi5kZXNjcmlwdGlvblwiPjwvYXBwLW92ZXJsYXktaW5mbz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwicXVlc3Rpb24uY3VzdG9tVGFnICYmIHF1ZXN0aW9uLmN1c3RvbVRhZy5pbmNsdWRlcygncGhvbmUnKVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7XCI+XG4gICAgICA8cC1pbnB1dE1hc2sgbWFzaz1cIjk5OSA5OTktOTk5OVwiIFtpZF09XCJxdWVzdGlvbi5uYW1lXCIgW2Zvcm1Db250cm9sTmFtZV09XCJxdWVzdGlvbi5uYW1lXCIgcGxhY2Vob2xkZXI9XCJPcHRpb25hbFwiXG4gICAgICAgICpuZ0lmPVwicXVlc3Rpb24uaW5wdXRUeXBlICYmIHF1ZXN0aW9uLmlucHV0VHlwZT09PSd0ZXh0JyAmJiAhcXVlc3Rpb24uaXNSZXF1aXJlZFwiPjwvcC1pbnB1dE1hc2s+XG4gIFxuICAgICAgPHAtaW5wdXRNYXNrIG1hc2s9XCI5OTkgOTk5LTk5OTlcIiBbaWRdPVwicXVlc3Rpb24ubmFtZVwiIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiIHBsYWNlaG9sZGVyPVwiOTk5IDk5OS05OTk5XCJcbiAgICAgICAgKm5nSWY9XCJxdWVzdGlvbi5pbnB1dFR5cGUgJiYgcXVlc3Rpb24uaW5wdXRUeXBlPT09J3RleHQnICYmIHF1ZXN0aW9uLmlzUmVxdWlyZWRcIj48L3AtaW5wdXRNYXNrPlxuICAgICAgPGRpdiBzdHlsZT1cImZsZXgtZ3JvdzogMTtcIiAqbmdJZj1cInF1ZXN0aW9uLmRlc2NyaXB0aW9uXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDhweFwiPlxuICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBbb3ZlcmxheVRleHRdPVwicXVlc3Rpb24uZGVzY3JpcHRpb25cIj48L2FwcC1vdmVybGF5LWluZm8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cInF1ZXN0aW9uLmN1c3RvbVRhZyAmJiBxdWVzdGlvbi5jdXN0b21UYWcuaW5jbHVkZXMoJ3NzbicpXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIHN0eWxlPVwiZGlzcGxheTogZmxleDtcIj5cbiAgICAgICAgPHAtaW5wdXRNYXNrIG1hc2s9XCI5OTktOTktOTk5OVwiIFtpZF09XCJxdWVzdGlvbi5uYW1lXCIgKm5nSWY9XCJxdWVzdGlvbi5pc1JlcXVpcmVkXCIgW2Zvcm1Db250cm9sTmFtZV09XCJxdWVzdGlvbi5uYW1lXCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIjk5OS05OS05OTk5XCI+XG4gICAgICAgIDwvcC1pbnB1dE1hc2s+XG4gIFxuICAgICAgICA8cC1pbnB1dE1hc2sgbWFzaz1cIjk5OS05OS05OTk5XCIgW2lkXT1cInF1ZXN0aW9uLm5hbWVcIiAqbmdJZj1cIiFxdWVzdGlvbi5pc1JlcXVpcmVkXCJcbiAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cInF1ZXN0aW9uLm5hbWVcIiBwbGFjZWhvbGRlcj1cIk9wdGlvbmFsXCI+XG4gICAgICAgIDwvcC1pbnB1dE1hc2s+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJmbGV4LWdyb3c6IDE7XCIgKm5nSWY9XCJxdWVzdGlvbi5kZXNjcmlwdGlvblwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiA4cHhcIj5cbiAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBbb3ZlcmxheVRleHRdPVwicXVlc3Rpb24uZGVzY3JpcHRpb25cIj48L2FwcC1vdmVybGF5LWluZm8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJxdWVzdGlvbi5jdXN0b21UYWcgJiYgIXF1ZXN0aW9uLmN1c3RvbVRhZy5pbmNsdWRlcygncGhvbmUnKSBcbiAgICAmJiAhcXVlc3Rpb24uY3VzdG9tVGFnLmluY2x1ZGVzKCdwYXNzd29yZCcpICAmJiAhcXVlc3Rpb24uY3VzdG9tVGFnLmluY2x1ZGVzKCdzc24nKVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7XCI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFtpZF09XCJxdWVzdGlvbi5uYW1lXCIgcElucHV0VGV4dCAqbmdJZj1cInF1ZXN0aW9uLmlucHV0VHlwZSAmJiBxdWVzdGlvbi5pbnB1dFR5cGU9PT0ndGV4dCcgXG4gICAgJiYgcXVlc3Rpb24uaXNSZXF1aXJlZCAmJiBxdWVzdGlvbi5zaXplICYmIHF1ZXN0aW9uLm1heExlbmd0aFwiIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiXG4gICAgICAgICAgW3NpemVdPVwicXVlc3Rpb24uc2l6ZVwiIFttYXhMZW5ndGhdPVwicXVlc3Rpb24ubWF4TGVuZ3RoXCIgLz5cbiAgXG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFtpZF09XCJxdWVzdGlvbi5uYW1lXCIgcElucHV0VGV4dCAqbmdJZj1cInF1ZXN0aW9uLmlucHV0VHlwZSAmJiBxdWVzdGlvbi5pbnB1dFR5cGU9PT0ndGV4dCcgXG4gICAgJiYgcXVlc3Rpb24uaXNSZXF1aXJlZCAmJiBxdWVzdGlvbi5zaXplICYmICFxdWVzdGlvbi5tYXhMZW5ndGhcIiBbZm9ybUNvbnRyb2xOYW1lXT1cInF1ZXN0aW9uLm5hbWVcIlxuICAgICAgICAgIFtzaXplXT1cInF1ZXN0aW9uLnNpemVcIiAvPlxuICBcbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgW2lkXT1cInF1ZXN0aW9uLm5hbWVcIiBwSW5wdXRUZXh0ICpuZ0lmPVwicXVlc3Rpb24uaW5wdXRUeXBlICYmIHF1ZXN0aW9uLmlucHV0VHlwZT09PSd0ZXh0JyBcbiAgICAmJiBxdWVzdGlvbi5pc1JlcXVpcmVkICYmICFxdWVzdGlvbi5zaXplICYmIHF1ZXN0aW9uLm1heExlbmd0aFwiIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiXG4gICAgICAgICAgW21heExlbmd0aF09XCJxdWVzdGlvbi5tYXhMZW5ndGhcIiAvPlxuICBcbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgW2lkXT1cInF1ZXN0aW9uLm5hbWVcIiBwSW5wdXRUZXh0ICpuZ0lmPVwicXVlc3Rpb24uaW5wdXRUeXBlICYmIHF1ZXN0aW9uLmlucHV0VHlwZT09PSd0ZXh0JyBcbiAgICAmJiBxdWVzdGlvbi5pc1JlcXVpcmVkICYmICFxdWVzdGlvbi5zaXplICYmICFxdWVzdGlvbi5tYXhMZW5ndGhcIiBbZm9ybUNvbnRyb2xOYW1lXT1cInF1ZXN0aW9uLm5hbWVcIiAvPlxuICAgIDxkaXYgc3R5bGU9XCJmbGV4LWdyb3c6IDE7XCIgKm5nSWY9XCJxdWVzdGlvbi5kZXNjcmlwdGlvblwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiA4cHhcIj5cbiAgICAgIDxhcHAtb3ZlcmxheS1pbmZvIFtvdmVybGF5VGV4dF09XCJxdWVzdGlvbi5kZXNjcmlwdGlvblwiPjwvYXBwLW92ZXJsYXktaW5mbz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDwvZGl2PlxuICA8IS0tICYmIHZpc2libGVJZihxdWVzdGlvbi52aXNpYmxlSWYpIC0tPlxuICA8ZGl2ICAgKm5nSWY9XCJxdWVzdGlvbi50eXBlICYmIHF1ZXN0aW9uLnR5cGU9PT0nc2luZ2xlc2VsZWN0Y2hlY2tib3gnXCI+XG4gICAgPCEtLSA8ZGl2IFtuZ1N0eWxlXT1cInNldFN0eWxlKHF1ZXN0aW9uLmluZGVudClcIj4gLS0+XG4gICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwicXVlc3Rpb24uY2hvaWNlc1wiIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiIFttdWx0aXBsZV09ZmFsc2VcbiAgICAgICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiID48L3Atc2VsZWN0QnV0dG9uPlxuICAgIDwhLS0gPC9kaXY+IC0tPlxuICA8L2Rpdj5cblxuXG4gICAgPGRpdiAgICpuZ0lmPVwicXVlc3Rpb24udHlwZSAmJiBxdWVzdGlvbi50eXBlPT09J2Ryb3Bkb3duJyAmJiBxdWVzdGlvbi5zaXplXCI+IFxuICAgICAgPCEtLSA8ZGl2ICBjbGFzcz1cImZsZXgtY2hpbGRcIj4gXG4gICAgICAgIDxwLWRyb3Bkb3duIFtpZF09XCJxdWVzdGlvbi5uYW1lXCIgKm5nSWY9XCJxdWVzdGlvbi5jaG9pY2VzLmxlbmd0aD4zXCIgXG4gICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiIHBsYWNlaG9sZGVyPVwiICAgIFwiIFtvcHRpb25zXT1cIiBnZXREZXBlbmRlbnREcm9wZG93bkRhdGEocXVlc3Rpb24pfCBhc3luY1wiXG4gICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIiBbc3R5bGVdPVwieyd3aWR0aCc6JzIwMHB4JywnaGVpZ2h0JzonMzVweCd9XCIgW2ZpbHRlcl09XCJ0cnVlXCIgZmlsdGVyQnk9XCJ0ZXh0XCJcbiAgICAgICA+XG4gICAgICA8L3AtZHJvcGRvd24+XG5cbiAgICBcbiAgICAgIDxwLWRyb3Bkb3duIFtpZF09XCJxdWVzdGlvbi5uYW1lXCIgKm5nSWY9XCJxdWVzdGlvbi5jaG9pY2VzLmxlbmd0aDw9M1wiIGVkaXRhYmxlPVwidHJ1ZVwiIGZpbHRlcj1cInRydWVcIiBmaWx0ZXJCeT1cInRleHRcIlxuICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cInF1ZXN0aW9uLm5hbWVcIiBwbGFjZWhvbGRlcj1cIiAgICBcIiBbb3B0aW9uc109XCIgZ2V0RGVwZW5kZW50RHJvcGRvd25EYXRhKHF1ZXN0aW9uKXwgYXN5bmNcIlxuICAgICAgICBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCIgW3N0eWxlXT1cInsnd2lkdGgnOicyMDBweCcsJ2hlaWdodCc6JzM1cHgnfVwiPlxuICAgICAgPC9wLWRyb3Bkb3duPlxuICAgICAgPC9kaXY+ICAtLT5cblxuICAgICAgPCEtLSA8cC1hdXRvQ29tcGxldGUgW2Zvcm1Db250cm9sTmFtZV09XCJxdWVzdGlvbi5uYW1lXCIgW3N1Z2dlc3Rpb25zXT1cImdldERlcGVuZGVudERyb3Bkb3duRGF0YShxdWVzdGlvbil8IGFzeW5jXCIgYXBwZW5kVG89XCJib2R5XCJcbiAgICAgIChjb21wbGV0ZU1ldGhvZCk9XCJmaWx0ZXJWYWx1ZSgkZXZlbnQscXVlc3Rpb24uY2hvaWNlcyxxdWVzdGlvbi5uYW1lKVwiIGZpZWxkPVwidGV4dFwiIFtkcm9wZG93bl09XCJ0cnVlXCIgXG4gICAgICBtaW5MZW5ndGggPSAzIGZvcmNlU2VsZWN0aW9uPVwidHJ1ZVwiIFtzaG93XT1cImdldERlcGVuZGVudERyb3Bkb3duRGF0YShxdWVzdGlvbil8IGFzeW5jXCJcbiAgICAgPiAgLS0+XG4gICAgIDxkaXYgPiBcbiAgICAgICBcbiAgICAgIDxwLWF1dG9Db21wbGV0ZSBbZm9ybUNvbnRyb2xOYW1lXT1cInF1ZXN0aW9uLm5hbWVcIiBhcHBlbmRUbz1cImJvZHlcIiBbc3VnZ2VzdGlvbnNdPVwiZmlsdGVyZWRCcy5nZXQocXVlc3Rpb24ubmFtZSl8IGFzeW5jXCJcbiAgICAgKGNvbXBsZXRlTWV0aG9kKT1cImZpbHRlclZhbHVlKCRldmVudCxxdWVzdGlvbilcIiBkYXRhS2V5ID1cInZhbHVlXCIgZmllbGQ9XCJ0ZXh0XCIgW2Ryb3Bkb3duXT1cInRydWVcIiBbc2l6ZV09XCJxdWVzdGlvbi5zaXplXCJcbiAgICAgbWluTGVuZ3RoID0gMSBmb3JjZVNlbGVjdGlvbj1cInRydWVcIiB0eXBlPVwidGV4dFwiIChvblNlbGVjdCk9XCJvblNlbGVjdCgkZXZlbnQscXVlc3Rpb24ubmFtZSlcIj4gXG5cbiAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtdmFsdWUgcFRlbXBsYXRlPVwiaXRlbVwiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxkaXY+e3t2YWx1ZS50ZXh0fX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvcC1hdXRvQ29tcGxldGU+XG48L2Rpdj5cblxuICAgICAgPCEtLSA8ZGl2ICpuZ0lmPVwicXVlc3Rpb24uZGVzY3JpcHRpb25cIj5cbiAgICAgICAgPGFwcC1vdmVybGF5LWluZm8gW292ZXJsYXlUZXh0XT1cInF1ZXN0aW9uLmRlc2NyaXB0aW9uXCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxuICAgICAgPC9kaXY+IC0tPlxuICAgIDwvZGl2PlxuICAgXG4gICAgPGRpdiAqbmdJZj1cInF1ZXN0aW9uLnR5cGUgJiYgcXVlc3Rpb24udHlwZT09PSdkcm9wZG93bicgJiYgIXF1ZXN0aW9uLnNpemVcIj5cbiAgICAgICAgICA8cC1hdXRvQ29tcGxldGUgW2Zvcm1Db250cm9sTmFtZV09XCJxdWVzdGlvbi5uYW1lXCIgYXBwZW5kVG89XCJib2R5XCJcbiAgICAgICAgICAgIFtzdWdnZXN0aW9uc109XCJmaWx0ZXJlZEJzLmdldChxdWVzdGlvbi5uYW1lKXwgYXN5bmNcIiAoY29tcGxldGVNZXRob2QpPVwiZmlsdGVyVmFsdWUoJGV2ZW50LHF1ZXN0aW9uKVwiXG4gICAgICAgICAgICBkYXRhS2V5PVwidmFsdWVcIiBmaWVsZD1cInRleHRcIiBbZHJvcGRvd25dPVwidHJ1ZVwiIG1pbkxlbmd0aD0zIGZvcmNlU2VsZWN0aW9uPVwidHJ1ZVwiIHR5cGU9XCJ0ZXh0XCIgKG9uU2VsZWN0KT1cIm9uU2VsZWN0KCRldmVudCxxdWVzdGlvbi5uYW1lKVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC12YWx1ZSBwVGVtcGxhdGU9XCJpdGVtXCI+XG4gICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPGRpdj57e3ZhbHVlLnRleHR9fTwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9wLWF1dG9Db21wbGV0ZT5cbiAgICA8L2Rpdj5cblxuXG4gICAgPGRpdiAqbmdJZj1cInF1ZXN0aW9uLmN1c3RvbVRhZyAmJiBxdWVzdGlvbi5jdXN0b21UYWcuaW5jbHVkZXMoJ2ZpbGV1cGxvYWQnKVwiPlxuICAgICAgPGFwcC1maWxlLXVwbG9hZGVyIFthbGxvd2VkRmlsZVR5cGVdPVwicXVlc3Rpb24uYWxsb3dlZEZpbGVUeXBlXCIgIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiXG4gICAgICBbbWF4U2l6ZUluTUJdPVwicXVlc3Rpb24uc2l6ZUluTUJcIiBbbXVsdGlwbGVdPVwicXVlc3Rpb24ubXVsdGlwbGVcIiBbbm9PZkZpbGVzVG9VcGxvYWRdPVwicXVlc3Rpb24ubm9PRkZpbGVzXCIgPjwvYXBwLWZpbGUtdXBsb2FkZXI+XG4gICAgPC9kaXY+XG5cblxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIiBzdHlsZT1cInBhZGRpbmc6IDBweDtcIiAqbmdJZj1cInF1ZXN0aW9uLnR5cGUgJiYgcXVlc3Rpb24udHlwZT09PSdyYWRpb2dyb3VwJ1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIHN0eWxlPVwiZGlzcGxheTogZmxleDtcIj5cbiAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwicXVlc3Rpb24uY2hvaWNlc1wiIFtmb3JtQ29udHJvbE5hbWVdPVwicXVlc3Rpb24ubmFtZVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXG4gICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJmbGV4LWdyb3c6IDE7XCIgKm5nSWY9XCJxdWVzdGlvbi5kZXNjcmlwdGlvblwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiA4cHhcIj5cbiAgICAgICAgICAgICAgPGFwcC1vdmVybGF5LWluZm8gW292ZXJsYXlUZXh0XT1cInF1ZXN0aW9uLmRlc2NyaXB0aW9uXCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCIgKm5nSWY9XCJxdWVzdGlvbi50eXBlICYmIHF1ZXN0aW9uLnR5cGU9PT0nZGlzcGxheXRleHRhc2xhYmVsJ1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIHN0eWxlPVwiZGlzcGxheTogZmxleDtcIj5cbiAgICAgICAgICAgIDxsYWJlbD57e2Zvcm0uY29udHJvbHNbcXVlc3Rpb24ubmFtZV0udmFsdWV9fTwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiICBbZm9ybUNvbnRyb2xOYW1lXT1cInF1ZXN0aW9uLm5hbWVcIi8+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJmbGV4LWdyb3c6IDE7XCIgKm5nSWY9XCJxdWVzdGlvbi5kZXNjcmlwdGlvblwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiAycHhcIj5cbiAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBbb3ZlcmxheVRleHRdPVwicXVlc3Rpb24uZGVzY3JpcHRpb25cIj48L2FwcC1vdmVybGF5LWluZm8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cblxuICA8ZGl2PlxuICAgIDxzbWFsbCBjbGFzcz1cInAtZXJyb3JcIiAqbmdJZj1cImlzVmFsaWQhPScnXCI+e3tpc1ZhbGlkfX08L3NtYWxsPlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|