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