@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.
Files changed (472) hide show
  1. package/{esm2020 → esm2022}/lib/annimations/app-animations.mjs +36 -36
  2. package/esm2022/lib/components/add-employer/add-employer.component.mjs +3027 -0
  3. package/esm2022/lib/components/add-participant/add-participant.component.mjs +394 -0
  4. package/esm2022/lib/components/add-payment/add-payment.component.mjs +187 -0
  5. package/esm2022/lib/components/address/address.component.mjs +487 -0
  6. package/esm2022/lib/components/bank-details/bank-details.component.mjs +276 -0
  7. package/esm2022/lib/components/captcha/captcha.component.mjs +181 -0
  8. package/esm2022/lib/components/card/card.component.mjs +55 -0
  9. package/esm2022/lib/components/contact-us/contact-us.component.mjs +970 -0
  10. package/esm2022/lib/components/content/content.component.mjs +61 -0
  11. package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +83 -0
  12. package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +223 -0
  13. package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +292 -0
  14. package/esm2022/lib/components/disclosure/disclosure.component.mjs +60 -0
  15. package/esm2022/lib/components/dropdown/dropdown.component.mjs +1974 -0
  16. package/esm2022/lib/components/dropdown/dropdown.interface.mjs +2 -0
  17. package/esm2022/lib/components/email-update/email-update.component.mjs +283 -0
  18. package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +794 -0
  19. package/esm2022/lib/components/error/error.component.mjs +86 -0
  20. package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +163 -0
  21. package/{esm2020 → esm2022}/lib/components/file-download/file-download.component.mjs +104 -104
  22. package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +315 -0
  23. package/esm2022/lib/components/footer/footer.component.mjs +332 -0
  24. package/esm2022/lib/components/header/header.component.mjs +558 -0
  25. package/esm2022/lib/components/help/help.component.mjs +49 -0
  26. package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +65 -0
  27. package/{esm2020 → esm2022}/lib/components/info/info.component.mjs +187 -188
  28. package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +206 -0
  29. package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +193 -0
  30. package/esm2022/lib/components/maintenance-detector/maintenance-detector.component.mjs +43 -0
  31. package/esm2022/lib/components/mask/mask.component.mjs +48 -0
  32. package/esm2022/lib/components/menu/menu.component.mjs +423 -0
  33. package/esm2022/lib/components/mfa/mfa.component.mjs +444 -0
  34. package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +50 -0
  35. package/esm2022/lib/components/money-expect/money-expect.component.mjs +90 -0
  36. package/esm2022/lib/components/msg/msg.component.mjs +48 -0
  37. package/esm2022/lib/components/news/news.component.mjs +90 -0
  38. package/esm2022/lib/components/overlay-info/overlay-info.component.mjs +213 -0
  39. package/esm2022/lib/components/page/page.component.mjs +136 -0
  40. package/esm2022/lib/components/profile/profile.component.mjs +177 -0
  41. package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +63 -0
  42. package/esm2022/lib/components/questionnaire/AppValidators.mjs +487 -0
  43. package/{esm2020 → esm2022}/lib/components/questionnaire/FbConstants.mjs +7 -7
  44. package/{esm2020 → esm2022}/lib/components/questionnaire/SelectItem.mjs +1 -1
  45. package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +256 -0
  46. package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +475 -0
  47. package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +1094 -0
  48. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +1882 -0
  49. package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +1263 -0
  50. package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +244 -0
  51. package/{esm2020 → esm2022}/lib/components/questionnaire/input-focus.directive.mjs +44 -44
  52. package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +256 -0
  53. package/{esm2020 → esm2022}/lib/components/questionnaire/question-base.mjs +2 -2
  54. package/{esm2020 → esm2022}/lib/components/questionnaire/question-control.service.mjs +420 -419
  55. package/{esm2020 → esm2022}/lib/components/questionnaire/question.service.mjs +33 -33
  56. package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +262 -0
  57. package/{esm2020 → esm2022}/lib/components/read-more/read-more.component.mjs +67 -67
  58. package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +690 -0
  59. package/esm2022/lib/components/search-employer/search-employer.component.mjs +142 -0
  60. package/esm2022/lib/components/select/select.component.mjs +154 -0
  61. package/esm2022/lib/components/ssn/ssn.component.mjs +44 -0
  62. package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +151 -0
  63. package/esm2022/lib/components/test/test.component.mjs +19 -0
  64. package/esm2022/lib/components/user-login/user-login.component.mjs +398 -0
  65. package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +442 -0
  66. package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +307 -0
  67. package/{esm2020 → esm2022}/lib/directives/auto-focus/auto-focus.directive.mjs +31 -31
  68. package/{esm2020 → esm2022}/lib/directives/caps-lock.directive.mjs +38 -38
  69. package/{esm2020 → esm2022}/lib/directives/required-roles/required-roles.directive.mjs +30 -30
  70. package/{esm2020 → esm2022}/lib/enums/EmailStatusEnum.mjs +8 -8
  71. package/{esm2020 → esm2022}/lib/guards/auth.guard.mjs +138 -138
  72. package/esm2022/lib/guards/no-login/no-login.guard.mjs +21 -0
  73. package/{esm2020 → esm2022}/lib/interceptors/error-interceptor/http-error-interceptor.mjs +107 -107
  74. package/{esm2020 → esm2022}/lib/interceptors/header-interceptor/http-header.interceptor.mjs +99 -99
  75. package/{esm2020 → esm2022}/lib/models/AddressComponentModel.mjs +2 -2
  76. package/{esm2020 → esm2022}/lib/models/BankDetailsComponentModel.mjs +2 -2
  77. package/{esm2020 → esm2022}/lib/models/BankDetailsModel.mjs +3 -3
  78. package/{esm2020 → esm2022}/lib/models/CinRequalificationCriteriaModel.mjs +3 -3
  79. package/{esm2020 → esm2022}/lib/models/EmployerDetailSearchResult.mjs +5 -5
  80. package/{esm2020 → esm2022}/lib/models/ErrorModel.mjs +5 -5
  81. package/{esm2020 → esm2022}/lib/models/FileModel.mjs +1 -1
  82. package/{esm2020 → esm2022}/lib/models/LibConstants.mjs +119 -119
  83. package/{esm2020 → esm2022}/lib/models/NewsAndAnnouncementModel.mjs +2 -2
  84. package/{esm2020 → esm2022}/lib/models/NotificationModel.mjs +5 -5
  85. package/{esm2020 → esm2022}/lib/models/OtpAuthModel.mjs +2 -2
  86. package/{esm2020 → esm2022}/lib/models/PaymentComponentModel.mjs +2 -2
  87. package/esm2022/lib/models/RequalifyLiftPageModel.mjs +11 -0
  88. package/{esm2020 → esm2022}/lib/models/SsaVerificationModel.mjs +3 -3
  89. package/{esm2020 → esm2022}/lib/models/TrendModel.mjs +2 -2
  90. package/{esm2020 → esm2022}/lib/models/UserDetailsModel.mjs +2 -2
  91. package/{esm2020 → esm2022}/lib/models/UserModel.mjs +5 -5
  92. package/{esm2020 → esm2022}/lib/models/case/CaseAttachmentModel.mjs +3 -3
  93. package/{esm2020 → esm2022}/lib/models/claimant/ClaimantModel.mjs +2 -2
  94. package/{esm2020 → esm2022}/lib/models/claimant/JobResultsData.mjs +2 -2
  95. package/{esm2020 → esm2022}/lib/models/claimant/MatchingJobs.mjs +2 -2
  96. package/{esm2020 → esm2022}/lib/models/claimant/ResetPasswordModel.mjs +2 -2
  97. package/esm2022/lib/models/cmp/CaseCoreModel.mjs +3 -0
  98. package/{esm2020 → esm2022}/lib/models/cmp/ComplaintCategoryModel.mjs +3 -3
  99. package/{esm2020 → esm2022}/lib/models/cmp/ComplaintCategoryOutputModel.mjs +5 -5
  100. package/esm2022/lib/models/cmp/ContactUsModel.mjs +3 -0
  101. package/{esm2020 → esm2022}/lib/models/cmp/EmailTemplateModel.mjs +3 -3
  102. package/esm2022/lib/models/cmp/contactUsInqueryModel.mjs +7 -0
  103. package/{esm2020 → esm2022}/lib/models/cmp/messageRourceModel.mjs +3 -3
  104. package/esm2022/lib/models/dashboard-model.mjs +3 -0
  105. package/esm2022/lib/models/dependent.model.mjs +8 -0
  106. package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimAppEmpRequestModel.mjs +2 -2
  107. package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +7 -7
  108. package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +5 -5
  109. package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +2 -2
  110. package/esm2022/lib/models/questionnaire/ComboModel.mjs +337 -0
  111. package/{esm2020 → esm2022}/lib/models/questionnaire/ElementsModel.mjs +7 -7
  112. package/{esm2020 → esm2022}/lib/models/questionnaire/EmployerDetailSearchResult.mjs +2 -2
  113. package/{esm2020 → esm2022}/lib/models/questionnaire/EmployerWagesModel.mjs +3 -3
  114. package/{esm2020 → esm2022}/lib/models/questionnaire/FBConfigModel.mjs +5 -5
  115. package/{esm2020 → esm2022}/lib/models/questionnaire/KeyValueModel.mjs +2 -2
  116. package/{esm2020 → esm2022}/lib/models/questionnaire/LegalDiscaimarModel.mjs +2 -2
  117. package/{esm2020 → esm2022}/lib/models/questionnaire/LoaderModel.mjs +2 -2
  118. package/{esm2020 → esm2022}/lib/models/questionnaire/PollingStatusModel.mjs +3 -3
  119. package/{esm2020 → esm2022}/lib/models/questionnaire/QtrYearEmployerWageModel.mjs +2 -2
  120. package/{esm2020 → esm2022}/lib/models/questionnaire/QuestionnaireQueryModel.mjs +7 -7
  121. package/{esm2020 → esm2022}/lib/models/questionnaire/QuestionnaireReturnModel.mjs +10 -10
  122. package/{esm2020 → esm2022}/lib/models/questionnaire/QuestionnaireSaveModel.mjs +2 -2
  123. package/esm2022/lib/models/questionnaire/RequalifyLiftIssuesModel.mjs +3 -0
  124. package/{esm2020 → esm2022}/lib/models/questionnaire/ServiceActionResponseModel.mjs +3 -3
  125. package/esm2022/lib/models/questionnaire/StatusModel.mjs +6 -0
  126. package/{esm2020 → esm2022}/lib/models/questionnaire/SuccessPageElement.mjs +2 -2
  127. package/esm2022/lib/models/questionnaire/UI512AResponseModel.mjs +3 -0
  128. package/{esm2020 → esm2022}/lib/models/questionnaire/ValidationModel.mjs +2 -2
  129. package/esm2022/lib/ngx-reusa-app-lib.component.mjs +23 -0
  130. package/esm2022/lib/ngx-reusa-app-lib.module.mjs +402 -0
  131. package/{esm2020 → esm2022}/lib/ngx-reusa-app-lib.service.mjs +14 -14
  132. package/{esm2020 → esm2022}/lib/pages/BasePage.mjs +76 -76
  133. package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +81 -0
  134. package/esm2022/lib/pages/common/change-password/change-password.page.mjs +463 -0
  135. package/esm2022/lib/pages/common/landing/landing.component.mjs +208 -0
  136. package/esm2022/lib/pages/common/landing2/landing2.component.mjs +244 -0
  137. package/esm2022/lib/pages/common/login/login.component.mjs +526 -0
  138. package/esm2022/lib/pages/common/not-found/not-found.page.mjs +24 -0
  139. package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +306 -0
  140. package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +61 -0
  141. package/esm2022/lib/pages/common/unauthorized/unauthorized.page.mjs +24 -0
  142. package/esm2022/lib/pages/popovers/language/language.page.mjs +61 -0
  143. package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +204 -0
  144. package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +129 -0
  145. package/esm2022/lib/pages/popovers/user-search/user-search.component.mjs +251 -0
  146. package/{esm2020 → esm2022}/lib/pipes/filter.pipe.mjs +30 -30
  147. package/{esm2020 → esm2022}/lib/pipes/mask/mask.email.pipe.mjs +23 -23
  148. package/{esm2020 → esm2022}/lib/pipes/proper-case/proper-case.pipe.mjs +27 -27
  149. package/{esm2020 → esm2022}/lib/pipes/translate/dynamic-translate.pipe.mjs +44 -44
  150. package/{esm2020 → esm2022}/lib/pipes/trust-html/trust-html.pipe.mjs +20 -20
  151. package/{esm2020 → esm2022}/lib/services/base-service.mjs +49 -49
  152. package/{esm2020 → esm2022}/lib/services/captcha/captcha.service.mjs +46 -46
  153. package/{esm2020 → esm2022}/lib/services/case-service/case.service.mjs +47 -47
  154. package/{esm2020 → esm2022}/lib/services/chatbot/chatbot.service.mjs +257 -257
  155. package/esm2022/lib/services/chatbot/script.const.mjs +42 -0
  156. package/{esm2020 → esm2022}/lib/services/claimant/claimant.service.mjs +31 -31
  157. package/esm2022/lib/services/claimant-context/claimant-context.service.mjs +48 -0
  158. package/{esm2020 → esm2022}/lib/services/claimant-service/claimant.service.mjs +47 -47
  159. package/{esm2020 → esm2022}/lib/services/claims/claims.service.mjs +99 -99
  160. package/{esm2020 → esm2022}/lib/services/cmp-service/cmp.service.mjs +84 -84
  161. package/{esm2020 → esm2022}/lib/services/dms-service/dms.service.mjs +60 -60
  162. package/{esm2020 → esm2022}/lib/services/fpjs/fingerprint.service.mjs +70 -70
  163. package/{esm2020 → esm2022}/lib/services/google-analytics/google-analytics.service.mjs +29 -29
  164. package/{esm2020 → esm2022}/lib/services/help/help.service.mjs +63 -63
  165. package/{esm2020 → esm2022}/lib/services/idle/idle.service.mjs +159 -159
  166. package/{esm2020 → esm2022}/lib/services/logger/logger.service.mjs +67 -67
  167. package/esm2022/lib/services/login/login.service.mjs +330 -0
  168. package/{esm2020 → esm2022}/lib/services/maintenance/maintenance.service.mjs +21 -21
  169. package/{esm2020 → esm2022}/lib/services/notification/notification.service.mjs +113 -113
  170. package/{esm2020 → esm2022}/lib/services/questionnaire/questionnaire.service.mjs +69 -69
  171. package/{esm2020 → esm2022}/lib/services/questionnaire/validation.service.mjs +59 -59
  172. package/{esm2020 → esm2022}/lib/services/security-service/security.service.mjs +35 -35
  173. package/{esm2020 → esm2022}/lib/services/tour/tour.service.mjs +60 -60
  174. package/{esm2020 → esm2022}/lib/services/util/util.service.mjs +424 -424
  175. package/esm2022/lib/validations/AppRegex.mjs +45 -0
  176. package/{esm2020 → esm2022}/lib/validations/AppValidators.mjs +165 -165
  177. package/{esm2020 → esm2022}/public-api.mjs +131 -131
  178. package/{esm2020 → esm2022}/reusa-ngx-reusa-app-lib.mjs +4 -4
  179. package/{fesm2020 → fesm2022}/reusa-ngx-reusa-app-lib.mjs +27966 -27877
  180. package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -0
  181. package/index.d.ts +5 -5
  182. package/lib/annimations/app-animations.d.ts +3 -3
  183. package/lib/components/add-employer/add-employer.component.d.ts +276 -276
  184. package/lib/components/add-participant/add-participant.component.d.ts +45 -45
  185. package/lib/components/add-payment/add-payment.component.d.ts +33 -33
  186. package/lib/components/address/address.component.d.ts +68 -68
  187. package/lib/components/address/address.component.d.ts.map +1 -1
  188. package/lib/components/bank-details/bank-details.component.d.ts +39 -39
  189. package/lib/components/captcha/captcha.component.d.ts +44 -44
  190. package/lib/components/card/card.component.d.ts +11 -11
  191. package/lib/components/contact-us/contact-us.component.d.ts +105 -107
  192. package/lib/components/contact-us/contact-us.component.d.ts.map +1 -1
  193. package/lib/components/content/content.component.d.ts +13 -13
  194. package/lib/components/correspondence-download/correspondence-download.component.d.ts +21 -21
  195. package/lib/components/dashboard-card/dashboard-card.component.d.ts +25 -25
  196. package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
  197. package/lib/components/dependent-grid/dependent-grid.component.d.ts +35 -35
  198. package/lib/components/disclosure/disclosure.component.d.ts +12 -12
  199. package/lib/components/dropdown/dropdown.component.d.ts +581 -207
  200. package/lib/components/dropdown/dropdown.component.d.ts.map +1 -1
  201. package/lib/components/dropdown/dropdown.interface.d.ts +155 -0
  202. package/lib/components/dropdown/dropdown.interface.d.ts.map +1 -0
  203. package/lib/components/email-update/email-update.component.d.ts +31 -31
  204. package/lib/components/employer-grid/employer-grid.component.d.ts +95 -94
  205. package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
  206. package/lib/components/error/error.component.d.ts +17 -17
  207. package/lib/components/fav-menu/fav-menu.component.d.ts +21 -21
  208. package/lib/components/file-download/file-download.component.d.ts +22 -22
  209. package/lib/components/file-uploader/file-uploader.component.d.ts +47 -47
  210. package/lib/components/footer/footer.component.d.ts +36 -36
  211. package/lib/components/header/header.component.d.ts +59 -58
  212. package/lib/components/header/header.component.d.ts.map +1 -1
  213. package/lib/components/help/help.component.d.ts +10 -10
  214. package/lib/components/idle-detector/idle-detector.component.d.ts +15 -15
  215. package/lib/components/info/info.component.d.ts +22 -22
  216. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +21 -21
  217. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +33 -33
  218. package/lib/components/maintenance-detector/maintenance-detector.component.d.ts +15 -15
  219. package/lib/components/mask/mask.component.d.ts +11 -11
  220. package/lib/components/menu/menu.component.d.ts +43 -43
  221. package/lib/components/mfa/mfa.component.d.ts +59 -59
  222. package/lib/components/mfa-popup/mfa-popup.component.d.ts +16 -16
  223. package/lib/components/money-expect/money-expect.component.d.ts +18 -18
  224. package/lib/components/msg/msg.component.d.ts +10 -10
  225. package/lib/components/news/news.component.d.ts +14 -14
  226. package/lib/components/overlay-info/overlay-info.component.d.ts +34 -34
  227. package/lib/components/page/page.component.d.ts +23 -23
  228. package/lib/components/profile/profile.component.d.ts +28 -28
  229. package/lib/components/profile-redirect/profile-redirect.component.d.ts +13 -13
  230. package/lib/components/questionnaire/AppValidators.d.ts +14 -14
  231. package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
  232. package/lib/components/questionnaire/FbConstants.d.ts +7 -7
  233. package/lib/components/questionnaire/SelectItem.d.ts +4 -4
  234. package/lib/components/questionnaire/account-success/account-success.page.d.ts +53 -53
  235. package/lib/components/questionnaire/common-success/common-success.page.d.ts +75 -75
  236. package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
  237. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +46 -46
  238. package/lib/components/questionnaire/dynamic-form-question.component.d.ts +82 -82
  239. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
  240. package/lib/components/questionnaire/dynamic-form.component.d.ts +130 -130
  241. package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
  242. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +66 -64
  243. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
  244. package/lib/components/questionnaire/input-focus.directive.d.ts +11 -11
  245. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +38 -38
  246. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
  247. package/lib/components/questionnaire/question-base.d.ts +16 -16
  248. package/lib/components/questionnaire/question-control.service.d.ts +19 -19
  249. package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
  250. package/lib/components/questionnaire/question.service.d.ts +18 -18
  251. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +75 -74
  252. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
  253. package/lib/components/read-more/read-more.component.d.ts +14 -14
  254. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +67 -67
  255. package/lib/components/search-employer/search-employer.component.d.ts +37 -36
  256. package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
  257. package/lib/components/select/select.component.d.ts +55 -55
  258. package/lib/components/ssn/ssn.component.d.ts +11 -11
  259. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +22 -22
  260. package/lib/components/test/test.component.d.ts +8 -8
  261. package/lib/components/user-login/user-login.component.d.ts +48 -48
  262. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +59 -59
  263. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +45 -45
  264. package/lib/directives/auto-focus/auto-focus.directive.d.ts +12 -12
  265. package/lib/directives/caps-lock.directive.d.ts +11 -11
  266. package/lib/directives/required-roles/required-roles.directive.d.ts +14 -14
  267. package/lib/enums/EmailStatusEnum.d.ts +7 -7
  268. package/lib/guards/auth.guard.d.ts +28 -28
  269. package/lib/guards/auth.guard.d.ts.map +1 -1
  270. package/lib/guards/no-login/no-login.guard.d.ts +11 -11
  271. package/lib/guards/no-login/no-login.guard.d.ts.map +1 -1
  272. package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts +22 -22
  273. package/lib/interceptors/header-interceptor/http-header.interceptor.d.ts +21 -21
  274. package/lib/interceptors/header-interceptor/http-header.interceptor.d.ts.map +1 -1
  275. package/lib/models/AddressComponentModel.d.ts +12 -12
  276. package/lib/models/BankDetailsComponentModel.d.ts +11 -11
  277. package/lib/models/BankDetailsModel.d.ts +4 -4
  278. package/lib/models/CinRequalificationCriteriaModel.d.ts +10 -10
  279. package/lib/models/EmployerDetailSearchResult.d.ts +47 -47
  280. package/lib/models/ErrorModel.d.ts +6 -6
  281. package/lib/models/FileModel.d.ts +4 -4
  282. package/lib/models/LibConstants.d.ts +112 -112
  283. package/lib/models/NewsAndAnnouncementModel.d.ts +5 -5
  284. package/lib/models/NotificationModel.d.ts +10 -10
  285. package/lib/models/OtpAuthModel.d.ts +6 -6
  286. package/lib/models/PaymentComponentModel.d.ts +7 -7
  287. package/lib/models/RequalifyLiftPageModel.d.ts +11 -11
  288. package/lib/models/SsaVerificationModel.d.ts +8 -8
  289. package/lib/models/TrendModel.d.ts +13 -13
  290. package/lib/models/UserDetailsModel.d.ts +9 -9
  291. package/lib/models/UserModel.d.ts +46 -46
  292. package/lib/models/case/CaseAttachmentModel.d.ts +5 -5
  293. package/lib/models/claimant/ClaimantModel.d.ts +22 -22
  294. package/lib/models/claimant/JobResultsData.d.ts +7 -7
  295. package/lib/models/claimant/MatchingJobs.d.ts +12 -12
  296. package/lib/models/claimant/ResetPasswordModel.d.ts +8 -8
  297. package/lib/models/cmp/CaseCoreModel.d.ts +20 -20
  298. package/lib/models/cmp/ComplaintCategoryModel.d.ts +8 -8
  299. package/lib/models/cmp/ComplaintCategoryOutputModel.d.ts +5 -5
  300. package/lib/models/cmp/ContactUsModel.d.ts +22 -22
  301. package/lib/models/cmp/EmailTemplateModel.d.ts +6 -6
  302. package/lib/models/cmp/contactUsInqueryModel.d.ts +46 -46
  303. package/lib/models/cmp/messageRourceModel.d.ts +5 -5
  304. package/lib/models/dashboard-model.d.ts +43 -43
  305. package/lib/models/dependent.model.d.ts +11 -18
  306. package/lib/models/dependent.model.d.ts.map +1 -1
  307. package/lib/models/questionnaire/ClaimAppEmpRequestModel.d.ts +8 -8
  308. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +16 -16
  309. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +151 -151
  310. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +16 -16
  311. package/lib/models/questionnaire/ComboModel.d.ts +85 -85
  312. package/lib/models/questionnaire/ElementsModel.d.ts +68 -68
  313. package/lib/models/questionnaire/EmployerDetailSearchResult.d.ts +17 -17
  314. package/lib/models/questionnaire/EmployerWagesModel.d.ts +4 -4
  315. package/lib/models/questionnaire/FBConfigModel.d.ts +11 -11
  316. package/lib/models/questionnaire/KeyValueModel.d.ts +10 -10
  317. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +10 -10
  318. package/lib/models/questionnaire/LoaderModel.d.ts +4 -4
  319. package/lib/models/questionnaire/PollingStatusModel.d.ts +6 -6
  320. package/lib/models/questionnaire/QtrYearEmployerWageModel.d.ts +8 -8
  321. package/lib/models/questionnaire/QuestionnaireQueryModel.d.ts +23 -23
  322. package/lib/models/questionnaire/QuestionnaireReturnModel.d.ts +20 -20
  323. package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts +24 -24
  324. package/lib/models/questionnaire/RequalifyLiftIssuesModel.d.ts +13 -13
  325. package/lib/models/questionnaire/ServiceActionResponseModel.d.ts +6 -6
  326. package/lib/models/questionnaire/StatusModel.d.ts +15 -15
  327. package/lib/models/questionnaire/SuccessPageElement.d.ts +8 -8
  328. package/lib/models/questionnaire/UI512AResponseModel.d.ts +12 -12
  329. package/lib/models/questionnaire/ValidationModel.d.ts +17 -17
  330. package/lib/ngx-reusa-app-lib.component.d.ts +8 -8
  331. package/lib/ngx-reusa-app-lib.module.d.ts +148 -145
  332. package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
  333. package/lib/ngx-reusa-app-lib.service.d.ts +6 -6
  334. package/lib/pages/BasePage.d.ts +26 -26
  335. package/lib/pages/common/accessibility-policy/accessibility-policy.page.d.ts +11 -11
  336. package/lib/pages/common/change-password/change-password.page.d.ts +40 -40
  337. package/lib/pages/common/landing/landing.component.d.ts +24 -24
  338. package/lib/pages/common/landing2/landing2.component.d.ts +30 -30
  339. package/lib/pages/common/login/login.component.d.ts +64 -64
  340. package/lib/pages/common/not-found/not-found.page.d.ts +8 -8
  341. package/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.d.ts +11 -11
  342. package/lib/pages/common/security-policy/security-policy.page.d.ts +11 -11
  343. package/lib/pages/common/unauthorized/unauthorized.page.d.ts +8 -8
  344. package/lib/pages/popovers/language/language.page.d.ts +16 -16
  345. package/lib/pages/popovers/my-notifications/my-notifications.page.d.ts +21 -21
  346. package/lib/pages/popovers/my-profile/my-profile.page.d.ts +20 -20
  347. package/lib/pages/popovers/user-search/user-search.component.d.ts +31 -31
  348. package/lib/pipes/filter.pipe.d.ts +7 -7
  349. package/lib/pipes/mask/mask.email.pipe.d.ts +10 -10
  350. package/lib/pipes/proper-case/proper-case.pipe.d.ts +8 -8
  351. package/lib/pipes/translate/dynamic-translate.pipe.d.ts +10 -10
  352. package/lib/pipes/trust-html/trust-html.pipe.d.ts +10 -10
  353. package/lib/services/base-service.d.ts +92 -92
  354. package/lib/services/captcha/captcha.service.d.ts +15 -15
  355. package/lib/services/case-service/case.service.d.ts +19 -19
  356. package/lib/services/chatbot/chatbot.service.d.ts +60 -60
  357. package/lib/services/chatbot/script.const.d.ts +15 -15
  358. package/lib/services/claimant/claimant.service.d.ts +17 -17
  359. package/lib/services/claimant-context/claimant-context.service.d.ts +18 -18
  360. package/lib/services/claimant-context/claimant-context.service.d.ts.map +1 -1
  361. package/lib/services/claimant-service/claimant.service.d.ts +19 -19
  362. package/lib/services/claims/claims.service.d.ts +39 -39
  363. package/lib/services/cmp-service/cmp.service.d.ts +33 -33
  364. package/lib/services/dms-service/dms.service.d.ts +23 -23
  365. package/lib/services/fpjs/fingerprint.service.d.ts +18 -18
  366. package/lib/services/google-analytics/google-analytics.service.d.ts +8 -8
  367. package/lib/services/help/help.service.d.ts +25 -25
  368. package/lib/services/help/help.service.d.ts.map +1 -1
  369. package/lib/services/idle/idle.service.d.ts +43 -43
  370. package/lib/services/logger/logger.service.d.ts +31 -31
  371. package/lib/services/logger/logger.service.d.ts.map +1 -1
  372. package/lib/services/login/login.service.d.ts +75 -75
  373. package/lib/services/login/login.service.d.ts.map +1 -1
  374. package/lib/services/maintenance/maintenance.service.d.ts +15 -15
  375. package/lib/services/notification/notification.service.d.ts +38 -38
  376. package/lib/services/questionnaire/questionnaire.service.d.ts +35 -35
  377. package/lib/services/questionnaire/validation.service.d.ts +81 -81
  378. package/lib/services/security-service/security.service.d.ts +14 -14
  379. package/lib/services/tour/tour.service.d.ts +24 -24
  380. package/lib/services/util/util.service.d.ts +190 -190
  381. package/lib/validations/AppRegex.d.ts +43 -43
  382. package/lib/validations/AppValidators.d.ts +53 -53
  383. package/package.json +6 -11
  384. package/public-api.d.ts +121 -121
  385. package/esm2020/lib/components/add-employer/add-employer.component.mjs +0 -3099
  386. package/esm2020/lib/components/add-participant/add-participant.component.mjs +0 -396
  387. package/esm2020/lib/components/add-payment/add-payment.component.mjs +0 -186
  388. package/esm2020/lib/components/address/address.component.mjs +0 -480
  389. package/esm2020/lib/components/bank-details/bank-details.component.mjs +0 -275
  390. package/esm2020/lib/components/captcha/captcha.component.mjs +0 -180
  391. package/esm2020/lib/components/card/card.component.mjs +0 -54
  392. package/esm2020/lib/components/contact-us/contact-us.component.mjs +0 -1004
  393. package/esm2020/lib/components/content/content.component.mjs +0 -60
  394. package/esm2020/lib/components/correspondence-download/correspondence-download.component.mjs +0 -82
  395. package/esm2020/lib/components/dashboard-card/dashboard-card.component.mjs +0 -219
  396. package/esm2020/lib/components/dependent-grid/dependent-grid.component.mjs +0 -297
  397. package/esm2020/lib/components/disclosure/disclosure.component.mjs +0 -59
  398. package/esm2020/lib/components/dropdown/dropdown.component.mjs +0 -1552
  399. package/esm2020/lib/components/email-update/email-update.component.mjs +0 -287
  400. package/esm2020/lib/components/employer-grid/employer-grid.component.mjs +0 -800
  401. package/esm2020/lib/components/error/error.component.mjs +0 -85
  402. package/esm2020/lib/components/fav-menu/fav-menu.component.mjs +0 -163
  403. package/esm2020/lib/components/file-uploader/file-uploader.component.mjs +0 -317
  404. package/esm2020/lib/components/footer/footer.component.mjs +0 -337
  405. package/esm2020/lib/components/header/header.component.mjs +0 -566
  406. package/esm2020/lib/components/help/help.component.mjs +0 -48
  407. package/esm2020/lib/components/idle-detector/idle-detector.component.mjs +0 -64
  408. package/esm2020/lib/components/job-search-result-page/job-search-result-page.component.mjs +0 -209
  409. package/esm2020/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +0 -192
  410. package/esm2020/lib/components/maintenance-detector/maintenance-detector.component.mjs +0 -42
  411. package/esm2020/lib/components/mask/mask.component.mjs +0 -48
  412. package/esm2020/lib/components/menu/menu.component.mjs +0 -430
  413. package/esm2020/lib/components/mfa/mfa.component.mjs +0 -451
  414. package/esm2020/lib/components/mfa-popup/mfa-popup.component.mjs +0 -49
  415. package/esm2020/lib/components/money-expect/money-expect.component.mjs +0 -89
  416. package/esm2020/lib/components/msg/msg.component.mjs +0 -48
  417. package/esm2020/lib/components/news/news.component.mjs +0 -89
  418. package/esm2020/lib/components/overlay-info/overlay-info.component.mjs +0 -235
  419. package/esm2020/lib/components/page/page.component.mjs +0 -138
  420. package/esm2020/lib/components/profile/profile.component.mjs +0 -182
  421. package/esm2020/lib/components/profile-redirect/profile-redirect.component.mjs +0 -62
  422. package/esm2020/lib/components/questionnaire/AppValidators.mjs +0 -523
  423. package/esm2020/lib/components/questionnaire/account-success/account-success.page.mjs +0 -259
  424. package/esm2020/lib/components/questionnaire/common-success/common-success.page.mjs +0 -483
  425. package/esm2020/lib/components/questionnaire/dynamic-form-panel.component.mjs +0 -1137
  426. package/esm2020/lib/components/questionnaire/dynamic-form-question.component.mjs +0 -1948
  427. package/esm2020/lib/components/questionnaire/dynamic-form.component.mjs +0 -1257
  428. package/esm2020/lib/components/questionnaire/form-builder/form-builder.page.mjs +0 -240
  429. package/esm2020/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +0 -259
  430. package/esm2020/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +0 -260
  431. package/esm2020/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +0 -703
  432. package/esm2020/lib/components/search-employer/search-employer.component.mjs +0 -142
  433. package/esm2020/lib/components/select/select.component.mjs +0 -153
  434. package/esm2020/lib/components/ssn/ssn.component.mjs +0 -43
  435. package/esm2020/lib/components/ssn-reverify/ssn-reverify.component.mjs +0 -150
  436. package/esm2020/lib/components/test/test.component.mjs +0 -18
  437. package/esm2020/lib/components/user-login/user-login.component.mjs +0 -401
  438. package/esm2020/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +0 -445
  439. package/esm2020/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +0 -308
  440. package/esm2020/lib/guards/no-login/no-login.guard.mjs +0 -21
  441. package/esm2020/lib/models/RequalifyLiftPageModel.mjs +0 -11
  442. package/esm2020/lib/models/cmp/CaseCoreModel.mjs +0 -3
  443. package/esm2020/lib/models/cmp/ContactUsModel.mjs +0 -3
  444. package/esm2020/lib/models/cmp/contactUsInqueryModel.mjs +0 -7
  445. package/esm2020/lib/models/dashboard-model.mjs +0 -3
  446. package/esm2020/lib/models/dependent.model.mjs +0 -8
  447. package/esm2020/lib/models/questionnaire/ComboModel.mjs +0 -337
  448. package/esm2020/lib/models/questionnaire/RequalifyLiftIssuesModel.mjs +0 -3
  449. package/esm2020/lib/models/questionnaire/StatusModel.mjs +0 -6
  450. package/esm2020/lib/models/questionnaire/UI512AResponseModel.mjs +0 -3
  451. package/esm2020/lib/ngx-reusa-app-lib.component.mjs +0 -22
  452. package/esm2020/lib/ngx-reusa-app-lib.module.mjs +0 -390
  453. package/esm2020/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +0 -80
  454. package/esm2020/lib/pages/common/change-password/change-password.page.mjs +0 -477
  455. package/esm2020/lib/pages/common/landing/landing.component.mjs +0 -207
  456. package/esm2020/lib/pages/common/landing2/landing2.component.mjs +0 -244
  457. package/esm2020/lib/pages/common/login/login.component.mjs +0 -542
  458. package/esm2020/lib/pages/common/not-found/not-found.page.mjs +0 -23
  459. package/esm2020/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +0 -305
  460. package/esm2020/lib/pages/common/security-policy/security-policy.page.mjs +0 -60
  461. package/esm2020/lib/pages/common/unauthorized/unauthorized.page.mjs +0 -23
  462. package/esm2020/lib/pages/popovers/language/language.page.mjs +0 -60
  463. package/esm2020/lib/pages/popovers/my-notifications/my-notifications.page.mjs +0 -205
  464. package/esm2020/lib/pages/popovers/my-profile/my-profile.page.mjs +0 -129
  465. package/esm2020/lib/pages/popovers/user-search/user-search.component.mjs +0 -253
  466. package/esm2020/lib/services/chatbot/script.const.mjs +0 -42
  467. package/esm2020/lib/services/claimant-context/claimant-context.service.mjs +0 -47
  468. package/esm2020/lib/services/login/login.service.mjs +0 -330
  469. package/esm2020/lib/validations/AppRegex.mjs +0 -45
  470. package/fesm2015/reusa-ngx-reusa-app-lib.mjs +0 -30728
  471. package/fesm2015/reusa-ngx-reusa-app-lib.mjs.map +0 -1
  472. package/fesm2020/reusa-ngx-reusa-app-lib.mjs.map +0 -1
