@reusa/ngx-reusa-app-lib 0.0.732 → 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
@@ -1,3099 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import { Validators } from '@angular/forms';
3
- import { ClaimAppEmployerDetailsModel } from '../../models/questionnaire/ClaimAppEmployerDetailsModel';
4
- import { ComboOption } from '../../models/questionnaire/ComboModel';
5
- import { AppValidators } from '../../validations/AppValidators';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/forms";
8
- import * as i2 from "../../services/questionnaire/validation.service";
9
- import * as i3 from "../../services/util/util.service";
10
- import * as i4 from "primeng/api";
11
- import * as i5 from "../../services/logger/logger.service";
12
- import * as i6 from "@angular/platform-browser";
13
- import * as i7 from "../../services/claims/claims.service";
14
- import * as i8 from "../../services/login/login.service";
15
- import * as i9 from "@ionic/angular";
16
- import * as i10 from "@angular/common";
17
- import * as i11 from "primeng/dialog";
18
- import * as i12 from "primeng/table";
19
- import * as i13 from "primeng/inputtext";
20
- import * as i14 from "primeng/inputmask";
21
- import * as i15 from "primeng/calendar";
22
- import * as i16 from "primeng/checkbox";
23
- import * as i17 from "primeng/selectbutton";
24
- import * as i18 from "primeng/inputnumber";
25
- import * as i19 from "../error/error.component";
26
- import * as i20 from "../overlay-info/overlay-info.component";
27
- import * as i21 from "../search-employer/search-employer.component";
28
- import * as i22 from "../address/address.component";
29
- import * as i23 from "../dropdown/dropdown.component";
30
- import * as i24 from "@ngx-translate/core";
31
- const _c0 = ["address1"];
32
- const _c1 = ["address2"];
33
- const _c2 = ["addEmployerFormDirective"];
34
- function AddEmployerComponent_div_10_div_2_Template(rf, ctx) { if (rf & 1) {
35
- i0.ɵɵelementStart(0, "div");
36
- i0.ɵɵtext(1);
37
- i0.ɵɵpipe(2, "translate");
38
- i0.ɵɵelementEnd();
39
- } if (rf & 2) {
40
- const ctx_r58 = i0.ɵɵnextContext(2);
41
- i0.ɵɵadvance(1);
42
- i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind1(2, 2, "induction.confirm.employment.dba"), " ", ctx_r58.aliasName, "");
43
- } }
44
- function AddEmployerComponent_div_10_div_6_Template(rf, ctx) { if (rf & 1) {
45
- i0.ɵɵelementStart(0, "div");
46
- i0.ɵɵelement(1, "br");
47
- i0.ɵɵtext(2);
48
- i0.ɵɵpipe(3, "translate");
49
- i0.ɵɵelementEnd();
50
- } if (rf & 2) {
51
- i0.ɵɵadvance(2);
52
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 1, "induction.confirm.employment.employer.wages"), " ");
53
- } }
54
- function AddEmployerComponent_div_10_div_7_ng_template_2_th_1_Template(rf, ctx) { if (rf & 1) {
55
- i0.ɵɵelementStart(0, "th")(1, "b");
56
- i0.ɵɵtext(2);
57
- i0.ɵɵelementEnd()();
58
- } if (rf & 2) {
59
- const col_r65 = ctx.$implicit;
60
- i0.ɵɵadvance(2);
61
- i0.ɵɵtextInterpolate(col_r65.qtrYearDisplayString);
62
- } }
63
- function AddEmployerComponent_div_10_div_7_ng_template_2_td_3_Template(rf, ctx) { if (rf & 1) {
64
- i0.ɵɵelementStart(0, "td");
65
- i0.ɵɵtext(1);
66
- i0.ɵɵpipe(2, "currency");
67
- i0.ɵɵelementEnd();
68
- } if (rf & 2) {
69
- const col_r66 = ctx.$implicit;
70
- i0.ɵɵadvance(1);
71
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, col_r66.wageAmount), " ");
72
- } }
73
- function AddEmployerComponent_div_10_div_7_ng_template_2_Template(rf, ctx) { if (rf & 1) {
74
- i0.ɵɵelementStart(0, "tr");
75
- i0.ɵɵtemplate(1, AddEmployerComponent_div_10_div_7_ng_template_2_th_1_Template, 3, 1, "th", 17);
76
- i0.ɵɵelementEnd();
77
- i0.ɵɵelementStart(2, "tr");
78
- i0.ɵɵtemplate(3, AddEmployerComponent_div_10_div_7_ng_template_2_td_3_Template, 3, 3, "td", 17);
79
- i0.ɵɵelementEnd();
80
- } if (rf & 2) {
81
- const columns_r62 = ctx.$implicit;
82
- i0.ɵɵadvance(1);
83
- i0.ɵɵproperty("ngForOf", columns_r62);
84
- i0.ɵɵadvance(2);
85
- i0.ɵɵproperty("ngForOf", columns_r62);
86
- } }
87
- function AddEmployerComponent_div_10_div_7_Template(rf, ctx) { if (rf & 1) {
88
- i0.ɵɵelementStart(0, "div", 13)(1, "p-table", 15);
89
- i0.ɵɵtemplate(2, AddEmployerComponent_div_10_div_7_ng_template_2_Template, 4, 2, "ng-template", 16);
90
- i0.ɵɵelementEnd()();
91
- } if (rf & 2) {
92
- const ctx_r60 = i0.ɵɵnextContext(2);
93
- i0.ɵɵadvance(1);
94
- i0.ɵɵproperty("value", ctx_r60.employerProvidedWages)("columns", ctx_r60.employerProvidedWages);
95
- } }
96
- function AddEmployerComponent_div_10_Template(rf, ctx) { if (rf & 1) {
97
- i0.ɵɵelementStart(0, "div", 13);
98
- i0.ɵɵtext(1);
99
- i0.ɵɵtemplate(2, AddEmployerComponent_div_10_div_2_Template, 3, 4, "div", 8);
100
- i0.ɵɵelement(3, "br");
101
- i0.ɵɵelementStart(4, "span", 14);
102
- i0.ɵɵtext(5);
103
- i0.ɵɵelementEnd();
104
- i0.ɵɵtemplate(6, AddEmployerComponent_div_10_div_6_Template, 4, 3, "div", 8);
105
- i0.ɵɵtemplate(7, AddEmployerComponent_div_10_div_7_Template, 3, 2, "div", 6);
106
- i0.ɵɵelementEnd();
107
- } if (rf & 2) {
108
- const ctx_r1 = i0.ɵɵnextContext();
109
- i0.ɵɵadvance(1);
110
- i0.ɵɵtextInterpolate1(" ", ctx_r1.customerName, " ");
111
- i0.ɵɵadvance(1);
112
- i0.ɵɵproperty("ngIf", ctx_r1.aliasName != null);
113
- i0.ɵɵadvance(3);
114
- i0.ɵɵtextInterpolate1(" ", ctx_r1.mailingAddressDisplay, " ");
115
- i0.ɵɵadvance(1);
116
- i0.ɵɵproperty("ngIf", ctx_r1.isCSR);
117
- i0.ɵɵadvance(1);
118
- i0.ɵɵproperty("ngIf", ctx_r1.isCSR);
119
- } }
120
- function AddEmployerComponent_div_11_Template(rf, ctx) { if (rf & 1) {
121
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 18);
122
- i0.ɵɵtext(2);
123
- i0.ɵɵpipe(3, "translate");
124
- i0.ɵɵelement(4, "br")(5, "br");
125
- i0.ɵɵtext(6);
126
- i0.ɵɵpipe(7, "translate");
127
- i0.ɵɵelementEnd()();
128
- } if (rf & 2) {
129
- i0.ɵɵadvance(2);
130
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "induction.confirm.employment.workflag.no"));
131
- i0.ɵɵadvance(4);
132
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(7, 4, "induction.confirm.employment.workflag.no.line2"), "");
133
- } }
134
- const _c3 = function () { return { required: "required" }; };
135
- function AddEmployerComponent_div_12_Template(rf, ctx) { if (rf & 1) {
136
- const _r68 = i0.ɵɵgetCurrentView();
137
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 19);
138
- i0.ɵɵtext(2);
139
- i0.ɵɵpipe(3, "translate");
140
- i0.ɵɵelementEnd();
141
- i0.ɵɵelementStart(4, "div", 20)(5, "p-selectButton", 21);
142
- i0.ɵɵlistener("onOptionClick", function AddEmployerComponent_div_12_Template_p_selectButton_onOptionClick_5_listener($event) { i0.ɵɵrestoreView(_r68); const ctx_r67 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r67.onToggleChangeEmployerType($event)); });
143
- i0.ɵɵelementEnd();
144
- i0.ɵɵelement(6, "app-error", 22);
145
- i0.ɵɵelementEnd()();
146
- } if (rf & 2) {
147
- const ctx_r3 = i0.ɵɵnextContext();
148
- const _r0 = i0.ɵɵreference(5);
149
- i0.ɵɵadvance(2);
150
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "induction.add.employment.employer.type"));
151
- i0.ɵɵadvance(3);
152
- i0.ɵɵproperty("options", ctx_r3.employerTypeOptions)("formControl", ctx_r3.employerType);
153
- i0.ɵɵadvance(1);
154
- i0.ɵɵclassMap("app-grid");
155
- i0.ɵɵproperty("field", ctx_r3.employerType)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
156
- } }
157
- function AddEmployerComponent_div_13_Template(rf, ctx) { if (rf & 1) {
158
- const _r70 = i0.ɵɵgetCurrentView();
159
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 23);
160
- i0.ɵɵtext(2);
161
- i0.ɵɵpipe(3, "translate");
162
- i0.ɵɵelementEnd();
163
- i0.ɵɵelementStart(4, "app-search-employer", 24);
164
- i0.ɵɵlistener("onFound", function AddEmployerComponent_div_13_Template_app_search_employer_onFound_4_listener($event) { i0.ɵɵrestoreView(_r70); const ctx_r69 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r69.setEmployer($event)); })("onEmpty", function AddEmployerComponent_div_13_Template_app_search_employer_onEmpty_4_listener($event) { i0.ɵɵrestoreView(_r70); const ctx_r71 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r71.resetEmployer($event)); });
165
- i0.ɵɵelementEnd();
166
- i0.ɵɵelement(5, "app-error", 22);
167
- i0.ɵɵelementEnd();
168
- } if (rf & 2) {
169
- const ctx_r4 = i0.ɵɵnextContext();
170
- const _r0 = i0.ɵɵreference(5);
171
- i0.ɵɵadvance(2);
172
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "induction.add.employment.employer.name"));
173
- i0.ɵɵadvance(2);
174
- i0.ɵɵproperty("formControl", ctx_r4.employerName);
175
- i0.ɵɵadvance(1);
176
- i0.ɵɵclassMap("app-grid");
177
- i0.ɵɵproperty("field", ctx_r4.employerName)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c3));
178
- } }
179
- function AddEmployerComponent_div_14_Template(rf, ctx) { if (rf & 1) {
180
- const _r73 = i0.ɵɵgetCurrentView();
181
- i0.ɵɵelementStart(0, "div", 25)(1, "label", 26);
182
- i0.ɵɵtext(2);
183
- i0.ɵɵpipe(3, "translate");
184
- i0.ɵɵelementEnd();
185
- i0.ɵɵelementStart(4, "app-search-employer", 27);
186
- i0.ɵɵlistener("onFound", function AddEmployerComponent_div_14_Template_app_search_employer_onFound_4_listener($event) { i0.ɵɵrestoreView(_r73); const ctx_r72 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r72.setFedEmployer($event)); })("onEmpty", function AddEmployerComponent_div_14_Template_app_search_employer_onEmpty_4_listener($event) { i0.ɵɵrestoreView(_r73); const ctx_r74 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r74.resetFedEmployer($event)); });
187
- i0.ɵɵelementEnd();
188
- i0.ɵɵelement(5, "app-error", 22);
189
- i0.ɵɵelementEnd();
190
- } if (rf & 2) {
191
- const ctx_r5 = i0.ɵɵnextContext();
192
- const _r0 = i0.ɵɵreference(5);
193
- i0.ɵɵadvance(2);
194
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "induction.add.employment.employer.fed.name"));
195
- i0.ɵɵadvance(2);
196
- i0.ɵɵproperty("formControl", ctx_r5.fedEmployerName);
197
- i0.ɵɵadvance(1);
198
- i0.ɵɵclassMap("app-grid");
199
- i0.ɵɵproperty("field", ctx_r5.fedEmployerName)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c3));
200
- } }
201
- function AddEmployerComponent_div_15_Template(rf, ctx) { if (rf & 1) {
202
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 28);
203
- i0.ɵɵtext(2);
204
- i0.ɵɵpipe(3, "translate");
205
- i0.ɵɵelementEnd();
206
- i0.ɵɵelement(4, "app-dropdown", 29)(5, "app-error", 22);
207
- i0.ɵɵelementEnd();
208
- } if (rf & 2) {
209
- const ctx_r6 = i0.ɵɵnextContext();
210
- const _r0 = i0.ɵɵreference(5);
211
- i0.ɵɵadvance(2);
212
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 9, "induction.add.employment.mil.service.branch"));
213
- i0.ɵɵadvance(2);
214
- i0.ɵɵproperty("options", ctx_r6.militaryServiceOptions)("formControl", ctx_r6.serviceBranch)("autoDisplayFirst", false);
215
- i0.ɵɵadvance(1);
216
- i0.ɵɵclassMap("app-grid");
217
- i0.ɵɵproperty("field", ctx_r6.serviceBranch)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c3));
218
- } }
219
- function AddEmployerComponent_ion_row_16_Template(rf, ctx) { if (rf & 1) {
220
- const _r76 = i0.ɵɵgetCurrentView();
221
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 30)(2, "div", 13)(3, "label", 31);
222
- i0.ɵɵtext(4);
223
- i0.ɵɵpipe(5, "translate");
224
- i0.ɵɵelementEnd();
225
- i0.ɵɵelementStart(6, "p-calendar", 32);
226
- i0.ɵɵlistener("onBlur", function AddEmployerComponent_ion_row_16_Template_p_calendar_onBlur_6_listener($event) { i0.ɵɵrestoreView(_r76); const ctx_r75 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r75.validate($event)); })("onSelect", function AddEmployerComponent_ion_row_16_Template_p_calendar_onSelect_6_listener($event) { i0.ɵɵrestoreView(_r76); const ctx_r77 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r77.validate($event)); })("onInput", function AddEmployerComponent_ion_row_16_Template_p_calendar_onInput_6_listener($event) { i0.ɵɵrestoreView(_r76); const ctx_r78 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r78.dateInput($event)); });
227
- i0.ɵɵelementEnd();
228
- i0.ɵɵelement(7, "app-error", 22);
229
- i0.ɵɵelementEnd()();
230
- i0.ɵɵelement(8, "ion-col", 33);
231
- i0.ɵɵelementStart(9, "ion-col", 30)(10, "div", 13)(11, "label", 34);
232
- i0.ɵɵtext(12);
233
- i0.ɵɵpipe(13, "translate");
234
- i0.ɵɵelementEnd();
235
- i0.ɵɵelementStart(14, "p-calendar", 35);
236
- i0.ɵɵlistener("onInput", function AddEmployerComponent_ion_row_16_Template_p_calendar_onInput_14_listener($event) { i0.ɵɵrestoreView(_r76); const ctx_r79 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r79.dateInput($event)); });
237
- i0.ɵɵelementEnd();
238
- i0.ɵɵelement(15, "app-error", 22);
239
- i0.ɵɵelementEnd()()();
240
- } if (rf & 2) {
241
- const ctx_r7 = i0.ɵɵnextContext();
242
- const _r0 = i0.ɵɵreference(5);
243
- i0.ɵɵadvance(4);
244
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 23, "induction.add.employment.mil.startdate"));
245
- i0.ɵɵadvance(2);
246
- i0.ɵɵproperty("showIcon", true)("formControl", ctx_r7.startDateMil)("maxDate", ctx_r7.dateTime)("yearNavigator", true)("showOnFocus", false);
247
- i0.ɵɵadvance(1);
248
- i0.ɵɵclassMap("app-grid");
249
- i0.ɵɵproperty("field", ctx_r7.startDateMil)("form", _r0)("errDef", i0.ɵɵpureFunction0(27, _c3));
250
- i0.ɵɵadvance(5);
251
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 25, "induction.add.employment.mil.enddate"));
252
- i0.ɵɵadvance(2);
253
- i0.ɵɵproperty("showIcon", true)("maxDate", ctx_r7.dateTime)("minDate", ctx_r7.minDate)("yearNavigator", true)("formControl", ctx_r7.endDateMil)("showOnFocus", false);
254
- i0.ɵɵadvance(1);
255
- i0.ɵɵclassMap("app-grid");
256
- i0.ɵɵproperty("field", ctx_r7.endDateMil)("form", _r0)("errDef", i0.ɵɵpureFunction0(28, _c3));
257
- } }
258
- function AddEmployerComponent_ion_row_17_Template(rf, ctx) { if (rf & 1) {
259
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 30)(2, "div", 13)(3, "label", 36);
260
- i0.ɵɵtext(4);
261
- i0.ɵɵpipe(5, "translate");
262
- i0.ɵɵelementEnd();
263
- i0.ɵɵelement(6, "input", 37)(7, "app-error", 22);
264
- i0.ɵɵelementEnd()();
265
- i0.ɵɵelement(8, "ion-col", 33);
266
- i0.ɵɵelementStart(9, "ion-col", 30)(10, "div", 13)(11, "label", 38);
267
- i0.ɵɵtext(12);
268
- i0.ɵɵpipe(13, "translate");
269
- i0.ɵɵelementEnd();
270
- i0.ɵɵelement(14, "input", 39)(15, "app-error", 22);
271
- i0.ɵɵelementEnd()()();
272
- } if (rf & 2) {
273
- const ctx_r8 = i0.ɵɵnextContext();
274
- const _r0 = i0.ɵɵreference(5);
275
- i0.ɵɵadvance(4);
276
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 14, "induction.add.employment.fed.fic.code"));
277
- i0.ɵɵadvance(2);
278
- i0.ɵɵproperty("formControl", ctx_r8.ficCode);
279
- i0.ɵɵadvance(1);
280
- i0.ɵɵclassMap("app-grid");
281
- i0.ɵɵproperty("field", ctx_r8.ficCode)("form", _r0)("errDef", i0.ɵɵpureFunction0(18, _c3));
282
- i0.ɵɵadvance(5);
283
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 16, "induction.add.employment.fed.fic.destination"));
284
- i0.ɵɵadvance(2);
285
- i0.ɵɵproperty("formControl", ctx_r8.ficDestinationName);
286
- i0.ɵɵadvance(1);
287
- i0.ɵɵclassMap("app-grid");
288
- i0.ɵɵproperty("field", ctx_r8.ficDestinationName)("form", _r0)("errDef", i0.ɵɵpureFunction0(19, _c3));
289
- } }
290
- function AddEmployerComponent_ion_row_18_Template(rf, ctx) { if (rf & 1) {
291
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 40);
292
- i0.ɵɵelement(2, "app-address", 41, 42);
293
- i0.ɵɵelementEnd()();
294
- } if (rf & 2) {
295
- const ctx_r9 = i0.ɵɵnextContext();
296
- i0.ɵɵadvance(2);
297
- i0.ɵɵproperty("formControl", ctx_r9.address)("countyRequired", false)("fromPopup", true);
298
- } }
299
- const _c4 = function () { return { addressValidationFlag: "Please provide, a valid address." }; };
300
- function AddEmployerComponent_div_19_Template(rf, ctx) { if (rf & 1) {
301
- i0.ɵɵelementStart(0, "div", 13);
302
- i0.ɵɵelement(1, "app-address", 43, 44)(3, "app-error", 22);
303
- i0.ɵɵelementEnd();
304
- } if (rf & 2) {
305
- const ctx_r10 = i0.ɵɵnextContext();
306
- const _r0 = i0.ɵɵreference(5);
307
- i0.ɵɵadvance(1);
308
- i0.ɵɵproperty("formControl", ctx_r10.address)("fromPopup", true);
309
- i0.ɵɵadvance(2);
310
- i0.ɵɵclassMap("app-grid");
311
- i0.ɵɵproperty("field", ctx_r10.address)("form", _r0)("errDef", i0.ɵɵpureFunction0(7, _c4));
312
- } }
313
- function AddEmployerComponent_ion_row_20_Template(rf, ctx) { if (rf & 1) {
314
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 30)(2, "div", 13)(3, "label", 45);
315
- i0.ɵɵtext(4);
316
- i0.ɵɵpipe(5, "translate");
317
- i0.ɵɵelementEnd();
318
- i0.ɵɵelement(6, "input", 46)(7, "app-error", 22);
319
- i0.ɵɵelementEnd()();
320
- i0.ɵɵelement(8, "ion-col", 33);
321
- i0.ɵɵelementStart(9, "ion-col", 30)(10, "div", 13)(11, "label", 47);
322
- i0.ɵɵtext(12);
323
- i0.ɵɵpipe(13, "translate");
324
- i0.ɵɵelementEnd();
325
- i0.ɵɵelement(14, "app-dropdown", 48)(15, "app-error", 22);
326
- i0.ɵɵelementEnd()()();
327
- } if (rf & 2) {
328
- const ctx_r11 = i0.ɵɵnextContext();
329
- const _r0 = i0.ɵɵreference(5);
330
- i0.ɵɵadvance(4);
331
- i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(5, 16, "induction.add.employment.work.location.city"), " ");
332
- i0.ɵɵadvance(2);
333
- i0.ɵɵproperty("formControl", ctx_r11.workCity);
334
- i0.ɵɵadvance(1);
335
- i0.ɵɵclassMap("app-grid");
336
- i0.ɵɵproperty("field", ctx_r11.workCity)("form", _r0)("errDef", i0.ɵɵpureFunction0(20, _c3));
337
- i0.ɵɵadvance(5);
338
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 18, "induction.add.employment.work.location.state"));
339
- i0.ɵɵadvance(2);
340
- i0.ɵɵproperty("options", ctx_r11.statesOptions)("formControl", ctx_r11.workState)("autoDisplayFirst", false);
341
- i0.ɵɵadvance(1);
342
- i0.ɵɵclassMap("app-grid");
343
- i0.ɵɵproperty("field", ctx_r11.workState)("form", _r0)("errDef", i0.ɵɵpureFunction0(21, _c3));
344
- } }
345
- function AddEmployerComponent_div_21_Template(rf, ctx) { if (rf & 1) {
346
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 49);
347
- i0.ɵɵtext(2);
348
- i0.ɵɵpipe(3, "translate");
349
- i0.ɵɵelementEnd();
350
- i0.ɵɵelement(4, "app-dropdown", 50)(5, "app-error", 22);
351
- i0.ɵɵelementEnd();
352
- } if (rf & 2) {
353
- const ctx_r12 = i0.ɵɵnextContext();
354
- const _r0 = i0.ɵɵreference(5);
355
- i0.ɵɵadvance(2);
356
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 9, "induction.add.employment.fed.work.location.country"));
357
- i0.ɵɵadvance(2);
358
- i0.ɵɵproperty("options", ctx_r12.workCountryOptions)("formControl", ctx_r12.fedWorkCountry)("autoDisplayFirst", false);
359
- i0.ɵɵadvance(1);
360
- i0.ɵɵclassMap("app-grid");
361
- i0.ɵɵproperty("field", ctx_r12.fedWorkCountry)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c3));
362
- } }
363
- function AddEmployerComponent_ion_row_22_ion_col_9_Template(rf, ctx) { if (rf & 1) {
364
- i0.ɵɵelementStart(0, "ion-col", 30)(1, "div", 13)(2, "label", 54);
365
- i0.ɵɵtext(3);
366
- i0.ɵɵpipe(4, "translate");
367
- i0.ɵɵelementEnd();
368
- i0.ɵɵelement(5, "app-dropdown", 55)(6, "app-error", 22);
369
- i0.ɵɵelementEnd()();
370
- } if (rf & 2) {
371
- const ctx_r82 = i0.ɵɵnextContext(2);
372
- const _r0 = i0.ɵɵreference(5);
373
- i0.ɵɵadvance(3);
374
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 9, "induction.add.employment.work.location.state"));
375
- i0.ɵɵadvance(2);
376
- i0.ɵɵproperty("options", ctx_r82.statesOptions)("formControl", ctx_r82.fedWorkState)("autoDisplayFirst", false);
377
- i0.ɵɵadvance(1);
378
- i0.ɵɵclassMap("app-grid");
379
- i0.ɵɵproperty("field", ctx_r82.fedWorkState)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c3));
380
- } }
381
- function AddEmployerComponent_ion_row_22_Template(rf, ctx) { if (rf & 1) {
382
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 30)(2, "div", 13)(3, "label", 51);
383
- i0.ɵɵtext(4);
384
- i0.ɵɵpipe(5, "translate");
385
- i0.ɵɵelementEnd();
386
- i0.ɵɵelement(6, "input", 52)(7, "app-error", 22);
387
- i0.ɵɵelementEnd()();
388
- i0.ɵɵelement(8, "ion-col", 33);
389
- i0.ɵɵtemplate(9, AddEmployerComponent_ion_row_22_ion_col_9_Template, 7, 12, "ion-col", 53);
390
- i0.ɵɵelementEnd();
391
- } if (rf & 2) {
392
- const ctx_r13 = i0.ɵɵnextContext();
393
- const _r0 = i0.ɵɵreference(5);
394
- i0.ɵɵadvance(4);
395
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 8, "induction.add.employment.work.location.city"));
396
- i0.ɵɵadvance(2);
397
- i0.ɵɵproperty("formControl", ctx_r13.fedWorkCity);
398
- i0.ɵɵadvance(1);
399
- i0.ɵɵclassMap("app-grid");
400
- i0.ɵɵproperty("field", ctx_r13.fedWorkCity)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
401
- i0.ɵɵadvance(2);
402
- i0.ɵɵproperty("ngIf", ctx_r13.showWorkState === true);
403
- } }
404
- function AddEmployerComponent_ion_row_23_Template(rf, ctx) { if (rf & 1) {
405
- const _r84 = i0.ɵɵgetCurrentView();
406
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 30)(2, "div", 13)(3, "label", 56);
407
- i0.ɵɵtext(4);
408
- i0.ɵɵpipe(5, "translate");
409
- i0.ɵɵelementEnd();
410
- i0.ɵɵelementStart(6, "p-calendar", 57);
411
- i0.ɵɵlistener("onBlur", function AddEmployerComponent_ion_row_23_Template_p_calendar_onBlur_6_listener($event) { i0.ɵɵrestoreView(_r84); const ctx_r83 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r83.validate($event)); })("onSelect", function AddEmployerComponent_ion_row_23_Template_p_calendar_onSelect_6_listener($event) { i0.ɵɵrestoreView(_r84); const ctx_r85 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r85.validate($event)); })("onInput", function AddEmployerComponent_ion_row_23_Template_p_calendar_onInput_6_listener($event) { i0.ɵɵrestoreView(_r84); const ctx_r86 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r86.dateInput($event)); });
412
- i0.ɵɵelementEnd();
413
- i0.ɵɵelement(7, "app-error", 22);
414
- i0.ɵɵelementEnd()();
415
- i0.ɵɵelement(8, "ion-col", 33);
416
- i0.ɵɵelementStart(9, "ion-col", 30)(10, "div", 13)(11, "label", 58);
417
- i0.ɵɵtext(12);
418
- i0.ɵɵpipe(13, "translate");
419
- i0.ɵɵelementEnd();
420
- i0.ɵɵelementStart(14, "p-calendar", 59);
421
- i0.ɵɵlistener("onInput", function AddEmployerComponent_ion_row_23_Template_p_calendar_onInput_14_listener($event) { i0.ɵɵrestoreView(_r84); const ctx_r87 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r87.dateInput($event)); });
422
- i0.ɵɵelementEnd();
423
- i0.ɵɵelement(15, "app-error", 22);
424
- i0.ɵɵelementEnd()()();
425
- } if (rf & 2) {
426
- const ctx_r14 = i0.ɵɵnextContext();
427
- const _r0 = i0.ɵɵreference(5);
428
- i0.ɵɵadvance(4);
429
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 23, "induction.add.employment.fed.startdate"));
430
- i0.ɵɵadvance(2);
431
- i0.ɵɵproperty("showIcon", true)("maxDate", ctx_r14.dateTime)("formControl", ctx_r14.startDateFed)("yearNavigator", true)("showOnFocus", false);
432
- i0.ɵɵadvance(1);
433
- i0.ɵɵclassMap("app-grid");
434
- i0.ɵɵproperty("field", ctx_r14.startDateFed)("form", _r0)("errDef", i0.ɵɵpureFunction0(27, _c3));
435
- i0.ɵɵadvance(5);
436
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 25, "induction.add.employment.fed.enddate"));
437
- i0.ɵɵadvance(2);
438
- i0.ɵɵproperty("showIcon", true)("maxDate", ctx_r14.dateTime)("minDate", ctx_r14.minDate)("yearNavigator", true)("formControl", ctx_r14.endDateFed)("showOnFocus", false);
439
- i0.ɵɵadvance(1);
440
- i0.ɵɵclassMap("app-grid");
441
- i0.ɵɵproperty("field", ctx_r14.endDateFed)("form", _r0)("errDef", i0.ɵɵpureFunction0(28, _c3));
442
- } }
443
- function AddEmployerComponent_div_24_Template(rf, ctx) { if (rf & 1) {
444
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 60);
445
- i0.ɵɵtext(2);
446
- i0.ɵɵpipe(3, "translate");
447
- i0.ɵɵelementEnd();
448
- i0.ɵɵelement(4, "input", 61)(5, "app-error", 22);
449
- i0.ɵɵelementEnd();
450
- } if (rf & 2) {
451
- const ctx_r15 = i0.ɵɵnextContext();
452
- const _r0 = i0.ɵɵreference(5);
453
- i0.ɵɵadvance(2);
454
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "induction.add.employment.fed.jobtitle"));
455
- i0.ɵɵadvance(2);
456
- i0.ɵɵproperty("formControl", ctx_r15.fedJobTileOrPosition);
457
- i0.ɵɵadvance(1);
458
- i0.ɵɵclassMap("app-grid");
459
- i0.ɵɵproperty("field", ctx_r15.fedJobTileOrPosition)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c3));
460
- } }
461
- function AddEmployerComponent_div_25_Template(rf, ctx) { if (rf & 1) {
462
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 62);
463
- i0.ɵɵtext(2);
464
- i0.ɵɵpipe(3, "translate");
465
- i0.ɵɵelementEnd();
466
- i0.ɵɵelementStart(4, "div", 63);
467
- i0.ɵɵelement(5, "p-selectButton", 64);
468
- i0.ɵɵelementEnd();
469
- i0.ɵɵelement(6, "app-error", 22);
470
- i0.ɵɵelementEnd();
471
- } if (rf & 2) {
472
- const ctx_r16 = i0.ɵɵnextContext();
473
- const _r0 = i0.ɵɵreference(5);
474
- i0.ɵɵadvance(2);
475
- i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(3, 8, "induction.add.employment.fed.sfeight"), " ");
476
- i0.ɵɵadvance(3);
477
- i0.ɵɵproperty("options", ctx_r16.radioOptions)("formControl", ctx_r16.sfEightflag);
478
- i0.ɵɵadvance(1);
479
- i0.ɵɵclassMap("app-grid");
480
- i0.ɵɵproperty("field", ctx_r16.sfEightflag)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
481
- } }
482
- function AddEmployerComponent_ion_row_26_Template(rf, ctx) { if (rf & 1) {
483
- const _r89 = i0.ɵɵgetCurrentView();
484
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 30)(2, "div", 13)(3, "label", 65);
485
- i0.ɵɵtext(4);
486
- i0.ɵɵpipe(5, "translate");
487
- i0.ɵɵelementEnd();
488
- i0.ɵɵelementStart(6, "p-calendar", 66);
489
- i0.ɵɵlistener("onBlur", function AddEmployerComponent_ion_row_26_Template_p_calendar_onBlur_6_listener($event) { i0.ɵɵrestoreView(_r89); const ctx_r88 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r88.validate($event)); })("onSelect", function AddEmployerComponent_ion_row_26_Template_p_calendar_onSelect_6_listener($event) { i0.ɵɵrestoreView(_r89); const ctx_r90 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r90.validate($event)); })("onInput", function AddEmployerComponent_ion_row_26_Template_p_calendar_onInput_6_listener($event) { i0.ɵɵrestoreView(_r89); const ctx_r91 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r91.dateInput($event)); });
490
- i0.ɵɵelementEnd();
491
- i0.ɵɵelement(7, "app-error", 22);
492
- i0.ɵɵelementEnd()();
493
- i0.ɵɵelement(8, "ion-col", 33);
494
- i0.ɵɵelementStart(9, "ion-col", 30)(10, "div", 13)(11, "label", 67);
495
- i0.ɵɵtext(12);
496
- i0.ɵɵpipe(13, "translate");
497
- i0.ɵɵelementEnd();
498
- i0.ɵɵelementStart(14, "p-calendar", 68);
499
- i0.ɵɵlistener("onBlur", function AddEmployerComponent_ion_row_26_Template_p_calendar_onBlur_14_listener($event) { i0.ɵɵrestoreView(_r89); const ctx_r92 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r92.validateWagesDisplay($event)); })("onInput", function AddEmployerComponent_ion_row_26_Template_p_calendar_onInput_14_listener($event) { i0.ɵɵrestoreView(_r89); const ctx_r93 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r93.dateInput($event)); })("onSelect", function AddEmployerComponent_ion_row_26_Template_p_calendar_onSelect_14_listener($event) { i0.ɵɵrestoreView(_r89); const ctx_r94 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r94.validateWagesDisplay($event)); });
500
- i0.ɵɵelementEnd();
501
- i0.ɵɵelement(15, "app-error", 22);
502
- i0.ɵɵelementEnd()()();
503
- } if (rf & 2) {
504
- const ctx_r17 = i0.ɵɵnextContext();
505
- const _r0 = i0.ɵɵreference(5);
506
- i0.ɵɵadvance(4);
507
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 23, "induction.confirm.employment.startdate"));
508
- i0.ɵɵadvance(2);
509
- i0.ɵɵproperty("showIcon", true)("maxDate", ctx_r17.dateTime)("formControl", ctx_r17.startDate)("yearNavigator", true)("showOnFocus", false);
510
- i0.ɵɵadvance(1);
511
- i0.ɵɵclassMap("app-grid");
512
- i0.ɵɵproperty("field", ctx_r17.startDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(27, _c3));
513
- i0.ɵɵadvance(5);
514
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 25, "induction.confirm.employment.enddate"));
515
- i0.ɵɵadvance(2);
516
- i0.ɵɵproperty("showIcon", true)("minDate", ctx_r17.minDate)("maxDate", ctx_r17.dateTime)("yearNavigator", true)("formControl", ctx_r17.endDate)("showOnFocus", false);
517
- i0.ɵɵadvance(1);
518
- i0.ɵɵclassMap("app-grid");
519
- i0.ɵɵproperty("field", ctx_r17.endDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(28, _c3));
520
- } }
521
- function AddEmployerComponent_ion_row_27_Template(rf, ctx) { if (rf & 1) {
522
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 30)(2, "div", 13)(3, "label", 69);
523
- i0.ɵɵtext(4);
524
- i0.ɵɵpipe(5, "translate");
525
- i0.ɵɵelementEnd();
526
- i0.ɵɵelement(6, "input", 70)(7, "app-error", 22);
527
- i0.ɵɵelementEnd()()();
528
- } if (rf & 2) {
529
- const ctx_r18 = i0.ɵɵnextContext();
530
- const _r0 = i0.ɵɵreference(5);
531
- i0.ɵɵadvance(4);
532
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 7, "induction.add.employment.reg.work.type"));
533
- i0.ɵɵadvance(2);
534
- i0.ɵɵproperty("formControl", ctx_r18.workType);
535
- i0.ɵɵadvance(1);
536
- i0.ɵɵclassMap("app-grid");
537
- i0.ɵɵproperty("field", ctx_r18.workType)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c3));
538
- } }
539
- function AddEmployerComponent_div_28_Template(rf, ctx) { if (rf & 1) {
540
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 71);
541
- i0.ɵɵtext(2);
542
- i0.ɵɵpipe(3, "translate");
543
- i0.ɵɵelementEnd();
544
- i0.ɵɵelementStart(4, "div", 63);
545
- i0.ɵɵelement(5, "p-selectButton", 64)(6, "app-error", 22);
546
- i0.ɵɵelementEnd()();
547
- } if (rf & 2) {
548
- const ctx_r19 = i0.ɵɵnextContext();
549
- const _r0 = i0.ɵɵreference(5);
550
- i0.ɵɵadvance(2);
551
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "induction.add.employment.fed.civilian.work"));
552
- i0.ɵɵadvance(3);
553
- i0.ɵɵproperty("options", ctx_r19.radioOptions)("formControl", ctx_r19.performedService);
554
- i0.ɵɵadvance(1);
555
- i0.ɵɵclassMap("app-grid");
556
- i0.ɵɵproperty("field", ctx_r19.performedService)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
557
- } }
558
- function AddEmployerComponent_div_29_Template(rf, ctx) { if (rf & 1) {
559
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 72);
560
- i0.ɵɵtext(2);
561
- i0.ɵɵpipe(3, "translate");
562
- i0.ɵɵelementEnd();
563
- i0.ɵɵelement(4, "input", 73)(5, "app-error", 22);
564
- i0.ɵɵelementEnd();
565
- } if (rf & 2) {
566
- const ctx_r20 = i0.ɵɵnextContext();
567
- const _r0 = i0.ɵɵreference(5);
568
- i0.ɵɵadvance(2);
569
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "induction.confirm.employment.jobtitle"));
570
- i0.ɵɵadvance(2);
571
- i0.ɵɵproperty("formControl", ctx_r20.jobTileOrPosition);
572
- i0.ɵɵadvance(1);
573
- i0.ɵɵclassMap("app-grid");
574
- i0.ɵɵproperty("field", ctx_r20.jobTileOrPosition)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c3));
575
- } }
576
- function AddEmployerComponent_ion_row_30_ion_col_1_Template(rf, ctx) { if (rf & 1) {
577
- i0.ɵɵelementStart(0, "ion-col", 76)(1, "div", 13)(2, "label", 77);
578
- i0.ɵɵtext(3);
579
- i0.ɵɵpipe(4, "translate");
580
- i0.ɵɵelementEnd();
581
- i0.ɵɵelement(5, "p-inputNumber", 78)(6, "app-error", 22);
582
- i0.ɵɵelementEnd()();
583
- } if (rf & 2) {
584
- const ctx_r95 = i0.ɵɵnextContext(2);
585
- const _r0 = i0.ɵɵreference(5);
586
- i0.ɵɵadvance(3);
587
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 8, "induction.confirm.employment.payrate"));
588
- i0.ɵɵadvance(2);
589
- i0.ɵɵproperty("formControl", ctx_r95.payRate)("max", 999999.99);
590
- i0.ɵɵadvance(1);
591
- i0.ɵɵclassMap("app-grid");
592
- i0.ɵɵproperty("field", ctx_r95.payRate)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
593
- } }
594
- function AddEmployerComponent_ion_row_30_ion_col_2_Template(rf, ctx) { if (rf & 1) {
595
- i0.ɵɵelementStart(0, "ion-col", 79)(1, "div", 13)(2, "label", 80);
596
- i0.ɵɵtext(3);
597
- i0.ɵɵpipe(4, "translate");
598
- i0.ɵɵelementEnd();
599
- i0.ɵɵelement(5, "app-dropdown", 81)(6, "app-error", 22);
600
- i0.ɵɵelementEnd()();
601
- } if (rf & 2) {
602
- const ctx_r96 = i0.ɵɵnextContext(2);
603
- const _r0 = i0.ɵɵreference(5);
604
- i0.ɵɵadvance(3);
605
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 9, "induction.confirm.employment.per"));
606
- i0.ɵɵadvance(2);
607
- i0.ɵɵproperty("options", ctx_r96.payRateOptions)("formControl", ctx_r96.payRateFrequency)("autoDisplayFirst", false);
608
- i0.ɵɵadvance(1);
609
- i0.ɵɵclassMap("app-grid");
610
- i0.ɵɵproperty("field", ctx_r96.payRateFrequency)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c3));
611
- } }
612
- function AddEmployerComponent_ion_row_30_Template(rf, ctx) { if (rf & 1) {
613
- i0.ɵɵelementStart(0, "ion-row");
614
- i0.ɵɵtemplate(1, AddEmployerComponent_ion_row_30_ion_col_1_Template, 7, 11, "ion-col", 74);
615
- i0.ɵɵtemplate(2, AddEmployerComponent_ion_row_30_ion_col_2_Template, 7, 12, "ion-col", 75);
616
- i0.ɵɵelementEnd();
617
- } if (rf & 2) {
618
- const ctx_r21 = i0.ɵɵnextContext();
619
- i0.ɵɵadvance(1);
620
- i0.ɵɵproperty("ngIf", ctx_r21.isBasePeriodEmployer && ctx_r21.workFlag.value === "Y");
621
- i0.ɵɵadvance(1);
622
- i0.ɵɵproperty("ngIf", ctx_r21.isBasePeriodEmployer && ctx_r21.workFlag.value === "Y");
623
- } }
624
- function AddEmployerComponent_div_31_Template(rf, ctx) { if (rf & 1) {
625
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 82);
626
- i0.ɵɵtext(2);
627
- i0.ɵɵpipe(3, "translate");
628
- i0.ɵɵelementEnd();
629
- i0.ɵɵelement(4, "p-inputMask", 83)(5, "app-error", 22);
630
- i0.ɵɵelementEnd();
631
- } if (rf & 2) {
632
- const ctx_r22 = i0.ɵɵnextContext();
633
- const _r0 = i0.ɵɵreference(5);
634
- i0.ɵɵadvance(2);
635
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "induction.confirm.employment.employer.phone"));
636
- i0.ɵɵadvance(2);
637
- i0.ɵɵproperty("id", ctx_r22.employerTelephoneNumber)("formControl", ctx_r22.employerTelephoneNumber);
638
- i0.ɵɵadvance(1);
639
- i0.ɵɵclassMap("app-grid");
640
- i0.ɵɵproperty("field", ctx_r22.employerTelephoneNumber)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
641
- } }
642
- function AddEmployerComponent_div_32_div_2_Template(rf, ctx) { if (rf & 1) {
643
- i0.ɵɵelementStart(0, "div");
644
- i0.ɵɵtext(1);
645
- i0.ɵɵpipe(2, "translate");
646
- i0.ɵɵelementEnd();
647
- } if (rf & 2) {
648
- i0.ɵɵadvance(1);
649
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "induction.confirm.employment.reason.separation"));
650
- } }
651
- function AddEmployerComponent_div_32_div_3_Template(rf, ctx) { if (rf & 1) {
652
- i0.ɵɵelementStart(0, "div");
653
- i0.ɵɵtext(1);
654
- i0.ɵɵpipe(2, "translate");
655
- i0.ɵɵelementEnd();
656
- } if (rf & 2) {
657
- i0.ɵɵadvance(1);
658
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "induction.add.employment.fed.reason.separation"));
659
- } }
660
- function AddEmployerComponent_div_32_Template(rf, ctx) { if (rf & 1) {
661
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 84);
662
- i0.ɵɵtemplate(2, AddEmployerComponent_div_32_div_2_Template, 3, 3, "div", 8);
663
- i0.ɵɵtemplate(3, AddEmployerComponent_div_32_div_3_Template, 3, 3, "div", 8);
664
- i0.ɵɵelementEnd();
665
- i0.ɵɵelement(4, "app-dropdown", 85)(5, "app-error", 22);
666
- i0.ɵɵelementEnd();
667
- } if (rf & 2) {
668
- const ctx_r23 = i0.ɵɵnextContext();
669
- const _r0 = i0.ɵɵreference(5);
670
- i0.ɵɵadvance(2);
671
- i0.ɵɵproperty("ngIf", ctx_r23.employerType.value === "REG");
672
- i0.ɵɵadvance(1);
673
- i0.ɵɵproperty("ngIf", ctx_r23.employerType.value === "FED");
674
- i0.ɵɵadvance(1);
675
- i0.ɵɵproperty("options", ctx_r23.employmentStatusOptionsAll)("formControl", ctx_r23.reasonSeparation)("autoDisplayFirst", false);
676
- i0.ɵɵadvance(1);
677
- i0.ɵɵclassMap("app-grid");
678
- i0.ɵɵproperty("field", ctx_r23.reasonSeparation)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
679
- } }
680
- function AddEmployerComponent_div_33_Template(rf, ctx) { if (rf & 1) {
681
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 86);
682
- i0.ɵɵtext(2);
683
- i0.ɵɵpipe(3, "translate");
684
- i0.ɵɵelementEnd();
685
- i0.ɵɵelement(4, "app-dropdown", 87)(5, "app-error", 22);
686
- i0.ɵɵelementEnd();
687
- } if (rf & 2) {
688
- const ctx_r24 = i0.ɵɵnextContext();
689
- const _r0 = i0.ɵɵreference(5);
690
- i0.ɵɵadvance(2);
691
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 9, "induction.confirm.employment.reason.separation.discharge"));
692
- i0.ɵɵadvance(2);
693
- i0.ɵɵproperty("options", ctx_r24.dischargeReasonOptionsAll)("formControl", ctx_r24.dischargeDetail)("autoDisplayFirst", false);
694
- i0.ɵɵadvance(1);
695
- i0.ɵɵclassMap("app-grid");
696
- i0.ɵɵproperty("field", ctx_r24.dischargeDetail)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c3));
697
- } }
698
- function AddEmployerComponent_div_34_Template(rf, ctx) { if (rf & 1) {
699
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 88);
700
- i0.ɵɵtext(2);
701
- i0.ɵɵpipe(3, "translate");
702
- i0.ɵɵelementEnd();
703
- i0.ɵɵelement(4, "app-dropdown", 89)(5, "app-error", 22);
704
- i0.ɵɵelementEnd();
705
- } if (rf & 2) {
706
- const ctx_r25 = i0.ɵɵnextContext();
707
- const _r0 = i0.ɵɵreference(5);
708
- i0.ɵɵadvance(2);
709
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 9, "induction.confirm.employment.reason.separation.quit"));
710
- i0.ɵɵadvance(2);
711
- i0.ɵɵproperty("options", ctx_r25.volQuitReasonOptionsAll)("formControl", ctx_r25.volQuitDetails)("autoDisplayFirst", false);
712
- i0.ɵɵadvance(1);
713
- i0.ɵɵclassMap("app-grid");
714
- i0.ɵɵproperty("field", ctx_r25.volQuitDetails)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c3));
715
- } }
716
- function AddEmployerComponent_div_35_Template(rf, ctx) { if (rf & 1) {
717
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 90);
718
- i0.ɵɵtext(2);
719
- i0.ɵɵpipe(3, "translate");
720
- i0.ɵɵelement(4, "br");
721
- i0.ɵɵtext(5);
722
- i0.ɵɵpipe(6, "translate");
723
- i0.ɵɵelementEnd();
724
- i0.ɵɵelementStart(7, "div", 63);
725
- i0.ɵɵelement(8, "p-selectButton", 64)(9, "app-error", 22);
726
- i0.ɵɵelementEnd()();
727
- } if (rf & 2) {
728
- const ctx_r26 = i0.ɵɵnextContext();
729
- const _r0 = i0.ɵɵreference(5);
730
- i0.ɵɵadvance(2);
731
- i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(3, 9, "induction.add.employment.mil.pension"), " ");
732
- i0.ɵɵadvance(3);
733
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 11, "induction.add.employment.mil.pension.disclaimer"), " ");
734
- i0.ɵɵadvance(3);
735
- i0.ɵɵproperty("options", ctx_r26.radioOptions)("formControl", ctx_r26.milPensionFlag);
736
- i0.ɵɵadvance(1);
737
- i0.ɵɵclassMap("app-grid");
738
- i0.ɵɵproperty("field", ctx_r26.milPensionFlag)("form", _r0)("errDef", i0.ɵɵpureFunction0(13, _c3));
739
- } }
740
- function AddEmployerComponent_div_36_Template(rf, ctx) { if (rf & 1) {
741
- const _r100 = i0.ɵɵgetCurrentView();
742
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 91);
743
- i0.ɵɵtext(2);
744
- i0.ɵɵpipe(3, "translate");
745
- i0.ɵɵelementEnd();
746
- i0.ɵɵelementStart(4, "div")(5, "p-calendar", 92);
747
- i0.ɵɵlistener("onInput", function AddEmployerComponent_div_36_Template_p_calendar_onInput_5_listener($event) { i0.ɵɵrestoreView(_r100); const ctx_r99 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r99.dateInput($event)); });
748
- i0.ɵɵelementEnd();
749
- i0.ɵɵelement(6, "app-error", 22);
750
- i0.ɵɵelementEnd()();
751
- } if (rf & 2) {
752
- const ctx_r27 = i0.ɵɵnextContext();
753
- const _r0 = i0.ɵɵreference(5);
754
- i0.ɵɵadvance(2);
755
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 10, "induction.add.employment.mil.pension.date"));
756
- i0.ɵɵadvance(3);
757
- i0.ɵɵproperty("showIcon", true)("formControl", ctx_r27.milPensionRecvDate)("yearNavigator", true)("showOnFocus", false);
758
- i0.ɵɵadvance(1);
759
- i0.ɵɵclassMap("app-grid");
760
- i0.ɵɵproperty("field", ctx_r27.milPensionRecvDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(12, _c3));
761
- } }
762
- function AddEmployerComponent_div_37_Template(rf, ctx) { if (rf & 1) {
763
- const _r102 = i0.ɵɵgetCurrentView();
764
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 93);
765
- i0.ɵɵtext(2);
766
- i0.ɵɵpipe(3, "translate");
767
- i0.ɵɵelementEnd();
768
- i0.ɵɵelement(4, "br");
769
- i0.ɵɵelementStart(5, "div", 94)(6, "p-selectButton", 21);
770
- i0.ɵɵlistener("onOptionClick", function AddEmployerComponent_div_37_Template_p_selectButton_onOptionClick_6_listener($event) { i0.ɵɵrestoreView(_r102); const ctx_r101 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r101.putMilValidation($event)); });
771
- i0.ɵɵelementEnd();
772
- i0.ɵɵelement(7, "app-overlay-info", 95);
773
- i0.ɵɵelementEnd();
774
- i0.ɵɵelement(8, "app-error", 22);
775
- i0.ɵɵelementEnd();
776
- } if (rf & 2) {
777
- const ctx_r28 = i0.ɵɵnextContext();
778
- const _r0 = i0.ɵɵreference(5);
779
- i0.ɵɵadvance(2);
780
- i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(3, 9, "induction.add.employment.mil.dd214"), " ");
781
- i0.ɵɵadvance(4);
782
- i0.ɵɵproperty("options", ctx_r28.radioOptions)("formControl", ctx_r28.dd214Flag);
783
- i0.ɵɵadvance(1);
784
- i0.ɵɵproperty("overlayText", ctx_r28.dd214Info);
785
- i0.ɵɵadvance(1);
786
- i0.ɵɵclassMap("app-grid");
787
- i0.ɵɵproperty("field", ctx_r28.dd214Flag)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c3));
788
- } }
789
- function AddEmployerComponent_ion_row_40_Template(rf, ctx) { if (rf & 1) {
790
- i0.ɵɵelementStart(0, "ion-row", 96)(1, "ion-col");
791
- i0.ɵɵelement(2, "div", 13);
792
- i0.ɵɵelementEnd()();
793
- } }
794
- function AddEmployerComponent_ion_row_41_Template(rf, ctx) { if (rf & 1) {
795
- i0.ɵɵelementStart(0, "ion-row", 96)(1, "ion-col");
796
- i0.ɵɵelement(2, "div", 13);
797
- i0.ɵɵelementEnd()();
798
- } }
799
- function AddEmployerComponent_ion_row_42_Template(rf, ctx) { if (rf & 1) {
800
- i0.ɵɵelementStart(0, "ion-row", 96)(1, "ion-col");
801
- i0.ɵɵelement(2, "div", 13);
802
- i0.ɵɵelementEnd()();
803
- } }
804
- function AddEmployerComponent_ion_row_43_Template(rf, ctx) { if (rf & 1) {
805
- i0.ɵɵelementStart(0, "ion-row", 96)(1, "ion-col");
806
- i0.ɵɵelement(2, "div", 13);
807
- i0.ɵɵelementEnd()();
808
- } }
809
- function AddEmployerComponent_ion_row_44_Template(rf, ctx) { if (rf & 1) {
810
- i0.ɵɵelementStart(0, "ion-row", 96)(1, "ion-col");
811
- i0.ɵɵelement(2, "div", 13);
812
- i0.ɵɵelementEnd()();
813
- } }
814
- function AddEmployerComponent_ion_row_45_Template(rf, ctx) { if (rf & 1) {
815
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 97);
816
- i0.ɵɵelement(2, "div", 98);
817
- i0.ɵɵpipe(3, "translate");
818
- i0.ɵɵelement(4, "div", 98);
819
- i0.ɵɵpipe(5, "translate");
820
- i0.ɵɵelement(6, "div", 98);
821
- i0.ɵɵpipe(7, "translate");
822
- i0.ɵɵelement(8, "div", 98);
823
- i0.ɵɵpipe(9, "translate");
824
- i0.ɵɵelement(10, "div", 98);
825
- i0.ɵɵpipe(11, "translate");
826
- i0.ɵɵelement(12, "div", 99);
827
- i0.ɵɵpipe(13, "translate");
828
- i0.ɵɵelementEnd()();
829
- } if (rf & 2) {
830
- const ctx_r34 = i0.ɵɵnextContext();
831
- i0.ɵɵadvance(2);
832
- i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(3, 6, ctx_r34.paraOne), i0.ɵɵsanitizeHtml);
833
- i0.ɵɵadvance(2);
834
- i0.ɵɵproperty("innerHTML", ctx_r34.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(5, 8, ctx_r34.paraTwo)), i0.ɵɵsanitizeHtml);
835
- i0.ɵɵadvance(2);
836
- i0.ɵɵproperty("innerHTML", ctx_r34.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(7, 10, ctx_r34.paraThree)), i0.ɵɵsanitizeHtml);
837
- i0.ɵɵadvance(2);
838
- i0.ɵɵproperty("innerHTML", ctx_r34.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(9, 12, ctx_r34.paraFour)), i0.ɵɵsanitizeHtml);
839
- i0.ɵɵadvance(2);
840
- i0.ɵɵproperty("innerHTML", ctx_r34.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(11, 14, ctx_r34.paraFive)), i0.ɵɵsanitizeHtml);
841
- i0.ɵɵadvance(2);
842
- i0.ɵɵproperty("innerHTML", ctx_r34.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(13, 16, ctx_r34.paraSix)), i0.ɵɵsanitizeHtml);
843
- } }
844
- function AddEmployerComponent_ion_row_46_Template(rf, ctx) { if (rf & 1) {
845
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 97);
846
- i0.ɵɵelement(2, "div", 98);
847
- i0.ɵɵpipe(3, "translate");
848
- i0.ɵɵelement(4, "div", 98);
849
- i0.ɵɵpipe(5, "translate");
850
- i0.ɵɵelement(6, "div", 98);
851
- i0.ɵɵpipe(7, "translate");
852
- i0.ɵɵelement(8, "div", 99);
853
- i0.ɵɵpipe(9, "translate");
854
- i0.ɵɵelement(10, "div", 98);
855
- i0.ɵɵpipe(11, "translate");
856
- i0.ɵɵelementEnd()();
857
- } if (rf & 2) {
858
- const ctx_r35 = i0.ɵɵnextContext();
859
- i0.ɵɵadvance(2);
860
- i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(3, 5, ctx_r35.noParaOne), i0.ɵɵsanitizeHtml);
861
- i0.ɵɵadvance(2);
862
- i0.ɵɵproperty("innerHTML", ctx_r35.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(5, 7, ctx_r35.noParaTwo)), i0.ɵɵsanitizeHtml);
863
- i0.ɵɵadvance(2);
864
- i0.ɵɵproperty("innerHTML", ctx_r35.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(7, 9, ctx_r35.noParaThree)), i0.ɵɵsanitizeHtml);
865
- i0.ɵɵadvance(2);
866
- i0.ɵɵproperty("innerHTML", ctx_r35.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(9, 11, ctx_r35.noParaFour)), i0.ɵɵsanitizeHtml);
867
- i0.ɵɵadvance(2);
868
- i0.ɵɵproperty("innerHTML", ctx_r35.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(11, 13, ctx_r35.noParaFive)), i0.ɵɵsanitizeHtml);
869
- } }
870
- function AddEmployerComponent_ion_row_47_Template(rf, ctx) { if (rf & 1) {
871
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 100)(2, "div", 13)(3, "label", 101);
872
- i0.ɵɵtext(4, "Total Wages Earned");
873
- i0.ɵɵelementEnd();
874
- i0.ɵɵelement(5, "p-inputNumber", 78)(6, "app-error", 22);
875
- i0.ɵɵelementEnd()()();
876
- } if (rf & 2) {
877
- const ctx_r36 = i0.ɵɵnextContext();
878
- const _r0 = i0.ɵɵreference(5);
879
- i0.ɵɵadvance(5);
880
- i0.ɵɵproperty("formControl", ctx_r36.grossWages)("max", 999999.99);
881
- i0.ɵɵadvance(1);
882
- i0.ɵɵclassMap("app-grid");
883
- i0.ɵɵproperty("field", ctx_r36.grossWages)("form", _r0)("errDef", i0.ɵɵpureFunction0(7, _c3));
884
- } }
885
- function AddEmployerComponent_ion_row_48_ion_col_1_Template(rf, ctx) { if (rf & 1) {
886
- i0.ɵɵelementStart(0, "ion-col", 105)(1, "div", 13)(2, "label", 77);
887
- i0.ɵɵtext(3);
888
- i0.ɵɵpipe(4, "translate");
889
- i0.ɵɵelementEnd();
890
- i0.ɵɵelement(5, "p-inputNumber", 106)(6, "app-error", 22);
891
- i0.ɵɵelementEnd()();
892
- } if (rf & 2) {
893
- const ctx_r103 = i0.ɵɵnextContext(2);
894
- const _r0 = i0.ɵɵreference(5);
895
- i0.ɵɵadvance(3);
896
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 8, "induction.add.employment.payrate"));
897
- i0.ɵɵadvance(2);
898
- i0.ɵɵproperty("formControl", ctx_r103.payRate)("max", 999999.99);
899
- i0.ɵɵadvance(1);
900
- i0.ɵɵclassMap("app-grid");
901
- i0.ɵɵproperty("field", ctx_r103.payRate)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
902
- } }
903
- function AddEmployerComponent_ion_row_48_ion_col_2_Template(rf, ctx) { if (rf & 1) {
904
- i0.ɵɵelementStart(0, "ion-col", 107)(1, "div", 13)(2, "label", 80);
905
- i0.ɵɵtext(3);
906
- i0.ɵɵpipe(4, "translate");
907
- i0.ɵɵelementEnd();
908
- i0.ɵɵelement(5, "app-dropdown", 81)(6, "app-error", 22);
909
- i0.ɵɵelementEnd()();
910
- } if (rf & 2) {
911
- const ctx_r104 = i0.ɵɵnextContext(2);
912
- const _r0 = i0.ɵɵreference(5);
913
- i0.ɵɵadvance(3);
914
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 9, "induction.add.employment.per"));
915
- i0.ɵɵadvance(2);
916
- i0.ɵɵproperty("options", ctx_r104.payRateOptions)("formControl", ctx_r104.payRateFrequency)("autoDisplayFirst", false);
917
- i0.ɵɵadvance(1);
918
- i0.ɵɵclassMap("app-grid");
919
- i0.ɵɵproperty("field", ctx_r104.payRateFrequency)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c3));
920
- } }
921
- function AddEmployerComponent_ion_row_48_ion_col_3_Template(rf, ctx) { if (rf & 1) {
922
- i0.ɵɵelementStart(0, "ion-col", 100)(1, "div", 13)(2, "label", 101);
923
- i0.ɵɵtext(3, "Total Wages Earned");
924
- i0.ɵɵelementEnd();
925
- i0.ɵɵelement(4, "p-inputNumber", 78)(5, "app-error", 22);
926
- i0.ɵɵelementEnd()();
927
- } if (rf & 2) {
928
- const ctx_r105 = i0.ɵɵnextContext(2);
929
- const _r0 = i0.ɵɵreference(5);
930
- i0.ɵɵadvance(4);
931
- i0.ɵɵproperty("formControl", ctx_r105.grossWages)("max", 999999.99);
932
- i0.ɵɵadvance(1);
933
- i0.ɵɵclassMap("app-grid");
934
- i0.ɵɵproperty("field", ctx_r105.grossWages)("form", _r0)("errDef", i0.ɵɵpureFunction0(7, _c3));
935
- } }
936
- function AddEmployerComponent_ion_row_48_Template(rf, ctx) { if (rf & 1) {
937
- i0.ɵɵelementStart(0, "ion-row");
938
- i0.ɵɵtemplate(1, AddEmployerComponent_ion_row_48_ion_col_1_Template, 7, 11, "ion-col", 102);
939
- i0.ɵɵtemplate(2, AddEmployerComponent_ion_row_48_ion_col_2_Template, 7, 12, "ion-col", 103);
940
- i0.ɵɵtemplate(3, AddEmployerComponent_ion_row_48_ion_col_3_Template, 6, 8, "ion-col", 104);
941
- i0.ɵɵelementEnd();
942
- } if (rf & 2) {
943
- const ctx_r37 = i0.ɵɵnextContext();
944
- i0.ɵɵadvance(1);
945
- i0.ɵɵproperty("ngIf", !ctx_r37.isBasePeriodEmployer);
946
- i0.ɵɵadvance(1);
947
- i0.ɵɵproperty("ngIf", !ctx_r37.isBasePeriodEmployer);
948
- i0.ɵɵadvance(1);
949
- i0.ɵɵproperty("ngIf", ctx_r37.displayVerificationOfWages.value && !ctx_r37.isBasePeriodEmployer);
950
- } }
951
- function AddEmployerComponent_div_49_Template(rf, ctx) { if (rf & 1) {
952
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 108);
953
- i0.ɵɵtext(2);
954
- i0.ɵɵpipe(3, "translate");
955
- i0.ɵɵelement(4, "br");
956
- i0.ɵɵtext(5);
957
- i0.ɵɵpipe(6, "translate");
958
- i0.ɵɵelementEnd();
959
- i0.ɵɵelementStart(7, "div", 109);
960
- i0.ɵɵelement(8, "p-selectButton", 64)(9, "app-overlay-info", 110);
961
- i0.ɵɵpipe(10, "translate");
962
- i0.ɵɵelement(11, "app-error", 22);
963
- i0.ɵɵelementEnd()();
964
- } if (rf & 2) {
965
- const ctx_r38 = i0.ɵɵnextContext();
966
- const _r0 = i0.ɵɵreference(5);
967
- i0.ɵɵadvance(2);
968
- i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(3, 10, "induction.add.employment.fed.pension"), " ");
969
- i0.ɵɵadvance(3);
970
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 12, "induction.add.employment.fed.pension.disclaimer"), " ");
971
- i0.ɵɵadvance(3);
972
- i0.ɵɵproperty("options", ctx_r38.radioOptions)("formControl", ctx_r38.fedPensionFlag);
973
- i0.ɵɵadvance(1);
974
- i0.ɵɵpropertyInterpolate("overlayText", i0.ɵɵpipeBind1(10, 14, "induction.add.employment.fed.pension.info"));
975
- i0.ɵɵadvance(2);
976
- i0.ɵɵclassMap("app-grid");
977
- i0.ɵɵproperty("field", ctx_r38.fedPensionFlag)("form", _r0)("errDef", i0.ɵɵpureFunction0(16, _c3));
978
- } }
979
- function AddEmployerComponent_div_50_Template(rf, ctx) { if (rf & 1) {
980
- const _r107 = i0.ɵɵgetCurrentView();
981
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 111);
982
- i0.ɵɵtext(2);
983
- i0.ɵɵpipe(3, "translate");
984
- i0.ɵɵelementEnd();
985
- i0.ɵɵelementStart(4, "div")(5, "p-calendar", 112);
986
- i0.ɵɵlistener("onInput", function AddEmployerComponent_div_50_Template_p_calendar_onInput_5_listener($event) { i0.ɵɵrestoreView(_r107); const ctx_r106 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r106.dateInput($event)); });
987
- i0.ɵɵelementEnd();
988
- i0.ɵɵelement(6, "app-error", 22);
989
- i0.ɵɵelementEnd()();
990
- } if (rf & 2) {
991
- const ctx_r39 = i0.ɵɵnextContext();
992
- const _r0 = i0.ɵɵreference(5);
993
- i0.ɵɵadvance(2);
994
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 10, "induction.add.employment.fed.pension.date"));
995
- i0.ɵɵadvance(3);
996
- i0.ɵɵproperty("showIcon", true)("formControl", ctx_r39.fedPensionRecvDate)("yearNavigator", true)("showOnFocus", false);
997
- i0.ɵɵadvance(1);
998
- i0.ɵɵclassMap("app-grid");
999
- i0.ɵɵproperty("field", ctx_r39.fedPensionRecvDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(12, _c3));
1000
- } }
1001
- function AddEmployerComponent_div_51_Template(rf, ctx) { if (rf & 1) {
1002
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 113);
1003
- i0.ɵɵtext(2);
1004
- i0.ɵɵpipe(3, "translate");
1005
- i0.ɵɵelementEnd();
1006
- i0.ɵɵelementStart(4, "div", 63);
1007
- i0.ɵɵelement(5, "p-selectButton", 64)(6, "app-error", 22);
1008
- i0.ɵɵelementEnd()();
1009
- } if (rf & 2) {
1010
- const ctx_r40 = i0.ɵɵnextContext();
1011
- const _r0 = i0.ɵɵreference(5);
1012
- i0.ɵɵadvance(2);
1013
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "induction.add.employment.fed.severance"));
1014
- i0.ɵɵadvance(3);
1015
- i0.ɵɵproperty("options", ctx_r40.radioOptions)("formControl", ctx_r40.sevPayFlag);
1016
- i0.ɵɵadvance(1);
1017
- i0.ɵɵclassMap("app-grid");
1018
- i0.ɵɵproperty("field", ctx_r40.sevPayFlag)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
1019
- } }
1020
- function AddEmployerComponent_ion_row_52_Template(rf, ctx) { if (rf & 1) {
1021
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 79)(2, "div", 13)(3, "label", 114);
1022
- i0.ɵɵtext(4);
1023
- i0.ɵɵpipe(5, "translate");
1024
- i0.ɵɵelementEnd();
1025
- i0.ɵɵelement(6, "p-inputNumber", 78)(7, "app-error", 22);
1026
- i0.ɵɵelementEnd()();
1027
- i0.ɵɵelementStart(8, "ion-col", 79)(9, "div", 13)(10, "label", 115);
1028
- i0.ɵɵtext(11);
1029
- i0.ɵɵpipe(12, "translate");
1030
- i0.ɵɵelementEnd();
1031
- i0.ɵɵelement(13, "p-inputNumber", 116)(14, "app-error", 22);
1032
- i0.ɵɵelementEnd()();
1033
- i0.ɵɵelementStart(15, "ion-col")(16, "div", 13)(17, "label", 117);
1034
- i0.ɵɵtext(18);
1035
- i0.ɵɵpipe(19, "translate");
1036
- i0.ɵɵelementEnd();
1037
- i0.ɵɵelement(20, "p-inputNumber", 78)(21, "app-error", 22);
1038
- i0.ɵɵelementEnd()()();
1039
- } if (rf & 2) {
1040
- const ctx_r41 = i0.ɵɵnextContext();
1041
- const _r0 = i0.ɵɵreference(5);
1042
- i0.ɵɵadvance(4);
1043
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 25, "induction.add.employment.fed.severance.weekly.amt"));
1044
- i0.ɵɵadvance(2);
1045
- i0.ɵɵproperty("formControl", ctx_r41.weeklyAmount)("max", 999999.99);
1046
- i0.ɵɵadvance(1);
1047
- i0.ɵɵclassMap("app-grid");
1048
- i0.ɵɵproperty("field", ctx_r41.weeklyAmount)("form", _r0)("errDef", i0.ɵɵpureFunction0(31, _c3));
1049
- i0.ɵɵadvance(4);
1050
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(12, 27, "induction.add.employment.fed.severance.weeks"));
1051
- i0.ɵɵadvance(2);
1052
- i0.ɵɵproperty("id", ctx_r41.numberOfWeeks)("useGrouping", false)("formControl", ctx_r41.numberOfWeeks);
1053
- i0.ɵɵadvance(1);
1054
- i0.ɵɵclassMap("app-grid");
1055
- i0.ɵɵproperty("field", ctx_r41.numberOfWeeks)("form", _r0)("errDef", i0.ɵɵpureFunction0(32, _c3));
1056
- i0.ɵɵadvance(4);
1057
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(19, 29, "induction.add.employment.fed.severance.entitlement"));
1058
- i0.ɵɵadvance(2);
1059
- i0.ɵɵproperty("formControl", ctx_r41.sevPayAmount)("max", 999999.99);
1060
- i0.ɵɵadvance(1);
1061
- i0.ɵɵclassMap("app-grid");
1062
- i0.ɵɵproperty("field", ctx_r41.sevPayAmount)("form", _r0)("errDef", i0.ɵɵpureFunction0(33, _c3));
1063
- } }
1064
- function AddEmployerComponent_ion_row_53_Template(rf, ctx) { if (rf & 1) {
1065
- const _r109 = i0.ɵɵgetCurrentView();
1066
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 79)(2, "div", 13)(3, "label", 118);
1067
- i0.ɵɵtext(4);
1068
- i0.ɵɵpipe(5, "translate");
1069
- i0.ɵɵelementEnd();
1070
- i0.ɵɵelementStart(6, "p-calendar", 119);
1071
- i0.ɵɵlistener("onBlur", function AddEmployerComponent_ion_row_53_Template_p_calendar_onBlur_6_listener($event) { i0.ɵɵrestoreView(_r109); const ctx_r108 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r108.validate($event)); })("onSelect", function AddEmployerComponent_ion_row_53_Template_p_calendar_onSelect_6_listener($event) { i0.ɵɵrestoreView(_r109); const ctx_r110 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r110.validate($event)); })("onInput", function AddEmployerComponent_ion_row_53_Template_p_calendar_onInput_6_listener($event) { i0.ɵɵrestoreView(_r109); const ctx_r111 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r111.dateInput($event)); });
1072
- i0.ɵɵelementEnd();
1073
- i0.ɵɵelement(7, "app-error", 22);
1074
- i0.ɵɵelementEnd()();
1075
- i0.ɵɵelementStart(8, "ion-col", 79)(9, "div", 13)(10, "label", 120);
1076
- i0.ɵɵtext(11);
1077
- i0.ɵɵpipe(12, "translate");
1078
- i0.ɵɵelementEnd();
1079
- i0.ɵɵelementStart(13, "p-calendar", 121);
1080
- i0.ɵɵlistener("onInput", function AddEmployerComponent_ion_row_53_Template_p_calendar_onInput_13_listener($event) { i0.ɵɵrestoreView(_r109); const ctx_r112 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r112.dateInput($event)); });
1081
- i0.ɵɵelementEnd();
1082
- i0.ɵɵelement(14, "app-error", 22);
1083
- i0.ɵɵelementEnd()();
1084
- i0.ɵɵelementStart(15, "ion-col")(16, "div", 13)(17, "label", 122);
1085
- i0.ɵɵtext(18);
1086
- i0.ɵɵpipe(19, "translate");
1087
- i0.ɵɵelementEnd();
1088
- i0.ɵɵelementStart(20, "p-calendar", 123);
1089
- i0.ɵɵlistener("onInput", function AddEmployerComponent_ion_row_53_Template_p_calendar_onInput_20_listener($event) { i0.ɵɵrestoreView(_r109); const ctx_r113 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r113.dateInput($event)); });
1090
- i0.ɵɵelementEnd();
1091
- i0.ɵɵelement(21, "app-error", 22);
1092
- i0.ɵɵelementEnd()()();
1093
- } if (rf & 2) {
1094
- const ctx_r42 = i0.ɵɵnextContext();
1095
- const _r0 = i0.ɵɵreference(5);
1096
- i0.ɵɵadvance(4);
1097
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 31, "induction.add.employment.fed.severance.start.date"));
1098
- i0.ɵɵadvance(2);
1099
- i0.ɵɵproperty("showIcon", true)("formControl", ctx_r42.sevPayStartDate)("yearNavigator", true)("showOnFocus", false);
1100
- i0.ɵɵadvance(1);
1101
- i0.ɵɵclassMap("app-grid");
1102
- i0.ɵɵproperty("field", ctx_r42.sevPayStartDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(37, _c3));
1103
- i0.ɵɵadvance(4);
1104
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(12, 33, "induction.add.employment.fed.severance.end.date"));
1105
- i0.ɵɵadvance(2);
1106
- i0.ɵɵproperty("showIcon", true)("formControl", ctx_r42.sevPayEndDate)("yearNavigator", true)("minDate", ctx_r42.minDate)("showOnFocus", false);
1107
- i0.ɵɵadvance(1);
1108
- i0.ɵɵclassMap("app-grid");
1109
- i0.ɵɵproperty("field", ctx_r42.sevPayEndDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(38, _c3));
1110
- i0.ɵɵadvance(4);
1111
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(19, 35, "induction.add.employment.fed.severance.pay.date"));
1112
- i0.ɵɵadvance(2);
1113
- i0.ɵɵproperty("showIcon", true)("formControl", ctx_r42.sevPayPaymentStartDate)("yearNavigator", true)("showOnFocus", false);
1114
- i0.ɵɵadvance(1);
1115
- i0.ɵɵclassMap("app-grid");
1116
- i0.ɵɵproperty("field", ctx_r42.sevPayPaymentStartDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(39, _c3));
1117
- } }
1118
- function AddEmployerComponent_div_54_Template(rf, ctx) { if (rf & 1) {
1119
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 124);
1120
- i0.ɵɵtext(2);
1121
- i0.ɵɵpipe(3, "translate");
1122
- i0.ɵɵelementEnd();
1123
- i0.ɵɵelementStart(4, "div", 63);
1124
- i0.ɵɵelement(5, "p-selectButton", 64)(6, "app-error", 22);
1125
- i0.ɵɵelementEnd()();
1126
- } if (rf & 2) {
1127
- const ctx_r43 = i0.ɵɵnextContext();
1128
- const _r0 = i0.ɵɵreference(5);
1129
- i0.ɵɵadvance(2);
1130
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "induction.confirm.employment.pension"));
1131
- i0.ɵɵadvance(3);
1132
- i0.ɵɵproperty("options", ctx_r43.radioOptions)("formControl", ctx_r43.pensionFlag);
1133
- i0.ɵɵadvance(1);
1134
- i0.ɵɵclassMap("app-grid");
1135
- i0.ɵɵproperty("field", ctx_r43.pensionFlag)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
1136
- } }
1137
- function AddEmployerComponent_div_55_Template(rf, ctx) { if (rf & 1) {
1138
- const _r115 = i0.ɵɵgetCurrentView();
1139
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 125);
1140
- i0.ɵɵtext(2);
1141
- i0.ɵɵpipe(3, "translate");
1142
- i0.ɵɵelementEnd();
1143
- i0.ɵɵelementStart(4, "div")(5, "p-calendar", 126);
1144
- i0.ɵɵlistener("onInput", function AddEmployerComponent_div_55_Template_p_calendar_onInput_5_listener($event) { i0.ɵɵrestoreView(_r115); const ctx_r114 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r114.dateInput($event)); });
1145
- i0.ɵɵelementEnd();
1146
- i0.ɵɵelement(6, "app-error", 22);
1147
- i0.ɵɵelementEnd()();
1148
- } if (rf & 2) {
1149
- const ctx_r44 = i0.ɵɵnextContext();
1150
- const _r0 = i0.ɵɵreference(5);
1151
- i0.ɵɵadvance(2);
1152
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 10, "induction.confirm.employment.pension.date"));
1153
- i0.ɵɵadvance(3);
1154
- i0.ɵɵproperty("showIcon", true)("formControl", ctx_r44.pensionRecvDate)("yearNavigator", true)("showOnFocus", false);
1155
- i0.ɵɵadvance(1);
1156
- i0.ɵɵclassMap("app-grid");
1157
- i0.ɵɵproperty("field", ctx_r44.pensionRecvDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(12, _c3));
1158
- } }
1159
- function AddEmployerComponent_div_56_Template(rf, ctx) { if (rf & 1) {
1160
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 127);
1161
- i0.ɵɵtext(2);
1162
- i0.ɵɵpipe(3, "translate");
1163
- i0.ɵɵelement(4, "br");
1164
- i0.ɵɵtext(5);
1165
- i0.ɵɵpipe(6, "translate");
1166
- i0.ɵɵelementEnd();
1167
- i0.ɵɵelementStart(7, "div", 109);
1168
- i0.ɵɵelement(8, "p-selectButton", 64)(9, "app-overlay-info", 110);
1169
- i0.ɵɵpipe(10, "translate");
1170
- i0.ɵɵelement(11, "app-error", 22);
1171
- i0.ɵɵelementEnd()();
1172
- } if (rf & 2) {
1173
- const ctx_r45 = i0.ɵɵnextContext();
1174
- const _r0 = i0.ɵɵreference(5);
1175
- i0.ɵɵadvance(2);
1176
- i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(3, 10, "induction.add.employment.reg.pension"), " ");
1177
- i0.ɵɵadvance(3);
1178
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 12, "induction.add.employment.reg.pension.disclaimer"), "");
1179
- i0.ɵɵadvance(3);
1180
- i0.ɵɵproperty("options", ctx_r45.radioOptions)("formControl", ctx_r45.regPensionFlag);
1181
- i0.ɵɵadvance(1);
1182
- i0.ɵɵpropertyInterpolate("overlayText", i0.ɵɵpipeBind1(10, 14, "induction.add.employment.reg.pension.info"));
1183
- i0.ɵɵadvance(2);
1184
- i0.ɵɵclassMap("app-grid");
1185
- i0.ɵɵproperty("field", ctx_r45.regPensionFlag)("form", _r0)("errDef", i0.ɵɵpureFunction0(16, _c3));
1186
- } }
1187
- function AddEmployerComponent_div_57_Template(rf, ctx) { if (rf & 1) {
1188
- const _r117 = i0.ɵɵgetCurrentView();
1189
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 128);
1190
- i0.ɵɵtext(2);
1191
- i0.ɵɵpipe(3, "translate");
1192
- i0.ɵɵelementEnd();
1193
- i0.ɵɵelementStart(4, "div")(5, "p-calendar", 129);
1194
- i0.ɵɵlistener("onInput", function AddEmployerComponent_div_57_Template_p_calendar_onInput_5_listener($event) { i0.ɵɵrestoreView(_r117); const ctx_r116 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r116.dateInput($event)); });
1195
- i0.ɵɵelementEnd();
1196
- i0.ɵɵelement(6, "app-error", 22);
1197
- i0.ɵɵelementEnd()();
1198
- } if (rf & 2) {
1199
- const ctx_r46 = i0.ɵɵnextContext();
1200
- const _r0 = i0.ɵɵreference(5);
1201
- i0.ɵɵadvance(2);
1202
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 10, "induction.add.employment.reg.pension.date"));
1203
- i0.ɵɵadvance(3);
1204
- i0.ɵɵproperty("showIcon", true)("formControl", ctx_r46.regPensionRecvDate)("yearNavigator", true)("showOnFocus", false);
1205
- i0.ɵɵadvance(1);
1206
- i0.ɵɵclassMap("app-grid");
1207
- i0.ɵɵproperty("field", ctx_r46.regPensionRecvDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(12, _c3));
1208
- } }
1209
- function AddEmployerComponent_div_58_Template(rf, ctx) { if (rf & 1) {
1210
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 130);
1211
- i0.ɵɵtext(2);
1212
- i0.ɵɵpipe(3, "translate");
1213
- i0.ɵɵelementEnd();
1214
- i0.ɵɵelementStart(4, "div", 109);
1215
- i0.ɵɵelement(5, "p-selectButton", 64)(6, "app-overlay-info", 110);
1216
- i0.ɵɵpipe(7, "translate");
1217
- i0.ɵɵelement(8, "app-error", 22);
1218
- i0.ɵɵelementEnd()();
1219
- } if (rf & 2) {
1220
- const ctx_r47 = i0.ɵɵnextContext();
1221
- const _r0 = i0.ɵɵreference(5);
1222
- i0.ɵɵadvance(2);
1223
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 9, "induction.confirm.employment.employer.pay.return.to.work"));
1224
- i0.ɵɵadvance(3);
1225
- i0.ɵɵproperty("options", ctx_r47.radioOptions)("formControl", ctx_r47.isClmtPaidWhileLow);
1226
- i0.ɵɵadvance(1);
1227
- i0.ɵɵpropertyInterpolate("overlayText", i0.ɵɵpipeBind1(7, 11, "induction.add.employment.reg.employerPayReturnToWorkInfo"));
1228
- i0.ɵɵadvance(2);
1229
- i0.ɵɵclassMap("app-grid");
1230
- i0.ɵɵproperty("field", ctx_r47.isClmtPaidWhileLow)("form", _r0)("errDef", i0.ɵɵpureFunction0(13, _c3));
1231
- } }
1232
- function AddEmployerComponent_div_59_Template(rf, ctx) { if (rf & 1) {
1233
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 131);
1234
- i0.ɵɵtext(2);
1235
- i0.ɵɵpipe(3, "translate");
1236
- i0.ɵɵelementEnd();
1237
- i0.ɵɵelementStart(4, "div", 63);
1238
- i0.ɵɵelement(5, "p-selectButton", 64)(6, "app-error", 22);
1239
- i0.ɵɵelementEnd()();
1240
- } if (rf & 2) {
1241
- const ctx_r48 = i0.ɵɵnextContext();
1242
- const _r0 = i0.ɵɵreference(5);
1243
- i0.ɵɵadvance(2);
1244
- i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(3, 9, "induction.confirm.employment.shorttermdisability"), " ", ctx_r48.bpStartDateToDisplay, " ?");
1245
- i0.ɵɵadvance(3);
1246
- i0.ɵɵproperty("options", ctx_r48.radioOptions)("formControl", ctx_r48.hasShortTermDisability);
1247
- i0.ɵɵadvance(1);
1248
- i0.ɵɵclassMap("app-grid");
1249
- i0.ɵɵproperty("field", ctx_r48.hasShortTermDisability)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c3));
1250
- } }
1251
- function AddEmployerComponent_div_60_Template(rf, ctx) { if (rf & 1) {
1252
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 132);
1253
- i0.ɵɵtext(2);
1254
- i0.ɵɵpipe(3, "translate");
1255
- i0.ɵɵelementEnd();
1256
- i0.ɵɵelementStart(4, "div", 63);
1257
- i0.ɵɵelement(5, "p-selectButton", 64)(6, "app-error", 22);
1258
- i0.ɵɵelementEnd()();
1259
- } if (rf & 2) {
1260
- const ctx_r49 = i0.ɵɵnextContext();
1261
- const _r0 = i0.ɵɵreference(5);
1262
- i0.ɵɵadvance(2);
1263
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "induction.confirm.employment.remuneration.pay"));
1264
- i0.ɵɵadvance(3);
1265
- i0.ɵɵproperty("options", ctx_r49.radioOptions)("formControl", ctx_r49.hasRecvRemuneration);
1266
- i0.ɵɵadvance(1);
1267
- i0.ɵɵclassMap("app-grid");
1268
- i0.ɵɵproperty("field", ctx_r49.hasRecvRemuneration)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
1269
- } }
1270
- function AddEmployerComponent_div_61_p_checkbox_4_Template(rf, ctx) { if (rf & 1) {
1271
- i0.ɵɵelement(0, "p-checkbox", 135);
1272
- } if (rf & 2) {
1273
- const choice_r119 = ctx.$implicit;
1274
- const ctx_r118 = i0.ɵɵnextContext(2);
1275
- i0.ɵɵproperty("name", "remunerationtypes-group")("value", choice_r119.value)("label", choice_r119.text)("formControl", ctx_r118.remunerationTypes);
1276
- } }
1277
- function AddEmployerComponent_div_61_Template(rf, ctx) { if (rf & 1) {
1278
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 133);
1279
- i0.ɵɵtext(2);
1280
- i0.ɵɵpipe(3, "translate");
1281
- i0.ɵɵelementEnd();
1282
- i0.ɵɵtemplate(4, AddEmployerComponent_div_61_p_checkbox_4_Template, 1, 4, "p-checkbox", 134);
1283
- i0.ɵɵelement(5, "app-error", 22);
1284
- i0.ɵɵelementEnd();
1285
- } if (rf & 2) {
1286
- const ctx_r50 = i0.ɵɵnextContext();
1287
- const _r0 = i0.ɵɵreference(5);
1288
- i0.ɵɵadvance(2);
1289
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "induction.confirm.employment.remuneration.types"));
1290
- i0.ɵɵadvance(2);
1291
- i0.ɵɵproperty("ngForOf", ctx_r50.remunerationTypeOptions);
1292
- i0.ɵɵadvance(1);
1293
- i0.ɵɵclassMap("app-grid");
1294
- i0.ɵɵproperty("field", ctx_r50.remunerationTypes)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c3));
1295
- } }
1296
- function AddEmployerComponent_div_62_Template(rf, ctx) { if (rf & 1) {
1297
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 136);
1298
- i0.ɵɵtext(2);
1299
- i0.ɵɵpipe(3, "translate");
1300
- i0.ɵɵelementEnd();
1301
- i0.ɵɵelementStart(4, "div", 63);
1302
- i0.ɵɵelement(5, "p-selectButton", 64)(6, "app-error", 22);
1303
- i0.ɵɵelementEnd()();
1304
- } if (rf & 2) {
1305
- const ctx_r51 = i0.ɵɵnextContext();
1306
- const _r0 = i0.ɵɵreference(5);
1307
- i0.ɵɵadvance(2);
1308
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "induction.confirm.employment.vacation.break"));
1309
- i0.ɵɵadvance(3);
1310
- i0.ɵɵproperty("options", ctx_r51.radioOptions)("formControl", ctx_r51.vacation);
1311
- i0.ɵɵadvance(1);
1312
- i0.ɵɵclassMap("app-grid");
1313
- i0.ɵɵproperty("field", ctx_r51.vacation)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
1314
- } }
1315
- function AddEmployerComponent_div_63_div_28_Template(rf, ctx) { if (rf & 1) {
1316
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 140);
1317
- i0.ɵɵtext(2);
1318
- i0.ɵɵpipe(3, "translate");
1319
- i0.ɵɵelementEnd();
1320
- i0.ɵɵelement(4, "p-inputMask", 141)(5, "app-error", 22);
1321
- i0.ɵɵelementEnd();
1322
- } if (rf & 2) {
1323
- const ctx_r120 = i0.ɵɵnextContext(2);
1324
- const _r0 = i0.ɵɵreference(5);
1325
- i0.ɵɵadvance(2);
1326
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "induction.add.employment.reg.verification.wages.other.ssn"));
1327
- i0.ɵɵadvance(2);
1328
- i0.ɵɵproperty("id", ctx_r120.otherSSN)("formControl", ctx_r120.otherSSN);
1329
- i0.ɵɵadvance(1);
1330
- i0.ɵɵclassMap("app-grid");
1331
- i0.ɵɵproperty("field", ctx_r120.otherSSN)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
1332
- } }
1333
- function AddEmployerComponent_div_63_Template(rf, ctx) { if (rf & 1) {
1334
- i0.ɵɵelementStart(0, "div")(1, "div", 13)(2, "h4");
1335
- i0.ɵɵtext(3);
1336
- i0.ɵɵpipe(4, "translate");
1337
- i0.ɵɵelementEnd()();
1338
- i0.ɵɵelementStart(5, "div", 13)(6, "label");
1339
- i0.ɵɵtext(7);
1340
- i0.ɵɵpipe(8, "translate");
1341
- i0.ɵɵelementEnd()();
1342
- i0.ɵɵelementStart(9, "div", 13)(10, "label", 137);
1343
- i0.ɵɵtext(11);
1344
- i0.ɵɵpipe(12, "translate");
1345
- i0.ɵɵelementEnd();
1346
- i0.ɵɵelement(13, "p-selectButton", 64)(14, "app-error", 22);
1347
- i0.ɵɵelementEnd();
1348
- i0.ɵɵelementStart(15, "div", 13)(16, "label", 138);
1349
- i0.ɵɵtext(17);
1350
- i0.ɵɵpipe(18, "translate");
1351
- i0.ɵɵelementEnd();
1352
- i0.ɵɵelement(19, "p-selectButton", 64)(20, "app-error", 22);
1353
- i0.ɵɵelementEnd();
1354
- i0.ɵɵelementStart(21, "div", 13)(22, "label", 139);
1355
- i0.ɵɵtext(23);
1356
- i0.ɵɵpipe(24, "translate");
1357
- i0.ɵɵelementEnd();
1358
- i0.ɵɵelementStart(25, "div", 63);
1359
- i0.ɵɵelement(26, "p-selectButton", 64)(27, "app-error", 22);
1360
- i0.ɵɵelementEnd()();
1361
- i0.ɵɵtemplate(28, AddEmployerComponent_div_63_div_28_Template, 6, 11, "div", 6);
1362
- i0.ɵɵelementEnd();
1363
- } if (rf & 2) {
1364
- const ctx_r52 = i0.ɵɵnextContext();
1365
- const _r0 = i0.ɵɵreference(5);
1366
- i0.ɵɵadvance(3);
1367
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 27, "induction.add.employment.reg.verification.wages.header"));
1368
- i0.ɵɵadvance(4);
1369
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(8, 29, "induction.add.employment.reg.verification.wages.subheader"));
1370
- i0.ɵɵadvance(4);
1371
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(12, 31, "induction.add.employment.reg.verification.wages.paymode"));
1372
- i0.ɵɵadvance(2);
1373
- i0.ɵɵproperty("options", ctx_r52.payMethodOptions)("formControl", ctx_r52.paymentType);
1374
- i0.ɵɵadvance(1);
1375
- i0.ɵɵclassMap("app-grid");
1376
- i0.ɵɵproperty("field", ctx_r52.paymentType)("form", _r0)("errDef", i0.ɵɵpureFunction0(37, _c3));
1377
- i0.ɵɵadvance(3);
1378
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(18, 33, "induction.add.employment.reg.verification.wages.docs"));
1379
- i0.ɵɵadvance(2);
1380
- i0.ɵɵproperty("options", ctx_r52.wageProofOptions)("formControl", ctx_r52.docsReceived);
1381
- i0.ɵɵadvance(1);
1382
- i0.ɵɵclassMap("app-grid");
1383
- i0.ɵɵproperty("field", ctx_r52.docsReceived)("form", _r0)("errDef", i0.ɵɵpureFunction0(38, _c3));
1384
- i0.ɵɵadvance(3);
1385
- i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(24, 35, "induction.add.employment.reg.verification.wages.other.ssn.flag"), " ");
1386
- i0.ɵɵadvance(3);
1387
- i0.ɵɵproperty("options", ctx_r52.radioOptions)("formControl", ctx_r52.otherSSNFlag);
1388
- i0.ɵɵadvance(1);
1389
- i0.ɵɵclassMap("app-grid");
1390
- i0.ɵɵproperty("field", ctx_r52.otherSSNFlag)("form", _r0)("errDef", i0.ɵɵpureFunction0(39, _c3));
1391
- i0.ɵɵadvance(1);
1392
- i0.ɵɵproperty("ngIf", ctx_r52.otherSSNFlag.value === "Y");
1393
- } }
1394
- function AddEmployerComponent_ion_row_64_div_9_Template(rf, ctx) { if (rf & 1) {
1395
- i0.ɵɵelementStart(0, "div", 13)(1, "label", 143);
1396
- i0.ɵɵtext(2);
1397
- i0.ɵɵpipe(3, "translate");
1398
- i0.ɵɵelementEnd();
1399
- i0.ɵɵelement(4, "input", 144)(5, "app-error", 22);
1400
- i0.ɵɵelementEnd();
1401
- } if (rf & 2) {
1402
- const ctx_r121 = i0.ɵɵnextContext(2);
1403
- const _r0 = i0.ɵɵreference(5);
1404
- i0.ɵɵadvance(2);
1405
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "induction.add.employment.reg.verification.wages.other.name"));
1406
- i0.ɵɵadvance(2);
1407
- i0.ɵɵproperty("formControl", ctx_r121.otherName);
1408
- i0.ɵɵadvance(1);
1409
- i0.ɵɵclassMap("app-grid");
1410
- i0.ɵɵproperty("field", ctx_r121.otherName)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c3));
1411
- } }
1412
- function AddEmployerComponent_ion_row_64_Template(rf, ctx) { if (rf & 1) {
1413
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 30)(2, "div", 13)(3, "label", 142);
1414
- i0.ɵɵtext(4);
1415
- i0.ɵɵpipe(5, "translate");
1416
- i0.ɵɵelementEnd();
1417
- i0.ɵɵelementStart(6, "div", 63);
1418
- i0.ɵɵelement(7, "p-selectButton", 64)(8, "app-error", 22);
1419
- i0.ɵɵelementEnd()();
1420
- i0.ɵɵtemplate(9, AddEmployerComponent_ion_row_64_div_9_Template, 6, 10, "div", 6);
1421
- i0.ɵɵelementEnd()();
1422
- } if (rf & 2) {
1423
- const ctx_r53 = i0.ɵɵnextContext();
1424
- const _r0 = i0.ɵɵreference(5);
1425
- i0.ɵɵadvance(4);
1426
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 9, "induction.add.employment.reg.verification.wages.other.name.flag"));
1427
- i0.ɵɵadvance(3);
1428
- i0.ɵɵproperty("options", ctx_r53.radioOptions)("formControl", ctx_r53.otherNameFlag);
1429
- i0.ɵɵadvance(1);
1430
- i0.ɵɵclassMap("app-grid");
1431
- i0.ɵɵproperty("field", ctx_r53.otherNameFlag)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c3));
1432
- i0.ɵɵadvance(1);
1433
- i0.ɵɵproperty("ngIf", ctx_r53.otherNameFlag.value === "Y");
1434
- } }
1435
- function AddEmployerComponent_ion_row_65_Template(rf, ctx) { if (rf & 1) {
1436
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 30)(2, "div", 13)(3, "label", 145);
1437
- i0.ɵɵtext(4);
1438
- i0.ɵɵpipe(5, "translate");
1439
- i0.ɵɵelementEnd();
1440
- i0.ɵɵelement(6, "input", 146)(7, "app-error", 22);
1441
- i0.ɵɵelementEnd()()();
1442
- } if (rf & 2) {
1443
- const ctx_r54 = i0.ɵɵnextContext();
1444
- const _r0 = i0.ɵɵreference(5);
1445
- i0.ɵɵadvance(4);
1446
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 7, "induction.add.employment.reg.verification.nature"));
1447
- i0.ɵɵadvance(2);
1448
- i0.ɵɵproperty("formControl", ctx_r54.businessNature);
1449
- i0.ɵɵadvance(1);
1450
- i0.ɵɵclassMap("app-grid");
1451
- i0.ɵɵproperty("field", ctx_r54.businessNature)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c3));
1452
- } }
1453
- function AddEmployerComponent_div_66_div_1_Template(rf, ctx) { if (rf & 1) {
1454
- i0.ɵɵelementStart(0, "div", 13)(1, "label");
1455
- i0.ɵɵtext(2);
1456
- i0.ɵɵpipe(3, "translate");
1457
- i0.ɵɵelementEnd()();
1458
- } if (rf & 2) {
1459
- i0.ɵɵadvance(2);
1460
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "induction.add.employment.fed.verification.wages"));
1461
- } }
1462
- function AddEmployerComponent_div_66_div_2_Template(rf, ctx) { if (rf & 1) {
1463
- i0.ɵɵelementStart(0, "div", 13)(1, "label");
1464
- i0.ɵɵtext(2);
1465
- i0.ɵɵpipe(3, "translate");
1466
- i0.ɵɵelementEnd()();
1467
- } if (rf & 2) {
1468
- i0.ɵɵadvance(2);
1469
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "induction.add.employment.reg.verification.wages"));
1470
- } }
1471
- function AddEmployerComponent_div_66_div_3_Template(rf, ctx) { if (rf & 1) {
1472
- i0.ɵɵelementStart(0, "div", 13)(1, "label");
1473
- i0.ɵɵtext(2);
1474
- i0.ɵɵpipe(3, "translate");
1475
- i0.ɵɵelementEnd()();
1476
- } if (rf & 2) {
1477
- i0.ɵɵadvance(2);
1478
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "induction.add.employment.fed.verification.wages.statement"));
1479
- } }
1480
- function AddEmployerComponent_div_66_ng_container_14_tr_1_Template(rf, ctx) { if (rf & 1) {
1481
- i0.ɵɵelementStart(0, "tr")(1, "td");
1482
- i0.ɵɵtext(2);
1483
- i0.ɵɵelementEnd();
1484
- i0.ɵɵelementStart(3, "td");
1485
- i0.ɵɵelement(4, "p-inputNumber", 152);
1486
- i0.ɵɵelementEnd()();
1487
- } if (rf & 2) {
1488
- const wageAmountForm_r126 = i0.ɵɵnextContext().$implicit;
1489
- i0.ɵɵadvance(2);
1490
- i0.ɵɵtextInterpolate1(" ", wageAmountForm_r126.value.qtrYearDisplayString, " ");
1491
- i0.ɵɵadvance(2);
1492
- i0.ɵɵproperty("max", 999999.99);
1493
- } }
1494
- function AddEmployerComponent_div_66_ng_container_14_Template(rf, ctx) { if (rf & 1) {
1495
- i0.ɵɵelementContainerStart(0, 151);
1496
- i0.ɵɵtemplate(1, AddEmployerComponent_div_66_ng_container_14_tr_1_Template, 5, 2, "tr", 8);
1497
- i0.ɵɵelementContainerEnd();
1498
- } if (rf & 2) {
1499
- const wageAmountForm_r126 = ctx.$implicit;
1500
- const i_r127 = ctx.index;
1501
- const ctx_r125 = i0.ɵɵnextContext(2);
1502
- i0.ɵɵproperty("formGroupName", i_r127);
1503
- i0.ɵɵadvance(1);
1504
- i0.ɵɵproperty("ngIf", ctx_r125.employerType.value === "FED" || ctx_r125.employerType.value === "REG" && wageAmountForm_r126.value.displayForAll === true);
1505
- } }
1506
- function AddEmployerComponent_div_66_Template(rf, ctx) { if (rf & 1) {
1507
- i0.ɵɵelementStart(0, "div");
1508
- i0.ɵɵtemplate(1, AddEmployerComponent_div_66_div_1_Template, 4, 3, "div", 6);
1509
- i0.ɵɵtemplate(2, AddEmployerComponent_div_66_div_2_Template, 4, 3, "div", 6);
1510
- i0.ɵɵtemplate(3, AddEmployerComponent_div_66_div_3_Template, 4, 3, "div", 6);
1511
- i0.ɵɵelementStart(4, "div", 13)(5, "table", 147)(6, "tr")(7, "th", 148);
1512
- i0.ɵɵtext(8);
1513
- i0.ɵɵpipe(9, "translate");
1514
- i0.ɵɵelementEnd();
1515
- i0.ɵɵelementStart(10, "th");
1516
- i0.ɵɵtext(11);
1517
- i0.ɵɵpipe(12, "translate");
1518
- i0.ɵɵelementEnd()();
1519
- i0.ɵɵelementContainerStart(13, 149);
1520
- i0.ɵɵtemplate(14, AddEmployerComponent_div_66_ng_container_14_Template, 2, 2, "ng-container", 150);
1521
- i0.ɵɵelementContainerEnd();
1522
- i0.ɵɵelementEnd()()();
1523
- } if (rf & 2) {
1524
- const ctx_r55 = i0.ɵɵnextContext();
1525
- i0.ɵɵadvance(1);
1526
- i0.ɵɵproperty("ngIf", ctx_r55.employerType.value === "FED");
1527
- i0.ɵɵadvance(1);
1528
- i0.ɵɵproperty("ngIf", ctx_r55.employerType.value === "REG");
1529
- i0.ɵɵadvance(1);
1530
- i0.ɵɵproperty("ngIf", ctx_r55.employerType.value === "FED");
1531
- i0.ɵɵadvance(5);
1532
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(9, 6, "induction.add.employment.reg.verification.wages.col1"));
1533
- i0.ɵɵadvance(3);
1534
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(12, 8, "induction.add.employment.reg.verification.wages.col2"));
1535
- i0.ɵɵadvance(3);
1536
- i0.ɵɵproperty("ngForOf", ctx_r55.wageAmountArray.controls);
1537
- } }
1538
- function AddEmployerComponent_ion_button_72_Template(rf, ctx) { if (rf & 1) {
1539
- const _r131 = i0.ɵɵgetCurrentView();
1540
- i0.ɵɵelementStart(0, "ion-button", 153);
1541
- i0.ɵɵlistener("click", function AddEmployerComponent_ion_button_72_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r131); const ctx_r130 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r130.save()); });
1542
- i0.ɵɵtext(1);
1543
- i0.ɵɵpipe(2, "translate");
1544
- i0.ɵɵelementEnd();
1545
- } if (rf & 2) {
1546
- i0.ɵɵadvance(1);
1547
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "induction.employment.button.save"), " ");
1548
- } }
1549
- function AddEmployerComponent_ion_button_73_Template(rf, ctx) { if (rf & 1) {
1550
- const _r133 = i0.ɵɵgetCurrentView();
1551
- i0.ɵɵelementStart(0, "ion-button", 153);
1552
- i0.ɵɵlistener("click", function AddEmployerComponent_ion_button_73_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r133); const ctx_r132 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r132.add()); });
1553
- i0.ɵɵtext(1);
1554
- i0.ɵɵpipe(2, "translate");
1555
- i0.ɵɵelementEnd();
1556
- } if (rf & 2) {
1557
- i0.ɵɵadvance(1);
1558
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "induction.employment.button.add"), " ");
1559
- } }
1560
- const _c5 = function () { return { width: "60vw" }; };
1561
- const _c6 = function () { return { "1200px": "660px", "992px": "660px", "768px": "660px", "576px": "100vw" }; };
1562
- export class AddEmployerComponent {
1563
- constructor(formBuilder, validationService, util, filterService, logger, sanitizer, claimsService, ls) {
1564
- this.formBuilder = formBuilder;
1565
- this.validationService = validationService;
1566
- this.util = util;
1567
- this.filterService = filterService;
1568
- this.logger = logger;
1569
- this.sanitizer = sanitizer;
1570
- this.claimsService = claimsService;
1571
- this.ls = ls;
1572
- this.employerTypeOptions = ComboOption.EMPLOYER_TYPE;
1573
- this.countryOptions = ComboOption.COUNTRY;
1574
- this.countryFedOptions = ComboOption.COUNTRY;
1575
- this.payRateOptions = ComboOption.PAY_PERIOD;
1576
- this.stateOptions = [];
1577
- this.fedStateOptions = [];
1578
- this.jobTileOrPositionOptions = [];
1579
- this.fedJobTileOptions = [];
1580
- this.radioOptions = ComboOption.YES_NO;
1581
- this.workOptions = ComboOption.WORK_FOR_EMPL;
1582
- this.yesNoNaOptions = ComboOption.YES_NO_NA;
1583
- this.payMethodOptions = ComboOption.PAYMENT_METHOD;
1584
- this.wageProofOptions = ComboOption.WAGE_PROOF;
1585
- this.dischargeReasonOptions = [];
1586
- this.volQuitReasonOptions = [];
1587
- this.statesOptions = ComboOption.US_STATES;
1588
- this.payPeriod = ComboOption.PAY_PERIOD;
1589
- this.employmentStatusOptions = [];
1590
- this.workCountryOptions = ComboOption.WORK_COUNTRY;
1591
- this.militaryServiceOptions = ComboOption.MILITARY_SERVICE;
1592
- this.remunerationTypeOptions = ComboOption.REMUNERATION_TYPES;
1593
- this.dateTime = new Date();
1594
- this.groupedReasons = ComboOption.GROUP_REASONS;
1595
- this.dischargeReasonOptionsAll = [];
1596
- this.volQuitReasonOptionsAll = [];
1597
- this.employmentStatusOptionsAll = [];
1598
- this.sf8Info = "SF-8";
1599
- this.dd214Info = "DD 214";
1600
- this.paraOne = "induction.add.employment.mil.dd214.yes.para.one";
1601
- this.paraTwo = "induction.add.employment.mil.dd214.yes.para.two";
1602
- this.paraThree = "induction.add.employment.mil.dd214.yes.para.three";
1603
- this.paraFour = "induction.add.employment.mil.dd214.yes.para.four";
1604
- this.paraFive = "induction.add.employment.mil.dd214.yes.para.five";
1605
- this.paraSix = "induction.add.employment.mil.dd214.yes.para.six";
1606
- this.noParaOne = "induction.add.employment.mil.dd214.no.para.one";
1607
- this.noParaTwo = "induction.add.employment.mil.dd214.no.para.two";
1608
- this.noParaThree = "induction.add.employment.mil.dd214.no.para.three";
1609
- this.noParaFour = "induction.add.employment.mil.dd214.no.para.four";
1610
- this.noParaFive = "induction.add.employment.mil.dd214.no.para.five";
1611
- this.modelCancel = new EventEmitter();
1612
- this.success = new EventEmitter();
1613
- this.isBasePeriodEmployer = false;
1614
- this.basePeriodIndex = new EventEmitter();
1615
- this.isOsaEmployer = "0";
1616
- this.showWorkState = true;
1617
- this.onChange = (value) => {
1618
- };
1619
- this.onTouch = () => {
1620
- };
1621
- }
1622
- ngOnInit() {
1623
- this.loadMasterData();
1624
- this.logger.debug('isBasePeriodEmployer is = ', this.isBasePeriodEmployer);
1625
- this.logger.debug('isNewClaim = ', this.isNewClaim);
1626
- this.currentState = this.util.getState();
1627
- this.isCSR = this.ls.isCsr();
1628
- this.logger.debug("Current State = ", this.currentState);
1629
- let esm;
1630
- let qtrWageList;
1631
- this.logger.debug("call service =", this.validationService.bpEmpLstFrmService.getValue());
1632
- if (this.recordIndexToEdit == undefined || this.recordIndexToEdit == null) {
1633
- esm = new ClaimAppEmployerDetailsModel();
1634
- qtrWageList = [] = this.validationService.bpEmpLstFrmService.getValue()?.qtrYearWageListGeneric;
1635
- }
1636
- else {
1637
- this.logger.debug('recordIndexToEdit', this.recordIndexToEdit);
1638
- this.logger.debug('this.validationService.bpEmpLstFrmService.getValue()', this.validationService.bpEmpLstFrmService.getValue());
1639
- esm = this.validationService.bpEmpLstFrmService.getValue().bpEmpList[this.recordIndexToEdit];
1640
- qtrWageList = esm.wageAmountArray;
1641
- this.customerName = esm.employerData.displayName;
1642
- if (esm.employerData.tradeName) {
1643
- this.aliasName = esm.employerData.tradeName;
1644
- }
1645
- else {
1646
- this.aliasName = null;
1647
- }
1648
- if (esm.osaBpEmployerFlag) {
1649
- this.isOsaEmployer = esm.osaBpEmployerFlag;
1650
- }
1651
- this.logger.debug("isOsaEmployer ======= ", this.isOsaEmployer);
1652
- this.mailingAddressDisplay = esm.employerData.mailingAddressDisplay;
1653
- this.schoolFlag = esm.employerData.schoolFlag;
1654
- if (this.isCSR === true && esm.employerProvidedWages && esm.employerProvidedWages.wagesListQtrWise) {
1655
- this.employerProvidedWages = esm.employerProvidedWages.wagesListQtrWise;
1656
- }
1657
- }
1658
- this.basePeriodStartDate = this.validationService.bpEmpLstFrmService.getValue().basePeriodStartDate;
1659
- this.basePeriodEndDate = this.validationService.bpEmpLstFrmService.getValue().basePeriodEndDate;
1660
- this.bpStartDateToDisplay = this.validationService.bpEmpLstFrmService.getValue().bpStartDateToDisplay;
1661
- this.claimsService.loadMasterData();
1662
- this.addEmployerForm = this.formBuilder.group({
1663
- 'employerType': [esm.employerType != null ? esm.employerType : null, AppValidators.requiredIfValidator(() => (!this.isBasePeriodEmployer))],
1664
- 'employerName': [esm.employerName != null ? esm.employerName : null, AppValidators.requiredIfValidator(() => (!this.isBasePeriodEmployer && this.employerType.value === 'REG'))],
1665
- 'fedEmployerName': [esm.fedEmployerName != null ? esm.fedEmployerName : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED'))],
1666
- 'employerTelephoneNumber': [esm.employerTelephoneNumber != null ? esm.employerTelephoneNumber : null, AppValidators.requiredIfValidator(() => (((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || !this.isBasePeriodEmployer) && this.employerType.value === 'REG'))],
1667
- 'endDate': [esm.endDate != null ? esm.endDate : null, AppValidators.requiredIfValidator(() => (((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || !this.isBasePeriodEmployer) && this.employerType.value === 'REG'))],
1668
- 'startDate': [esm.startDate != null ? esm.startDate : null, AppValidators.requiredIfValidator(() => (((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || !this.isBasePeriodEmployer) && this.employerType.value === 'REG'))],
1669
- 'jobTileOrPosition': [esm.jobTileOrPosition != null ? esm.jobTileOrPosition : null, AppValidators.requiredIfValidator(() => ((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || !this.isBasePeriodEmployer) && this.employerType.value === 'REG')],
1670
- 'reasonSeparation': [esm.reasonSeparation != null ? esm.reasonSeparation : null, AppValidators.requiredIfValidator(() => (this.isBasePeriodEmployer && this.workFlag.value === 'Y') || !this.isBasePeriodEmployer && (this.employerType.value === 'REG' || this.employerType.value === 'FED'))],
1671
- 'dischargeDetail': [esm.dischargeDetail != null ? esm.dischargeDetail : null, AppValidators.requiredIfValidator(() => ((((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || (!this.isBasePeriodEmployer)) && this.employerType.value != 'MIL' && this.reasonSeparation.value && this.reasonSeparation.value.value === 'DCFI')))],
1672
- 'volQuitDetails': [esm.volQuitDetails != null ? esm.volQuitDetails : null, AppValidators.requiredIfValidator(() => ((((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || (!this.isBasePeriodEmployer)) && this.employerType.value != 'MIL' && this.reasonSeparation.value && this.reasonSeparation.value.value === 'VOLQ')))],
1673
- 'payRate': [esm.payRate != null ? esm.payRate : null, AppValidators.requiredIfValidator(() => ((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || !this.isBasePeriodEmployer) && this.employerType.value === 'REG')],
1674
- 'payRateFrequency': [esm.payRateFrequency != null ? esm.payRateFrequency : null, AppValidators.requiredIfValidator(() => (((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || !this.isBasePeriodEmployer) && this.employerType.value === 'REG'))],
1675
- 'pensionFlag': [esm.pensionFlag != null ? esm.pensionFlag : null, AppValidators.requiredIfValidator(() => (this.isBasePeriodEmployer && this.workFlag.value === 'Y' && this.employerType.value === 'REG'))],
1676
- 'pensionRecvDate': [esm.pensionRecvDate != null ? esm.pensionRecvDate : null, AppValidators.requiredIfValidator(() => (this.isBasePeriodEmployer && this.workFlag.value === 'Y' && this.employerType.value === 'REG' && this.pensionFlag.value === 'Y' && this.currentState != 'ME'))],
1677
- 'regPensionFlag': [esm.regPensionFlag != null ? esm.regPensionFlag : null, AppValidators.requiredIfValidator(() => (!this.isBasePeriodEmployer && this.employerType.value === 'REG'))],
1678
- 'regPensionRecvDate': [esm.regPensionRecvDate != null ? esm.regPensionRecvDate : null, AppValidators.requiredIfValidator(() => (!this.isBasePeriodEmployer && this.employerType.value === 'REG' && this.regPensionFlag.value === 'Y'))],
1679
- 'isClmtPaidWhileLow': [esm.isClmtPaidWhileLow != null ? esm.isClmtPaidWhileLow : null, AppValidators.requiredIfValidator(() => ((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || !this.isBasePeriodEmployer) && this.employerType.value === 'REG')],
1680
- 'hasShortTermDisability': [esm.hasShortTermDisability != null ? esm.hasShortTermDisability : null, AppValidators.requiredIfValidator(() => ((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || !this.isBasePeriodEmployer) && this.employerType.value === 'REG' && this.currentState === 'ME')],
1681
- 'hasRecvRemuneration': [esm.hasRecvRemuneration != null ? esm.hasRecvRemuneration : null, AppValidators.requiredIfValidator(() => ((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || !this.isBasePeriodEmployer) && this.employerType.value === 'REG' && this.currentState === 'ME')],
1682
- 'remunerationTypes': [esm.remunerationTypes != null ? esm.remunerationTypes : null],
1683
- 'vacation': [esm.vacation != null ? esm.vacation : null, AppValidators.requiredIfValidator(() => ((this.isBasePeriodEmployer && this.workFlag.value === 'Y' && this.schoolFlag === '1') || !this.isBasePeriodEmployer) && this.employerType.value === 'REG' && this.currentState === 'ME')],
1684
- 'grossWages': [esm.grossWages != null ? esm.grossWages : null, AppValidators.requiredIfValidator(() => this.displayVerificationOfWages.value && this.employerType.value === 'REG' && !this.isBasePeriodEmployer)],
1685
- //'paidBy': [esm.paidBy != null ? esm.paidBy : null,AppValidators.requiredIfValidator(() => (this.isClmtPaidWhileLow.value==='Y'))],
1686
- 'paymentType': [esm.paymentType != null ? esm.paymentType : null, AppValidators.requiredIfValidator(() => (this.displayVerificationOfWages.value && this.employerType.value === 'REG' && !this.isBasePeriodEmployer))],
1687
- 'docsReceived': [esm.docsReceived != null ? esm.docsReceived : null, AppValidators.requiredIfValidator(() => (this.displayVerificationOfWages.value && this.employerType.value === 'REG' && !this.isBasePeriodEmployer))],
1688
- 'otherSSNFlag': [esm.otherSSNFlag != null ? esm.otherSSNFlag : null, AppValidators.requiredIfValidator(() => (this.displayVerificationOfWages.value && this.employerType.value === 'REG' && !this.isBasePeriodEmployer))],
1689
- 'otherSSN': [esm.otherSSN != null ? esm.otherSSN : null, AppValidators.requiredIfValidator(() => (!this.isBasePeriodEmployer && this.employerType.value === 'REG' && this.displayVerificationOfWages.value && this.otherSSNFlag.value === 'Y'))],
1690
- 'otherNameFlag': [esm.otherNameFlag != null ? esm.otherNameFlag : null, AppValidators.requiredIfValidator(() => (this.displayVerificationOfWages.value && this.employerType.value === 'REG' && !this.isBasePeriodEmployer))],
1691
- 'otherName': [esm.otherName != null ? esm.otherName : null, AppValidators.requiredIfValidator(() => (!this.isBasePeriodEmployer && this.employerType.value === 'REG' && this.displayVerificationOfWages.value && this.otherNameFlag.value === 'Y'))],
1692
- //'doingBusinessAs': [esm.doingBusinessAs != null ? esm.doingBusinessAs : null, AppValidators.requiredIfValidator(() => (this.displayVerificationOfWages.value && !this.isBasePeriodEmployer && this.workState.value && this.workState.value.value==='MS'))],
1693
- 'workState': [esm.workState != null ? esm.workState : null, AppValidators.requiredIfValidator(() => (!this.isBasePeriodEmployer && this.employerType.value === 'REG'))],
1694
- 'workCity': [esm.workCity != null ? esm.workCity : null, AppValidators.requiredIfValidator(() => (!this.isBasePeriodEmployer && this.employerType.value === 'REG'))],
1695
- //'numberEmployed': [esm.numberEmployed != null ? esm.numberEmployed : null, AppValidators.requiredIfValidator(() => (this.displayVerificationOfWages.value && !this.isBasePeriodEmployer))],
1696
- 'workType': [esm.workType != null ? esm.workType : null, AppValidators.requiredIfValidator(() => (this.displayVerificationOfWages.value && this.employerType.value === 'REG' && !this.isBasePeriodEmployer))],
1697
- // 'fein': [esm.fein != null ? esm.fein : null],
1698
- // 'hiredBy': [esm.hiredBy != null ? esm.hiredBy : null, AppValidators.requiredIfValidator(() => (this.displayVerificationOfWages.value && !this.isBasePeriodEmployer && this.workState.value && this.workState.value.value==='MS'))],
1699
- //'businessOwner': [esm.businessOwner != null ? esm.businessOwner : null, AppValidators.requiredIfValidator(() => (this.displayVerificationOfWages.value && !this.isBasePeriodEmployer && this.workState.value && this.workState.value.value==='MS'))],
1700
- 'businessNature': [esm.businessNature != null ? esm.businessNature : null, AppValidators.requiredIfValidator(() => (this.displayVerificationOfWages.value && this.employerType.value === 'REG' && !this.isBasePeriodEmployer))],
1701
- 'workFlag': [esm.workFlag != null ? esm.workFlag : null, AppValidators.requiredIfValidator(() => this.isBasePeriodEmployer)],
1702
- //'quitreason': [esm.quitreason != null ? esm.quitreason : null, AppValidators.requiredIfValidator(() => ((((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || (!this.isBasePeriodEmployer)) && this.reasonSeparation.value && this.reasonSeparation.value.value === 'VOLQ')))],
1703
- 'displayVerificationOfWages': [esm.displayVerificationOfWages != null ? esm.displayVerificationOfWages : null],
1704
- 'ficDestinationCode': [esm.ficDestinationCode != null ? esm.ficDestinationCode : null],
1705
- 'ficCode': [esm.ficCode != null ? esm.ficCode : null],
1706
- 'ficDestinationName': [esm.ficDestinationName != null ? esm.ficDestinationName : null],
1707
- 'ficDestinationId': [esm.ficDestinationId != null ? esm.ficDestinationId : null],
1708
- 'sfEightflag': [esm.sfEightflag != null ? esm.sfEightflag : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED'))],
1709
- 'fedWorkCity': [esm.fedWorkCity != null ? esm.fedWorkCity : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED'))],
1710
- 'fedWorkState': [esm.fedWorkState != null ? esm.fedWorkState : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED'))],
1711
- 'fedWorkCountry': [esm.fedWorkCountry != null ? esm.fedWorkCountry : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED'))],
1712
- 'startDateFed': [esm.startDateFed != null ? esm.startDateFed : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED'))],
1713
- 'endDateFed': [esm.endDateFed != null ? esm.endDateFed : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED'))],
1714
- 'fedJobTileOrPosition': [esm.fedJobTileOrPosition != null ? esm.fedJobTileOrPosition : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED'))],
1715
- //'claimantEmployedWithEmpr': [esm.claimantEmployedWithEmpr != null ? esm.claimantEmployedWithEmpr : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED'))],
1716
- 'performedService': [esm.performedService != null ? esm.performedService : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED'))],
1717
- 'fedPensionFlag': [esm.fedPensionFlag != null ? esm.fedPensionFlag : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED'))],
1718
- 'fedPensionRecvDate': [esm.fedPensionRecvDate != null ? esm.fedPensionRecvDate : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED' && this.fedPensionFlag.value === 'Y' && this.currentState != 'ME'))],
1719
- 'sevPayFlag': [esm.sevPayFlag != null ? esm.sevPayFlag : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED' && this.currentState === 'ME'))],
1720
- 'weeklyAmount': [esm.sevPayFlag != null ? esm.weeklyAmount : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED' && this.sevPayFlag.value === 'Y'))],
1721
- 'numberOfWeeks': [esm.sevPayFlag != null ? esm.numberOfWeeks : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED' && this.sevPayFlag.value === 'Y'))],
1722
- 'sevPayAmount': [esm.sevPayFlag != null ? esm.sevPayAmount : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED' && this.sevPayFlag.value === 'Y'))],
1723
- 'sevPayStartDate': [esm.sevPayStartDate != null ? esm.sevPayStartDate : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED' && this.sevPayFlag.value === 'Y'))],
1724
- 'sevPayEndDate': [esm.sevPayEndDate != null ? esm.sevPayEndDate : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED' && this.sevPayFlag.value === 'Y'))],
1725
- 'sevPayPaymentStartDate': [esm.sevPayPaymentStartDate != null ? esm.sevPayPaymentStartDate : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED' && this.sevPayFlag.value === 'Y'))],
1726
- 'regEmployerFound': [esm.regEmployerFound != null ? esm.regEmployerFound : null],
1727
- 'employerId': [esm.employerId != null ? esm.employerId : null],
1728
- 'serviceBranch': [esm.serviceBranch != null ? esm.serviceBranch : null],
1729
- 'startDateMil': [esm.startDateMil != null ? esm.startDateMil : null],
1730
- 'endDateMil': [esm.endDateMil != null ? esm.endDateMil : null],
1731
- 'dd214Flag': [esm.dd214Flag != null ? esm.dd214Flag : null],
1732
- 'lastPayGrade': [esm.lastPayGrade != null ? esm.lastPayGrade : null],
1733
- 'lastduty': [esm.lastduty != null ? esm.lastduty : null],
1734
- 'placeSeparated': [esm.placeSeparated != null ? esm.placeSeparated : null],
1735
- 'noLeaveDays': [esm.noLeaveDays != null ? esm.noLeaveDays : null],
1736
- 'completedFullTermFlag': [esm.completedFullTermFlag != null ? esm.completedFullTermFlag : null],
1737
- 'reserveOrGuardFlag': [esm.reserveOrGuardFlag != null ? esm.reserveOrGuardFlag : null],
1738
- 'milPensionFlag': [esm.milPensionFlag != null ? esm.milPensionFlag : null],
1739
- 'milPensionRecvDate': [esm.milPensionRecvDate != null ? esm.milPensionRecvDate : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'MIL' && this.milPensionFlag.value === 'Y' && this.currentState != 'ME'))],
1740
- 'addressLine1': [esm.addressLine1 != null ? esm.addressLine1 : null],
1741
- 'addressLine2': [esm.addressLine2 != null ? esm.addressLine2 : null],
1742
- 'addressLine3': [esm.addressLine3 != null ? esm.addressLine3 : null],
1743
- 'reserveBranch': [esm.reserveBranch != null ? esm.reserveBranch : null],
1744
- 'startDateReserve': [esm.startDateReserve != null ? esm.startDateReserve : null],
1745
- 'endDateReserve': [esm.endDateReserve != null ? esm.endDateReserve : null],
1746
- 'dd214File': [esm.dd214File != null ? esm.dd214File : null],
1747
- 'address': [esm.address != null ? esm.address : null],
1748
- wageAmountArray: this.formBuilder.array([]),
1749
- testEmp: [esm.employerProvidedWages && esm.employerProvidedWages.wagesListQtrWise != null ? esm.employerProvidedWages.wagesListQtrWise : null],
1750
- 'osaBpEmployerFlag': [esm.osaBpEmployerFlag != null ? esm.osaBpEmployerFlag : "0"]
1751
- });
1752
- if (this.validationService.bpEmpLstFrmService) {
1753
- if (qtrWageList) {
1754
- for (var qtrWage of qtrWageList) {
1755
- this.wageAmountArray.push(this.wageArray(qtrWage));
1756
- }
1757
- }
1758
- }
1759
- ;
1760
- this.setRequiredValidation();
1761
- let empStat = this.employmentStatusOptionsAll.filter(stat => stat.value == esm.reasonSeparation?.value)[0];
1762
- this.reasonSeparation.setValue(empStat);
1763
- }
1764
- loadMasterData() {
1765
- this.claimsService.getReasonSeparation().subscribe(value => {
1766
- value.forEach(arr => this.employmentStatusOptionsAll.push(arr));
1767
- });
1768
- this.claimsService.getDischargeReasons().subscribe(value => {
1769
- value.forEach(arr => this.dischargeReasonOptionsAll.push(arr));
1770
- });
1771
- this.claimsService.getQuitReasons().subscribe(value => {
1772
- value.forEach(arr => this.volQuitReasonOptionsAll.push(arr));
1773
- });
1774
- if (this.employmentStatusOptions != null)
1775
- return true;
1776
- }
1777
- wageArray(qtrWage) {
1778
- return this.formBuilder.group({
1779
- wageAmount: [qtrWage.wageAmount != null ? qtrWage.wageAmount : null, AppValidators.requiredIfValidator(() => (((this.employerType.value === 'FED') || (this.employerType.value === 'REG' && qtrWage.displayForAll && this.workState.value && this.workState.value.value === this.currentState))))],
1780
- quarter: [qtrWage.quarter != null ? qtrWage.quarter : null],
1781
- year: [qtrWage.year != null ? qtrWage.year : null],
1782
- qtrYearDisplayString: [qtrWage.qtrYearDisplayString != null ? qtrWage.qtrYearDisplayString : null],
1783
- displayOrder: [qtrWage.displayOrder != null ? qtrWage.displayOrder : null],
1784
- displayForAll: [qtrWage.displayForAll != null ? qtrWage.displayForAll : null],
1785
- });
1786
- }
1787
- get wageAmountArray() {
1788
- return this.addEmployerForm.controls["wageAmountArray"];
1789
- }
1790
- get testEmp() {
1791
- return this.addEmployerForm.controls["testEmp"];
1792
- }
1793
- setRequiredValidation() {
1794
- this.sevPayFlag.valueChanges.subscribe(val => {
1795
- if (val === 'Y' && this.employerType.value === 'FED' && this.sevPayFlag.value === 'Y' && this.currentState === 'ME') {
1796
- this.setValidationOnServFields();
1797
- }
1798
- else {
1799
- this.removeValidationOnServFields();
1800
- }
1801
- });
1802
- this.workState.valueChanges.subscribe(val => {
1803
- if (val && val.value === this.currentState && this.displayVerificationOfWages.value && !this.isBasePeriodEmployer) {
1804
- this.setValidationOnVerificationOfWagesFields();
1805
- }
1806
- else {
1807
- this.removeValidationOnVerificationOfWagesFields();
1808
- }
1809
- });
1810
- this.fedWorkCountry.valueChanges.subscribe(val => {
1811
- if (val && val.value === 'US' || val && val.value === 'CA') {
1812
- this.showWorkState = true;
1813
- this.util.setRequiredValidator(this.fedWorkState);
1814
- }
1815
- else {
1816
- this.showWorkState = false;
1817
- this.util.clearValidation(this.fedWorkState);
1818
- this.fedWorkState.setValue(null);
1819
- }
1820
- if (val && val.value === 'US' && !this.isBasePeriodEmployer) {
1821
- this.util.setRequiredValidator(this.fedWorkState);
1822
- }
1823
- else {
1824
- this.util.clearValidation(this.fedWorkState);
1825
- this.fedWorkState.setValue(null);
1826
- }
1827
- });
1828
- this.endDate.valueChanges.subscribe(val => {
1829
- if (this.workState.value?.value == this.currentState && this.displayVerificationOfWages.value && !this.isBasePeriodEmployer) {
1830
- this.setValidationOnVerificationOfWagesFields();
1831
- }
1832
- else {
1833
- this.removeValidationOnVerificationOfWagesFields();
1834
- }
1835
- });
1836
- this.reasonSeparation.valueChanges.subscribe(val => {
1837
- if (val) {
1838
- if (val.value === 'DCFI') {
1839
- this.util.setRequiredValidator(this.dischargeDetail);
1840
- this.util.clearValidation(this.volQuitDetails);
1841
- this.volQuitDetails.setValue(null);
1842
- }
1843
- else if (this.reasonSeparation.value.value === 'VOLQ') {
1844
- this.util.setRequiredValidator(this.volQuitDetails);
1845
- this.util.clearValidation(this.dischargeDetail);
1846
- this.dischargeDetail.setValue(null);
1847
- }
1848
- else {
1849
- this.util.clearValidation(this.dischargeDetail);
1850
- this.dischargeDetail.setValue(null);
1851
- this.util.clearValidation(this.volQuitDetails);
1852
- this.volQuitDetails.setValue(null);
1853
- }
1854
- }
1855
- });
1856
- this.pensionFlag.valueChanges.subscribe(val => {
1857
- if (val === 'Y' && this.employerType.value === 'REG' && this.workFlag.value === 'Y' && this.pensionFlag.value === 'Y' && this.currentState != 'ME') {
1858
- this.util.setRequiredValidator(this.pensionRecvDate);
1859
- }
1860
- else {
1861
- this.pensionRecvDate.setValue(null);
1862
- this.util.clearValidation(this.pensionRecvDate);
1863
- }
1864
- });
1865
- this.fedPensionFlag.valueChanges.subscribe(val => {
1866
- if (val === 'Y' && this.employerType.value === 'FED' && this.fedPensionFlag.value === 'Y' && this.currentState != 'ME') {
1867
- this.util.setRequiredValidator(this.fedPensionRecvDate);
1868
- }
1869
- else {
1870
- this.fedPensionRecvDate.setValue(null);
1871
- this.util.clearValidation(this.fedPensionRecvDate);
1872
- }
1873
- });
1874
- this.regPensionFlag.valueChanges.subscribe(val => {
1875
- if (val === 'Y' && this.employerType.value === 'REG' && !this.isBasePeriodEmployer && this.regPensionFlag.value === 'Y' && this.currentState != 'ME') {
1876
- this.util.setRequiredValidator(this.regPensionRecvDate);
1877
- }
1878
- else {
1879
- this.regPensionRecvDate.setValue(null);
1880
- this.util.clearValidation(this.regPensionRecvDate);
1881
- }
1882
- });
1883
- this.milPensionFlag.valueChanges.subscribe(val => {
1884
- if (val === 'Y' && this.employerType.value === 'MIL' && this.milPensionFlag.value === 'Y' && this.currentState != 'ME') {
1885
- this.util.setRequiredValidator(this.milPensionRecvDate);
1886
- }
1887
- else {
1888
- this.milPensionRecvDate.setValue(null);
1889
- this.util.clearValidation(this.milPensionRecvDate);
1890
- }
1891
- });
1892
- this.hasRecvRemuneration.valueChanges.subscribe(val => {
1893
- if (val === 'Y' && this.employerType.value === 'REG' && this.hasRecvRemuneration.value === 'Y' && this.currentState === 'ME' && this.isOsaEmployer === '0') {
1894
- this.util.setRequiredValidator(this.remunerationTypes);
1895
- }
1896
- else {
1897
- this.remunerationTypes.setValue(null);
1898
- this.util.clearValidation(this.remunerationTypes);
1899
- }
1900
- });
1901
- this.employerType.valueChanges.subscribe(val => {
1902
- if (val === 'FED') {
1903
- this.setValidationOnFederalFields();
1904
- this.removeValidationOnRegularFields();
1905
- this.removeValidationOnMilitaryFields();
1906
- }
1907
- if (val === 'REG') {
1908
- this.setValidationOnRegularFields();
1909
- this.removeValidationOnFederalFields();
1910
- this.removeValidationOnMilitaryFields();
1911
- }
1912
- if (val === 'MIL') {
1913
- this.setValidationOnMilitaryFields();
1914
- this.removeValidationOnFederalFields();
1915
- this.removeValidationOnRegularFields();
1916
- }
1917
- });
1918
- }
1919
- setValidationOnServFields() {
1920
- this.util.setRequiredValidator(this.weeklyAmount);
1921
- this.util.setRequiredValidator(this.numberOfWeeks);
1922
- this.util.setRequiredValidator(this.sevPayAmount);
1923
- this.util.setRequiredValidator(this.sevPayStartDate);
1924
- this.util.setRequiredValidator(this.sevPayEndDate);
1925
- this.util.setRequiredValidator(this.sevPayPaymentStartDate);
1926
- }
1927
- removeValidationOnServFields() {
1928
- this.util.clearValidation(this.weeklyAmount);
1929
- this.weeklyAmount.setValue('');
1930
- this.util.clearValidation(this.numberOfWeeks);
1931
- this.numberOfWeeks.setValue('');
1932
- this.util.clearValidation(this.sevPayAmount);
1933
- this.sevPayAmount.setValue('');
1934
- this.util.clearValidation(this.sevPayStartDate);
1935
- this.sevPayStartDate.setValue(null);
1936
- this.util.clearValidation(this.sevPayEndDate);
1937
- this.sevPayEndDate.setValue(null);
1938
- this.util.clearValidation(this.sevPayPaymentStartDate);
1939
- this.sevPayPaymentStartDate.setValue(null);
1940
- }
1941
- setValidationOnVerificationOfWagesFields() {
1942
- this.util.setRequiredValidator(this.paymentType);
1943
- this.util.setRequiredValidator(this.docsReceived);
1944
- // this.util.setRequiredValidator(this.doingBusinessAs);
1945
- // this.util.setRequiredValidator(this.hiredBy);
1946
- this.util.setRequiredValidator(this.businessNature);
1947
- this.util.setRequiredValidator(this.otherNameFlag);
1948
- this.util.setRequiredValidator(this.otherSSNFlag);
1949
- }
1950
- removeValidationOnVerificationOfWagesFields() {
1951
- this.util.clearValidation(this.paymentType);
1952
- this.paymentType.setValue(null);
1953
- this.util.clearValidation(this.docsReceived);
1954
- this.docsReceived.setValue(null);
1955
- // this.util.clearValidation(this.doingBusinessAs);
1956
- // this.doingBusinessAs.setValue(null);
1957
- // this.util.clearValidation(this.hiredBy);
1958
- // this.hiredBy.setValue(null);
1959
- this.util.clearValidation(this.businessNature);
1960
- this.businessNature.setValue(null);
1961
- this.util.clearValidation(this.otherNameFlag);
1962
- this.otherNameFlag.setValue(null);
1963
- this.util.clearValidation(this.otherSSNFlag);
1964
- this.otherSSNFlag.setValue(null);
1965
- }
1966
- setValidationOnRegularFields() {
1967
- this.logger.debug('this.displayVerificationOfWages.value', this.displayVerificationOfWages.value, ' this.isBasePeriodEmployer', this.isBasePeriodEmployer);
1968
- if (((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || !this.isBasePeriodEmployer)) {
1969
- this.util.setRequiredValidator(this.reasonSeparation);
1970
- }
1971
- if ((((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || !this.isBasePeriodEmployer) && this.employerType.value === 'REG')) {
1972
- this.util.setRequiredValidator(this.payRateFrequency);
1973
- this.util.setRequiredValidator(this.payRate);
1974
- this.util.setRequiredValidator(this.jobTileOrPosition);
1975
- this.util.setRequiredValidator(this.isClmtPaidWhileLow);
1976
- this.util.setRequiredValidator(this.endDate);
1977
- this.util.setRequiredValidator(this.employerTelephoneNumber);
1978
- this.util.setRequiredValidator(this.employerName);
1979
- this.util.setRequiredValidator(this.startDate);
1980
- if (this.currentState === 'ME') {
1981
- this.util.setRequiredValidator(this.vacation);
1982
- this.util.setRequiredValidator(this.hasShortTermDisability);
1983
- this.util.setRequiredValidator(this.hasRecvRemuneration);
1984
- }
1985
- }
1986
- if ((this.isBasePeriodEmployer && this.workFlag.value === 'Y' && this.employerType.value === 'REG')) {
1987
- if (this.pensionFlag.value === 'Y') {
1988
- this.util.setRequiredValidator(this.pensionRecvDate);
1989
- }
1990
- }
1991
- if (!this.isBasePeriodEmployer && this.employerType.value === 'REG') {
1992
- this.util.setRequiredValidator(this.workState);
1993
- this.util.setRequiredValidator(this.workCity);
1994
- this.util.setRequiredValidator(this.regPensionFlag);
1995
- if (this.regPensionFlag.value === 'Y') {
1996
- this.util.setRequiredValidator(this.regPensionRecvDate);
1997
- }
1998
- }
1999
- }
2000
- removeValidationOnRegularFields() {
2001
- this.util.clearValidation(this.pensionFlag);
2002
- this.pensionFlag.setValue(null);
2003
- this.util.clearValidation(this.pensionRecvDate);
2004
- this.pensionRecvDate.setValue(null);
2005
- this.util.clearValidation(this.payRateFrequency);
2006
- this.payRateFrequency.setValue(null);
2007
- this.util.clearValidation(this.payRate);
2008
- this.payRate.setValue(null);
2009
- this.util.clearValidation(this.jobTileOrPosition);
2010
- this.jobTileOrPosition.setValue(null);
2011
- this.util.clearValidation(this.isClmtPaidWhileLow);
2012
- this.isClmtPaidWhileLow.setValue(null);
2013
- this.util.clearValidation(this.endDate);
2014
- this.endDate.setValue(null);
2015
- this.util.clearValidation(this.employerTelephoneNumber);
2016
- this.employerTelephoneNumber.setValue(null);
2017
- this.util.clearValidation(this.employerName);
2018
- this.employerName.setValue(null);
2019
- this.util.clearValidation(this.startDate);
2020
- this.startDate.setValue(null);
2021
- this.util.clearValidation(this.workState);
2022
- this.workState.setValue(null);
2023
- this.util.clearValidation(this.workCity);
2024
- this.workCity.setValue(null);
2025
- this.util.clearValidation(this.regPensionFlag);
2026
- this.regPensionFlag.setValue(null);
2027
- this.util.clearValidation(this.regPensionRecvDate);
2028
- this.regPensionRecvDate.setValue(null);
2029
- this.util.clearValidation(this.otherName);
2030
- this.otherName.setValue(null);
2031
- this.util.clearValidation(this.otherNameFlag);
2032
- this.otherNameFlag.setValue(null);
2033
- this.util.clearValidation(this.otherSSN);
2034
- this.otherSSN.setValue(null);
2035
- this.util.clearValidation(this.otherSSNFlag);
2036
- this.otherSSNFlag.setValue(null);
2037
- if (this.currentState === 'ME') {
2038
- this.util.clearValidation(this.vacation);
2039
- this.vacation.setValue(null);
2040
- this.util.clearValidation(this.hasShortTermDisability);
2041
- this.hasShortTermDisability.setValue(null);
2042
- this.util.clearValidation(this.hasRecvRemuneration);
2043
- this.hasRecvRemuneration.setValue(null);
2044
- this.util.clearValidation(this.remunerationTypes);
2045
- this.remunerationTypes.setValue(null);
2046
- }
2047
- }
2048
- setValidationOnFederalFields() {
2049
- // this.util.setRequiredValidator(this.claimantEmployedWithEmpr);
2050
- this.util.setRequiredValidator(this.reasonSeparation);
2051
- this.util.setRequiredValidator(this.endDateFed);
2052
- this.util.setRequiredValidator(this.fedEmployerName);
2053
- this.util.setRequiredValidator(this.fedJobTileOrPosition);
2054
- this.util.setRequiredValidator(this.fedPensionFlag);
2055
- if (this.fedPensionFlag.value === 'Y') {
2056
- this.util.setRequiredValidator(this.fedPensionRecvDate);
2057
- }
2058
- this.util.setRequiredValidator(this.fedWorkCity);
2059
- this.util.setRequiredValidator(this.fedWorkCountry);
2060
- this.util.setRequiredValidator(this.fedWorkState);
2061
- this.util.setRequiredValidator(this.performedService);
2062
- if (this.currentState === 'ME') {
2063
- this.util.setRequiredValidator(this.sevPayFlag);
2064
- }
2065
- this.util.setRequiredValidator(this.sfEightflag);
2066
- this.util.setRequiredValidator(this.startDateFed);
2067
- this.util.setValidation(this.fedEmployerName, [Validators.required]);
2068
- }
2069
- removeValidationOnFederalFields() {
2070
- this.util.clearValidation(this.startDateFed);
2071
- this.startDateFed.setValue(null);
2072
- this.util.clearValidation(this.sfEightflag);
2073
- this.sfEightflag.setValue(null);
2074
- this.util.clearValidation(this.sevPayFlag);
2075
- this.sevPayFlag.setValue(null);
2076
- this.util.clearValidation(this.performedService);
2077
- this.performedService.setValue(null);
2078
- this.util.clearValidation(this.fedWorkState);
2079
- this.fedWorkState.setValue(null);
2080
- this.util.clearValidation(this.fedWorkCountry);
2081
- this.fedWorkCountry.setValue(null);
2082
- this.util.clearValidation(this.fedWorkCity);
2083
- this.fedWorkCity.setValue(null);
2084
- this.util.clearValidation(this.fedPensionFlag);
2085
- this.fedPensionFlag.setValue(null);
2086
- this.util.clearValidation(this.fedPensionRecvDate);
2087
- this.fedPensionRecvDate.setValue(null);
2088
- this.util.clearValidation(this.fedJobTileOrPosition);
2089
- this.fedJobTileOrPosition.setValue(null);
2090
- this.util.clearValidation(this.fedEmployerName);
2091
- this.fedEmployerName.setValue(null);
2092
- this.util.clearValidation(this.endDateFed);
2093
- this.endDateFed.setValue(null);
2094
- // this.util.clearValidation(this.claimantEmployedWithEmpr);
2095
- //this.claimantEmployedWithEmpr.setValue(null)
2096
- }
2097
- setValidationOnMilitaryFields() {
2098
- this.util.setRequiredValidator(this.serviceBranch);
2099
- this.util.setRequiredValidator(this.startDateMil);
2100
- this.util.setRequiredValidator(this.endDateMil);
2101
- this.util.setRequiredValidator(this.dd214Flag);
2102
- this.util.setRequiredValidator(this.milPensionFlag);
2103
- if (this.milPensionFlag.value === 'Y') {
2104
- this.util.setRequiredValidator(this.milPensionRecvDate);
2105
- }
2106
- if (this.dd214Flag.value === 'N') {
2107
- this.util.setRequiredValidator(this.lastPayGrade);
2108
- this.util.setRequiredValidator(this.lastduty);
2109
- this.util.setRequiredValidator(this.placeSeparated);
2110
- this.util.setRequiredValidator(this.noLeaveDays);
2111
- this.util.setRequiredValidator(this.completedFullTermFlag);
2112
- this.util.setRequiredValidator(this.reserveOrGuardFlag);
2113
- }
2114
- if (this.dd214Flag.value === 'Y') { }
2115
- if (this.reserveOrGuardFlag.value === 'Y') {
2116
- this.util.setRequiredValidator(this.reserveBranch);
2117
- this.util.setRequiredValidator(this.startDateReserve);
2118
- this.util.setRequiredValidator(this.endDateReserve);
2119
- }
2120
- //military does not have reason of separation
2121
- this.util.clearValidation(this.reasonSeparation);
2122
- this.reasonSeparation.setValue(null);
2123
- }
2124
- removeValidationOnMilitaryFields() {
2125
- this.util.clearValidation(this.serviceBranch);
2126
- this.serviceBranch.setValue(null);
2127
- this.util.clearValidation(this.startDateMil);
2128
- this.startDateMil.setValue(null);
2129
- this.util.clearValidation(this.endDateMil);
2130
- this.endDateMil.setValue(null);
2131
- this.util.clearValidation(this.dd214Flag);
2132
- this.dd214Flag.setValue(null);
2133
- this.util.clearValidation(this.lastPayGrade);
2134
- this.lastPayGrade.setValue(null);
2135
- this.util.clearValidation(this.lastduty);
2136
- this.lastduty.setValue(null);
2137
- this.util.clearValidation(this.placeSeparated);
2138
- this.placeSeparated.setValue(null);
2139
- this.util.clearValidation(this.noLeaveDays);
2140
- this.noLeaveDays.setValue(null);
2141
- this.util.clearValidation(this.completedFullTermFlag);
2142
- this.completedFullTermFlag.setValue(null);
2143
- this.util.clearValidation(this.reserveOrGuardFlag);
2144
- this.reserveOrGuardFlag.setValue(null);
2145
- this.util.clearValidation(this.milPensionFlag);
2146
- this.milPensionFlag.setValue(null);
2147
- this.util.clearValidation(this.reserveBranch);
2148
- this.reserveBranch.setValue(null);
2149
- this.util.clearValidation(this.startDateReserve);
2150
- this.startDateReserve.setValue(null);
2151
- this.util.clearValidation(this.endDateReserve);
2152
- this.endDateReserve.setValue(null);
2153
- this.util.clearValidation(this.milPensionRecvDate);
2154
- this.milPensionRecvDate.setValue(null);
2155
- }
2156
- get employerType() {
2157
- return this.addEmployerForm.controls['employerType'];
2158
- }
2159
- get employerName() {
2160
- return this.addEmployerForm.controls['employerName'];
2161
- }
2162
- get employerTelephoneNumber() {
2163
- return this.addEmployerForm.controls['employerTelephoneNumber'];
2164
- }
2165
- get startDate() {
2166
- return this.addEmployerForm.controls['startDate'];
2167
- }
2168
- get endDate() {
2169
- return this.addEmployerForm.controls['endDate'];
2170
- }
2171
- get jobTileOrPosition() {
2172
- return this.addEmployerForm.controls['jobTileOrPosition'];
2173
- }
2174
- get reasonSeparation() {
2175
- return this.addEmployerForm.controls['reasonSeparation'];
2176
- }
2177
- get dischargeDetail() {
2178
- return this.addEmployerForm.controls['dischargeDetail'];
2179
- }
2180
- get volQuitDetails() {
2181
- return this.addEmployerForm.controls['volQuitDetails'];
2182
- }
2183
- get payRate() {
2184
- return this.addEmployerForm.controls['payRate'];
2185
- }
2186
- get grossWages() {
2187
- return this.addEmployerForm.controls['grossWages'];
2188
- }
2189
- get payRateFrequency() {
2190
- return this.addEmployerForm.controls['payRateFrequency'];
2191
- }
2192
- get pensionFlag() {
2193
- return this.addEmployerForm.controls['pensionFlag'];
2194
- }
2195
- get pensionRecvDate() {
2196
- return this.addEmployerForm.controls['pensionRecvDate'];
2197
- }
2198
- get regPensionFlag() {
2199
- return this.addEmployerForm.controls['regPensionFlag'];
2200
- }
2201
- get regPensionRecvDate() {
2202
- return this.addEmployerForm.controls['regPensionRecvDate'];
2203
- }
2204
- get isClmtPaidWhileLow() {
2205
- return this.addEmployerForm.controls['isClmtPaidWhileLow'];
2206
- }
2207
- get hasShortTermDisability() {
2208
- return this.addEmployerForm.controls['hasShortTermDisability'];
2209
- }
2210
- get hasRecvRemuneration() {
2211
- return this.addEmployerForm.controls['hasRecvRemuneration'];
2212
- }
2213
- get remunerationTypes() {
2214
- return this.addEmployerForm.controls['remunerationTypes'];
2215
- }
2216
- get vacation() {
2217
- return this.addEmployerForm.controls['vacation'];
2218
- }
2219
- // get paidBy() {
2220
- // return this.addEmployerForm.controls['paidBy'];
2221
- // }
2222
- get paymentType() {
2223
- return this.addEmployerForm.controls['paymentType'];
2224
- }
2225
- get docsReceived() {
2226
- return this.addEmployerForm.controls['docsReceived'];
2227
- }
2228
- get otherSSNFlag() {
2229
- return this.addEmployerForm.controls['otherSSNFlag'];
2230
- }
2231
- get otherSSN() {
2232
- return this.addEmployerForm.controls['otherSSN'];
2233
- }
2234
- get otherNameFlag() {
2235
- return this.addEmployerForm.controls['otherNameFlag'];
2236
- }
2237
- get otherName() {
2238
- return this.addEmployerForm.controls['otherName'];
2239
- }
2240
- get doingBusinessAs() {
2241
- return this.addEmployerForm.controls['doingBusinessAs'];
2242
- }
2243
- get workFlag() {
2244
- return this.addEmployerForm.controls['workFlag'];
2245
- }
2246
- // get quitreason() {
2247
- // return this.addEmployerForm.controls['quitreason'];
2248
- // }
2249
- get workCity() {
2250
- return this.addEmployerForm.controls['workCity'];
2251
- }
2252
- get workState() {
2253
- return this.addEmployerForm.controls['workState'];
2254
- }
2255
- /*get hiredBy() {
2256
- return this.addEmployerForm.controls['hiredBy'];
2257
- }
2258
-
2259
- get fein() {
2260
- return this.addEmployerForm.controls['fein'];
2261
- }*/
2262
- get workType() {
2263
- return this.addEmployerForm.controls['workType'];
2264
- }
2265
- /*get numberEmployed() {
2266
- return this.addEmployerForm.controls['numberEmployed'];
2267
- }*/
2268
- get businessNature() {
2269
- return this.addEmployerForm.controls['businessNature'];
2270
- }
2271
- get displayVerificationOfWages() {
2272
- return this.addEmployerForm.controls['displayVerificationOfWages'];
2273
- }
2274
- // get wageQuarter1() {
2275
- // return this.addEmployerForm.controls['wageQuarter1'];
2276
- // }
2277
- // get wageQuarter2() {
2278
- // return this.addEmployerForm.controls['wageQuarter2'];
2279
- // }
2280
- // get wageQuarter3() {
2281
- // return this.addEmployerForm.controls['wageQuarter3'];
2282
- // }
2283
- // get wageQuarter4() {
2284
- // return this.addEmployerForm.controls['wageQuarter4'];
2285
- // }
2286
- get ficCode() {
2287
- return this.addEmployerForm.controls['ficCode'];
2288
- }
2289
- get ficDestinationCode() {
2290
- return this.addEmployerForm.controls['ficDestinationCode'];
2291
- }
2292
- get ficDestinationId() {
2293
- return this.addEmployerForm.controls['ficDestinationId'];
2294
- }
2295
- // get formerlyKnownAs() {
2296
- // return this.addEmployerForm.controls['formerlyKnownAs'];
2297
- // }
2298
- get sfEightflag() {
2299
- return this.addEmployerForm.controls['sfEightflag'];
2300
- }
2301
- get fedWorkCity() {
2302
- return this.addEmployerForm.controls['fedWorkCity'];
2303
- }
2304
- get fedWorkState() {
2305
- return this.addEmployerForm.controls['fedWorkState'];
2306
- }
2307
- get fedWorkCountry() {
2308
- return this.addEmployerForm.controls['fedWorkCountry'];
2309
- }
2310
- get startDateFed() {
2311
- return this.addEmployerForm.controls['startDateFed'];
2312
- }
2313
- get endDateFed() {
2314
- return this.addEmployerForm.controls['endDateFed'];
2315
- }
2316
- get fedJobTileOrPosition() {
2317
- return this.addEmployerForm.controls['fedJobTileOrPosition'];
2318
- }
2319
- /* get claimantEmployedWithEmpr() {
2320
- return this.addEmployerForm.controls['claimantEmployedWithEmpr'];
2321
- } */
2322
- get performedService() {
2323
- return this.addEmployerForm.controls['performedService'];
2324
- }
2325
- get fedPensionFlag() {
2326
- return this.addEmployerForm.controls['fedPensionFlag'];
2327
- }
2328
- get fedPensionRecvDate() {
2329
- return this.addEmployerForm.controls['fedPensionRecvDate'];
2330
- }
2331
- get sevPayFlag() {
2332
- return this.addEmployerForm.controls['sevPayFlag'];
2333
- }
2334
- get weeklyAmount() {
2335
- return this.addEmployerForm.controls['weeklyAmount'];
2336
- }
2337
- get numberOfWeeks() {
2338
- return this.addEmployerForm.controls['numberOfWeeks'];
2339
- }
2340
- get sevPayAmount() {
2341
- return this.addEmployerForm.controls['sevPayAmount'];
2342
- }
2343
- get sevPayStartDate() {
2344
- return this.addEmployerForm.controls['sevPayStartDate'];
2345
- }
2346
- get sevPayEndDate() {
2347
- return this.addEmployerForm.controls['sevPayEndDate'];
2348
- }
2349
- get sevPayPaymentStartDate() {
2350
- return this.addEmployerForm.controls['sevPayPaymentStartDate'];
2351
- }
2352
- get regEmployerFound() {
2353
- return this.addEmployerForm.controls['regEmployerFound'];
2354
- }
2355
- get employerId() {
2356
- return this.addEmployerForm.controls['employerId'];
2357
- }
2358
- get fedEmployerName() {
2359
- return this.addEmployerForm.controls['fedEmployerName'];
2360
- }
2361
- get serviceBranch() {
2362
- return this.addEmployerForm.controls['serviceBranch'];
2363
- }
2364
- get startDateMil() {
2365
- return this.addEmployerForm.controls['startDateMil'];
2366
- }
2367
- get endDateMil() {
2368
- return this.addEmployerForm.controls['endDateMil'];
2369
- }
2370
- get dd214Flag() {
2371
- return this.addEmployerForm.controls['dd214Flag'];
2372
- }
2373
- get lastPayGrade() {
2374
- return this.addEmployerForm.controls['lastPayGrade'];
2375
- }
2376
- get lastduty() {
2377
- return this.addEmployerForm.controls['lastduty'];
2378
- }
2379
- get placeSeparated() {
2380
- return this.addEmployerForm.controls['placeSeparated'];
2381
- }
2382
- get noLeaveDays() {
2383
- return this.addEmployerForm.controls['noLeaveDays'];
2384
- }
2385
- get completedFullTermFlag() {
2386
- return this.addEmployerForm.controls['completedFullTermFlag'];
2387
- }
2388
- get reserveOrGuardFlag() {
2389
- return this.addEmployerForm.controls['reserveOrGuardFlag'];
2390
- }
2391
- get milPensionFlag() {
2392
- return this.addEmployerForm.controls['milPensionFlag'];
2393
- }
2394
- get milPensionRecvDate() {
2395
- return this.addEmployerForm.controls['milPensionRecvDate'];
2396
- }
2397
- get addressLine1() {
2398
- return this.addEmployerForm.controls['addressLine1'];
2399
- }
2400
- get addressLine2() {
2401
- return this.addEmployerForm.controls['addressLine2'];
2402
- }
2403
- get addressLine3() {
2404
- return this.addEmployerForm.controls['addressLine3'];
2405
- }
2406
- get ficDestinationName() {
2407
- return this.addEmployerForm.controls['ficDestinationName'];
2408
- }
2409
- get reserveBranch() {
2410
- return this.addEmployerForm.controls['reserveBranch'];
2411
- }
2412
- get startDateReserve() {
2413
- return this.addEmployerForm.controls['startDateReserve'];
2414
- }
2415
- get endDateReserve() {
2416
- return this.addEmployerForm.controls['endDateReserve'];
2417
- }
2418
- get dd214File() {
2419
- return this.addEmployerForm.controls['dd214File'];
2420
- }
2421
- get address() {
2422
- return this.addEmployerForm.controls['address'];
2423
- }
2424
- get osaBpEmployerFlag() {
2425
- return this.addEmployerForm.controls['osaBpEmployerFlag'];
2426
- }
2427
- onToggleChangeEmployerType(obj) {
2428
- this.employerType.valueChanges.subscribe(val => {
2429
- this.reasonSeparation.setValue(null);
2430
- this.address.enable();
2431
- this.address.setValue(null);
2432
- this.ficCode.setValue(null);
2433
- this.ficDestinationCode.setValue(null);
2434
- this.addressLine1.setValue(null);
2435
- this.addressLine2.setValue(null);
2436
- this.addressLine3.setValue(null);
2437
- });
2438
- }
2439
- writeValue(obj) {
2440
- //this.empName = obj;
2441
- }
2442
- registerOnChange(fn) {
2443
- this.onChange = fn;
2444
- }
2445
- registerOnTouched(fn) {
2446
- this.onTouch = fn;
2447
- }
2448
- setDisabledState(isDisabled) {
2449
- }
2450
- ngOnChanges(changes) {
2451
- }
2452
- onModelCancel(cancel) {
2453
- this.modelCancel.emit(cancel);
2454
- }
2455
- setEmployer(employer) {
2456
- this.logger.debug('setEmployer called', employer, "type", this.employerType, 'this.addEmployerForm', this.addEmployerForm);
2457
- this.logger.debug('employer.state', employer.state);
2458
- this.address.setValue({ country: employer.country, city: employer.city,
2459
- zip: employer.zip, streetAddress: employer.addressDisplayVal, state: employer.state,
2460
- optionalAddress: null, county: null, town: null
2461
- });
2462
- this.address.disable();
2463
- this.employerId.setValue(employer.employerId);
2464
- this.addressLine1.setValue(employer.addressLine1);
2465
- this.addressLine2.setValue(employer.addressLine2);
2466
- this.addressLine3.setValue(employer.addressLine3);
2467
- this.regEmployerFound.setValue(true);
2468
- }
2469
- setFedEmployer(employer) {
2470
- this.logger.debug('setFedEmployer called', employer, "zip ", employer.zip);
2471
- this.ficCode.setValue(employer.ficCode);
2472
- this.ficCode.disable();
2473
- this.ficDestinationName.setValue(employer.ficDestinationName);
2474
- this.ficDestinationId.setValue(employer.ficDestinationId);
2475
- this.ficDestinationName.disable();
2476
- this.ficDestinationCode.setValue(employer.ficDestinationCode);
2477
- this.address.setValue({ country: employer.country, city: employer.city,
2478
- zip: employer.zip, streetAddress: employer.addressLine1, state: employer.state,
2479
- optionalAddress: employer.addressLine2, county: null, town: null
2480
- });
2481
- this.address.disable();
2482
- this.employerId.setValue(employer.employerId);
2483
- this.addressLine1.setValue(employer.addressLine1);
2484
- this.addressLine2.setValue(employer.addressLine2);
2485
- this.addressLine3.setValue(employer.addressLine3);
2486
- this.regEmployerFound.setValue(false);
2487
- }
2488
- resetFedEmployer(employer) {
2489
- this.address.enable();
2490
- this.address.setValue({ country: null, city: null,
2491
- zip: null, streetAddress: null, state: null,
2492
- optionalAddress: null, county: null, town: null
2493
- });
2494
- this.regEmployerFound.setValue(false);
2495
- }
2496
- resetEmployer(employer) {
2497
- this.logger.debug('resetEmployer called', employer);
2498
- this.address.enable();
2499
- this.address.setValue({ country: null, city: null,
2500
- zip: null, streetAddress: null, state: null,
2501
- optionalAddress: null, county: null, town: null
2502
- });
2503
- this.regEmployerFound.setValue(false);
2504
- }
2505
- putMilResBranchValidation(event) {
2506
- if (event.option.value === 'Y') {
2507
- this.util.setRequiredValidator(this.reserveBranch);
2508
- this.util.setRequiredValidator(this.startDateReserve);
2509
- this.util.setRequiredValidator(this.endDateReserve);
2510
- }
2511
- else {
2512
- this.addEmployerForm.controls['reserveBranch'].setValue(null);
2513
- this.util.clearValidation(this.reserveBranch);
2514
- this.addEmployerForm.controls['startDateReserve'].setValue(null);
2515
- this.util.clearValidation(this.startDateReserve);
2516
- this.addEmployerForm.controls['endDateReserve'].setValue(null);
2517
- this.util.clearValidation(this.endDateReserve);
2518
- }
2519
- }
2520
- putMilValidation(event) {
2521
- /*if (event.option.value === 'N') {
2522
- this.util.setRequiredValidator(this.lastPayGrade);
2523
- this.util.setRequiredValidator(this.lastduty);
2524
- this.util.setRequiredValidator(this.placeSeparated);
2525
- this.util.setRequiredValidator(this.noLeaveDays);
2526
- this.util.setRequiredValidator(this.completedFullTermFlag);
2527
- this.util.setRequiredValidator(this.reserveOrGuardFlag);
2528
- }
2529
- else{
2530
- this.addEmployerForm.controls['lastPayGrade'].setValue(null);
2531
- this.addEmployerForm.controls['lastduty'].setValue(null);
2532
- this.addEmployerForm.controls['placeSeparated'].setValue(null);
2533
- this.addEmployerForm.controls['noLeaveDays'].setValue(null);
2534
- this.addEmployerForm.controls['completedFullTermFlag'].setValue(null);
2535
- this.addEmployerForm.controls['reserveOrGuardFlag'].setValue(null);
2536
- this.util.clearValidation(this.lastPayGrade);
2537
- this.util.clearValidation(this.lastduty);
2538
- this.util.clearValidation(this.placeSeparated);
2539
- this.util.clearValidation(this.noLeaveDays);
2540
- this.util.clearValidation(this.completedFullTermFlag);
2541
- this.util.clearValidation(this.reserveOrGuardFlag);
2542
- }*/
2543
- }
2544
- onOptionChange(event) {
2545
- if (event.option.value === 'Y') {
2546
- this.util.setRequiredValidator(this.employerTelephoneNumber);
2547
- this.util.setRequiredValidator(this.startDate);
2548
- this.util.setRequiredValidator(this.endDate);
2549
- this.util.setRequiredValidator(this.jobTileOrPosition);
2550
- this.util.setRequiredValidator(this.reasonSeparation);
2551
- this.util.setRequiredValidator(this.payRate);
2552
- this.util.setRequiredValidator(this.payRateFrequency);
2553
- this.util.setRequiredValidator(this.pensionFlag);
2554
- this.util.setRequiredValidator(this.isClmtPaidWhileLow);
2555
- }
2556
- else {
2557
- this.addEmployerForm.controls['employerTelephoneNumber'].setValue(null);
2558
- this.addEmployerForm.controls['startDate'].setValue(null);
2559
- this.addEmployerForm.controls['endDate'].setValue(null);
2560
- this.addEmployerForm.controls['jobTileOrPosition'].setValue(null);
2561
- this.addEmployerForm.controls['reasonSeparation'].setValue(null);
2562
- this.addEmployerForm.controls['payRate'].setValue(null);
2563
- this.addEmployerForm.controls['payRateFrequency'].setValue(null);
2564
- this.addEmployerForm.controls['pensionFlag'].setValue(null);
2565
- this.addEmployerForm.controls['isClmtPaidWhileLow'].setValue(null);
2566
- this.util.clearValidation(this.employerTelephoneNumber);
2567
- this.util.clearValidation(this.startDate);
2568
- this.util.clearValidation(this.endDate);
2569
- this.util.clearValidation(this.jobTileOrPosition);
2570
- this.util.clearValidation(this.reasonSeparation);
2571
- this.util.clearValidation(this.payRate);
2572
- this.util.clearValidation(this.payRateFrequency);
2573
- this.util.clearValidation(this.pensionFlag);
2574
- this.util.clearValidation(this.isClmtPaidWhileLow);
2575
- }
2576
- }
2577
- save() {
2578
- this.logger.debug('this.save.value', this.addEmployerForm);
2579
- if (this.workFlag.value === 'N') {
2580
- if (this.addEmployerForm.valid) {
2581
- this.success.emit(this.addEmployerForm.value);
2582
- this.display = false;
2583
- }
2584
- }
2585
- else {
2586
- this.add();
2587
- }
2588
- }
2589
- add() {
2590
- const invalid = [];
2591
- const controls = this.addEmployerForm.controls;
2592
- for (const name in controls) {
2593
- if (controls[name].invalid) {
2594
- invalid.push(name);
2595
- }
2596
- }
2597
- this.logger.debug("invalid[]", invalid);
2598
- if (!this.isBasePeriodEmployer && this.employerType.value != 'MIL') {
2599
- this.logger.debug('validate address component');
2600
- this.validateAddress();
2601
- }
2602
- if (this.addEmployerForm.valid) {
2603
- this.logger.debug('this.add.value', this.addEmployerForm);
2604
- this.addEmployerForm.controls['ficCode'].enable();
2605
- this.addEmployerForm.controls['ficDestinationName'].enable();
2606
- this.address.enable();
2607
- this.success.emit(this.addEmployerForm.value);
2608
- this.logger.debug("add form details add()- ", this.addEmployerForm);
2609
- this.display = false;
2610
- }
2611
- }
2612
- validateAddress() {
2613
- let addressCompValue;
2614
- addressCompValue = this.addEmployerForm.controls['address'].value;
2615
- if (addressCompValue) {
2616
- if (!addressCompValue.city || !addressCompValue.state ||
2617
- !addressCompValue['zip'] || !addressCompValue.country ||
2618
- !addressCompValue['streetAddress']) {
2619
- this.addEmployerForm.controls['address'].setErrors({ addressValidationFlag: true });
2620
- }
2621
- }
2622
- else {
2623
- this.addEmployerForm.controls['address'].setErrors({ addressValidationFlag: true });
2624
- }
2625
- if (this.address1) {
2626
- this.address1.submit();
2627
- }
2628
- if (this.address2) {
2629
- this.address2.submit();
2630
- }
2631
- }
2632
- filterCountry(event) {
2633
- this.logger.debug('event', event);
2634
- let filtered = [];
2635
- let query = event.query;
2636
- this.countryOptions = ComboOption.COUNTRY;
2637
- //this.state.setValue(null);
2638
- for (let i = 0; i < this.countryOptions.length; i++) {
2639
- let country = this.countryOptions[i];
2640
- if (country.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
2641
- filtered.push(country);
2642
- }
2643
- }
2644
- this.countryOptions = filtered;
2645
- }
2646
- filterFedCountry(event) {
2647
- this.logger.debug('event', event);
2648
- let filtered = [];
2649
- let query = event.query;
2650
- this.countryFedOptions = ComboOption.COUNTRY;
2651
- //this.state.setValue(null);
2652
- for (let i = 0; i < this.countryFedOptions.length; i++) {
2653
- let country = this.countryFedOptions[i];
2654
- if (country.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
2655
- filtered.push(country);
2656
- }
2657
- }
2658
- this.countryFedOptions = filtered;
2659
- }
2660
- setFedWorkStateValues(event) {
2661
- if (event.value === 'US') {
2662
- this.util.setRequiredValidator(this.fedWorkState);
2663
- }
2664
- else {
2665
- this.util.clearValidation(this.fedWorkState);
2666
- this.fedWorkState.setValue(null);
2667
- }
2668
- }
2669
- filterWorkCountry(event) {
2670
- this.logger.debug('event', event);
2671
- let filtered = [];
2672
- let query = event.query;
2673
- this.workCountryOptions = ComboOption.WORK_COUNTRY;
2674
- //this.state.setValue(null);
2675
- for (let i = 0; i < this.workCountryOptions.length; i++) {
2676
- let country = this.workCountryOptions[i];
2677
- if (country.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
2678
- filtered.push(country);
2679
- }
2680
- }
2681
- this.workCountryOptions = filtered;
2682
- }
2683
- filterMilitaryServiceOptions(event) {
2684
- let filtered = [];
2685
- let query = event.query;
2686
- this.militaryServiceOptions = ComboOption.MILITARY_SERVICE;
2687
- //this.state.setValue(null);
2688
- for (let i = 0; i < this.militaryServiceOptions.length; i++) {
2689
- let options = this.militaryServiceOptions[i];
2690
- if (options.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
2691
- filtered.push(options);
2692
- }
2693
- }
2694
- this.militaryServiceOptions = filtered;
2695
- }
2696
- filterPayRate(event) {
2697
- let filtered = [];
2698
- let query = event.query;
2699
- this.payRateOptions = ComboOption.PAY_PERIOD;
2700
- for (let i = 0; i < this.payRateOptions.length; i++) {
2701
- let pay = this.payRateOptions[i];
2702
- if (pay.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
2703
- filtered.push(pay);
2704
- }
2705
- }
2706
- this.payRateOptions = filtered;
2707
- }
2708
- filterReasonSeparation(event) {
2709
- let filtered = [];
2710
- let query = event.query;
2711
- for (let i = 0; i < this.employmentStatusOptionsAll.length; i++) {
2712
- let sepReason = this.employmentStatusOptionsAll[i];
2713
- if (sepReason.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
2714
- filtered.push(sepReason);
2715
- }
2716
- }
2717
- this.employmentStatusOptions = filtered;
2718
- }
2719
- filterUsState(event) {
2720
- let filtered = [];
2721
- let query = event.query;
2722
- this.statesOptions = ComboOption.US_STATES;
2723
- for (let i = 0; i < this.statesOptions.length; i++) {
2724
- let sepReason = this.statesOptions[i];
2725
- if (sepReason.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
2726
- filtered.push(sepReason);
2727
- }
2728
- }
2729
- this.statesOptions = filtered;
2730
- }
2731
- checkForState(selectedStateValue) {
2732
- this.logger.debug('selectedStateValue', selectedStateValue.value);
2733
- let bpStartDate = new Date(this.basePeriodStartDate);
2734
- let bpEndDate = new Date(this.basePeriodEndDate);
2735
- let starteDateVal = new Date(this.startDate.value);
2736
- let endDateVal = new Date(this.endDate.value);
2737
- this.logger.debug('bpStartDate ', bpStartDate, 'starteDateVal ', starteDateVal);
2738
- this.logger.debug('endDateVal ', endDateVal, 'bpEndDate ', bpEndDate);
2739
- this.logger.debug('starteDateVal >= bpEndDate ', starteDateVal >= bpEndDate);
2740
- this.logger.debug('endDateVal<= bpEndDate ', endDateVal <= bpEndDate);
2741
- if (this.employerType.value === 'REG' && selectedStateValue.value === this.currentState) {
2742
- this.logger.debug("Inside IF");
2743
- if (starteDateVal.getTime() < bpEndDate.getTime() && endDateVal.getTime() > bpStartDate.getTime()) {
2744
- this.displayVerificationOfWages.setValue(true);
2745
- this.setValidationOnVerificationOfWagesFields();
2746
- }
2747
- else {
2748
- this.displayVerificationOfWages.setValue(false);
2749
- this.removeValidationOnVerificationOfWagesFields();
2750
- }
2751
- }
2752
- this.logger.debug('displayVerificationOfWages = ', this.displayVerificationOfWages);
2753
- }
2754
- /*filterJobTileOrPosition(event) {
2755
- let filtered: AutocoderModel[] = [];
2756
- let query = event.query;
2757
- this.validationService.get(`/claims-service/claim/jobtitle/` + `${query}`).subscribe(
2758
- res => {
2759
- this.logger.debug('res', res);
2760
- this.jobTileOrPositionOptions = res;
2761
- });
2762
- }
2763
-
2764
- filterFedJobTileOrPosition(event) {
2765
- let filtered: AutocoderModel[] = [];
2766
- let query = event.query;
2767
- this.validationService.get(`/claims-service/claim/jobtitle/` + `${query}`).subscribe(
2768
- res => {
2769
- this.logger.debug('res', res);
2770
- this.fedJobTileOptions = res;
2771
- });
2772
- }*/
2773
- filterDischargeReasons(event) {
2774
- let filtered = [];
2775
- let query = event.query;
2776
- for (let i = 0; i < this.dischargeReasonOptionsAll.length; i++) {
2777
- let sepReason = this.dischargeReasonOptionsAll[i];
2778
- if (sepReason.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
2779
- filtered.push(sepReason);
2780
- }
2781
- }
2782
- this.dischargeReasonOptions = filtered;
2783
- }
2784
- filterVoluntaryReason(event) {
2785
- let filtered = [];
2786
- let query = event.query;
2787
- for (let i = 0; i < this.volQuitReasonOptionsAll.length; i++) {
2788
- let sepReason = this.volQuitReasonOptionsAll[i];
2789
- if (sepReason.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
2790
- filtered.push(sepReason);
2791
- }
2792
- }
2793
- this.volQuitReasonOptions = filtered;
2794
- }
2795
- validate(event) {
2796
- if (event.target?.value) {
2797
- this.minDate = new Date(event.target.value);
2798
- }
2799
- else if (event instanceof Date) {
2800
- this.minDate = event;
2801
- }
2802
- this.endDate.setValue(null);
2803
- this.logger.debug('this.basePeriodStartDate', this.basePeriodStartDate);
2804
- }
2805
- validateWagesDisplay(event) {
2806
- let bpStartDate = new Date(this.basePeriodStartDate);
2807
- let bpEndDate = new Date(this.basePeriodEndDate);
2808
- let starteDateVal = new Date(this.startDate.value);
2809
- let endDateVal = event.target?.value ? new Date(event.target.value) : event;
2810
- this.logger.debug('bpStartDate ', bpStartDate, 'starteDateVal ', starteDateVal);
2811
- this.logger.debug('endDateVal ', endDateVal, 'bpEndDate ', bpEndDate);
2812
- this.logger.debug('starteDateVal before bpEndDate ', starteDateVal < bpEndDate);
2813
- this.logger.debug('endDateVal after bpStartDate ', endDateVal > bpStartDate);
2814
- this.logger.debug('this.workState ', this.workState);
2815
- if (this.employerType.value === 'REG' && this.workState.value
2816
- && this.workState.value.value === this.currentState && this.isNewClaim) {
2817
- if (starteDateVal.getTime() < bpEndDate.getTime() && endDateVal.getTime() > bpStartDate.getTime()) {
2818
- this.displayVerificationOfWages.setValue(true);
2819
- if (!this.isBasePeriodEmployer) {
2820
- this.setValidationOnVerificationOfWagesFields();
2821
- }
2822
- else {
2823
- this.removeValidationOnVerificationOfWagesFields();
2824
- }
2825
- }
2826
- else {
2827
- this.displayVerificationOfWages.setValue(false);
2828
- }
2829
- }
2830
- else {
2831
- this.displayVerificationOfWages.setValue(false);
2832
- }
2833
- }
2834
- filterGroupedReason(event) {
2835
- let query = event.query;
2836
- this.logger.debug('query', query);
2837
- let filteredGroups = [];
2838
- this.groupedReasons = ComboOption.GROUP_REASONS;
2839
- for (let optgroup of this.groupedReasons) {
2840
- this.logger.debug('optgroup.items', optgroup.items);
2841
- let filteredSubOptions = this.filterService.filter(optgroup.items, ["label"], query, "contains");
2842
- this.logger.debug('filteredSubOptions', filteredSubOptions);
2843
- if (filteredSubOptions && filteredSubOptions.length) {
2844
- filteredGroups.push({
2845
- label: optgroup.label,
2846
- value: optgroup.value,
2847
- items: filteredSubOptions
2848
- });
2849
- }
2850
- }
2851
- this.groupedReasons = filteredGroups;
2852
- }
2853
- onClearAction(event) {
2854
- this.onChange(null);
2855
- }
2856
- dateInput(event) {
2857
- let currentValue = event.srcElement.value;
2858
- if (currentValue) {
2859
- if (currentValue.length == 2 && currentValue.charAt(2) != '/') {
2860
- event.target.value = currentValue + "/";
2861
- }
2862
- if (currentValue.length == 5 && currentValue.charAt(5) != '/') {
2863
- event.target.value = currentValue + "/";
2864
- }
2865
- }
2866
- }
2867
- }
2868
- AddEmployerComponent.ɵfac = function AddEmployerComponent_Factory(t) { return new (t || AddEmployerComponent)(i0.ɵɵdirectiveInject(i1.UntypedFormBuilder), i0.ɵɵdirectiveInject(i2.ValidationService), i0.ɵɵdirectiveInject(i3.UtilService), i0.ɵɵdirectiveInject(i4.FilterService), i0.ɵɵdirectiveInject(i5.LoggerService), i0.ɵɵdirectiveInject(i6.DomSanitizer), i0.ɵɵdirectiveInject(i7.ClaimService), i0.ɵɵdirectiveInject(i8.LoginService)); };
2869
- AddEmployerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AddEmployerComponent, selectors: [["app-add-employer"]], viewQuery: function AddEmployerComponent_Query(rf, ctx) { if (rf & 1) {
2870
- i0.ɵɵviewQuery(_c0, 5);
2871
- i0.ɵɵviewQuery(_c1, 5);
2872
- i0.ɵɵviewQuery(_c2, 5);
2873
- } if (rf & 2) {
2874
- let _t;
2875
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.address1 = _t.first);
2876
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.address2 = _t.first);
2877
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.addEmployerFormDirective = _t.first);
2878
- } }, inputs: { recordIndexToEdit: "recordIndexToEdit", isBasePeriodEmployer: "isBasePeriodEmployer", isNewClaim: "isNewClaim" }, outputs: { modelCancel: "modelCancel", success: "success", basePeriodIndex: "basePeriodIndex" }, features: [i0.ɵɵNgOnChangesFeature], decls: 74, vars: 72, consts: [["visible", "true", "modal", "true", "position", "top", "appendTo", "body", 3, "showHeader", "draggable", "resizable", "breakpoints"], [2, "color", "var(--ion-color-grey)", "padding-left", "20px"], [3, "formGroup"], ["addEmployerFormDirective", "ngForm"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "6", "sizeLg", "6", "sizeXl", "6", 1, "ion-padding"], [1, "p-fluid", "p-formgrid"], ["class", "field", 4, "ngIf"], ["class", "field", "style", "width: inherit !important;", 4, "ngIf"], [4, "ngIf"], ["class", "ion-hide-sm-down", 4, "ngIf"], [1, "ion-text-right"], ["shape", "round", "fill", "outline", "type", "reset", 2, "width", "80px", 3, "click"], ["shape", "round", "style", "width: 80px;", "type", "submit", 3, "click", 4, "ngIf"], [1, "field"], [2, "font-size", "12px"], ["styleClass", "p-datatable-striped app-datatable ion-padding-top", 3, "value", "columns"], ["pTemplate", "header"], [4, "ngFor", "ngForOf"], ["for", "workFlag"], ["for", "employerType"], [2, "inline-size", "inherit"], ["optionLabel", "text", "optionValue", "value", 3, "options", "formControl", "onOptionClick"], [3, "field", "form", "errDef"], ["for", "employerName"], ["empType", "REG", 3, "formControl", "onFound", "onEmpty"], [1, "field", 2, "width", "inherit !important"], ["for", "fedEmployerName"], ["empType", "FED", 3, "formControl", "onFound", "onEmpty"], ["for", "serviceBranch"], ["optionLabel", "text", "appendTo", "body", "inputId", "serviceBranch", 3, "options", "formControl", "autoDisplayFirst"], [2, "padding", "0px"], ["for", "startDateMil"], ["iconAriaLabel", "startDateMil", "inputId", "startDateMil", "yearRange", "1901:2050", "appendTo", "body", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "maxDate", "yearNavigator", "showOnFocus", "onBlur", "onSelect", "onInput"], ["size", "1"], ["for", "endDateMil"], ["iconAriaLabel", "endDateMil", "inputId", "endDateMil", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "appendTo", "body", "yearRange", "1901:2050", "dataType", "string", 3, "showIcon", "maxDate", "minDate", "yearNavigator", "formControl", "showOnFocus", "onInput"], ["for", "ficCode"], ["id", "ficCode", "type", "input", "pInputText", "", 3, "formControl"], ["for", "ficDestinationName"], ["id", "ficDestinationName", "type", "input", "pInputText", "", 3, "formControl"], [2, "padding-left", "0px", "padding-right", "0px"], [3, "formControl", "countyRequired", "fromPopup"], ["address1", ""], ["countyRequired", "false", 3, "formControl", "fromPopup"], ["address2", ""], ["for", "workCity"], ["id", "workCity", "type", "input", "pInputText", "", "maxlength", "30", 3, "formControl"], ["for", "workState"], ["optionLabel", "text", "appendTo", "body", "inputId", "workState", 3, "options", "formControl", "autoDisplayFirst"], ["for", "fedWorkCountry"], ["optionLabel", "text", "appendTo", "body", "inputId", "fedWorkCountry", 3, "options", "formControl", "autoDisplayFirst"], ["for", "fedWorkCity"], ["id", "fedWorkCity", "type", "input", "pInputText", "", "maxlength", "30", 3, "formControl"], ["style", "padding: 0px;", 4, "ngIf"], ["for", "fedWorkState"], ["optionLabel", "text", "appendTo", "body", "inputId", "fedWorkState", 3, "options", "formControl", "autoDisplayFirst"], ["for", "startDateFed"], ["iconAriaLabel", "startDateFed", "inputId", "startDateFed", "yearRange", "1901:2050", "appendTo", "body", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "maxDate", "formControl", "yearNavigator", "showOnFocus", "onBlur", "onSelect", "onInput"], ["for", "endDateFed"], ["iconAriaLabel", "endDateFed", "inputId", "endDateFed", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "appendTo", "body", "yearRange", "1901:2050", "dataType", "string", 3, "showIcon", "maxDate", "minDate", "yearNavigator", "formControl", "showOnFocus", "onInput"], ["for", "fedJobTileOrPosition"], ["id", "fedJobTileOrPosition", "type", "input", "pInputText", "", "maxlength", "100", 3, "formControl"], ["for", "sfEightflag"], [2, "inline-size", "min-content"], ["optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "startDate"], ["iconAriaLabel", "startDate", "inputId", "startDate", "yearRange", "1901:2050", "appendTo", "body", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "maxDate", "formControl", "yearNavigator", "showOnFocus", "onBlur", "onSelect", "onInput"], ["for", "endDate"], ["iconAriaLabel", "endDate", "inputId", "endDate", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "appendTo", "body", "yearRange", "1901:2050", "dataType", "string", 3, "showIcon", "minDate", "maxDate", "yearNavigator", "formControl", "showOnFocus", "onBlur", "onInput", "onSelect"], ["for", "workType"], ["id", "workType", "type", "input", "pInputText", "", "maxlength", "50", 3, "formControl"], ["for", "performedService"], ["for", "jobTileOrPosition"], ["id", "jobTileOrPosition", "type", "input", "pInputText", "", "maxlength", "100", 3, "formControl"], ["style", "padding-right:5px; padding-left: 0px;", 4, "ngIf"], ["style", "padding-right:5px;", 4, "ngIf"], [2, "padding-right", "5px", "padding-left", "0px"], ["for", "payRate"], ["mode", "currency", "currency", "USD", "maxlength", "12", "locale", "en-US", 3, "formControl", "max"], [2, "padding-right", "5px"], ["for", "payRateFrequency"], ["optionLabel", "text", "appendTo", "body", "inputId", "payRateFrequency", 3, "options", "formControl", "autoDisplayFirst"], ["for", "employerTelephoneNumber"], ["mask", "999-999-9999", "placeholder", "999-999-9999", 3, "id", "formControl"], ["for", "reasonSeparation"], ["optionLabel", "text", "appendTo", "body", "inputId", "reasonSeparation", 3, "options", "formControl", "autoDisplayFirst"], ["for", "dischargeDetail"], ["optionLabel", "text", "appendTo", "body", "inputId", "dischargeDetail", 3, "options", "formControl", "autoDisplayFirst"], ["for", "volQuitDetails"], ["optionLabel", "text", "appendTo", "body", "inputId", "volQuitDetails", 3, "options", "formControl", "autoDisplayFirst"], ["for", "milPensionFlag"], ["for", "milPensionRecvDate"], ["inputId", "milPensionRecvDate", "appendTo", "body", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onInput"], ["for", "dd214Flag"], [2, "inline-size", "min-content", "display", "inline-flex"], [3, "overlayText"], [1, "ion-hide-sm-down"], [2, "border-style", "solid", "border-width", "1px"], [3, "innerHTML"], [2, "padding-left", "15px", 3, "innerHTML"], [2, "padding-top", "0px"], ["for", "grossWages", 2, "inline-size", "max-content"], ["style", "padding-right:5px; padding-left: 0px; padding-top: 0px;", 4, "ngIf"], ["style", "padding-right:5px;padding-top: 0px;", 4, "ngIf"], ["style", "padding-top: 0px;", 4, "ngIf"], [2, "padding-right", "5px", "padding-left", "0px", "padding-top", "0px"], ["inputId", "payRate", "mode", "currency", "currency", "USD", "maxlength", "12", "locale", "en-US", 3, "formControl", "max"], [2, "padding-right", "5px", "padding-top", "0px"], ["for", "fedPensionFlag"], [2, "inline-size", "min-content", "display", "flex"], [2, "margin-top", "2px", "margin-left", "6px", 3, "overlayText"], ["for", "fedPensionRecvDate"], ["inputId", "fedPensionRecvDate", "appendTo", "body", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onInput"], ["for", "sevPayFlag"], ["for", "weeklyAmount"], ["for", "numberOfWeeks"], ["maxlength", "4", 3, "id", "useGrouping", "formControl"], ["for", "sevPayAmount"], ["for", "sevPayStartDate"], ["inputId", "sevPayStartDate", "yearRange", "1901:2050", "appendTo", "body", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onBlur", "onSelect", "onInput"], ["for", "sevPayEndDate"], ["inputId", "sevPayEndDate", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "appendTo", "body", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "minDate", "showOnFocus", "onInput"], ["for", "sevPayPaymentStartDate"], ["inputId", "sevPayPaymentStartDate", "appendTo", "body", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onInput"], ["for", "pensionFlag"], ["for", "pensionRecvDate"], ["inputId", "pensionRecvDate", "appendTo", "body", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onInput"], ["for", "regPensionFlag"], ["for", "regPensionRecvDate"], ["inputId", "regPensionRecvDate", "appendTo", "body", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onInput"], ["for", "isClmtPaidWhileLow"], ["for", "hasShortTermDisability"], ["for", "hasRecvRemuneration"], ["for", "remunerationTypes"], ["styleClass", "app-p-checkbox", 3, "name", "value", "label", "formControl", 4, "ngFor", "ngForOf"], ["styleClass", "app-p-checkbox", 3, "name", "value", "label", "formControl"], ["for", "vacation"], ["for", "paymentType"], ["for", "docsReceived"], ["for", "otherSSNFlag"], ["for", "otherSSN"], ["mask", "999-99-9999", "placeholder", "999-99-9999", 3, "id", "formControl"], ["for", "otherNameFlag"], ["for", "otherName"], ["id", "otherName", "type", "input", "pInputText", "", "maxlength", "30", 3, "formControl"], ["for", "businessNature"], ["id", "businessNature", "type", "input", "pInputText", "", "maxlength", "250", 3, "formControl"], ["rules", "rows"], [2, "text-align", "center"], ["formArrayName", "wageAmountArray"], [3, "formGroupName", 4, "ngFor", "ngForOf"], [3, "formGroupName"], ["ariaLabel", "wageAmount", "formControlName", "wageAmount", "mode", "currency", "maxlength", "12", "currency", "USD", "locale", "en-US", 3, "max"], ["shape", "round", "type", "submit", 2, "width", "80px", 3, "click"]], template: function AddEmployerComponent_Template(rf, ctx) { if (rf & 1) {
2879
- i0.ɵɵelementStart(0, "p-dialog", 0)(1, "h4", 1);
2880
- i0.ɵɵtext(2);
2881
- i0.ɵɵpipe(3, "translate");
2882
- i0.ɵɵelementEnd();
2883
- i0.ɵɵelementStart(4, "form", 2, 3)(6, "ion-grid")(7, "ion-row")(8, "ion-col", 4)(9, "div", 5);
2884
- i0.ɵɵtemplate(10, AddEmployerComponent_div_10_Template, 8, 5, "div", 6);
2885
- i0.ɵɵtemplate(11, AddEmployerComponent_div_11_Template, 8, 6, "div", 6);
2886
- i0.ɵɵtemplate(12, AddEmployerComponent_div_12_Template, 7, 11, "div", 6);
2887
- i0.ɵɵtemplate(13, AddEmployerComponent_div_13_Template, 6, 10, "div", 6);
2888
- i0.ɵɵtemplate(14, AddEmployerComponent_div_14_Template, 6, 10, "div", 7);
2889
- i0.ɵɵtemplate(15, AddEmployerComponent_div_15_Template, 6, 12, "div", 6);
2890
- i0.ɵɵtemplate(16, AddEmployerComponent_ion_row_16_Template, 16, 29, "ion-row", 8);
2891
- i0.ɵɵtemplate(17, AddEmployerComponent_ion_row_17_Template, 16, 20, "ion-row", 8);
2892
- i0.ɵɵtemplate(18, AddEmployerComponent_ion_row_18_Template, 4, 3, "ion-row", 8);
2893
- i0.ɵɵtemplate(19, AddEmployerComponent_div_19_Template, 4, 8, "div", 6);
2894
- i0.ɵɵtemplate(20, AddEmployerComponent_ion_row_20_Template, 16, 22, "ion-row", 8);
2895
- i0.ɵɵtemplate(21, AddEmployerComponent_div_21_Template, 6, 12, "div", 6);
2896
- i0.ɵɵtemplate(22, AddEmployerComponent_ion_row_22_Template, 10, 11, "ion-row", 8);
2897
- i0.ɵɵtemplate(23, AddEmployerComponent_ion_row_23_Template, 16, 29, "ion-row", 8);
2898
- i0.ɵɵtemplate(24, AddEmployerComponent_div_24_Template, 6, 10, "div", 6);
2899
- i0.ɵɵtemplate(25, AddEmployerComponent_div_25_Template, 7, 11, "div", 6);
2900
- i0.ɵɵtemplate(26, AddEmployerComponent_ion_row_26_Template, 16, 29, "ion-row", 8);
2901
- i0.ɵɵtemplate(27, AddEmployerComponent_ion_row_27_Template, 8, 10, "ion-row", 8);
2902
- i0.ɵɵtemplate(28, AddEmployerComponent_div_28_Template, 7, 11, "div", 6);
2903
- i0.ɵɵtemplate(29, AddEmployerComponent_div_29_Template, 6, 10, "div", 6);
2904
- i0.ɵɵtemplate(30, AddEmployerComponent_ion_row_30_Template, 3, 2, "ion-row", 8);
2905
- i0.ɵɵtemplate(31, AddEmployerComponent_div_31_Template, 6, 11, "div", 6);
2906
- i0.ɵɵtemplate(32, AddEmployerComponent_div_32_Template, 6, 11, "div", 6);
2907
- i0.ɵɵtemplate(33, AddEmployerComponent_div_33_Template, 6, 12, "div", 6);
2908
- i0.ɵɵtemplate(34, AddEmployerComponent_div_34_Template, 6, 12, "div", 6);
2909
- i0.ɵɵtemplate(35, AddEmployerComponent_div_35_Template, 10, 14, "div", 6);
2910
- i0.ɵɵtemplate(36, AddEmployerComponent_div_36_Template, 7, 13, "div", 6);
2911
- i0.ɵɵtemplate(37, AddEmployerComponent_div_37_Template, 9, 12, "div", 6);
2912
- i0.ɵɵelementEnd()();
2913
- i0.ɵɵelementStart(38, "ion-col", 4)(39, "div", 5);
2914
- i0.ɵɵtemplate(40, AddEmployerComponent_ion_row_40_Template, 3, 0, "ion-row", 9);
2915
- i0.ɵɵtemplate(41, AddEmployerComponent_ion_row_41_Template, 3, 0, "ion-row", 9);
2916
- i0.ɵɵtemplate(42, AddEmployerComponent_ion_row_42_Template, 3, 0, "ion-row", 9);
2917
- i0.ɵɵtemplate(43, AddEmployerComponent_ion_row_43_Template, 3, 0, "ion-row", 9);
2918
- i0.ɵɵtemplate(44, AddEmployerComponent_ion_row_44_Template, 3, 0, "ion-row", 9);
2919
- i0.ɵɵtemplate(45, AddEmployerComponent_ion_row_45_Template, 14, 18, "ion-row", 8);
2920
- i0.ɵɵtemplate(46, AddEmployerComponent_ion_row_46_Template, 12, 15, "ion-row", 8);
2921
- i0.ɵɵtemplate(47, AddEmployerComponent_ion_row_47_Template, 7, 8, "ion-row", 8);
2922
- i0.ɵɵtemplate(48, AddEmployerComponent_ion_row_48_Template, 4, 3, "ion-row", 8);
2923
- i0.ɵɵtemplate(49, AddEmployerComponent_div_49_Template, 12, 17, "div", 6);
2924
- i0.ɵɵtemplate(50, AddEmployerComponent_div_50_Template, 7, 13, "div", 6);
2925
- i0.ɵɵtemplate(51, AddEmployerComponent_div_51_Template, 7, 11, "div", 6);
2926
- i0.ɵɵtemplate(52, AddEmployerComponent_ion_row_52_Template, 22, 34, "ion-row", 8);
2927
- i0.ɵɵtemplate(53, AddEmployerComponent_ion_row_53_Template, 22, 40, "ion-row", 8);
2928
- i0.ɵɵtemplate(54, AddEmployerComponent_div_54_Template, 7, 11, "div", 6);
2929
- i0.ɵɵtemplate(55, AddEmployerComponent_div_55_Template, 7, 13, "div", 6);
2930
- i0.ɵɵtemplate(56, AddEmployerComponent_div_56_Template, 12, 17, "div", 6);
2931
- i0.ɵɵtemplate(57, AddEmployerComponent_div_57_Template, 7, 13, "div", 6);
2932
- i0.ɵɵtemplate(58, AddEmployerComponent_div_58_Template, 9, 14, "div", 6);
2933
- i0.ɵɵtemplate(59, AddEmployerComponent_div_59_Template, 7, 12, "div", 6);
2934
- i0.ɵɵtemplate(60, AddEmployerComponent_div_60_Template, 7, 11, "div", 6);
2935
- i0.ɵɵtemplate(61, AddEmployerComponent_div_61_Template, 6, 10, "div", 6);
2936
- i0.ɵɵtemplate(62, AddEmployerComponent_div_62_Template, 7, 11, "div", 6);
2937
- i0.ɵɵtemplate(63, AddEmployerComponent_div_63_Template, 29, 40, "div", 8);
2938
- i0.ɵɵtemplate(64, AddEmployerComponent_ion_row_64_Template, 10, 12, "ion-row", 8);
2939
- i0.ɵɵtemplate(65, AddEmployerComponent_ion_row_65_Template, 8, 10, "ion-row", 8);
2940
- i0.ɵɵtemplate(66, AddEmployerComponent_div_66_Template, 15, 10, "div", 8);
2941
- i0.ɵɵelementEnd()()();
2942
- i0.ɵɵelementStart(67, "ion-row")(68, "ion-col", 10)(69, "ion-button", 11);
2943
- i0.ɵɵlistener("click", function AddEmployerComponent_Template_ion_button_click_69_listener() { return ctx.onModelCancel(false); });
2944
- i0.ɵɵtext(70);
2945
- i0.ɵɵpipe(71, "translate");
2946
- i0.ɵɵelementEnd();
2947
- i0.ɵɵtemplate(72, AddEmployerComponent_ion_button_72_Template, 3, 3, "ion-button", 12);
2948
- i0.ɵɵtemplate(73, AddEmployerComponent_ion_button_73_Template, 3, 3, "ion-button", 12);
2949
- i0.ɵɵelementEnd()()()()();
2950
- } if (rf & 2) {
2951
- i0.ɵɵstyleMap(i0.ɵɵpureFunction0(70, _c5));
2952
- i0.ɵɵproperty("showHeader", false)("draggable", false)("resizable", false)("breakpoints", i0.ɵɵpureFunction0(71, _c6));
2953
- i0.ɵɵadvance(2);
2954
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 66, "induction.confirm.employment.heading"), "");
2955
- i0.ɵɵadvance(2);
2956
- i0.ɵɵproperty("formGroup", ctx.addEmployerForm);
2957
- i0.ɵɵadvance(6);
2958
- i0.ɵɵproperty("ngIf", ctx.isBasePeriodEmployer);
2959
- i0.ɵɵadvance(1);
2960
- i0.ɵɵproperty("ngIf", ctx.isBasePeriodEmployer && ctx.workFlag.value == "N");
2961
- i0.ɵɵadvance(1);
2962
- i0.ɵɵproperty("ngIf", !ctx.isBasePeriodEmployer);
2963
- i0.ɵɵadvance(1);
2964
- i0.ɵɵproperty("ngIf", !ctx.isBasePeriodEmployer && ctx.employerType.value === "REG");
2965
- i0.ɵɵadvance(1);
2966
- i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED");
2967
- i0.ɵɵadvance(1);
2968
- i0.ɵɵproperty("ngIf", ctx.employerType.value === "MIL");
2969
- i0.ɵɵadvance(1);
2970
- i0.ɵɵproperty("ngIf", ctx.employerType.value === "MIL");
2971
- i0.ɵɵadvance(1);
2972
- i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED" && ctx.hideFicCode);
2973
- i0.ɵɵadvance(1);
2974
- i0.ɵɵproperty("ngIf", !ctx.isBasePeriodEmployer && ctx.employerType.value === "REG");
2975
- i0.ɵɵadvance(1);
2976
- i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED");
2977
- i0.ɵɵadvance(1);
2978
- i0.ɵɵproperty("ngIf", !ctx.isBasePeriodEmployer && ctx.employerType.value === "REG");
2979
- i0.ɵɵadvance(1);
2980
- i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED");
2981
- i0.ɵɵadvance(1);
2982
- i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED");
2983
- i0.ɵɵadvance(1);
2984
- i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED");
2985
- i0.ɵɵadvance(1);
2986
- i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED");
2987
- i0.ɵɵadvance(1);
2988
- i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED");
2989
- i0.ɵɵadvance(1);
2990
- i0.ɵɵproperty("ngIf", (ctx.isBasePeriodEmployer && ctx.workFlag.value === "Y" || !ctx.isBasePeriodEmployer) && ctx.employerType.value === "REG");
2991
- i0.ɵɵadvance(1);
2992
- i0.ɵɵproperty("ngIf", ctx.displayVerificationOfWages.value && !ctx.isBasePeriodEmployer && ctx.employerType.value === "REG");
2993
- i0.ɵɵadvance(1);
2994
- i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED");
2995
- i0.ɵɵadvance(1);
2996
- i0.ɵɵproperty("ngIf", (ctx.isBasePeriodEmployer && ctx.workFlag.value === "Y" || !ctx.isBasePeriodEmployer) && ctx.employerType.value === "REG");
2997
- i0.ɵɵadvance(1);
2998
- i0.ɵɵproperty("ngIf", ctx.employerType.value === "REG");
2999
- i0.ɵɵadvance(1);
3000
- i0.ɵɵproperty("ngIf", (ctx.isBasePeriodEmployer && ctx.workFlag.value === "Y" || !ctx.isBasePeriodEmployer) && ctx.employerType.value === "REG");
3001
- i0.ɵɵadvance(1);
3002
- i0.ɵɵproperty("ngIf", ctx.employerType.value && ((ctx.isBasePeriodEmployer && ctx.workFlag.value === "Y" || !ctx.isBasePeriodEmployer) && ctx.employerType.value != "MIL"));
3003
- i0.ɵɵadvance(1);
3004
- i0.ɵɵproperty("ngIf", (ctx.isBasePeriodEmployer && ctx.workFlag.value === "Y" || !ctx.isBasePeriodEmployer) && ctx.reasonSeparation.value && ctx.reasonSeparation.value.value === "DCFI" && ctx.employerType.value != "MIL");
3005
- i0.ɵɵadvance(1);
3006
- i0.ɵɵproperty("ngIf", (ctx.isBasePeriodEmployer && ctx.workFlag.value === "Y" || !ctx.isBasePeriodEmployer) && ctx.reasonSeparation.value && ctx.reasonSeparation.value.value === "VOLQ" && ctx.employerType.value != "MIL");
3007
- i0.ɵɵadvance(1);
3008
- i0.ɵɵproperty("ngIf", ctx.employerType.value === "MIL");
3009
- i0.ɵɵadvance(1);
3010
- i0.ɵɵproperty("ngIf", ctx.employerType.value === "MIL" && ctx.milPensionFlag.value === "Y" && ctx.currentState != "ME");
3011
- i0.ɵɵadvance(1);
3012
- i0.ɵɵproperty("ngIf", ctx.employerType.value === "MIL");
3013
- i0.ɵɵadvance(3);
3014
- i0.ɵɵproperty("ngIf", !ctx.isBasePeriodEmployer);
3015
- i0.ɵɵadvance(1);
3016
- i0.ɵɵproperty("ngIf", !ctx.isBasePeriodEmployer);
3017
- i0.ɵɵadvance(1);
3018
- i0.ɵɵproperty("ngIf", !ctx.isBasePeriodEmployer);
3019
- i0.ɵɵadvance(1);
3020
- i0.ɵɵproperty("ngIf", ctx.isBasePeriodEmployer);
3021
- i0.ɵɵadvance(1);
3022
- i0.ɵɵproperty("ngIf", ctx.isBasePeriodEmployer);
3023
- i0.ɵɵadvance(1);
3024
- i0.ɵɵproperty("ngIf", ctx.employerType.value === "MIL" && ctx.dd214Flag.value === "Y");
3025
- i0.ɵɵadvance(1);
3026
- i0.ɵɵproperty("ngIf", ctx.employerType.value === "MIL" && ctx.dd214Flag.value === "N");
3027
- i0.ɵɵadvance(1);
3028
- i0.ɵɵproperty("ngIf", ctx.employerType.value === "REG" && !ctx.isBasePeriodEmployer && ctx.osaBpEmployerFlag.value === "1");
3029
- i0.ɵɵadvance(1);
3030
- i0.ɵɵproperty("ngIf", ctx.employerType.value === "REG" && !ctx.isBasePeriodEmployer);
3031
- i0.ɵɵadvance(1);
3032
- i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED");
3033
- i0.ɵɵadvance(1);
3034
- i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED" && ctx.fedPensionFlag.value === "Y" && ctx.currentState != "ME");
3035
- i0.ɵɵadvance(1);
3036
- i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED" && ctx.currentState === "ME");
3037
- i0.ɵɵadvance(1);
3038
- i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED" && ctx.sevPayFlag.value === "Y");
3039
- i0.ɵɵadvance(1);
3040
- i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED" && ctx.sevPayFlag.value === "Y");
3041
- i0.ɵɵadvance(1);
3042
- i0.ɵɵproperty("ngIf", ctx.isBasePeriodEmployer && ctx.workFlag.value === "Y" && ctx.employerType.value === "REG");
3043
- i0.ɵɵadvance(1);
3044
- i0.ɵɵproperty("ngIf", ctx.isBasePeriodEmployer && ctx.workFlag.value === "Y" && ctx.pensionFlag.value === "Y" && ctx.employerType.value === "REG" && ctx.currentState != "ME");
3045
- i0.ɵɵadvance(1);
3046
- i0.ɵɵproperty("ngIf", !ctx.isBasePeriodEmployer && ctx.employerType.value === "REG");
3047
- i0.ɵɵadvance(1);
3048
- i0.ɵɵproperty("ngIf", !ctx.isBasePeriodEmployer && ctx.employerType.value === "REG" && ctx.regPensionFlag.value === "Y" && ctx.currentState != "ME");
3049
- i0.ɵɵadvance(1);
3050
- i0.ɵɵproperty("ngIf", (ctx.isBasePeriodEmployer && ctx.workFlag.value === "Y" || !ctx.isBasePeriodEmployer) && ctx.employerType.value === "REG");
3051
- i0.ɵɵadvance(1);
3052
- i0.ɵɵproperty("ngIf", (ctx.isBasePeriodEmployer && ctx.workFlag.value === "Y" || !ctx.isBasePeriodEmployer) && ctx.employerType.value === "REG" && ctx.currentState === "ME");
3053
- i0.ɵɵadvance(1);
3054
- i0.ɵɵproperty("ngIf", (ctx.isBasePeriodEmployer && ctx.workFlag.value === "Y" || !ctx.isBasePeriodEmployer) && ctx.employerType.value === "REG" && ctx.currentState === "ME");
3055
- i0.ɵɵadvance(1);
3056
- i0.ɵɵproperty("ngIf", (ctx.isBasePeriodEmployer && ctx.workFlag.value === "Y" || !ctx.isBasePeriodEmployer) && ctx.employerType.value === "REG" && ctx.currentState === "ME" && ctx.hasRecvRemuneration.value === "Y" && ctx.osaBpEmployerFlag.value === "0");
3057
- i0.ɵɵadvance(1);
3058
- i0.ɵɵproperty("ngIf", (ctx.isBasePeriodEmployer && ctx.workFlag.value === "Y" && ctx.schoolFlag === "1" || !ctx.isBasePeriodEmployer) && ctx.employerType.value === "REG" && ctx.currentState === "ME");
3059
- i0.ɵɵadvance(1);
3060
- i0.ɵɵproperty("ngIf", ctx.workState.value && ctx.workState.value.value === ctx.currentState && ctx.displayVerificationOfWages.value && !ctx.isBasePeriodEmployer && ctx.employerType.value === "REG");
3061
- i0.ɵɵadvance(1);
3062
- i0.ɵɵproperty("ngIf", ctx.workState.value && ctx.workState.value.value === ctx.currentState && ctx.displayVerificationOfWages.value && !ctx.isBasePeriodEmployer && ctx.employerType.value === "REG");
3063
- i0.ɵɵadvance(1);
3064
- i0.ɵɵproperty("ngIf", ctx.workState.value && ctx.workState.value.value === ctx.currentState && ctx.displayVerificationOfWages.value && !ctx.isBasePeriodEmployer && ctx.employerType.value === "REG");
3065
- i0.ɵɵadvance(1);
3066
- i0.ɵɵproperty("ngIf", (ctx.workState.value && ctx.workState.value.value === ctx.currentState && ctx.employerType && ctx.displayVerificationOfWages.value && !ctx.isBasePeriodEmployer && ctx.employerType.value === "REG" || ctx.employerType.value === "FED") && ctx.employerType.value != "MIL");
3067
- i0.ɵɵadvance(4);
3068
- i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(71, 68, "induction.employment.button.cancel"), " ");
3069
- i0.ɵɵadvance(2);
3070
- i0.ɵɵproperty("ngIf", ctx.isBasePeriodEmployer);
3071
- i0.ɵɵadvance(1);
3072
- i0.ɵɵproperty("ngIf", !ctx.isBasePeriodEmployer);
3073
- } }, dependencies: [i9.IonButton, i9.IonCol, i9.IonGrid, i9.IonRow, i10.NgForOf, i10.NgIf, i4.PrimeTemplate, i1.ɵNgNoValidate, i1.DefaultValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i1.MaxLengthValidator, i1.FormControlDirective, i1.FormGroupDirective, i1.FormControlName, i1.FormGroupName, i1.FormArrayName, i11.Dialog, i12.Table, i13.InputText, i14.InputMask, i15.Calendar, i16.Checkbox, i17.SelectButton, i18.InputNumber, i19.ErrorComponent, i20.OverlayInfoComponent, i21.SearchEmployerComponent, i22.AddressComponent, i23.Dropdown, i10.CurrencyPipe, i24.TranslatePipe], styles: [".p-fluid[_ngcontent-%COMP%] .p-buttonset[_ngcontent-%COMP%]{display:flex}.p-selectbutton[_ngcontent-%COMP%] .p-button[_ngcontent-%COMP%]{width:50px!important}table[_ngcontent-%COMP%], th[_ngcontent-%COMP%], td[_ngcontent-%COMP%]{border-collapse:collapse;padding:5px}table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{background-color:#f1f1f1}table[_ngcontent-%COMP%]{width:100%}"] });
3074
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AddEmployerComponent, [{
3075
- type: Component,
3076
- args: [{ selector: 'app-add-employer', template: "<p-dialog visible=\"true\" modal=\"true\" position=\"top\" appendTo=\"body\" [showHeader]=\"false\"\r\n [draggable]=\"false\" [resizable]=\"false\" [style]=\"{width: '60vw'}\" [breakpoints]=\"{'1200px': '660px', '992px': '660px', '768px': '660px', '576px': '100vw'}\" >\r\n <h4 style=\"color: var(--ion-color-grey); padding-left: 20px;\"> {{\"induction.confirm.employment.heading\"|translate}}</h4>\r\n\r\n\r\n <form [formGroup]=\"addEmployerForm\" #addEmployerFormDirective=\"ngForm\">\r\n <ion-grid>\r\n <ion-row>\r\n <ion-col class=\"ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"6\" sizeLg=\"6\" sizeXl=\"6\">\r\n <div class=\"p-fluid p-formgrid\">\r\n <div class=\"field\" *ngIf=\"isBasePeriodEmployer\">\r\n {{customerName}} \r\n <div *ngIf=\"aliasName != null\"> \r\n {{\"induction.confirm.employment.dba\"|translate}} {{aliasName}}</div>\r\n <br>\r\n <span style=\"font-size: 12px;\"> {{mailingAddressDisplay}}\r\n </span>\r\n <div *ngIf=\"isCSR\">\r\n <br>\r\n {{\"induction.confirm.employment.employer.wages\"|translate}}\r\n </div>\r\n <div class=\"field\" *ngIf=\"isCSR\">\r\n <p-table [value]=\"employerProvidedWages\" styleClass=\"p-datatable-striped app-datatable ion-padding-top\" \r\n [columns]=\"employerProvidedWages\">\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th *ngFor=\"let col of columns\">\r\n <b>{{ col.qtrYearDisplayString }}</b>\r\n </th>\r\n </tr>\r\n <tr>\r\n <td *ngFor=\"let col of columns\">\r\n {{col.wageAmount | currency}}\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"isBasePeriodEmployer && workFlag.value == 'N'\">\r\n <label for=\"workFlag\">{{\"induction.confirm.employment.workflag.no\"|translate}}<br/> <br/>\r\n {{\"induction.confirm.employment.workflag.no.line2\"|translate}}</label>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"!isBasePeriodEmployer\">\r\n <label for=\"employerType\">{{\"induction.add.employment.employer.type\"|translate}}</label>\r\n <div style=\"inline-size: inherit;\">\r\n <p-selectButton [options]=\"employerTypeOptions\" optionLabel=\"text\" optionValue=\"value\"\r\n [formControl]=\"employerType\" (onOptionClick)=\"onToggleChangeEmployerType($event)\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='employerType' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"!isBasePeriodEmployer && employerType.value==='REG'\">\r\n <label for=\"employerName\">{{\"induction.add.employment.employer.name\"|translate}}</label>\r\n <app-search-employer [formControl]=\"employerName\" empType=\"REG\" (onFound)=\"setEmployer($event)\"\r\n (onEmpty)=\"resetEmployer($event)\"></app-search-employer>\r\n <app-error [class]=\"'app-grid'\" [field]='employerName' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" style=\"width: inherit !important;\" *ngIf=\"employerType.value==='FED'\">\r\n <label for=\"fedEmployerName\">{{\"induction.add.employment.employer.fed.name\"|translate}}</label>\r\n <app-search-employer [formControl]=\"fedEmployerName\" empType=\"FED\" (onFound)=\"setFedEmployer($event)\"\r\n (onEmpty)=\"resetFedEmployer($event)\"></app-search-employer>\r\n <app-error [class]=\"'app-grid'\" [field]='fedEmployerName' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"employerType.value==='MIL'\">\r\n <label for=\"serviceBranch\">{{\"induction.add.employment.mil.service.branch\"|translate}}</label>\r\n <app-dropdown [options]=\"militaryServiceOptions\" [formControl]=\"serviceBranch\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" inputId=\"serviceBranch\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='serviceBranch' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <ion-row *ngIf=\"employerType.value==='MIL'\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"startDateMil\">{{\"induction.add.employment.mil.startdate\"|translate}}</label>\r\n <p-calendar iconAriaLabel=\"startDateMil\" [showIcon]=\"true\" inputId=\"startDateMil\" [formControl]=\"startDateMil\"\r\n [maxDate]=\"dateTime\" [yearNavigator]=\"true\" yearRange=\"1901:2050\"\r\n appendTo=\"body\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" (onBlur)=\"validate($event)\" (onSelect)=\"validate($event)\"\r\n dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [class]=\"'app-grid'\" [field]='startDateMil' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"endDateMil\">{{\"induction.add.employment.mil.enddate\"|translate}}</label>\r\n <p-calendar iconAriaLabel=\"endDateMil\" [showIcon]=\"true\" inputId=\"endDateMil\" [maxDate]=\"dateTime\" [minDate]=\"minDate\"\r\n dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" [yearNavigator]=\"true\" \r\n appendTo=\"body\" yearRange=\"1901:2050\" dataType=\"string\" [formControl]=\"endDateMil\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\"></p-calendar>\r\n <app-error [class]=\"'app-grid'\" [field]='endDateMil' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"employerType.value==='FED' && hideFicCode\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"ficCode\">{{\"induction.add.employment.fed.fic.code\"|translate}}</label>\r\n <input id=\"ficCode\" type=\"input\" pInputText [formControl]=\"ficCode\" />\r\n <app-error [class]=\"'app-grid'\" [field]='ficCode' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"ficDestinationName\">{{\"induction.add.employment.fed.fic.destination\"|translate}}</label>\r\n <input id=\"ficDestinationName\" type=\"input\" pInputText [formControl]=\"ficDestinationName\" />\r\n <app-error [class]=\"'app-grid'\" [field]='ficDestinationName' [form]=\"addEmployerFormDirective\"\r\n [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"!isBasePeriodEmployer && employerType.value==='REG'\" >\r\n <ion-col style=\"padding-left: 0px; padding-right: 0px;\">\r\n <app-address #address1 [formControl]=\"address\" [countyRequired]=\"false\" [fromPopup]=\"true\"> </app-address> \r\n </ion-col>\r\n </ion-row>\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <app-address #address2 [formControl]=\"address\" countyRequired=\"false\" [fromPopup]=\"true\"\r\n > </app-address>\r\n <app-error [class]=\"'app-grid'\" [field]='address' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n addressValidationFlag: 'Please provide, a valid address.'\r\n }\"></app-error> \r\n </div>\r\n \r\n\r\n <ion-row *ngIf=\"(!isBasePeriodEmployer && employerType.value==='REG')\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"workCity\">{{\"induction.add.employment.work.location.city\"|translate}} </label>\r\n <input id=\"workCity\" type=\"input\" pInputText [formControl]=\"workCity\" maxlength=\"30\"/>\r\n <app-error [class]=\"'app-grid'\" [field]='workCity' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"workState\">{{\"induction.add.employment.work.location.state\"|translate}}</label>\r\n <app-dropdown [options]=\"statesOptions\" [formControl]=\"workState\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" inputId=\"workState\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='workState' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <label for=\"fedWorkCountry\">{{\"induction.add.employment.fed.work.location.country\"|translate}}</label>\r\n <app-dropdown [options]=\"workCountryOptions\" [formControl]=\"fedWorkCountry\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" inputId=\"fedWorkCountry\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='fedWorkCountry' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <ion-row *ngIf=\"employerType.value==='FED'\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"fedWorkCity\">{{\"induction.add.employment.work.location.city\"|translate}}</label>\r\n <input id=\"fedWorkCity\" type=\"input\" pInputText [formControl]=\"fedWorkCity\" maxlength=\"30\"/>\r\n <app-error [class]=\"'app-grid'\" [field]='fedWorkCity' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\" *ngIf=\"showWorkState === true\">\r\n <div class=\"field\">\r\n <label for=\"fedWorkState\">{{\"induction.add.employment.work.location.state\"|translate}}</label>\r\n <app-dropdown [options]=\"statesOptions\" [formControl]=\"fedWorkState\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" inputId=\"fedWorkState\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='fedWorkState' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n\r\n\r\n \r\n\r\n \r\n <ion-row *ngIf=\"employerType.value==='FED'\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"startDateFed\">{{\"induction.add.employment.fed.startdate\"|translate}}</label>\r\n <p-calendar iconAriaLabel=\"startDateFed\" [showIcon]=\"true\" [maxDate]=\"dateTime\" inputId=\"startDateFed\" \r\n [formControl]=\"startDateFed\" [yearNavigator]=\"true\" yearRange=\"1901:2050\"\r\n appendTo=\"body\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" (onBlur)=\"validate($event)\" (onSelect)=\"validate($event)\" dataType=\"string\"\r\n [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [class]=\"'app-grid'\" [field]='startDateFed' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"endDateFed\">{{\"induction.add.employment.fed.enddate\"|translate}}</label>\r\n <p-calendar iconAriaLabel=\"endDateFed\" [showIcon]=\"true\" inputId=\"endDateFed\" [maxDate]=\"dateTime\" [minDate]=\"minDate\"\r\n dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" [yearNavigator]=\"true\" \r\n appendTo=\"body\" yearRange=\"1901:2050\" dataType=\"string\" [formControl]=\"endDateFed\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\"></p-calendar>\r\n <app-error [class]=\"'app-grid'\" [field]='endDateFed' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <label for=\"fedJobTileOrPosition\">{{\"induction.add.employment.fed.jobtitle\"|translate}}</label>\r\n <input id=\"fedJobTileOrPosition\" type=\"input\" pInputText [formControl]=\"fedJobTileOrPosition\" maxlength=\"100\"/>\r\n <!-- <p-autoComplete [formControl]=\"fedJobTileOrPosition\" [suggestions]=\"fedJobTileOptions\" \r\n (completeMethod)=\"filterFedJobTileOrPosition($event)\" field=\"jobTitle\" [dropdown]=\"false\" \r\n placeholder=\"Start... typing job title\" minLength=3 forceSelection=\"true\">\r\n <ng-template let-value pTemplate=\"item\">\r\n <div>\r\n <div>{{value.jobTitle}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete> -->\r\n\r\n <app-error [class]=\"'app-grid'\" [field]='fedJobTileOrPosition' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <label for=\"sfEightflag\">{{\"induction.add.employment.fed.sfeight\"|translate}} </label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"sfEightflag\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n </div>\r\n <app-error [class]=\"'app-grid'\" [field]='sfEightflag' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error> \r\n </div> \r\n <ion-row\r\n *ngIf=\"(((isBasePeriodEmployer && workFlag.value==='Y') \r\n || !isBasePeriodEmployer) && employerType.value==='REG')\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"startDate\">{{\"induction.confirm.employment.startdate\"|translate}}</label>\r\n <p-calendar iconAriaLabel=\"startDate\" [showIcon]=\"true\" inputId=\"startDate\" [maxDate]=\"dateTime\"\r\n [formControl]=\"startDate\" [yearNavigator]=\"true\" yearRange=\"1901:2050\"\r\n appendTo=\"body\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" \r\n (onBlur)=\"validate($event)\" (onSelect)=\"validate($event)\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [class]=\"'app-grid'\" [field]='startDate' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"endDate\">{{\"induction.confirm.employment.enddate\"|translate}}</label>\r\n <p-calendar iconAriaLabel=\"endDate\" [showIcon]=\"true\" inputId=\"endDate\" [minDate]=\"minDate\" [maxDate]=\"dateTime\"\r\n dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" [yearNavigator]=\"true\"\r\n appendTo=\"body\" yearRange=\"1901:2050\" dataType=\"string\" [formControl]=\"endDate\" (onBlur)=\"validateWagesDisplay($event)\"\r\n [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\" (onSelect)=\"validateWagesDisplay($event)\"></p-calendar>\r\n <app-error [class]=\"'app-grid'\" [field]='endDate' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"(displayVerificationOfWages.value && !isBasePeriodEmployer && employerType.value==='REG')\">\r\n <!-- <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"numberEmployed\">{{\"induction.add.employment.reg.employees.no\" | translate}} </label>\r\n <p-inputNumber [id]=\"numberEmployed\" [useGrouping]=\"false\" [formControl]=\"numberEmployed\"\r\n maxlength=\"9\"></p-inputNumber>\r\n <app-error [class]=\"'app-grid'\" [field]='numberEmployed' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col> -->\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"workType\">{{\"induction.add.employment.reg.work.type\" | translate}}</label>\r\n <input id=\"workType\" type=\"input\" pInputText [formControl]=\"workType\" maxlength=\"50\"/>\r\n <app-error [class]=\"'app-grid'\" [field]='workType' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n\r\n\r\n <!-- <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <label for=\"claimantEmployedWithEmpr\">Were you employed while a spouse of a US military member stationed at\r\n a foreign military base?</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton [options]=\"yesNoNaOptions\" [formControl]=\"claimantEmployedWithEmpr\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='claimantEmployedWithEmpr' [form]=\"addEmployerFormDirective\"\r\n [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div> -->\r\n\r\n\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <label for=\"performedService\">{{\"induction.add.employment.fed.civilian.work\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"performedService\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='performedService' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field\"\r\n *ngIf=\"((isBasePeriodEmployer && workFlag.value==='Y') || !isBasePeriodEmployer) && employerType.value==='REG'\">\r\n <label for=\"jobTileOrPosition\">{{\"induction.confirm.employment.jobtitle\"|translate}}</label>\r\n <input id=\"jobTileOrPosition\" type=\"input\" pInputText [formControl]=\"jobTileOrPosition\" maxlength=\"100\"/>\r\n <!-- <p-autoComplete [formControl]=\"jobTileOrPosition\" [suggestions]=\"jobTileOrPositionOptions\" \r\n (completeMethod)=\"filterJobTileOrPosition($event)\" field=\"jobTitle\" (onClear)=\"onClearAction($event)\" \r\n [dropdown]=\"false\" placeholder=\"Start... typing job title\" minLength=3 forceSelection=\"true\">\r\n <ng-template let-value pTemplate=\"item\">\r\n <div>\r\n <div>{{value.jobTitle}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete> -->\r\n\r\n <app-error [class]=\"'app-grid'\" [field]='jobTileOrPosition' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <ion-row *ngIf=\"employerType.value==='REG'\">\r\n <ion-col style=\"padding-right:5px; padding-left: 0px;\"\r\n *ngIf=\"(isBasePeriodEmployer && workFlag.value==='Y')\">\r\n <div class=\"field\">\r\n <label for=\"payRate\">{{\"induction.confirm.employment.payrate\"|translate}}</label>\r\n <p-inputNumber [formControl]=\"payRate\" mode=\"currency\" currency=\"USD\" [max]=\"999999.99\" maxlength=\"12\" locale=\"en-US\"></p-inputNumber>\r\n <app-error [class]=\"'app-grid'\" [field]='payRate' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n\r\n <ion-col style=\"padding-right:5px;\"\r\n *ngIf=\"(isBasePeriodEmployer && workFlag.value==='Y')\">\r\n <div class=\"field\">\r\n <label for=\"payRateFrequency\">{{\"induction.confirm.employment.per\"|translate}}</label>\r\n <app-dropdown [options]=\"payRateOptions\" [formControl]=\"payRateFrequency\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" inputId=\"payRateFrequency\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='payRateFrequency' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <div class=\"field\"\r\n *ngIf=\"(((isBasePeriodEmployer && workFlag.value==='Y') || !isBasePeriodEmployer) && employerType.value==='REG')\">\r\n <label for=\"employerTelephoneNumber\">{{\"induction.confirm.employment.employer.phone\"|translate}}</label>\r\n\r\n <p-inputMask mask=\"999-999-9999\" [id]=\"employerTelephoneNumber\" [formControl]=\"employerTelephoneNumber\"\r\n placeholder=\"999-999-9999\"></p-inputMask>\r\n\r\n\r\n <app-error [class]=\"'app-grid'\" [field]='employerTelephoneNumber' [form]=\"addEmployerFormDirective\"\r\n [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n \r\n\r\n <div class=\"field\" *ngIf=\"employerType.value && (((isBasePeriodEmployer && workFlag.value==='Y') \r\n || !isBasePeriodEmployer) && employerType.value!='MIL')\">\r\n <label for=\"reasonSeparation\">\r\n <div *ngIf=\"employerType.value==='REG' \">{{\"induction.confirm.employment.reason.separation\"|translate}}</div>\r\n <div *ngIf=\"employerType.value==='FED' \">{{\"induction.add.employment.fed.reason.separation\"|translate}}</div>\r\n </label>\r\n \r\n <app-dropdown [options]=\"employmentStatusOptionsAll\" [formControl]=\"reasonSeparation\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" inputId=\"reasonSeparation\" ></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='reasonSeparation' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <!-- add for quit and discharge -->\r\n <div class=\"field\" *ngIf=\"(((isBasePeriodEmployer && workFlag.value==='Y') \r\n || !isBasePeriodEmployer) && reasonSeparation.value && reasonSeparation.value.value === 'DCFI' \r\n && employerType.value!='MIL')\">\r\n <label for=\"dischargeDetail\">{{\"induction.confirm.employment.reason.separation.discharge\"|translate}}</label> \r\n <app-dropdown [options]=\"dischargeReasonOptionsAll\" [formControl]=\"dischargeDetail\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" inputId=\"dischargeDetail\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='dischargeDetail' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"(((isBasePeriodEmployer && workFlag.value==='Y') \r\n || !isBasePeriodEmployer) && reasonSeparation.value && reasonSeparation.value.value === 'VOLQ' \r\n && employerType.value!='MIL')\">\r\n <label for=\"volQuitDetails\">{{\"induction.confirm.employment.reason.separation.quit\"|translate}}</label> \r\n <app-dropdown [options]=\"volQuitReasonOptionsAll\" [formControl]=\"volQuitDetails\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" inputId=\"volQuitDetails\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='volQuitDetails' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"employerType.value==='MIL' \">\r\n <label for=\"milPensionFlag\">{{\"induction.add.employment.mil.pension\"|translate}}\r\n <br> {{\"induction.add.employment.mil.pension.disclaimer\"|translate}}\r\n </label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"milPensionFlag\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='milPensionFlag' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='MIL' && this.milPensionFlag.value === 'Y' && this.currentState != 'ME'\">\r\n <label for=\"milPensionRecvDate\">{{\"induction.add.employment.mil.pension.date\"|translate}}</label>\r\n <div>\r\n <p-calendar [showIcon]=\"true\" inputId=\"milPensionRecvDate\" \r\n [formControl]=\"milPensionRecvDate\" [yearNavigator]=\"true\" \r\n appendTo=\"body\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [class]=\"'app-grid'\" [field]='milPensionRecvDate' [form]=\"addEmployerFormDirective\"\r\n [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"employerType.value==='MIL' \">\r\n <label for=\"dd214Flag\">{{\"induction.add.employment.mil.dd214\"|translate}}\r\n </label><br>\r\n <div style=\"inline-size: min-content; display: inline-flex;\">\r\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"dd214Flag\" optionLabel=\"text\"\r\n optionValue=\"value\" (onOptionClick)=\"putMilValidation($event)\"></p-selectButton>\r\n <app-overlay-info [overlayText]=\"dd214Info\" ></app-overlay-info>\r\n </div>\r\n <app-error [class]=\"'app-grid'\" [field]='dd214Flag' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n </ion-col>\r\n \r\n <ion-col class=\"ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"6\" sizeLg=\"6\" sizeXl=\"6\">\r\n <div class=\"p-fluid p-formgrid\">\r\n\r\n <ion-row *ngIf=\"!isBasePeriodEmployer\" class=\"ion-hide-sm-down\">\r\n <ion-col >\r\n <div class=\"field\"></div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"!isBasePeriodEmployer\" class=\"ion-hide-sm-down\">\r\n <ion-col>\r\n <div class=\"field\"></div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"!isBasePeriodEmployer\" class=\"ion-hide-sm-down\">\r\n <ion-col>\r\n <div class=\"field\"></div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n \r\n <ion-row *ngIf=\"isBasePeriodEmployer\" class=\"ion-hide-sm-down\">\r\n <ion-col>\r\n <div class=\"field\"></div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"isBasePeriodEmployer\" class=\"ion-hide-sm-down\">\r\n <ion-col>\r\n <div class=\"field\"></div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"employerType.value==='MIL' && dd214Flag.value==='Y'\">\r\n <ion-col style=\"border-style: solid;\r\n border-width: 1px;\">\r\n <div [innerHTML]=\"paraOne | translate\">\r\n </div>\r\n <!-- <app-file-uploader [formControl]=\"dd214File\" [uploadedFileForEdit]=\"dd214File.value\"></app-file-uploader> -->\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(paraTwo | translate)\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(paraThree | translate)\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(paraFour | translate)\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(paraFive | translate)\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(paraSix| translate)\" style=\"padding-left: 15px;\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"employerType.value==='MIL' && dd214Flag.value==='N'\">\r\n <ion-col style=\"border-style: solid;\r\n border-width: 1px;\">\r\n <div [innerHTML]=\"noParaOne | translate\">\r\n </div>\r\n <!-- <app-file-uploader [formControl]=\"dd214File\" [uploadedFileForEdit]=\"dd214File.value\"></app-file-uploader> -->\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(noParaTwo | translate)\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(noParaThree | translate)\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(noParaFour | translate)\" style=\"padding-left: 15px;\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(noParaFive | translate)\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"(employerType.value==='REG' && !isBasePeriodEmployer && osaBpEmployerFlag.value ==='1')\">\r\n <ion-col style=\"padding-top: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"grossWages\" style=\"inline-size: max-content;\">Total Wages Earned</label>\r\n <p-inputNumber [formControl]=\"grossWages\" mode=\"currency\" currency=\"USD\" maxlength=\"12\" [max]=\"999999.99\" locale=\"en-US\">\r\n </p-inputNumber>\r\n <app-error [class]=\"'app-grid'\" [field]='grossWages' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"(employerType.value==='REG' && !isBasePeriodEmployer)\">\r\n <ion-col style=\"padding-right:5px; padding-left: 0px; padding-top: 0px;\"\r\n *ngIf=\"!isBasePeriodEmployer\">\r\n <div class=\"field\">\r\n <label for=\"payRate\">{{\"induction.add.employment.payrate\"|translate}}</label>\r\n <p-inputNumber inputId=\"payRate\" [formControl]=\"payRate\" mode=\"currency\" currency=\"USD\" [max]=\"999999.99\" maxlength=\"12\" locale=\"en-US\"></p-inputNumber>\r\n <app-error [class]=\"'app-grid'\" [field]='payRate' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n\r\n <ion-col style=\"padding-right:5px;padding-top: 0px;\" \r\n *ngIf=\"!isBasePeriodEmployer\">\r\n <div class=\"field\">\r\n <label for=\"payRateFrequency\">{{\"induction.add.employment.per\"|translate}}</label>\r\n <app-dropdown [options]=\"payRateOptions\" [formControl]=\"payRateFrequency\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" inputId=\"payRateFrequency\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='payRateFrequency' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n\r\n <ion-col *ngIf=\"displayVerificationOfWages.value && !isBasePeriodEmployer\" style=\"padding-top: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"grossWages\" style=\"inline-size: max-content;\">Total Wages Earned</label>\r\n <p-inputNumber [formControl]=\"grossWages\" mode=\"currency\" currency=\"USD\" maxlength=\"12\" [max]=\"999999.99\" locale=\"en-US\">\r\n </p-inputNumber>\r\n <app-error [class]=\"'app-grid'\" [field]='grossWages' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n\r\n\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED' \">\r\n <label for=\"fedPensionFlag\">{{\"induction.add.employment.fed.pension\"|translate}}\r\n <br> {{\"induction.add.employment.fed.pension.disclaimer\"|translate}}\r\n </label>\r\n <div style=\"inline-size: min-content; display:flex\">\r\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"fedPensionFlag\" optionLabel=\"text\"\r\n optionValue=\"value\" ></p-selectButton>\r\n <app-overlay-info overlayText=\"{{'induction.add.employment.fed.pension.info'| translate}}\" \r\n style=\"margin-top: 2px; margin-left: 6px;\"></app-overlay-info>\r\n <app-error [class]=\"'app-grid'\" [field]='fedPensionFlag' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED' && this.fedPensionFlag.value === 'Y' && this.currentState != 'ME'\">\r\n <label for=\"fedPensionRecvDate\">{{\"induction.add.employment.fed.pension.date\"|translate}}</label>\r\n <div>\r\n <p-calendar [showIcon]=\"true\" inputId=\"fedPensionRecvDate\" \r\n [formControl]=\"fedPensionRecvDate\" [yearNavigator]=\"true\" \r\n appendTo=\"body\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [class]=\"'app-grid'\" [field]='fedPensionRecvDate' [form]=\"addEmployerFormDirective\"\r\n [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED' && this.currentState === 'ME' \">\r\n <label for=\"sevPayFlag\">{{\"induction.add.employment.fed.severance\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"sevPayFlag\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='sevPayFlag' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n\r\n\r\n <ion-row *ngIf=\"employerType.value==='FED' && sevPayFlag.value==='Y'\">\r\n <ion-col style=\"padding-right:5px;\">\r\n <div class=\"field\">\r\n <label for=\"weeklyAmount\">{{\"induction.add.employment.fed.severance.weekly.amt\"|translate}}</label>\r\n <p-inputNumber [formControl]=\"weeklyAmount\" mode=\"currency\" currency=\"USD\" maxlength=\"12\" [max]=\"999999.99\" locale=\"en-US\">\r\n </p-inputNumber>\r\n <app-error [class]=\"'app-grid'\" [field]='weeklyAmount' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n\r\n <ion-col style=\"padding-right:5px;\">\r\n <div class=\"field\">\r\n <label for=\"numberOfWeeks\">{{\"induction.add.employment.fed.severance.weeks\"|translate}}</label>\r\n <p-inputNumber [id]=\"numberOfWeeks\" [useGrouping]=\"false\" [formControl]=\"numberOfWeeks\" maxlength=\"4\">\r\n </p-inputNumber>\r\n <app-error [class]=\"'app-grid'\" [field]='numberOfWeeks' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n\r\n <ion-col>\r\n <div class=\"field\">\r\n <label for=\"sevPayAmount\">{{\"induction.add.employment.fed.severance.entitlement\"|translate}}</label>\r\n <p-inputNumber [formControl]=\"sevPayAmount\" mode=\"currency\" currency=\"USD\" maxlength=\"12\" [max]=\"999999.99\" locale=\"en-US\">\r\n </p-inputNumber>\r\n <app-error [class]=\"'app-grid'\" [field]='sevPayAmount' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row> \r\n\r\n <ion-row *ngIf=\"employerType.value==='FED' && sevPayFlag.value==='Y'\">\r\n <ion-col style=\"padding-right:5px;\">\r\n <div class=\"field\">\r\n <label for=\"sevPayStartDate\">{{\"induction.add.employment.fed.severance.start.date\"|translate}}</label>\r\n <p-calendar [showIcon]=\"true\" inputId=\"sevPayStartDate\" (onBlur)=\"validate($event)\" (onSelect)=\"validate($event)\"\r\n [formControl]=\"sevPayStartDate\" [yearNavigator]=\"true\" yearRange=\"1901:2050\"\r\n appendTo=\"body\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" dataType=\"string\"\r\n [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [class]=\"'app-grid'\" [field]='sevPayStartDate' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n\r\n <ion-col style=\"padding-right:5px;\">\r\n <div class=\"field\">\r\n <label for=\"sevPayEndDate\">{{\"induction.add.employment.fed.severance.end.date\"|translate}}</label>\r\n <p-calendar [showIcon]=\"true\" inputId=\"sevPayEndDate\" [formControl]=\"sevPayEndDate\"\r\n [yearNavigator]=\"true\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" \r\n appendTo=\"body\" [minDate]=\"minDate\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [class]=\"'app-grid'\" [field]='sevPayEndDate' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n\r\n <ion-col>\r\n <div class=\"field\">\r\n <label for=\"sevPayPaymentStartDate\">{{\"induction.add.employment.fed.severance.pay.date\"|translate}}</label>\r\n <p-calendar [showIcon]=\"true\" inputId=\"sevPayPaymentStartDate\" \r\n [formControl]=\"sevPayPaymentStartDate\" [yearNavigator]=\"true\" \r\n appendTo=\"body\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" dataType=\"string\"\r\n [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [class]=\"'app-grid'\" [field]='sevPayPaymentStartDate' [form]=\"addEmployerFormDirective\"\r\n [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n\r\n <div class=\"field\" *ngIf=\"(isBasePeriodEmployer && workFlag.value==='Y' && employerType.value==='REG')\">\r\n <label for=\"pensionFlag\">{{\"induction.confirm.employment.pension\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"pensionFlag\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='pensionFlag' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"(isBasePeriodEmployer && workFlag.value==='Y' && pensionFlag.value==='Y' \r\n && employerType.value==='REG' && this.currentState != 'ME')\">\r\n <label for=\"pensionRecvDate\">{{\"induction.confirm.employment.pension.date\"|translate}}</label>\r\n <div>\r\n <p-calendar [showIcon]=\"true\" inputId=\"pensionRecvDate\" \r\n [formControl]=\"pensionRecvDate\" [yearNavigator]=\"true\" \r\n appendTo=\"body\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" dataType=\"string\"\r\n [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [class]=\"'app-grid'\" [field]='pensionRecvDate' [form]=\"addEmployerFormDirective\"\r\n [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n \r\n <div class=\"field\" *ngIf=\"(!isBasePeriodEmployer && employerType.value==='REG')\">\r\n <label for=\"regPensionFlag\">{{\"induction.add.employment.reg.pension\"|translate}} <br/>\r\n {{\"induction.add.employment.reg.pension.disclaimer\"|translate}}</label>\r\n <div style=\"inline-size: min-content; display:flex\">\r\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"regPensionFlag\" optionLabel=\"text\"\r\n optionValue=\"value\" ></p-selectButton>\r\n <app-overlay-info overlayText=\"{{'induction.add.employment.reg.pension.info'| translate}}\" \r\n style=\"margin-top: 2px; margin-left: 6px;\"></app-overlay-info>\r\n <app-error [class]=\"'app-grid'\" [field]='regPensionFlag' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"(!isBasePeriodEmployer && employerType.value==='REG' \r\n && regPensionFlag.value==='Y' && this.currentState != 'ME')\">\r\n <label for=\"regPensionRecvDate\">{{\"induction.add.employment.reg.pension.date\"|translate}}</label>\r\n <div>\r\n <p-calendar [showIcon]=\"true\" inputId=\"regPensionRecvDate\" \r\n [formControl]=\"regPensionRecvDate\" [yearNavigator]=\"true\" \r\n appendTo=\"body\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" dataType=\"string\"\r\n [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [class]=\"'app-grid'\" [field]='regPensionRecvDate' [form]=\"addEmployerFormDirective\"\r\n [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field\"\r\n *ngIf=\"((isBasePeriodEmployer && workFlag.value==='Y') || !isBasePeriodEmployer)&& employerType.value==='REG'\">\r\n <label for=\"isClmtPaidWhileLow\">{{\"induction.confirm.employment.employer.pay.return.to.work\"|translate}}</label>\r\n <div style=\"inline-size: min-content; display:flex;\">\r\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"isClmtPaidWhileLow\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-overlay-info overlayText=\"{{'induction.add.employment.reg.employerPayReturnToWorkInfo'| translate}}\" \r\n style=\"margin-top: 2px; margin-left: 6px;\"></app-overlay-info>\r\n <app-error [class]=\"'app-grid'\" [field]='isClmtPaidWhileLow' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field\"\r\n *ngIf=\"((isBasePeriodEmployer && workFlag.value==='Y') || !isBasePeriodEmployer)&& employerType.value==='REG' && currentState ==='ME'\">\r\n <label for=\"hasShortTermDisability\">{{\"induction.confirm.employment.shorttermdisability\"|translate}} {{bpStartDateToDisplay}} ?</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"hasShortTermDisability\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='hasShortTermDisability' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field\"\r\n *ngIf=\"((isBasePeriodEmployer && workFlag.value==='Y') || !isBasePeriodEmployer)&& employerType.value==='REG' && currentState==='ME'\">\r\n <label for=\"hasRecvRemuneration\">{{\"induction.confirm.employment.remuneration.pay\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"hasRecvRemuneration\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='hasRecvRemuneration' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"((isBasePeriodEmployer && workFlag.value==='Y') || !isBasePeriodEmployer) && employerType.value==='REG' && currentState==='ME' && hasRecvRemuneration.value==='Y' && osaBpEmployerFlag.value==='0'\">\r\n <label for=\"remunerationTypes\">{{\"induction.confirm.employment.remuneration.types\"|translate}}</label>\r\n <p-checkbox [name]=\"'remunerationtypes-group'\" [value]=\"choice.value\" \r\n [label]=\"choice.text\" *ngFor=\"let choice of remunerationTypeOptions\" [formControl]=\"remunerationTypes\"\r\n styleClass=\"app-p-checkbox\"></p-checkbox>\r\n <app-error [class]=\"'app-grid'\" [field]='remunerationTypes' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\"\r\n *ngIf=\"((isBasePeriodEmployer && workFlag.value==='Y' && schoolFlag ==='1') || !isBasePeriodEmployer)&& employerType.value==='REG' && currentState ==='ME'\">\r\n <label for=\"vacation\">{{\"induction.confirm.employment.vacation.break\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"vacation\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='vacation' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"workState.value && workState.value.value===this.currentState && displayVerificationOfWages.value && !isBasePeriodEmployer && employerType.value==='REG'\">\r\n <div class=\"field\">\r\n <h4>{{\"induction.add.employment.reg.verification.wages.header\"|translate}}</h4>\r\n </div>\r\n <div class=\"field\">\r\n <label>{{\"induction.add.employment.reg.verification.wages.subheader\"|translate}}</label>\r\n </div>\r\n \r\n <div class=\"field\">\r\n <label for=\"paymentType\">{{\"induction.add.employment.reg.verification.wages.paymode\"|translate}}</label>\r\n <p-selectButton [options]=\"payMethodOptions\" [formControl]=\"paymentType\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='paymentType' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\">\r\n <label for=\"docsReceived\">{{\"induction.add.employment.reg.verification.wages.docs\"|translate}}</label>\r\n <p-selectButton [options]=\"wageProofOptions\" [formControl]=\"docsReceived\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='docsReceived' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n \r\n <div class=\"field\">\r\n <label for=\"otherSSNFlag\">{{\"induction.add.employment.reg.verification.wages.other.ssn.flag\"|translate}}\r\n </label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"otherSSNFlag\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='otherSSNFlag' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"this.otherSSNFlag.value === 'Y'\">\r\n <label for=\"otherSSN\">{{\"induction.add.employment.reg.verification.wages.other.ssn\"|translate}}</label>\r\n <p-inputMask mask=\"999-99-9999\" [id]=\"otherSSN\" [formControl]=\"otherSSN\" placeholder=\"999-99-9999\">\r\n </p-inputMask>\r\n <app-error [class]=\"'app-grid'\" [field]='otherSSN' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <!-- <div class=\"field\">\r\n <label for=\"hiredBy\">Manager's Name & Title</label>\r\n <input id=\"hiredBy\" type=\"input\" pInputText [formControl]=\"hiredBy\" maxlength=\"40\"/>\r\n <app-error [class]=\"'app-grid'\" [field]='hiredBy' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error> \r\n </div> -->\r\n </div>\r\n \r\n <ion-row *ngIf=\"workState.value && workState.value.value=== this.currentState && displayVerificationOfWages.value && !isBasePeriodEmployer && employerType.value==='REG'\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"otherNameFlag\">{{\"induction.add.employment.reg.verification.wages.other.name.flag\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"otherNameFlag\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='otherNameFlag' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"this.otherNameFlag.value === 'Y'\">\r\n <label for=\"otherName\">{{\"induction.add.employment.reg.verification.wages.other.name\"|translate}}</label>\r\n <input id=\"otherName\" type=\"input\" pInputText [formControl]=\"otherName\" maxlength=\"30\"/>\r\n <app-error [class]=\"'app-grid'\" [field]='otherName' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <!-- <ion-row *ngIf=\"workState.value && workState.value.value==='MS' && displayVerificationOfWages.value && !isBasePeriodEmployer && employerType.value==='REG'\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"fein\">FEIN</label>\r\n <p-inputNumber [id]=\"fein\" [useGrouping]=\"false\" [formControl]=\"fein\" maxlength=\"9\"></p-inputNumber>\r\n <app-error [class]=\"'app-grid'\" [field]='fein' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"doingBusinessAs\">Doing Business As/Trade Name</label>\r\n <input id=\"doingBusinessAs\" type=\"input\" pInputText [formControl]=\"doingBusinessAs\" maxlength=\"100\"/>\r\n <app-error [class]=\"'app-grid'\" [field]='doingBusinessAs' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row> -->\r\n\r\n <ion-row *ngIf=\"workState.value && workState.value.value===this.currentState && displayVerificationOfWages.value \r\n && !isBasePeriodEmployer && employerType.value==='REG'\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"businessNature\">{{\"induction.add.employment.reg.verification.nature\"|translate}}</label>\r\n <input id=\"businessNature\" type=\"input\" pInputText [formControl]=\"businessNature\" maxlength=\"250\"/>\r\n <app-error [class]=\"'app-grid'\" [field]='businessNature' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <div *ngIf=\"((workState.value && workState.value.value===currentState && employerType && displayVerificationOfWages.value && !isBasePeriodEmployer && employerType.value==='REG') \r\n || (employerType.value==='FED')) && (employerType.value!='MIL')\">\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <label>{{\"induction.add.employment.fed.verification.wages\"|translate}}</label>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='REG'\">\r\n <label>{{\"induction.add.employment.reg.verification.wages\"|translate}}</label>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <label>{{\"induction.add.employment.fed.verification.wages.statement\"|translate}}</label>\r\n </div>\r\n <div class=\"field\">\r\n <table rules=rows>\r\n <tr>\r\n <th style=\"text-align: center;\">{{\"induction.add.employment.reg.verification.wages.col1\"|translate}}</th>\r\n <th>{{\"induction.add.employment.reg.verification.wages.col2\"|translate}}</th>\r\n </tr>\r\n <ng-container formArrayName=\"wageAmountArray\">\r\n <ng-container *ngFor=\"let wageAmountForm of wageAmountArray.controls; let i = index\"\r\n [formGroupName]=\"i\">\r\n <tr\r\n *ngIf=\"((employerType.value==='FED') || (employerType.value==='REG' && wageAmountForm.value.displayForAll===true) )\">\r\n <td>\r\n {{wageAmountForm.value.qtrYearDisplayString}}\r\n </td>\r\n <td>\r\n <p-inputNumber ariaLabel=\"wageAmount\" formControlName=\"wageAmount\" mode=\"currency\" [max]=\"999999.99\" maxlength=\"12\" currency=\"USD\" locale=\"en-US\">\r\n </p-inputNumber>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </table>\r\n </div>\r\n </div>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row>\r\n <ion-col class=\"ion-text-right\">\r\n <ion-button shape=\"round\" style=\"width: 80px;\" fill=\"outline\" (click)=\"onModelCancel(false)\" type=\"reset\">{{\"induction.employment.button.cancel\"|translate}} </ion-button>\r\n <ion-button shape=\"round\" style=\"width: 80px;\" (click)=\"save()\" type=\"submit\" *ngIf=\"isBasePeriodEmployer\"> {{\"induction.employment.button.save\"|translate}} </ion-button>\r\n <ion-button shape=\"round\" style=\"width: 80px;\" (click)=\"add()\" type=\"submit\" *ngIf=\"!isBasePeriodEmployer\"> {{\"induction.employment.button.add\"|translate}} </ion-button>\r\n </ion-col>\r\n </ion-row>\r\n\r\n </ion-grid>\r\n </form>\r\n</p-dialog>", styles: [".p-fluid .p-buttonset{display:flex}.p-selectbutton .p-button{width:50px!important}table,th,td{border-collapse:collapse;padding:5px}table th{background-color:#f1f1f1}table{width:100%}\n"] }]
3077
- }], function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.ValidationService }, { type: i3.UtilService }, { type: i4.FilterService }, { type: i5.LoggerService }, { type: i6.DomSanitizer }, { type: i7.ClaimService }, { type: i8.LoginService }]; }, { address1: [{
3078
- type: ViewChild,
3079
- args: ['address1']
3080
- }], address2: [{
3081
- type: ViewChild,
3082
- args: ['address2']
3083
- }], addEmployerFormDirective: [{
3084
- type: ViewChild,
3085
- args: ['addEmployerFormDirective', { static: false }]
3086
- }], modelCancel: [{
3087
- type: Output
3088
- }], success: [{
3089
- type: Output
3090
- }], recordIndexToEdit: [{
3091
- type: Input
3092
- }], isBasePeriodEmployer: [{
3093
- type: Input
3094
- }], isNewClaim: [{
3095
- type: Input
3096
- }], basePeriodIndex: [{
3097
- type: Output
3098
- }] }); })();
3099
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWVtcGxveWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGQtZW1wbG95ZXIvYWRkLWVtcGxveWVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGQtZW1wbG95ZXIvYWRkLWVtcGxveWVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUF3RixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdsSSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFNcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNDbEQsMkJBQStCO0lBQzdCLFlBQThEOztJQUFBLGlCQUFNOzs7SUFBcEUsZUFBOEQ7SUFBOUQsZ0hBQThEOzs7SUFJaEUsMkJBQW1CO0lBQ2pCLHFCQUFJO0lBQ0osWUFDRjs7SUFBQSxpQkFBTTs7SUFESixlQUNGO0lBREUsb0dBQ0Y7OztJQU1VLDBCQUFnQyxRQUFBO0lBQ3pCLFlBQThCO0lBQUEsaUJBQUksRUFBQTs7O0lBQWxDLGVBQThCO0lBQTlCLGtEQUE4Qjs7O0lBSXZDLDBCQUFnQztJQUM3QixZQUNIOztJQUFBLGlCQUFLOzs7SUFERixlQUNIO0lBREcseUVBQ0g7OztJQVJGLDBCQUFJO0lBQ0EsK0ZBRUs7SUFDVCxpQkFB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SUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1lBQ3ROLGNBQWMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1lBQ3pOLGNBQWMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1lBQ3pOLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUcsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNqUCxlQUFlLEVBQUUsQ0FBQyxH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MEQ7UUFBMUQsdUZBQTBEO1FBbUMxRCxlQUEwRDtRQUExRCx1RkFBMEQ7UUE2Q2hELGVBQWtGO1FBQWxGLGlIQUFrRjtRQVdsRixlQUNzQztRQUR0Qyw4S0FDc0M7UUFldEMsZUFBMkQ7UUFBM0Qsb0ZBQTJEO1FBYzNELGVBQ3NDO1FBRHRDLG9KQUNzQztRQWdCdkQsZUFBNEc7UUFBNUcsZ0pBQTRHO1FBYzVHLGVBQW9JO1FBQXBJLDZLQUFvSTtRQVlwSSxlQUFtSTtRQUFuSSw2S0FBbUk7UUFXbEgsZUFBd007UUFBeE0sNlBBQXdNO1FBV3pOLGVBQXlKO1FBQXpKLHVNQUF5SjtRQVd0SixlQUE2SjtRQUE3SixxTUFBNko7UUF1RDNKLGVBQThKO1FBQTlKLHFNQUE4SjtRQTRDNUosZUFDK0M7UUFEL0MscU1BQytDO1FBV3RELGVBQ21FO1FBRG5FLGtTQUNtRTtRQXdDa0MsZUFBbUQ7UUFBbkQsNEZBQW1EO1FBQzlFLGVBQTBCO1FBQTFCLCtDQUEwQjtRQUMzQixlQUEyQjtRQUEzQixnREFBMkI7O3VGRHQ4QnRHLG9CQUFvQjtjQUxoQyxTQUFTOzJCQUNFLGtCQUFrQjt3UUFNTCxRQUFRO2tCQUE5QixTQUFTO21CQUFDLFVBQVU7WUFDRSxRQUFRO2tCQUE5QixTQUFTO21CQUFDLFVBQVU7WUFHZCx3QkFBd0I7a0JBRDlCLFNBQVM7bUJBQUMsMEJBQTBCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBNkR4RCxXQUFXO2tCQURWLE1BQU07WUFJUCxPQUFPO2tCQUROLE1BQU07WUFJQSxpQkFBaUI7a0JBRHZCLEtBQUs7WUFJQyxvQkFBb0I7a0JBRDFCLEtBQUs7WUFJQyxVQUFVO2tCQURoQixLQUFLO1lBTU4sZUFBZTtrQkFEZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBVbnR5cGVkRm9ybUFycmF5LCBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAsIE5nRm9ybSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZpbHRlclNlcnZpY2UsIFNlbGVjdEl0ZW1Hcm91cCB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7RG9tU2FuaXRpemVyfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IENsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9DbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsJztcbmltcG9ydCB7IENvbWJvT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ29tYm9Nb2RlbCc7XG5pbXBvcnQgeyBFbXBsb3llckRldGFpbFNlYXJjaFJlc3VsdCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0VtcGxveWVyRGV0YWlsU2VhcmNoUmVzdWx0JztcbmltcG9ydCB7IFF0clllYXJFbXBsb3llcldhZ2VNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1F0clllYXJFbXBsb3llcldhZ2VNb2RlbCc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IFZhbGlkYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcXVlc3Rpb25uYWlyZS92YWxpZGF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBWYWxpZGF0b3JzIH0gZnJvbSAnLi4vLi4vdmFsaWRhdGlvbnMvQXBwVmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBBZGRyZXNzQ29tcG9uZW50TW9kZWwsIENob2ljZXNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9BZGRyZXNzQ29tcG9uZW50TW9kZWwnO1xuaW1wb3J0IHsgQ2xhaW1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2xhaW1zL2NsYWltcy5zZXJ2aWNlJztcbmltcG9ydCB7IEFkZHJlc3NDb21wb25lbnQgfSBmcm9tICcuLi9hZGRyZXNzL2FkZHJlc3MuY29tcG9uZW50JztcbmltcG9ydCB7IExvZ2luU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2luL2xvZ2luLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYWRkLWVtcGxveWVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1lbXBsb3llci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FkZC1lbXBsb3llci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBZGRFbXBsb3llckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcyB7XG5cbiAgQFZpZXdDaGlsZCgnYWRkcmVzczEnKSBhZGRyZXNzMTogQWRkcmVzc0NvbXBvbmVudDsgXG4gIEBWaWV3Q2hpbGQoJ2FkZHJlc3MyJykgYWRkcmVzczI6IEFkZHJlc3NDb21wb25lbnQ7IFxuXG4gIEBWaWV3Q2hpbGQoJ2FkZEVtcGxveWVyRm9ybURpcmVjdGl2ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwdWJsaWMgYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlOiBOZ0Zvcm07XG4gIHB1YmxpYyBlbXBsb3llclR5cGVPcHRpb25zID0gQ29tYm9PcHRpb24uRU1QTE9ZRVJfVFlQRTtcbiAgcHVibGljIGNvdW50cnlPcHRpb25zID0gQ29tYm9PcHRpb24uQ09VTlRSWTtcbiAgcHVibGljIGNvdW50cnlGZWRPcHRpb25zID0gQ29tYm9PcHRpb24uQ09VTlRSWTtcbiAgcHVibGljIHBheVJhdGVPcHRpb25zID0gQ29tYm9PcHRpb24uUEFZX1BFUklPRDtcbiAgcHVibGljIHN0YXRlT3B0aW9uczogYW55ID0gW107XG4gIHB1YmxpYyBmZWRTdGF0ZU9wdGlvbnM6IGFueSA9IFtdO1xuICBwdWJsaWMgam9iVGlsZU9yUG9zaXRpb25PcHRpb25zOiBhbnkgPVtdO1xuICBwdWJsaWMgZmVkSm9iVGlsZU9wdGlvbnM6IGFueSA9W107XG4gIHB1YmxpYyByYWRpb09wdGlvbnMgPSBDb21ib09wdGlvbi5ZRVNfTk87XG4gIHB1YmxpYyB3b3JrT3B0aW9ucyA9IENvbWJvT3B0aW9uLldPUktfRk9SX0VNUEw7XG4gIHB1YmxpYyB5ZXNOb05hT3B0aW9ucyA9IENvbWJvT3B0aW9uLllFU19OT19OQTtcbiAgcHVibGljIHBheU1ldGhvZE9wdGlvbnMgPSBDb21ib09wdGlvbi5QQVlNRU5UX01FVEhPRDtcbiAgcHVibGljIHdhZ2VQcm9vZk9wdGlvbnMgPSBDb21ib09wdGlvbi5XQUdFX1BST09GO1xuICBwdWJsaWMgZGlzY2hhcmdlUmVhc29uT3B0aW9uczogQ2hvaWNlc01vZGVsW10gPSBbXTtcbiAgcHVibGljIHZvbFF1aXRSZWFzb25PcHRpb25zOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xuICBwdWJsaWMgc3RhdGVzT3B0aW9ucyA9IENvbWJvT3B0aW9uLlVTX1NUQVRFUztcbiAgcHVibGljIHBheVBlcmlvZCA9IENvbWJvT3B0aW9uLlBBWV9QRVJJT0Q7XG4gIHB1YmxpYyBlbXBsb3ltZW50U3RhdHVzT3B0aW9uczogQ2hvaWNlc01vZGVsW10gPSBbXTtcbiAgcHVibGljIHdvcmtDb3VudHJ5T3B0aW9ucyA9IENvbWJvT3B0aW9uLldPUktfQ09VTlRSWTtcbiAgcHVibGljIG1pbGl0YXJ5U2VydmljZU9wdGlvbnMgPSBDb21ib09wdGlvbi5NSUxJVEFSWV9TRVJWSUNFO1xuICBwdWJsaWMgcmVtdW5lcmF0aW9uVHlwZU9wdGlvbnMgPSBDb21ib09wdGlvbi5SRU1VTkVSQVRJT05fVFlQRVM7XG4gIHB1YmxpYyBhZGRFbXBsb3llckZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gIHB1YmxpYyBkaXNwbGF5OiBib29sZWFuO1xuICBwdWJsaWMgYmFzZVBlcmlvZFN0YXJ0RGF0ZTogRGF0ZTtcbiAgcHVibGljIGJhc2VQZXJpb2RFbmREYXRlOiBEYXRlO1xuICBwdWJsaWMgYnBTdGFydERhdGVUb0Rpc3BsYXk6IERhdGU7XG4gIHB1YmxpYyBtaW5EYXRlOiBEYXRlO1xuICBwdWJsaWMgcXVhcnRlclJhbmdlT25lPzogc3RyaW5nO1xuICBwdWJsaWMgcXVhcnRlclJhbmdlVHdvPzogc3RyaW5nO1xuICBwdWJsaWMgcXVhcnRlclJhbmdlVGhyZWU/OiBzdHJpbmc7XG4gIHB1YmxpYyBxdWFydGVyUmFuZ2VGb3VyPzogc3RyaW5nO1xuICBwdWJsaWMgY3VycmVudFF1YXJ0ZXJSYW5nZT86IHN0cmluZztcbiAgcHVibGljIHF1YXJ0ZXJSYW5nZUZpdmU/OiBzdHJpbmc7XG4gIHB1YmxpYyBkYXRlVGltZSA9IG5ldyBEYXRlKCk7XG4gIHB1YmxpYyBncm91cGVkUmVhc29ucz0gQ29tYm9PcHRpb24uR1JPVVBfUkVBU09OUztcblxuICBwdWJsaWMgZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbDogQ2hvaWNlc01vZGVsW10gPSBbXTtcbiAgcHVibGljIHZvbFF1aXRSZWFzb25PcHRpb25zQWxsOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xuICBwdWJsaWMgZW1wbG95bWVudFN0YXR1c09wdGlvbnNBbGw6IENob2ljZXNNb2RlbFtdID0gW107XG5cbiAgcHVibGljIHNmOEluZm89XCJTRi04XCI7XG4gIHB1YmxpYyBkZDIxNEluZm89XCJERCAyMTRcIjtcblxuICBwdWJsaWMgcGFyYU9uZSA9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lnllcy5wYXJhLm9uZVwiO1xuICBwdWJsaWMgcGFyYVR3bz1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQueWVzLnBhcmEudHdvXCI7XG4gIHB1YmxpYyBwYXJhVGhyZWU9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lnllcy5wYXJhLnRocmVlXCI7XG4gIHB1YmxpYyBwYXJhRm91cj1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQueWVzLnBhcmEuZm91clwiO1xuICBwdWJsaWMgcGFyYUZpdmU9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lnllcy5wYXJhLmZpdmVcIjtcbiAgcHVibGljIHBhcmFTaXg9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lnllcy5wYXJhLnNpeFwiO1xuXG4gIHB1YmxpYyBub1BhcmFPbmUgPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC5uby5wYXJhLm9uZVwiO1xuICBwdWJsaWMgbm9QYXJhVHdvPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC5uby5wYXJhLnR3b1wiO1xuICBwdWJsaWMgbm9QYXJhVGhyZWU9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lm5vLnBhcmEudGhyZWVcIjtcbiAgcHVibGljIG5vUGFyYUZvdXI9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lm5vLnBhcmEuZm91clwiO1xuICBwdWJsaWMgbm9QYXJhRml2ZT1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQubm8ucGFyYS5maXZlXCI7XG5cbiAgcHVibGljIGVtcGxveWVyUHJvdmlkZWRXYWdlczogUXRyWWVhckVtcGxveWVyV2FnZU1vZGVsW107XG5cbiAgQE91dHB1dCgpXG4gIG1vZGVsQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBPdXRwdXQoKVxuICBzdWNjZXNzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVjb3JkSW5kZXhUb0VkaXQ6IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaXNCYXNlUGVyaW9kRW1wbG95ZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaXNOZXdDbGFpbTogYm9vbGVhbjtcblxuICBwdWJsaWMgaGlkZUZpY0NvZGU6IHRydWU7XG5cbiAgQE91dHB1dCgpIFxuICBiYXNlUGVyaW9kSW5kZXg6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gICBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIGN1cnJlbnRTdGF0ZSA6IHN0cmluZztcblxuICBwdWJsaWMgY3VzdG9tZXJOYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBhbGlhc05hbWU6IHN0cmluZztcbiAgcHVibGljIG1haWxpbmdBZGRyZXNzRGlzcGxheTogc3RyaW5nO1xuICBwdWJsaWMgc2Nob29sRmxhZzpzdHJpbmc7XG4gIHB1YmxpYyBpc09zYUVtcGxveWVyOnN0cmluZyA9IFwiMFwiO1xuICBwdWJsaWMgaXNDU1I6Ym9vbGVhbjtcbiAgcHVibGljIHNob3dXb3JrU3RhdGU6IGJvb2xlYW4gPSB0cnVlO1xuICBwcml2YXRlIG9uQ2hhbmdlOiBGdW5jdGlvbiA9ICh2YWx1ZTogU3RyaW5nKSA9PiB7XG5cbiAgfTtcbiAgcHJpdmF0ZSBvblRvdWNoOiBGdW5jdGlvbiA9ICgpID0+IHtcblxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLCBwdWJsaWMgdmFsaWRhdGlvblNlcnZpY2U6IFZhbGlkYXRpb25TZXJ2aWNlLCBcbiAgICBwdWJsaWMgdXRpbDogVXRpbFNlcnZpY2UscHJpdmF0ZSBmaWx0ZXJTZXJ2aWNlOiBGaWx0ZXJTZXJ2aWNlLHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLCBcbiAgICBwdWJsaWMgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsIHB1YmxpYyBjbGFpbXNTZXJ2aWNlIDogQ2xhaW1TZXJ2aWNlLCBwdWJsaWMgbHM6IExvZ2luU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgXG4gICAgdGhpcy5sb2FkTWFzdGVyRGF0YSgpO1xuXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2lzQmFzZVBlcmlvZEVtcGxveWVyIGlzID0gJywgdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcik7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2lzTmV3Q2xhaW0gPSAnLCB0aGlzLmlzTmV3Q2xhaW0pO1xuICAgIHRoaXMuY3VycmVudFN0YXRlID0gdGhpcy51dGlsLmdldFN0YXRlKCk7XG4gICAgdGhpcy5pc0NTUiA9IHRoaXMubHMuaXNDc3IoKTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIkN1cnJlbnQgU3RhdGUgPSBcIiwgdGhpcy5jdXJyZW50U3RhdGUpO1xuICAgIGxldCBlc206IENsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWw7XG4gICAgbGV0IHF0cldhZ2VMaXN0OiBRdHJZZWFyRW1wbG95ZXJXYWdlTW9kZWxbXTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcImNhbGwgc2VydmljZSA9XCIsIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkpO1xuICAgIGlmICh0aGlzLnJlY29yZEluZGV4VG9FZGl0ID09IHVuZGVmaW5lZCB8fCB0aGlzLnJlY29yZEluZGV4VG9FZGl0ID09IG51bGwpIHtcbiAgICAgIGVzbSA9IG5ldyBDbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsKCk7XG4gICAgICBxdHJXYWdlTGlzdD1bXSA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCk/LnF0clllYXJXYWdlTGlzdEdlbmVyaWM7ICAgICAgXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdyZWNvcmRJbmRleFRvRWRpdCcsIHRoaXMucmVjb3JkSW5kZXhUb0VkaXQpXG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygndGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKScsIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkpO1xuXG4gICAgICBlc20gPSB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpLmJwRW1wTGlzdFt0aGlzLnJlY29yZEluZGV4VG9FZGl0XTtcbiAgICAgIHF0cldhZ2VMaXN0PWVzbS53YWdlQW1vdW50QXJyYXk7XG4gICAgICB0aGlzLmN1c3RvbWVyTmFtZSA9IGVzbS5lbXBsb3llckRhdGEuZGlzcGxheU5hbWU7XG4gICAgICBpZihlc20uZW1wbG95ZXJEYXRhLnRyYWRlTmFtZSl7XG4gICAgICAgIHRoaXMuYWxpYXNOYW1lID0gZXNtLmVtcGxveWVyRGF0YS50cmFkZU5hbWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFsaWFzTmFtZSA9IG51bGw7XG4gICAgICB9XG4gICAgICBpZihlc20ub3NhQnBFbXBsb3llckZsYWcpe1xuICAgICAgICB0aGlzLmlzT3NhRW1wbG95ZXIgPSBlc20ub3NhQnBFbXBsb3llckZsYWc7XG4gICAgICB9XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcImlzT3NhRW1wbG95ZXIgPT09PT09PSBcIiAsIHRoaXMuaXNPc2FFbXBsb3llcik7XG4gICAgICB0aGlzLm1haWxpbmdBZGRyZXNzRGlzcGxheSA9IGVzbS5lbXBsb3llckRhdGEubWFpbGluZ0FkZHJlc3NEaXNwbGF5O1xuICAgICAgdGhpcy5zY2hvb2xGbGFnID0gZXNtLmVtcGxveWVyRGF0YS5zY2hvb2xGbGFnO1xuICAgICAgaWYodGhpcy5pc0NTUiA9PT0gdHJ1ZSAmJiBlc20uZW1wbG95ZXJQcm92aWRlZFdhZ2VzICYmIGVzbS5lbXBsb3llclByb3ZpZGVkV2FnZXMud2FnZXNMaXN0UXRyV2lzZSl7XG4gICAgICAgIHRoaXMuZW1wbG95ZXJQcm92aWRlZFdhZ2VzID0gZXNtLmVtcGxveWVyUHJvdmlkZWRXYWdlcy53YWdlc0xpc3RRdHJXaXNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuYmFzZVBlcmlvZFN0YXJ0RGF0ZSA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkuYmFzZVBlcmlvZFN0YXJ0RGF0ZTtcbiAgICB0aGlzLmJhc2VQZXJpb2RFbmREYXRlID0gdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKS5iYXNlUGVyaW9kRW5kRGF0ZTtcbiAgICB0aGlzLmJwU3RhcnREYXRlVG9EaXNwbGF5ID0gdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKS5icFN0YXJ0RGF0ZVRvRGlzcGxheTtcblxuICAgIHRoaXMuY2xhaW1zU2VydmljZS5sb2FkTWFzdGVyRGF0YSgpO1xuXG4gICAgdGhpcy5hZGRFbXBsb3llckZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICdlbXBsb3llclR5cGUnOiBbZXNtLmVtcGxveWVyVHlwZSAhPSBudWxsID8gZXNtLmVtcGxveWVyVHlwZSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpKV0sXG4gICAgICAnZW1wbG95ZXJOYW1lJzogW2VzbS5lbXBsb3llck5hbWUgIT0gbnVsbCA/IGVzbS5lbXBsb3llck5hbWUgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJykpXSxcbiAgICAgICdmZWRFbXBsb3llck5hbWUnOiBbZXNtLmZlZEVtcGxveWVyTmFtZSAhPSBudWxsID8gZXNtLmZlZEVtcGxveWVyTmFtZSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnKSldLFxuICAgICAgJ2VtcGxveWVyVGVsZXBob25lTnVtYmVyJzogW2VzbS5lbXBsb3llclRlbGVwaG9uZU51bWJlciAhPSBudWxsID8gZXNtLmVtcGxveWVyVGVsZXBob25lTnVtYmVyIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICgoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnKSldLFxuICAgICAgJ2VuZERhdGUnOiBbZXNtLmVuZERhdGUgIT0gbnVsbCA/IGVzbS5lbmREYXRlIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICgoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnKSldLFxuICAgICAgJ3N0YXJ0RGF0ZSc6IFtlc20uc3RhcnREYXRlICE9IG51bGwgPyBlc20uc3RhcnREYXRlIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICgoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnKSldLFxuICAgICAgJ2pvYlRpbGVPclBvc2l0aW9uJzogW2VzbS5qb2JUaWxlT3JQb3NpdGlvbiAhPSBudWxsID8gZXNtLmpvYlRpbGVPclBvc2l0aW9uIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycpXSxcbiAgICAgICdyZWFzb25TZXBhcmF0aW9uJzogW2VzbS5yZWFzb25TZXBhcmF0aW9uICE9IG51bGwgPyBlc20ucmVhc29uU2VwYXJhdGlvbiA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgfHwgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnKSldLFxuICAgICAgJ2Rpc2NoYXJnZURldGFpbCc6IFtlc20uZGlzY2hhcmdlRGV0YWlsICE9IG51bGwgPyBlc20uZGlzY2hhcmdlRGV0YWlsIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICgoKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgKCF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSkgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUhPSdNSUwnICYmIHRoaXMucmVhc29uU2VwYXJhdGlvbi52YWx1ZSAmJiB0aGlzLnJlYXNvblNlcGFyYXRpb24udmFsdWUudmFsdWUgPT09ICdEQ0ZJJykpKV0sXG4gICAgICAndm9sUXVpdERldGFpbHMnOiBbZXNtLnZvbFF1aXREZXRhaWxzICE9IG51bGwgPyBlc20udm9sUXVpdERldGFpbHMgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCgoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAoIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSE9J01JTCcgJiYgdGhpcy5yZWFzb25TZXBhcmF0aW9uLnZhbHVlICYmIHRoaXMucmVhc29uU2VwYXJhdGlvbi52YWx1ZS52YWx1ZSA9PT0gJ1ZPTFEnKSkpXSxcbiAgICAgICdwYXlSYXRlJzogW2VzbS5wYXlSYXRlICE9IG51bGwgPyBlc20ucGF5UmF0ZSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnKV0sXG4gICAgICAncGF5UmF0ZUZyZXF1ZW5jeSc6IFtlc20ucGF5UmF0ZUZyZXF1ZW5jeSAhPSBudWxsID8gZXNtLnBheVJhdGVGcmVxdWVuY3kgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycpKV0sXG4gICAgICAncGVuc2lvbkZsYWcnOiBbZXNtLnBlbnNpb25GbGFnICE9IG51bGwgPyBlc20ucGVuc2lvbkZsYWcgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJykpXSxcbiAgICAgICdwZW5zaW9uUmVjdkRhdGUnOiBbZXNtLnBlbnNpb25SZWN2RGF0ZSAhPSBudWxsID8gZXNtLnBlbnNpb25SZWN2RGF0ZSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICYmIHRoaXMucGVuc2lvbkZsYWcudmFsdWUgPT09ICdZJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSAhPSAnTUUnKSldLFxuICAgICAgJ3JlZ1BlbnNpb25GbGFnJzogW2VzbS5yZWdQZW5zaW9uRmxhZyAhPSBudWxsID8gZXNtLnJlZ1BlbnNpb25GbGFnIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICghdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycpKV0sXG4gICAgICAncmVnUGVuc2lvblJlY3ZEYXRlJzpbZXNtLnJlZ1BlbnNpb25SZWN2RGF0ZSAhPSBudWxsID8gZXNtLnJlZ1BlbnNpb25SZWN2RGF0ZTogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICghdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy5yZWdQZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knKSldLCAgICAgIFxuICAgICAgJ2lzQ2xtdFBhaWRXaGlsZUxvdyc6IFtlc20uaXNDbG10UGFpZFdoaWxlTG93ICE9IG51bGwgPyBlc20uaXNDbG10UGFpZFdoaWxlTG93IDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycpXSxcbiAgICAgICdoYXNTaG9ydFRlcm1EaXNhYmlsaXR5JzogW2VzbS5oYXNTaG9ydFRlcm1EaXNhYmlsaXR5ICE9IG51bGwgPyBlc20uaGFzU2hvcnRUZXJtRGlzYWJpbGl0eSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICYmIHRoaXMuY3VycmVudFN0YXRlID09PSAnTUUnKV0sXG4gICAgICAnaGFzUmVjdlJlbXVuZXJhdGlvbic6IFtlc20uaGFzUmVjdlJlbXVuZXJhdGlvbiAhPSBudWxsID8gZXNtLmhhc1JlY3ZSZW11bmVyYXRpb24gOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ01FJyldLFxuICAgICAgJ3JlbXVuZXJhdGlvblR5cGVzJzogW2VzbS5yZW11bmVyYXRpb25UeXBlcyAhPSBudWxsID8gZXNtLnJlbXVuZXJhdGlvblR5cGVzIDogbnVsbF0sXG4gICAgICAndmFjYXRpb24nOiBbZXNtLnZhY2F0aW9uICE9IG51bGwgPyBlc20udmFjYXRpb24gOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJyAmJiB0aGlzLnNjaG9vbEZsYWcgPT09JzEnKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICYmIHRoaXMuY3VycmVudFN0YXRlID09PSAnTUUnKV0sXG4gICAgICBcbiAgICAgICdncm9zc1dhZ2VzJzogW2VzbS5ncm9zc1dhZ2VzICE9IG51bGwgPyBlc20uZ3Jvc3NXYWdlcyA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcildLFxuICAgICAgLy8ncGFpZEJ5JzogW2VzbS5wYWlkQnkgIT0gbnVsbCA/IGVzbS5wYWlkQnkgOiBudWxsLEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5pc0NsbXRQYWlkV2hpbGVMb3cudmFsdWU9PT0nWScpKV0sXG4gICAgICAncGF5bWVudFR5cGUnOiBbZXNtLnBheW1lbnRUeXBlICE9IG51bGwgPyBlc20ucGF5bWVudFR5cGUgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSldLFxuICAgICAgJ2RvY3NSZWNlaXZlZCc6IFtlc20uZG9jc1JlY2VpdmVkICE9IG51bGwgPyBlc20uZG9jc1JlY2VpdmVkIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikpXSxcbiAgICAgICdvdGhlclNTTkZsYWcnOiBbZXNtLm90aGVyU1NORmxhZyAhPSBudWxsID8gZXNtLm90aGVyU1NORmxhZyA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpKV0sXG4gICAgICAnb3RoZXJTU04nOiBbZXNtLm90aGVyU1NOICE9IG51bGwgPyBlc20ub3RoZXJTU04gOiBudWxsICwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICghdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiB0aGlzLm90aGVyU1NORmxhZy52YWx1ZSA9PT0gJ1knKSldLFxuICAgICAgJ290aGVyTmFtZUZsYWcnOiBbZXNtLm90aGVyTmFtZUZsYWcgIT0gbnVsbCA/IGVzbS5vdGhlck5hbWVGbGFnIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikpXSxcbiAgICAgICdvdGhlck5hbWUnOiBbZXNtLm90aGVyTmFtZSAhPSBudWxsID8gZXNtLm90aGVyTmFtZSA6IG51bGwgLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmIHRoaXMub3RoZXJOYW1lRmxhZy52YWx1ZSA9PT0gJ1knKSldLFxuICAgICAgLy8nZG9pbmdCdXNpbmVzc0FzJzogW2VzbS5kb2luZ0J1c2luZXNzQXMgIT0gbnVsbCA/IGVzbS5kb2luZ0J1c2luZXNzQXMgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgICYmIHRoaXMud29ya1N0YXRlLnZhbHVlICYmIHRoaXMud29ya1N0YXRlLnZhbHVlLnZhbHVlPT09J01TJykpXSxcbiAgICAgICd3b3JrU3RhdGUnOiBbZXNtLndvcmtTdGF0ZSAhPSBudWxsID8gZXNtLndvcmtTdGF0ZSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnKSldLFxuICAgICAgJ3dvcmtDaXR5JzogW2VzbS53b3JrQ2l0eSAhPSBudWxsID8gZXNtLndvcmtDaXR5IDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICghdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycpKV0sXG4gICAgICAvLydudW1iZXJFbXBsb3llZCc6IFtlc20ubnVtYmVyRW1wbG95ZWQgIT0gbnVsbCA/IGVzbS5udW1iZXJFbXBsb3llZCA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikpXSxcbiAgICAgICd3b3JrVHlwZSc6IFtlc20ud29ya1R5cGUgIT0gbnVsbCA/IGVzbS53b3JrVHlwZSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpKV0sXG4gICAgIC8vICdmZWluJzogW2VzbS5mZWluICE9IG51bGwgPyBlc20uZmVpbiA6IG51bGxdLFxuICAgICAvLyAnaGlyZWRCeSc6IFtlc20uaGlyZWRCeSAhPSBudWxsID8gZXNtLmhpcmVkQnkgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgICYmIHRoaXMud29ya1N0YXRlLnZhbHVlICYmIHRoaXMud29ya1N0YXRlLnZhbHVlLnZhbHVlPT09J01TJykpXSxcbiAgICAgIC8vJ2J1c2luZXNzT3duZXInOiBbZXNtLmJ1c2luZXNzT3duZXIgIT0gbnVsbCA/IGVzbS5idXNpbmVzc093bmVyIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICAmJiB0aGlzLndvcmtTdGF0ZS52YWx1ZSAmJiB0aGlzLndvcmtTdGF0ZS52YWx1ZS52YWx1ZT09PSdNUycpKV0sXG4gICAgICAnYnVzaW5lc3NOYXR1cmUnOiBbZXNtLmJ1c2luZXNzTmF0dXJlICE9IG51bGwgPyBlc20uYnVzaW5lc3NOYXR1cmUgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikpXSxcbiAgICAgICd3b3JrRmxhZyc6IFtlc20ud29ya0ZsYWcgIT0gbnVsbCA/IGVzbS53b3JrRmxhZyA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKV0sXG4gICAgICAvLydxdWl0cmVhc29uJzogW2VzbS5xdWl0cmVhc29uICE9IG51bGwgPyBlc20ucXVpdHJlYXNvbiA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoKCgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICghdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikpICYmIHRoaXMucmVhc29uU2VwYXJhdGlvbi52YWx1ZSAmJiB0aGlzLnJlYXNvblNlcGFyYXRpb24udmFsdWUudmFsdWUgPT09ICdWT0xRJykpKV0sXG4gICAgICAnZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMnOiBbZXNtLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzICE9IG51bGwgPyBlc20uZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMgOiBudWxsXSxcbiAgICAgICdmaWNEZXN0aW5hdGlvbkNvZGUnOiBbZXNtLmZpY0Rlc3RpbmF0aW9uQ29kZSAhPSBudWxsID8gZXNtLmZpY0Rlc3RpbmF0aW9uQ29kZSA6IG51bGxdLFxuICAgICAgJ2ZpY0NvZGUnOiBbZXNtLmZpY0NvZGUgIT0gbnVsbCA/IGVzbS5maWNDb2RlIDogbnVsbF0sXG4gICAgICAnZmljRGVzdGluYXRpb25OYW1lJzogW2VzbS5maWNEZXN0aW5hdGlvbk5hbWUgIT0gbnVsbCA/IGVzbS5maWNEZXN0aW5hdGlvbk5hbWUgOiBudWxsXSxcbiAgICAgICdmaWNEZXN0aW5hdGlvbklkJzogW2VzbS5maWNEZXN0aW5hdGlvbklkICE9IG51bGwgPyBlc20uZmljRGVzdGluYXRpb25JZCA6IG51bGxdLFxuICAgICAgJ3NmRWlnaHRmbGFnJzogW2VzbS5zZkVpZ2h0ZmxhZyAhPSBudWxsID8gZXNtLnNmRWlnaHRmbGFnIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcpKV0sXG4gICAgICAnZmVkV29ya0NpdHknOiBbZXNtLmZlZFdvcmtDaXR5ICE9IG51bGwgPyBlc20uZmVkV29ya0NpdHkgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJykpXSxcbiAgICAgICdmZWRXb3JrU3RhdGUnOiBbZXNtLmZlZFdvcmtTdGF0ZSAhPSBudWxsID8gZXNtLmZlZFdvcmtTdGF0ZSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnKSldLFxuICAgICAgJ2ZlZFdvcmtDb3VudHJ5JzogW2VzbS5mZWRXb3JrQ291bnRyeSAhPSBudWxsID8gZXNtLmZlZFdvcmtDb3VudHJ5IDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcpKV0sXG4gICAgICAnc3RhcnREYXRlRmVkJzogW2VzbS5zdGFydERhdGVGZWQgIT0gbnVsbCA/IGVzbS5zdGFydERhdGVGZWQgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJykpXSxcbiAgICAgICdlbmREYXRlRmVkJzogW2VzbS5lbmREYXRlRmVkICE9IG51bGwgPyBlc20uZW5kRGF0ZUZlZCA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnKSldLFxuICAgICAgJ2ZlZEpvYlRpbGVPclBvc2l0aW9uJzogW2VzbS5mZWRKb2JUaWxlT3JQb3NpdGlvbiAhPSBudWxsID8gZXNtLmZlZEpvYlRpbGVPclBvc2l0aW9uIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcpKV0sXG4gICAgICAvLydjbGFpbWFudEVtcGxveWVkV2l0aEVtcHInOiBbZXNtLmNsYWltYW50RW1wbG95ZWRXaXRoRW1wciAhPSBudWxsID8gZXNtLmNsYWltYW50RW1wbG95ZWRXaXRoRW1wciA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnKSldLFxuICAgICAgJ3BlcmZvcm1lZFNlcnZpY2UnOiBbZXNtLnBlcmZvcm1lZFNlcnZpY2UgIT0gbnVsbCA/IGVzbS5wZXJmb3JtZWRTZXJ2aWNlIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcpKV0sXG4gICAgICAnZmVkUGVuc2lvbkZsYWcnOiBbZXNtLmZlZFBlbnNpb25GbGFnICE9IG51bGwgPyBlc20uZmVkUGVuc2lvbkZsYWcgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJykpXSxcbiAgICAgICdmZWRQZW5zaW9uUmVjdkRhdGUnOltlc20uZmVkUGVuc2lvblJlY3ZEYXRlICE9IG51bGwgPyBlc20uZmVkUGVuc2lvblJlY3ZEYXRlOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLmZlZFBlbnNpb25GbGFnLnZhbHVlID09PSAnWScgICYmIHRoaXMuY3VycmVudFN0YXRlICE9ICdNRScpKV0sXG4gICAgICAnc2V2UGF5RmxhZyc6IFtlc20uc2V2UGF5RmxhZyAhPSBudWxsID8gZXNtLnNldlBheUZsYWcgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ01FJykpXSxcbiAgICAgICd3ZWVrbHlBbW91bnQnOiBbZXNtLnNldlBheUZsYWcgIT0gbnVsbCA/IGVzbS53ZWVrbHlBbW91bnQgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLnNldlBheUZsYWcudmFsdWUgPT09ICdZJykpXSxcbiAgICAgICdudW1iZXJPZldlZWtzJzogW2VzbS5zZXZQYXlGbGFnICE9IG51bGwgPyBlc20ubnVtYmVyT2ZXZWVrcyA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnICYmIHRoaXMuc2V2UGF5RmxhZy52YWx1ZSA9PT0gJ1knKSldLFxuICAgICAgJ3NldlBheUFtb3VudCc6IFtlc20uc2V2UGF5RmxhZyAhPSBudWxsID8gZXNtLnNldlBheUFtb3VudCA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnICYmIHRoaXMuc2V2UGF5RmxhZy52YWx1ZSA9PT0gJ1knKSldLFxuICAgICAgJ3NldlBheVN0YXJ0RGF0ZSc6IFtlc20uc2V2UGF5U3RhcnREYXRlICE9IG51bGwgPyBlc20uc2V2UGF5U3RhcnREYXRlIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcgJiYgdGhpcy5zZXZQYXlGbGFnLnZhbHVlID09PSAnWScpKV0sXG4gICAgICAnc2V2UGF5RW5kRGF0ZSc6IFtlc20uc2V2UGF5RW5kRGF0ZSAhPSBudWxsID8gZXNtLnNldlBheUVuZERhdGUgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLnNldlBheUZsYWcudmFsdWUgPT09ICdZJykpXSxcbiAgICAgICdzZXZQYXlQYXltZW50U3RhcnREYXRlJzogW2VzbS5zZXZQYXlQYXltZW50U3RhcnREYXRlICE9IG51bGwgPyBlc20uc2V2UGF5UGF5bWVudFN0YXJ0RGF0ZSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnICYmIHRoaXMuc2V2UGF5RmxhZy52YWx1ZSA9PT0gJ1knKSldLFxuICAgICAgJ3JlZ0VtcGxveWVyRm91bmQnOiBbZXNtLnJlZ0VtcGxveWVyRm91bmQgIT0gbnVsbCA/IGVzbS5yZWdFbXBsb3llckZvdW5kIDogbnVsbF0sXG4gICAgICAnZW1wbG95ZXJJZCc6IFtlc20uZW1wbG95ZXJJZCAhPSBudWxsID8gZXNtLmVtcGxveWVySWQgOiBudWxsXSxcbiAgICAgICdzZXJ2aWNlQnJhbmNoJzogW2VzbS5zZXJ2aWNlQnJhbmNoICE9IG51bGwgPyBlc20uc2VydmljZUJyYW5jaCA6IG51bGxdLFxuICAgICAgJ3N0YXJ0RGF0ZU1pbCc6IFtlc20uc3RhcnREYXRlTWlsICE9IG51bGwgPyBlc20uc3RhcnREYXRlTWlsIDogbnVsbF0sXG4gICAgICAnZW5kRGF0ZU1pbCc6IFtlc20uZW5kRGF0ZU1pbCAhPSBudWxsID8gZXNtLmVuZERhdGVNaWwgOiBudWxsXSxcbiAgICAgICdkZDIxNEZsYWcnOiBbZXNtLmRkMjE0RmxhZyAhPSBudWxsID8gZXNtLmRkMjE0RmxhZyA6IG51bGxdLFxuICAgICAgJ2xhc3RQYXlHcmFkZSc6IFtlc20ubGFzdFBheUdyYWRlICE9IG51bGwgPyBlc20ubGFzdFBheUdyYWRlIDogbnVsbF0sXG4gICAgICAnbGFzdGR1dHknOiBbZXNtLmxhc3RkdXR5ICE9IG51bGwgPyBlc20ubGFzdGR1dHkgOiBudWxsXSxcbiAgICAgICdwbGFjZVNlcGFyYXRlZCc6IFtlc20ucGxhY2VTZXBhcmF0ZWQgIT0gbnVsbCA/IGVzbS5wbGFjZVNlcGFyYXRlZCA6IG51bGxdLFxuICAgICAgJ25vTGVhdmVEYXlzJzogW2VzbS5ub0xlYXZlRGF5cyAhPSBudWxsID8gZXNtLm5vTGVhdmVEYXlzIDogbnVsbF0sXG4gICAgICAnY29tcGxldGVkRnVsbFRlcm1GbGFnJzogW2VzbS5jb21wbGV0ZWRGdWxsVGVybUZsYWcgIT0gbnVsbCA/IGVzbS5jb21wbGV0ZWRGdWxsVGVybUZsYWcgOiBudWxsXSxcbiAgICAgICdyZXNlcnZlT3JHdWFyZEZsYWcnOiBbZXNtLnJlc2VydmVPckd1YXJkRmxhZyAhPSBudWxsID8gZXNtLnJlc2VydmVPckd1YXJkRmxhZyA6IG51bGxdLFxuICAgICAgJ21pbFBlbnNpb25GbGFnJzogW2VzbS5taWxQZW5zaW9uRmxhZyAhPSBudWxsID8gZXNtLm1pbFBlbnNpb25GbGFnIDogbnVsbF0sXG4gICAgICAnbWlsUGVuc2lvblJlY3ZEYXRlJzpbZXNtLm1pbFBlbnNpb25SZWN2RGF0ZSAhPSBudWxsID8gZXNtLm1pbFBlbnNpb25SZWN2RGF0ZSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdNSUwnICYmIHRoaXMubWlsUGVuc2lvbkZsYWcudmFsdWUgPT09ICdZJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSAhPSAnTUUnKSldLFxuICAgICAgJ2FkZHJlc3NMaW5lMSc6IFtlc20uYWRkcmVzc0xpbmUxICE9IG51bGwgPyBlc20uYWRkcmVzc0xpbmUxIDogbnVsbF0sXG4gICAgICAnYWRkcmVzc0xpbmUyJzogW2VzbS5hZGRyZXNzTGluZTIgIT0gbnVsbCA/IGVzbS5hZGRyZXNzTGluZTIgOiBudWxsXSxcbiAgICAgICdhZGRyZXNzTGluZTMnOiBbZXNtLmFkZHJlc3NMaW5lMyAhPSBudWxsID8gZXNtLmFkZHJlc3NMaW5lMyA6IG51bGxdLFxuICAgICAgJ3Jlc2VydmVCcmFuY2gnOltlc20ucmVzZXJ2ZUJyYW5jaCAhPSBudWxsID8gZXNtLnJlc2VydmVCcmFuY2ggOiBudWxsXSxcbiAgICAgICdzdGFydERhdGVSZXNlcnZlJzpbZXNtLnN0YXJ0RGF0ZVJlc2VydmUgIT0gbnVsbCA/IGVzbS5zdGFydERhdGVSZXNlcnZlIDogbnVsbF0sXG4gICAgICAnZW5kRGF0ZVJlc2VydmUnOltlc20uZW5kRGF0ZVJlc2VydmUgIT0gbnVsbCA/IGVzbS5lbmREYXRlUmVzZXJ2ZSA6IG51bGxdLFxuICAgICAgJ2RkMjE0RmlsZSc6W2VzbS5kZDIxNEZpbGUgIT0gbnVsbCA/IGVzbS5kZDIxNEZpbGUgOiBudWxsXSxcbiAgICAgICdhZGRyZXNzJzpbZXNtLmFkZHJlc3MgIT0gbnVsbCA/IGVzbS5hZGRyZXNzIDogbnVsbF0sXG4gICAgICB3YWdlQW1vdW50QXJyYXk6IHRoaXMuZm9ybUJ1aWxkZXIuYXJyYXkoW10pLFxuICAgICAgdGVzdEVtcCA6IFtlc20uZW1wbG95ZXJQcm92aWRlZFdhZ2VzICYmIGVzbS5lbXBsb3llclByb3ZpZGVkV2FnZXMud2FnZXNMaXN0UXRyV2lzZSAhPSBudWxsID8gZXNtLmVtcGxveWVyUHJvdmlkZWRXYWdlcy53YWdlc0xpc3RRdHJXaXNlIDogbnVsbF0sXG4gICAgICAnb3NhQnBFbXBsb3llckZsYWcnOltlc20ub3NhQnBFbXBsb3llckZsYWcgIT1udWxsID8gZXNtLm9zYUJwRW1wbG95ZXJGbGFnIDogXCIwXCJdXG4gICAgfSk7XG4gICAgXG4gICAgaWYgKHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlKSB7XG4gICAgICBpZiAocXRyV2FnZUxpc3QpIHtcbiAgICAgICAgZm9yICh2YXIgcXRyV2FnZSBvZiBxdHJXYWdlTGlzdCkge1xuICAgICAgICAgIHRoaXMud2FnZUFtb3VudEFycmF5LnB1c2godGhpcy53YWdlQXJyYXkocXRyV2FnZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcblxuICAgIHRoaXMuc2V0UmVxdWlyZWRWYWxpZGF0aW9uKCk7IFxuICAgIFxuICAgIGxldCBlbXBTdGF0ID0gdGhpcy5lbXBsb3ltZW50U3RhdHVzT3B0aW9uc0FsbC5maWx0ZXIoc3RhdCA9PiBzdGF0LnZhbHVlID09IGVzbS5yZWFzb25TZXBhcmF0aW9uPy52YWx1ZSlbMF07XG4gICAgdGhpcy5yZWFzb25TZXBhcmF0aW9uLnNldFZhbHVlKGVtcFN0YXQpO1xuICB9XG5cbiAgbG9hZE1hc3RlckRhdGEoKXtcblxuICAgIHRoaXMuY2xhaW1zU2VydmljZS5nZXRSZWFzb25TZXBhcmF0aW9uKCkuc3Vic2NyaWJlKFxuICAgICAgdmFsdWUgPT4ge1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKGFyciA9PiAgdGhpcy5lbXBsb3ltZW50U3RhdHVzT3B0aW9uc0FsbC5wdXNoKGFycikpO1xuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLmNsYWltc1NlcnZpY2UuZ2V0RGlzY2hhcmdlUmVhc29ucygpLnN1YnNjcmliZShcbiAgICAgIHZhbHVlID0+IHtcbiAgICAgICAgdmFsdWUuZm9yRWFjaChhcnIgPT4gIHRoaXMuZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbC5wdXNoKGFycikpO1xuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLmNsYWltc1NlcnZpY2UuZ2V0UXVpdFJlYXNvbnMoKS5zdWJzY3JpYmUoXG4gICAgICB2YWx1ZSA9PiB7XG4gICAgICAgIHZhbHVlLmZvckVhY2goYXJyID0+ICB0aGlzLnZvbFF1aXRSZWFzb25PcHRpb25zQWxsLnB1c2goYXJyKSk7XG4gICAgICB9XG4gICAgKTtcblxuICBpZih0aGlzLmVtcGxveW1lbnRTdGF0dXNPcHRpb25zIT0gbnVsbClcbiAgICAgIHJldHVybiB0cnVlXG4gIH1cblxuICB3YWdlQXJyYXkocXRyV2FnZTpRdHJZZWFyRW1wbG95ZXJXYWdlTW9kZWwpOiBVbnR5cGVkRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICB3YWdlQW1vdW50OiBbcXRyV2FnZS53YWdlQW1vdW50IT1udWxsP3F0cldhZ2Uud2FnZUFtb3VudDpudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCgodGhpcy5lbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJykgfHwgKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgcXRyV2FnZS5kaXNwbGF5Rm9yQWxsICYmIHRoaXMud29ya1N0YXRlLnZhbHVlICYmIHRoaXMud29ya1N0YXRlLnZhbHVlLnZhbHVlPT09dGhpcy5jdXJyZW50U3RhdGUpICkpKV0sXG4gICAgICBxdWFydGVyOiBbcXRyV2FnZS5xdWFydGVyIT1udWxsP3F0cldhZ2UucXVhcnRlcjpudWxsXSxcbiAgICAgIHllYXI6IFtxdHJXYWdlLnllYXIhPW51bGw/cXRyV2FnZS55ZWFyOm51bGxdLFxuICAgICAgcXRyWWVhckRpc3BsYXlTdHJpbmc6IFtxdHJXYWdlLnF0clllYXJEaXNwbGF5U3RyaW5nIT1udWxsP3F0cldhZ2UucXRyWWVhckRpc3BsYXlTdHJpbmc6bnVsbF0sXG4gICAgICBkaXNwbGF5T3JkZXI6IFtxdHJXYWdlLmRpc3BsYXlPcmRlciE9bnVsbD9xdHJXYWdlLmRpc3BsYXlPcmRlcjpudWxsXSxcbiAgICAgIGRpc3BsYXlGb3JBbGw6IFtxdHJXYWdlLmRpc3BsYXlGb3JBbGwhPW51bGw/cXRyV2FnZS5kaXNwbGF5Rm9yQWxsOm51bGxdLFxuICAgIH0pXG4gfVxuXG4gIGdldCB3YWdlQW1vdW50QXJyYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzW1wid2FnZUFtb3VudEFycmF5XCJdIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gIH1cblxuICBnZXQgdGVzdEVtcCgpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1tcInRlc3RFbXBcIl0gO1xuICB9XG4gIHNldFJlcXVpcmVkVmFsaWRhdGlvbigpIHtcbiAgICB0aGlzLnNldlBheUZsYWcudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgaWYodmFsPT09J1knICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLnNldlBheUZsYWcudmFsdWUgPT09ICdZJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ01FJyl7XG4gICAgICAgIHRoaXMuc2V0VmFsaWRhdGlvbk9uU2VydkZpZWxkcygpO1xuICAgICAgfWVsc2V7XG4gICAgICAgIHRoaXMucmVtb3ZlVmFsaWRhdGlvbk9uU2VydkZpZWxkcygpO1xuICAgICAgfVxuICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMud29ya1N0YXRlLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgIGlmKHZhbCAmJiB2YWwudmFsdWU9PT10aGlzLmN1cnJlbnRTdGF0ZSAmJiB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKXtcbiAgICAgICAgdGhpcy5zZXRWYWxpZGF0aW9uT25WZXJpZmljYXRpb25PZldhZ2VzRmllbGRzKCk7XG4gICAgICB9ZWxzZXtcbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGF0aW9uT25WZXJpZmljYXRpb25PZldhZ2VzRmllbGRzKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmZlZFdvcmtDb3VudHJ5LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgIGlmICh2YWwgJiYgdmFsLnZhbHVlID09PSAnVVMnIHx8IHZhbCAmJiB2YWwudmFsdWUgPT09ICdDQScgKSB7XG4gICAgICAgIHRoaXMuc2hvd1dvcmtTdGF0ZSA9IHRydWU7IFxuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5mZWRXb3JrU3RhdGUpO1xuICAgICAgICAgIFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zaG93V29ya1N0YXRlID0gZmFsc2U7IFxuICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZmVkV29ya1N0YXRlKTtcbiAgICAgICAgdGhpcy5mZWRXb3JrU3RhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgICB9XG4gICAgICBpZih2YWwgJiYgdmFsLnZhbHVlID09PSAnVVMnICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKXtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZmVkV29ya1N0YXRlKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZmVkV29ya1N0YXRlKTtcbiAgICAgICAgdGhpcy5mZWRXb3JrU3RhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmVuZERhdGUudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSAodmFsID0+IHtcbiAgICAgIGlmKHRoaXMud29ya1N0YXRlLnZhbHVlPy52YWx1ZSA9PSB0aGlzLmN1cnJlbnRTdGF0ZSAmJiB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSB7XG4gICAgICAgIHRoaXMuc2V0VmFsaWRhdGlvbk9uVmVyaWZpY2F0aW9uT2ZXYWdlc0ZpZWxkcygpO1xuICAgICAgfWVsc2V7XG4gICAgICAgIHRoaXMucmVtb3ZlVmFsaWRhdGlvbk9uVmVyaWZpY2F0aW9uT2ZXYWdlc0ZpZWxkcygpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5yZWFzb25TZXBhcmF0aW9uLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgIGlmKHZhbCkge1xuICAgICAgICBpZih2YWwudmFsdWUgPT09ICdEQ0ZJJyl7XG4gICAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZGlzY2hhcmdlRGV0YWlsKTtcbiAgICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMudm9sUXVpdERldGFpbHMpO1xuICAgICAgICAgIHRoaXMudm9sUXVpdERldGFpbHMuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgIH0gZWxzZSBpZih0aGlzLnJlYXNvblNlcGFyYXRpb24udmFsdWUudmFsdWUgPT09ICdWT0xRJyl7XG4gICAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMudm9sUXVpdERldGFpbHMpO1xuICAgICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5kaXNjaGFyZ2VEZXRhaWwpO1xuICAgICAgICAgIHRoaXMuZGlzY2hhcmdlRGV0YWlsLnNldFZhbHVlKG51bGwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5kaXNjaGFyZ2VEZXRhaWwpO1xuICAgICAgICAgIHRoaXMuZGlzY2hhcmdlRGV0YWlsLnNldFZhbHVlKG51bGwpO1xuICAgICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy52b2xRdWl0RGV0YWlscyk7XG4gICAgICAgICAgdGhpcy52b2xRdWl0RGV0YWlscy5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5wZW5zaW9uRmxhZy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICBpZih2YWw9PT0nWScgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJyAmJiB0aGlzLnBlbnNpb25GbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5jdXJyZW50U3RhdGUgIT0gJ01FJyl7XG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnBlbnNpb25SZWN2RGF0ZSk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgdGhpcy5wZW5zaW9uUmVjdkRhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5wZW5zaW9uUmVjdkRhdGUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5mZWRQZW5zaW9uRmxhZy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICBpZih2YWw9PT0nWScgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnICYmIHRoaXMuZmVkUGVuc2lvbkZsYWcudmFsdWUgPT09ICdZJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSAhPSAnTUUnICl7XG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmZlZFBlbnNpb25SZWN2RGF0ZSk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgdGhpcy5mZWRQZW5zaW9uUmVjdkRhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5mZWRQZW5zaW9uUmVjdkRhdGUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5yZWdQZW5zaW9uRmxhZy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICBpZih2YWw9PT0nWScgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICAmJiB0aGlzLnJlZ1BlbnNpb25GbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5jdXJyZW50U3RhdGUgIT0gJ01FJyl7XG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnJlZ1BlbnNpb25SZWN2RGF0ZSk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgdGhpcy5yZWdQZW5zaW9uUmVjdkRhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5yZWdQZW5zaW9uUmVjdkRhdGUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5taWxQZW5zaW9uRmxhZy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICBpZih2YWw9PT0nWScgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdNSUwnICYmIHRoaXMubWlsUGVuc2lvbkZsYWcudmFsdWUgPT09ICdZJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSAhPSAnTUUnICl7XG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLm1pbFBlbnNpb25SZWN2RGF0ZSk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgdGhpcy5taWxQZW5zaW9uUmVjdkRhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5taWxQZW5zaW9uUmVjdkRhdGUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5oYXNSZWN2UmVtdW5lcmF0aW9uLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgIGlmKHZhbD09PSdZJyAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy5oYXNSZWN2UmVtdW5lcmF0aW9uLnZhbHVlID09PSAnWScgJiYgdGhpcy5jdXJyZW50U3RhdGUgPT09ICdNRScgJiYgdGhpcy5pc09zYUVtcGxveWVyID09PSAnMCcpe1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5yZW11bmVyYXRpb25UeXBlcyk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW11bmVyYXRpb25UeXBlcy5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnJlbXVuZXJhdGlvblR5cGVzKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgIGlmICh2YWwgPT09ICdGRUQnKSB7XG4gICAgICAgIHRoaXMuc2V0VmFsaWRhdGlvbk9uRmVkZXJhbEZpZWxkcygpO1xuICAgICAgICB0aGlzLnJlbW92ZVZhbGlkYXRpb25PblJlZ3VsYXJGaWVsZHMoKVxuICAgICAgICB0aGlzLnJlbW92ZVZhbGlkYXRpb25Pbk1pbGl0YXJ5RmllbGRzKCk7XG4gICAgICB9XG4gICAgICBpZiAodmFsID09PSAnUkVHJykge1xuICAgICAgICB0aGlzLnNldFZhbGlkYXRpb25PblJlZ3VsYXJGaWVsZHMoKTtcbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGF0aW9uT25GZWRlcmFsRmllbGRzKCk7XG4gICAgICAgIHRoaXMucmVtb3ZlVmFsaWRhdGlvbk9uTWlsaXRhcnlGaWVsZHMoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHZhbCA9PT0gJ01JTCcpIHtcbiAgICAgICAgdGhpcy5zZXRWYWxpZGF0aW9uT25NaWxpdGFyeUZpZWxkcygpO1xuICAgICAgICB0aGlzLnJlbW92ZVZhbGlkYXRpb25PbkZlZGVyYWxGaWVsZHMoKTtcbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGF0aW9uT25SZWd1bGFyRmllbGRzKClcbiAgICAgIH1cblxuICAgIH0pO1xuICB9XG5cbiAgc2V0VmFsaWRhdGlvbk9uU2VydkZpZWxkcygpe1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLndlZWtseUFtb3VudCk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMubnVtYmVyT2ZXZWVrcyk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuc2V2UGF5QW1vdW50KTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zZXZQYXlTdGFydERhdGUpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnNldlBheUVuZERhdGUpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnNldlBheVBheW1lbnRTdGFydERhdGUpO1xuICB9XG5cbiAgcmVtb3ZlVmFsaWRhdGlvbk9uU2VydkZpZWxkcygpIHtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMud2Vla2x5QW1vdW50KTtcbiAgICB0aGlzLndlZWtseUFtb3VudC5zZXRWYWx1ZSgnJyk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLm51bWJlck9mV2Vla3MpO1xuICAgIHRoaXMubnVtYmVyT2ZXZWVrcy5zZXRWYWx1ZSgnJyk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnNldlBheUFtb3VudCk7XG4gICAgdGhpcy5zZXZQYXlBbW91bnQuc2V0VmFsdWUoJycpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zZXZQYXlTdGFydERhdGUpO1xuICAgIHRoaXMuc2V2UGF5U3RhcnREYXRlLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zZXZQYXlFbmREYXRlKTtcbiAgICB0aGlzLnNldlBheUVuZERhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnNldlBheVBheW1lbnRTdGFydERhdGUpO1xuICAgIHRoaXMuc2V2UGF5UGF5bWVudFN0YXJ0RGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgfVxuXG4gIHNldFZhbGlkYXRpb25PblZlcmlmaWNhdGlvbk9mV2FnZXNGaWVsZHMoKSB7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucGF5bWVudFR5cGUpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmRvY3NSZWNlaXZlZCk7XG4gICAvLyB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5kb2luZ0J1c2luZXNzQXMpO1xuICAgLy8gdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuaGlyZWRCeSk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuYnVzaW5lc3NOYXR1cmUpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLm90aGVyTmFtZUZsYWcpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLm90aGVyU1NORmxhZyk7XG4gIH1cblxuICByZW1vdmVWYWxpZGF0aW9uT25WZXJpZmljYXRpb25PZldhZ2VzRmllbGRzKCkge1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5wYXltZW50VHlwZSk7XG4gICAgdGhpcy5wYXltZW50VHlwZS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZG9jc1JlY2VpdmVkKTtcbiAgICB0aGlzLmRvY3NSZWNlaXZlZC5zZXRWYWx1ZShudWxsKTtcbiAgIC8vIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5kb2luZ0J1c2luZXNzQXMpO1xuICAgLy8gdGhpcy5kb2luZ0J1c2luZXNzQXMuc2V0VmFsdWUobnVsbCk7XG4gICAvLyB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuaGlyZWRCeSk7XG4gICAvLyB0aGlzLmhpcmVkQnkuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmJ1c2luZXNzTmF0dXJlKTtcbiAgICB0aGlzLmJ1c2luZXNzTmF0dXJlLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5vdGhlck5hbWVGbGFnKTtcbiAgICB0aGlzLm90aGVyTmFtZUZsYWcuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLm90aGVyU1NORmxhZyk7XG4gICAgdGhpcy5vdGhlclNTTkZsYWcuc2V0VmFsdWUobnVsbCk7XG4gIH1cblxuICBzZXRWYWxpZGF0aW9uT25SZWd1bGFyRmllbGRzKCkge1xuICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygndGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZScsIHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUsICcgdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcicsIHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpO1xuXG4gICAgaWYoKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpKXtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnJlYXNvblNlcGFyYXRpb24pO1xuICAgIH1cblxuICAgIGlmICgoKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJykpIHtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnBheVJhdGVGcmVxdWVuY3kpO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucGF5UmF0ZSk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5qb2JUaWxlT3JQb3NpdGlvbik7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5pc0NsbXRQYWlkV2hpbGVMb3cpO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZW5kRGF0ZSk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5lbXBsb3llclRlbGVwaG9uZU51bWJlcik7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5lbXBsb3llck5hbWUpO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuc3RhcnREYXRlKTtcbiAgICAgIGlmKHRoaXMuY3VycmVudFN0YXRlID09PSAnTUUnKXtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMudmFjYXRpb24pO1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5oYXNTaG9ydFRlcm1EaXNhYmlsaXR5KTtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuaGFzUmVjdlJlbXVuZXJhdGlvbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJykpe1xuICAgICAgaWYodGhpcy5wZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knKXtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucGVuc2lvblJlY3ZEYXRlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnKSB7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy53b3JrU3RhdGUpO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMud29ya0NpdHkpO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucmVnUGVuc2lvbkZsYWcpO1xuICAgICAgaWYodGhpcy5yZWdQZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knKXtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucmVnUGVuc2lvblJlY3ZEYXRlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZW1vdmVWYWxpZGF0aW9uT25SZWd1bGFyRmllbGRzKCkge1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5wZW5zaW9uRmxhZyk7XG4gICAgdGhpcy5wZW5zaW9uRmxhZy5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucGVuc2lvblJlY3ZEYXRlKTtcbiAgICB0aGlzLnBlbnNpb25SZWN2RGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucGF5UmF0ZUZyZXF1ZW5jeSk7XG4gICAgdGhpcy5wYXlSYXRlRnJlcXVlbmN5LnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5wYXlSYXRlKTtcbiAgICB0aGlzLnBheVJhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmpvYlRpbGVPclBvc2l0aW9uKTtcbiAgICB0aGlzLmpvYlRpbGVPclBvc2l0aW9uLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5pc0NsbXRQYWlkV2hpbGVMb3cpO1xuICAgIHRoaXMuaXNDbG10UGFpZFdoaWxlTG93LnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbmREYXRlKTtcbiAgICB0aGlzLmVuZERhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVtcGxveWVyVGVsZXBob25lTnVtYmVyKTtcbiAgICB0aGlzLmVtcGxveWVyVGVsZXBob25lTnVtYmVyLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbXBsb3llck5hbWUpO1xuICAgIHRoaXMuZW1wbG95ZXJOYW1lLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zdGFydERhdGUpO1xuICAgIHRoaXMuc3RhcnREYXRlLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy53b3JrU3RhdGUpO1xuICAgIHRoaXMud29ya1N0YXRlLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy53b3JrQ2l0eSk7XG4gICAgdGhpcy53b3JrQ2l0eS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucmVnUGVuc2lvbkZsYWcpO1xuICAgIHRoaXMucmVnUGVuc2lvbkZsYWcuc2V0VmFsdWUobnVsbCk7XG5cdCAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnJlZ1BlbnNpb25SZWN2RGF0ZSk7XG4gICAgdGhpcy5yZWdQZW5zaW9uUmVjdkRhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLm90aGVyTmFtZSk7XG4gICAgdGhpcy5vdGhlck5hbWUuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLm90aGVyTmFtZUZsYWcpO1xuICAgIHRoaXMub3RoZXJOYW1lRmxhZy5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMub3RoZXJTU04pO1xuICAgIHRoaXMub3RoZXJTU04uc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLm90aGVyU1NORmxhZyk7XG4gICAgdGhpcy5vdGhlclNTTkZsYWcuc2V0VmFsdWUobnVsbCk7XG4gICAgaWYodGhpcy5jdXJyZW50U3RhdGUgPT09ICdNRScpe1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnZhY2F0aW9uKTtcbiAgICAgIHRoaXMudmFjYXRpb24uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuaGFzU2hvcnRUZXJtRGlzYWJpbGl0eSk7XG4gICAgICB0aGlzLmhhc1Nob3J0VGVybURpc2FiaWxpdHkuc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuaGFzUmVjdlJlbXVuZXJhdGlvbik7XG4gICAgICB0aGlzLmhhc1JlY3ZSZW11bmVyYXRpb24uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucmVtdW5lcmF0aW9uVHlwZXMpO1xuICAgICAgdGhpcy5yZW11bmVyYXRpb25UeXBlcy5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBzZXRWYWxpZGF0aW9uT25GZWRlcmFsRmllbGRzKCkge1xuICAgLy8gdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuY2xhaW1hbnRFbXBsb3llZFdpdGhFbXByKTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5yZWFzb25TZXBhcmF0aW9uKTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5lbmREYXRlRmVkKTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5mZWRFbXBsb3llck5hbWUpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmZlZEpvYlRpbGVPclBvc2l0aW9uKTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5mZWRQZW5zaW9uRmxhZyk7XG4gICAgaWYodGhpcy5mZWRQZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knKXtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmZlZFBlbnNpb25SZWN2RGF0ZSk7XG4gICAgfVxuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmZlZFdvcmtDaXR5KTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5mZWRXb3JrQ291bnRyeSk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZmVkV29ya1N0YXRlKTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5wZXJmb3JtZWRTZXJ2aWNlKTtcbiAgICBpZih0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ01FJykge1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuc2V2UGF5RmxhZyk7XG4gICAgfVxuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnNmRWlnaHRmbGFnKTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zdGFydERhdGVGZWQpO1xuICAgIHRoaXMudXRpbC5zZXRWYWxpZGF0aW9uKHRoaXMuZmVkRW1wbG95ZXJOYW1lLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xuICB9XG5cbiAgcmVtb3ZlVmFsaWRhdGlvbk9uRmVkZXJhbEZpZWxkcygpIHtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc3RhcnREYXRlRmVkKTtcbiAgICB0aGlzLnN0YXJ0RGF0ZUZlZC5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc2ZFaWdodGZsYWcpO1xuICAgIHRoaXMuc2ZFaWdodGZsYWcuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnNldlBheUZsYWcpO1xuICAgIHRoaXMuc2V2UGF5RmxhZy5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucGVyZm9ybWVkU2VydmljZSk7XG4gICAgdGhpcy5wZXJmb3JtZWRTZXJ2aWNlLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5mZWRXb3JrU3RhdGUpO1xuICAgIHRoaXMuZmVkV29ya1N0YXRlLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5mZWRXb3JrQ291bnRyeSk7XG4gICAgdGhpcy5mZWRXb3JrQ291bnRyeS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZmVkV29ya0NpdHkpO1xuICAgIHRoaXMuZmVkV29ya0NpdHkuc2V0VmFsdWUobnVsbCk7XG5cbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZmVkUGVuc2lvbkZsYWcpO1xuICAgIHRoaXMuZmVkUGVuc2lvbkZsYWcuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmZlZFBlbnNpb25SZWN2RGF0ZSk7XG4gICAgdGhpcy5mZWRQZW5zaW9uUmVjdkRhdGUuc2V0VmFsdWUobnVsbCk7XG5cbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZmVkSm9iVGlsZU9yUG9zaXRpb24pO1xuICAgIHRoaXMuZmVkSm9iVGlsZU9yUG9zaXRpb24uc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmZlZEVtcGxveWVyTmFtZSk7XG4gICAgdGhpcy5mZWRFbXBsb3llck5hbWUuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVuZERhdGVGZWQpO1xuICAgIHRoaXMuZW5kRGF0ZUZlZC5zZXRWYWx1ZShudWxsKTtcbiAgIC8vIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5jbGFpbWFudEVtcGxveWVkV2l0aEVtcHIpO1xuICAgIC8vdGhpcy5jbGFpbWFudEVtcGxveWVkV2l0aEVtcHIuc2V0VmFsdWUobnVsbClcbiAgfVxuXG4gIHNldFZhbGlkYXRpb25Pbk1pbGl0YXJ5RmllbGRzKCkge1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnNlcnZpY2VCcmFuY2gpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnN0YXJ0RGF0ZU1pbCk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZW5kRGF0ZU1pbCk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZGQyMTRGbGFnKTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5taWxQZW5zaW9uRmxhZyk7XG4gICAgaWYodGhpcy5taWxQZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knKXtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLm1pbFBlbnNpb25SZWN2RGF0ZSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmRkMjE0RmxhZy52YWx1ZSA9PT0gJ04nKSB7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5sYXN0UGF5R3JhZGUpO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMubGFzdGR1dHkpO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucGxhY2VTZXBhcmF0ZWQpO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMubm9MZWF2ZURheXMpO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuY29tcGxldGVkRnVsbFRlcm1GbGFnKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnJlc2VydmVPckd1YXJkRmxhZyk7XG4gICAgfVxuICAgIGlmICh0aGlzLmRkMjE0RmxhZy52YWx1ZSA9PT0gJ1knKSB7fVxuXG4gICAgaWYgKHRoaXMucmVzZXJ2ZU9yR3VhcmRGbGFnLnZhbHVlID09PSAnWScpIHtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnJlc2VydmVCcmFuY2gpO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuc3RhcnREYXRlUmVzZXJ2ZSk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5lbmREYXRlUmVzZXJ2ZSk7XG4gICAgfVxuICAgIC8vbWlsaXRhcnkgZG9lcyBub3QgaGF2ZSByZWFzb24gb2Ygc2VwYXJhdGlvblxuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5yZWFzb25TZXBhcmF0aW9uKTtcbiAgICB0aGlzLnJlYXNvblNlcGFyYXRpb24uc2V0VmFsdWUobnVsbCk7XG4gIH1cblxuICByZW1vdmVWYWxpZGF0aW9uT25NaWxpdGFyeUZpZWxkcygpIHtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc2VydmljZUJyYW5jaCk7XG4gICAgdGhpcy5zZXJ2aWNlQnJhbmNoLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zdGFydERhdGVNaWwpO1xuICAgIHRoaXMuc3RhcnREYXRlTWlsLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbmREYXRlTWlsKTtcbiAgICB0aGlzLmVuZERhdGVNaWwuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmRkMjE0RmxhZyk7XG4gICAgdGhpcy5kZDIxNEZsYWcuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmxhc3RQYXlHcmFkZSk7XG4gICAgdGhpcy5sYXN0UGF5R3JhZGUuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmxhc3RkdXR5KTtcbiAgICB0aGlzLmxhc3RkdXR5LnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5wbGFjZVNlcGFyYXRlZCk7XG4gICAgdGhpcy5wbGFjZVNlcGFyYXRlZC5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMubm9MZWF2ZURheXMpO1xuICAgIHRoaXMubm9MZWF2ZURheXMuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmNvbXBsZXRlZEZ1bGxUZXJtRmxhZyk7XG4gICAgdGhpcy5jb21wbGV0ZWRGdWxsVGVybUZsYWcuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnJlc2VydmVPckd1YXJkRmxhZyk7XG4gICAgdGhpcy5yZXNlcnZlT3JHdWFyZEZsYWcuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLm1pbFBlbnNpb25GbGFnKTtcbiAgICB0aGlzLm1pbFBlbnNpb25GbGFnLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5yZXNlcnZlQnJhbmNoKTtcbiAgICB0aGlzLnJlc2VydmVCcmFuY2guc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnN0YXJ0RGF0ZVJlc2VydmUpO1xuICAgIHRoaXMuc3RhcnREYXRlUmVzZXJ2ZS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW5kRGF0ZVJlc2VydmUpO1xuICAgIHRoaXMuZW5kRGF0ZVJlc2VydmUuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLm1pbFBlbnNpb25SZWN2RGF0ZSk7XG4gICAgdGhpcy5taWxQZW5zaW9uUmVjdkRhdGUuc2V0VmFsdWUobnVsbCk7XG4gIH1cblxuICBnZXQgZW1wbG95ZXJUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW1wbG95ZXJUeXBlJ107XG4gIH1cbiAgZ2V0IGVtcGxveWVyTmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VtcGxveWVyTmFtZSddO1xuICB9XG5cbiAgZ2V0IGVtcGxveWVyVGVsZXBob25lTnVtYmVyKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXInXTtcbiAgfVxuXG4gIGdldCBzdGFydERhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzdGFydERhdGUnXTtcbiAgfVxuXG4gIGdldCBlbmREYXRlKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW5kRGF0ZSddO1xuICB9XG5cbiAgZ2V0IGpvYlRpbGVPclBvc2l0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snam9iVGlsZU9yUG9zaXRpb24nXTtcbiAgfVxuXG4gIGdldCByZWFzb25TZXBhcmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVhc29uU2VwYXJhdGlvbiddO1xuICB9XG5cbiAgZ2V0IGRpc2NoYXJnZURldGFpbCgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2Rpc2NoYXJnZURldGFpbCddO1xuICB9XG5cbiAgZ2V0IHZvbFF1aXREZXRhaWxzKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sndm9sUXVpdERldGFpbHMnXTtcbiAgfVxuXG4gIGdldCBwYXlSYXRlKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGF5UmF0ZSddO1xuICB9XG5cbiAgZ2V0IGdyb3NzV2FnZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydncm9zc1dhZ2VzJ107XG4gIH1cblxuICBnZXQgcGF5UmF0ZUZyZXF1ZW5jeSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BheVJhdGVGcmVxdWVuY3knXTtcbiAgfVxuXG4gIGdldCBwZW5zaW9uRmxhZygpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BlbnNpb25GbGFnJ107XG4gIH1cbiAgXG4gIGdldCBwZW5zaW9uUmVjdkRhdGUoKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BlbnNpb25SZWN2RGF0ZSddO1xuICB9XG5cbiAgZ2V0IHJlZ1BlbnNpb25GbGFnKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVnUGVuc2lvbkZsYWcnXTtcbiAgfVxuICBcbiAgZ2V0IHJlZ1BlbnNpb25SZWN2RGF0ZSgpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVnUGVuc2lvblJlY3ZEYXRlJ107XG4gIH1cblxuICBnZXQgaXNDbG10UGFpZFdoaWxlTG93KCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snaXNDbG10UGFpZFdoaWxlTG93J107XG4gIH1cblxuICBnZXQgaGFzU2hvcnRUZXJtRGlzYWJpbGl0eSgpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snaGFzU2hvcnRUZXJtRGlzYWJpbGl0eSddO1xuICB9XG5cbiAgZ2V0IGhhc1JlY3ZSZW11bmVyYXRpb24oKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2hhc1JlY3ZSZW11bmVyYXRpb24nXTtcbiAgfVxuXG4gIGdldCByZW11bmVyYXRpb25UeXBlcygpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVtdW5lcmF0aW9uVHlwZXMnXTtcbiAgfVxuXG4gIGdldCB2YWNhdGlvbigpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sndmFjYXRpb24nXTtcbiAgfVxuICAvLyBnZXQgcGFpZEJ5KCkge1xuICAvLyAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGFpZEJ5J107XG4gIC8vIH1cblxuICBnZXQgcGF5bWVudFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwYXltZW50VHlwZSddO1xuICB9XG5cbiAgZ2V0IGRvY3NSZWNlaXZlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2RvY3NSZWNlaXZlZCddO1xuICB9XG5cbiAgZ2V0IG90aGVyU1NORmxhZygpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snb3RoZXJTU05GbGFnJ107XG4gIH1cblxuICBnZXQgb3RoZXJTU04oKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydvdGhlclNTTiddO1xuICB9XG5cbiAgZ2V0IG90aGVyTmFtZUZsYWcoKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ290aGVyTmFtZUZsYWcnXTtcbiAgfVxuXG4gIGdldCBvdGhlck5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydvdGhlck5hbWUnXTtcbiAgfVxuXG4gIGdldCBkb2luZ0J1c2luZXNzQXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydkb2luZ0J1c2luZXNzQXMnXTtcbiAgfVxuXG4gIGdldCB3b3JrRmxhZygpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dvcmtGbGFnJ107XG4gIH1cblxuICAvLyBnZXQgcXVpdHJlYXNvbigpIHtcbiAgLy8gICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3F1aXRyZWFzb24nXTtcbiAgLy8gfVxuXG4gIGdldCB3b3JrQ2l0eSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dvcmtDaXR5J107XG4gIH1cblxuICBnZXQgd29ya1N0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd29ya1N0YXRlJ107XG4gIH1cblxuICAvKmdldCBoaXJlZEJ5KCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snaGlyZWRCeSddO1xuICB9XG5cbiAgZ2V0IGZlaW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWluJ107XG4gIH0qL1xuXG4gIGdldCB3b3JrVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dvcmtUeXBlJ107XG4gIH1cblxuICAvKmdldCBudW1iZXJFbXBsb3llZCgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ251bWJlckVtcGxveWVkJ107XG4gIH0qL1xuXG4gIGdldCBidXNpbmVzc05hdHVyZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2J1c2luZXNzTmF0dXJlJ107XG4gIH1cblxuICBnZXQgZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcyddO1xuICB9XG5cbiAgLy8gZ2V0IHdhZ2VRdWFydGVyMSgpIHtcbiAgLy8gICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dhZ2VRdWFydGVyMSddO1xuICAvLyB9XG5cbiAgLy8gZ2V0IHdhZ2VRdWFydGVyMigpIHtcbiAgLy8gICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dhZ2VRdWFydGVyMiddO1xuICAvLyB9XG5cblxuICAvLyBnZXQgd2FnZVF1YXJ0ZXIzKCkge1xuICAvLyAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd2FnZVF1YXJ0ZXIzJ107XG4gIC8vIH1cblxuXG5cbiAgLy8gZ2V0IHdhZ2VRdWFydGVyNCgpIHtcbiAgLy8gICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dhZ2VRdWFydGVyNCddO1xuICAvLyB9XG5cbiAgZ2V0IGZpY0NvZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmaWNDb2RlJ107XG4gIH1cblxuICBnZXQgZmljRGVzdGluYXRpb25Db2RlKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmljRGVzdGluYXRpb25Db2RlJ107XG4gIH1cblxuICBnZXQgZmljRGVzdGluYXRpb25JZCgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZpY0Rlc3RpbmF0aW9uSWQnXTtcbiAgfVxuICAgICAgXG4gIFxuICAvLyBnZXQgZm9ybWVybHlLbm93bkFzKCkge1xuICAvLyAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZm9ybWVybHlLbm93bkFzJ107XG4gIC8vIH1cblxuICBnZXQgc2ZFaWdodGZsYWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzZkVpZ2h0ZmxhZyddO1xuICB9XG5cbiAgZ2V0IGZlZFdvcmtDaXR5KCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmVkV29ya0NpdHknXTtcbiAgfVxuXG4gIGdldCBmZWRXb3JrU3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWRXb3JrU3RhdGUnXTtcbiAgfVxuXG5cbiAgZ2V0IGZlZFdvcmtDb3VudHJ5KCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmVkV29ya0NvdW50cnknXTtcbiAgfVxuXG5cbiAgZ2V0IHN0YXJ0RGF0ZUZlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3N0YXJ0RGF0ZUZlZCddO1xuICB9XG5cbiAgZ2V0IGVuZERhdGVGZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbmREYXRlRmVkJ107XG4gIH1cblxuICBnZXQgZmVkSm9iVGlsZU9yUG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWRKb2JUaWxlT3JQb3NpdGlvbiddO1xuICB9XG5cbiAgLyogZ2V0IGNsYWltYW50RW1wbG95ZWRXaXRoRW1wcigpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2NsYWltYW50RW1wbG95ZWRXaXRoRW1wciddO1xuICB9ICovXG5cbiAgZ2V0IHBlcmZvcm1lZFNlcnZpY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwZXJmb3JtZWRTZXJ2aWNlJ107XG4gIH1cblxuICBnZXQgZmVkUGVuc2lvbkZsYWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWRQZW5zaW9uRmxhZyddO1xuICB9XG5cbiAgZ2V0IGZlZFBlbnNpb25SZWN2RGF0ZSgpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmVkUGVuc2lvblJlY3ZEYXRlJ107XG4gIH1cblxuICBnZXQgc2V2UGF5RmxhZygpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NldlBheUZsYWcnXTtcbiAgfVxuXG4gIGdldCB3ZWVrbHlBbW91bnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3ZWVrbHlBbW91bnQnXTtcbiAgfVxuXG4gIGdldCBudW1iZXJPZldlZWtzKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snbnVtYmVyT2ZXZWVrcyddO1xuICB9XG5cbiAgZ2V0IHNldlBheUFtb3VudCgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NldlBheUFtb3VudCddO1xuICB9XG5cblxuICBnZXQgc2V2UGF5U3RhcnREYXRlKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc2V2UGF5U3RhcnREYXRlJ107XG4gIH1cblxuXG4gIGdldCBzZXZQYXlFbmREYXRlKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc2V2UGF5RW5kRGF0ZSddO1xuICB9XG5cbiAgZ2V0IHNldlBheVBheW1lbnRTdGFydERhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzZXZQYXlQYXltZW50U3RhcnREYXRlJ107XG4gIH1cblxuICBnZXQgcmVnRW1wbG95ZXJGb3VuZCgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3JlZ0VtcGxveWVyRm91bmQnXTtcbiAgfVxuXG4gIGdldCBlbXBsb3llcklkKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW1wbG95ZXJJZCddO1xuICB9XG5cbiAgZ2V0IGZlZEVtcGxveWVyTmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZlZEVtcGxveWVyTmFtZSddO1xuICB9XG4gIGdldCBzZXJ2aWNlQnJhbmNoKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc2VydmljZUJyYW5jaCddO1xuICB9XG5cbiAgZ2V0IHN0YXJ0RGF0ZU1pbCgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3N0YXJ0RGF0ZU1pbCddO1xuICB9XG5cbiAgZ2V0IGVuZERhdGVNaWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbmREYXRlTWlsJ107XG4gIH1cblxuICBnZXQgZGQyMTRGbGFnKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZGQyMTRGbGFnJ107XG4gIH1cblxuICBnZXQgbGFzdFBheUdyYWRlKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snbGFzdFBheUdyYWRlJ107XG4gIH1cblxuICBnZXQgbGFzdGR1dHkoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydsYXN0ZHV0eSddO1xuICB9XG5cbiAgZ2V0IHBsYWNlU2VwYXJhdGVkKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGxhY2VTZXBhcmF0ZWQnXTtcbiAgfVxuXG4gIGdldCBub0xlYXZlRGF5cygpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ25vTGVhdmVEYXlzJ107XG4gIH1cblxuICBnZXQgY29tcGxldGVkRnVsbFRlcm1GbGFnKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snY29tcGxldGVkRnVsbFRlcm1GbGFnJ107XG4gIH1cblxuICBnZXQgcmVzZXJ2ZU9yR3VhcmRGbGFnKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVzZXJ2ZU9yR3VhcmRGbGFnJ107XG4gIH1cblxuICBnZXQgbWlsUGVuc2lvbkZsYWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydtaWxQZW5zaW9uRmxhZyddO1xuICB9XG5cbiAgZ2V0IG1pbFBlbnNpb25SZWN2RGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ21pbFBlbnNpb25SZWN2RGF0ZSddO1xuICB9XG5cbiAgZ2V0IGFkZHJlc3NMaW5lMSgpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snYWRkcmVzc0xpbmUxJ107XG4gIH1cblxuICBnZXQgYWRkcmVzc0xpbmUyKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydhZGRyZXNzTGluZTInXTtcbiAgfVxuXG4gIGdldCBhZGRyZXNzTGluZTMoKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2FkZHJlc3NMaW5lMyddO1xuICB9XG5cbiAgZ2V0IGZpY0Rlc3RpbmF0aW9uTmFtZSgpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmljRGVzdGluYXRpb25OYW1lJ107XG4gIH1cblxuICBnZXQgcmVzZXJ2ZUJyYW5jaCgpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVzZXJ2ZUJyYW5jaCddO1xuICB9XG5cbiAgZ2V0IHN0YXJ0RGF0ZVJlc2VydmUoKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3N0YXJ0RGF0ZVJlc2VydmUnXTtcbiAgfVxuXG4gIGdldCBlbmREYXRlUmVzZXJ2ZSgpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW5kRGF0ZVJlc2VydmUnXTtcbiAgfVxuICBcbiAgZ2V0IGRkMjE0RmlsZSgpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZGQyMTRGaWxlJ107XG4gIH1cblxuICBnZXQgYWRkcmVzcygpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snYWRkcmVzcyddO1xuICB9XG5cbiAgZ2V0IG9zYUJwRW1wbG95ZXJGbGFnKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydvc2FCcEVtcGxveWVyRmxhZyddO1xuICB9XG5cbiAgb25Ub2dnbGVDaGFuZ2VFbXBsb3llclR5cGUob2JqOiBhbnkpIHtcbiAgICB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICB0aGlzLnJlYXNvblNlcGFyYXRpb24uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmFkZHJlc3MuZW5hYmxlKCk7XG4gICAgICB0aGlzLmFkZHJlc3Muc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmZpY0NvZGUuc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmZpY0Rlc3RpbmF0aW9uQ29kZS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuYWRkcmVzc0xpbmUxLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5hZGRyZXNzTGluZTIuc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmFkZHJlc3NMaW5lMy5zZXRWYWx1ZShudWxsKTtcbiAgICB9KVxuICB9XG5cbiBcblxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgLy90aGlzLmVtcE5hbWUgPSBvYmo7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoID0gZm47XG4gIH1cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuXG4gIH1cblxuICBvbk1vZGVsQ2FuY2VsKGNhbmNlbDogYm9vbGVhbikge1xuICAgIHRoaXMubW9kZWxDYW5jZWwuZW1pdChjYW5jZWwpO1xuICB9XG5cbiAgc2V0RW1wbG95ZXIoZW1wbG95ZXI6IEVtcGxveWVyRGV0YWlsU2VhcmNoUmVzdWx0KSB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3NldEVtcGxveWVyIGNhbGxlZCcsIGVtcGxveWVyLCBcInR5cGVcIiwgdGhpcy5lbXBsb3llclR5cGUsICd0aGlzLmFkZEVtcGxveWVyRm9ybScsdGhpcy5hZGRFbXBsb3llckZvcm0pO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdlbXBsb3llci5zdGF0ZScsIGVtcGxveWVyLnN0YXRlKVxuICAgIHRoaXMuYWRkcmVzcy5zZXRWYWx1ZSh7Y291bnRyeTplbXBsb3llci5jb3VudHJ5LCBjaXR5OmVtcGxveWVyLmNpdHlcbiAgICAsIHppcDplbXBsb3llci56aXAsc3RyZWV0QWRkcmVzczplbXBsb3llci5hZGRyZXNzRGlzcGxheVZhbCxzdGF0ZTplbXBsb3llci5zdGF0ZSxcbiAgICBvcHRpb25hbEFkZHJlc3M6bnVsbCxjb3VudHk6bnVsbCx0b3duOm51bGxcbiAgICB9KTtcbiAgICB0aGlzLmFkZHJlc3MuZGlzYWJsZSgpO1xuICAgIHRoaXMuZW1wbG95ZXJJZC5zZXRWYWx1ZShlbXBsb3llci5lbXBsb3llcklkKTtcbiAgICB0aGlzLmFkZHJlc3NMaW5lMS5zZXRWYWx1ZShlbXBsb3llci5hZGRyZXNzTGluZTEpO1xuICAgIHRoaXMuYWRkcmVzc0xpbmUyLnNldFZhbHVlKGVtcGxveWVyLmFkZHJlc3NMaW5lMik7XG4gICAgdGhpcy5hZGRyZXNzTGluZTMuc2V0VmFsdWUoZW1wbG95ZXIuYWRkcmVzc0xpbmUzKTtcbiAgICB0aGlzLnJlZ0VtcGxveWVyRm91bmQuc2V0VmFsdWUodHJ1ZSk7XG4gIH1cblxuICBzZXRGZWRFbXBsb3llcihlbXBsb3llcjogRW1wbG95ZXJEZXRhaWxTZWFyY2hSZXN1bHQpe1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdzZXRGZWRFbXBsb3llciBjYWxsZWQnLCBlbXBsb3llciwgXCJ6aXAgXCIsIGVtcGxveWVyLnppcCk7XG4gICAgdGhpcy5maWNDb2RlLnNldFZhbHVlKGVtcGxveWVyLmZpY0NvZGUpO1xuICAgIHRoaXMuZmljQ29kZS5kaXNhYmxlKCk7XG4gICAgdGhpcy5maWNEZXN0aW5hdGlvbk5hbWUuc2V0VmFsdWUoZW1wbG95ZXIuZmljRGVzdGluYXRpb25OYW1lKTtcbiAgICB0aGlzLmZpY0Rlc3RpbmF0aW9uSWQuc2V0VmFsdWUoZW1wbG95ZXIuZmljRGVzdGluYXRpb25JZCk7XG4gICAgdGhpcy5maWNEZXN0aW5hdGlvbk5hbWUuZGlzYWJsZSgpO1xuICAgIHRoaXMuZmljRGVzdGluYXRpb25Db2RlLnNldFZhbHVlKGVtcGxveWVyLmZpY0Rlc3RpbmF0aW9uQ29kZSk7XG4gICAgdGhpcy5hZGRyZXNzLnNldFZhbHVlKHtjb3VudHJ5OmVtcGxveWVyLmNvdW50cnksIGNpdHk6ZW1wbG95ZXIuY2l0eVxuICAgICAgLCB6aXA6ZW1wbG95ZXIuemlwLHN0cmVldEFkZHJlc3M6ZW1wbG95ZXIuYWRkcmVzc0xpbmUxLHN0YXRlOmVtcGxveWVyLnN0YXRlLFxuICAgICAgb3B0aW9uYWxBZGRyZXNzOmVtcGxveWVyLmFkZHJlc3NMaW5lMixjb3VudHk6bnVsbCx0b3duOm51bGxcbiAgICAgIH0pO1xuICAgIHRoaXMuYWRkcmVzcy5kaXNhYmxlKCk7XG4gICAgdGhpcy5lbXBsb3llcklkLnNldFZhbHVlKGVtcGxveWVyLmVtcGxveWVySWQpO1xuICAgIHRoaXMuYWRkcmVzc0xpbmUxLnNldFZhbHVlKGVtcGxveWVyLmFkZHJlc3NMaW5lMSk7XG4gICAgdGhpcy5hZGRyZXNzTGluZTIuc2V0VmFsdWUoZW1wbG95ZXIuYWRkcmVzc0xpbmUyKTtcbiAgICB0aGlzLmFkZHJlc3NMaW5lMy5zZXRWYWx1ZShlbXBsb3llci5hZGRyZXNzTGluZTMpO1xuICAgIHRoaXMucmVnRW1wbG95ZXJGb3VuZC5zZXRWYWx1ZShmYWxzZSk7XG4gIH1cblxuICByZXNldEZlZEVtcGxveWVyKGVtcGxveWVyOiBFbXBsb3llckRldGFpbFNlYXJjaFJlc3VsdCl7XG4gICAgdGhpcy5hZGRyZXNzLmVuYWJsZSgpO1xuICAgIHRoaXMuYWRkcmVzcy5zZXRWYWx1ZSh7Y291bnRyeTpudWxsLCBjaXR5Om51bGxcbiAgICAgICwgemlwOm51bGwsc3RyZWV0QWRkcmVzczpudWxsLHN0YXRlOm51bGwsXG4gICAgICBvcHRpb25hbEFkZHJlc3M6bnVsbCxjb3VudHk6bnVsbCx0b3duOm51bGxcbiAgICAgIH0pO1xuICAgIHRoaXMucmVnRW1wbG95ZXJGb3VuZC5zZXRWYWx1ZShmYWxzZSk7XG4gIH1cblxuICByZXNldEVtcGxveWVyKGVtcGxveWVyOiBFbXBsb3llckRldGFpbFNlYXJjaFJlc3VsdCkge1xuICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygncmVzZXRFbXBsb3llciBjYWxsZWQnLCBlbXBsb3llcik7XG4gICAgIHRoaXMuYWRkcmVzcy5lbmFibGUoKTtcbiAgICAgdGhpcy5hZGRyZXNzLnNldFZhbHVlKHtjb3VudHJ5Om51bGwsIGNpdHk6bnVsbFxuICAgICAgLCB6aXA6bnVsbCxzdHJlZXRBZGRyZXNzOm51bGwsc3RhdGU6bnVsbCxcbiAgICAgIG9wdGlvbmFsQWRkcmVzczpudWxsLGNvdW50eTpudWxsLHRvd246bnVsbFxuICAgICAgfSk7XG4gICAgdGhpcy5yZWdFbXBsb3llckZvdW5kLnNldFZhbHVlKGZhbHNlKTtcbiAgfVxuXG5cbiAgcHV0TWlsUmVzQnJhbmNoVmFsaWRhdGlvbihldmVudCl7XG4gICAgaWYgKGV2ZW50Lm9wdGlvbi52YWx1ZSA9PT0gJ1knKSB7XG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnJlc2VydmVCcmFuY2gpO1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zdGFydERhdGVSZXNlcnZlKTtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZW5kRGF0ZVJlc2VydmUpO1xuICAgIH1cbiAgICBlbHNle1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3Jlc2VydmVCcmFuY2gnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5yZXNlcnZlQnJhbmNoKTtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzdGFydERhdGVSZXNlcnZlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc3RhcnREYXRlUmVzZXJ2ZSk7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW5kRGF0ZVJlc2VydmUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbmREYXRlUmVzZXJ2ZSk7XG4gICAgfVxuICB9XG5cbiAgcHV0TWlsVmFsaWRhdGlvbihldmVudCl7XG4gICAgLyppZiAoZXZlbnQub3B0aW9uLnZhbHVlID09PSAnTicpIHtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmxhc3RQYXlHcmFkZSk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5sYXN0ZHV0eSk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5wbGFjZVNlcGFyYXRlZCk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5ub0xlYXZlRGF5cyk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5jb21wbGV0ZWRGdWxsVGVybUZsYWcpO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucmVzZXJ2ZU9yR3VhcmRGbGFnKTtcbiAgICB9XG4gICAgZWxzZXtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydsYXN0UGF5R3JhZGUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydsYXN0ZHV0eSddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BsYWNlU2VwYXJhdGVkJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snbm9MZWF2ZURheXMnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydjb21wbGV0ZWRGdWxsVGVybUZsYWcnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZXNlcnZlT3JHdWFyZEZsYWcnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5sYXN0UGF5R3JhZGUpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmxhc3RkdXR5KTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5wbGFjZVNlcGFyYXRlZCk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMubm9MZWF2ZURheXMpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmNvbXBsZXRlZEZ1bGxUZXJtRmxhZyk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucmVzZXJ2ZU9yR3VhcmRGbGFnKTtcbiAgICB9Ki9cbiAgfVxuXG4gIG9uT3B0aW9uQ2hhbmdlKGV2ZW50KSB7XG4gICAgaWYgKGV2ZW50Lm9wdGlvbi52YWx1ZSA9PT0gJ1knKSB7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5lbXBsb3llclRlbGVwaG9uZU51bWJlcik7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zdGFydERhdGUpO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZW5kRGF0ZSk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5qb2JUaWxlT3JQb3NpdGlvbik7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5yZWFzb25TZXBhcmF0aW9uKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnBheVJhdGUpO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucGF5UmF0ZUZyZXF1ZW5jeSk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5wZW5zaW9uRmxhZyk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5pc0NsbXRQYWlkV2hpbGVMb3cpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXInXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzdGFydERhdGUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbmREYXRlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snam9iVGlsZU9yUG9zaXRpb24nXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZWFzb25TZXBhcmF0aW9uJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGF5UmF0ZSddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BheVJhdGVGcmVxdWVuY3knXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwZW5zaW9uRmxhZyddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2lzQ2xtdFBhaWRXaGlsZUxvdyddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVtcGxveWVyVGVsZXBob25lTnVtYmVyKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zdGFydERhdGUpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVuZERhdGUpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmpvYlRpbGVPclBvc2l0aW9uKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5yZWFzb25TZXBhcmF0aW9uKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5wYXlSYXRlKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5wYXlSYXRlRnJlcXVlbmN5KTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5wZW5zaW9uRmxhZyk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuaXNDbG10UGFpZFdoaWxlTG93KTtcbiAgICB9XG4gIH1cblxuICBzYXZlKCl7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3RoaXMuc2F2ZS52YWx1ZScsIHRoaXMuYWRkRW1wbG95ZXJGb3JtKTtcbiAgICBpZih0aGlzLndvcmtGbGFnLnZhbHVlPT09J04nKXtcbiAgICAgIGlmICh0aGlzLmFkZEVtcGxveWVyRm9ybS52YWxpZCkge1xuICAgICAgdGhpcy5zdWNjZXNzLmVtaXQodGhpcy5hZGRFbXBsb3llckZvcm0udmFsdWUpO1xuICAgICAgdGhpcy5kaXNwbGF5ID0gZmFsc2U7XG4gICAgfVxuICAgIH1lbHNle1xuICAgICAgdGhpcy5hZGQoKTtcbiAgICB9XG4gIH1cblxuICBhZGQoKSB7XG5cbiAgICBjb25zdCBpbnZhbGlkID0gW107XG4gICAgICBjb25zdCBjb250cm9scyA9IHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzO1xuICAgICAgZm9yIChjb25zdCBuYW1lIGluIGNvbnRyb2xzKSB7XG4gICAgICAgICAgaWYgKGNvbnRyb2xzW25hbWVdLmludmFsaWQpIHtcbiAgICAgICAgICAgICAgaW52YWxpZC5wdXNoKG5hbWUpO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcImludmFsaWRbXVwiLCBpbnZhbGlkKSA7XG4gICAgICAgIFxuXHQgIGlmKCF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlICE9ICdNSUwnKSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygndmFsaWRhdGUgYWRkcmVzcyBjb21wb25lbnQnKTtcbiAgICAgXHR0aGlzLnZhbGlkYXRlQWRkcmVzcygpO1xuICAgIH1cbiAgICBpZiAodGhpcy5hZGRFbXBsb3llckZvcm0udmFsaWQpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd0aGlzLmFkZC52YWx1ZScsIHRoaXMuYWRkRW1wbG95ZXJGb3JtKTsgXG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmljQ29kZSddLmVuYWJsZSgpO1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZpY0Rlc3RpbmF0aW9uTmFtZSddLmVuYWJsZSgpO1xuICAgICAgdGhpcy5hZGRyZXNzLmVuYWJsZSgpO1xuICAgICAgdGhpcy5zdWNjZXNzLmVtaXQodGhpcy5hZGRFbXBsb3llckZvcm0udmFsdWUpO1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCJhZGQgZm9ybSBkZXRhaWxzIGFkZCgpLSBcIiwgdGhpcy5hZGRFbXBsb3llckZvcm0pO1xuICAgICAgdGhpcy5kaXNwbGF5ID0gZmFsc2U7XG4gICAgfVxuXG4gIH1cblxuICB2YWxpZGF0ZUFkZHJlc3MoKSB7XG4gICAgbGV0IGFkZHJlc3NDb21wVmFsdWU6IEFkZHJlc3NDb21wb25lbnRNb2RlbDtcbiAgICBhZGRyZXNzQ29tcFZhbHVlID0gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2FkZHJlc3MnXS52YWx1ZTtcbiAgICBpZiAoYWRkcmVzc0NvbXBWYWx1ZSkge1xuICAgICAgaWYgKCFhZGRyZXNzQ29tcFZhbHVlLmNpdHkgfHwgIWFkZHJlc3NDb21wVmFsdWUuc3RhdGUgfHxcbiAgICAgICAgIWFkZHJlc3NDb21wVmFsdWVbJ3ppcCddIHx8ICFhZGRyZXNzQ29tcFZhbHVlLmNvdW50cnkgfHxcbiAgICAgICAgIWFkZHJlc3NDb21wVmFsdWVbJ3N0cmVldEFkZHJlc3MnXVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydhZGRyZXNzJ10uc2V0RXJyb3JzKHsgYWRkcmVzc1ZhbGlkYXRpb25GbGFnOiB0cnVlIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snYWRkcmVzcyddLnNldEVycm9ycyh7IGFkZHJlc3NWYWxpZGF0aW9uRmxhZzogdHJ1ZSB9KTtcbiAgICB9XG4gICAgaWYodGhpcy5hZGRyZXNzMSl7XG4gICAgICB0aGlzLmFkZHJlc3MxLnN1Ym1pdCgpO1xuICAgIH1cbiAgICBpZih0aGlzLmFkZHJlc3MyKXtcbiAgICAgIHRoaXMuYWRkcmVzczIuc3VibWl0KCk7XG4gICAgfVxuICB9XG5cbiAgZmlsdGVyQ291bnRyeShldmVudCkge1xuICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnZXZlbnQnLCBldmVudClcbiAgICBsZXQgZmlsdGVyZWQ6IGFueVtdID0gW107XG4gICAgbGV0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XG4gICAgdGhpcy5jb3VudHJ5T3B0aW9ucyA9IENvbWJvT3B0aW9uLkNPVU5UUlk7XG4gICAgLy90aGlzLnN0YXRlLnNldFZhbHVlKG51bGwpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5jb3VudHJ5T3B0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgbGV0IGNvdW50cnkgPSB0aGlzLmNvdW50cnlPcHRpb25zW2ldO1xuICAgICAgaWYgKGNvdW50cnkudGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnkudG9Mb3dlckNhc2UoKSkgPT0gMCkge1xuICAgICAgICBmaWx0ZXJlZC5wdXNoKGNvdW50cnkpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNvdW50cnlPcHRpb25zID0gZmlsdGVyZWQ7XG4gIH1cblxuICBmaWx0ZXJGZWRDb3VudHJ5KGV2ZW50KSB7XG4gICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdldmVudCcsIGV2ZW50KVxuICAgIGxldCBmaWx0ZXJlZDogYW55W10gPSBbXTtcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcbiAgICB0aGlzLmNvdW50cnlGZWRPcHRpb25zID0gQ29tYm9PcHRpb24uQ09VTlRSWTtcbiAgICAvL3RoaXMuc3RhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmNvdW50cnlGZWRPcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgY291bnRyeSA9IHRoaXMuY291bnRyeUZlZE9wdGlvbnNbaV07XG4gICAgICBpZiAoY291bnRyeS50ZXh0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeS50b0xvd2VyQ2FzZSgpKSA9PSAwKSB7XG4gICAgICAgIGZpbHRlcmVkLnB1c2goY291bnRyeSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY291bnRyeUZlZE9wdGlvbnMgPSBmaWx0ZXJlZDtcbiAgfVxuXG4gIHNldEZlZFdvcmtTdGF0ZVZhbHVlcyhldmVudCl7XG4gICAgaWYoZXZlbnQudmFsdWUgPT09ICdVUycpe1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZmVkV29ya1N0YXRlKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZmVkV29ya1N0YXRlKTtcbiAgICAgIHRoaXMuZmVkV29ya1N0YXRlLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIGZpbHRlcldvcmtDb3VudHJ5KGV2ZW50KSB7XG4gICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdldmVudCcsIGV2ZW50KVxuICAgIGxldCBmaWx0ZXJlZDogYW55W10gPSBbXTtcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcbiAgICB0aGlzLndvcmtDb3VudHJ5T3B0aW9ucyA9IENvbWJvT3B0aW9uLldPUktfQ09VTlRSWTtcbiAgICAvL3RoaXMuc3RhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLndvcmtDb3VudHJ5T3B0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgbGV0IGNvdW50cnkgPSB0aGlzLndvcmtDb3VudHJ5T3B0aW9uc1tpXTtcbiAgICAgIGlmIChjb3VudHJ5LnRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHF1ZXJ5LnRvTG93ZXJDYXNlKCkpID09IDApIHtcbiAgICAgICAgZmlsdGVyZWQucHVzaChjb3VudHJ5KTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy53b3JrQ291bnRyeU9wdGlvbnMgPSBmaWx0ZXJlZDtcbiAgfVxuXG5cbiAgZmlsdGVyTWlsaXRhcnlTZXJ2aWNlT3B0aW9ucyhldmVudCkge1xuXG4gICAgbGV0IGZpbHRlcmVkOiBhbnlbXSA9IFtdO1xuICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5O1xuICAgIHRoaXMubWlsaXRhcnlTZXJ2aWNlT3B0aW9ucyA9IENvbWJvT3B0aW9uLk1JTElUQVJZX1NFUlZJQ0U7XG4gICAgLy90aGlzLnN0YXRlLnNldFZhbHVlKG51bGwpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5taWxpdGFyeVNlcnZpY2VPcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgb3B0aW9ucyA9IHRoaXMubWlsaXRhcnlTZXJ2aWNlT3B0aW9uc1tpXTtcbiAgICAgIGlmIChvcHRpb25zLnRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHF1ZXJ5LnRvTG93ZXJDYXNlKCkpID09IDApIHtcbiAgICAgICAgZmlsdGVyZWQucHVzaChvcHRpb25zKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5taWxpdGFyeVNlcnZpY2VPcHRpb25zID0gZmlsdGVyZWQ7XG5cbiAgfVxuXG4gIGZpbHRlclBheVJhdGUoZXZlbnQpIHtcbiAgICBsZXQgZmlsdGVyZWQ6IGFueVtdID0gW107XG4gICAgbGV0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XG4gICAgdGhpcy5wYXlSYXRlT3B0aW9ucyA9IENvbWJvT3B0aW9uLlBBWV9QRVJJT0RcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMucGF5UmF0ZU9wdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBwYXkgPSB0aGlzLnBheVJhdGVPcHRpb25zW2ldO1xuICAgICAgaWYgKHBheS50ZXh0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeS50b0xvd2VyQ2FzZSgpKSA9PSAwKSB7XG4gICAgICAgIGZpbHRlcmVkLnB1c2gocGF5KTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5wYXlSYXRlT3B0aW9ucyA9IGZpbHRlcmVkO1xuICB9XG5cbiAgZmlsdGVyUmVhc29uU2VwYXJhdGlvbihldmVudCkge1xuICAgIGxldCBmaWx0ZXJlZDogYW55W10gPSBbXTtcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTsgICAgXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmVtcGxveW1lbnRTdGF0dXNPcHRpb25zQWxsLmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgc2VwUmVhc29uID0gdGhpcy5lbXBsb3ltZW50U3RhdHVzT3B0aW9uc0FsbFtpXTtcbiAgICAgIGlmIChzZXBSZWFzb24udGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnkudG9Mb3dlckNhc2UoKSkgPT0gMCkge1xuICAgICAgICBmaWx0ZXJlZC5wdXNoKHNlcFJlYXNvbik7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuZW1wbG95bWVudFN0YXR1c09wdGlvbnMgPSBmaWx0ZXJlZDsgIFxuICB9XG5cblxuICBmaWx0ZXJVc1N0YXRlKGV2ZW50KSB7XG4gICAgbGV0IGZpbHRlcmVkOiBhbnlbXSA9IFtdO1xuICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5O1xuICAgIHRoaXMuc3RhdGVzT3B0aW9ucyA9IENvbWJvT3B0aW9uLlVTX1NUQVRFUztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3RhdGVzT3B0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgbGV0IHNlcFJlYXNvbiA9IHRoaXMuc3RhdGVzT3B0aW9uc1tpXTtcbiAgICAgIGlmIChzZXBSZWFzb24udGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnkudG9Mb3dlckNhc2UoKSkgPT0gMCkge1xuICAgICAgICBmaWx0ZXJlZC5wdXNoKHNlcFJlYXNvbik7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc3RhdGVzT3B0aW9ucyA9IGZpbHRlcmVkO1xuICB9XG5cbiAgY2hlY2tGb3JTdGF0ZShzZWxlY3RlZFN0YXRlVmFsdWUpe1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdzZWxlY3RlZFN0YXRlVmFsdWUnLHNlbGVjdGVkU3RhdGVWYWx1ZS52YWx1ZSk7XG4gICAgbGV0IGJwU3RhcnREYXRlOiBEYXRlID0gbmV3IERhdGUodGhpcy5iYXNlUGVyaW9kU3RhcnREYXRlKTtcbiAgICBsZXQgYnBFbmREYXRlOiBEYXRlID0gbmV3IERhdGUodGhpcy5iYXNlUGVyaW9kRW5kRGF0ZSk7XG4gICAgbGV0IHN0YXJ0ZURhdGVWYWw6IERhdGUgPSBuZXcgRGF0ZSh0aGlzLnN0YXJ0RGF0ZS52YWx1ZSk7XG4gICAgbGV0IGVuZERhdGVWYWw6IERhdGUgPSBuZXcgRGF0ZSh0aGlzLmVuZERhdGUudmFsdWUpXG4gICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdicFN0YXJ0RGF0ZSAnLCBicFN0YXJ0RGF0ZSwgJ3N0YXJ0ZURhdGVWYWwgJywgc3RhcnRlRGF0ZVZhbCk7XG4gICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdlbmREYXRlVmFsICcsIGVuZERhdGVWYWwsICdicEVuZERhdGUgJywgYnBFbmREYXRlKTtcbiAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3N0YXJ0ZURhdGVWYWwgPj0gYnBFbmREYXRlICcsIHN0YXJ0ZURhdGVWYWwgPj0gYnBFbmREYXRlKTtcbiAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2VuZERhdGVWYWw8PSBicEVuZERhdGUgJywgZW5kRGF0ZVZhbDw9IGJwRW5kRGF0ZSk7XG4gICAgaWYgKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiBzZWxlY3RlZFN0YXRlVmFsdWUudmFsdWU9PT10aGlzLmN1cnJlbnRTdGF0ZSkge1xuICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiSW5zaWRlIElGXCIpXG4gICAgICBpZiAoc3RhcnRlRGF0ZVZhbC5nZXRUaW1lKCkgPCBicEVuZERhdGUuZ2V0VGltZSgpICYmIGVuZERhdGVWYWwuZ2V0VGltZSgpPiBicFN0YXJ0RGF0ZS5nZXRUaW1lKCkpIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy5zZXRWYWx1ZSh0cnVlKTtcbiAgICAgICAgdGhpcy5zZXRWYWxpZGF0aW9uT25WZXJpZmljYXRpb25PZldhZ2VzRmllbGRzKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnNldFZhbHVlKGZhbHNlKTtcbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGF0aW9uT25WZXJpZmljYXRpb25PZldhZ2VzRmllbGRzKCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcyA9ICcsIHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMpOyAgIFxuICB9XG5cblxuICAvKmZpbHRlckpvYlRpbGVPclBvc2l0aW9uKGV2ZW50KSB7XG4gICAgbGV0IGZpbHRlcmVkOiBBdXRvY29kZXJNb2RlbFtdID0gW107XG4gICAgbGV0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XG4gICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5nZXQoYC9jbGFpbXMtc2VydmljZS9jbGFpbS9qb2J0aXRsZS9gICsgYCR7cXVlcnl9YCkuc3Vic2NyaWJlKFxuICAgICAgcmVzID0+IHtcbiAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdyZXMnLCByZXMpO1xuICAgICAgICB0aGlzLmpvYlRpbGVPclBvc2l0aW9uT3B0aW9ucyA9IHJlcztcbiAgICAgIH0pO1xuICB9XG5cbiAgZmlsdGVyRmVkSm9iVGlsZU9yUG9zaXRpb24oZXZlbnQpIHtcbiAgICBsZXQgZmlsdGVyZWQ6IEF1dG9jb2Rlck1vZGVsW10gPSBbXTtcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcbiAgICB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmdldChgL2NsYWltcy1zZXJ2aWNlL2NsYWltL2pvYnRpdGxlL2AgKyBgJHtxdWVyeX1gKS5zdWJzY3JpYmUoXG4gICAgICByZXMgPT4ge1xuICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3JlcycsIHJlcyk7XG4gICAgICAgIHRoaXMuZmVkSm9iVGlsZU9wdGlvbnMgPSByZXM7XG4gICAgICB9KTtcbiAgfSovXG5cbiAgZmlsdGVyRGlzY2hhcmdlUmVhc29ucyhldmVudCkge1xuICAgIGxldCBmaWx0ZXJlZDogYW55W10gPSBbXTtcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbC5sZW5ndGg7IGkrKykge1xuICAgICAgbGV0IHNlcFJlYXNvbiA9IHRoaXMuZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbFtpXTtcbiAgICAgIGlmIChzZXBSZWFzb24udGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnkudG9Mb3dlckNhc2UoKSkgPT0gMCkge1xuICAgICAgICBmaWx0ZXJlZC5wdXNoKHNlcFJlYXNvbik7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuZGlzY2hhcmdlUmVhc29uT3B0aW9ucyA9IGZpbHRlcmVkO1xuICB9XG5cbiAgZmlsdGVyVm9sdW50YXJ5UmVhc29uKGV2ZW50KSB7XG4gICAgbGV0IGZpbHRlcmVkOiBhbnlbXSA9IFtdO1xuICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5O1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy52b2xRdWl0UmVhc29uT3B0aW9uc0FsbC5sZW5ndGg7IGkrKykge1xuICAgICAgbGV0IHNlcFJlYXNvbiA9IHRoaXMudm9sUXVpdFJlYXNvbk9wdGlvbnNBbGxbaV07XG4gICAgICBpZiAoc2VwUmVhc29uLnRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHF1ZXJ5LnRvTG93ZXJDYXNlKCkpID09IDApIHtcbiAgICAgICAgZmlsdGVyZWQucHVzaChzZXBSZWFzb24pO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnZvbFF1aXRSZWFzb25PcHRpb25zID0gZmlsdGVyZWQ7XG4gIH1cblxuICB2YWxpZGF0ZShldmVudCkge1xuICAgIGlmKGV2ZW50LnRhcmdldD8udmFsdWUpe1xuICAgICAgdGhpcy5taW5EYXRlID0gbmV3IERhdGUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB9IGVsc2UgaWYoIGV2ZW50IGluc3RhbmNlb2YgRGF0ZSl7XG4gICAgICB0aGlzLm1pbkRhdGUgPSBldmVudDtcbiAgICB9XG4gICAgdGhpcy5lbmREYXRlLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd0aGlzLmJhc2VQZXJpb2RTdGFydERhdGUnLCB0aGlzLmJhc2VQZXJpb2RTdGFydERhdGUpICBcbiAgfVxuXG4gIHZhbGlkYXRlV2FnZXNEaXNwbGF5KGV2ZW50KXtcbiAgICBsZXQgYnBTdGFydERhdGU6IERhdGUgPSBuZXcgRGF0ZSh0aGlzLmJhc2VQZXJpb2RTdGFydERhdGUpO1xuICAgIGxldCBicEVuZERhdGU6IERhdGUgPSBuZXcgRGF0ZSh0aGlzLmJhc2VQZXJpb2RFbmREYXRlKTtcbiAgICBsZXQgc3RhcnRlRGF0ZVZhbDogRGF0ZSA9IG5ldyBEYXRlKHRoaXMuc3RhcnREYXRlLnZhbHVlKTtcbiAgICBsZXQgZW5kRGF0ZVZhbDogRGF0ZSA9IGV2ZW50LnRhcmdldD8udmFsdWUgPyBuZXcgRGF0ZShldmVudC50YXJnZXQudmFsdWUpIDogZXZlbnQ7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2JwU3RhcnREYXRlICcsIGJwU3RhcnREYXRlLCAnc3RhcnRlRGF0ZVZhbCAnLCBzdGFydGVEYXRlVmFsKTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnZW5kRGF0ZVZhbCAnLCBlbmREYXRlVmFsLCAnYnBFbmREYXRlICcsIGJwRW5kRGF0ZSk7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3N0YXJ0ZURhdGVWYWwgYmVmb3JlIGJwRW5kRGF0ZSAnLCBzdGFydGVEYXRlVmFsIDwgYnBFbmREYXRlKTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnZW5kRGF0ZVZhbCBhZnRlciBicFN0YXJ0RGF0ZSAnLCBlbmREYXRlVmFsID4gYnBTdGFydERhdGUpO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd0aGlzLndvcmtTdGF0ZSAnLCB0aGlzLndvcmtTdGF0ZSk7XG4gICAgaWYgKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLndvcmtTdGF0ZS52YWx1ZSBcbiAgICAgICAgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUudmFsdWUgPT09IHRoaXMuY3VycmVudFN0YXRlICYmIHRoaXMuaXNOZXdDbGFpbSkge1xuICAgICAgICBpZiAoc3RhcnRlRGF0ZVZhbC5nZXRUaW1lKCkgPCBicEVuZERhdGUuZ2V0VGltZSgpICYmIGVuZERhdGVWYWwuZ2V0VGltZSgpPiBicFN0YXJ0RGF0ZS5nZXRUaW1lKCkpIHtcbiAgICAgICAgICB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnNldFZhbHVlKHRydWUpO1xuICAgICAgICAgIGlmKCF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKXtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsaWRhdGlvbk9uVmVyaWZpY2F0aW9uT2ZXYWdlc0ZpZWxkcygpO1xuICAgICAgICAgIH1lbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlVmFsaWRhdGlvbk9uVmVyaWZpY2F0aW9uT2ZXYWdlc0ZpZWxkcygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnNldFZhbHVlKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnNldFZhbHVlKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBmaWx0ZXJHcm91cGVkUmVhc29uKGV2ZW50KSB7XG4gICAgbGV0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3F1ZXJ5JyxxdWVyeSk7XG4gICAgbGV0IGZpbHRlcmVkR3JvdXBzID0gW107XG4gICAgdGhpcy5ncm91cGVkUmVhc29ucz0gQ29tYm9PcHRpb24uR1JPVVBfUkVBU09OUztcblxuICAgIGZvciAobGV0IG9wdGdyb3VwIG9mIHRoaXMuZ3JvdXBlZFJlYXNvbnMpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdvcHRncm91cC5pdGVtcycsb3B0Z3JvdXAuaXRlbXMpO1xuICAgICAgbGV0IGZpbHRlcmVkU3ViT3B0aW9ucyA9IHRoaXMuZmlsdGVyU2VydmljZS5maWx0ZXIoXG4gICAgICAgIG9wdGdyb3VwLml0ZW1zLFxuICAgICAgICBbXCJsYWJlbFwiXSxcbiAgICAgICAgcXVlcnksXG4gICAgICAgIFwiY29udGFpbnNcIlxuICAgICAgKTtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdmaWx0ZXJlZFN1Yk9wdGlvbnMnLGZpbHRlcmVkU3ViT3B0aW9ucyk7XG4gICAgICBpZiAoZmlsdGVyZWRTdWJPcHRpb25zICYmIGZpbHRlcmVkU3ViT3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgZmlsdGVyZWRHcm91cHMucHVzaCh7XG4gICAgICAgICAgbGFiZWw6IG9wdGdyb3VwLmxhYmVsLFxuICAgICAgICAgIHZhbHVlOiBvcHRncm91cC52YWx1ZSxcbiAgICAgICAgICBpdGVtczogZmlsdGVyZWRTdWJPcHRpb25zXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuZ3JvdXBlZFJlYXNvbnMgPSBmaWx0ZXJlZEdyb3VwcztcbiAgfVxuXG4gIG9uQ2xlYXJBY3Rpb24oZXZlbnQpIHtcbiAgICB0aGlzLm9uQ2hhbmdlKG51bGwpO1xuICB9XG5cbiAgZGF0ZUlucHV0KGV2ZW50KXtcbiAgICBsZXQgY3VycmVudFZhbHVlIDogc3RyaW5nID0gZXZlbnQuc3JjRWxlbWVudC52YWx1ZTtcbiAgICBpZihjdXJyZW50VmFsdWUpe1xuICAgICAgICBpZihjdXJyZW50VmFsdWUubGVuZ3RoID09IDIgJiYgY3VycmVudFZhbHVlLmNoYXJBdCgyKSAhPSAnLycpe1xuICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gY3VycmVudFZhbHVlICsgXCIvXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYoY3VycmVudFZhbHVlLmxlbmd0aCA9PSA1ICYmIGN1cnJlbnRWYWx1ZS5jaGFyQXQoNSkgIT0gJy8nKXtcbiAgICAgICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IGN1cnJlbnRWYWx1ZSArIFwiL1wiO1xuICAgICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiIsIjxwLWRpYWxvZyB2aXNpYmxlPVwidHJ1ZVwiIG1vZGFsPVwidHJ1ZVwiIHBvc2l0aW9uPVwidG9wXCIgYXBwZW5kVG89XCJib2R5XCIgW3Nob3dIZWFkZXJdPVwiZmFsc2VcIlxyXG4gIFtkcmFnZ2FibGVdPVwiZmFsc2VcIiBbcmVzaXphYmxlXT1cImZhbHNlXCIgICBbc3R5bGVdPVwie3dpZHRoOiAnNjB2dyd9XCIgW2JyZWFrcG9pbnRzXT1cInsnMTIwMHB4JzogJzY2MHB4JywgJzk5MnB4JzogJzY2MHB4JywgJzc2OHB4JzogJzY2MHB4JywgJzU3NnB4JzogJzEwMHZ3J31cIiA+XHJcbiAgPGg0IHN0eWxlPVwiY29sb3I6IHZhcigtLWlvbi1jb2xvci1ncmV5KTsgcGFkZGluZy1sZWZ0OiAyMHB4O1wiPiB7e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5oZWFkaW5nXCJ8dHJhbnNsYXRlfX08L2g0PlxyXG5cclxuXHJcbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJhZGRFbXBsb3llckZvcm1cIiAjYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCI+XHJcbiAgICA8aW9uLWdyaWQ+XHJcbiAgICAgIDxpb24tcm93PlxyXG4gICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiNlwiIHNpemVMZz1cIjZcIiBzaXplWGw9XCI2XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1mbHVpZCBwLWZvcm1ncmlkXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICB7e2N1c3RvbWVyTmFtZX19IFxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJhbGlhc05hbWUgIT0gbnVsbFwiPiBcclxuICAgICAgICAgICAgICAgIHt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LmRiYVwifHRyYW5zbGF0ZX19IHt7YWxpYXNOYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICA8YnI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJmb250LXNpemU6IDEycHg7XCI+IHt7bWFpbGluZ0FkZHJlc3NEaXNwbGF5fX1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzQ1NSXCI+XHJcbiAgICAgICAgICAgICAgICA8YnI+XHJcbiAgICAgICAgICAgICAgICB7e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5lbXBsb3llci53YWdlc1wifHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJpc0NTUlwiPlxyXG4gICAgICAgICAgICAgICAgPHAtdGFibGUgW3ZhbHVlXT1cImVtcGxveWVyUHJvdmlkZWRXYWdlc1wiIHN0eWxlQ2xhc3M9XCJwLWRhdGF0YWJsZS1zdHJpcGVkIGFwcC1kYXRhdGFibGUgaW9uLXBhZGRpbmctdG9wXCIgXHJcbiAgICAgICAgICAgICAgICAgIFtjb2x1bW5zXT1cImVtcGxveWVyUHJvdmlkZWRXYWdlc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCIgbGV0LWNvbHVtbnM+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj57eyBjb2wucXRyWWVhckRpc3BsYXlTdHJpbmcgfX08L2I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICB7e2NvbC53YWdlQW1vdW50IHwgY3VycmVuY3l9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPC9wLXRhYmxlPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWUgPT0gJ04nXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndvcmtGbGFnXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQud29ya2ZsYWcubm9cInx0cmFuc2xhdGV9fTxici8+IDxici8+XHJcbiAgICAgICAgICAgICAgICB7e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC53b3JrZmxhZy5uby5saW5lMlwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llclwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJlbXBsb3llclR5cGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmVtcGxveWVyLnR5cGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBpbmhlcml0O1wiPlxyXG4gICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBbb3B0aW9uc109XCJlbXBsb3llclR5cGVPcHRpb25zXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZW1wbG95ZXJUeXBlXCIgKG9uT3B0aW9uQ2xpY2spPVwib25Ub2dnbGVDaGFuZ2VFbXBsb3llclR5cGUoJGV2ZW50KVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2VtcGxveWVyVHlwZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJlbXBsb3llck5hbWVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmVtcGxveWVyLm5hbWVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGFwcC1zZWFyY2gtZW1wbG95ZXIgW2Zvcm1Db250cm9sXT1cImVtcGxveWVyTmFtZVwiIGVtcFR5cGU9XCJSRUdcIiAob25Gb3VuZCk9XCJzZXRFbXBsb3llcigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChvbkVtcHR5KT1cInJlc2V0RW1wbG95ZXIoJGV2ZW50KVwiPjwvYXBwLXNlYXJjaC1lbXBsb3llcj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZW1wbG95ZXJOYW1lJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAgc3R5bGU9XCJ3aWR0aDogaW5oZXJpdCAhaW1wb3J0YW50O1wiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmVkRW1wbG95ZXJOYW1lXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5lbXBsb3llci5mZWQubmFtZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8YXBwLXNlYXJjaC1lbXBsb3llciBbZm9ybUNvbnRyb2xdPVwiZmVkRW1wbG95ZXJOYW1lXCIgZW1wVHlwZT1cIkZFRFwiIChvbkZvdW5kKT1cInNldEZlZEVtcGxveWVyKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgKG9uRW1wdHkpPVwicmVzZXRGZWRFbXBsb3llcigkZXZlbnQpXCI+PC9hcHAtc2VhcmNoLWVtcGxveWVyPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmZWRFbXBsb3llck5hbWUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J01JTCdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic2VydmljZUJyYW5jaFwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLnNlcnZpY2UuYnJhbmNoXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gW29wdGlvbnNdPVwibWlsaXRhcnlTZXJ2aWNlT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJzZXJ2aWNlQnJhbmNoXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICAgICAgICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJzZXJ2aWNlQnJhbmNoXCI+PC9hcHAtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3NlcnZpY2VCcmFuY2gnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J01JTCdcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic3RhcnREYXRlTWlsXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuc3RhcnRkYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBpY29uQXJpYUxhYmVsPVwic3RhcnREYXRlTWlsXCIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwic3RhcnREYXRlTWlsXCIgIFtmb3JtQ29udHJvbF09XCJzdGFydERhdGVNaWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttYXhEYXRlXT1cImRhdGVUaW1lXCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCIgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgIChvbkJsdXIpPVwidmFsaWRhdGUoJGV2ZW50KVwiIChvblNlbGVjdCk9XCJ2YWxpZGF0ZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZT1cInN0cmluZ1wiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3N0YXJ0RGF0ZU1pbCcgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiPjwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZW5kRGF0ZU1pbFwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmVuZGRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIGljb25BcmlhTGFiZWw9XCJlbmREYXRlTWlsXCIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwiZW5kRGF0ZU1pbFwiIFttYXhEYXRlXT1cImRhdGVUaW1lXCIgW21pbkRhdGVdPVwibWluRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCIgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiBcclxuICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW2Zvcm1Db250cm9sXT1cImVuZERhdGVNaWxcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPjwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2VuZERhdGVNaWwnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgJiYgaGlkZUZpY0NvZGVcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmljQ29kZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLmZpYy5jb2RlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJmaWNDb2RlXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiZmljQ29kZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmaWNDb2RlJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmaWNEZXN0aW5hdGlvbk5hbWVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5maWMuZGVzdGluYXRpb25cInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImZpY0Rlc3RpbmF0aW9uTmFtZVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImZpY0Rlc3RpbmF0aW9uTmFtZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmaWNEZXN0aW5hdGlvbk5hbWUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgICAgPGlvbi1yb3cgICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCIgPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1sZWZ0OiAwcHg7IHBhZGRpbmctcmlnaHQ6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxhcHAtYWRkcmVzcyAjYWRkcmVzczEgW2Zvcm1Db250cm9sXT1cImFkZHJlc3NcIiBbY291bnR5UmVxdWlyZWRdPVwiZmFsc2VcIiBbZnJvbVBvcHVwXT1cInRydWVcIj4gPC9hcHAtYWRkcmVzcz4gXHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cclxuICAgICAgICAgICAgICA8YXBwLWFkZHJlc3MgI2FkZHJlc3MyIFtmb3JtQ29udHJvbF09XCJhZGRyZXNzXCIgY291bnR5UmVxdWlyZWQ9XCJmYWxzZVwiIFtmcm9tUG9wdXBdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgPiA8L2FwcC1hZGRyZXNzPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdhZGRyZXNzJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICBhZGRyZXNzVmFsaWRhdGlvbkZsYWc6ICdQbGVhc2UgcHJvdmlkZSwgYSB2YWxpZCBhZGRyZXNzLidcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+IFxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgXHJcblxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cIighaXNCYXNlUGVyaW9kRW1wbG95ZXIgICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnKVwiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3b3JrQ2l0eVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQud29yay5sb2NhdGlvbi5jaXR5XCJ8dHJhbnNsYXRlfX0gPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwid29ya0NpdHlcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJ3b3JrQ2l0eVwiIG1heGxlbmd0aD1cIjMwXCIvPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd29ya0NpdHknIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIj48L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndvcmtTdGF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQud29yay5sb2NhdGlvbi5zdGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbb3B0aW9uc109XCJzdGF0ZXNPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cIndvcmtTdGF0ZVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cIndvcmtTdGF0ZVwiPjwvYXBwLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd29ya1N0YXRlJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZlZFdvcmtDb3VudHJ5XCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQud29yay5sb2NhdGlvbi5jb3VudHJ5XCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gW29wdGlvbnNdPVwid29ya0NvdW50cnlPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImZlZFdvcmtDb3VudHJ5XCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICAgICAgICAgICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwiZmVkV29ya0NvdW50cnlcIj48L2FwcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmVkV29ya0NvdW50cnknIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmVkV29ya0NpdHlcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LndvcmsubG9jYXRpb24uY2l0eVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwiZmVkV29ya0NpdHlcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJmZWRXb3JrQ2l0eVwiIG1heGxlbmd0aD1cIjMwXCIvPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmVkV29ya0NpdHknIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIj48L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCIgICpuZ0lmPVwic2hvd1dvcmtTdGF0ZSA9PT0gdHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWRXb3JrU3RhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LndvcmsubG9jYXRpb24uc3RhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gW29wdGlvbnNdPVwic3RhdGVzT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJmZWRXb3JrU3RhdGVcIiBvcHRpb25MYWJlbD1cInRleHRcIiBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgICAgICAgICAgICAgICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJmZWRXb3JrU3RhdGVcIj48L2FwcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZFdvcmtTdGF0ZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuXHJcblxyXG4gICAgICAgICAgICBcclxuXHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic3RhcnREYXRlRmVkXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc3RhcnRkYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBpY29uQXJpYUxhYmVsPVwic3RhcnREYXRlRmVkXCIgW3Nob3dJY29uXT1cInRydWVcIiBbbWF4RGF0ZV09XCJkYXRlVGltZVwiIGlucHV0SWQ9XCJzdGFydERhdGVGZWRcIiBcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic3RhcnREYXRlRmVkXCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiICAob25CbHVyKT1cInZhbGlkYXRlKCRldmVudClcIiAob25TZWxlY3QpPVwidmFsaWRhdGUoJGV2ZW50KVwiIGRhdGFUeXBlPVwic3RyaW5nXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzdGFydERhdGVGZWQnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIj48L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImVuZERhdGVGZWRcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5lbmRkYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBpY29uQXJpYUxhYmVsPVwiZW5kRGF0ZUZlZFwiIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cImVuZERhdGVGZWRcIiBbbWF4RGF0ZV09XCJkYXRlVGltZVwiIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiAgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtmb3JtQ29udHJvbF09XCJlbmREYXRlRmVkXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj48L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlbmREYXRlRmVkJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZlZEpvYlRpbGVPclBvc2l0aW9uXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuam9idGl0bGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0IGlkPVwiZmVkSm9iVGlsZU9yUG9zaXRpb25cIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJmZWRKb2JUaWxlT3JQb3NpdGlvblwiIG1heGxlbmd0aD1cIjEwMFwiLz5cclxuICAgICAgICAgICAgIDwhLS0gIDxwLWF1dG9Db21wbGV0ZSBbZm9ybUNvbnRyb2xdPVwiZmVkSm9iVGlsZU9yUG9zaXRpb25cIiBbc3VnZ2VzdGlvbnNdPVwiZmVkSm9iVGlsZU9wdGlvbnNcIiBcclxuICAgICAgICAgICAgICAgIChjb21wbGV0ZU1ldGhvZCk9XCJmaWx0ZXJGZWRKb2JUaWxlT3JQb3NpdGlvbigkZXZlbnQpXCIgZmllbGQ9XCJqb2JUaXRsZVwiIFtkcm9wZG93bl09XCJmYWxzZVwiIFxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTdGFydC4uLiB0eXBpbmcgam9iIHRpdGxlXCIgbWluTGVuZ3RoPTMgZm9yY2VTZWxlY3Rpb249XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXZhbHVlIHBUZW1wbGF0ZT1cIml0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2Pnt7dmFsdWUuam9iVGl0bGV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPC9wLWF1dG9Db21wbGV0ZT4gLS0+XHJcblxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmZWRKb2JUaWxlT3JQb3NpdGlvbicgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzZkVpZ2h0ZmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNmZWlnaHRcInx0cmFuc2xhdGV9fSA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInNmRWlnaHRmbGFnXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3NmRWlnaHRmbGFnJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgIFxyXG4gICAgICAgICAgICA8aW9uLXJvd1xyXG4gICAgICAgICAgICAgICpuZ0lmPVwiKCgoaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWScpIFxyXG4gICAgICAgICAgICAgICAgICAgIHx8ICFpc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycpXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInN0YXJ0RGF0ZVwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnN0YXJ0ZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgaWNvbkFyaWFMYWJlbD1cInN0YXJ0RGF0ZVwiIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cInN0YXJ0RGF0ZVwiICBbbWF4RGF0ZV09XCJkYXRlVGltZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInN0YXJ0RGF0ZVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiICBcclxuICAgICAgICAgICAgICAgICAgICAob25CbHVyKT1cInZhbGlkYXRlKCRldmVudClcIiAob25TZWxlY3QpPVwidmFsaWRhdGUoJGV2ZW50KVwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc3RhcnREYXRlJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJlbmREYXRlXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuZW5kZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgaWNvbkFyaWFMYWJlbD1cImVuZERhdGVcIiBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJlbmREYXRlXCIgW21pbkRhdGVdPVwibWluRGF0ZVwiIFttYXhEYXRlXT1cImRhdGVUaW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCIgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtmb3JtQ29udHJvbF09XCJlbmREYXRlXCIgIChvbkJsdXIpPVwidmFsaWRhdGVXYWdlc0Rpc3BsYXkoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCIgKG9uU2VsZWN0KT1cInZhbGlkYXRlV2FnZXNEaXNwbGF5KCRldmVudClcIj48L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlbmREYXRlJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cIihkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIgICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnKVwiPlxyXG4gICAgICAgICAgICAgIDwhLS0gPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIm51bWJlckVtcGxveWVkXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcuZW1wbG95ZWVzLm5vXCIgfCB0cmFuc2xhdGV9fSA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBbaWRdPVwibnVtYmVyRW1wbG95ZWRcIiBbdXNlR3JvdXBpbmddPVwiZmFsc2VcIiBbZm9ybUNvbnRyb2xdPVwibnVtYmVyRW1wbG95ZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIG1heGxlbmd0aD1cIjlcIj48L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdudW1iZXJFbXBsb3llZCcgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiPjwvaW9uLWNvbD4gLS0+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndvcmtUeXBlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcud29yay50eXBlXCIgfCB0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cIndvcmtUeXBlXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwid29ya1R5cGVcIiBtYXhsZW5ndGg9XCI1MFwiLz5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3dvcmtUeXBlJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJjbGFpbWFudEVtcGxveWVkV2l0aEVtcHJcIj5XZXJlIHlvdSBlbXBsb3llZCB3aGlsZSBhIHNwb3VzZSBvZiBhIFVTIG1pbGl0YXJ5IG1lbWJlciBzdGF0aW9uZWQgYXRcclxuICAgICAgICAgICAgICAgIGEgZm9yZWlnbiBtaWxpdGFyeSBiYXNlPzwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBbb3B0aW9uc109XCJ5ZXNOb05hT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJjbGFpbWFudEVtcGxveWVkV2l0aEVtcHJcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdjbGFpbWFudEVtcGxveWVkV2l0aEVtcHInIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcblxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwZXJmb3JtZWRTZXJ2aWNlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuY2l2aWxpYW4ud29ya1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJwZXJmb3JtZWRTZXJ2aWNlXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncGVyZm9ybWVkU2VydmljZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cIigoaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWScpIHx8ICFpc0Jhc2VQZXJpb2RFbXBsb3llcikgICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImpvYlRpbGVPclBvc2l0aW9uXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuam9idGl0bGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0IGlkPVwiam9iVGlsZU9yUG9zaXRpb25cIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJqb2JUaWxlT3JQb3NpdGlvblwiIG1heGxlbmd0aD1cIjEwMFwiLz5cclxuICAgICAgICAgICAgICA8IS0tIDxwLWF1dG9Db21wbGV0ZSBbZm9ybUNvbnRyb2xdPVwiam9iVGlsZU9yUG9zaXRpb25cIiBbc3VnZ2VzdGlvbnNdPVwiam9iVGlsZU9yUG9zaXRpb25PcHRpb25zXCIgXHJcbiAgICAgICAgICAgICAgICAoY29tcGxldGVNZXRob2QpPVwiZmlsdGVySm9iVGlsZU9yUG9zaXRpb24oJGV2ZW50KVwiIGZpZWxkPVwiam9iVGl0bGVcIiAob25DbGVhcik9XCJvbkNsZWFyQWN0aW9uKCRldmVudClcIiBcclxuICAgICAgICAgICAgICAgICBbZHJvcGRvd25dPVwiZmFsc2VcIiBwbGFjZWhvbGRlcj1cIlN0YXJ0Li4uIHR5cGluZyBqb2IgdGl0bGVcIiBtaW5MZW5ndGg9MyBmb3JjZVNlbGVjdGlvbj1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtdmFsdWUgcFRlbXBsYXRlPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+e3t2YWx1ZS5qb2JUaXRsZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8L3AtYXV0b0NvbXBsZXRlPiAtLT5cclxuXHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2pvYlRpbGVPclBvc2l0aW9uJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmctcmlnaHQ6NXB4OyBwYWRkaW5nLWxlZnQ6IDBweDtcIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIoaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWScpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBheVJhdGVcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5wYXlyYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBbZm9ybUNvbnRyb2xdPVwicGF5UmF0ZVwiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCIgW21heF09XCI5OTk5OTkuOTlcIiBtYXhsZW5ndGg9XCIxMlwiIGxvY2FsZT1cImVuLVVTXCI+PC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncGF5UmF0ZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDtcIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIoaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWScpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBheVJhdGVGcmVxdWVuY3lcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5wZXJcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gW29wdGlvbnNdPVwicGF5UmF0ZU9wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwicGF5UmF0ZUZyZXF1ZW5jeVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cInBheVJhdGVGcmVxdWVuY3lcIj48L2FwcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BheVJhdGVGcmVxdWVuY3knIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCIoKChpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJykgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiAgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycpXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImVtcGxveWVyVGVsZXBob25lTnVtYmVyXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuZW1wbG95ZXIucGhvbmVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxwLWlucHV0TWFzayBtYXNrPVwiOTk5LTk5OS05OTk5XCIgW2lkXT1cImVtcGxveWVyVGVsZXBob25lTnVtYmVyXCIgW2Zvcm1Db250cm9sXT1cImVtcGxveWVyVGVsZXBob25lTnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiOTk5LTk5OS05OTk5XCI+PC9wLWlucHV0TWFzaz5cclxuXHJcblxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlbXBsb3llclRlbGVwaG9uZU51bWJlcicgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCJcclxuICAgICAgICAgICAgICAgIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgXHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZSAmJiAoKChpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJykgXHJcbiAgICAgICAgICAgICAgICAgICAgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiBlbXBsb3llclR5cGUudmFsdWUhPSdNSUwnKVwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJyZWFzb25TZXBhcmF0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnIFwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnJlYXNvbi5zZXBhcmF0aW9uXCJ8dHJhbnNsYXRlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQucmVhc29uLnNlcGFyYXRpb25cInx0cmFuc2xhdGV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbb3B0aW9uc109XCJlbXBsb3ltZW50U3RhdHVzT3B0aW9uc0FsbFwiIFtmb3JtQ29udHJvbF09XCJyZWFzb25TZXBhcmF0aW9uXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICAgICAgICAgICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwicmVhc29uU2VwYXJhdGlvblwiID48L2FwcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncmVhc29uU2VwYXJhdGlvbicgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8IS0tIGFkZCBmb3IgcXVpdCBhbmQgZGlzY2hhcmdlIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIigoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKSBcclxuICAgICAgICAgICAgICAgIHx8ICFpc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgcmVhc29uU2VwYXJhdGlvbi52YWx1ZSAmJiByZWFzb25TZXBhcmF0aW9uLnZhbHVlLnZhbHVlID09PSAnRENGSScgXHJcbiAgICAgICAgICAgICAgICAmJiBlbXBsb3llclR5cGUudmFsdWUhPSdNSUwnKVwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJkaXNjaGFyZ2VEZXRhaWxcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5yZWFzb24uc2VwYXJhdGlvbi5kaXNjaGFyZ2VcInx0cmFuc2xhdGV9fTwvbGFiZWw+IFxyXG4gICAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gW29wdGlvbnNdPVwiZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbFwiIFtmb3JtQ29udHJvbF09XCJkaXNjaGFyZ2VEZXRhaWxcIiBvcHRpb25MYWJlbD1cInRleHRcIiBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgICAgICAgICAgICAgICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJkaXNjaGFyZ2VEZXRhaWxcIj48L2FwcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZGlzY2hhcmdlRGV0YWlsJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIigoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKSBcclxuICAgICAgICAgICAgICB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIHJlYXNvblNlcGFyYXRpb24udmFsdWUgJiYgcmVhc29uU2VwYXJhdGlvbi52YWx1ZS52YWx1ZSA9PT0gJ1ZPTFEnIFxyXG4gICAgICAgICAgICAgICYmIGVtcGxveWVyVHlwZS52YWx1ZSE9J01JTCcpXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInZvbFF1aXREZXRhaWxzXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucmVhc29uLnNlcGFyYXRpb24ucXVpdFwifHRyYW5zbGF0ZX19PC9sYWJlbD4gXHJcbiAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbb3B0aW9uc109XCJ2b2xRdWl0UmVhc29uT3B0aW9uc0FsbFwiIFtmb3JtQ29udHJvbF09XCJ2b2xRdWl0RGV0YWlsc1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cInZvbFF1aXREZXRhaWxzXCI+PC9hcHAtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3ZvbFF1aXREZXRhaWxzJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdNSUwnIFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJtaWxQZW5zaW9uRmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLnBlbnNpb25cInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgPGJyPiB7e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5wZW5zaW9uLmRpc2NsYWltZXJcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwibWlsUGVuc2lvbkZsYWdcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdtaWxQZW5zaW9uRmxhZycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdNSUwnICYmIHRoaXMubWlsUGVuc2lvbkZsYWcudmFsdWUgPT09ICdZJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSAhPSAnTUUnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIm1pbFBlbnNpb25SZWN2RGF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLnBlbnNpb24uZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJtaWxQZW5zaW9uUmVjdkRhdGVcIiBcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwibWlsUGVuc2lvblJlY3ZEYXRlXCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIFxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiICB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiAgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdtaWxQZW5zaW9uUmVjdkRhdGUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdNSUwnIFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJkZDIxNEZsYWdcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNFwifHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD48YnI+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDsgZGlzcGxheTogaW5saW5lLWZsZXg7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImRkMjE0RmxhZ1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIiAob25PcHRpb25DbGljayk9XCJwdXRNaWxWYWxpZGF0aW9uKCRldmVudClcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBbb3ZlcmxheVRleHRdPVwiZGQyMTRJbmZvXCIgPjwvYXBwLW92ZXJsYXktaW5mbz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2RkMjE0RmxhZycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgIFxyXG4gICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiNlwiIHNpemVMZz1cIjZcIiBzaXplWGw9XCI2XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1mbHVpZCBwLWZvcm1ncmlkXCI+XHJcblxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llclwiIGNsYXNzPVwiaW9uLWhpZGUtc20tZG93blwiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sID5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llclwiIGNsYXNzPVwiaW9uLWhpZGUtc20tZG93blwiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyXCIgY2xhc3M9XCJpb24taGlkZS1zbS1kb3duXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImlzQmFzZVBlcmlvZEVtcGxveWVyXCIgY2xhc3M9XCJpb24taGlkZS1zbS1kb3duXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJpc0Jhc2VQZXJpb2RFbXBsb3llclwiIGNsYXNzPVwiaW9uLWhpZGUtc20tZG93blwiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J01JTCcgJiYgZGQyMTRGbGFnLnZhbHVlPT09J1knXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInBhcmFPbmUgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8YXBwLWZpbGUtdXBsb2FkZXIgW2Zvcm1Db250cm9sXT1cImRkMjE0RmlsZVwiIFt1cGxvYWRlZEZpbGVGb3JFZGl0XT1cImRkMjE0RmlsZS52YWx1ZVwiPjwvYXBwLWZpbGUtdXBsb2FkZXI+IC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChwYXJhVHdvIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHBhcmFUaHJlZSB8IHRyYW5zbGF0ZSlcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChwYXJhRm91ciB8IHRyYW5zbGF0ZSlcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChwYXJhRml2ZSB8IHRyYW5zbGF0ZSlcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChwYXJhU2l4fCB0cmFuc2xhdGUpXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDE1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdNSUwnICYmIGRkMjE0RmxhZy52YWx1ZT09PSdOJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJub1BhcmFPbmUgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwhLS0gPGFwcC1maWxlLXVwbG9hZGVyIFtmb3JtQ29udHJvbF09XCJkZDIxNEZpbGVcIiBbdXBsb2FkZWRGaWxlRm9yRWRpdF09XCJkZDIxNEZpbGUudmFsdWVcIj48L2FwcC1maWxlLXVwbG9hZGVyPiAtLT5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChub1BhcmFUd28gfCB0cmFuc2xhdGUpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKG5vUGFyYVRocmVlIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChub1BhcmFGb3VyIHwgdHJhbnNsYXRlKVwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiAxNXB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChub1BhcmFGaXZlIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCIoZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIG9zYUJwRW1wbG95ZXJGbGFnLnZhbHVlID09PScxJylcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmctdG9wOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImdyb3NzV2FnZXNcIiAgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWF4LWNvbnRlbnQ7XCI+VG90YWwgV2FnZXMgRWFybmVkPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgW2Zvcm1Db250cm9sXT1cImdyb3NzV2FnZXNcIiBtb2RlPVwiY3VycmVuY3lcIiBjdXJyZW5jeT1cIlVTRFwiIG1heGxlbmd0aD1cIjEyXCIgW21heF09XCI5OTk5OTkuOTlcIiBsb2NhbGU9XCJlbi1VU1wiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdncm9zc1dhZ2VzJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cIihlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDsgcGFkZGluZy1sZWZ0OiAwcHg7IHBhZGRpbmctdG9wOiAwcHg7XCJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBheVJhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnBheXJhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyIGlucHV0SWQ9XCJwYXlSYXRlXCIgW2Zvcm1Db250cm9sXT1cInBheVJhdGVcIiBtb2RlPVwiY3VycmVuY3lcIiBjdXJyZW5jeT1cIlVTRFwiIFttYXhdPVwiOTk5OTk5Ljk5XCIgbWF4bGVuZ3RoPVwiMTJcIiBsb2NhbGU9XCJlbi1VU1wiPjwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BheVJhdGUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcblxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7cGFkZGluZy10b3A6IDBweDtcIiBcclxuICAgICAgICAgICAgICAgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGF5UmF0ZUZyZXF1ZW5jeVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucGVyXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtvcHRpb25zXT1cInBheVJhdGVPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInBheVJhdGVGcmVxdWVuY3lcIiBvcHRpb25MYWJlbD1cInRleHRcIiBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgICAgICAgICAgICAgICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJwYXlSYXRlRnJlcXVlbmN5XCI+PC9hcHAtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwYXlSYXRlRnJlcXVlbmN5JyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCAqbmdJZj1cImRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmICFpc0Jhc2VQZXJpb2RFbXBsb3llclwiIHN0eWxlPVwicGFkZGluZy10b3A6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZ3Jvc3NXYWdlc1wiICBzdHlsZT1cImlubGluZS1zaXplOiBtYXgtY29udGVudDtcIj5Ub3RhbCBXYWdlcyBFYXJuZWQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBbZm9ybUNvbnRyb2xdPVwiZ3Jvc3NXYWdlc1wiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCIgbWF4bGVuZ3RoPVwiMTJcIiBbbWF4XT1cIjk5OTk5OS45OVwiIGxvY2FsZT1cImVuLVVTXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2dyb3NzV2FnZXMnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcblxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyBcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmVkUGVuc2lvbkZsYWdcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5wZW5zaW9uXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgIDxicj4ge3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQucGVuc2lvbi5kaXNjbGFpbWVyXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7IGRpc3BsYXk6ZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJmZWRQZW5zaW9uRmxhZ1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIiA+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1vdmVybGF5LWluZm8gb3ZlcmxheVRleHQ9XCJ7eydpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnBlbnNpb24uaW5mbyd8IHRyYW5zbGF0ZX19XCIgXHJcbiAgICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLXRvcDogMnB4OyBtYXJnaW4tbGVmdDogNnB4O1wiPjwvYXBwLW92ZXJsYXktaW5mbz5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmZWRQZW5zaW9uRmxhZycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyAmJiB0aGlzLmZlZFBlbnNpb25GbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5jdXJyZW50U3RhdGUgIT0gJ01FJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWRQZW5zaW9uUmVjdkRhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5wZW5zaW9uLmRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwiZmVkUGVuc2lvblJlY3ZEYXRlXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZlZFBlbnNpb25SZWN2RGF0ZVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiBcclxuICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiAgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCIgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgIGRhdGFUeXBlPVwic3RyaW5nXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmVkUGVuc2lvblJlY3ZEYXRlJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ01FJyBcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic2V2UGF5RmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNldmVyYW5jZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJzZXZQYXlGbGFnXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2V2UGF5RmxhZycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgJiYgc2V2UGF5RmxhZy52YWx1ZT09PSdZJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndlZWtseUFtb3VudFwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNldmVyYW5jZS53ZWVrbHkuYW10XCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBbZm9ybUNvbnRyb2xdPVwid2Vla2x5QW1vdW50XCIgbW9kZT1cImN1cnJlbmN5XCIgY3VycmVuY3k9XCJVU0RcIiBtYXhsZW5ndGg9XCIxMlwiIFttYXhdPVwiOTk5OTk5Ljk5XCIgbG9jYWxlPVwiZW4tVVNcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd2Vla2x5QW1vdW50JyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmctcmlnaHQ6NXB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJudW1iZXJPZldlZWtzXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2V2ZXJhbmNlLndlZWtzXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBbaWRdPVwibnVtYmVyT2ZXZWVrc1wiIFt1c2VHcm91cGluZ109XCJmYWxzZVwiIFtmb3JtQ29udHJvbF09XCJudW1iZXJPZldlZWtzXCIgbWF4bGVuZ3RoPVwiNFwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdudW1iZXJPZldlZWtzJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG5cclxuICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic2V2UGF5QW1vdW50XCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2V2ZXJhbmNlLmVudGl0bGVtZW50XCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBbZm9ybUNvbnRyb2xdPVwic2V2UGF5QW1vdW50XCIgbW9kZT1cImN1cnJlbmN5XCIgY3VycmVuY3k9XCJVU0RcIiBtYXhsZW5ndGg9XCIxMlwiIFttYXhdPVwiOTk5OTk5Ljk5XCIgbG9jYWxlPVwiZW4tVVNcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2V2UGF5QW1vdW50JyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+ICAgICAgXHJcblxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnICYmIHNldlBheUZsYWcudmFsdWU9PT0nWSdcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmctcmlnaHQ6NXB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzZXZQYXlTdGFydERhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5zZXZlcmFuY2Uuc3RhcnQuZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwic2V2UGF5U3RhcnREYXRlXCIgIChvbkJsdXIpPVwidmFsaWRhdGUoJGV2ZW50KVwiIChvblNlbGVjdCk9XCJ2YWxpZGF0ZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2V2UGF5U3RhcnREYXRlXCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCIgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgIGRhdGFUeXBlPVwic3RyaW5nXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZXZQYXlTdGFydERhdGUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcblxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNldlBheUVuZERhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5zZXZlcmFuY2UuZW5kLmRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cInNldlBheUVuZERhdGVcIiAgW2Zvcm1Db250cm9sXT1cInNldlBheUVuZERhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiBcclxuICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiAgW21pbkRhdGVdPVwibWluRGF0ZVwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2V2UGF5RW5kRGF0ZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNldlBheVBheW1lbnRTdGFydERhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5zZXZlcmFuY2UucGF5LmRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cInNldlBheVBheW1lbnRTdGFydERhdGVcIiBcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2V2UGF5UGF5bWVudFN0YXJ0RGF0ZVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiBcclxuICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiAgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCIgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgIGRhdGFUeXBlPVwic3RyaW5nXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZXZQYXlQYXltZW50U3RhcnREYXRlJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIihpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJyAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJylcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGVuc2lvbkZsYWdcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5wZW5zaW9uXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInBlbnNpb25GbGFnXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncGVuc2lvbkZsYWcnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knICYmIHBlbnNpb25GbGFnLnZhbHVlPT09J1knIFxyXG4gICAgICAgICAgICAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSAhPSAnTUUnKVwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwZW5zaW9uUmVjdkRhdGVcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5wZW5zaW9uLmRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwicGVuc2lvblJlY3ZEYXRlXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInBlbnNpb25SZWN2RGF0ZVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiBcclxuICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiAgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCIgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgIGRhdGFUeXBlPVwic3RyaW5nXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwZW5zaW9uUmVjdkRhdGUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIighaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycpXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInJlZ1BlbnNpb25GbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcucGVuc2lvblwifHRyYW5zbGF0ZX19IDxici8+XHJcbiAgICAgICAgICAgICAgICB7e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy5wZW5zaW9uLmRpc2NsYWltZXJcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDsgZGlzcGxheTpmbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInJlZ1BlbnNpb25GbGFnXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiID48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBvdmVybGF5VGV4dD1cInt7J2luZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcucGVuc2lvbi5pbmZvJ3wgdHJhbnNsYXRlfX1cIiBcclxuICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLXRvcDogMnB4OyBtYXJnaW4tbGVmdDogNnB4O1wiPjwvYXBwLW92ZXJsYXktaW5mbz5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdyZWdQZW5zaW9uRmxhZycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIoIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnIFxyXG4gICAgICAgICAgICAmJiByZWdQZW5zaW9uRmxhZy52YWx1ZT09PSdZJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSAhPSAnTUUnKVwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJyZWdQZW5zaW9uUmVjdkRhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy5wZW5zaW9uLmRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwicmVnUGVuc2lvblJlY3ZEYXRlXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInJlZ1BlbnNpb25SZWN2RGF0ZVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiBcclxuICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiAgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCIgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgIGRhdGFUeXBlPVwic3RyaW5nXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdyZWdQZW5zaW9uUmVjdkRhdGUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiKChpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJykgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKSYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImlzQ2xtdFBhaWRXaGlsZUxvd1wiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LmVtcGxveWVyLnBheS5yZXR1cm4udG8ud29ya1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50OyBkaXNwbGF5OmZsZXg7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImlzQ2xtdFBhaWRXaGlsZUxvd1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBvdmVybGF5VGV4dD1cInt7J2luZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcuZW1wbG95ZXJQYXlSZXR1cm5Ub1dvcmtJbmZvJ3wgdHJhbnNsYXRlfX1cIiBcclxuICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLXRvcDogMnB4OyBtYXJnaW4tbGVmdDogNnB4O1wiPjwvYXBwLW92ZXJsYXktaW5mbz5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdpc0NsbXRQYWlkV2hpbGVMb3cnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCIoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKSB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgY3VycmVudFN0YXRlID09PSdNRSdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaGFzU2hvcnRUZXJtRGlzYWJpbGl0eVwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnNob3J0dGVybWRpc2FiaWxpdHlcInx0cmFuc2xhdGV9fSB7e2JwU3RhcnREYXRlVG9EaXNwbGF5fX0gPzwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwiaGFzU2hvcnRUZXJtRGlzYWJpbGl0eVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2hhc1Nob3J0VGVybURpc2FiaWxpdHknIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCIoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKSB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgY3VycmVudFN0YXRlPT09J01FJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJoYXNSZWN2UmVtdW5lcmF0aW9uXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucmVtdW5lcmF0aW9uLnBheVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJoYXNSZWN2UmVtdW5lcmF0aW9uXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0naGFzUmVjdlJlbXVuZXJhdGlvbicgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKSB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIGN1cnJlbnRTdGF0ZT09PSdNRScgJiYgaGFzUmVjdlJlbXVuZXJhdGlvbi52YWx1ZT09PSdZJyAmJiBvc2FCcEVtcGxveWVyRmxhZy52YWx1ZT09PScwJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJyZW11bmVyYXRpb25UeXBlc1wiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnJlbXVuZXJhdGlvbi50eXBlc1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8cC1jaGVja2JveCBbbmFtZV09XCIncmVtdW5lcmF0aW9udHlwZXMtZ3JvdXAnXCIgW3ZhbHVlXT1cImNob2ljZS52YWx1ZVwiIFxyXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cImNob2ljZS50ZXh0XCIgKm5nRm9yPVwibGV0IGNob2ljZSBvZiByZW11bmVyYXRpb25UeXBlT3B0aW9uc1wiICBbZm9ybUNvbnRyb2xdPVwicmVtdW5lcmF0aW9uVHlwZXNcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGVDbGFzcz1cImFwcC1wLWNoZWNrYm94XCI+PC9wLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdyZW11bmVyYXRpb25UeXBlcycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cIigoaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWScgJiYgc2Nob29sRmxhZyA9PT0nMScpIHx8ICFpc0Jhc2VQZXJpb2RFbXBsb3llcikmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiBjdXJyZW50U3RhdGUgPT09J01FJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ2YWNhdGlvblwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnZhY2F0aW9uLmJyZWFrXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInZhY2F0aW9uXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ndmFjYXRpb24nIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ3b3JrU3RhdGUudmFsdWUgJiYgd29ya1N0YXRlLnZhbHVlLnZhbHVlPT09dGhpcy5jdXJyZW50U3RhdGUgJiYgZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8aDQ+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLmhlYWRlclwifHRyYW5zbGF0ZX19PC9oND5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbD57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMuc3ViaGVhZGVyXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICBcclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXltZW50VHlwZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5wYXltb2RlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cInBheU1ldGhvZE9wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwicGF5bWVudFR5cGVcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwYXltZW50VHlwZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJkb2NzUmVjZWl2ZWRcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMuZG9jc1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBbb3B0aW9uc109XCJ3YWdlUHJvb2ZPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImRvY3NSZWNlaXZlZFwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2RvY3NSZWNlaXZlZCcgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwib3RoZXJTU05GbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLm90aGVyLnNzbi5mbGFnXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cIm90aGVyU1NORmxhZ1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdvdGhlclNTTkZsYWcnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwidGhpcy5vdGhlclNTTkZsYWcudmFsdWUgPT09ICdZJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIm90aGVyU1NOXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLm90aGVyLnNzblwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxwLWlucHV0TWFzayBtYXNrPVwiOTk5LTk5LTk5OTlcIiBbaWRdPVwib3RoZXJTU05cIiBbZm9ybUNvbnRyb2xdPVwib3RoZXJTU05cIiBwbGFjZWhvbGRlcj1cIjk5OS05OS05OTk5XCI+XHJcbiAgICAgICAgICAgICAgICA8L3AtaW5wdXRNYXNrPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J290aGVyU1NOJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJoaXJlZEJ5XCI+TWFuYWdlcidzIE5hbWUgJiBUaXRsZTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImhpcmVkQnlcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJoaXJlZEJ5XCIgbWF4bGVuZ3RoPVwiNDBcIi8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdoaXJlZEJ5JyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwid29ya1N0YXRlLnZhbHVlICYmIHdvcmtTdGF0ZS52YWx1ZS52YWx1ZT09PSB0aGlzLmN1cnJlbnRTdGF0ZSAmJiBkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwib3RoZXJOYW1lRmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5vdGhlci5uYW1lLmZsYWdcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cIm90aGVyTmFtZUZsYWdcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nb3RoZXJOYW1lRmxhZycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJ0aGlzLm90aGVyTmFtZUZsYWcudmFsdWUgPT09ICdZJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIm90aGVyTmFtZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5vdGhlci5uYW1lXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IGlkPVwib3RoZXJOYW1lXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwib3RoZXJOYW1lXCIgbWF4bGVuZ3RoPVwiMzBcIi8+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nb3RoZXJOYW1lJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gPGlvbi1yb3cgKm5nSWY9XCJ3b3JrU3RhdGUudmFsdWUgJiYgd29ya1N0YXRlLnZhbHVlLnZhbHVlPT09J01TJyAmJiBkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmVpblwiPkZFSU48L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBbaWRdPVwiZmVpblwiIFt1c2VHcm91cGluZ109XCJmYWxzZVwiIFtmb3JtQ29udHJvbF09XCJmZWluXCIgbWF4bGVuZ3RoPVwiOVwiPjwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlaW4nIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIj48L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImRvaW5nQnVzaW5lc3NBc1wiPkRvaW5nIEJ1c2luZXNzIEFzL1RyYWRlIE5hbWU8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJkb2luZ0J1c2luZXNzQXNcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJkb2luZ0J1c2luZXNzQXNcIiBtYXhsZW5ndGg9XCIxMDBcIi8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdkb2luZ0J1c2luZXNzQXMnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz4gLS0+XHJcblxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cIndvcmtTdGF0ZS52YWx1ZSAmJiB3b3JrU3RhdGUudmFsdWUudmFsdWU9PT10aGlzLmN1cnJlbnRTdGF0ZSAmJiBkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSBcclxuICAgICAgICAgICAgICAgICYmICFpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJidXNpbmVzc05hdHVyZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi5uYXR1cmVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImJ1c2luZXNzTmF0dXJlXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiYnVzaW5lc3NOYXR1cmVcIiBtYXhsZW5ndGg9XCIyNTBcIi8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdidXNpbmVzc05hdHVyZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICA8ZGl2ICpuZ0lmPVwiKCh3b3JrU3RhdGUudmFsdWUgJiYgd29ya1N0YXRlLnZhbHVlLnZhbHVlPT09Y3VycmVudFN0YXRlICYmIGVtcGxveWVyVHlwZSAmJiBkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycpIFxyXG4gICAgICAgICAgICAgICAgICAgIHx8IChlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJykpICYmIChlbXBsb3llclR5cGUudmFsdWUhPSdNSUwnKVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbD57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC52ZXJpZmljYXRpb24ud2FnZXNcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlc1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWw+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQudmVyaWZpY2F0aW9uLndhZ2VzLnN0YXRlbWVudFwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDx0YWJsZSBydWxlcz1yb3dzPlxyXG4gICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5jb2wxXCJ8dHJhbnNsYXRlfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aD57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMuY29sMlwifHRyYW5zbGF0ZX19PC90aD5cclxuICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBmb3JtQXJyYXlOYW1lPVwid2FnZUFtb3VudEFycmF5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgd2FnZUFtb3VudEZvcm0gb2Ygd2FnZUFtb3VudEFycmF5LmNvbnRyb2xzOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBOYW1lXT1cImlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0clxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIigoZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcpIHx8IChlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiB3YWdlQW1vdW50Rm9ybS52YWx1ZS5kaXNwbGF5Rm9yQWxsPT09dHJ1ZSkgKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAge3t3YWdlQW1vdW50Rm9ybS52YWx1ZS5xdHJZZWFyRGlzcGxheVN0cmluZ319XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBhcmlhTGFiZWw9XCJ3YWdlQW1vdW50XCIgZm9ybUNvbnRyb2xOYW1lPVwid2FnZUFtb3VudFwiIG1vZGU9XCJjdXJyZW5jeVwiIFttYXhdPVwiOTk5OTk5Ljk5XCIgbWF4bGVuZ3RoPVwiMTJcIiBjdXJyZW5jeT1cIlVTRFwiIGxvY2FsZT1cImVuLVVTXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICA8aW9uLXJvdz5cclxuICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0XCI+XHJcbiAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgc3R5bGU9XCJ3aWR0aDogODBweDtcIiBmaWxsPVwib3V0bGluZVwiIChjbGljayk9XCJvbk1vZGVsQ2FuY2VsKGZhbHNlKVwiIHR5cGU9XCJyZXNldFwiPnt7XCJpbmR1Y3Rpb24uZW1wbG95bWVudC5idXR0b24uY2FuY2VsXCJ8dHJhbnNsYXRlfX0gPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIHN0eWxlPVwid2lkdGg6IDgwcHg7XCIgKGNsaWNrKT1cInNhdmUoKVwiIHR5cGU9XCJzdWJtaXRcIiAqbmdJZj1cImlzQmFzZVBlcmlvZEVtcGxveWVyXCI+IHt7XCJpbmR1Y3Rpb24uZW1wbG95bWVudC5idXR0b24uc2F2ZVwifHRyYW5zbGF0ZX19IDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiBzdHlsZT1cIndpZHRoOiA4MHB4O1wiIChjbGljayk9XCJhZGQoKVwiIHR5cGU9XCJzdWJtaXRcIiAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llclwiPiB7e1wiaW5kdWN0aW9uLmVtcGxveW1lbnQuYnV0dG9uLmFkZFwifHRyYW5zbGF0ZX19IDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICA8L2lvbi1ncmlkPlxyXG4gIDwvZm9ybT5cclxuPC9wLWRpYWxvZz4iXX0=