@@ -0,0 +1,794 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { ClaimAppEmpResponseModel } from '../../models/questionnaire/ClaimAppEmpResponseModel';
4
+ import { ClaimAppEmployerDetailsModel } from '../../models/questionnaire/ClaimAppEmployerDetailsModel';
5
+ import { ClaimAppEmpRequestModel } from '../../models/questionnaire/ClaimAppEmpRequestModel';
6
+ import { ClaimOnlyEmployerDataModel } from '../../models/questionnaire/ClaimOnlyEmployerDataModel';
7
+ import { EmployerWagesModel } from '../../models/questionnaire/EmployerWagesModel';
8
+ import { ComboOption } from '../../models/questionnaire/ComboModel';
9
+ import { FbConstants } from '../questionnaire/FbConstants';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@ionic/angular";
12
+ import * as i2 from "../../services/logger/logger.service";
13
+ import * as i3 from "../../services/questionnaire/validation.service";
14
+ import * as i4 from "../../services/util/util.service";
15
+ import * as i5 from "../../services/login/login.service";
16
+ import * as i6 from "@angular/router";
17
+ import * as i7 from "../../services/claims/claims.service";
18
+ import * as i8 from "@ionic/storage-angular";
19
+ import * as i9 from "@angular/common";
20
+ import * as i10 from "primeng/api";
21
+ import * as i11 from "@angular/forms";
22
+ import * as i12 from "primeng/dialog";
23
+ import * as i13 from "primeng/table";
24
+ import * as i14 from "@fortawesome/angular-fontawesome";
25
+ import * as i15 from "../add-employer/add-employer.component";
26
+ import * as i16 from "@ngx-translate/core";
27
+ import * as i17 from "../../pipes/trust-html/trust-html.pipe";
28
+ function EmployerGridComponent_p_table_6_ng_template_2_Template(rf, ctx) { if (rf & 1) {
29
+ i0.ɵɵelementStart(0, "tr")(1, "th", 10);
30
+ i0.ɵɵtext(2);
31
+ i0.ɵɵpipe(3, "translate");
32
+ i0.ɵɵelementEnd();
33
+ i0.ɵɵelement(4, "th");
34
+ i0.ɵɵelementStart(5, "th");
35
+ i0.ɵɵtext(6);
36
+ i0.ɵɵpipe(7, "translate");
37
+ i0.ɵɵelementEnd();
38
+ i0.ɵɵelementStart(8, "th");
39
+ i0.ɵɵtext(9);
40
+ i0.ɵɵpipe(10, "translate");
41
+ i0.ɵɵelementEnd();
42
+ i0.ɵɵelementStart(11, "th");
43
+ i0.ɵɵtext(12);
44
+ i0.ɵɵpipe(13, "translate");
45
+ i0.ɵɵelementEnd();
46
+ i0.ɵɵelementStart(14, "th");
47
+ i0.ɵɵtext(15);
48
+ i0.ɵɵpipe(16, "translate");
49
+ i0.ɵɵelementEnd()();
50
+ } if (rf & 2) {
51
+ i0.ɵɵadvance(2);
52
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 5, "induction.employment.table.employer.name"), " ");
53
+ i0.ɵɵadvance(4);
54
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(7, 7, "induction.employment.table.job.title"), " ");
55
+ i0.ɵɵadvance(3);
56
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(10, 9, "induction.employment.table.pay"), " ");
57
+ i0.ɵɵadvance(3);
58
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(13, 11, "induction.employment.table.dates"), " ");
59
+ i0.ɵɵadvance(3);
60
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(16, 13, "induction.employment.table.sep.reason"), " ");
61
+ } }
62
+ function EmployerGridComponent_p_table_6_ng_template_3_td_1_Template(rf, ctx) { if (rf & 1) {
63
+ i0.ɵɵelementStart(0, "td", 10)(1, "span", 20);
64
+ i0.ɵɵtext(2, "Employer");
65
+ i0.ɵɵelementEnd();
66
+ i0.ɵɵelementStart(3, "span");
67
+ i0.ɵɵtext(4);
68
+ i0.ɵɵelement(5, "br");
69
+ i0.ɵɵelementEnd();
70
+ i0.ɵɵelement(6, "div", 21);
71
+ i0.ɵɵpipe(7, "trustHtml");
72
+ i0.ɵɵelementEnd();
73
+ } if (rf & 2) {
74
+ const employer_r8 = i0.ɵɵnextContext().$implicit;
75
+ i0.ɵɵadvance(4);
76
+ i0.ɵɵtextInterpolate1(" ", employer_r8.employerData.displayName, " ");
77
+ i0.ɵɵadvance(2);
78
+ i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(7, 2, employer_r8.employerData.mailingAddressDisplay), i0.ɵɵsanitizeHtml);
79
+ } }
80
+ function EmployerGridComponent_p_table_6_ng_template_3_td_2_Template(rf, ctx) { if (rf & 1) {
81
+ i0.ɵɵelementStart(0, "td", 10)(1, "span", 20);
82
+ i0.ɵɵtext(2, "Employer");
83
+ i0.ɵɵelementEnd();
84
+ i0.ɵɵelement(3, "span");
85
+ i0.ɵɵelementEnd();
86
+ } }
87
+ function EmployerGridComponent_p_table_6_ng_template_3_td_3_Template(rf, ctx) { if (rf & 1) {
88
+ i0.ɵɵelementStart(0, "td")(1, "span", 22);
89
+ i0.ɵɵtext(2, "Employer");
90
+ i0.ɵɵelementEnd();
91
+ i0.ɵɵelementStart(3, "span");
92
+ i0.ɵɵtext(4);
93
+ i0.ɵɵelement(5, "br");
94
+ i0.ɵɵelementEnd()();
95
+ } if (rf & 2) {
96
+ const employer_r8 = i0.ɵɵnextContext().$implicit;
97
+ i0.ɵɵadvance(4);
98
+ i0.ɵɵtextInterpolate1(" ", employer_r8.serviceBranch.text, " ");
99
+ } }
100
+ const _c0 = () => ["fal", "edit"];
101
+ function EmployerGridComponent_p_table_6_ng_template_3_ion_button_5_Template(rf, ctx) { if (rf & 1) {
102
+ const _r35 = i0.ɵɵgetCurrentView();
103
+ i0.ɵɵelementStart(0, "ion-button", 23);
104
+ i0.ɵɵlistener("click", function EmployerGridComponent_p_table_6_ng_template_3_ion_button_5_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r35); const employer_r8 = i0.ɵɵnextContext().$implicit; const ctx_r33 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r33.editBasePeriodEmployer(employer_r8)); });
105
+ i0.ɵɵelement(1, "fa-icon", 24);
106
+ i0.ɵɵelementEnd();
107
+ } if (rf & 2) {
108
+ i0.ɵɵadvance(1);
109
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(1, _c0));
110
+ } }
111
+ const _c1 = () => ["fal", "check-circle"];
112
+ function EmployerGridComponent_p_table_6_ng_template_3_ion_button_6_Template(rf, ctx) { if (rf & 1) {
113
+ const _r38 = i0.ɵɵgetCurrentView();
114
+ i0.ɵɵelementStart(0, "ion-button", 25);
115
+ i0.ɵɵlistener("click", function EmployerGridComponent_p_table_6_ng_template_3_ion_button_6_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r38); const employer_r8 = i0.ɵɵnextContext().$implicit; const ctx_r36 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r36.finish(employer_r8)); });
116
+ i0.ɵɵelement(1, "fa-icon", 24);
117
+ i0.ɵɵelementEnd();
118
+ } if (rf & 2) {
119
+ i0.ɵɵadvance(1);
120
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(1, _c1));
121
+ } }
122
+ const _c2 = () => ["fal", "trash-alt"];
123
+ function EmployerGridComponent_p_table_6_ng_template_3_ion_button_7_Template(rf, ctx) { if (rf & 1) {
124
+ const _r41 = i0.ɵɵgetCurrentView();
125
+ i0.ɵɵelementStart(0, "ion-button", 26);
126
+ i0.ɵɵlistener("click", function EmployerGridComponent_p_table_6_ng_template_3_ion_button_7_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r41); const rowIndex_r9 = i0.ɵɵnextContext().rowIndex; const ctx_r39 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r39.deleteEmployer(rowIndex_r9)); });
127
+ i0.ɵɵelement(1, "fa-icon", 24);
128
+ i0.ɵɵelementEnd();
129
+ } if (rf & 2) {
130
+ i0.ɵɵadvance(1);
131
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(1, _c2));
132
+ } }
133
+ function EmployerGridComponent_p_table_6_ng_template_3_ion_button_8_Template(rf, ctx) { if (rf & 1) {
134
+ const _r44 = i0.ɵɵgetCurrentView();
135
+ i0.ɵɵelementStart(0, "ion-button", 26);
136
+ i0.ɵɵlistener("click", function EmployerGridComponent_p_table_6_ng_template_3_ion_button_8_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r44); const ctx_r43 = i0.ɵɵnextContext(); const employer_r8 = ctx_r43.$implicit; const rowIndex_r9 = ctx_r43.rowIndex; const ctx_r42 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r42.removeEmployment(employer_r8, rowIndex_r9)); });
137
+ i0.ɵɵelement(1, "fa-icon", 24);
138
+ i0.ɵɵelementEnd();
139
+ } if (rf & 2) {
140
+ i0.ɵɵadvance(1);
141
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(1, _c2));
142
+ } }
143
+ const _c3 = () => ["fal", "trash-restore-alt"];
144
+ function EmployerGridComponent_p_table_6_ng_template_3_ion_button_9_Template(rf, ctx) { if (rf & 1) {
145
+ const _r47 = i0.ɵɵgetCurrentView();
146
+ i0.ɵɵelementStart(0, "ion-button", 27);
147
+ i0.ɵɵlistener("click", function EmployerGridComponent_p_table_6_ng_template_3_ion_button_9_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r47); const ctx_r46 = i0.ɵɵnextContext(); const employer_r8 = ctx_r46.$implicit; const rowIndex_r9 = ctx_r46.rowIndex; const ctx_r45 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r45.restoreEmployment(employer_r8, rowIndex_r9)); });
148
+ i0.ɵɵelement(1, "fa-icon", 24);
149
+ i0.ɵɵelementEnd();
150
+ } if (rf & 2) {
151
+ i0.ɵɵadvance(1);
152
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(1, _c3));
153
+ } }
154
+ function EmployerGridComponent_p_table_6_ng_template_3_ion_button_10_Template(rf, ctx) { if (rf & 1) {
155
+ const _r50 = i0.ɵɵgetCurrentView();
156
+ i0.ɵɵelementStart(0, "ion-button", 28);
157
+ i0.ɵɵlistener("click", function EmployerGridComponent_p_table_6_ng_template_3_ion_button_10_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r50); const employer_r8 = i0.ɵɵnextContext().$implicit; const ctx_r48 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r48.editEmployer(employer_r8)); });
158
+ i0.ɵɵelement(1, "fa-icon", 24);
159
+ i0.ɵɵelementEnd();
160
+ } if (rf & 2) {
161
+ i0.ɵɵadvance(1);
162
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(1, _c0));
163
+ } }
164
+ function EmployerGridComponent_p_table_6_ng_template_3_td_11_Template(rf, ctx) { if (rf & 1) {
165
+ i0.ɵɵelementStart(0, "td")(1, "span", 20);
166
+ i0.ɵɵtext(2, "Job Title");
167
+ i0.ɵɵelementEnd();
168
+ i0.ɵɵtext(3);
169
+ i0.ɵɵelementEnd();
170
+ } if (rf & 2) {
171
+ const employer_r8 = i0.ɵɵnextContext().$implicit;
172
+ i0.ɵɵadvance(3);
173
+ i0.ɵɵtextInterpolate(employer_r8.jobTileOrPosition);
174
+ } }
175
+ function EmployerGridComponent_p_table_6_ng_template_3_td_12_Template(rf, ctx) { if (rf & 1) {
176
+ i0.ɵɵelementStart(0, "td")(1, "span", 20);
177
+ i0.ɵɵtext(2, "Job Title");
178
+ i0.ɵɵelementEnd()();
179
+ } }
180
+ function EmployerGridComponent_p_table_6_ng_template_3_td_13_Template(rf, ctx) { if (rf & 1) {
181
+ i0.ɵɵelementStart(0, "td")(1, "span", 20);
182
+ i0.ɵɵtext(2, "Job Title");
183
+ i0.ɵɵelementEnd();
184
+ i0.ɵɵtext(3);
185
+ i0.ɵɵelementEnd();
186
+ } if (rf & 2) {
187
+ const employer_r8 = i0.ɵɵnextContext().$implicit;
188
+ i0.ɵɵadvance(3);
189
+ i0.ɵɵtextInterpolate(employer_r8.fedJobTileOrPosition);
190
+ } }
191
+ function EmployerGridComponent_p_table_6_ng_template_3_td_14_Template(rf, ctx) { if (rf & 1) {
192
+ i0.ɵɵelementStart(0, "td")(1, "span", 20);
193
+ i0.ɵɵtext(2, "Pay");
194
+ i0.ɵɵelementEnd();
195
+ i0.ɵɵtext(3);
196
+ i0.ɵɵpipe(4, "currency");
197
+ i0.ɵɵelementEnd();
198
+ } if (rf & 2) {
199
+ const employer_r8 = i0.ɵɵnextContext().$implicit;
200
+ i0.ɵɵadvance(3);
201
+ i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(4, 2, employer_r8.payRate), "/", employer_r8.payRateFrequency.text, "");
202
+ } }
203
+ function EmployerGridComponent_p_table_6_ng_template_3_td_15_Template(rf, ctx) { if (rf & 1) {
204
+ i0.ɵɵelementStart(0, "td")(1, "span", 20);
205
+ i0.ɵɵtext(2, "Pay");
206
+ i0.ɵɵelementEnd()();
207
+ } }
208
+ function EmployerGridComponent_p_table_6_ng_template_3_td_16_Template(rf, ctx) { if (rf & 1) {
209
+ i0.ɵɵelementStart(0, "td")(1, "span", 20);
210
+ i0.ɵɵtext(2, "Pay");
211
+ i0.ɵɵelementEnd()();
212
+ } }
213
+ function EmployerGridComponent_p_table_6_ng_template_3_td_17_Template(rf, ctx) { if (rf & 1) {
214
+ i0.ɵɵelementStart(0, "td")(1, "span", 20);
215
+ i0.ɵɵtext(2, "Start and End");
216
+ i0.ɵɵelementEnd();
217
+ i0.ɵɵtext(3);
218
+ i0.ɵɵpipe(4, "date");
219
+ i0.ɵɵpipe(5, "date");
220
+ i0.ɵɵelementEnd();
221
+ } if (rf & 2) {
222
+ const employer_r8 = i0.ɵɵnextContext().$implicit;
223
+ i0.ɵɵadvance(3);
224
+ i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind2(4, 2, employer_r8.startDate, "M/d/yyyy"), " - ", i0.ɵɵpipeBind2(5, 5, employer_r8.endDate, "M/d/yyyy"), " ");
225
+ } }
226
+ function EmployerGridComponent_p_table_6_ng_template_3_td_18_Template(rf, ctx) { if (rf & 1) {
227
+ i0.ɵɵelementStart(0, "td")(1, "span", 20);
228
+ i0.ɵɵtext(2, "Start and End");
229
+ i0.ɵɵelementEnd();
230
+ i0.ɵɵtext(3);
231
+ i0.ɵɵpipe(4, "date");
232
+ i0.ɵɵpipe(5, "date");
233
+ i0.ɵɵelementEnd();
234
+ } if (rf & 2) {
235
+ const employer_r8 = i0.ɵɵnextContext().$implicit;
236
+ i0.ɵɵadvance(3);
237
+ i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind2(4, 2, employer_r8.startDateFed, "M/d/yyyy"), " - ", i0.ɵɵpipeBind2(5, 5, employer_r8.endDateFed, "M/d/yyyy"), " ");
238
+ } }
239
+ function EmployerGridComponent_p_table_6_ng_template_3_td_19_Template(rf, ctx) { if (rf & 1) {
240
+ i0.ɵɵelementStart(0, "td")(1, "span", 20);
241
+ i0.ɵɵtext(2, "Start and End");
242
+ i0.ɵɵelementEnd();
243
+ i0.ɵɵtext(3);
244
+ i0.ɵɵpipe(4, "date");
245
+ i0.ɵɵpipe(5, "date");
246
+ i0.ɵɵelementEnd();
247
+ } if (rf & 2) {
248
+ const employer_r8 = i0.ɵɵnextContext().$implicit;
249
+ i0.ɵɵadvance(3);
250
+ i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind2(4, 2, employer_r8.startDateMil, "M/d/yyyy"), " - ", i0.ɵɵpipeBind2(5, 5, employer_r8.endDateMil, "M/d/yyyy"), " ");
251
+ } }
252
+ function EmployerGridComponent_p_table_6_ng_template_3_td_20_Template(rf, ctx) { if (rf & 1) {
253
+ i0.ɵɵelementStart(0, "td")(1, "span", 20);
254
+ i0.ɵɵtext(2, "Start and End");
255
+ i0.ɵɵelementEnd()();
256
+ } }
257
+ function EmployerGridComponent_p_table_6_ng_template_3_td_21_Template(rf, ctx) { if (rf & 1) {
258
+ i0.ɵɵelementStart(0, "td")(1, "span", 20);
259
+ i0.ɵɵtext(2, "Separation Reason");
260
+ i0.ɵɵelementEnd();
261
+ i0.ɵɵtext(3);
262
+ i0.ɵɵelementEnd();
263
+ } if (rf & 2) {
264
+ const employer_r8 = i0.ɵɵnextContext().$implicit;
265
+ i0.ɵɵadvance(3);
266
+ i0.ɵɵtextInterpolate1("", employer_r8.reasonSeparation.text, " ");
267
+ } }
268
+ function EmployerGridComponent_p_table_6_ng_template_3_td_22_Template(rf, ctx) { if (rf & 1) {
269
+ i0.ɵɵelementStart(0, "td")(1, "span", 20);
270
+ i0.ɵɵtext(2, "Separation Reason");
271
+ i0.ɵɵelementEnd()();
272
+ } }
273
+ function EmployerGridComponent_p_table_6_ng_template_3_Template(rf, ctx) { if (rf & 1) {
274
+ i0.ɵɵelementStart(0, "tr", 11);
275
+ i0.ɵɵtemplate(1, EmployerGridComponent_p_table_6_ng_template_3_td_1_Template, 8, 4, "td", 12)(2, EmployerGridComponent_p_table_6_ng_template_3_td_2_Template, 4, 0, "td", 12)(3, EmployerGridComponent_p_table_6_ng_template_3_td_3_Template, 6, 1, "td", 13);
276
+ i0.ɵɵelementStart(4, "td", 14);
277
+ i0.ɵɵtemplate(5, EmployerGridComponent_p_table_6_ng_template_3_ion_button_5_Template, 2, 2, "ion-button", 15)(6, EmployerGridComponent_p_table_6_ng_template_3_ion_button_6_Template, 2, 2, "ion-button", 16)(7, EmployerGridComponent_p_table_6_ng_template_3_ion_button_7_Template, 2, 2, "ion-button", 17)(8, EmployerGridComponent_p_table_6_ng_template_3_ion_button_8_Template, 2, 2, "ion-button", 17)(9, EmployerGridComponent_p_table_6_ng_template_3_ion_button_9_Template, 2, 2, "ion-button", 18)(10, EmployerGridComponent_p_table_6_ng_template_3_ion_button_10_Template, 2, 2, "ion-button", 19);
278
+ i0.ɵɵelementEnd();
279
+ i0.ɵɵtemplate(11, EmployerGridComponent_p_table_6_ng_template_3_td_11_Template, 4, 1, "td", 13)(12, EmployerGridComponent_p_table_6_ng_template_3_td_12_Template, 3, 0, "td", 13)(13, EmployerGridComponent_p_table_6_ng_template_3_td_13_Template, 4, 1, "td", 13)(14, EmployerGridComponent_p_table_6_ng_template_3_td_14_Template, 5, 4, "td", 13)(15, EmployerGridComponent_p_table_6_ng_template_3_td_15_Template, 3, 0, "td", 13)(16, EmployerGridComponent_p_table_6_ng_template_3_td_16_Template, 3, 0, "td", 13)(17, EmployerGridComponent_p_table_6_ng_template_3_td_17_Template, 6, 8, "td", 13)(18, EmployerGridComponent_p_table_6_ng_template_3_td_18_Template, 6, 8, "td", 13)(19, EmployerGridComponent_p_table_6_ng_template_3_td_19_Template, 6, 8, "td", 13)(20, EmployerGridComponent_p_table_6_ng_template_3_td_20_Template, 3, 0, "td", 13)(21, EmployerGridComponent_p_table_6_ng_template_3_td_21_Template, 4, 1, "td", 13)(22, EmployerGridComponent_p_table_6_ng_template_3_td_22_Template, 3, 0, "td", 13);
280
+ i0.ɵɵelementEnd();
281
+ } if (rf & 2) {
282
+ const employer_r8 = ctx.$implicit;
283
+ i0.ɵɵproperty("ngClass", employer_r8.empDeleted == "Y" ? "strikethrough" : null);
284
+ i0.ɵɵadvance(1);
285
+ i0.ɵɵproperty("ngIf", employer_r8.employerData.displayName && employer_r8.employerType != "MIL");
286
+ i0.ɵɵadvance(1);
287
+ i0.ɵɵproperty("ngIf", !employer_r8.employerData.displayName && employer_r8.employerType != "MIL");
288
+ i0.ɵɵadvance(1);
289
+ i0.ɵɵproperty("ngIf", employer_r8.employerType === "MIL");
290
+ i0.ɵɵadvance(2);
291
+ i0.ɵɵproperty("ngIf", employer_r8.bpEmployerFlag === "1" && employer_r8.payRate && employer_r8.startDate && employer_r8.empDeleted != "Y");
292
+ i0.ɵɵadvance(1);
293
+ i0.ɵɵproperty("ngIf", employer_r8.bpEmployerFlag === "1" && !employer_r8.payRate && !employer_r8.startDate && employer_r8.empDeleted != "Y");
294
+ i0.ɵɵadvance(1);
295
+ i0.ɵɵproperty("ngIf", employer_r8.bpEmployerFlag === "0");
296
+ i0.ɵɵadvance(1);
297
+ i0.ɵɵproperty("ngIf", employer_r8.bpEmployerFlag === "1" && employer_r8.empDeleted != "Y");
298
+ i0.ɵɵadvance(1);
299
+ i0.ɵɵproperty("ngIf", employer_r8.bpEmployerFlag === "1" && employer_r8.empDeleted == "Y");
300
+ i0.ɵɵadvance(1);
301
+ i0.ɵɵproperty("ngIf", employer_r8.bpEmployerFlag === "0");
302
+ i0.ɵɵadvance(1);
303
+ i0.ɵɵproperty("ngIf", employer_r8.jobTileOrPosition && !employer_r8.fedJobTileOrPosition);
304
+ i0.ɵɵadvance(1);
305
+ i0.ɵɵproperty("ngIf", !employer_r8.jobTileOrPosition && !employer_r8.fedJobTileOrPosition);
306
+ i0.ɵɵadvance(1);
307
+ i0.ɵɵproperty("ngIf", employer_r8.fedJobTileOrPosition && !employer_r8.jobTileOrPosition);
308
+ i0.ɵɵadvance(1);
309
+ i0.ɵɵproperty("ngIf", employer_r8.payRate);
310
+ i0.ɵɵadvance(1);
311
+ i0.ɵɵproperty("ngIf", !employer_r8.payRate);
312
+ i0.ɵɵadvance(1);
313
+ i0.ɵɵproperty("ngIf", employer_r8.employerType === "MIL");
314
+ i0.ɵɵadvance(1);
315
+ i0.ɵɵproperty("ngIf", employer_r8.employerType === "REG");
316
+ i0.ɵɵadvance(1);
317
+ i0.ɵɵproperty("ngIf", employer_r8.employerType === "FED");
318
+ i0.ɵɵadvance(1);
319
+ i0.ɵɵproperty("ngIf", employer_r8.employerType === "MIL");
320
+ i0.ɵɵadvance(1);
321
+ i0.ɵɵproperty("ngIf", !employer_r8.startDate && !employer_r8.startDateFed && !employer_r8.startDateMil);
322
+ i0.ɵɵadvance(1);
323
+ i0.ɵɵproperty("ngIf", employer_r8.employerType != "MIL" && employer_r8.reasonSeparation);
324
+ i0.ɵɵadvance(1);
325
+ i0.ɵɵproperty("ngIf", employer_r8.employerType === "MIL" && !employer_r8.reasonSeparation);
326
+ } }
327
+ const _c4 = () => ["fal", "plus"];
328
+ function EmployerGridComponent_p_table_6_ng_template_4_Template(rf, ctx) { if (rf & 1) {
329
+ const _r60 = i0.ɵɵgetCurrentView();
330
+ i0.ɵɵelementStart(0, "table")(1, "tr")(2, "td", 29);
331
+ i0.ɵɵelement(3, "div", 1);
332
+ i0.ɵɵpipe(4, "trustHtml");
333
+ i0.ɵɵpipe(5, "translate");
334
+ i0.ɵɵelementEnd();
335
+ i0.ɵɵelementStart(6, "td", 30)(7, "ion-button", 31);
336
+ i0.ɵɵlistener("click", function EmployerGridComponent_p_table_6_ng_template_4_Template_ion_button_click_7_listener() { i0.ɵɵrestoreView(_r60); const ctx_r59 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r59.addNewEmpDetails()); });
337
+ i0.ɵɵelement(8, "fa-icon", 24);
338
+ i0.ɵɵelementEnd()();
339
+ i0.ɵɵelementStart(9, "td", 32);
340
+ i0.ɵɵtext(10, "\u00A0");
341
+ i0.ɵɵelementEnd()()();
342
+ } if (rf & 2) {
343
+ i0.ɵɵadvance(2);
344
+ i0.ɵɵattribute("colspan", 2);
345
+ i0.ɵɵadvance(1);
346
+ i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(4, 3, i0.ɵɵpipeBind1(5, 5, "induction.employment.footer.label")), i0.ɵɵsanitizeHtml);
347
+ i0.ɵɵadvance(5);
348
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(7, _c4));
349
+ } }
350
+ function EmployerGridComponent_p_table_6_Template(rf, ctx) { if (rf & 1) {
351
+ i0.ɵɵelementStart(0, "p-table", 5, 6);
352
+ i0.ɵɵtemplate(2, EmployerGridComponent_p_table_6_ng_template_2_Template, 17, 15, "ng-template", 7)(3, EmployerGridComponent_p_table_6_ng_template_3_Template, 23, 22, "ng-template", 8)(4, EmployerGridComponent_p_table_6_ng_template_4_Template, 11, 8, "ng-template", 9);
353
+ i0.ɵɵelementEnd();
354
+ } if (rf & 2) {
355
+ const ctx_r0 = i0.ɵɵnextContext();
356
+ i0.ɵɵproperty("columns", ctx_r0.cols)("value", ctx_r0.claimAppEmpResponseModelFromService.bpEmpList)("loading", ctx_r0.showProgressBar)("rowHover", true);
357
+ } }
358
+ function EmployerGridComponent_app_add_employer_7_Template(rf, ctx) { if (rf & 1) {
359
+ const _r62 = i0.ɵɵgetCurrentView();
360
+ i0.ɵɵelementStart(0, "app-add-employer", 33);
361
+ i0.ɵɵlistener("success", function EmployerGridComponent_app_add_employer_7_Template_app_add_employer_success_0_listener($event) { i0.ɵɵrestoreView(_r62); const ctx_r61 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r61.addEmployer($event)); })("basePeriodIndex", function EmployerGridComponent_app_add_employer_7_Template_app_add_employer_basePeriodIndex_0_listener($event) { i0.ɵɵrestoreView(_r62); const ctx_r63 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r63.deleteBpEmpl($event)); })("modelCancel", function EmployerGridComponent_app_add_employer_7_Template_app_add_employer_modelCancel_0_listener($event) { i0.ɵɵrestoreView(_r62); const ctx_r64 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r64.onModelCancel($event)); });
362
+ i0.ɵɵelementEnd();
363
+ } if (rf & 2) {
364
+ const ctx_r1 = i0.ɵɵnextContext();
365
+ i0.ɵɵproperty("recordIndexToEdit", ctx_r1.indexToEdit)("isBasePeriodEmployer", ctx_r1.isBasePeriodEmployer)("isNewClaim", ctx_r1.isNewClaim);
366
+ } }
367
+ function EmployerGridComponent_p_dialog_8_ng_template_18_Template(rf, ctx) { if (rf & 1) {
368
+ const _r67 = i0.ɵɵgetCurrentView();
369
+ i0.ɵɵelementStart(0, "ion-button", 37);
370
+ i0.ɵɵlistener("click", function EmployerGridComponent_p_dialog_8_ng_template_18_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r67); const ctx_r66 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r66.close()); });
371
+ i0.ɵɵtext(1);
372
+ i0.ɵɵpipe(2, "translate");
373
+ i0.ɵɵelementEnd();
374
+ i0.ɵɵelementStart(3, "ion-button", 38);
375
+ i0.ɵɵlistener("click", function EmployerGridComponent_p_dialog_8_ng_template_18_Template_ion_button_click_3_listener() { i0.ɵɵrestoreView(_r67); const ctx_r68 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r68.removeBasePeriodEmployer()); });
376
+ i0.ɵɵtext(4);
377
+ i0.ɵɵpipe(5, "translate");
378
+ i0.ɵɵelementEnd();
379
+ } if (rf & 2) {
380
+ i0.ɵɵadvance(1);
381
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, "induction.employment.grid.popup.cancel"), " ");
382
+ i0.ɵɵadvance(3);
383
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, "induction.employment.grid.popup.remove"), " ");
384
+ } }
385
+ const _c5 = () => ({ width: "45vw" });
386
+ const _c6 = () => ({ "1200px": "660px", "992px": "660px", "768px": "660px", "576px": "100vw" });
387
+ function EmployerGridComponent_p_dialog_8_Template(rf, ctx) { if (rf & 1) {
388
+ i0.ɵɵelementStart(0, "p-dialog", 34)(1, "h4", 35);
389
+ i0.ɵɵtext(2);
390
+ i0.ɵɵpipe(3, "translate");
391
+ i0.ɵɵelementEnd();
392
+ i0.ɵɵelementStart(4, "ion-label");
393
+ i0.ɵɵtext(5);
394
+ i0.ɵɵelementEnd();
395
+ i0.ɵɵelementStart(6, "ion-label");
396
+ i0.ɵɵelement(7, "div", 21);
397
+ i0.ɵɵpipe(8, "trustHtml");
398
+ i0.ɵɵelementEnd();
399
+ i0.ɵɵelement(9, "br");
400
+ i0.ɵɵelementStart(10, "ion-label");
401
+ i0.ɵɵtext(11);
402
+ i0.ɵɵpipe(12, "translate");
403
+ i0.ɵɵelementEnd();
404
+ i0.ɵɵelement(13, "br")(14, "br");
405
+ i0.ɵɵelementStart(15, "ion-label");
406
+ i0.ɵɵtext(16);
407
+ i0.ɵɵpipe(17, "translate");
408
+ i0.ɵɵelementEnd();
409
+ i0.ɵɵtemplate(18, EmployerGridComponent_p_dialog_8_ng_template_18_Template, 6, 6, "ng-template", 36);
410
+ i0.ɵɵelementEnd();
411
+ } if (rf & 2) {
412
+ const ctx_r2 = i0.ɵɵnextContext();
413
+ i0.ɵɵstyleMap(i0.ɵɵpureFunction0(21, _c5));
414
+ i0.ɵɵproperty("visible", ctx_r2.showConfirmPopup)("modal", true)("breakpoints", i0.ɵɵpureFunction0(22, _c6))("baseZIndex", 5000)("draggable", false)("resizable", false);
415
+ i0.ɵɵadvance(2);
416
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 13, "induction.employment.grid.popup.heading"));
417
+ i0.ɵɵadvance(3);
418
+ i0.ɵɵtextInterpolate(ctx_r2.selectedEmployer.employerData.displayName);
419
+ i0.ɵɵadvance(2);
420
+ i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(8, 15, ctx_r2.selectedEmployer.employerData.mailingAddressDisplay), i0.ɵɵsanitizeHtml);
421
+ i0.ɵɵadvance(4);
422
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(12, 17, "induction.employment.grid.popup.failure.label"), " ");
423
+ i0.ɵɵadvance(5);
424
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(17, 19, "induction.employment.grid.popup.didnt.work.label"), " ");
425
+ } }
426
+ export class EmployerGridComponent {
427
+ constructor(popup, logger, validationService, navController, util, ls, activatedRoute, claimsService, storage) {
428
+ this.popup = popup;
429
+ this.logger = logger;
430
+ this.validationService = validationService;
431
+ this.navController = navController;
432
+ this.util = util;
433
+ this.ls = ls;
434
+ this.activatedRoute = activatedRoute;
435
+ this.claimsService = claimsService;
436
+ this.storage = storage;
437
+ this.claimAppEmpResponseModelFromService = new ClaimAppEmpResponseModel();
438
+ this.modelDisplay = new EventEmitter();
439
+ this.onComplete = new EventEmitter();
440
+ this.claimdetailModel = new ClaimAppEmployerDetailsModel();
441
+ this.caimAppEmpResponseModel = new ClaimAppEmpResponseModel();
442
+ this.isBasePeriodEmployer = false;
443
+ this.isNewClaim = false;
444
+ this.showConfirmPopup = false;
445
+ this.showProgressBar = false;
446
+ this.uuid = null;
447
+ this.dischargeReasonOptionsAll = [];
448
+ this.volQuitReasonOptionsAll = [];
449
+ this.employmentStatusOptionsAll = [];
450
+ this.payRateOptions = ComboOption.PAY_PERIOD;
451
+ this.countryOptions = ComboOption.COUNTRY;
452
+ this.workCountryOptions = ComboOption.WORK_COUNTRY;
453
+ this.statesOptions = ComboOption.US_STATES;
454
+ this.militaryServiceOptions = ComboOption.MILITARY_SERVICE;
455
+ this.onChange = (value) => {
456
+ };
457
+ this.onTouch = () => {
458
+ };
459
+ }
460
+ loadMasterData() {
461
+ this.claimsService.loadMasterData();
462
+ this.claimsService.getReasonSeparation().subscribe(value => {
463
+ value.forEach(arr => this.employmentStatusOptionsAll.push(arr));
464
+ });
465
+ this.claimsService.getDischargeReasons().subscribe(value => {
466
+ value.forEach(arr => this.dischargeReasonOptionsAll.push(arr));
467
+ });
468
+ this.claimsService.getQuitReasons().subscribe(value => {
469
+ value.forEach(arr => this.volQuitReasonOptionsAll.push(arr));
470
+ });
471
+ }
472
+ ngOnInit() {
473
+ this.logger.debug('ng onit of employer grid');
474
+ this.loadMasterData();
475
+ this.cols = [
476
+ { field: 'employer', header: 'Employer' },
477
+ { field: 'jobTitle', header: 'Job Title' },
478
+ { field: 'Pay', header: 'Pay' },
479
+ { field: 'startEndDate', header: 'Start and End' },
480
+ { field: 'separationReason', header: 'Separation Reason' },
481
+ { field: '', header: '' }
482
+ ];
483
+ if (this.validationService.bpEmpLstFrmService) {
484
+ this.validationService.bpEmpLstFrmService.subscribe(res => {
485
+ if (res) {
486
+ this.claimAppEmpResponseModelFromService = res.valueOf();
487
+ if (this.claimAppEmpResponseModelFromService && this.claimAppEmpResponseModelFromService.isNewClaimApplication) {
488
+ this.isNewClaim = this.claimAppEmpResponseModelFromService.isNewClaimApplication.valueOf();
489
+ }
490
+ }
491
+ });
492
+ }
493
+ }
494
+ async addNewEmpDetails() {
495
+ this.display = true;
496
+ this.isBasePeriodEmployer = false;
497
+ this.modelDisplay.emit(true);
498
+ }
499
+ writeValue(value) {
500
+ if (value) {
501
+ this.validationService.bpEmpLstFrmService.next(value);
502
+ }
503
+ else {
504
+ this.setupEmployer();
505
+ }
506
+ }
507
+ registerOnChange(fn) {
508
+ this.onChange = fn;
509
+ }
510
+ registerOnTouched(fn) {
511
+ this.onTouch = fn;
512
+ }
513
+ async fetchIdentifier() {
514
+ let data = this.activatedRoute.snapshot.queryParamMap.get('identifier');
515
+ this.logger.debug("data for identifier is : ", data);
516
+ if (data) {
517
+ this.uuid = data;
518
+ }
519
+ else {
520
+ this.uuid = await this.storage.get(FbConstants.uuid);
521
+ }
522
+ }
523
+ setupEmployer() {
524
+ let model = new ClaimAppEmpRequestModel();
525
+ if (!this.validationService.bpEmpLstFrmService.getValue()) {
526
+ this.fetchIdentifier();
527
+ this.logger.debug('uuid is ====', this.uuid);
528
+ let url = "";
529
+ if (this.ls.isClaimant() === true) {
530
+ url = "/claims-service/claim/claimant/app/bpemployers";
531
+ let objData = this.activatedRoute.snapshot.queryParamMap.get('data');
532
+ if (objData && (this.uuid == undefined || this.uuid == null)) {
533
+ //console.log('objData ====', objData);
534
+ model.flowFrom = "Aic-Reopen-flow";
535
+ }
536
+ }
537
+ else {
538
+ let data = this.activatedRoute.snapshot.queryParamMap.get('key');
539
+ if (data) {
540
+ this.ssnForCSR = JSON.parse(atob(data));
541
+ model.ssn = this.ssnForCSR;
542
+ }
543
+ url = "/claims-service/claim/app/bpemployers";
544
+ }
545
+ this.logger.debug('the uuid used in model is : ', this.uuid);
546
+ if (model.flowFrom === 'Aic-Reopen-flow') {
547
+ this.fetchEmployersFromBackEnd(model, url);
548
+ }
549
+ else if (this.uuid) {
550
+ model.uuid = this.uuid;
551
+ this.fetchEmployersFromBackEnd(model, url);
552
+ }
553
+ else {
554
+ this.logger.debug("Keep waiting....uuid not found..");
555
+ }
556
+ }
557
+ }
558
+ fetchEmployersFromBackEnd(model, url) {
559
+ this.showProgressBar = true;
560
+ this.validationService.post(url, model).subscribe(res => {
561
+ if (res.bpEmpList.length > 0) {
562
+ res.bpEmpList.forEach(emp => this.setChoiseModels(emp));
563
+ }
564
+ this.validationService.bpEmpLstFrmService.next(res);
565
+ this.onComplete.emit(this.validationService.bpEmpLstFrmService.getValue());
566
+ this.onChange(this.validationService.bpEmpLstFrmService.getValue());
567
+ this.logger.debug('employer List from Service', this.validationService.bpEmpLstFrmService.getValue());
568
+ this.showProgressBar = false;
569
+ }, err => {
570
+ let list = new ClaimAppEmpResponseModel();
571
+ this.validationService.bpEmpLstFrmService.next(list);
572
+ this.showProgressBar = false;
573
+ });
574
+ }
575
+ deleteBpEmpl(event) {
576
+ this.logger.debug('Delete method called ', event);
577
+ this.claimAppEmpResponseModelFromService.bpEmpList.splice(event, 1);
578
+ }
579
+ deleteEmployer(elementIndex) {
580
+ this.logger.debug('Delete method called for = ', elementIndex);
581
+ this.isBasePeriodEmployer = false;
582
+ //this.claimAppEmpResponseModelFromService.bpEmpList[elementIndex].empDeleted = "Y";
583
+ this.claimAppEmpResponseModelFromService.bpEmpList.splice(elementIndex, 1);
584
+ this.logger.debug('After delete list is = ', this.claimAppEmpResponseModelFromService);
585
+ }
586
+ deleteEmployerBasePeriod(elementIndex) {
587
+ this.logger.debug('Delete method base period employer called for = ', elementIndex);
588
+ this.validationService.bpEmpLstFrmService.getValue().bpEmpList[elementIndex].workFlag = "N";
589
+ this.validationService.bpEmpLstFrmService.getValue().bpEmpList[elementIndex].empDeleted = "Y";
590
+ this.logger.debug('After delete base period employer list is = ', this.claimAppEmpResponseModelFromService);
591
+ }
592
+ editEmployer(employer) {
593
+ this.logger.debug('Edit method called', employer);
594
+ this.indexToEdit = this.claimAppEmpResponseModelFromService.bpEmpList.indexOf(employer);
595
+ this.logger.debug('Index To Edit = ', this.indexToEdit);
596
+ this.display = true;
597
+ }
598
+ finish(employer) {
599
+ this.logger.debug('Finish Employer called', employer);
600
+ this.indexToEdit = this.claimAppEmpResponseModelFromService.bpEmpList.indexOf(employer);
601
+ employer.workFlag = 'Y';
602
+ this.isBasePeriodEmployer = true;
603
+ this.display = true;
604
+ this.modelDisplay.emit(true);
605
+ }
606
+ editBasePeriodEmployer(employer) {
607
+ this.logger.debug('Edit BasePeriod Employer called for ', employer);
608
+ this.indexToEdit = this.claimAppEmpResponseModelFromService.bpEmpList.indexOf(employer);
609
+ this.display = true;
610
+ this.isBasePeriodEmployer = true;
611
+ this.logger.debug('Index To Edit = ', this.indexToEdit);
612
+ }
613
+ onModelCancel(cancel) {
614
+ this.logger.debug('Cancel Method ', cancel);
615
+ this.display = cancel;
616
+ this.basePerioddisplay = cancel;
617
+ this.indexToEdit = null;
618
+ this.isBasePeriodEmployer = false;
619
+ this.logger.debug('after value change on employer grid ', this.display);
620
+ }
621
+ addEmployer(event) {
622
+ this.logger.debug('Add Employer called from grid ', event, 'indexToEdit', this.indexToEdit, 'this.isBasePeriodEmployer', this.isBasePeriodEmployer);
623
+ if (this.indexToEdit || this.indexToEdit == 0) {
624
+ this.logger.debug('Inside if of add employer -- ', event);
625
+ let empDataModel = new ClaimOnlyEmployerDataModel();
626
+ let empProvidedWageModel = new EmployerWagesModel();
627
+ if (this.isBasePeriodEmployer) {
628
+ this.claimdetailModel = new ClaimAppEmployerDetailsModel();
629
+ this.claimdetailModel = event;
630
+ empDataModel = this.validationService.bpEmpLstFrmService.getValue().bpEmpList[this.indexToEdit].employerData;
631
+ empProvidedWageModel = this.validationService.bpEmpLstFrmService.getValue().bpEmpList[this.indexToEdit].employerProvidedWages;
632
+ event.bpEmployerFlag = '1';
633
+ event.employerData = empDataModel;
634
+ event.employerProvidedWages = empProvidedWageModel;
635
+ this.logger.debug('resetting the value again = ', event);
636
+ }
637
+ else {
638
+ this.claimdetailModel = new ClaimAppEmployerDetailsModel();
639
+ this.claimdetailModel = event;
640
+ empDataModel = new ClaimOnlyEmployerDataModel();
641
+ if (event.employerType === 'REG') {
642
+ empDataModel.displayName = event.employerName;
643
+ empDataModel.mailingAddressDisplay =
644
+ event.address['streetAddress'] + '-' + event.address['city'] + '-' + (event.address['state'] ? event.address['state'].text : '') + '-' + (event.address['country'] ? event.address['country'].value : '');
645
+ }
646
+ else if (event.employerType === 'FED') {
647
+ empDataModel.displayName = event.fedEmployerName;
648
+ empDataModel.mailingAddressDisplay =
649
+ event.address['streetAddress'] + '-' + event.address['city'] + '-' + (event.address['state'] ? event.address['state'].text : '') + '-' + (event.address['country'] ? event.address['country'].value : '');
650
+ }
651
+ else {
652
+ this.logger.debug("no address for this employer type");
653
+ }
654
+ empDataModel.employerType = event.employerType;
655
+ event.employerData = empDataModel;
656
+ empDataModel.employerId = event.employerId;
657
+ empDataModel.mailAddressLine1 = event.address?.streetAddress;
658
+ empDataModel.mailAddressLine2 = event.address?.optionalAddress;
659
+ event.bpEmployerFlag = '0';
660
+ }
661
+ this.validationService.bpEmpLstFrmService.getValue().bpEmpList[this.indexToEdit] = event;
662
+ }
663
+ else {
664
+ this.logger.debug('Inside else of add employer -- ', event);
665
+ this.claimdetailModel = new ClaimAppEmployerDetailsModel();
666
+ let empDataModel = new ClaimOnlyEmployerDataModel();
667
+ this.claimdetailModel = event;
668
+ empDataModel = new ClaimOnlyEmployerDataModel();
669
+ if (event.employerType === 'REG') {
670
+ empDataModel.displayName = event.employerName;
671
+ empDataModel.mailingAddressDisplay =
672
+ event.address['streetAddress'] + event.address['city'] + '-' + (event.address['state'] ? event.address['state'].text : '') + '-' + (event.address['country'] ? event.address['country'].value : '');
673
+ }
674
+ else if (event.employerType === 'FED') {
675
+ empDataModel.displayName = event.fedEmployerName;
676
+ empDataModel.mailingAddressDisplay =
677
+ event.address['streetAddress'] + event.address['city'] + '-' + (event.address['state'] ? event.address['state'].text : '') + '-' + (event.address['country'] ? event.address['country'].value : '');
678
+ }
679
+ else {
680
+ this.logger.debug("Inside else - no address for this employer type");
681
+ }
682
+ empDataModel.employerType = event.employerType;
683
+ empDataModel.employerId = event.employerId;
684
+ empDataModel.mailAddressLine1 = event.address?.streetAddress;
685
+ empDataModel.mailAddressLine2 = event.address?.optionalAddress;
686
+ if (this.isBasePeriodEmployer) {
687
+ this.claimdetailModel.bpEmployerFlag = '1';
688
+ }
689
+ else {
690
+ this.claimdetailModel.bpEmployerFlag = '0';
691
+ }
692
+ this.claimdetailModel.employerData = empDataModel;
693
+ this.validationService.bpEmpLstFrmService.getValue().bpEmpList.push(this.claimdetailModel);
694
+ }
695
+ this.display = false;
696
+ this.indexToEdit = null;
697
+ }
698
+ removeEmployment(selectedEmployer, index) {
699
+ this.indexToEdit = index;
700
+ this.selectedEmployer = selectedEmployer;
701
+ this.showConfirmPopup = true;
702
+ }
703
+ removeBasePeriodEmployer() {
704
+ this.deleteEmployerBasePeriod(this.indexToEdit);
705
+ this.showConfirmPopup = false;
706
+ this.selectedEmployer = null;
707
+ this.indexToEdit = null;
708
+ }
709
+ restoreEmployment(selectedEmployer, index) {
710
+ this.logger.debug('Delete method base period employer called for = ', index);
711
+ this.validationService.bpEmpLstFrmService.getValue().bpEmpList[index].workFlag = "Y";
712
+ this.validationService.bpEmpLstFrmService.getValue().bpEmpList[index].empDeleted = "N";
713
+ this.logger.debug('After delete base period employer list is = ', this.claimAppEmpResponseModelFromService);
714
+ }
715
+ close() {
716
+ this.indexToEdit = null;
717
+ this.showConfirmPopup = false;
718
+ this.selectedEmployer = null;
719
+ }
720
+ setChoiseModels(emp) {
721
+ let sepReason = this.employmentStatusOptionsAll.filter(s => s.value == emp.reasonSeparation?.value);
722
+ if (sepReason.length > 0) {
723
+ emp.reasonSeparation = sepReason[0];
724
+ }
725
+ let dischargeReason = this.dischargeReasonOptionsAll.filter(s => s.value == emp.dischargeDetail?.value);
726
+ if (dischargeReason.length > 0) {
727
+ emp.dischargeDetail = dischargeReason[0];
728
+ }
729
+ let volQuit = this.volQuitReasonOptionsAll.filter(s => s.value == emp.volQuitDetails?.value);
730
+ if (volQuit.length > 0) {
731
+ emp.volQuitDetails = volQuit[0];
732
+ }
733
+ let payRateFrequency = this.payRateOptions.filter(s => s.value == emp.payRateFrequency?.value);
734
+ if (payRateFrequency.length > 0) {
735
+ emp.payRateFrequency = payRateFrequency[0];
736
+ }
737
+ let country = this.workCountryOptions.filter(s => s.value == emp.fedWorkCountry?.value);
738
+ if (country.length > 0) {
739
+ emp.fedWorkCountry = country[0];
740
+ }
741
+ let state = this.statesOptions.filter(s => s.value == emp.fedWorkState?.value);
742
+ if (state.length > 0) {
743
+ emp.fedWorkState = state[0];
744
+ }
745
+ let serviceBranch = this.militaryServiceOptions.filter(s => s.value == emp.serviceBranch?.value);
746
+ if (serviceBranch.length > 0) {
747
+ emp.serviceBranch = serviceBranch[0];
748
+ }
749
+ let workState = this.statesOptions.filter(s => s.value == emp.workState?.value?.trim());
750
+ emp.workState = workState[0];
751
+ }
752
+ static { this.ɵfac = function EmployerGridComponent_Factory(t) { return new (t || EmployerGridComponent)(i0.ɵɵdirectiveInject(i1.PopoverController), i0.ɵɵdirectiveInject(i2.LoggerService), i0.ɵɵdirectiveInject(i3.ValidationService), i0.ɵɵdirectiveInject(i1.NavController), i0.ɵɵdirectiveInject(i4.UtilService), i0.ɵɵdirectiveInject(i5.LoginService), i0.ɵɵdirectiveInject(i6.ActivatedRoute), i0.ɵɵdirectiveInject(i7.ClaimService), i0.ɵɵdirectiveInject(i8.Storage)); }; }
753
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EmployerGridComponent, selectors: [["app-employer-grid"]], inputs: { form: "form", dynamicParam: "dynamicParam" }, outputs: { modelDisplay: "modelDisplay", onComplete: "onComplete" }, features: [i0.ɵɵProvidersFeature([{
754
+ provide: NG_VALUE_ACCESSOR,
755
+ useExisting: EmployerGridComponent,
756
+ multi: true
757
+ }])], decls: 9, vars: 9, consts: [[2, "margin-left", "-5px", 3, "formGroup"], [3, "innerHtml"], ["styleClass", "p-datatable-striped app-datatable ion-padding-top", 3, "columns", "value", "loading", "rowHover", 4, "ngIf"], [3, "recordIndexToEdit", "isBasePeriodEmployer", "isNewClaim", "success", "basePeriodIndex", "modelCancel", 4, "ngIf"], ["appendTo", "body", "position", "top", "appendTo", "body", "closeOnEscape", "false", 3, "visible", "modal", "breakpoints", "style", "baseZIndex", "draggable", "resizable", 4, "ngIf"], ["styleClass", "p-datatable-striped app-datatable ion-padding-top", 3, "columns", "value", "loading", "rowHover"], ["dt", ""], ["pTemplate", "header"], ["pTemplate", "body"], ["pTemplate", "summary"], ["colspan", "2", 2, "width", "20%"], [1, "ui-selectable-row", 3, "ngClass"], ["colspan", "2", "style", "width: 20%;", 4, "ngIf"], [4, "ngIf"], [2, "text-align", "center"], ["size", "small", "color", "success", "fill", "outline", "class", "action-button", "aria-label", "Add employer", 3, "click", 4, "ngIf"], ["size", "small", "color", "success", "fill", "outline", "class", "action-button", "aria-label", "Confirm employer", 3, "click", 4, "ngIf"], ["size", "small", "color", "success", "fill", "outline", "class", "action-button", "aria-label", "Remove employer", 3, "click", 4, "ngIf"], ["size", "small", "color", "success", "fill", "outline", "class", "action-button", "aria-label", "Restore", 3, "click", 4, "ngIf"], ["size", "small", "color", "success", "fill", "outline", "class", "action-button", "aria-label", "Edit employer", 3, "click", 4, "ngIf"], [1, "p-column-title"], [2, "font-size", "12px", 3, "innerHtml"], ["colspan", "2", 1, "p-column-title", 2, "width", "20%"], ["size", "small", "color", "success", "fill", "outline", "aria-label", "Add employer", 1, "action-button", 3, "click"], [1, "action-icon", 3, "icon"], ["size", "small", "color", "success", "fill", "outline", "aria-label", "Confirm employer", 1, "action-button", 3, "click"], ["size", "small", "color", "success", "fill", "outline", "aria-label", "Remove employer", 1, "action-button", 3, "click"], ["size", "small", "color", "success", "fill", "outline", "aria-label", "Restore", 1, "action-button", 3, "click"], ["size", "small", "color", "success", "fill", "outline", "aria-label", "Edit employer", 1, "action-button", 3, "click"], [2, "width", "40%"], [2, "width", "9.75%", "text-align", "right"], ["fill", "outline", "size", "small", "aria-label", "Add employer", 1, "action-button", 3, "click"], ["colspan", "4"], [3, "recordIndexToEdit", "isBasePeriodEmployer", "isNewClaim", "success", "basePeriodIndex", "modelCancel"], ["appendTo", "body", "position", "top", "appendTo", "body", "closeOnEscape", "false", 3, "visible", "modal", "breakpoints", "baseZIndex", "draggable", "resizable"], [1, "heading"], ["pTemplate", "footer"], ["shape", "round", "type", "submit", "fill", "outline", 3, "click"], ["shape", "round", "type", "submit", "fill", "solid", 3, "click"]], template: function EmployerGridComponent_Template(rf, ctx) { if (rf & 1) {
758
+ i0.ɵɵelementStart(0, "div", 0)(1, "ion-row")(2, "ion-col");
759
+ i0.ɵɵelement(3, "div", 1);
760
+ i0.ɵɵpipe(4, "trustHtml");
761
+ i0.ɵɵpipe(5, "translate");
762
+ i0.ɵɵelementEnd()();
763
+ i0.ɵɵtemplate(6, EmployerGridComponent_p_table_6_Template, 5, 4, "p-table", 2)(7, EmployerGridComponent_app_add_employer_7_Template, 1, 3, "app-add-employer", 3)(8, EmployerGridComponent_p_dialog_8_Template, 19, 23, "p-dialog", 4);
764
+ i0.ɵɵelementEnd();
765
+ } if (rf & 2) {
766
+ i0.ɵɵproperty("formGroup", ctx.form);
767
+ i0.ɵɵadvance(3);
768
+ i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(4, 5, i0.ɵɵpipeBind1(5, 7, "induction.employment.subheader")), i0.ɵɵsanitizeHtml);
769
+ i0.ɵɵadvance(3);
770
+ i0.ɵɵproperty("ngIf", ctx.claimAppEmpResponseModelFromService);
771
+ i0.ɵɵadvance(1);
772
+ i0.ɵɵproperty("ngIf", ctx.display);
773
+ i0.ɵɵadvance(1);
774
+ i0.ɵɵproperty("ngIf", ctx.selectedEmployer);
775
+ } }, dependencies: [i1.IonButton, i1.IonCol, i1.IonLabel, i1.IonRow, i9.NgClass, i9.NgIf, i10.PrimeTemplate, i11.NgControlStatusGroup, i11.FormGroupDirective, i12.Dialog, i13.Table, i14.FaIconComponent, i15.AddEmployerComponent, i9.CurrencyPipe, i9.DatePipe, i16.TranslatePipe, i17.TrustHtmlPipe], styles: ["[_nghost-%COMP%] .p-datatable-worksearch .p-datatable-tbody>tr>td .p-column-title{display:none}[_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-tfoot>tr>td{color:var(--ion-color-primary);text-align:left;font-weight:700;padding:8px;width:-webkit-fill-available!important}[_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td{font-size:16px;padding:3px;width:-webkit-fill-available!important}[_nghost-%COMP%] .p-datatable.p-datatable-striped .p-datatable-tbody>tr:nth-child(2n){background:none}@media screen and (max-width: 50rem){ion-col[_ngcontent-%COMP%]{text-align:left!important}[_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-tfoot>tr>td{display:none!important}[_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td{text-align:left!important;display:block;width:100%;float:left;clear:left;border:0 none}[_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td .p-column-title{padding:.6rem;min-width:30%;display:inline-block;margin:-.4em 1em -.4em -.4rem;font-weight:700}[_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td:last-child{border-bottom:1px solid var(--surface-d)}}.strikethrough[_ngcontent-%COMP%]{text-decoration:line-through}"] }); }
776
+ }
777
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EmployerGridComponent, [{
778
+ type: Component,
779
+ args: [{ selector: 'app-employer-grid', providers: [{
780
+ provide: NG_VALUE_ACCESSOR,
781
+ useExisting: EmployerGridComponent,
782
+ multi: true
783
+ }], changeDetection: ChangeDetectionStrategy.Default, template: "<div [formGroup]=\"form\" style=\"margin-left: -5px;\">\n<ion-row>\n <ion-col>\n <div [innerHtml]=\"'induction.employment.subheader' | translate | trustHtml\"></div>\n </ion-col>\n</ion-row>\n\n<p-table #dt [columns]=\"cols\" [value]=\"claimAppEmpResponseModelFromService.bpEmpList\" [loading]=\"showProgressBar\"\n [rowHover]=\"true\" *ngIf=\"claimAppEmpResponseModelFromService\" styleClass=\"p-datatable-striped app-datatable ion-padding-top\">\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th colspan=\"2\" style=\"width: 20%;\">\n {{\"induction.employment.table.employer.name\"|translate}}\n </th>\n <th>\n </th>\n <th>\n {{\"induction.employment.table.job.title\"|translate}}\n </th>\n <th>\n {{\"induction.employment.table.pay\"|translate}}\n </th>\n <th>\n {{\"induction.employment.table.dates\"|translate}}\n </th>\n <th>\n {{\"induction.employment.table.sep.reason\"|translate}}\n </th>\n \n </tr>\n </ng-template>\n \n <ng-template pTemplate=\"body\" let-employer let-rowIndex=\"rowIndex\">\n <tr class=\"ui-selectable-row\" [ngClass]=\"employer.empDeleted=='Y' ? 'strikethrough' : null\">\n <td *ngIf=\"employer.employerData.displayName && employer.employerType!='MIL'\" colspan=\"2\" style=\"width: 20%;\"><span class=\"p-column-title\">Employer</span><span>\n {{employer.employerData.displayName}} <br>\n </span><div style=\"font-size: 12px;\" [innerHtml]=\"employer.employerData.mailingAddressDisplay | trustHtml\">\n </div>\n </td>\n \n <td *ngIf=\"!employer.employerData.displayName && employer.employerType!='MIL'\" colspan=\"2\" style=\"width: 20%;\"><span class=\"p-column-title\">Employer</span><span>\n </span>\n </td>\n\n <td *ngIf=\"employer.employerType==='MIL'\"><span class=\"p-column-title\" colspan=\"2\" style=\"width: 20%;\">Employer</span><span>\n {{employer.serviceBranch.text}} <br>\n </span>\n </td>\n <td style=\"text-align: center;\"> \n <ion-button size=\"small\" *ngIf=\"employer.bpEmployerFlag==='1' && employer.payRate && employer.startDate && employer.empDeleted!='Y'\" color=\"success\" fill=\"outline\" \n (click)=\"editBasePeriodEmployer(employer);\" class=\"action-button\" aria-label=\"Add employer\">\n <fa-icon [icon]=\"['fal', 'edit']\" class=\"action-icon\"></fa-icon>\n </ion-button>\n\n <ion-button size=\"small\" *ngIf=\"employer.bpEmployerFlag==='1' && !employer.payRate && !employer.startDate && employer.empDeleted!='Y'\" color=\"success\" fill=\"outline\" \n (click)=\"finish(employer);\" class=\"action-button\" aria-label=\"Confirm employer\">\n <fa-icon [icon]=\"['fal', 'check-circle']\" class=\"action-icon\"></fa-icon>\n </ion-button>\n\n <ion-button size=\"small\" *ngIf=\"employer.bpEmployerFlag==='0'\" color=\"success\" fill=\"outline\" \n (click)=\"deleteEmployer(rowIndex);\" class=\"action-button\" aria-label=\"Remove employer\">\n <fa-icon [icon]=\"['fal', 'trash-alt']\" class=\"action-icon\"></fa-icon>\n </ion-button>\n\n <ion-button size=\"small\" *ngIf=\"employer.bpEmployerFlag==='1' && employer.empDeleted!='Y'\" color=\"success\" fill=\"outline\" \n (click)=\"removeEmployment(employer, rowIndex);\" class=\"action-button\" aria-label=\"Remove employer\">\n <fa-icon [icon]=\"['fal', 'trash-alt']\" class=\"action-icon\"></fa-icon>\n </ion-button>\n\n <ion-button size=\"small\" *ngIf=\"employer.bpEmployerFlag==='1' && employer.empDeleted=='Y'\" color=\"success\" fill=\"outline\" \n (click)=\"restoreEmployment(employer, rowIndex);\" class=\"action-button\" aria-label=\"Restore\">\n <fa-icon [icon]=\"['fal', 'trash-restore-alt']\" class=\"action-icon\"></fa-icon>\n </ion-button>\n \n <ion-button size=\"small\" *ngIf=\"employer.bpEmployerFlag==='0'\" color=\"success\" fill=\"outline\" \n (click)=\"editEmployer(employer);\" class=\"action-button\" aria-label=\"Edit employer\">\n <fa-icon [icon]=\"['fal', 'edit']\" class=\"action-icon\"></fa-icon>\n </ion-button>\n </td>\n <td *ngIf=\"employer.jobTileOrPosition && !employer.fedJobTileOrPosition\"><span class=\"p-column-title\">Job Title</span>{{employer.jobTileOrPosition}}</td>\n <td *ngIf=\"!employer.jobTileOrPosition && !employer.fedJobTileOrPosition\"><span class=\"p-column-title\">Job Title</span></td>\n <td *ngIf=\"employer.fedJobTileOrPosition && !employer.jobTileOrPosition\"><span class=\"p-column-title\">Job Title</span>{{employer.fedJobTileOrPosition}}</td>\n \n <td *ngIf=\"employer.payRate\"><span class=\"p-column-title\">Pay</span>{{employer.payRate | currency}}/{{employer.payRateFrequency.text}}</td>\n <td *ngIf=\"!employer.payRate\"><span class=\"p-column-title\">Pay</span></td>\n <td *ngIf=\"employer.employerType==='MIL'\"><span class=\"p-column-title\">Pay</span></td>\n \n <td *ngIf=\"employer.employerType==='REG'\"><span class=\"p-column-title\">Start and End</span>\n {{employer.startDate | date:'M/d/yyyy'}} - {{employer.endDate | date:'M/d/yyyy'}}\n </td>\n \n <td *ngIf=\"employer.employerType==='FED'\"><span class=\"p-column-title\">Start and End</span>\n {{employer.startDateFed | date:'M/d/yyyy'}} - {{employer.endDateFed | date:'M/d/yyyy'}}\n </td>\n\n <td *ngIf=\"employer.employerType==='MIL'\"><span class=\"p-column-title\">Start and End</span>\n {{employer.startDateMil | date:'M/d/yyyy'}} - {{employer.endDateMil | date:'M/d/yyyy'}}\n </td>\n\n <td *ngIf=\"!employer.startDate && !employer.startDateFed && !employer.startDateMil\"><span class=\"p-column-title\">Start and End</span></td>\n\n <td *ngIf=\"employer.employerType!='MIL' && employer.reasonSeparation\"><span class=\"p-column-title\">Separation Reason</span>{{employer.reasonSeparation.text}}\n </td>\n \n <td *ngIf=\"employer.employerType==='MIL' && !employer.reasonSeparation\"><span class=\"p-column-title\">Separation Reason</span>\n </td>\n \n \n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"summary\" let-columns>\n <table>\n <tr>\n <td [attr.colspan]=\"2\" style=\"width: 40%;\">\n <div [innerHtml]=\"'induction.employment.footer.label' | translate | trustHtml\"></div>\n </td>\n <td style=\"width: 9.75%; text-align: right;\">\n <ion-button fill=\"outline\" size=\"small\" class=\"action-button\" (click)=\"addNewEmpDetails()\" class=\"action-button\" aria-label=\"Add employer\">\n <fa-icon [icon]=\"['fal', 'plus']\" class=\"action-icon\"></fa-icon>\n </ion-button>\n </td>\n <td colspan=\"4\">&nbsp;</td>\n </tr>\n </table>\n </ng-template>\n\n</p-table>\n <app-add-employer *ngIf=\"display\" (success)=\"addEmployer($event)\" [recordIndexToEdit]=\"indexToEdit\" \n (basePeriodIndex)=\"deleteBpEmpl($event)\" [isBasePeriodEmployer]=\"isBasePeriodEmployer\" [isNewClaim]=\"isNewClaim\" (modelCancel)=\"onModelCancel($event)\">\n </app-add-employer>\n\n <p-dialog [visible]=\"showConfirmPopup\" [modal]=\"true\" appendTo=\"body\" position=\"top\" [breakpoints]=\"{'1200px': '660px', '992px': '660px', '768px': '660px', '576px': '100vw'}\" [style]=\"{width: '45vw'}\"\n [baseZIndex]=\"5000\" [draggable]=\"false\" [resizable]=\"false\" appendTo=\"body\" closeOnEscape=\"false\" *ngIf=\"selectedEmployer\">\n <h4 class=\"heading\">{{'induction.employment.grid.popup.heading' | translate}}</h4>\n <ion-label>{{selectedEmployer.employerData.displayName}}</ion-label>\n <ion-label><div style=\"font-size: 12px;\" [innerHtml]=\"selectedEmployer.employerData.mailingAddressDisplay | trustHtml\"></div></ion-label><br/>\n <ion-label>\n {{'induction.employment.grid.popup.failure.label' | translate}}\n </ion-label><br/><br/>\n <ion-label>\n {{'induction.employment.grid.popup.didnt.work.label' | translate}}\n </ion-label>\n <ng-template pTemplate=\"footer\">\n <ion-button shape=\"round\" type=\"submit\" fill=\"outline\" (click)=\"close()\">\n {{'induction.employment.grid.popup.cancel' | translate}}\n </ion-button>\n <ion-button shape=\"round\" type=\"submit\" fill=\"solid\" (click)=\"removeBasePeriodEmployer()\">\n {{'induction.employment.grid.popup.remove' | translate}}\n </ion-button>\n </ng-template>\n </p-dialog>\n</div>", styles: [":host ::ng-deep .p-datatable-worksearch .p-datatable-tbody>tr>td .p-column-title{display:none}:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-thead>tr>th,:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-tfoot>tr>td{color:var(--ion-color-primary);text-align:left;font-weight:700;padding:8px;width:-webkit-fill-available!important}:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td{font-size:16px;padding:3px;width:-webkit-fill-available!important}:host ::ng-deep .p-datatable.p-datatable-striped .p-datatable-tbody>tr:nth-child(2n){background:none}@media screen and (max-width: 50rem){ion-col{text-align:left!important}:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-thead>tr>th,:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-tfoot>tr>td{display:none!important}:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td{text-align:left!important;display:block;width:100%;float:left;clear:left;border:0 none}:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td .p-column-title{padding:.6rem;min-width:30%;display:inline-block;margin:-.4em 1em -.4em -.4rem;font-weight:700}:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td:last-child{border-bottom:1px solid var(--surface-d)}}.strikethrough{text-decoration:line-through}\n"] }]
784
+ }], () => [{ type: i1.PopoverController }, { type: i2.LoggerService }, { type: i3.ValidationService }, { type: i1.NavController }, { type: i4.UtilService }, { type: i5.LoginService }, { type: i6.ActivatedRoute }, { type: i7.ClaimService }, { type: i8.Storage }], { form: [{
785
+ type: Input
786
+ }], dynamicParam: [{
787
+ type: Input
788
+ }], modelDisplay: [{
789
+ type: Output
790
+ }], onComplete: [{
791
+ type: Output
792
+ }] }); })();
793
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EmployerGridComponent, { className: "EmployerGridComponent" }); })();
794
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZXItZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZW1wbG95ZXItZ3JpZC9lbXBsb3llci1ncmlkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbXBsb3llci1ncmlkL2VtcGxveWVyLWdyaWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkgsT0FBTyxFQUEwQyxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBS25HLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBR25GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDTnZELDBCQUFJLGFBQUE7SUFFQSxZQUNGOztJQUFBLGlCQUFLO0lBQ0wscUJBQ007SUFDTiwwQkFBSTtJQUNGLFlBQ0Q7O0lBQUEsaUJBQUs7SUFDTCwwQkFBSTtJQUNILFlBQ0Q7O0lBQUEsaUJBQUs7SUFDTCwyQkFB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bnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdkNvbnRyb2xsZXIsIFBvcG92ZXJDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFVudHlwZWRGb3JtR3JvdXAsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBDbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9DbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWwnO1xuaW1wb3J0IHsgQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWwnO1xuaW1wb3J0IHsgQ2xhaW1BcHBFbXBSZXF1ZXN0TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9DbGFpbUFwcEVtcFJlcXVlc3RNb2RlbCc7XG5pbXBvcnQgeyBDbGFpbU9ubHlFbXBsb3llckRhdGFNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NsYWltT25seUVtcGxveWVyRGF0YU1vZGVsJztcbmltcG9ydCB7IFZhbGlkYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcXVlc3Rpb25uYWlyZS92YWxpZGF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XG5pbXBvcnQgeyBMb2dpblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dpbi9sb2dpbi5zZXJ2aWNlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEVtcGxveWVyV2FnZXNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0VtcGxveWVyV2FnZXNNb2RlbCc7XG5pbXBvcnQgeyBDbGFpbVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jbGFpbXMvY2xhaW1zLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hvaWNlc01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0FkZHJlc3NDb21wb25lbnRNb2RlbCc7XG5pbXBvcnQgeyBDb21ib09wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NvbWJvTW9kZWwnO1xuaW1wb3J0IHsgRmJDb25zdGFudHMgfSBmcm9tICcuLi9xdWVzdGlvbm5haXJlL0ZiQ29uc3RhbnRzJztcbmltcG9ydCB7IFN0b3JhZ2UgfSBmcm9tICdAaW9uaWMvc3RvcmFnZS1hbmd1bGFyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWVtcGxveWVyLWdyaWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZW1wbG95ZXItZ3JpZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VtcGxveWVyLWdyaWQuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBFbXBsb3llckdyaWRDb21wb25lbnQsXG4gICAgbXVsdGk6IHRydWVcbiAgfV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdFxufSlcbmV4cG9ydCBjbGFzcyBFbXBsb3llckdyaWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcG9wdXA6IFBvcG92ZXJDb250cm9sbGVyLCBwdWJsaWMgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgIHB1YmxpYyB2YWxpZGF0aW9uU2VydmljZTogVmFsaWRhdGlvblNlcnZpY2UsIHB1YmxpYyBuYXZDb250cm9sbGVyOiBOYXZDb250cm9sbGVyLCBwdWJsaWMgdXRpbDogVXRpbFNlcnZpY2UsXG4gICAgcHVibGljIGxzOiBMb2dpblNlcnZpY2UsIHB1YmxpYyBhY3RpdmF0ZWRSb3V0ZSA6IEFjdGl2YXRlZFJvdXRlLCBwdWJsaWMgY2xhaW1zU2VydmljZSA6IENsYWltU2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JhZ2UgOiBTdG9yYWdlKSB7XG5cbiAgfVxuXG4gIGNsYWltQXBwRW1wUmVzcG9uc2VNb2RlbEZyb21TZXJ2aWNlOiAgQ2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsID0gbmV3IENsYWltQXBwRW1wUmVzcG9uc2VNb2RlbCgpO1xuICBjb2xzOiBhbnlbXTtcbiAgQElucHV0KCkgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgQElucHV0KCkgZHluYW1pY1BhcmFtIDogYW55O1xuICBkaXNwbGF5OiBib29sZWFuO1xuICBiYXNlUGVyaW9kZGlzcGxheTogYm9vbGVhbjtcbiAgQE91dHB1dCgpIG1vZGVsRGlzcGxheSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIG9uQ29tcGxldGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIGNsYWltZGV0YWlsTW9kZWwgPSBuZXcgQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCgpO1xuICBjYWltQXBwRW1wUmVzcG9uc2VNb2RlbCA9IG5ldyBDbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWwoKTtcbiAgc2VsZWN0ZWRFbXBsb3llcjogQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbDtcbiAgc2VsZWN0ZWRCYXNlUGVyaW9kRW1wbG95ZXI6IENsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWw7XG4gIHB1YmxpYyBpbmRleFRvRWRpdDtcbiAgcHVibGljIGlzQmFzZVBlcmlvZEVtcGxveWVyOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBpc05ld0NsYWltOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93Q29uZmlybVBvcHVwIDogYm9vbGVhbiA9IGZhbHNlO1xuICBzc25Gb3JDU1IgOiBzdHJpbmc7XG4gIHB1YmxpYyBzaG93UHJvZ3Jlc3NCYXIgPSBmYWxzZTtcbiAgdXVpZDogc3RyaW5nID0gbnVsbDtcblxuICBwdWJsaWMgZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbDogQ2hvaWNlc01vZGVsW10gPSBbXTtcbiAgcHVibGljIHZvbFF1aXRSZWFzb25PcHRpb25zQWxsOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xuICBwdWJsaWMgZW1wbG95bWVudFN0YXR1c09wdGlvbnNBbGw6IENob2ljZXNNb2RlbFtdID0gW107XG4gIHB1YmxpYyBwYXlSYXRlT3B0aW9ucyA9IENvbWJvT3B0aW9uLlBBWV9QRVJJT0Q7XG4gIHB1YmxpYyBjb3VudHJ5T3B0aW9ucyA9IENvbWJvT3B0aW9uLkNPVU5UUlk7XG4gIHB1YmxpYyB3b3JrQ291bnRyeU9wdGlvbnMgPSBDb21ib09wdGlvbi5XT1JLX0NPVU5UUlk7XG4gIHB1YmxpYyBzdGF0ZXNPcHRpb25zID0gQ29tYm9PcHRpb24uVVNfU1RBVEVTO1xuICBwdWJsaWMgbWlsaXRhcnlTZXJ2aWNlT3B0aW9ucyA9IENvbWJvT3B0aW9uLk1JTElUQVJZX1NFUlZJQ0U7XG5cbiAgbG9hZE1hc3RlckRhdGEoKXtcbiAgICB0aGlzLmNsYWltc1NlcnZpY2UubG9hZE1hc3RlckRhdGEoKTtcbiAgICB0aGlzLmNsYWltc1NlcnZpY2UuZ2V0UmVhc29uU2VwYXJhdGlvbigpLnN1YnNjcmliZShcbiAgICAgIHZhbHVlID0+IHtcbiAgICAgICAgdmFsdWUuZm9yRWFjaChhcnIgPT4gIHRoaXMuZW1wbG95bWVudFN0YXR1c09wdGlvbnNBbGwucHVzaChhcnIpKTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5jbGFpbXNTZXJ2aWNlLmdldERpc2NoYXJnZVJlYXNvbnMoKS5zdWJzY3JpYmUoXG4gICAgICB2YWx1ZSA9PiB7XG4gICAgICAgIHZhbHVlLmZvckVhY2goYXJyID0+ICB0aGlzLmRpc2NoYXJnZVJlYXNvbk9wdGlvbnNBbGwucHVzaChhcnIpKTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5jbGFpbXNTZXJ2aWNlLmdldFF1aXRSZWFzb25zKCkuc3Vic2NyaWJlKFxuICAgICAgdmFsdWUgPT4ge1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKGFyciA9PiAgdGhpcy52b2xRdWl0UmVhc29uT3B0aW9uc0FsbC5wdXNoKGFycikpO1xuICAgICAgfVxuICAgICk7XG4gIH1cbiAgXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCduZyBvbml0IG9mIGVtcGxveWVyIGdyaWQnKVxuICAgIHRoaXMubG9hZE1hc3RlckRhdGEoKTtcbiAgICB0aGlzLmNvbHMgPSBbXG4gICAgICB7IGZpZWxkOiAnZW1wbG95ZXInLCBoZWFkZXI6ICdFbXBsb3llcicgfSxcbiAgICAgIHsgZmllbGQ6ICdqb2JUaXRsZScsIGhlYWRlcjogJ0pvYiBUaXRsZScgfSxcbiAgICAgIHsgZmllbGQ6ICdQYXknLCBoZWFkZXI6ICdQYXknIH0sXG4gICAgICB7IGZpZWxkOiAnc3RhcnRFbmREYXRlJywgaGVhZGVyOiAnU3RhcnQgYW5kIEVuZCcgfSxcbiAgICAgIHsgZmllbGQ6ICdzZXBhcmF0aW9uUmVhc29uJywgaGVhZGVyOiAnU2VwYXJhdGlvbiBSZWFzb24nIH0sXG4gICAgICB7IGZpZWxkOiAnJywgaGVhZGVyOiAnJyB9XG4gICAgXTtcbiAgICBpZiAodGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UpIHtcbiAgICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLnN1YnNjcmliZShcbiAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgICB0aGlzLmNsYWltQXBwRW1wUmVzcG9uc2VNb2RlbEZyb21TZXJ2aWNlID0gcmVzLnZhbHVlT2YoKTtcbiAgICAgICAgICAgIGlmKHRoaXMuY2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsRnJvbVNlcnZpY2UgJiYgdGhpcy5jbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWxGcm9tU2VydmljZS5pc05ld0NsYWltQXBwbGljYXRpb24pe1xuICAgICAgICAgICAgICB0aGlzLmlzTmV3Q2xhaW0gPSB0aGlzLmNsYWltQXBwRW1wUmVzcG9uc2VNb2RlbEZyb21TZXJ2aWNlLmlzTmV3Q2xhaW1BcHBsaWNhdGlvbi52YWx1ZU9mKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgYWRkTmV3RW1wRGV0YWlscygpIHtcbiAgICB0aGlzLmRpc3BsYXkgPSB0cnVlO1xuICAgIHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXI9ZmFsc2U7XG4gICAgdGhpcy5tb2RlbERpc3BsYXkuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgb25DaGFuZ2U6IEZ1bmN0aW9uID0gKHZhbHVlOiBTdHJpbmcpID0+IHtcbiAgfTtcblxuICBwcml2YXRlIG9uVG91Y2g6IEZ1bmN0aW9uID0gKCkgPT4ge1xuICB9O1xuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIGlmKHZhbHVlKXtcbiAgICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLm5leHQodmFsdWUpO1xuICAgIH0gZWxzZXtcbiAgICAgIHRoaXMuc2V0dXBFbXBsb3llcigpO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmblxuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuXG4gIH1cblxuICBhc3luYyBmZXRjaElkZW50aWZpZXIoKXtcbiAgICBsZXQgZGF0YSA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQoJ2lkZW50aWZpZXInKTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcImRhdGEgZm9yIGlkZW50aWZpZXIgaXMgOiBcIiwgZGF0YSlcbiAgICAgIGlmKGRhdGEpeyAgICAgICAgICBcbiAgICAgICAgdGhpcy51dWlkID0gZGF0YTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudXVpZCA9IGF3YWl0IHRoaXMuc3RvcmFnZS5nZXQoRmJDb25zdGFudHMudXVpZCk7XG4gICAgICB9XG4gIH1cbiAgc2V0dXBFbXBsb3llcigpIHtcbiAgICBsZXQgbW9kZWwgPSBuZXcgQ2xhaW1BcHBFbXBSZXF1ZXN0TW9kZWwoKTtcbiAgICBpZiAoIXRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkpIHtcbiAgICAgIHRoaXMuZmV0Y2hJZGVudGlmaWVyKCk7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygndXVpZCBpcyA9PT09JywgdGhpcy51dWlkKTtcbiAgICAgIGxldCB1cmwgPSBcIlwiO1xuICAgICAgaWYodGhpcy5scy5pc0NsYWltYW50KCkgPT09IHRydWUpe1xuICAgICAgICB1cmwgPSBcIi9jbGFpbXMtc2VydmljZS9jbGFpbS9jbGFpbWFudC9hcHAvYnBlbXBsb3llcnNcIjsgICAgIFxuICAgICAgICBsZXQgb2JqRGF0YSA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQoJ2RhdGEnKTtcbiAgICAgICAgaWYob2JqRGF0YSAmJiAodGhpcy51dWlkID09IHVuZGVmaW5lZCB8fCB0aGlzLnV1aWQgPT0gbnVsbCkpe1xuICAgICAgICAgIC8vY29uc29sZS5sb2coJ29iakRhdGEgPT09PScsIG9iakRhdGEpO1xuICAgICAgICAgIG1vZGVsLmZsb3dGcm9tID0gXCJBaWMtUmVvcGVuLWZsb3dcIjtcbiAgICAgICAgfSAgXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgZGF0YSA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQoJ2tleScpO1xuICAgICAgICBpZihkYXRhKXtcbiAgICAgICAgICB0aGlzLnNzbkZvckNTUiA9IEpTT04ucGFyc2UoYXRvYihkYXRhKSk7XG4gICAgICAgICAgbW9kZWwuc3NuID0gdGhpcy5zc25Gb3JDU1I7XG4gICAgICAgIH0gICBcbiAgICAgICAgdXJsID0gXCIvY2xhaW1zLXNlcnZpY2UvY2xhaW0vYXBwL2JwZW1wbG95ZXJzXCI7XG4gICAgICB9XG4gICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3RoZSB1dWlkIHVzZWQgaW4gbW9kZWwgaXMgOiAnLCB0aGlzLnV1aWQpO1xuICAgICAgaWYobW9kZWwuZmxvd0Zyb20gPT09ICdBaWMtUmVvcGVuLWZsb3cnKXtcbiAgICAgICAgdGhpcy5mZXRjaEVtcGxveWVyc0Zyb21CYWNrRW5kKG1vZGVsLCB1cmwpO1xuICAgICAgfSBlbHNlIGlmKHRoaXMudXVpZCl7XG4gICAgICAgICAgbW9kZWwudXVpZCA9IHRoaXMudXVpZDtcbiAgICAgICAgICB0aGlzLmZldGNoRW1wbG95ZXJzRnJvbUJhY2tFbmQobW9kZWwsIHVybCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIktlZXAgd2FpdGluZy4uLi51dWlkIG5vdCBmb3VuZC4uXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBmZXRjaEVtcGxveWVyc0Zyb21CYWNrRW5kKG1vZGVsOiBDbGFpbUFwcEVtcFJlcXVlc3RNb2RlbCwgdXJsOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNob3dQcm9ncmVzc0JhciA9IHRydWU7XG4gICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5wb3N0PENsYWltQXBwRW1wUmVzcG9uc2VNb2RlbD4odXJsLCBtb2RlbCkuc3Vic2NyaWJlKFxuICAgICAgcmVzID0+IHtcbiAgICAgICAgaWYocmVzLmJwRW1wTGlzdC5sZW5ndGggPiAwKXtcbiAgICAgICAgICByZXMuYnBFbXBMaXN0LmZvckVhY2goZW1wID0+IHRoaXMuc2V0Q2hvaXNlTW9kZWxzKGVtcCkpXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UubmV4dChyZXMpO1xuICAgICAgICB0aGlzLm9uQ29tcGxldGUuZW1pdCh0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpKTtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2VtcGxveWVyIExpc3QgZnJvbSBTZXJ2aWNlJywgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKSk7XG4gICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzQmFyID0gZmFsc2U7XG4gICAgICB9LFxuICAgICAgZXJyID0+IHtcbiAgICAgICAgbGV0IGxpc3QgPSBuZXcgQ2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsKCk7XG4gICAgICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLm5leHQobGlzdCk7XG4gICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzQmFyID0gZmFsc2U7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuICBcbiAgZGVsZXRlQnBFbXBsKGV2ZW50Om51bWJlcil7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ0RlbGV0ZSBtZXRob2QgY2FsbGVkICcsIGV2ZW50KTtcbiAgICB0aGlzLmNsYWltQXBwRW1wUmVzcG9uc2VNb2RlbEZyb21TZXJ2aWNlLmJwRW1wTGlzdC5zcGxpY2UoZXZlbnQsIDEpO1xuICB9XG5cbiAgZGVsZXRlRW1wbG95ZXIoZWxlbWVudEluZGV4KSB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ0RlbGV0ZSBtZXRob2QgY2FsbGVkIGZvciA9ICcsIGVsZW1lbnRJbmRleCk7XG4gICAgdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcj1mYWxzZTtcbiAgICAvL3RoaXMuY2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsRnJvbVNlcnZpY2UuYnBFbXBMaXN0W2VsZW1lbnRJbmRleF0uZW1wRGVsZXRlZCA9IFwiWVwiO1xuICAgIHRoaXMuY2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsRnJvbVNlcnZpY2UuYnBFbXBMaXN0LnNwbGljZShlbGVtZW50SW5kZXgsIDEpO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdBZnRlciBkZWxldGUgbGlzdCBpcyA9ICcsIHRoaXMuY2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsRnJvbVNlcnZpY2UpO1xuICB9XG5cbiAgZGVsZXRlRW1wbG95ZXJCYXNlUGVyaW9kKGVsZW1lbnRJbmRleCkge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdEZWxldGUgbWV0aG9kIGJhc2UgcGVyaW9kIGVtcGxveWVyIGNhbGxlZCBmb3IgPSAnLCBlbGVtZW50SW5kZXgpO1xuICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkuYnBFbXBMaXN0W2VsZW1lbnRJbmRleF0ud29ya0ZsYWcgPSBcIk5cIjtcbiAgICB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpLmJwRW1wTGlzdFtlbGVtZW50SW5kZXhdLmVtcERlbGV0ZWQgPSBcIllcIjtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnQWZ0ZXIgZGVsZXRlIGJhc2UgcGVyaW9kIGVtcGxveWVyIGxpc3QgaXMgPSAnLCB0aGlzLmNsYWltQXBwRW1wUmVzcG9uc2VNb2RlbEZyb21TZXJ2aWNlKTtcbiAgfVxuXG4gIGVkaXRFbXBsb3llcihlbXBsb3llcikge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdFZGl0IG1ldGhvZCBjYWxsZWQnLCBlbXBsb3llcik7XG4gICAgdGhpcy5pbmRleFRvRWRpdCA9IHRoaXMuY2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsRnJvbVNlcnZpY2UuYnBFbXBMaXN0LmluZGV4T2YoZW1wbG95ZXIpO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdJbmRleCBUbyBFZGl0ID0gJywgdGhpcy5pbmRleFRvRWRpdCk7XG4gICAgdGhpcy5kaXNwbGF5ID0gdHJ1ZTtcbiAgfVxuXG4gIGZpbmlzaChlbXBsb3llcikge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdGaW5pc2ggRW1wbG95ZXIgY2FsbGVkJywgZW1wbG95ZXIpO1xuICAgIHRoaXMuaW5kZXhUb0VkaXQgPSB0aGlzLmNsYWltQXBwRW1wUmVzcG9uc2VNb2RlbEZyb21TZXJ2aWNlLmJwRW1wTGlzdC5pbmRleE9mKGVtcGxveWVyKTtcbiAgICBlbXBsb3llci53b3JrRmxhZyA9ICdZJztcbiAgICB0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyID0gdHJ1ZTtcbiAgICB0aGlzLmRpc3BsYXkgPSB0cnVlO1xuICAgIHRoaXMubW9kZWxEaXNwbGF5LmVtaXQodHJ1ZSk7XG4gIH1cblxuICBlZGl0QmFzZVBlcmlvZEVtcGxveWVyKGVtcGxveWVyKSB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ0VkaXQgQmFzZVBlcmlvZCBFbXBsb3llciBjYWxsZWQgZm9yICcsIGVtcGxveWVyKTtcbiAgICB0aGlzLmluZGV4VG9FZGl0ID0gdGhpcy5jbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWxGcm9tU2VydmljZS5icEVtcExpc3QuaW5kZXhPZihlbXBsb3llcik7XG4gICAgdGhpcy5kaXNwbGF5ID0gdHJ1ZTtcbiAgICB0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyID0gdHJ1ZTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnSW5kZXggVG8gRWRpdCA9ICcsIHRoaXMuaW5kZXhUb0VkaXQpO1xuICB9XG5cbiAgb25Nb2RlbENhbmNlbChjYW5jZWw6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnQ2FuY2VsIE1ldGhvZCAgJywgY2FuY2VsKTtcbiAgICB0aGlzLmRpc3BsYXkgPSBjYW5jZWw7XG4gICAgdGhpcy5iYXNlUGVyaW9kZGlzcGxheSA9IGNhbmNlbDtcbiAgICB0aGlzLmluZGV4VG9FZGl0ID0gbnVsbDtcbiAgICB0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyID0gZmFsc2U7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2FmdGVyIHZhbHVlIGNoYW5nZSBvbiBlbXBsb3llciBncmlkICcsIHRoaXMuZGlzcGxheSk7XG4gIH1cblxuICBhZGRFbXBsb3llcihldmVudDogQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCkge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdBZGQgRW1wbG95ZXIgY2FsbGVkIGZyb20gZ3JpZCAnLCBldmVudCwgJ2luZGV4VG9FZGl0JywgdGhpcy5pbmRleFRvRWRpdCwndGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcicsdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcik7XG4gICAgaWYgKHRoaXMuaW5kZXhUb0VkaXQgfHwgdGhpcy5pbmRleFRvRWRpdCA9PSAwKSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnSW5zaWRlIGlmIG9mIGFkZCBlbXBsb3llciAtLSAnLGV2ZW50KVxuICAgICAgbGV0IGVtcERhdGFNb2RlbCA9IG5ldyBDbGFpbU9ubHlFbXBsb3llckRhdGFNb2RlbCgpO1xuICAgICAgbGV0IGVtcFByb3ZpZGVkV2FnZU1vZGVsID0gbmV3IEVtcGxveWVyV2FnZXNNb2RlbCgpO1xuICAgICAgaWYgKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpIHtcbiAgICAgICAgdGhpcy5jbGFpbWRldGFpbE1vZGVsID0gbmV3IENsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWwoKTtcbiAgICAgICAgdGhpcy5jbGFpbWRldGFpbE1vZGVsID0gZXZlbnQ7XG4gICAgICAgIGVtcERhdGFNb2RlbCA9ICB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpLmJwRW1wTGlzdFt0aGlzLmluZGV4VG9FZGl0XS5lbXBsb3llckRhdGE7XG4gICAgICAgIGVtcFByb3ZpZGVkV2FnZU1vZGVsID0gdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKS5icEVtcExpc3RbdGhpcy5pbmRleFRvRWRpdF0uZW1wbG95ZXJQcm92aWRlZFdhZ2VzO1xuICAgICAgICBldmVudC5icEVtcGxveWVyRmxhZyA9ICcxJ1xuICAgICAgICBldmVudC5lbXBsb3llckRhdGEgPSBlbXBEYXRhTW9kZWw7XG4gICAgICAgIGV2ZW50LmVtcGxveWVyUHJvdmlkZWRXYWdlcyA9IGVtcFByb3ZpZGVkV2FnZU1vZGVsO1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygncmVzZXR0aW5nIHRoZSB2YWx1ZSBhZ2FpbiA9ICAnLGV2ZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2xhaW1kZXRhaWxNb2RlbCA9IG5ldyBDbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsKCk7XG4gICAgICAgIHRoaXMuY2xhaW1kZXRhaWxNb2RlbCA9IGV2ZW50O1xuICAgICAgICBlbXBEYXRhTW9kZWwgPSBuZXcgQ2xhaW1Pbmx5RW1wbG95ZXJEYXRhTW9kZWwoKTtcbiAgICAgICBpZihldmVudC5lbXBsb3llclR5cGU9PT0nUkVHJyl7XG4gICAgICAgIGVtcERhdGFNb2RlbC5kaXNwbGF5TmFtZSA9IGV2ZW50LmVtcGxveWVyTmFtZTtcbiAgICAgICAgZW1wRGF0YU1vZGVsLm1haWxpbmdBZGRyZXNzRGlzcGxheSA9XG4gICAgICAgIGV2ZW50LmFkZHJlc3NbJ3N0cmVldEFkZHJlc3MnXSArICctJyArIGV2ZW50LmFkZHJlc3NbJ2NpdHknXSAgKyAnLScgKyAoZXZlbnQuYWRkcmVzc1snc3RhdGUnXSA/IGV2ZW50LmFkZHJlc3NbJ3N0YXRlJ10udGV4dCA6ICcnKSArJy0nICsgKGV2ZW50LmFkZHJlc3NbJ2NvdW50cnknXSA/IGV2ZW50LmFkZHJlc3NbJ2NvdW50cnknXS52YWx1ZSA6ICcnKTtcbiAgICAgIH0gZWxzZSBpZihldmVudC5lbXBsb3llclR5cGU9PT0nRkVEJyl7IFxuICAgICAgICBlbXBEYXRhTW9kZWwuZGlzcGxheU5hbWUgPSBldmVudC5mZWRFbXBsb3llck5hbWU7XG4gICAgICAgIGVtcERhdGFNb2RlbC5tYWlsaW5nQWRkcmVzc0Rpc3BsYXkgPVxuICAgICAgICBldmVudC5hZGRyZXNzWydzdHJlZXRBZGRyZXNzJ10gKyAnLScgKyBldmVudC5hZGRyZXNzWydjaXR5J10gICsgJy0nICsgKGV2ZW50LmFkZHJlc3NbJ3N0YXRlJ10gPyBldmVudC5hZGRyZXNzWydzdGF0ZSddLnRleHQgOiAnJykgKyAnLScgKyAoZXZlbnQuYWRkcmVzc1snY291bnRyeSddID8gZXZlbnQuYWRkcmVzc1snY291bnRyeSddLnZhbHVlIDogJycpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwibm8gYWRkcmVzcyBmb3IgdGhpcyBlbXBsb3llciB0eXBlXCIpO1xuICAgICAgfVxuICAgICAgICBlbXBEYXRhTW9kZWwuZW1wbG95ZXJUeXBlID0gZXZlbnQuZW1wbG95ZXJUeXBlO1xuICAgICAgICBldmVudC5lbXBsb3llckRhdGEgPSBlbXBEYXRhTW9kZWw7XG4gICAgICAgIGVtcERhdGFNb2RlbC5lbXBsb3llcklkPWV2ZW50LmVtcGxveWVySWQ7XG4gICAgICAgIGVtcERhdGFNb2RlbC5tYWlsQWRkcmVzc0xpbmUxPWV2ZW50LmFkZHJlc3M/LnN0cmVldEFkZHJlc3M7XG4gICAgICAgIGVtcERhdGFNb2RlbC5tYWlsQWRkcmVzc0xpbmUyPWV2ZW50LmFkZHJlc3M/Lm9wdGlvbmFsQWRkcmVzcztcbiAgICAgICAgZXZlbnQuYnBFbXBsb3llckZsYWcgPSAnMCdcbiAgICAgIH1cbiAgICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkuYnBFbXBMaXN0W3RoaXMuaW5kZXhUb0VkaXRdID0gZXZlbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdJbnNpZGUgZWxzZSBvZiBhZGQgZW1wbG95ZXIgLS0gJyxldmVudClcbiAgICAgIHRoaXMuY2xhaW1kZXRhaWxNb2RlbCA9IG5ldyBDbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsKCk7XG4gICAgICBsZXQgZW1wRGF0YU1vZGVsID0gbmV3IENsYWltT25seUVtcGxveWVyRGF0YU1vZGVsKClcbiAgICAgIHRoaXMuY2xhaW1kZXRhaWxNb2RlbCA9IGV2ZW50O1xuICAgICAgZW1wRGF0YU1vZGVsID0gbmV3IENsYWltT25seUVtcGxveWVyRGF0YU1vZGVsKCk7XG4gICAgICBpZihldmVudC5lbXBsb3llclR5cGU9PT0nUkVHJyl7XG4gICAgICBlbXBEYXRhTW9kZWwuZGlzcGxheU5hbWUgPSBldmVudC5lbXBsb3llck5hbWU7XG4gICAgICBlbXBEYXRhTW9kZWwubWFpbGluZ0FkZHJlc3NEaXNwbGF5ID1cbiAgICAgIGV2ZW50LmFkZHJlc3NbJ3N0cmVldEFkZHJlc3MnXSArIGV2ZW50LmFkZHJlc3NbJ2NpdHknXSAgKyAnLScgKyAoZXZlbnQuYWRkcmVzc1snc3RhdGUnXSA/IGV2ZW50LmFkZHJlc3NbJ3N0YXRlJ10udGV4dCA6ICcnKSArICctJyArKGV2ZW50LmFkZHJlc3NbJ2NvdW50cnknXSA/IGV2ZW50LmFkZHJlc3NbJ2NvdW50cnknXS52YWx1ZSA6ICcnKTtcbiAgICAgIH0gZWxzZSBpZihldmVudC5lbXBsb3llclR5cGU9PT0nRkVEJyl7XG4gICAgICAgIGVtcERhdGFNb2RlbC5kaXNwbGF5TmFtZSA9IGV2ZW50LmZlZEVtcGxveWVyTmFtZTtcbiAgICAgICAgZW1wRGF0YU1vZGVsLm1haWxpbmdBZGRyZXNzRGlzcGxheSA9XG4gICAgICAgIGV2ZW50LmFkZHJlc3NbJ3N0cmVldEFkZHJlc3MnXSArIGV2ZW50LmFkZHJlc3NbJ2NpdHknXSAgKyAnLScgKyAoZXZlbnQuYWRkcmVzc1snc3RhdGUnXSA/IGV2ZW50LmFkZHJlc3NbJ3N0YXRlJ10udGV4dCA6ICcnKSArICctJyArIChldmVudC5hZGRyZXNzWydjb3VudHJ5J10gPyBldmVudC5hZGRyZXNzWydjb3VudHJ5J10udmFsdWUgOiAnJyk7XG4gICAgICB9ZWxzZSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiSW5zaWRlIGVsc2UgLSBubyBhZGRyZXNzIGZvciB0aGlzIGVtcGxveWVyIHR5cGVcIik7XG4gICAgICB9XG4gICAgICBlbXBEYXRhTW9kZWwuZW1wbG95ZXJUeXBlID0gZXZlbnQuZW1wbG95ZXJUeXBlO1xuICAgICAgZW1wRGF0YU1vZGVsLmVtcGxveWVySWQ9ZXZlbnQuZW1wbG95ZXJJZDtcbiAgICAgIGVtcERhdGFNb2RlbC5tYWlsQWRkcmVzc0xpbmUxPWV2ZW50LmFkZHJlc3M/LnN0cmVldEFkZHJlc3M7XG4gICAgICBlbXBEYXRhTW9kZWwubWFpbEFkZHJlc3NMaW5lMj1ldmVudC5hZGRyZXNzPy5vcHRpb25hbEFkZHJlc3M7XG4gICAgICBpZiAodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikge1xuICAgICAgICB0aGlzLmNsYWltZGV0YWlsTW9kZWwuYnBFbXBsb3llckZsYWcgPSAnMSc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNsYWltZGV0YWlsTW9kZWwuYnBFbXBsb3llckZsYWcgPSAnMCc7XG4gICAgICB9XG4gICAgICB0aGlzLmNsYWltZGV0YWlsTW9kZWwuZW1wbG95ZXJEYXRhID0gZW1wRGF0YU1vZGVsO1xuICAgICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKS5icEVtcExpc3QucHVzaCh0aGlzLmNsYWltZGV0YWlsTW9kZWwpO1xuICAgIH1cbiAgICB0aGlzLmRpc3BsYXkgPSBmYWxzZTtcbiAgICB0aGlzLmluZGV4VG9FZGl0ID0gbnVsbDtcbiAgfVxuXG4gIHJlbW92ZUVtcGxveW1lbnQoc2VsZWN0ZWRFbXBsb3llcjogQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCwgaW5kZXgpe1xuICAgIHRoaXMuaW5kZXhUb0VkaXQgPSBpbmRleDtcbiAgICB0aGlzLnNlbGVjdGVkRW1wbG95ZXIgPSBzZWxlY3RlZEVtcGxveWVyO1xuICAgIHRoaXMuc2hvd0NvbmZpcm1Qb3B1cCA9IHRydWU7XG4gIH1cblxuICByZW1vdmVCYXNlUGVyaW9kRW1wbG95ZXIoKXtcbiAgICB0aGlzLmRlbGV0ZUVtcGxveWVyQmFzZVBlcmlvZCh0aGlzLmluZGV4VG9FZGl0KTtcbiAgICB0aGlzLnNob3dDb25maXJtUG9wdXAgPSBmYWxzZTtcbiAgICB0aGlzLnNlbGVjdGVkRW1wbG95ZXIgPSBudWxsO1xuICAgIHRoaXMuaW5kZXhUb0VkaXQgPSBudWxsO1xuICB9XG5cbiAgcmVzdG9yZUVtcGxveW1lbnQoc2VsZWN0ZWRFbXBsb3llcjogQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCwgaW5kZXgpe1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdEZWxldGUgbWV0aG9kIGJhc2UgcGVyaW9kIGVtcGxveWVyIGNhbGxlZCBmb3IgPSAnLCBpbmRleCk7XG4gICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKS5icEVtcExpc3RbaW5kZXhdLndvcmtGbGFnID0gXCJZXCI7XG4gICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKS5icEVtcExpc3RbaW5kZXhdLmVtcERlbGV0ZWQgPSBcIk5cIjtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnQWZ0ZXIgZGVsZXRlIGJhc2UgcGVyaW9kIGVtcGxveWVyIGxpc3QgaXMgPSAnLCB0aGlzLmNsYWltQXBwRW1wUmVzcG9uc2VNb2RlbEZyb21TZXJ2aWNlKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuaW5kZXhUb0VkaXQgPSBudWxsO1xuICAgIHRoaXMuc2hvd0NvbmZpcm1Qb3B1cCA9IGZhbHNlO1xuICAgIHRoaXMuc2VsZWN0ZWRFbXBsb3llciA9IG51bGw7XG4gIH1cbiAgc2V0Q2hvaXNlTW9kZWxzKGVtcDogQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCk6IHZvaWQge1xuICAgIGxldCBzZXBSZWFzb24gOiBDaG9pY2VzTW9kZWxbXSA9IHRoaXMuZW1wbG95bWVudFN0YXR1c09wdGlvbnNBbGwuZmlsdGVyKHMgPT4gcy52YWx1ZSA9PSBlbXAucmVhc29uU2VwYXJhdGlvbj8udmFsdWUpO1xuICAgIGlmKHNlcFJlYXNvbi5sZW5ndGggPiAwKXtcbiAgICAgIGVtcC5yZWFzb25TZXBhcmF0aW9uID0gc2VwUmVhc29uWzBdO1xuICAgIH1cbiAgICBsZXQgZGlzY2hhcmdlUmVhc29uIDogQ2hvaWNlc01vZGVsW10gPSB0aGlzLmRpc2NoYXJnZVJlYXNvbk9wdGlvbnNBbGwuZmlsdGVyKHMgPT4gcy52YWx1ZSA9PSBlbXAuZGlzY2hhcmdlRGV0YWlsPy52YWx1ZSk7XG4gICAgaWYoZGlzY2hhcmdlUmVhc29uLmxlbmd0aCA+IDApe1xuICAgICAgZW1wLmRpc2NoYXJnZURldGFpbCA9IGRpc2NoYXJnZVJlYXNvblswXTtcbiAgICB9XG4gICAgbGV0IHZvbFF1aXQgOiBDaG9pY2VzTW9kZWxbXSA9IHRoaXMudm9sUXVpdFJlYXNvbk9wdGlvbnNBbGwuZmlsdGVyKHMgPT4gcy52YWx1ZSA9PSBlbXAudm9sUXVpdERldGFpbHM/LnZhbHVlKTtcbiAgICBpZih2b2xRdWl0Lmxlbmd0aCA+IDApe1xuICAgICAgZW1wLnZvbFF1aXREZXRhaWxzID0gdm9sUXVpdFswXTtcbiAgICB9XG4gICAgbGV0IHBheVJhdGVGcmVxdWVuY3kgOiBDaG9pY2VzTW9kZWxbXSA9IHRoaXMucGF5UmF0ZU9wdGlvbnMuZmlsdGVyKHMgPT4gcy52YWx1ZSA9PSBlbXAucGF5UmF0ZUZyZXF1ZW5jeT8udmFsdWUpO1xuICAgIGlmKHBheVJhdGVGcmVxdWVuY3kubGVuZ3RoID4gMCl7XG4gICAgICBlbXAucGF5UmF0ZUZyZXF1ZW5jeSA9IHBheVJhdGVGcmVxdWVuY3lbMF07XG4gICAgfVxuXG4gICAgbGV0IGNvdW50cnkgOiBDaG9pY2VzTW9kZWxbXSA9IHRoaXMud29ya0NvdW50cnlPcHRpb25zLmZpbHRlcihzID0+IHMudmFsdWUgPT0gZW1wLmZlZFdvcmtDb3VudHJ5Py52YWx1ZSk7XG4gICAgaWYoY291bnRyeS5sZW5ndGggPiAwKXtcbiAgICAgIGVtcC5mZWRXb3JrQ291bnRyeSA9IGNvdW50cnlbMF07XG4gICAgfVxuXG4gICAgbGV0IHN0YXRlIDogQ2hvaWNlc01vZGVsW10gPSB0aGlzLnN0YXRlc09wdGlvbnMuZmlsdGVyKHMgPT4gcy52YWx1ZSA9PSBlbXAuZmVkV29ya1N0YXRlPy52YWx1ZSk7XG4gICAgaWYoc3RhdGUubGVuZ3RoID4gMCl7XG4gICAgICBlbXAuZmVkV29ya1N0YXRlID0gc3RhdGVbMF07XG4gICAgfVxuXG4gICAgbGV0IHNlcnZpY2VCcmFuY2ggOiBDaG9pY2VzTW9kZWxbXSA9IHRoaXMubWlsaXRhcnlTZXJ2aWNlT3B0aW9ucy5maWx0ZXIocyA9PiBzLnZhbHVlID09IGVtcC5zZXJ2aWNlQnJhbmNoPy52YWx1ZSk7XG4gICAgaWYoc2VydmljZUJyYW5jaC5sZW5ndGggPiAwKXtcbiAgICAgIGVtcC5zZXJ2aWNlQnJhbmNoID0gc2VydmljZUJyYW5jaFswXTtcbiAgICB9XG5cbiAgICBsZXQgd29ya1N0YXRlIDogQ2hvaWNlc01vZGVsW10gPSB0aGlzLnN0YXRlc09wdGlvbnMuZmlsdGVyKHMgPT4gcy52YWx1ZSA9PSBlbXAud29ya1N0YXRlPy52YWx1ZT8udHJpbSgpKTtcbiAgICBlbXAud29ya1N0YXRlID0gd29ya1N0YXRlWzBdO1xuXG4gIH1cbn1cblxuXG4iLCI8ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybVwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IC01cHg7XCI+XG48aW9uLXJvdz5cbiAgPGlvbi1jb2w+XG4gICAgPGRpdiBbaW5uZXJIdG1sXT1cIidpbmR1Y3Rpb24uZW1wbG95bWVudC5zdWJoZWFkZXInIHwgdHJhbnNsYXRlIHwgdHJ1c3RIdG1sXCI+PC9kaXY+XG4gIDwvaW9uLWNvbD5cbjwvaW9uLXJvdz5cblxuPHAtdGFibGUgI2R0IFtjb2x1bW5zXT1cImNvbHNcIiBbdmFsdWVdPVwiY2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsRnJvbVNlcnZpY2UuYnBFbXBMaXN0XCIgW2xvYWRpbmddPVwic2hvd1Byb2dyZXNzQmFyXCJcbiBbcm93SG92ZXJdPVwidHJ1ZVwiICpuZ0lmPVwiY2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsRnJvbVNlcnZpY2VcIiBzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc3RyaXBlZCBhcHAtZGF0YXRhYmxlIGlvbi1wYWRkaW5nLXRvcFwiPlxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCIgbGV0LWNvbHVtbnM+XG4gICAgPHRyPlxuICAgICAgPHRoIGNvbHNwYW49XCIyXCIgc3R5bGU9XCJ3aWR0aDogMjAlO1wiPlxuICAgICAgICB7e1wiaW5kdWN0aW9uLmVtcGxveW1lbnQudGFibGUuZW1wbG95ZXIubmFtZVwifHRyYW5zbGF0ZX19XG4gICAgICA8L3RoPlxuICAgICAgPHRoPlxuICAgICAgIDwvdGg+XG4gICAgICA8dGg+XG4gICAgICAgIHt7XCJpbmR1Y3Rpb24uZW1wbG95bWVudC50YWJsZS5qb2IudGl0bGVcInx0cmFuc2xhdGV9fVxuICAgICAgIDwvdGg+XG4gICAgICAgPHRoPlxuICAgICAgICB7e1wiaW5kdWN0aW9uLmVtcGxveW1lbnQudGFibGUucGF5XCJ8dHJhbnNsYXRlfX1cbiAgICAgICA8L3RoPlxuICAgICAgIDx0aD5cbiAgICAgICAge3tcImluZHVjdGlvbi5lbXBsb3ltZW50LnRhYmxlLmRhdGVzXCJ8dHJhbnNsYXRlfX1cbiAgICAgICA8L3RoPlxuICAgICAgIDx0aD5cbiAgICAgICAge3tcImluZHVjdGlvbi5lbXBsb3ltZW50LnRhYmxlLnNlcC5yZWFzb25cInx0cmFuc2xhdGV9fVxuICAgICAgIDwvdGg+XG4gICAgICAgXG4gICAgPC90cj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgXG4gIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LWVtcGxveWVyIGxldC1yb3dJbmRleD1cInJvd0luZGV4XCI+XG4gICAgPHRyIGNsYXNzPVwidWktc2VsZWN0YWJsZS1yb3dcIiBbbmdDbGFzc109XCJlbXBsb3llci5lbXBEZWxldGVkPT0nWScgPyAnc3RyaWtldGhyb3VnaCcgOiBudWxsXCI+XG4gICAgICA8dGQgKm5nSWY9XCJlbXBsb3llci5lbXBsb3llckRhdGEuZGlzcGxheU5hbWUgJiYgZW1wbG95ZXIuZW1wbG95ZXJUeXBlIT0nTUlMJ1wiICBjb2xzcGFuPVwiMlwiIHN0eWxlPVwid2lkdGg6IDIwJTtcIj48c3BhbiBjbGFzcz1cInAtY29sdW1uLXRpdGxlXCI+RW1wbG95ZXI8L3NwYW4+PHNwYW4+XG4gICAgICAgIHt7ZW1wbG95ZXIuZW1wbG95ZXJEYXRhLmRpc3BsYXlOYW1lfX0gPGJyPlxuICAgICAgPC9zcGFuPjxkaXYgc3R5bGU9XCJmb250LXNpemU6IDEycHg7XCIgW2lubmVySHRtbF09XCJlbXBsb3llci5lbXBsb3llckRhdGEubWFpbGluZ0FkZHJlc3NEaXNwbGF5IHwgdHJ1c3RIdG1sXCI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwvdGQ+XG4gICAgICAgIFxuICAgICAgPHRkICpuZ0lmPVwiIWVtcGxveWVyLmVtcGxveWVyRGF0YS5kaXNwbGF5TmFtZSAmJiBlbXBsb3llci5lbXBsb3llclR5cGUhPSdNSUwnXCIgIGNvbHNwYW49XCIyXCIgc3R5bGU9XCJ3aWR0aDogMjAlO1wiPjxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj5FbXBsb3llcjwvc3Bhbj48c3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC90ZD5cblxuICAgICAgPHRkICpuZ0lmPVwiZW1wbG95ZXIuZW1wbG95ZXJUeXBlPT09J01JTCdcIj48c3BhbiBjbGFzcz1cInAtY29sdW1uLXRpdGxlXCIgIGNvbHNwYW49XCIyXCIgc3R5bGU9XCJ3aWR0aDogMjAlO1wiPkVtcGxveWVyPC9zcGFuPjxzcGFuPlxuICAgICAgICAgIHt7ZW1wbG95ZXIuc2VydmljZUJyYW5jaC50ZXh0fX0gPGJyPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3RkPlxuICAgICAgPHRkIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPiBcbiAgICAgICAgPGlvbi1idXR0b24gc2l6ZT1cInNtYWxsXCIgICpuZ0lmPVwiZW1wbG95ZXIuYnBFbXBsb3llckZsYWc9PT0nMScgJiYgZW1wbG95ZXIucGF5UmF0ZSAmJiBlbXBsb3llci5zdGFydERhdGUgJiYgZW1wbG95ZXIuZW1wRGVsZXRlZCE9J1knXCIgY29sb3I9XCJzdWNjZXNzXCIgZmlsbD1cIm91dGxpbmVcIiBcbiAgICAgICAgICAoY2xpY2spPVwiZWRpdEJhc2VQZXJpb2RFbXBsb3llcihlbXBsb3llcik7XCIgY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCIgYXJpYS1sYWJlbD1cIkFkZCBlbXBsb3llclwiPlxuICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFsJywgJ2VkaXQnXVwiIGNsYXNzPVwiYWN0aW9uLWljb25cIj48L2ZhLWljb24+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgICA8aW9uLWJ1dHRvbiBzaXplPVwic21hbGxcIiAqbmdJZj1cImVtcGxveWVyLmJwRW1wbG95ZXJGbGFnPT09JzEnICYmICFlbXBsb3llci5wYXlSYXRlICYmICFlbXBsb3llci5zdGFydERhdGUgJiYgZW1wbG95ZXIuZW1wRGVsZXRlZCE9J1knXCIgY29sb3I9XCJzdWNjZXNzXCIgZmlsbD1cIm91dGxpbmVcIiBcbiAgICAgICAgICAoY2xpY2spPVwiZmluaXNoKGVtcGxveWVyKTtcIiBjbGFzcz1cImFjdGlvbi1idXR0b25cIiBhcmlhLWxhYmVsPVwiQ29uZmlybSBlbXBsb3llclwiPlxuICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFsJywgJ2NoZWNrLWNpcmNsZSddXCIgY2xhc3M9XCJhY3Rpb24taWNvblwiPjwvZmEtaWNvbj5cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuXG4gICAgICAgIDxpb24tYnV0dG9uIHNpemU9XCJzbWFsbFwiICpuZ0lmPVwiZW1wbG95ZXIuYnBFbXBsb3llckZsYWc9PT0nMCdcIiBjb2xvcj1cInN1Y2Nlc3NcIiBmaWxsPVwib3V0bGluZVwiIFxuICAgICAgICAgIChjbGljayk9XCJkZWxldGVFbXBsb3llcihyb3dJbmRleCk7XCIgY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCIgYXJpYS1sYWJlbD1cIlJlbW92ZSBlbXBsb3llclwiPlxuICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFsJywgJ3RyYXNoLWFsdCddXCIgY2xhc3M9XCJhY3Rpb24taWNvblwiPjwvZmEtaWNvbj5cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuXG4gICAgICAgIDxpb24tYnV0dG9uIHNpemU9XCJzbWFsbFwiICpuZ0lmPVwiZW1wbG95ZXIuYnBFbXBsb3llckZsYWc9PT0nMScgJiYgZW1wbG95ZXIuZW1wRGVsZXRlZCE9J1knXCIgY29sb3I9XCJzdWNjZXNzXCIgZmlsbD1cIm91dGxpbmVcIiBcbiAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlRW1wbG95bWVudChlbXBsb3llciwgcm93SW5kZXgpO1wiIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiIGFyaWEtbGFiZWw9XCJSZW1vdmUgZW1wbG95ZXJcIj5cbiAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhbCcsICd0cmFzaC1hbHQnXVwiIGNsYXNzPVwiYWN0aW9uLWljb25cIj48L2ZhLWljb24+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgICA8aW9uLWJ1dHRvbiBzaXplPVwic21hbGxcIiAqbmdJZj1cImVtcGxveWVyLmJwRW1wbG95ZXJGbGFnPT09JzEnICYmIGVtcGxveWVyLmVtcERlbGV0ZWQ9PSdZJ1wiIGNvbG9yPVwic3VjY2Vzc1wiIGZpbGw9XCJvdXRsaW5lXCIgXG4gICAgICAgICAgKGNsaWNrKT1cInJlc3RvcmVFbXBsb3ltZW50KGVtcGxveWVyLCByb3dJbmRleCk7XCIgY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCIgYXJpYS1sYWJlbD1cIlJlc3RvcmVcIj5cbiAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhbCcsICd0cmFzaC1yZXN0b3JlLWFsdCddXCIgY2xhc3M9XCJhY3Rpb24taWNvblwiPjwvZmEtaWNvbj5cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgXG4gICAgICAgIDxpb24tYnV0dG9uIHNpemU9XCJzbWFsbFwiICpuZ0lmPVwiZW1wbG95ZXIuYnBFbXBsb3llckZsYWc9PT0nMCdcIiBjb2xvcj1cInN1Y2Nlc3NcIiBmaWxsPVwib3V0bGluZVwiIFxuICAgICAgICAgIChjbGljayk9XCJlZGl0RW1wbG95ZXIoZW1wbG95ZXIpO1wiIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiIGFyaWEtbGFiZWw9XCJFZGl0IGVtcGxveWVyXCI+XG4gICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYWwnLCAnZWRpdCddXCIgY2xhc3M9XCJhY3Rpb24taWNvblwiPjwvZmEtaWNvbj5cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgPC90ZD5cbiAgICAgIDx0ZCAqbmdJZj1cImVtcGxveWVyLmpvYlRpbGVPclBvc2l0aW9uICYmICFlbXBsb3llci5mZWRKb2JUaWxlT3JQb3NpdGlvblwiPjxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj5Kb2IgVGl0bGU8L3NwYW4+e3tlbXBsb3llci5qb2JUaWxlT3JQb3NpdGlvbn19PC90ZD5cbiAgICAgIDx0ZCAqbmdJZj1cIiFlbXBsb3llci5qb2JUaWxlT3JQb3NpdGlvbiAmJiAhZW1wbG95ZXIuZmVkSm9iVGlsZU9yUG9zaXRpb25cIj48c3BhbiBjbGFzcz1cInAtY29sdW1uLXRpdGxlXCI+Sm9iIFRpdGxlPC9zcGFuPjwvdGQ+XG4gICAgICA8dGQgKm5nSWY9XCJlbXBsb3llci5mZWRKb2JUaWxlT3JQb3NpdGlvbiAmJiAhZW1wbG95ZXIuam9iVGlsZU9yUG9zaXRpb25cIj48c3BhbiBjbGFzcz1cInAtY29sdW1uLXRpdGxlXCI+Sm9iIFRpdGxlPC9zcGFuPnt7ZW1wbG95ZXIuZmVkSm9iVGlsZU9yUG9zaXRpb259fTwvdGQ+XG4gICAgICAgICAgICBcbiAgICAgIDx0ZCAqbmdJZj1cImVtcGxveWVyLnBheVJhdGVcIj48c3BhbiBjbGFzcz1cInAtY29sdW1uLXRpdGxlXCI+UGF5PC9zcGFuPnt7ZW1wbG95ZXIucGF5UmF0ZSB8IGN1cnJlbmN5fX0ve3tlbXBsb3llci5wYXlSYXRlRnJlcXVlbmN5LnRleHR9fTwvdGQ+XG4gICAgICA8dGQgKm5nSWY9XCIhZW1wbG95ZXIucGF5UmF0ZVwiPjxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj5QYXk8L3NwYW4+PC90ZD5cbiAgICAgIDx0ZCAqbmdJZj1cImVtcGxveWVyLmVtcGxveWVyVHlwZT09PSdNSUwnXCI+PHNwYW4gY2xhc3M9XCJwLWNvbHVtbi10aXRsZVwiPlBheTwvc3Bhbj48L3RkPlxuICAgICAgXG4gICAgICA8dGQgKm5nSWY9XCJlbXBsb3llci5lbXBsb3llclR5cGU9PT0nUkVHJ1wiPjxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj5TdGFydCBhbmQgRW5kPC9zcGFuPlxuICAgICAgICB7e2VtcGxveWVyLnN0YXJ0RGF0ZSB8IGRhdGU6J00vZC95eXl5J319IC0ge3tlbXBsb3llci5lbmREYXRlIHwgZGF0ZTonTS9kL3l5eXknfX1cbiAgICAgIDwvdGQ+XG4gICAgICBcbiAgICAgIDx0ZCAqbmdJZj1cImVtcGxveWVyLmVtcGxveWVyVHlwZT09PSdGRUQnXCI+PHNwYW4gY2xhc3M9XCJwLWNvbHVtbi10aXRsZVwiPlN0YXJ0IGFuZCBFbmQ8L3NwYW4+XG4gICAgICAgIHt7ZW1wbG95ZXIuc3RhcnREYXRlRmVkIHwgZGF0ZTonTS9kL3l5eXknfX0gLSB7e2VtcGxveWVyLmVuZERhdGVGZWQgfCBkYXRlOidNL2QveXl5eSd9fVxuICAgICAgPC90ZD5cblxuICAgICAgPHRkICpuZ0lmPVwiZW1wbG95ZXIuZW1wbG95ZXJUeXBlPT09J01JTCdcIj48c3BhbiBjbGFzcz1cInAtY29sdW1uLXRpdGxlXCI+U3RhcnQgYW5kIEVuZDwvc3Bhbj5cbiAgICAgICAge3tlbXBsb3llci5zdGFydERhdGVNaWwgfCBkYXRlOidNL2QveXl5eSd9fSAtIHt7ZW1wbG95ZXIuZW5kRGF0ZU1pbCB8IGRhdGU6J00vZC95eXl5J319XG4gICAgICA8L3RkPlxuXG4gICAgICA8dGQgKm5nSWY9XCIhZW1wbG95ZXIuc3RhcnREYXRlICYmICAhZW1wbG95ZXIuc3RhcnREYXRlRmVkICYmICFlbXBsb3llci5zdGFydERhdGVNaWxcIj48c3BhbiBjbGFzcz1cInAtY29sdW1uLXRpdGxlXCI+U3RhcnQgYW5kIEVuZDwvc3Bhbj48L3RkPlxuXG4gICAgICA8dGQgKm5nSWY9XCJlbXBsb3llci5lbXBsb3llclR5cGUhPSdNSUwnICYmIGVtcGxveWVyLnJlYXNvblNlcGFyYXRpb25cIj48c3BhbiBjbGFzcz1cInAtY29sdW1uLXRpdGxlXCI+U2VwYXJhdGlvbiBSZWFzb248L3NwYW4+e3tlbXBsb3llci5yZWFzb25TZXBhcmF0aW9uLnRleHR9fVxuICAgICAgPC90ZD5cbiAgICAgIFxuICAgICAgPHRkICpuZ0lmPVwiZW1wbG95ZXIuZW1wbG95ZXJUeXBlPT09J01JTCcgJiYgIWVtcGxveWVyLnJlYXNvblNlcGFyYXRpb25cIj48c3BhbiBjbGFzcz1cInAtY29sdW1uLXRpdGxlXCI+U2VwYXJhdGlvbiBSZWFzb248L3NwYW4+XG4gICAgICA8L3RkPlxuICAgIFxuICAgICAgXG4gICAgPC90cj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwic3VtbWFyeVwiIGxldC1jb2x1bW5zPlxuICAgIDx0YWJsZT5cbiAgICAgIDx0cj5cbiAgICAgICAgPHRkIFthdHRyLmNvbHNwYW5dPVwiMlwiIHN0eWxlPVwid2lkdGg6IDQwJTtcIj5cbiAgICAgICAgICA8ZGl2IFtpbm5lckh0bWxdPVwiJ2luZHVjdGlvbi5lbXBsb3ltZW50LmZvb3Rlci5sYWJlbCcgfCB0cmFuc2xhdGUgfCB0cnVzdEh0bWxcIj48L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIHN0eWxlPVwid2lkdGg6IDkuNzUlOyB0ZXh0LWFsaWduOiByaWdodDtcIj5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiIChjbGljayk9XCJhZGROZXdFbXBEZXRhaWxzKClcIiBjbGFzcz1cImFjdGlvbi1idXR0b25cIiBhcmlhLWxhYmVsPVwiQWRkIGVtcGxveWVyXCI+XG4gICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhbCcsICdwbHVzJ11cIiBjbGFzcz1cImFjdGlvbi1pY29uXCI+PC9mYS1pY29uPlxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGNvbHNwYW49XCI0XCI+Jm5ic3A7PC90ZD5cbiAgICAgIDwvdHI+XG4gICAgPC90YWJsZT5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuPC9wLXRhYmxlPlxuICA8YXBwLWFkZC1lbXBsb3llciAqbmdJZj1cImRpc3BsYXlcIiAoc3VjY2Vzcyk9XCJhZGRFbXBsb3llcigkZXZlbnQpXCIgIFtyZWNvcmRJbmRleFRvRWRpdF09XCJpbmRleFRvRWRpdFwiIFxuICAgIChiYXNlUGVyaW9kSW5kZXgpPVwiZGVsZXRlQnBFbXBsKCRldmVudClcIiBbaXNCYXNlUGVyaW9kRW1wbG95ZXJdPVwiaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiBbaXNOZXdDbGFpbV09XCJpc05ld0NsYWltXCIgKG1vZGVsQ2FuY2VsKT1cIm9uTW9kZWxDYW5jZWwoJGV2ZW50KVwiPlxuICA8L2FwcC1hZGQtZW1wbG95ZXI+XG5cbiAgPHAtZGlhbG9nIFt2aXNpYmxlXT1cInNob3dDb25maXJtUG9wdXBcIiBbbW9kYWxdPVwidHJ1ZVwiIGFwcGVuZFRvPVwiYm9keVwiIHBvc2l0aW9uPVwidG9wXCIgW2JyZWFrcG9pbnRzXT1cInsnMTIwMHB4JzogJzY2MHB4JywgJzk5MnB4JzogJzY2MHB4JywgJzc2OHB4JzogJzY2MHB4JywgJzU3NnB4JzogJzEwMHZ3J31cIiBbc3R5bGVdPVwie3dpZHRoOiAnNDV2dyd9XCJcbiAgICBbYmFzZVpJbmRleF09XCI1MDAwXCIgW2RyYWdnYWJsZV09XCJmYWxzZVwiIFtyZXNpemFibGVdPVwiZmFsc2VcIiBhcHBlbmRUbz1cImJvZHlcIiBjbG9zZU9uRXNjYXBlPVwiZmFsc2VcIiAqbmdJZj1cInNlbGVjdGVkRW1wbG95ZXJcIj5cbiAgICAgICAgPGg0IGNsYXNzPVwiaGVhZGluZ1wiPnt7J2luZHVjdGlvbi5lbXBsb3ltZW50LmdyaWQucG9wdXAuaGVhZGluZycgfCB0cmFuc2xhdGV9fTwvaDQ+XG4gICAgICAgIDxpb24tbGFiZWw+e3tzZWxlY3RlZEVtcGxveWVyLmVtcGxveWVyRGF0YS5kaXNwbGF5TmFtZX19PC9pb24tbGFiZWw+XG4gICAgICAgIDxpb24tbGFiZWw+PGRpdiBzdHlsZT1cImZvbnQtc2l6ZTogMTJweDtcIiBbaW5uZXJIdG1sXT1cInNlbGVjdGVkRW1wbG95ZXIuZW1wbG95ZXJEYXRhLm1haWxpbmdBZGRyZXNzRGlzcGxheSB8IHRydXN0SHRtbFwiPjwvZGl2PjwvaW9uLWxhYmVsPjxici8+XG4gICAgICAgIDxpb24tbGFiZWw+XG4gICAgICAgICAge3snaW5kdWN0aW9uLmVtcGxveW1lbnQuZ3JpZC5wb3B1cC5mYWlsdXJlLmxhYmVsJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgIDwvaW9uLWxhYmVsPjxici8+PGJyLz5cbiAgICAgICAgPGlvbi1sYWJlbD5cbiAgICAgICAgICB7eydpbmR1Y3Rpb24uZW1wbG95bWVudC5ncmlkLnBvcHVwLmRpZG50LndvcmsubGFiZWwnIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJmb290ZXJcIj5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiB0eXBlPVwic3VibWl0XCIgZmlsbD1cIm91dGxpbmVcIiAoY2xpY2spPVwiY2xvc2UoKVwiPlxuICAgICAgICAgICAgICB7eydpbmR1Y3Rpb24uZW1wbG95bWVudC5ncmlkLnBvcHVwLmNhbmNlbCcgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIHR5cGU9XCJzdWJtaXRcIiBmaWxsPVwic29saWRcIiAoY2xpY2spPVwicmVtb3ZlQmFzZVBlcmlvZEVtcGxveWVyKClcIj5cbiAgICAgICAgICAgICAge3snaW5kdWN0aW9uLmVtcGxveW1lbnQuZ3JpZC5wb3B1cC5yZW1vdmUnIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3AtZGlhbG9nPlxuPC9kaXY+Il19