@reusa/ngx-reusa-app-lib 0.0.999 → 0.1.101

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 (372) hide show
  1. package/README.md +46 -46
  2. package/esm2022/lib/annimations/app-animations.mjs +1 -1
  3. package/esm2022/lib/components/add-employer/add-employer.component.mjs +1130 -2312
  4. package/esm2022/lib/components/add-participant/add-participant.component.mjs +1 -1
  5. package/esm2022/lib/components/add-payment/add-payment.component.mjs +16 -36
  6. package/esm2022/lib/components/address/address.component.mjs +58 -52
  7. package/esm2022/lib/components/bank-details/bank-details.component.mjs +25 -29
  8. package/esm2022/lib/components/captcha/captcha.component.mjs +6 -6
  9. package/esm2022/lib/components/card/card.component.mjs +1 -1
  10. package/esm2022/lib/components/content/content.component.mjs +1 -1
  11. package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +1 -1
  12. package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +14 -19
  13. package/esm2022/lib/components/disclosure/disclosure.component.mjs +1 -1
  14. package/esm2022/lib/components/dropdown/dropdown.component.mjs +6 -6
  15. package/esm2022/lib/components/dropdown/dropdown.interface.mjs +1 -1
  16. package/esm2022/lib/components/email-update/email-update.component.mjs +32 -14
  17. package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +197 -192
  18. package/esm2022/lib/components/error/error.component.mjs +5 -22
  19. package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +1 -1
  20. package/esm2022/lib/components/file-download/file-download.component.mjs +1 -1
  21. package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +1 -1
  22. package/esm2022/lib/components/footer/footer.component.mjs +67 -90
  23. package/esm2022/lib/components/header/header.component.mjs +105 -169
  24. package/esm2022/lib/components/help/help.component.mjs +1 -1
  25. package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +13 -13
  26. package/esm2022/lib/components/info/info.component.mjs +12 -4
  27. package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +1 -1
  28. package/esm2022/lib/components/job-title/job-title.component.mjs +94 -93
  29. package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +82 -93
  30. package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +329 -0
  31. package/esm2022/lib/components/link/link.component.mjs +1 -1
  32. package/esm2022/lib/components/maintenance-detector/maintenance-detector.component.mjs +1 -1
  33. package/esm2022/lib/components/mask/mask.component.mjs +1 -1
  34. package/esm2022/lib/components/menu/menu.component.mjs +35 -44
  35. package/esm2022/lib/components/mfa/mfa.component.mjs +305 -103
  36. package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +16 -7
  37. package/esm2022/lib/components/mfa2/mfa2.component.mjs +260 -0
  38. package/esm2022/lib/components/money-expect/money-expect.component.mjs +36 -148
  39. package/esm2022/lib/components/msg/msg.component.mjs +1 -1
  40. package/esm2022/lib/components/news/news.component.mjs +1 -1
  41. package/esm2022/lib/components/overlay-info/overlay-info.component.mjs +1 -1
  42. package/esm2022/lib/components/page/page.component.mjs +1 -1
  43. package/esm2022/lib/components/profile/profile.component.mjs +213 -56
  44. package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +33 -106
  45. package/esm2022/lib/components/questionnaire/AppValidators.mjs +14 -165
  46. package/esm2022/lib/components/questionnaire/FbConstants.mjs +1 -1
  47. package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +60 -110
  48. package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +123 -367
  49. package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +9 -9
  50. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +1029 -769
  51. package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +325 -157
  52. package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +17 -9
  53. package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +26 -93
  54. package/esm2022/lib/components/questionnaire/question-base.mjs +1 -1
  55. package/esm2022/lib/components/questionnaire/question-control.service.mjs +1 -2
  56. package/esm2022/lib/components/questionnaire/question.service.mjs +7 -5
  57. package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +25 -14
  58. package/esm2022/lib/components/read-more/read-more.component.mjs +6 -6
  59. package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +196 -333
  60. package/esm2022/lib/components/search-employer/search-employer.component.mjs +24 -47
  61. package/esm2022/lib/components/security-question/security-question.component.mjs +189 -0
  62. package/esm2022/lib/components/select/select.component.mjs +1 -1
  63. package/esm2022/lib/components/sign-ssn/sign-ssn.component.mjs +3 -3
  64. package/esm2022/lib/components/ssn/ssn.component.mjs +1 -1
  65. package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +4 -4
  66. package/esm2022/lib/components/test/test.component.mjs +1 -1
  67. package/esm2022/lib/components/user-login/user-login.component.mjs +226 -115
  68. package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +155 -287
  69. package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +46 -62
  70. package/esm2022/lib/directives/auto-focus/auto-focus.directive.mjs +1 -1
  71. package/esm2022/lib/directives/caps-lock.directive.mjs +1 -1
  72. package/esm2022/lib/directives/required-roles/required-roles.directive.mjs +1 -1
  73. package/esm2022/lib/enums/EmailStatusEnum.mjs +1 -1
  74. package/esm2022/lib/guards/auth.guard.mjs +4 -26
  75. package/esm2022/lib/guards/no-login/no-login.guard.mjs +1 -1
  76. package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +1 -1
  77. package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +1 -1
  78. package/esm2022/lib/models/EmployerDetailSearchResult.mjs +1 -1
  79. package/esm2022/lib/models/ErrorModel.mjs +1 -1
  80. package/esm2022/lib/models/FileModel.mjs +1 -1
  81. package/esm2022/lib/models/LexisNexisAccountCreationModel.mjs +2 -0
  82. package/esm2022/lib/models/LexisNexisAuthSelectionRequestModel.mjs +2 -0
  83. package/esm2022/lib/models/LexisNexisAuthSelectionResponseModel.mjs +2 -0
  84. package/esm2022/lib/models/LexisNexisResponseModel.mjs +3 -0
  85. package/esm2022/lib/models/LibConstants.mjs +15 -12
  86. package/esm2022/lib/models/NotificationModel.mjs +1 -1
  87. package/esm2022/lib/models/OtpAuthModel.mjs +1 -1
  88. package/esm2022/lib/models/PartialEmploymentModel.mjs +3 -0
  89. package/esm2022/lib/models/PaymentComponentModel.mjs +1 -1
  90. package/esm2022/lib/models/SecurityQuestionModel.mjs +3 -0
  91. package/esm2022/lib/models/TrendModel.mjs +1 -1
  92. package/esm2022/lib/models/UserDetailsModel.mjs +1 -1
  93. package/esm2022/lib/models/UserModel.mjs +1 -1
  94. package/esm2022/lib/models/claimant/ClaimantModel.mjs +1 -1
  95. package/esm2022/lib/models/claimant/JobResultsData.mjs +1 -1
  96. package/esm2022/lib/models/claimant/MatchingJobs.mjs +1 -1
  97. package/esm2022/lib/models/claimant/ResetPasswordModel.mjs +1 -1
  98. package/esm2022/lib/models/dependent.model.mjs +1 -1
  99. package/esm2022/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +1 -1
  100. package/esm2022/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +1 -2
  101. package/esm2022/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +1 -1
  102. package/esm2022/lib/models/questionnaire/ComboModel.mjs +175 -73
  103. package/esm2022/lib/models/questionnaire/ElementsModel.mjs +1 -1
  104. package/esm2022/lib/models/questionnaire/KeyValueModel.mjs +1 -1
  105. package/esm2022/lib/models/questionnaire/LegalDiscaimarModel.mjs +1 -1
  106. package/esm2022/lib/models/questionnaire/StatusModel.mjs +1 -1
  107. package/esm2022/lib/ngx-reusa-app-lib.component.mjs +5 -5
  108. package/esm2022/lib/ngx-reusa-app-lib.module.mjs +13 -27
  109. package/esm2022/lib/ngx-reusa-app-lib.service.mjs +1 -1
  110. package/esm2022/lib/pages/BasePage.mjs +22 -3
  111. package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +18 -22
  112. package/esm2022/lib/pages/common/change-password/change-password.page.mjs +124 -142
  113. package/esm2022/lib/pages/common/landing/landing.component.mjs +8 -7
  114. package/esm2022/lib/pages/common/landing2/landing2.component.mjs +4 -4
  115. package/esm2022/lib/pages/common/login/login.component.mjs +5 -5
  116. package/esm2022/lib/pages/common/not-found/not-found.page.mjs +1 -1
  117. package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +14 -14
  118. package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +5 -5
  119. package/esm2022/lib/pages/common/unauthorized/unauthorized.page.mjs +1 -1
  120. package/esm2022/lib/pages/popovers/language/language.page.mjs +1 -1
  121. package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +1 -1
  122. package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +1 -1
  123. package/esm2022/lib/pages/popovers/user-search/user-search.component.mjs +1 -1
  124. package/esm2022/lib/pipes/filter.pipe.mjs +1 -1
  125. package/esm2022/lib/pipes/mask/mask.email.pipe.mjs +1 -1
  126. package/esm2022/lib/pipes/proper-case/proper-case.pipe.mjs +1 -1
  127. package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +1 -1
  128. package/esm2022/lib/pipes/trust-html/trust-html.pipe.mjs +1 -1
  129. package/esm2022/lib/services/base-service.mjs +1 -1
  130. package/esm2022/lib/services/captcha/captcha.service.mjs +1 -1
  131. package/esm2022/lib/services/chatbot/chatbot.service.mjs +2 -1
  132. package/esm2022/lib/services/chatbot/script.const.mjs +1 -1
  133. package/esm2022/lib/services/claimant/claimant.service.mjs +1 -1
  134. package/esm2022/lib/services/claimant-service/claimant-usps-redirect.service.mjs +36 -0
  135. package/esm2022/lib/services/claimant-service/claimant.service.mjs +13 -1
  136. package/esm2022/lib/services/claims/claims.service.mjs +14 -57
  137. package/esm2022/lib/services/dms-service/dms.service.mjs +1 -1
  138. package/esm2022/lib/services/fpjs/fingerprint.service.mjs +1 -1
  139. package/esm2022/lib/services/google-analytics/google-analytics.service.mjs +1 -1
  140. package/esm2022/lib/services/help/help.service.mjs +1 -1
  141. package/esm2022/lib/services/idle/idle.service.mjs +1 -1
  142. package/esm2022/lib/services/lexis-nexis/lexis.nexis.service.mjs +49 -0
  143. package/esm2022/lib/services/logger/logger.service.mjs +1 -1
  144. package/esm2022/lib/services/login/login.service.mjs +11 -1
  145. package/esm2022/lib/services/maintenance/maintenance.service.mjs +1 -1
  146. package/esm2022/lib/services/notification/notification.service.mjs +1 -1
  147. package/esm2022/lib/services/ovp/ovp.service.mjs +43 -0
  148. package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +1 -4
  149. package/esm2022/lib/services/questionnaire/validation.service.mjs +1 -4
  150. package/esm2022/lib/services/security-service/security.service.mjs +6 -5
  151. package/esm2022/lib/services/tour/tour.service.mjs +1 -1
  152. package/esm2022/lib/services/util/util.service.mjs +5 -5
  153. package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +42 -0
  154. package/esm2022/lib/validations/AppRegex.mjs +1 -1
  155. package/esm2022/lib/validations/AppValidators.mjs +14 -34
  156. package/esm2022/public-api.mjs +5 -16
  157. package/fesm2022/reusa-ngx-reusa-app-lib.mjs +7480 -10431
  158. package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
  159. package/lib/components/add-employer/add-employer.component.d.ts +48 -77
  160. package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
  161. package/lib/components/add-payment/add-payment.component.d.ts +2 -7
  162. package/lib/components/add-payment/add-payment.component.d.ts.map +1 -1
  163. package/lib/components/address/address.component.d.ts +3 -2
  164. package/lib/components/address/address.component.d.ts.map +1 -1
  165. package/lib/components/email-update/email-update.component.d.ts +7 -1
  166. package/lib/components/email-update/email-update.component.d.ts.map +1 -1
  167. package/lib/components/employer-grid/employer-grid.component.d.ts +3 -1
  168. package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
  169. package/lib/components/error/error.component.d.ts +2 -3
  170. package/lib/components/error/error.component.d.ts.map +1 -1
  171. package/lib/components/footer/footer.component.d.ts.map +1 -1
  172. package/lib/components/header/header.component.d.ts +0 -1
  173. package/lib/components/header/header.component.d.ts.map +1 -1
  174. package/lib/components/job-title/job-title.component.d.ts +21 -22
  175. package/lib/components/job-title/job-title.component.d.ts.map +1 -1
  176. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +2 -5
  177. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -1
  178. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts +55 -0
  179. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts.map +1 -0
  180. package/lib/components/menu/menu.component.d.ts.map +1 -1
  181. package/lib/components/mfa/mfa.component.d.ts +26 -3
  182. package/lib/components/mfa/mfa.component.d.ts.map +1 -1
  183. package/lib/components/mfa-popup/mfa-popup.component.d.ts +4 -1
  184. package/lib/components/mfa-popup/mfa-popup.component.d.ts.map +1 -1
  185. package/lib/components/mfa2/mfa2.component.d.ts +48 -0
  186. package/lib/components/mfa2/mfa2.component.d.ts.map +1 -0
  187. package/lib/components/money-expect/money-expect.component.d.ts +4 -15
  188. package/lib/components/money-expect/money-expect.component.d.ts.map +1 -1
  189. package/lib/components/profile/profile.component.d.ts +32 -4
  190. package/lib/components/profile/profile.component.d.ts.map +1 -1
  191. package/lib/components/profile-redirect/profile-redirect.component.d.ts +2 -9
  192. package/lib/components/profile-redirect/profile-redirect.component.d.ts.map +1 -1
  193. package/lib/components/questionnaire/AppValidators.d.ts +0 -1
  194. package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
  195. package/lib/components/questionnaire/account-success/account-success.page.d.ts +10 -13
  196. package/lib/components/questionnaire/account-success/account-success.page.d.ts.map +1 -1
  197. package/lib/components/questionnaire/common-success/common-success.page.d.ts +0 -7
  198. package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
  199. package/lib/components/questionnaire/dynamic-form-question.component.d.ts +32 -14
  200. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
  201. package/lib/components/questionnaire/dynamic-form.component.d.ts +24 -3
  202. package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
  203. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +3 -0
  204. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
  205. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +1 -6
  206. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
  207. package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
  208. package/lib/components/questionnaire/question.service.d.ts +1 -0
  209. package/lib/components/questionnaire/question.service.d.ts.map +1 -1
  210. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +3 -1
  211. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
  212. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +3 -6
  213. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -1
  214. package/lib/components/search-employer/search-employer.component.d.ts +2 -1
  215. package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
  216. package/lib/components/security-question/security-question.component.d.ts +37 -0
  217. package/lib/components/security-question/security-question.component.d.ts.map +1 -0
  218. package/lib/components/user-login/user-login.component.d.ts +22 -5
  219. package/lib/components/user-login/user-login.component.d.ts.map +1 -1
  220. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +0 -6
  221. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -1
  222. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +0 -1
  223. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -1
  224. package/lib/guards/auth.guard.d.ts +1 -3
  225. package/lib/guards/auth.guard.d.ts.map +1 -1
  226. package/lib/models/EmployerDetailSearchResult.d.ts +1 -3
  227. package/lib/models/EmployerDetailSearchResult.d.ts.map +1 -1
  228. package/lib/models/LexisNexisAccountCreationModel.d.ts +15 -0
  229. package/lib/models/LexisNexisAccountCreationModel.d.ts.map +1 -0
  230. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts +16 -0
  231. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts.map +1 -0
  232. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts +39 -0
  233. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts.map +1 -0
  234. package/lib/models/LexisNexisResponseModel.d.ts +7 -0
  235. package/lib/models/LexisNexisResponseModel.d.ts.map +1 -0
  236. package/lib/models/LibConstants.d.ts +12 -9
  237. package/lib/models/LibConstants.d.ts.map +1 -1
  238. package/lib/models/PartialEmploymentModel.d.ts +6 -0
  239. package/lib/models/PartialEmploymentModel.d.ts.map +1 -0
  240. package/lib/models/PaymentComponentModel.d.ts +1 -1
  241. package/lib/models/PaymentComponentModel.d.ts.map +1 -1
  242. package/lib/models/SecurityQuestionModel.d.ts +7 -0
  243. package/lib/models/SecurityQuestionModel.d.ts.map +1 -0
  244. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +0 -1
  245. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts.map +1 -1
  246. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +3 -13
  247. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts.map +1 -1
  248. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +1 -2
  249. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts.map +1 -1
  250. package/lib/models/questionnaire/ComboModel.d.ts +16 -20
  251. package/lib/models/questionnaire/ComboModel.d.ts.map +1 -1
  252. package/lib/models/questionnaire/ElementsModel.d.ts +1 -0
  253. package/lib/models/questionnaire/ElementsModel.d.ts.map +1 -1
  254. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +0 -2
  255. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts.map +1 -1
  256. package/lib/models/questionnaire/StatusModel.d.ts +0 -1
  257. package/lib/models/questionnaire/StatusModel.d.ts.map +1 -1
  258. package/lib/ngx-reusa-app-lib.module.d.ts +86 -95
  259. package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
  260. package/lib/pages/BasePage.d.ts +6 -3
  261. package/lib/pages/BasePage.d.ts.map +1 -1
  262. package/lib/pages/common/change-password/change-password.page.d.ts +0 -3
  263. package/lib/pages/common/change-password/change-password.page.d.ts.map +1 -1
  264. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts +16 -0
  265. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts.map +1 -0
  266. package/lib/services/claimant-service/claimant.service.d.ts +5 -0
  267. package/lib/services/claimant-service/claimant.service.d.ts.map +1 -1
  268. package/lib/services/claims/claims.service.d.ts +5 -24
  269. package/lib/services/claims/claims.service.d.ts.map +1 -1
  270. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts +23 -0
  271. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts.map +1 -0
  272. package/lib/services/login/login.service.d.ts +3 -0
  273. package/lib/services/login/login.service.d.ts.map +1 -1
  274. package/lib/services/ovp/ovp.service.d.ts +17 -0
  275. package/lib/services/ovp/ovp.service.d.ts.map +1 -0
  276. package/lib/services/questionnaire/questionnaire.service.d.ts +0 -1
  277. package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -1
  278. package/lib/services/questionnaire/validation.service.d.ts +0 -3
  279. package/lib/services/questionnaire/validation.service.d.ts.map +1 -1
  280. package/lib/services/security-service/security.service.d.ts +4 -5
  281. package/lib/services/security-service/security.service.d.ts.map +1 -1
  282. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +17 -0
  283. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -0
  284. package/lib/validations/AppValidators.d.ts +3 -7
  285. package/lib/validations/AppValidators.d.ts.map +1 -1
  286. package/package.json +2 -2
  287. package/public-api.d.ts +4 -15
  288. package/public-api.d.ts.map +1 -1
  289. package/esm2022/lib/components/add-wage/add-wage.component.mjs +0 -160
  290. package/esm2022/lib/components/associate-ssn/associate-ssn.component.mjs +0 -174
  291. package/esm2022/lib/components/dua-request-popup/dua-request-popup.component.mjs +0 -335
  292. package/esm2022/lib/components/employer-info/employer-info.component.mjs +0 -326
  293. package/esm2022/lib/components/employer-pay/employer-pay.component.mjs +0 -243
  294. package/esm2022/lib/components/employer-pay-grid/employer-pay-grid.component.mjs +0 -302
  295. package/esm2022/lib/components/farm-usage/farm-usage.component.mjs +0 -172
  296. package/esm2022/lib/components/gross-earnings/gross-earnings.component.mjs +0 -179
  297. package/esm2022/lib/components/idme/idme.component.mjs +0 -80
  298. package/esm2022/lib/components/scrollable-text/scrollable-text.component.mjs +0 -25
  299. package/esm2022/lib/components/sms/sms.component.mjs +0 -334
  300. package/esm2022/lib/components/wage-grid/wage-grid.component.mjs +0 -274
  301. package/esm2022/lib/models/CountyModel.mjs +0 -3
  302. package/esm2022/lib/models/DuaRequestModel.mjs +0 -3
  303. package/esm2022/lib/models/DuaRetroWeeksComponentModel.mjs +0 -6
  304. package/esm2022/lib/models/EmployerInfoComponentModel.mjs +0 -4
  305. package/esm2022/lib/models/EmployerPayInfoModel.mjs +0 -6
  306. package/esm2022/lib/models/FarmUsageComponentModel.mjs +0 -2
  307. package/esm2022/lib/models/GrossEarningsModel.mjs +0 -3
  308. package/esm2022/lib/models/LexisNexisOtpDetailsResponseModel.mjs +0 -3
  309. package/esm2022/lib/models/ReasonSeparationRequestModel.mjs +0 -3
  310. package/esm2022/lib/models/RetroWeeksModel.mjs +0 -3
  311. package/esm2022/lib/models/SendOtpRequestModel.mjs +0 -3
  312. package/esm2022/lib/models/VerifyOtpRequestModel.mjs +0 -3
  313. package/esm2022/lib/models/WageInfoModel.mjs +0 -4
  314. package/esm2022/lib/models/questionnaire/ScrollableTextModel.mjs +0 -3
  315. package/esm2022/lib/models/questionnaire/WbaHelperTextModel.mjs +0 -3
  316. package/esm2022/lib/services/employer/employer-service.mjs +0 -35
  317. package/lib/components/add-wage/add-wage.component.d.ts +0 -29
  318. package/lib/components/add-wage/add-wage.component.d.ts.map +0 -1
  319. package/lib/components/associate-ssn/associate-ssn.component.d.ts +0 -28
  320. package/lib/components/associate-ssn/associate-ssn.component.d.ts.map +0 -1
  321. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts +0 -59
  322. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts.map +0 -1
  323. package/lib/components/employer-info/employer-info.component.d.ts +0 -48
  324. package/lib/components/employer-info/employer-info.component.d.ts.map +0 -1
  325. package/lib/components/employer-pay/employer-pay.component.d.ts +0 -51
  326. package/lib/components/employer-pay/employer-pay.component.d.ts.map +0 -1
  327. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts +0 -43
  328. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts.map +0 -1
  329. package/lib/components/farm-usage/farm-usage.component.d.ts +0 -33
  330. package/lib/components/farm-usage/farm-usage.component.d.ts.map +0 -1
  331. package/lib/components/gross-earnings/gross-earnings.component.d.ts +0 -37
  332. package/lib/components/gross-earnings/gross-earnings.component.d.ts.map +0 -1
  333. package/lib/components/idme/idme.component.d.ts +0 -19
  334. package/lib/components/idme/idme.component.d.ts.map +0 -1
  335. package/lib/components/scrollable-text/scrollable-text.component.d.ts +0 -11
  336. package/lib/components/scrollable-text/scrollable-text.component.d.ts.map +0 -1
  337. package/lib/components/sms/sms.component.d.ts +0 -63
  338. package/lib/components/sms/sms.component.d.ts.map +0 -1
  339. package/lib/components/wage-grid/wage-grid.component.d.ts +0 -43
  340. package/lib/components/wage-grid/wage-grid.component.d.ts.map +0 -1
  341. package/lib/models/CountyModel.d.ts +0 -8
  342. package/lib/models/CountyModel.d.ts.map +0 -1
  343. package/lib/models/DuaRequestModel.d.ts +0 -10
  344. package/lib/models/DuaRequestModel.d.ts.map +0 -1
  345. package/lib/models/DuaRetroWeeksComponentModel.d.ts +0 -5
  346. package/lib/models/DuaRetroWeeksComponentModel.d.ts.map +0 -1
  347. package/lib/models/EmployerInfoComponentModel.d.ts +0 -9
  348. package/lib/models/EmployerInfoComponentModel.d.ts.map +0 -1
  349. package/lib/models/EmployerPayInfoModel.d.ts +0 -20
  350. package/lib/models/EmployerPayInfoModel.d.ts.map +0 -1
  351. package/lib/models/FarmUsageComponentModel.d.ts +0 -10
  352. package/lib/models/FarmUsageComponentModel.d.ts.map +0 -1
  353. package/lib/models/GrossEarningsModel.d.ts +0 -6
  354. package/lib/models/GrossEarningsModel.d.ts.map +0 -1
  355. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts +0 -7
  356. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts.map +0 -1
  357. package/lib/models/ReasonSeparationRequestModel.d.ts +0 -7
  358. package/lib/models/ReasonSeparationRequestModel.d.ts.map +0 -1
  359. package/lib/models/RetroWeeksModel.d.ts +0 -10
  360. package/lib/models/RetroWeeksModel.d.ts.map +0 -1
  361. package/lib/models/SendOtpRequestModel.d.ts +0 -12
  362. package/lib/models/SendOtpRequestModel.d.ts.map +0 -1
  363. package/lib/models/VerifyOtpRequestModel.d.ts +0 -8
  364. package/lib/models/VerifyOtpRequestModel.d.ts.map +0 -1
  365. package/lib/models/WageInfoModel.d.ts +0 -9
  366. package/lib/models/WageInfoModel.d.ts.map +0 -1
  367. package/lib/models/questionnaire/ScrollableTextModel.d.ts +0 -4
  368. package/lib/models/questionnaire/ScrollableTextModel.d.ts.map +0 -1
  369. package/lib/models/questionnaire/WbaHelperTextModel.d.ts +0 -4
  370. package/lib/models/questionnaire/WbaHelperTextModel.d.ts.map +0 -1
  371. package/lib/services/employer/employer-service.d.ts +0 -16
  372. package/lib/services/employer/employer-service.d.ts.map +0 -1
@@ -22,403 +22,209 @@ import * as i14 from "primeng/inputtext";
22
22
  import * as i15 from "../../content/content.component";
23
23
  import * as i16 from "../../header/header.component";
24
24
  import * as i17 from "../multi-questionnaire/multi-questionnaire.component";
25
- import * as i18 from "../../profile-redirect/profile-redirect.component";
26
- import * as i19 from "@ngx-translate/core";
27
- function CommonSuccessPage_app_profile_redirect_3_Template(rf, ctx) { if (rf & 1) {
28
- i0.ɵɵelement(0, "app-profile-redirect", 7);
29
- } if (rf & 2) {
30
- const ctx_r0 = i0.ɵɵnextContext();
31
- i0.ɵɵproperty("redirectPage", ctx_r0.commonSuccessPage);
32
- } }
33
- function CommonSuccessPage_app_multi_questionnaire_5_Template(rf, ctx) { if (rf & 1) {
34
- const _r6 = i0.ɵɵgetCurrentView();
35
- i0.ɵɵelementStart(0, "app-multi-questionnaire", 8);
36
- i0.ɵɵlistener("onComplete", function CommonSuccessPage_app_multi_questionnaire_5_Template_app_multi_questionnaire_onComplete_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r5.quSuccess()); });
37
- i0.ɵɵpipe(1, "translate");
38
- i0.ɵɵelementEnd();
39
- } if (rf & 2) {
40
- const ctx_r1 = i0.ɵɵnextContext();
41
- i0.ɵɵproperty("qeQueryModels", ctx_r1.qeQueryModels)("showClose", false)("header", i0.ɵɵpipeBind1(1, 4, "Followup Questions"))("showQuestionNumber", true);
42
- } }
43
- function CommonSuccessPage_app_multi_questionnaire_6_Template(rf, ctx) { if (rf & 1) {
44
- const _r8 = i0.ɵɵgetCurrentView();
45
- i0.ɵɵelementStart(0, "app-multi-questionnaire", 9);
46
- i0.ɵɵlistener("onComplete", function CommonSuccessPage_app_multi_questionnaire_6_Template_app_multi_questionnaire_onComplete_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.quSuccessDua()); });
25
+ import * as i18 from "@ngx-translate/core";
26
+ function CommonSuccessPage_app_multi_questionnaire_4_Template(rf, ctx) { if (rf & 1) {
27
+ const _r4 = i0.ɵɵgetCurrentView();
28
+ i0.ɵɵelementStart(0, "app-multi-questionnaire", 5);
29
+ i0.ɵɵlistener("onComplete", function CommonSuccessPage_app_multi_questionnaire_4_Template_app_multi_questionnaire_onComplete_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.quSuccess()); });
47
30
  i0.ɵɵpipe(1, "translate");
48
31
  i0.ɵɵelementEnd();
49
32
  } if (rf & 2) {
50
- const ctx_r2 = i0.ɵɵnextContext();
51
- i0.ɵɵproperty("qeQueryModels", ctx_r2.qeQueryModels)("showClose", false)("autoSave", true)("header", i0.ɵɵpipeBind1(1, 5, "DUA application"))("showQuestionNumber", false);
52
- } }
53
- function CommonSuccessPage_ion_row_7_Template(rf, ctx) { if (rf & 1) {
54
- i0.ɵɵelementStart(0, "ion-row", 10)(1, "ion-col", 11)(2, "ion-label", 12);
55
- i0.ɵɵelement(3, "div", 13);
56
- i0.ɵɵelementEnd();
57
- i0.ɵɵelement(4, "br")(5, "ion-spinner", 14);
58
- i0.ɵɵelementEnd()();
59
- } if (rf & 2) {
60
- const ctx_r3 = i0.ɵɵnextContext();
61
- i0.ɵɵadvance(3);
62
- i0.ɵɵproperty("innerHTML", ctx_r3.sanitizer.bypassSecurityTrustHtml(ctx_r3.waitingMessage), i0.ɵɵsanitizeHtml);
63
- } }
64
- function CommonSuccessPage_div_8_div_1_div_1_div_1_Template(rf, ctx) { if (rf & 1) {
65
- i0.ɵɵelement(0, "div", 18);
66
- } if (rf & 2) {
67
- const element_r15 = i0.ɵɵnextContext().$implicit;
68
- i0.ɵɵproperty("innerHTML", element_r15.description, i0.ɵɵsanitizeHtml);
33
+ const ctx_r0 = i0.ɵɵnextContext();
34
+ i0.ɵɵproperty("qeQueryModels", ctx_r0.qeQueryModels)("showClose", false)("header", i0.ɵɵpipeBind1(1, 4, "Follow up Questions"))("showQuestionNumber", true);
69
35
  } }
70
- function CommonSuccessPage_div_8_div_1_div_1_Template(rf, ctx) { if (rf & 1) {
71
- i0.ɵɵelementStart(0, "div");
72
- i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_1_div_1_div_1_Template, 1, 1, "div", 17);
36
+ function CommonSuccessPage_ion_row_5_Template(rf, ctx) { if (rf & 1) {
37
+ i0.ɵɵelementStart(0, "ion-row", 6)(1, "ion-col", 7)(2, "ion-label", 8);
38
+ i0.ɵɵelement(3, "div", 9);
73
39
  i0.ɵɵelementEnd();
74
- } if (rf & 2) {
75
- const element_r15 = ctx.$implicit;
76
- i0.ɵɵadvance(1);
77
- i0.ɵɵproperty("ngIf", element_r15.type === "header");
78
- } }
79
- function CommonSuccessPage_div_8_div_1_div_3_ion_row_1_Template(rf, ctx) { if (rf & 1) {
80
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 19);
81
- i0.ɵɵelement(2, "div", 20);
82
- i0.ɵɵelementEnd()();
83
- } if (rf & 2) {
84
- const element_r19 = i0.ɵɵnextContext().$implicit;
85
- i0.ɵɵadvance(2);
86
- i0.ɵɵproperty("innerHTML", element_r19.description, i0.ɵɵsanitizeHtml);
87
- } }
88
- function CommonSuccessPage_div_8_div_1_div_3_ion_row_2_Template(rf, ctx) { if (rf & 1) {
89
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 21);
90
- i0.ɵɵelement(2, "div", 13);
91
- i0.ɵɵelementEnd()();
92
- } if (rf & 2) {
93
- const element_r19 = i0.ɵɵnextContext().$implicit;
94
- i0.ɵɵadvance(2);
95
- i0.ɵɵproperty("innerHTML", element_r19.description, i0.ɵɵsanitizeHtml);
96
- } }
97
- function CommonSuccessPage_div_8_div_1_div_3_ion_row_3_Template(rf, ctx) { if (rf & 1) {
98
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 22);
99
- i0.ɵɵelement(2, "div", 13);
100
- i0.ɵɵelementEnd()();
101
- } if (rf & 2) {
102
- const element_r19 = i0.ɵɵnextContext().$implicit;
103
- const ctx_r23 = i0.ɵɵnextContext(3);
104
- i0.ɵɵadvance(2);
105
- i0.ɵɵproperty("innerHTML", ctx_r23.sanitizer.bypassSecurityTrustHtml(element_r19.description), i0.ɵɵsanitizeHtml);
106
- } }
107
- function CommonSuccessPage_div_8_div_1_div_3_ion_row_4_Template(rf, ctx) { if (rf & 1) {
108
- const _r32 = i0.ɵɵgetCurrentView();
109
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 22)(2, "ion-row")(3, "ion-col");
110
- i0.ɵɵelement(4, "div", 13);
40
+ i0.ɵɵelement(4, "br")(5, "ion-spinner", 10);
111
41
  i0.ɵɵelementEnd()();
112
- i0.ɵɵelementStart(5, "ion-row")(6, "ion-col");
113
- i0.ɵɵelement(7, "input", 23);
114
- i0.ɵɵelementEnd();
115
- i0.ɵɵelementStart(8, "ion-col")(9, "ion-button", 24);
116
- i0.ɵɵlistener("click", function CommonSuccessPage_div_8_div_1_div_3_ion_row_4_Template_ion_button_click_9_listener() { i0.ɵɵrestoreView(_r32); const ctx_r31 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r31.submit()); });
117
- i0.ɵɵtext(10, "Submit");
118
- i0.ɵɵelementEnd()()()()();
119
42
  } if (rf & 2) {
120
- const element_r19 = i0.ɵɵnextContext().$implicit;
121
- const ctx_r24 = i0.ɵɵnextContext(3);
122
- i0.ɵɵadvance(4);
123
- i0.ɵɵproperty("innerHTML", ctx_r24.sanitizer.bypassSecurityTrustHtml(element_r19.description), i0.ɵɵsanitizeHtml);
43
+ const ctx_r1 = i0.ɵɵnextContext();
124
44
  i0.ɵɵadvance(3);
125
- i0.ɵɵproperty("formControl", ctx_r24.emailAddress);
126
- } }
127
- function CommonSuccessPage_div_8_div_1_div_3_ion_row_5_Template(rf, ctx) { if (rf & 1) {
128
- const _r35 = i0.ɵɵgetCurrentView();
129
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 22)(2, "div", 25);
130
- i0.ɵɵtext(3, "If you did't get an email, ");
131
- i0.ɵɵelementStart(4, "a", 26);
132
- i0.ɵɵlistener("click", function CommonSuccessPage_div_8_div_1_div_3_ion_row_5_Template_a_click_4_listener() { i0.ɵɵrestoreView(_r35); const ctx_r34 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r34.resendVerificationEmail()); });
133
- i0.ɵɵtext(5, " click here");
134
- i0.ɵɵelementEnd();
135
- i0.ɵɵtext(6, " and we'll send again. ");
136
- i0.ɵɵelementEnd()()();
137
- } }
138
- function CommonSuccessPage_div_8_div_1_div_3_ion_row_6_Template(rf, ctx) { if (rf & 1) {
139
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 22);
140
- i0.ɵɵelement(2, "div", 13);
141
- i0.ɵɵelementEnd()();
142
- } if (rf & 2) {
143
- const element_r19 = i0.ɵɵnextContext().$implicit;
144
- const ctx_r26 = i0.ɵɵnextContext(3);
145
- i0.ɵɵadvance(2);
146
- i0.ɵɵproperty("innerHTML", ctx_r26.sanitizer.bypassSecurityTrustHtml(element_r19.description), i0.ɵɵsanitizeHtml);
147
- } }
148
- function CommonSuccessPage_div_8_div_1_div_3_ion_row_7_Template(rf, ctx) { if (rf & 1) {
149
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 22);
150
- i0.ɵɵelement(2, "div", 13);
151
- i0.ɵɵelementEnd()();
152
- } if (rf & 2) {
153
- const element_r19 = i0.ɵɵnextContext().$implicit;
154
- const ctx_r27 = i0.ɵɵnextContext(3);
155
- i0.ɵɵadvance(2);
156
- i0.ɵɵproperty("innerHTML", ctx_r27.sanitizer.bypassSecurityTrustHtml(element_r19.description), i0.ɵɵsanitizeHtml);
157
- } }
158
- function CommonSuccessPage_div_8_div_1_div_3_Template(rf, ctx) { if (rf & 1) {
159
- i0.ɵɵelementStart(0, "div");
160
- i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_1_div_3_ion_row_1_Template, 3, 1, "ion-row", 6)(2, CommonSuccessPage_div_8_div_1_div_3_ion_row_2_Template, 3, 1, "ion-row", 6)(3, CommonSuccessPage_div_8_div_1_div_3_ion_row_3_Template, 3, 1, "ion-row", 6)(4, CommonSuccessPage_div_8_div_1_div_3_ion_row_4_Template, 11, 2, "ion-row", 6)(5, CommonSuccessPage_div_8_div_1_div_3_ion_row_5_Template, 7, 0, "ion-row", 6)(6, CommonSuccessPage_div_8_div_1_div_3_ion_row_6_Template, 3, 1, "ion-row", 6)(7, CommonSuccessPage_div_8_div_1_div_3_ion_row_7_Template, 3, 1, "ion-row", 6);
161
- i0.ɵɵelementEnd();
162
- } if (rf & 2) {
163
- const element_r19 = ctx.$implicit;
164
- i0.ɵɵadvance(1);
165
- i0.ɵɵproperty("ngIf", element_r19.type === "subhheader");
166
- i0.ɵɵadvance(1);
167
- i0.ɵɵproperty("ngIf", element_r19.type === "text1");
168
- i0.ɵɵadvance(1);
169
- i0.ɵɵproperty("ngIf", element_r19.type === "text2");
170
- i0.ɵɵadvance(1);
171
- i0.ɵɵproperty("ngIf", element_r19.type === "emailUpdate");
172
- i0.ɵɵadvance(1);
173
- i0.ɵɵproperty("ngIf", element_r19.type === "resendemail");
174
- i0.ɵɵadvance(1);
175
- i0.ɵɵproperty("ngIf", element_r19.type === "text3");
176
- i0.ɵɵadvance(1);
177
- i0.ɵɵproperty("ngIf", element_r19.type === "text4");
45
+ i0.ɵɵproperty("innerHTML", ctx_r1.sanitizer.bypassSecurityTrustHtml(ctx_r1.waitingMessage), i0.ɵɵsanitizeHtml);
178
46
  } }
179
- function CommonSuccessPage_div_8_div_1_Template(rf, ctx) { if (rf & 1) {
180
- i0.ɵɵelementStart(0, "div");
181
- i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_1_div_1_Template, 2, 1, "div", 16);
182
- i0.ɵɵelementStart(2, "ion-grid");
183
- i0.ɵɵtemplate(3, CommonSuccessPage_div_8_div_1_div_3_Template, 8, 7, "div", 16);
184
- i0.ɵɵelementEnd()();
47
+ function CommonSuccessPage_div_6_div_1_div_1_Template(rf, ctx) { if (rf & 1) {
48
+ i0.ɵɵelement(0, "div", 13);
185
49
  } if (rf & 2) {
186
- const ctx_r9 = i0.ɵɵnextContext(2);
187
- i0.ɵɵadvance(1);
188
- i0.ɵɵproperty("ngForOf", ctx_r9.elements.getValue());
189
- i0.ɵɵadvance(2);
190
- i0.ɵɵproperty("ngForOf", ctx_r9.elements.getValue());
50
+ const element_r8 = i0.ɵɵnextContext().$implicit;
51
+ i0.ɵɵproperty("innerHTML", element_r8.description, i0.ɵɵsanitizeHtml);
191
52
  } }
192
- function CommonSuccessPage_div_8_div_2_div_4_div_1_Template(rf, ctx) { if (rf & 1) {
53
+ function CommonSuccessPage_div_6_div_1_Template(rf, ctx) { if (rf & 1) {
193
54
  i0.ɵɵelementStart(0, "div");
194
- i0.ɵɵelement(1, "p", 29);
55
+ i0.ɵɵtemplate(1, CommonSuccessPage_div_6_div_1_div_1_Template, 1, 1, "div", 12);
195
56
  i0.ɵɵelementEnd();
196
57
  } if (rf & 2) {
197
- const element_r40 = i0.ɵɵnextContext().$implicit;
58
+ const element_r8 = ctx.$implicit;
198
59
  i0.ɵɵadvance(1);
199
- i0.ɵɵproperty("innerHTML", element_r40.description, i0.ɵɵsanitizeHtml);
60
+ i0.ɵɵproperty("ngIf", element_r8.type === "header");
200
61
  } }
201
- function CommonSuccessPage_div_8_div_2_div_4_Template(rf, ctx) { if (rf & 1) {
202
- i0.ɵɵelementStart(0, "div");
203
- i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_2_div_4_div_1_Template, 2, 1, "div", 6);
204
- i0.ɵɵelementEnd();
205
- } if (rf & 2) {
206
- const element_r40 = ctx.$implicit;
207
- i0.ɵɵadvance(1);
208
- i0.ɵɵproperty("ngIf", element_r40.type === "header");
209
- } }
210
- function CommonSuccessPage_div_8_div_2_div_6_ion_row_1_Template(rf, ctx) { if (rf & 1) {
211
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 19);
212
- i0.ɵɵelement(2, "div", 20);
62
+ function CommonSuccessPage_div_6_div_3_ion_row_1_Template(rf, ctx) { if (rf & 1) {
63
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 14);
64
+ i0.ɵɵelement(2, "div", 15);
213
65
  i0.ɵɵelementEnd()();
214
66
  } if (rf & 2) {
215
- const element_r44 = i0.ɵɵnextContext().$implicit;
67
+ const element_r12 = i0.ɵɵnextContext().$implicit;
216
68
  i0.ɵɵadvance(2);
217
- i0.ɵɵproperty("innerHTML", element_r44.description, i0.ɵɵsanitizeHtml);
69
+ i0.ɵɵproperty("innerHTML", element_r12.description, i0.ɵɵsanitizeHtml);
218
70
  } }
219
- function CommonSuccessPage_div_8_div_2_div_6_ion_row_2_Template(rf, ctx) { if (rf & 1) {
220
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col");
221
- i0.ɵɵelement(2, "div", 13);
71
+ function CommonSuccessPage_div_6_div_3_ion_row_2_Template(rf, ctx) { if (rf & 1) {
72
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 16);
73
+ i0.ɵɵelement(2, "div", 9);
222
74
  i0.ɵɵelementEnd()();
223
75
  } if (rf & 2) {
224
- const element_r44 = i0.ɵɵnextContext().$implicit;
76
+ const element_r12 = i0.ɵɵnextContext().$implicit;
225
77
  i0.ɵɵadvance(2);
226
- i0.ɵɵproperty("innerHTML", element_r44.description, i0.ɵɵsanitizeHtml);
78
+ i0.ɵɵproperty("innerHTML", element_r12.description, i0.ɵɵsanitizeHtml);
227
79
  } }
228
- function CommonSuccessPage_div_8_div_2_div_6_ion_row_3_Template(rf, ctx) { if (rf & 1) {
229
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col");
230
- i0.ɵɵelement(2, "div", 13);
80
+ function CommonSuccessPage_div_6_div_3_ion_row_3_Template(rf, ctx) { if (rf & 1) {
81
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 17);
82
+ i0.ɵɵelement(2, "div", 9);
231
83
  i0.ɵɵelementEnd()();
232
84
  } if (rf & 2) {
233
- const element_r44 = i0.ɵɵnextContext().$implicit;
234
- const ctx_r48 = i0.ɵɵnextContext(3);
85
+ const element_r12 = i0.ɵɵnextContext().$implicit;
86
+ const ctx_r16 = i0.ɵɵnextContext(2);
235
87
  i0.ɵɵadvance(2);
236
- i0.ɵɵproperty("innerHTML", ctx_r48.sanitizer.bypassSecurityTrustHtml(element_r44.description), i0.ɵɵsanitizeHtml);
88
+ i0.ɵɵproperty("innerHTML", ctx_r16.sanitizer.bypassSecurityTrustHtml(element_r12.description), i0.ɵɵsanitizeHtml);
237
89
  } }
238
- function CommonSuccessPage_div_8_div_2_div_6_ion_row_4_Template(rf, ctx) { if (rf & 1) {
239
- const _r57 = i0.ɵɵgetCurrentView();
240
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col")(2, "ion-row")(3, "ion-col");
241
- i0.ɵɵelement(4, "div", 13);
90
+ function CommonSuccessPage_div_6_div_3_ion_row_4_Template(rf, ctx) { if (rf & 1) {
91
+ const _r25 = i0.ɵɵgetCurrentView();
92
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 17)(2, "ion-row")(3, "ion-col");
93
+ i0.ɵɵelement(4, "div", 9);
242
94
  i0.ɵɵelementEnd()();
243
95
  i0.ɵɵelementStart(5, "ion-row")(6, "ion-col");
244
- i0.ɵɵelement(7, "input", 23);
96
+ i0.ɵɵelement(7, "input", 18);
245
97
  i0.ɵɵelementEnd();
246
- i0.ɵɵelementStart(8, "ion-col")(9, "ion-button", 24);
247
- i0.ɵɵlistener("click", function CommonSuccessPage_div_8_div_2_div_6_ion_row_4_Template_ion_button_click_9_listener() { i0.ɵɵrestoreView(_r57); const ctx_r56 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r56.submit()); });
98
+ i0.ɵɵelementStart(8, "ion-col")(9, "ion-button", 19);
99
+ i0.ɵɵlistener("click", function CommonSuccessPage_div_6_div_3_ion_row_4_Template_ion_button_click_9_listener() { i0.ɵɵrestoreView(_r25); const ctx_r24 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r24.submit()); });
248
100
  i0.ɵɵtext(10, "Submit");
249
101
  i0.ɵɵelementEnd()()()()();
250
102
  } if (rf & 2) {
251
- const element_r44 = i0.ɵɵnextContext().$implicit;
252
- const ctx_r49 = i0.ɵɵnextContext(3);
103
+ const element_r12 = i0.ɵɵnextContext().$implicit;
104
+ const ctx_r17 = i0.ɵɵnextContext(2);
253
105
  i0.ɵɵadvance(4);
254
- i0.ɵɵproperty("innerHTML", ctx_r49.sanitizer.bypassSecurityTrustHtml(element_r44.description), i0.ɵɵsanitizeHtml);
106
+ i0.ɵɵproperty("innerHTML", ctx_r17.sanitizer.bypassSecurityTrustHtml(element_r12.description), i0.ɵɵsanitizeHtml);
255
107
  i0.ɵɵadvance(3);
256
- i0.ɵɵproperty("formControl", ctx_r49.emailAddress);
108
+ i0.ɵɵproperty("formControl", ctx_r17.emailAddress);
257
109
  } }
258
- function CommonSuccessPage_div_8_div_2_div_6_ion_row_5_Template(rf, ctx) { if (rf & 1) {
259
- const _r60 = i0.ɵɵgetCurrentView();
260
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col")(2, "div", 25);
110
+ function CommonSuccessPage_div_6_div_3_ion_row_5_Template(rf, ctx) { if (rf & 1) {
111
+ const _r28 = i0.ɵɵgetCurrentView();
112
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 17)(2, "div", 20);
261
113
  i0.ɵɵtext(3, "If you did't get an email, ");
262
- i0.ɵɵelementStart(4, "a", 26);
263
- i0.ɵɵlistener("click", function CommonSuccessPage_div_8_div_2_div_6_ion_row_5_Template_a_click_4_listener() { i0.ɵɵrestoreView(_r60); const ctx_r59 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r59.resendVerificationEmail()); });
114
+ i0.ɵɵelementStart(4, "a", 21);
115
+ i0.ɵɵlistener("click", function CommonSuccessPage_div_6_div_3_ion_row_5_Template_a_click_4_listener() { i0.ɵɵrestoreView(_r28); const ctx_r27 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r27.resendVerificationEmail()); });
264
116
  i0.ɵɵtext(5, " click here");
265
117
  i0.ɵɵelementEnd();
266
- i0.ɵɵtext(6, " and we'll send again. ");
118
+ i0.ɵɵtext(6, " and we'll send again.");
267
119
  i0.ɵɵelementEnd()()();
268
120
  } }
269
- function CommonSuccessPage_div_8_div_2_div_6_ion_row_6_Template(rf, ctx) { if (rf & 1) {
270
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col");
271
- i0.ɵɵelement(2, "div", 13);
121
+ function CommonSuccessPage_div_6_div_3_ion_row_6_Template(rf, ctx) { if (rf & 1) {
122
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 17);
123
+ i0.ɵɵelement(2, "div", 9);
272
124
  i0.ɵɵelementEnd()();
273
125
  } if (rf & 2) {
274
- const element_r44 = i0.ɵɵnextContext().$implicit;
275
- const ctx_r51 = i0.ɵɵnextContext(3);
126
+ const element_r12 = i0.ɵɵnextContext().$implicit;
127
+ const ctx_r19 = i0.ɵɵnextContext(2);
276
128
  i0.ɵɵadvance(2);
277
- i0.ɵɵproperty("innerHTML", ctx_r51.sanitizer.bypassSecurityTrustHtml(element_r44.description), i0.ɵɵsanitizeHtml);
129
+ i0.ɵɵproperty("innerHTML", ctx_r19.sanitizer.bypassSecurityTrustHtml(element_r12.description), i0.ɵɵsanitizeHtml);
278
130
  } }
279
- function CommonSuccessPage_div_8_div_2_div_6_ion_row_7_Template(rf, ctx) { if (rf & 1) {
280
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col");
281
- i0.ɵɵelement(2, "div", 13);
131
+ function CommonSuccessPage_div_6_div_3_ion_row_7_Template(rf, ctx) { if (rf & 1) {
132
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 17);
133
+ i0.ɵɵelement(2, "div", 9);
282
134
  i0.ɵɵelementEnd()();
283
135
  } if (rf & 2) {
284
- const element_r44 = i0.ɵɵnextContext().$implicit;
285
- const ctx_r52 = i0.ɵɵnextContext(3);
136
+ const element_r12 = i0.ɵɵnextContext().$implicit;
137
+ const ctx_r20 = i0.ɵɵnextContext(2);
286
138
  i0.ɵɵadvance(2);
287
- i0.ɵɵproperty("innerHTML", ctx_r52.sanitizer.bypassSecurityTrustHtml(element_r44.description), i0.ɵɵsanitizeHtml);
139
+ i0.ɵɵproperty("innerHTML", ctx_r20.sanitizer.bypassSecurityTrustHtml(element_r12.description), i0.ɵɵsanitizeHtml);
288
140
  } }
289
- function CommonSuccessPage_div_8_div_2_div_6_Template(rf, ctx) { if (rf & 1) {
141
+ function CommonSuccessPage_div_6_div_3_Template(rf, ctx) { if (rf & 1) {
290
142
  i0.ɵɵelementStart(0, "div");
291
- i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_2_div_6_ion_row_1_Template, 3, 1, "ion-row", 6)(2, CommonSuccessPage_div_8_div_2_div_6_ion_row_2_Template, 3, 1, "ion-row", 6)(3, CommonSuccessPage_div_8_div_2_div_6_ion_row_3_Template, 3, 1, "ion-row", 6)(4, CommonSuccessPage_div_8_div_2_div_6_ion_row_4_Template, 11, 2, "ion-row", 6)(5, CommonSuccessPage_div_8_div_2_div_6_ion_row_5_Template, 7, 0, "ion-row", 6)(6, CommonSuccessPage_div_8_div_2_div_6_ion_row_6_Template, 3, 1, "ion-row", 6)(7, CommonSuccessPage_div_8_div_2_div_6_ion_row_7_Template, 3, 1, "ion-row", 6);
143
+ i0.ɵɵtemplate(1, CommonSuccessPage_div_6_div_3_ion_row_1_Template, 3, 1, "ion-row", 4)(2, CommonSuccessPage_div_6_div_3_ion_row_2_Template, 3, 1, "ion-row", 4)(3, CommonSuccessPage_div_6_div_3_ion_row_3_Template, 3, 1, "ion-row", 4)(4, CommonSuccessPage_div_6_div_3_ion_row_4_Template, 11, 2, "ion-row", 4)(5, CommonSuccessPage_div_6_div_3_ion_row_5_Template, 7, 0, "ion-row", 4)(6, CommonSuccessPage_div_6_div_3_ion_row_6_Template, 3, 1, "ion-row", 4)(7, CommonSuccessPage_div_6_div_3_ion_row_7_Template, 3, 1, "ion-row", 4);
292
144
  i0.ɵɵelementEnd();
293
145
  } if (rf & 2) {
294
- const element_r44 = ctx.$implicit;
146
+ const element_r12 = ctx.$implicit;
295
147
  i0.ɵɵadvance(1);
296
- i0.ɵɵproperty("ngIf", element_r44.type === "subhheader");
148
+ i0.ɵɵproperty("ngIf", element_r12.type === "subhheader");
297
149
  i0.ɵɵadvance(1);
298
- i0.ɵɵproperty("ngIf", element_r44.type === "text1");
150
+ i0.ɵɵproperty("ngIf", element_r12.type === "text1");
299
151
  i0.ɵɵadvance(1);
300
- i0.ɵɵproperty("ngIf", element_r44.type === "text2");
152
+ i0.ɵɵproperty("ngIf", element_r12.type === "text2");
301
153
  i0.ɵɵadvance(1);
302
- i0.ɵɵproperty("ngIf", element_r44.type === "emailUpdate");
154
+ i0.ɵɵproperty("ngIf", element_r12.type === "emailUpdate");
303
155
  i0.ɵɵadvance(1);
304
- i0.ɵɵproperty("ngIf", element_r44.type === "resendemail");
156
+ i0.ɵɵproperty("ngIf", element_r12.type === "resendemail");
305
157
  i0.ɵɵadvance(1);
306
- i0.ɵɵproperty("ngIf", element_r44.type === "text3");
158
+ i0.ɵɵproperty("ngIf", element_r12.type === "text3");
307
159
  i0.ɵɵadvance(1);
308
- i0.ɵɵproperty("ngIf", element_r44.type === "text4");
309
- } }
310
- function CommonSuccessPage_div_8_div_2_Template(rf, ctx) { if (rf & 1) {
311
- i0.ɵɵelementStart(0, "div")(1, "ion-grid")(2, "ion-row")(3, "ion-col", 27);
312
- i0.ɵɵtemplate(4, CommonSuccessPage_div_8_div_2_div_4_Template, 2, 1, "div", 16);
313
- i0.ɵɵelementStart(5, "ion-grid");
314
- i0.ɵɵtemplate(6, CommonSuccessPage_div_8_div_2_div_6_Template, 8, 7, "div", 16);
315
- i0.ɵɵelementEnd()();
316
- i0.ɵɵelementStart(7, "ion-col", 28)(8, "h4");
317
- i0.ɵɵtext(9, "One more task...");
318
- i0.ɵɵelementEnd();
319
- i0.ɵɵelementStart(10, "p")(11, "b");
320
- i0.ɵɵtext(12, "There's another step to complete before you may receive unemployment payments");
321
- i0.ɵɵelementEnd()();
322
- i0.ɵɵelementStart(13, "p");
323
- i0.ɵɵtext(14, "Choose ");
324
- i0.ɵɵelementStart(15, "b");
325
- i0.ɵɵtext(16, "Next");
326
- i0.ɵɵelementEnd();
327
- i0.ɵɵtext(17, " to be taken to MSWorks website to create your employment services profile.");
328
- i0.ɵɵelement(18, "br");
329
- i0.ɵɵtext(19, " Once you're done, we can match you to available jobs based on your experience and preferences. ");
330
- i0.ɵɵelementEnd()()()()();
331
- } if (rf & 2) {
332
- const ctx_r10 = i0.ɵɵnextContext(2);
333
- i0.ɵɵadvance(4);
334
- i0.ɵɵproperty("ngForOf", ctx_r10.elements.getValue());
335
- i0.ɵɵadvance(2);
336
- i0.ɵɵproperty("ngForOf", ctx_r10.elements.getValue());
160
+ i0.ɵɵproperty("ngIf", element_r12.type === "text4");
337
161
  } }
338
- function CommonSuccessPage_div_8_div_4_div_1_ion_col_2_div_1_Template(rf, ctx) { if (rf & 1) {
339
- i0.ɵɵelementStart(0, "div", 33)(1, "h3");
162
+ function CommonSuccessPage_div_6_div_5_ion_col_2_div_1_Template(rf, ctx) { if (rf & 1) {
163
+ i0.ɵɵelementStart(0, "div", 25)(1, "h3");
340
164
  i0.ɵɵtext(2);
341
165
  i0.ɵɵelementEnd()();
342
166
  } if (rf & 2) {
343
- const element_r64 = i0.ɵɵnextContext(2).$implicit;
167
+ const element_r31 = i0.ɵɵnextContext(2).$implicit;
344
168
  i0.ɵɵadvance(2);
345
- i0.ɵɵtextInterpolate(element_r64.description);
169
+ i0.ɵɵtextInterpolate(element_r31.description);
346
170
  } }
347
- function CommonSuccessPage_div_8_div_4_div_1_ion_col_2_Template(rf, ctx) { if (rf & 1) {
348
- i0.ɵɵelementStart(0, "ion-col", 31);
349
- i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_4_div_1_ion_col_2_div_1_Template, 3, 1, "div", 32);
171
+ function CommonSuccessPage_div_6_div_5_ion_col_2_Template(rf, ctx) { if (rf & 1) {
172
+ i0.ɵɵelementStart(0, "ion-col", 23);
173
+ i0.ɵɵtemplate(1, CommonSuccessPage_div_6_div_5_ion_col_2_div_1_Template, 3, 1, "div", 24);
350
174
  i0.ɵɵelementEnd();
351
175
  } if (rf & 2) {
352
- const element_r64 = i0.ɵɵnextContext().$implicit;
176
+ const element_r31 = i0.ɵɵnextContext().$implicit;
353
177
  i0.ɵɵadvance(1);
354
- i0.ɵɵproperty("ngIf", element_r64.type === "buttonAddjacentText");
178
+ i0.ɵɵproperty("ngIf", element_r31.type === "buttonAddjacentText");
355
179
  } }
356
- function CommonSuccessPage_div_8_div_4_div_1_ion_col_3_div_1_Template(rf, ctx) { if (rf & 1) {
357
- const _r73 = i0.ɵɵgetCurrentView();
358
- i0.ɵɵelementStart(0, "div", 35)(1, "ion-button", 36);
359
- i0.ɵɵlistener("click", function CommonSuccessPage_div_8_div_4_div_1_ion_col_3_div_1_Template_ion_button_click_1_listener() { i0.ɵɵrestoreView(_r73); const ctx_r72 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r72.openPage()); });
180
+ function CommonSuccessPage_div_6_div_5_ion_col_3_div_1_Template(rf, ctx) { if (rf & 1) {
181
+ const _r40 = i0.ɵɵgetCurrentView();
182
+ i0.ɵɵelementStart(0, "div", 27)(1, "ion-button", 28);
183
+ i0.ɵɵlistener("click", function CommonSuccessPage_div_6_div_5_ion_col_3_div_1_Template_ion_button_click_1_listener() { i0.ɵɵrestoreView(_r40); const ctx_r39 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r39.openPage()); });
360
184
  i0.ɵɵtext(2);
361
185
  i0.ɵɵelementEnd()();
362
186
  } if (rf & 2) {
363
- const element_r64 = i0.ɵɵnextContext(2).$implicit;
187
+ const element_r31 = i0.ɵɵnextContext(2).$implicit;
364
188
  i0.ɵɵadvance(2);
365
- i0.ɵɵtextInterpolate1(" ", element_r64.description, " ");
189
+ i0.ɵɵtextInterpolate1(" ", element_r31.description, " ");
366
190
  } }
367
- function CommonSuccessPage_div_8_div_4_div_1_ion_col_3_Template(rf, ctx) { if (rf & 1) {
368
- i0.ɵɵelementStart(0, "ion-col", 31);
369
- i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_4_div_1_ion_col_3_div_1_Template, 3, 1, "div", 34);
191
+ function CommonSuccessPage_div_6_div_5_ion_col_3_Template(rf, ctx) { if (rf & 1) {
192
+ i0.ɵɵelementStart(0, "ion-col", 23);
193
+ i0.ɵɵtemplate(1, CommonSuccessPage_div_6_div_5_ion_col_3_div_1_Template, 3, 1, "div", 26);
370
194
  i0.ɵɵelementEnd();
371
195
  } if (rf & 2) {
372
- const element_r64 = i0.ɵɵnextContext().$implicit;
196
+ const element_r31 = i0.ɵɵnextContext().$implicit;
373
197
  i0.ɵɵadvance(1);
374
- i0.ɵɵproperty("ngIf", element_r64.type === "buttonText");
198
+ i0.ɵɵproperty("ngIf", element_r31.type === "buttonText");
375
199
  } }
376
- function CommonSuccessPage_div_8_div_4_div_1_Template(rf, ctx) { if (rf & 1) {
200
+ function CommonSuccessPage_div_6_div_5_Template(rf, ctx) { if (rf & 1) {
377
201
  i0.ɵɵelementStart(0, "div")(1, "ion-row");
378
- i0.ɵɵtemplate(2, CommonSuccessPage_div_8_div_4_div_1_ion_col_2_Template, 2, 1, "ion-col", 30)(3, CommonSuccessPage_div_8_div_4_div_1_ion_col_3_Template, 2, 1, "ion-col", 30);
202
+ i0.ɵɵtemplate(2, CommonSuccessPage_div_6_div_5_ion_col_2_Template, 2, 1, "ion-col", 22)(3, CommonSuccessPage_div_6_div_5_ion_col_3_Template, 2, 1, "ion-col", 22);
379
203
  i0.ɵɵelementEnd()();
380
204
  } if (rf & 2) {
381
- const element_r64 = ctx.$implicit;
382
- const ctx_r63 = i0.ɵɵnextContext(3);
205
+ const element_r31 = ctx.$implicit;
383
206
  i0.ɵɵadvance(2);
384
- i0.ɵɵproperty("ngIf", element_r64.type === "buttonAddjacentText" && !ctx_r63.isCsr);
207
+ i0.ɵɵproperty("ngIf", element_r31.type === "buttonAddjacentText");
385
208
  i0.ɵɵadvance(1);
386
- i0.ɵɵproperty("ngIf", element_r64.type === "buttonText");
209
+ i0.ɵɵproperty("ngIf", element_r31.type === "buttonText");
387
210
  } }
388
- function CommonSuccessPage_div_8_div_4_Template(rf, ctx) { if (rf & 1) {
211
+ function CommonSuccessPage_div_6_Template(rf, ctx) { if (rf & 1) {
389
212
  i0.ɵɵelementStart(0, "div");
390
- i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_4_div_1_Template, 4, 2, "div", 16);
213
+ i0.ɵɵtemplate(1, CommonSuccessPage_div_6_div_1_Template, 2, 1, "div", 11);
214
+ i0.ɵɵelementStart(2, "ion-grid");
215
+ i0.ɵɵtemplate(3, CommonSuccessPage_div_6_div_3_Template, 8, 7, "div", 11);
391
216
  i0.ɵɵelementEnd();
217
+ i0.ɵɵelementStart(4, "ion-grid");
218
+ i0.ɵɵtemplate(5, CommonSuccessPage_div_6_div_5_Template, 4, 2, "div", 11);
219
+ i0.ɵɵelementEnd()();
392
220
  } if (rf & 2) {
393
- const ctx_r11 = i0.ɵɵnextContext(2);
394
- i0.ɵɵadvance(1);
395
- i0.ɵɵproperty("ngForOf", ctx_r11.elements.getValue());
396
- } }
397
- function CommonSuccessPage_div_8_div_6_Template(rf, ctx) { if (rf & 1) {
398
- const _r77 = i0.ɵɵgetCurrentView();
399
- i0.ɵɵelementStart(0, "div")(1, "ion-row")(2, "ion-col", 37)(3, "div", 35)(4, "ion-button", 36);
400
- i0.ɵɵlistener("click", function CommonSuccessPage_div_8_div_6_Template_ion_button_click_4_listener() { i0.ɵɵrestoreView(_r77); const ctx_r76 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r76.openWIOApop()); });
401
- i0.ɵɵtext(5, " Next ");
402
- i0.ɵɵelementEnd()()()()();
403
- } }
404
- function CommonSuccessPage_div_8_Template(rf, ctx) { if (rf & 1) {
405
- i0.ɵɵelementStart(0, "div");
406
- i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_1_Template, 4, 2, "div", 6)(2, CommonSuccessPage_div_8_div_2_Template, 20, 2, "div", 6);
407
- i0.ɵɵelementStart(3, "ion-grid");
408
- i0.ɵɵtemplate(4, CommonSuccessPage_div_8_div_4_Template, 2, 1, "div", 6);
409
- i0.ɵɵelementStart(5, "ion-footer", 15);
410
- i0.ɵɵtemplate(6, CommonSuccessPage_div_8_div_6_Template, 6, 0, "div", 6);
411
- i0.ɵɵelementEnd()()();
412
- } if (rf & 2) {
413
- const ctx_r4 = i0.ɵɵnextContext();
414
- i0.ɵɵadvance(1);
415
- i0.ɵɵproperty("ngIf", !ctx_r4.isMS() || ctx_r4.isMS() && (ctx_r4.wioaComp === null || ctx_r4.wioaComp));
221
+ const ctx_r2 = i0.ɵɵnextContext();
416
222
  i0.ɵɵadvance(1);
417
- i0.ɵɵproperty("ngIf", !ctx_r4.wioaComp && ctx_r4.wioaComp != null && ctx_r4.isMS());
223
+ i0.ɵɵproperty("ngForOf", ctx_r2.elements.getValue());
418
224
  i0.ɵɵadvance(2);
419
- i0.ɵɵproperty("ngIf", !ctx_r4.isMS() || ctx_r4.isMS() && (ctx_r4.wioaComp === null || ctx_r4.wioaComp));
225
+ i0.ɵɵproperty("ngForOf", ctx_r2.elements.getValue());
420
226
  i0.ɵɵadvance(2);
421
- i0.ɵɵproperty("ngIf", !ctx_r4.wioaComp && ctx_r4.wioaComp != null && ctx_r4.isMS());
227
+ i0.ɵɵproperty("ngForOf", ctx_r2.elements.getValue());
422
228
  } }
423
229
  export class CommonSuccessPage extends BasePage {
424
230
  constructor(router, questionnaireService, formBuilder, util, logger, claimantService, r, navController, ls, sanitizer, http, storage, validationService) {
@@ -448,20 +254,14 @@ export class CommonSuccessPage extends BasePage {
448
254
  this.isLoading = true;
449
255
  this.elements = new BehaviorSubject(null);
450
256
  this.successPageElementArr = new BehaviorSubject(null);
451
- this.isCsr = false;
452
257
  this.duration = 5000; //defines milliseconds after which a new request to be sent out
453
258
  this.timerInterval = interval(this.duration);
454
259
  this.countDown = this.timerInterval.pipe(take(30));
455
260
  this.isOpenQe = false;
456
- this.isOpenDua = false;
457
261
  this.statusModel = new StatusModel();
458
- this.displayWIOAMsg = false;
459
- this.commonSuccessPage = 'commonSuccessPage';
460
- this.wioaComp = null;
461
262
  }
462
263
  async ngOnInit() {
463
264
  this.logger.debug("common-success page - ng init called");
464
- this.isCsr = this.ls.isCsr();
465
265
  this.uuid = await this.storage.get(FbConstants.uuid);
466
266
  this.waitCheckServiceUri = await this.storage.get(FbConstants.waitCheckServiceUri);
467
267
  this.pageToOpen = await this.storage.get(FbConstants.pageToOpen);
@@ -498,16 +298,16 @@ export class CommonSuccessPage extends BasePage {
498
298
  this.storage.remove(FbConstants.uuid);
499
299
  }
500
300
  doPollingForRequest(uuidTemp, waitCheckServiceUriTemp) {
501
- this.logger.debug('do Polling for request called = ', waitCheckServiceUriTemp);
301
+ console.log('do Polling for request called = ', waitCheckServiceUriTemp);
502
302
  this.isLoading = true;
503
303
  this.timerSubscription = this.timerInterval.pipe(startWith(0), switchMap(() => this.retrivePollingStatusForPage(uuidTemp, waitCheckServiceUriTemp))).subscribe(res => {
504
304
  this.isLoading = true;
505
305
  let continueWaiting = res['continueWaiting'];
506
306
  this.waitingMessage = res['waitingMessage'];
507
- if (continueWaiting && ++this.callCount >= 25) {
508
- this.waitingMessage = 'Its taking longer than usual to process your request. <br/> Do not refresh the page.';
307
+ if (continueWaiting && ++this.callCount >= 15) {
308
+ this.waitingMessage = "It's taking longer than usual to process your request. <br/> Do not refresh the page.";
509
309
  }
510
- if (continueWaiting && this.callCount > 35) {
310
+ if (continueWaiting && this.callCount > 25) {
511
311
  this.timerSubscription.unsubscribe();
512
312
  if (this.ls.isLoggedIn()) {
513
313
  this.pageToOpen = "welcome";
@@ -515,9 +315,6 @@ export class CommonSuccessPage extends BasePage {
515
315
  else {
516
316
  this.pageToOpen = "landing";
517
317
  }
518
- if (this.isMS()) {
519
- this.wioaComp = null;
520
- }
521
318
  this.successPageElementArr.next([
522
319
  { type: 'header', description: "<h1>Oops! could not process your request.</h1>\t\t", indent: 0, fontSize: 0 },
523
320
  { type: 'subhheader', description: '<h4>Please try again after some time.<h4>\t\t', indent: 0, fontSize: 0 },
@@ -532,9 +329,7 @@ export class CommonSuccessPage extends BasePage {
532
329
  this.waitingMessage = res['waitingMessage'];
533
330
  this.fetchPageElements(messageServiceEp, uuidTemp).subscribe(resp => {
534
331
  this.statusModel = resp;
535
- if (this.isMS()) {
536
- this.wioaComp = this.statusModel.wioaComp;
537
- }
332
+ this.logger.debug(" this.statusModel ", this.statusModel);
538
333
  if (resp['navigateImmediately']) {
539
334
  this.openNextPage(resp['pageToOpen']);
540
335
  }
@@ -552,20 +347,6 @@ export class CommonSuccessPage extends BasePage {
552
347
  this.doPollingForRequest(this.uuid, this.qeSuccessWaitCheckServiceUri);
553
348
  }
554
349
  }
555
- else if (resp['showDua']) {
556
- this.logger.debug("Open DUA Questionnaire option encountered");
557
- this.qeSuccessWaitCheckServiceUri = this.statusModel.qeSuccessWaitCheckServiceUri;
558
- this.qeSuccessWaitForProcessing = this.statusModel.qeSuccessWaitForProcessing;
559
- this.qeSuccessUri = this.statusModel.qeSuccessUri;
560
- if (this.qeSuccessUri != null) {
561
- this.qeQueryModels = resp.qeQueryModels;
562
- this.isOpenDua = true;
563
- }
564
- else {
565
- this.logger.debug("Direct polling to new process");
566
- this.doPollingForRequest(this.uuid, this.qeSuccessWaitCheckServiceUri);
567
- }
568
- }
569
350
  else {
570
351
  this.pageToOpen = resp['pageToOpen'];
571
352
  this.successPageElementArr.next(resp['successPageElement']);
@@ -634,9 +415,6 @@ export class CommonSuccessPage extends BasePage {
634
415
  window.open(location.origin + url, '_self');
635
416
  }
636
417
  }
637
- openWIOApop() {
638
- this.displayWIOAMsg = true;
639
- }
640
418
  getContextRoot() {
641
419
  return window.location.pathname.substring(0, window.location.pathname.indexOf("/", 2));
642
420
  }
@@ -668,52 +446,30 @@ export class CommonSuccessPage extends BasePage {
668
446
  });
669
447
  }
670
448
  }
671
- quSuccessDua() {
672
- this.logger.debug("qe success here for dua");
673
- if (this.isOpenDua) {
674
- this.validationService.post(this.qeSuccessUri, null)
675
- .subscribe(res => {
676
- this.logger.debug("response post dua ep", res);
677
- this.isOpenDua = false;
678
- if (this.qeSuccessWaitForProcessing) {
679
- this.doPollingForRequest(this.uuid, this.qeSuccessWaitCheckServiceUri);
680
- }
681
- }, err => {
682
- this.logger.debug('Error', err);
683
- this.util.errorHandler(err);
684
- });
685
- }
686
- }
687
449
  static { this.ɵfac = function CommonSuccessPage_Factory(t) { return new (t || CommonSuccessPage)(i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.QuestionnaireService), i0.ɵɵdirectiveInject(i3.UntypedFormBuilder), i0.ɵɵdirectiveInject(i4.UtilService), i0.ɵɵdirectiveInject(i5.LoggerService), i0.ɵɵdirectiveInject(i6.ClaimantService), i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i7.NavController), i0.ɵɵdirectiveInject(i8.LoginService), i0.ɵɵdirectiveInject(i9.DomSanitizer), i0.ɵɵdirectiveInject(i10.HttpClient), i0.ɵɵdirectiveInject(i11.Storage), i0.ɵɵdirectiveInject(i12.ValidationService)); }; }
688
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CommonSuccessPage, selectors: [["common-success"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 9, vars: 8, consts: [[3, "secondToolbar"], [3, "redirectPage", 4, "ngIf"], [3, "showHelp", "hideFooter"], [3, "qeQueryModels", "showClose", "header", "showQuestionNumber", "onComplete", 4, "ngIf"], [3, "qeQueryModels", "showClose", "autoSave", "header", "showQuestionNumber", "onComplete", 4, "ngIf"], ["class", "ion-padding", 4, "ngIf"], [4, "ngIf"], [3, "redirectPage"], [3, "qeQueryModels", "showClose", "header", "showQuestionNumber", "onComplete"], [3, "qeQueryModels", "showClose", "autoSave", "header", "showQuestionNumber", "onComplete"], [1, "ion-padding"], [1, "ion-text-center"], [1, "box", 2, "color", "var(--ion-color-grey)", "font-size", "24px"], [3, "innerHTML"], ["name", "dots"], [2, "position", "fixed", "bottom", "25px", "width", "100%", "padding", "20px"], [4, "ngFor", "ngForOf"], ["style", "color:var(--ion-color-grey);text-align: left; font-size: 60px;", 3, "innerHTML", 4, "ngIf"], [2, "color", "var(--ion-color-grey)", "text-align", "left", "font-size", "60px", 3, "innerHTML"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 1, "ion-text-center", "ion-padding"], [1, "box", 2, "color", "var(--ion-color-grey)", 3, "innerHTML"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 1, "ion-padding"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 1, "ion-text-justify", "ion-padding"], ["id", "emailAddress", "size", "60", "type", "input", "pInputText", "", 3, "formControl"], ["shape", "round", "type", "submit", 3, "click"], [2, "text-align", "center"], ["href", "javascript:void(0)", 3, "click"], ["size", "12", "sizeXl", "6", "offsetXl", "1", "sizeLg", "6", 1, "ion-text-justify", "ion-padding"], ["size", "12", "sizeXl", "3", "sizeLg", "3", 1, "ion-text-justify", "ion-padding", 2, "align-content", "center"], [2, "color", "var(--ion-color-grey)", "font-size", "60px", "padding-left", "25px", "text-align", "left", 3, "innerHTML"], ["class", "ion-text-right ion-padding-end", "size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 4, "ngIf"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 1, "ion-text-right", "ion-padding-end"], ["class", "ion-text-right", "style", "color:var(--ion-color-grey);", 4, "ngIf"], [1, "ion-text-right", 2, "color", "var(--ion-color-grey)"], ["class", "ion-text-right", 4, "ngIf"], [1, "ion-text-right"], ["shape", "round", "color", "success", "size", "big", "type", "submit", 3, "click"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "2", "offsetXl", "4", "offsetLg", "4", 1, "ion-text-right", "ion-padding-end"]], template: function CommonSuccessPage_Template(rf, ctx) { if (rf & 1) {
450
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CommonSuccessPage, selectors: [["common-success"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 7, vars: 6, consts: [[3, "secondToolbar"], [3, "showHelp", "hideFooter"], [3, "qeQueryModels", "showClose", "header", "showQuestionNumber", "onComplete", 4, "ngIf"], ["class", "ion-padding", 4, "ngIf"], [4, "ngIf"], [3, "qeQueryModels", "showClose", "header", "showQuestionNumber", "onComplete"], [1, "ion-padding"], [1, "ion-text-center"], [1, "box", 2, "color", "var(--ion-color-grey)", "font-size", "24px"], [3, "innerHTML"], ["name", "dots"], [4, "ngFor", "ngForOf"], ["style", "text-align: left;", "style", "color:var(--ion-color-grey);", "style", "padding-left: 25px;", 3, "innerHTML", 4, "ngIf"], [2, "padding-left", "25px", 3, "innerHTML"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 1, "ion-text-center", "ion-padding"], [1, "box", 2, "color", "var(--ion-color-grey)", 3, "innerHTML"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 1, "ion-padding"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 1, "ion-text-justify", "ion-padding"], ["id", "emailAddress", "size", "60", "type", "input", "pInputText", "", 3, "formControl"], ["shape", "round", "type", "submit", 3, "click"], [2, "text-align", "center"], ["href", "javascript:void(0)", 3, "click"], ["class", "ion-text-right ion-padding-end", "size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 4, "ngIf"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 1, "ion-text-right", "ion-padding-end"], ["class", "ion-text-right", "style", "color:var(--ion-color-grey);", 4, "ngIf"], [1, "ion-text-right", 2, "color", "var(--ion-color-grey)"], ["class", "ion-text-right", 4, "ngIf"], [1, "ion-text-right"], ["shape", "round", "color", "success", "size", "big", "type", "submit", 3, "click"]], template: function CommonSuccessPage_Template(rf, ctx) { if (rf & 1) {
689
451
  i0.ɵɵelementStart(0, "ion-header");
690
452
  i0.ɵɵelement(1, "app-header", 0);
691
453
  i0.ɵɵelementEnd();
692
- i0.ɵɵelementStart(2, "ion-content");
693
- i0.ɵɵtemplate(3, CommonSuccessPage_app_profile_redirect_3_Template, 1, 1, "app-profile-redirect", 1);
694
- i0.ɵɵelementStart(4, "app-content", 2);
695
- i0.ɵɵtemplate(5, CommonSuccessPage_app_multi_questionnaire_5_Template, 2, 6, "app-multi-questionnaire", 3)(6, CommonSuccessPage_app_multi_questionnaire_6_Template, 2, 7, "app-multi-questionnaire", 4)(7, CommonSuccessPage_ion_row_7_Template, 6, 1, "ion-row", 5)(8, CommonSuccessPage_div_8_Template, 7, 4, "div", 6);
454
+ i0.ɵɵelementStart(2, "ion-content")(3, "app-content", 1);
455
+ i0.ɵɵtemplate(4, CommonSuccessPage_app_multi_questionnaire_4_Template, 2, 6, "app-multi-questionnaire", 2)(5, CommonSuccessPage_ion_row_5_Template, 6, 1, "ion-row", 3)(6, CommonSuccessPage_div_6_Template, 6, 3, "div", 4);
696
456
  i0.ɵɵelementEnd()();
697
457
  } if (rf & 2) {
698
458
  i0.ɵɵadvance(1);
699
459
  i0.ɵɵproperty("secondToolbar", false);
700
460
  i0.ɵɵadvance(2);
701
- i0.ɵɵproperty("ngIf", ctx.displayWIOAMsg);
702
- i0.ɵɵadvance(1);
703
461
  i0.ɵɵproperty("showHelp", false)("hideFooter", true);
704
462
  i0.ɵɵadvance(1);
705
463
  i0.ɵɵproperty("ngIf", ctx.isOpenQe);
706
464
  i0.ɵɵadvance(1);
707
- i0.ɵɵproperty("ngIf", ctx.isOpenDua);
708
- i0.ɵɵadvance(1);
709
465
  i0.ɵɵproperty("ngIf", ctx.isLoading);
710
466
  i0.ɵɵadvance(1);
711
467
  i0.ɵɵproperty("ngIf", ctx.elements.getValue() && !ctx.isLoading);
712
- } }, dependencies: [i7.IonButton, i7.IonCol, i7.IonContent, i7.IonFooter, i7.IonGrid, i7.IonHeader, i7.IonLabel, i7.IonRow, i7.IonSpinner, i13.NgForOf, i13.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, i14.InputText, i15.ContentComponent, i16.HeaderComponent, i17.MultiQuestionnaireComponent, i18.ProfileRedirectComponent, i19.TranslatePipe], styles: [".bottom[_ngcontent-%COMP%]{position:absolute;bottom:15%;right:5%}.centered[_ngcontent-%COMP%]{position:fixed;top:30%;left:50%;transform:translate(-50%,-50%)}"] }); }
468
+ } }, dependencies: [i7.IonButton, i7.IonCol, i7.IonContent, i7.IonGrid, i7.IonHeader, i7.IonLabel, i7.IonRow, i7.IonSpinner, i13.NgForOf, i13.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, i14.InputText, i15.ContentComponent, i16.HeaderComponent, i17.MultiQuestionnaireComponent, i18.TranslatePipe], styles: [".bottom[_ngcontent-%COMP%]{position:absolute;bottom:15%;right:5%}.centered[_ngcontent-%COMP%]{position:fixed;top:30%;left:50%;transform:translate(-50%,-50%)}"] }); }
713
469
  }
714
470
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CommonSuccessPage, [{
715
471
  type: Component,
716
- args: [{ selector: 'common-success', template: "<ion-header>\r\n <app-header [secondToolbar]=\"false\"></app-header>\r\n</ion-header>\r\n\r\n<ion-content>\r\n <app-profile-redirect *ngIf=\"displayWIOAMsg\" [redirectPage]=\"commonSuccessPage\"></app-profile-redirect>\r\n\r\n <app-content [showHelp]=\"false\" [hideFooter]=\"true\">\r\n <app-multi-questionnaire [qeQueryModels]=\"qeQueryModels\" *ngIf=\"isOpenQe\" [showClose]=\"false\"\r\n (onComplete)=\"quSuccess()\" [header]=\"'Followup Questions' | translate\" [showQuestionNumber]=\"true\">\r\n </app-multi-questionnaire>\r\n\r\n <app-multi-questionnaire [qeQueryModels]=\"qeQueryModels\" [showClose]=\"false\" [autoSave]=\"true\" *ngIf=\"isOpenDua\"\r\n (onComplete)=\"quSuccessDua()\" [header]=\"'DUA application' | translate\" [showQuestionNumber]=\"false\">\r\n </app-multi-questionnaire>\r\n\r\n <ion-row class=\"ion-padding\" *ngIf=\"isLoading\">\r\n <ion-col class=\"ion-text-center\">\r\n <ion-label class=\"box\" style=\"color:var(--ion-color-grey); font-size: 24px\">\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(waitingMessage)\"></div>\r\n </ion-label>\r\n <br>\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <div *ngIf=\"elements.getValue() && !isLoading\">\r\n <div *ngIf=\"!isMS() || (isMS() && (wioaComp===null || wioaComp))\">\r\n <div *ngFor=\"let element of elements.getValue(); let i = index\">\r\n <div [innerHTML]=\"element.description\" *ngIf=\"element.type ==='header'\" \r\n style=\"color:var(--ion-color-grey);text-align: left; font-size: 60px;\">\r\n </div>\r\n </div>\r\n\r\n <ion-grid>\r\n <div *ngFor=\"let element of elements.getValue(); let i = index\">\r\n <ion-row *ngIf=\"element.type ==='subhheader'\">\r\n <ion-col class=\"ion-text-center ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div [innerHTML]=\"element.description\" class=\"box\" style=\"margin-bottom: 20px;\"\r\n style=\"color:var(--ion-color-grey);\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text1'\">\r\n <ion-col class=\"ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\" sizeXl=\"8\"\r\n offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div [innerHTML]=\"element.description\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text2'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='emailUpdate'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <ion-row>\r\n <ion-col>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row>\r\n <ion-col>\r\n <input id=\"emailAddress\" size=\"60\" type=\"input\" pInputText [formControl]=\"emailAddress\" />\r\n </ion-col>\r\n <ion-col>\r\n <ion-button shape=\"round\" (click)=\"submit()\" type=\"submit\">Submit</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"element.type ==='resendemail'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div style='text-align:center'>If you did't get an email,\r\n <a href=\"javascript:void(0)\" (click)=\"resendVerificationEmail()\"> click here</a> and we'll send\r\n again.\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"element.type ==='text3'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\"></div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text4'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\"></div>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n </ion-grid>\r\n </div>\r\n\r\n <div *ngIf=\"!wioaComp && wioaComp!= null && isMS()\" >\r\n <ion-grid>\r\n <ion-row>\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeXl=\"6\" offsetXl=\"1\" sizeLg=\"6\">\r\n\r\n <div *ngFor=\"let element of elements.getValue(); let i = index\">\r\n <div *ngIf=\"element.type ==='header'\">\r\n <p style=\"color:var(--ion-color-grey);font-size: 60px; padding-left: 25px; text-align: left;\"\r\n [innerHTML]=\"element.description\">\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <ion-grid>\r\n <div *ngFor=\"let element of elements.getValue(); let i = index\">\r\n <ion-row *ngIf=\"element.type ==='subhheader'\">\r\n <ion-col class=\"ion-text-center ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\"\r\n sizeLg=\"8\" sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div [innerHTML]=\"element.description\" class=\"box\" style=\"margin-bottom: 20px;\"\r\n style=\"color:var(--ion-color-grey);\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text1'\">\r\n <ion-col>\r\n <div [innerHTML]=\"element.description\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text2'\">\r\n <ion-col>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='emailUpdate'\">\r\n <ion-col>\r\n <ion-row>\r\n <ion-col>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row>\r\n <ion-col>\r\n <input id=\"emailAddress\" size=\"60\" type=\"input\" pInputText [formControl]=\"emailAddress\" />\r\n </ion-col>\r\n <ion-col>\r\n <ion-button shape=\"round\" (click)=\"submit()\" type=\"submit\">Submit</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"element.type ==='resendemail'\">\r\n <ion-col>\r\n <div style='text-align:center'>If you did't get an email,\r\n <a href=\"javascript:void(0)\" (click)=\"resendVerificationEmail()\"> click here</a> and we'll send\r\n again.\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"element.type ==='text3'\">\r\n <ion-col>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\"></div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text4'\">\r\n <ion-col>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\"></div>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n </ion-grid>\r\n </ion-col>\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeXl=\"3\" sizeLg=\"3\" style=\"align-content: center;\">\r\n <h4>One more task...</h4>\r\n <p><b>There's another step to complete before you may receive unemployment payments</b></p>\r\n <p>Choose <b>Next</b> to be taken to MSWorks website to create your employment services profile.<br>\r\n Once you're done, we can match you to available jobs based on your experience and preferences.\r\n </p>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </div>\r\n <!--For button-->\r\n <ion-grid>\r\n <div *ngIf=\"!isMS() || (isMS() && (wioaComp===null || wioaComp))\">\r\n <div *ngFor=\"let element of elements.getValue(); let i = index\">\r\n <ion-row>\r\n <ion-col *ngIf=\"element.type ==='buttonAddjacentText' && !isCsr\" class=\"ion-text-right ion-padding-end\" size=\"12\"\r\n sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\" sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div class=\"ion-text-right\" style=\"color:var(--ion-color-grey);\"\r\n *ngIf=\"element.type ==='buttonAddjacentText'\">\r\n <h3>{{element.description}}</h3>\r\n </div>\r\n </ion-col>\r\n <ion-col *ngIf=\"element.type ==='buttonText'\" class=\"ion-text-right ion-padding-end\" size=\"12\" sizeSm=\"12\"\r\n sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\" sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div *ngIf=\"element.type ==='buttonText'\" class=\"ion-text-right\">\r\n <ion-button shape=\"round\" (click)=\"openPage()\" color=\"success\" size=\"big\"\r\n type=\"submit\">\r\n {{element.description}}\r\n </ion-button>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n </div>\r\n <ion-footer style=\"position: fixed; bottom: 25px; width: 100%; padding: 20px\">\r\n <div *ngIf=\"!wioaComp && wioaComp!= null && isMS()\" >\r\n <ion-row>\r\n <ion-col class=\"ion-text-right ion-padding-end\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"2\" offsetXl=\"4\" offsetLg=\"4\">\r\n <div class=\"ion-text-right\">\r\n <ion-button shape=\"round\" (click)=\"openWIOApop()\" color=\"success\" size=\"big\" type=\"submit\">\r\n Next\r\n </ion-button>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n </ion-footer>\r\n </ion-grid>\r\n <!--Button-->\r\n </div>\r\n </app-content>\r\n</ion-content>", styles: [".bottom{position:absolute;bottom:15%;right:5%}.centered{position:fixed;top:30%;left:50%;transform:translate(-50%,-50%)}\n"] }]
472
+ args: [{ selector: 'common-success', template: "<ion-header>\r\n <app-header [secondToolbar]=\"false\"></app-header>\r\n</ion-header>\r\n\r\n<ion-content>\r\n <app-content [showHelp]=\"false\" [hideFooter]=\"true\">\r\n <app-multi-questionnaire [qeQueryModels]=\"qeQueryModels\" *ngIf=\"isOpenQe\" [showClose]=\"false\" \r\n (onComplete)=\"quSuccess()\" [header]=\"'Follow up Questions' | translate\" [showQuestionNumber]=\"true\"></app-multi-questionnaire>\r\n\r\n <ion-row class=\"ion-padding\" *ngIf=\"isLoading\">\r\n <ion-col class=\"ion-text-center\">\r\n <ion-label class=\"box\"style=\"color:var(--ion-color-grey); font-size: 24px\">\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(waitingMessage)\"></div></ion-label>\r\n <br>\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <div *ngIf=\"elements.getValue() && !isLoading\">\r\n\r\n <div *ngFor=\"let element of elements.getValue(); let i = index\">\r\n <div [innerHTML]=\"element.description\" style=\"text-align: left;\" *ngIf=\"element.type ==='header'\"\r\n style=\"color:var(--ion-color-grey);\" style=\"padding-left: 25px;\">\r\n </div>\r\n </div>\r\n\r\n <ion-grid>\r\n <div *ngFor=\"let element of elements.getValue(); let i = index\">\r\n <ion-row *ngIf=\"element.type ==='subhheader'\">\r\n <ion-col class=\"ion-text-center ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div [innerHTML]=\"element.description\" class=\"box\" style=\"margin-bottom: 20px;\"\r\n style=\"color:var(--ion-color-grey);\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text1'\">\r\n <ion-col class=\"ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div [innerHTML]=\"element.description\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text2'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='emailUpdate'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <ion-row> \r\n <ion-col>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row> \r\n <ion-col> \r\n <input id=\"emailAddress\" size=\"60\" type=\"input\" pInputText [formControl]=\"emailAddress\" />\r\n </ion-col>\r\n <ion-col> \r\n <ion-button shape=\"round\" (click)=\"submit()\" type=\"submit\">Submit</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"element.type ==='resendemail'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div style='text-align:center'>If you did't get an email, \r\n <a href=\"javascript:void(0)\" (click)=\"resendVerificationEmail()\"> click here</a> and we'll send again.</div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"element.type ==='text3'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\"></div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text4'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\"></div>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n </ion-grid>\r\n\r\n\r\n <!--For button-->\r\n <ion-grid>\r\n <div *ngFor=\"let element of elements.getValue(); let i = index\">\r\n <ion-row>\r\n <ion-col *ngIf=\"element.type ==='buttonAddjacentText'\" class=\"ion-text-right ion-padding-end\" size=\"12\"\r\n sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\" sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div class=\"ion-text-right\" style=\"color:var(--ion-color-grey);\"\r\n *ngIf=\"element.type ==='buttonAddjacentText'\">\r\n <h3>{{element.description}}</h3>\r\n </div>\r\n </ion-col>\r\n <ion-col *ngIf=\"element.type ==='buttonText'\" class=\"ion-text-right ion-padding-end\" size=\"12\" sizeSm=\"12\"\r\n sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\" sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div *ngIf=\"element.type ==='buttonText'\" class=\"ion-text-right\">\r\n <ion-button shape=\"round\" (click)=\"openPage()\" color=\"success\" size=\"big\" type=\"submit\">\r\n {{element.description}}\r\n </ion-button>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n </div>\r\n\r\n </ion-grid>\r\n\r\n\r\n\r\n <!--Button-->\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n </app-content>\r\n</ion-content>", styles: [".bottom{position:absolute;bottom:15%;right:5%}.centered{position:fixed;top:30%;left:50%;transform:translate(-50%,-50%)}\n"] }]
717
473
  }], () => [{ type: i1.Router }, { type: i2.QuestionnaireService }, { type: i3.UntypedFormBuilder }, { type: i4.UtilService }, { type: i5.LoggerService }, { type: i6.ClaimantService }, { type: i1.Router }, { type: i7.NavController }, { type: i8.LoginService }, { type: i9.DomSanitizer }, { type: i10.HttpClient }, { type: i11.Storage }, { type: i12.ValidationService }], null); })();
718
474
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CommonSuccessPage, { className: "CommonSuccessPage", filePath: "lib\\components\\questionnaire\\common-success\\common-success.page.ts", lineNumber: 28 }); })();
719
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXN1Y2Nlc3MucGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbm5haXJlL2NvbW1vbi1zdWNjZXNzL2NvbW1vbi1zdWNjZXNzLnBhZ2UudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb25uYWlyZS9jb21tb24tc3VjY2Vzcy9jb21tb24tc3VjY2Vzcy5wYWdlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQW1DLE1BQU0sTUFBTSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU1uRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDYjNDLDBDQUF1Rzs7O0lBQTFELHVEQUFrQzs7OztJQUc3RSxrREFDcUc7SUFBbkcsNk1BQWMsZUFBQSxrQkFBVyxDQUFBLElBQUM7O0lBQzVCLGlCQUEwQjs7O0lBRkQsb0RBQStCLG9CQUFBLHNEQUFBLDRCQUFBOzs7O0lBSXhELGtEQUNzRztJQUFwRyw2TUFBYyxlQUFBLHFCQUFjLENBQUEsSUFBQzs7SUFDL0IsaUJBQTBCOzs7SUFGRCxvREFBK0Isb0JBQUEsa0JBQUEsbURBQUEsNkJBQUE7OztJQUl4RCxtQ0FBK0Msa0JBQUEsb0JBQUE7SUFH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LEdBQUcsQ0FBQyxFQUFFO2dCQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUIsQ0FBQyxDQUNGLENBQUM7U0FDSDtJQUNKLENBQUM7a0ZBalRTLGlCQUFpQjtvRUFBakIsaUJBQWlCO1lDM0I5QixrQ0FBWTtZQUNWLGdDQUFpRDtZQUNuRCxpQkFBYTtZQUViLG1DQUFhO1lBQ1gsb0dBQXVHO1lBRXZHLHNDQUFvRDtZQUNsRCwwR0FFMEIsNkZBQUEsNkRBQUEscURBQUE7WUFtTzVCLGlCQUFjLEVBQUE7O1lBNU9GLGVBQXVCO1lBQXZCLHFDQUF1QjtZQUlaLGVBQW9CO1lBQXBCLHlDQUFvQjtZQUU5QixlQUFrQjtZQUFsQixnQ0FBa0Isb0JBQUE7WUFDNkIsZUFBYztZQUFkLG1DQUFjO1lBSXdCLGVBQWU7WUFBZixvQ0FBZTtZQUlqRixlQUFlO1lBQWYsb0NBQWU7WUFVdkMsZUFBdUM7WUFBdkMsZ0VBQXVDOzs7aUZEQ3BDLGlCQUFpQjtjQUw3QixTQUFTOzJCQUNFLGdCQUFnQjs7a0ZBSWYsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBpbnRlcnZhbCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBOYXZDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3VjY2Vzc1BhZ2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvU3VjY2Vzc1BhZ2VFbGVtZW50JztcbmltcG9ydCB7IFF1ZXN0aW9ubmFpcmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcXVlc3Rpb25uYWlyZS9xdWVzdGlvbm5haXJlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZVBhZ2UgfSBmcm9tICcuLi8uLi8uLi9wYWdlcy9CYXNlUGFnZSc7XG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZSc7XG5pbXBvcnQgeyBDbGFpbWFudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jbGFpbWFudC1zZXJ2aWNlL2NsYWltYW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFN0YXR1c01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvU3RhdHVzTW9kZWwnO1xuaW1wb3J0IHsgUG9sbGluZ1N0YXR1c01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvUG9sbGluZ1N0YXR1c01vZGVsJztcbmltcG9ydCB7IFN0b3JhZ2UgfSBmcm9tICdAaW9uaWMvc3RvcmFnZS1hbmd1bGFyJztcbmltcG9ydCB7IEZiQ29uc3RhbnRzIH0gZnJvbSAnLi4vRmJDb25zdGFudHMnO1xuaW1wb3J0IHsgUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9RdWVzdGlvbm5haXJlUXVlcnlNb2RlbCc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3F1ZXN0aW9ubmFpcmUvdmFsaWRhdGlvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29tbW9uLXN1Y2Nlc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29tbW9uLXN1Y2Nlc3MucGFnZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29tbW9uLXN1Y2Nlc3MucGFnZS5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENvbW1vblN1Y2Nlc3NQYWdlIGV4dGVuZHMgQmFzZVBhZ2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBjYWxsQ291bnQgOiBudW1iZXIgPSAwO1xuICBwdWJsaWMgaGVhZGluZyA9IFwiXCI7XG4gIHB1YmxpYyBtZXNzYWdlID0gXCJcIjtcbiAgcHVibGljIHNob3dMb2FkZXJUaGVtZSA9IGZhbHNlO1xuICBwYWdlVG9PcGVuOiBzdHJpbmcgPSBcIlwiO1xuICB1dWlkOiBzdHJpbmcgPSBcIlwiO1xuICB3YWl0OiBib29sZWFuID0gZmFsc2U7XG4gIHdhaXRDaGVja1NlcnZpY2VVcmk6IHN0cmluZyA9IFwiXCI7XG4gIHB1YmxpYyB3YWl0aW5nTWVzc2FnZSA9IFwiUGxlYXNlIFdhaXQuLi5cIjtcbiAgcHVibGljIGlzTG9hZGluZyA9IHRydWU7XG4gIGVsZW1lbnRzOiBCZWhhdmlvclN1YmplY3Q8U3VjY2Vzc1BhZ2VFbGVtZW50W10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdWNjZXNzUGFnZUVsZW1lbnRbXT4obnVsbCk7XG4gIHB1YmxpYyBzdWNjZXNzUGFnZUVsZW1lbnRBcnI6IEJlaGF2aW9yU3ViamVjdDxTdWNjZXNzUGFnZUVsZW1lbnRbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFN1Y2Nlc3NQYWdlRWxlbWVudFtdPihudWxsKTtcbiAgcHVibGljIHN1Y2Nlc3NGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBwdWJsaWMgaXNDc3IgPSBmYWxzZTtcblxuICBkdXJhdGlvbiA9IDUwMDA7IC8vZGVmaW5lcyBtaWxsaXNlY29uZHMgYWZ0ZXIgd2hpY2ggYSBuZXcgcmVxdWVzdCB0byBiZSBzZW50IG91dFxuICBwdWJsaWMgdGltZXJJbnRlcnZhbCA9IGludGVydmFsKHRoaXMuZHVyYXRpb24pO1xuICBwdWJsaWMgY291bnREb3duID0gdGhpcy50aW1lckludGVydmFsLnBpcGUodGFrZSgzMCkpO1xuXG4gIHRpbWVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIGNvdW50RG93blN1YnNjcmlwdGlvbiA7IFN1YnNjcmlwdGlvbjtcblxuICBxZVF1ZXJ5TW9kZWxzIDogUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxbXTtcbiAgaXNPcGVuUWUgOiBib29sZWFuID0gZmFsc2U7XG4gIGlzT3BlbkR1YSA6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcWVTdWNjZXNzVXJpOiBzdHJpbmc7XG4gIHFlU3VjY2Vzc1dhaXRDaGVja1NlcnZpY2VVcmk6IHN0cmluZztcbiAgcWVTdWNjZXNzV2FpdEZvclByb2Nlc3NpbmcgOiBib29sZWFuO1xuICBzdGF0dXNNb2RlbCA6IFN0YXR1c01vZGVsID0gbmV3IFN0YXR1c01vZGVsKCk7XG4gIGRpc3BsYXlXSU9BTXNnOiBib29sZWFuID0gZmFsc2U7XG4gIGNvbW1vblN1Y2Nlc3NQYWdlOiBzdHJpbmcgPSAnY29tbW9uU3VjY2Vzc1BhZ2UnXG4gIHdpb2FDb21wOiBib29sZWFuID0gbnVsbDtcbiAgXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHB1YmxpYyBxdWVzdGlvbm5haXJlU2VydmljZTogUXVlc3Rpb25uYWlyZVNlcnZpY2UsIHB1YmxpYyBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHB1YmxpYyB1dGlsOiBVdGlsU2VydmljZSwgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsIHB1YmxpYyBjbGFpbWFudFNlcnZpY2U6IENsYWltYW50U2VydmljZSxcbiAgICBwdWJsaWMgcjogUm91dGVyLCBwdWJsaWMgbmF2Q29udHJvbGxlcjogTmF2Q29udHJvbGxlciwgcHVibGljIGxzOiBMb2dpblNlcnZpY2UsXG4gICAgcHVibGljIHNhbml0aXplcjogRG9tU2FuaXRpemVyLCBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgc3RvcmFnZSA6IFN0b3JhZ2UsIFxuICAgIHByaXZhdGUgdmFsaWRhdGlvblNlcnZpY2UgOiBWYWxpZGF0aW9uU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcImNvbW1vbi1zdWNjZXNzIHBhZ2UgLSBuZyBpbml0IGNhbGxlZFwiKVxuICAgIHRoaXMuaXNDc3IgPSB0aGlzLmxzLmlzQ3NyKCk7XG4gICAgdGhpcy51dWlkID0gYXdhaXQgdGhpcy5zdG9yYWdlLmdldChGYkNvbnN0YW50cy51dWlkKTtcbiAgICB0aGlzLndhaXRDaGVja1NlcnZpY2VVcmkgPSBhd2FpdCB0aGlzLnN0b3JhZ2UuZ2V0KEZiQ29uc3RhbnRzLndhaXRDaGVja1NlcnZpY2VVcmkpO1xuICAgIHRoaXMucGFnZVRvT3BlbiA9IGF3YWl0IHRoaXMuc3RvcmFnZS5nZXQoRmJDb25zdGFudHMucGFnZVRvT3Blbik7XG4gICAgdGhpcy53YWl0ID0gYXdhaXQgdGhpcy5zdG9yYWdlLmdldChGYkNvbnN0YW50cy53YWl0Rm9yUHJvY2Vzc2luZyk7XG5cbiAgICB0aGlzLnN1Y2Nlc3NGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAnZW1haWxBZGRyZXNzJzogW10sXG4gICAgfSk7XG5cbiAgICB0aGlzLnN1Y2Nlc3NQYWdlRWxlbWVudEFyci5zdWJzY3JpYmUoXG4gICAgICByZXMgPT4ge1xuICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50cy5uZXh0KHJlcyk7XG4gICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICBpZiAodGhpcy53YWl0KSB7XG4gICAgICAgIHRoaXMuZG9Qb2xsaW5nRm9yUmVxdWVzdCh0aGlzLnV1aWQsIHRoaXMud2FpdENoZWNrU2VydmljZVVyaSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIC8vZm9yIG90aGVyIGNhc2VzIHdoZXJlIHN0YXR1cyBlbmQgcG9pbnQgaXMgbm90IHNldC5cbiAgICAgIHRoaXMuZWxlbWVudHMubmV4dChhd2FpdCB0aGlzLnN0b3JhZ2UuZ2V0KEZiQ29uc3RhbnRzLnN1Y2Nlc3NQYWdlRWxlbWVudCkpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRpbWVyU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnRpbWVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmKHRoaXMuY291bnREb3duU3Vic2NyaXB0aW9uKXtcbiAgICAgIHRoaXMuY291bnREb3duU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoRmJDb25zdGFudHMuc3VjY2Vzc1BhZ2VFbGVtZW50KTtcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlKEZiQ29uc3RhbnRzLndhaXRGb3JQcm9jZXNzaW5nKTtcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlKEZiQ29uc3RhbnRzLndhaXRDaGVja1NlcnZpY2VVcmkpO1xuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoRmJDb25zdGFudHMucGFnZVRvT3Blbik7XG4gICAgdGhpcy5zdG9yYWdlLnJlbW92ZShGYkNvbnN0YW50cy51dWlkKTtcbiAgfVxuXG4gIGRvUG9sbGluZ0ZvclJlcXVlc3QodXVpZFRlbXA6IHN0cmluZywgd2FpdENoZWNrU2VydmljZVVyaVRlbXA6IHN0cmluZyl7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2RvIFBvbGxpbmcgZm9yIHJlcXVlc3QgY2FsbGVkID0gJywgd2FpdENoZWNrU2VydmljZVVyaVRlbXApO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMudGltZXJTdWJzY3JpcHRpb24gPSB0aGlzLnRpbWVySW50ZXJ2YWwucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKDApLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5yZXRyaXZlUG9sbGluZ1N0YXR1c0ZvclBhZ2UodXVpZFRlbXAsIHdhaXRDaGVja1NlcnZpY2VVcmlUZW1wKSlcbiAgICAgICkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgbGV0IGNvbnRpbnVlV2FpdGluZyA9IHJlc1snY29udGludWVXYWl0aW5nJ107XG4gICAgICAgIHRoaXMud2FpdGluZ01lc3NhZ2UgPSByZXNbJ3dhaXRpbmdNZXNzYWdlJ107XG4gICAgICAgIFxuICAgICAgICBpZihjb250aW51ZVdhaXRpbmcgJiYgKyt0aGlzLmNhbGxDb3VudCA+PSAyNSl7XG4gICAgICAgICAgdGhpcy53YWl0aW5nTWVzc2FnZSA9ICdJdHMgdGFraW5nIGxvbmdlciB0aGFuIHVzdWFsIHRvIHByb2Nlc3MgeW91ciByZXF1ZXN0LiA8YnIvPiBEbyBub3QgcmVmcmVzaCB0aGUgcGFnZS4nXG4gICAgICAgIH1cbiAgICAgICAgaWYoY29udGludWVXYWl0aW5nICYmIHRoaXMuY2FsbENvdW50ID4gMzUpe1xuICAgICAgICAgIHRoaXMudGltZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICBcbiAgICAgICAgICBpZih0aGlzLmxzLmlzTG9nZ2VkSW4oKSl7XG4gICAgICAgICAgICB0aGlzLnBhZ2VUb09wZW4gPSBcIndlbGNvbWVcIjtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wYWdlVG9PcGVuID0gXCJsYW5kaW5nXCI7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0aGlzLmlzTVMoKSkge1xuICAgICAgICAgICAgdGhpcy53aW9hQ29tcCA9IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuc3VjY2Vzc1BhZ2VFbGVtZW50QXJyLm5leHQoXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAge3R5cGU6ICdoZWFkZXInLCBkZXNjcmlwdGlvbjogXCI8aDE+T29wcyEgY291bGQgbm90IHByb2Nlc3MgeW91ciByZXF1ZXN0LjwvaDE+XFx0XFx0XCIsIGluZGVudDogMCwgZm9udFNpemU6IDB9LFxuICAgICAgICAgICAgICAgIHt0eXBlOiAnc3ViaGhlYWRlcicsIGRlc2NyaXB0aW9uOiAnPGg0PlBsZWFzZSB0cnkgYWdhaW4gYWZ0ZXIgc29tZSB0aW1lLjxoND5cXHRcXHQnLCBpbmRlbnQ6IDAsIGZvbnRTaXplOiAwfSxcbiAgICAgICAgICAgICAgICB7dHlwZTogJ2J1dHRvblRleHQnLCBkZXNjcmlwdGlvbjogJ0hvbWUnLCBpbmRlbnQ6IDAsIGZvbnRTaXplOiAwfVxuICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICB0aGlzLnRpbWVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGlmICghY29udGludWVXYWl0aW5nKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCJzZW5kIGFub3RoZXIgcmVxdWVzdCB0byBmZXRjaCBwYWdlIGVsZW1lbnRzXCIpO1xuICAgICAgICAgIGxldCBtZXNzYWdlU2VydmljZUVwID0gcmVzWydtZXNzYWdlU2VydmljZUVwJ107XG4gICAgICAgICAgdGhpcy53YWl0aW5nTWVzc2FnZSA9IHJlc1snd2FpdGluZ01lc3NhZ2UnXTtcbiAgICAgICAgICB0aGlzLmZldGNoUGFnZUVsZW1lbnRzKG1lc3NhZ2VTZXJ2aWNlRXAsIHV1aWRUZW1wKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICByZXNwID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5zdGF0dXNNb2RlbCAgPSByZXNwO1xuICAgICAgICAgICAgICBpZiAodGhpcy5pc01TKCkpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMud2lvYUNvbXAgPSB0aGlzLnN0YXR1c01vZGVsLndpb2FDb21wO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmKHJlc3BbJ25hdmlnYXRlSW1tZWRpYXRlbHknXSl7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuTmV4dFBhZ2UocmVzcFsncGFnZVRvT3BlbiddKTtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmKHJlc3BbJ3Nob3dRZSddKXtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIk9wZW4gUXVlc3Rpb25uYWlyZSBvcHRpb24gZW5jb3VudGVyZWRcIik7XG4gICAgICAgICAgICAgICAgdGhpcy5xZVN1Y2Nlc3NXYWl0Q2hlY2tTZXJ2aWNlVXJpID0gdGhpcy5zdGF0dXNNb2RlbC5xZVN1Y2Nlc3NXYWl0Q2hlY2tTZXJ2aWNlVXJpO1xuICAgICAgICAgICAgICAgIHRoaXMucWVTdWNjZXNzV2FpdEZvclByb2Nlc3NpbmcgPSB0aGlzLnN0YXR1c01vZGVsLnFlU3VjY2Vzc1dhaXRGb3JQcm9jZXNzaW5nO1xuICAgICAgICAgICAgICAgIHRoaXMucWVTdWNjZXNzVXJpID0gdGhpcy5zdGF0dXNNb2RlbC5xZVN1Y2Nlc3NVcmk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5xZVN1Y2Nlc3NVcmkgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgdGhpcy5xZVF1ZXJ5TW9kZWxzID0gcmVzcC5xZVF1ZXJ5TW9kZWxzO1xuICAgICAgICAgICAgICAgICAgdGhpcy5pc09wZW5RZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCJEaXJlY3QgcG9sbGluZyB0byBuZXcgcHJvY2Vzc1wiKTtcbiAgICAgICAgICAgICAgICAgIHRoaXMuZG9Qb2xsaW5nRm9yUmVxdWVzdCh0aGlzLnV1aWQsIHRoaXMucWVTdWNjZXNzV2FpdENoZWNrU2VydmljZVVyaSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2UgaWYocmVzcFsnc2hvd0R1YSddKXtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIk9wZW4gRFVBIFF1ZXN0aW9ubmFpcmUgb3B0aW9uIGVuY291bnRlcmVkXCIpO1xuICAgICAgICAgICAgICAgIHRoaXMucWVTdWNjZXNzV2FpdENoZWNrU2VydmljZVVyaSA9IHRoaXMuc3RhdHVzTW9kZWwucWVTdWNjZXNzV2FpdENoZWNrU2VydmljZVVyaTtcbiAgICAgICAgICAgICAgICB0aGlzLnFlU3VjY2Vzc1dhaXRGb3JQcm9jZXNzaW5nID0gdGhpcy5zdGF0dXNNb2RlbC5xZVN1Y2Nlc3NXYWl0Rm9yUHJvY2Vzc2luZztcbiAgICAgICAgICAgICAgICB0aGlzLnFlU3VjY2Vzc1VyaSA9IHRoaXMuc3RhdHVzTW9kZWwucWVTdWNjZXNzVXJpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMucWVTdWNjZXNzVXJpICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMucWVRdWVyeU1vZGVscyA9IHJlc3AucWVRdWVyeU1vZGVscztcbiAgICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuRHVhID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIkRpcmVjdCBwb2xsaW5nIHRvIG5ldyBwcm9jZXNzXCIpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5kb1BvbGxpbmdGb3JSZXF1ZXN0KHRoaXMudXVpZCwgdGhpcy5xZVN1Y2Nlc3NXYWl0Q2hlY2tTZXJ2aWNlVXJpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYWdlVG9PcGVuID0gcmVzcFsncGFnZVRvT3BlbiddO1xuICAgICAgICAgICAgICAgIHRoaXMuc3VjY2Vzc1BhZ2VFbGVtZW50QXJyLm5leHQocmVzcFsnc3VjY2Vzc1BhZ2VFbGVtZW50J10pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLnRpbWVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgdGhpcy5jb3VudERvd25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdodHRwIGVycm9yIHJlc3BvbnNlID0gJywgZXJyKTtcbiAgICAgICAgfSk7XG4gIH1cblxuICByZXRyaXZlUG9sbGluZ1N0YXR1c0ZvclBhZ2UodXVpMTI6IHN0cmluZywgd2FpdENoZWNrU2VydmljZVVyaTEyOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiUG9sbGluZyBzZXJ2aWNlIFVSTCAtIFwiICsgd2FpdENoZWNrU2VydmljZVVyaTEyKTtcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0aW9uU2VydmljZS5nZXQ8UG9sbGluZ1N0YXR1c01vZGVsPih3YWl0Q2hlY2tTZXJ2aWNlVXJpMTIgKyB1dWkxMik7XG4gIH1cblxuICBmZXRjaFBhZ2VFbGVtZW50cyhtZXNzYWdlU2VydmljZUVwOiBzdHJpbmcsIHV1aTEyOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFN0YXR1c01vZGVsPiB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXCJQYWdlIGVsZW1lbnQgc2VydmljZSBVUkwgLSBcIiArIG1lc3NhZ2VTZXJ2aWNlRXApO1xuICAgIHJldHVybiB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmdldDxTdGF0dXNNb2RlbD4obWVzc2FnZVNlcnZpY2VFcCArIHV1aTEyKTtcbiAgfVxuXG4gIGdldCBlbWFpbEFkZHJlc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3VjY2Vzc0Zvcm0uY29udHJvbHNbJ2VtYWlsQWRkcmVzcyddO1xuICB9XG5cbiAgcmVzZW5kVmVyaWZpY2F0aW9uRW1haWwoKSB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3Jlc2VuZFZlcmlmaWNhdGlvbkVtYWlsJyk7XG4gICAgdGhpcy5zaG93TG9hZGVyVGhlbWUgPSBmYWxzZTtcbiAgICB0aGlzLnF1ZXN0aW9ubmFpcmVTZXJ2aWNlLnV1aWQuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICB0aGlzLmNsYWltYW50U2VydmljZS5yZXNlbmRWZXJpZmljYXRpb25FbWFpbChwYXJhbXMudmFsdWVPZigpKVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xuICAgICAgICAgICAgdGhpcy5zaG93TG9hZGVyVGhlbWUgPSBmYWxzZTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRXJyb3InLCBlcnIpO1xuICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcbiAgICAgICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcbiAgICAgICAgICAgIHRoaXMuc2hvd0xvYWRlclRoZW1lID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cbiAgICApO1xuXG4gIH1cblxuICBzZXRGb250U2l6ZShmb250c2l6ZTogbnVtYmVyKTogb2JqZWN0IHtcbiAgICBpZiAoZm9udHNpemUgPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2ZvbnRzaXplJywgZm9udHNpemUpO1xuICAgIGxldCBzdHlsZU9iaiA9IHtcbiAgICAgICdmb250LXNpemUnOiBmb250c2l6ZSArICdweCdcbiAgICB9O1xuXG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oc3R5bGVPYmopO1xuICB9XG5cbiAgb3Blbk5leHRQYWdlKHBhZ2VUb09wZW4pe1xuICAgIHdpbmRvdy5vcGVuKGxvY2F0aW9uLm9yaWdpbiArIHBhZ2VUb09wZW4sICdfc2VsZicpO1xuICB9XG5cbiAgb3BlblBhZ2UoKSB7XG5cbiAgICBsZXQgY3VycmVudENvbnRleHRSb290ID0gdGhpcy5nZXRDb250ZXh0Um9vdCgpO1xuICAgIGlmICh0aGlzLnBhZ2VUb09wZW4gJiYgdGhpcy5wYWdlVG9PcGVuLnN1YnN0cmluZygwLCA0KSAhPSAnL2NwLycgJiYgdGhpcy5wYWdlVG9PcGVuICYmIHRoaXMucGFnZVRvT3BlbiAhPSAnT3BlblBhZ2UnKSB7XG4gICAgICB0aGlzLm5hdkNvbnRyb2xsZXIubmF2aWdhdGVGb3J3YXJkKFt0aGlzLnBhZ2VUb09wZW5dLCB7IHF1ZXJ5UGFyYW1zOiB7IGlkZW50aWZpZXI6IHRoaXMudXVpZCB9IH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCB1cmw6IHN0cmluZyA9IFwiL2NwL2xhbmRpbmdcIjtcbiAgICAgIGlmICh0aGlzLnBhZ2VUb09wZW4gJiYgdGhpcy5wYWdlVG9PcGVuICE9ICdPcGVuUGFnZScpIHtcbiAgICAgICAgdXJsID0gdGhpcy5wYWdlVG9PcGVuO1xuICAgICAgfVxuICAgICAgd2luZG93Lm9wZW4obG9jYXRpb24ub3JpZ2luICsgdXJsLCAnX3NlbGYnKTtcbiAgICB9XG4gIH1cblxuICBvcGVuV0lPQXBvcCgpIHtcbiAgICB0aGlzLmRpc3BsYXlXSU9BTXNnID0gdHJ1ZTtcbiAgfVxuXG4gIGdldENvbnRleHRSb290KCkge1xuICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3Vic3RyaW5nKDAsIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5pbmRleE9mKFwiL1wiLCAyKSk7XG4gIH1cblxuICBzdWJtaXQoKSB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ1N1Y2Nlc3MgY2FsbGVkJywgdGhpcy5lbWFpbEFkZHJlc3MudmFsdWUsICcgdXVpZCAnLCB0aGlzLnV1aWQpO1xuICAgIHRoaXMuY2xhaW1hbnRTZXJ2aWNlLnVwZGF0ZUVtYWlsKHRoaXMuZW1haWxBZGRyZXNzLnZhbHVlLCB0aGlzLnV1aWQpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICByZXMgPT4ge1xuICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XG4gICAgICAgICAgdGhpcy5zaG93TG9hZGVyVGhlbWUgPSBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRXJyb3InLCBlcnIpO1xuICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XG4gICAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xuICAgICAgICAgIHRoaXMuc2hvd0xvYWRlclRoZW1lID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICBxdVN1Y2Nlc3MoKXtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcInFlIHN1Y2Nlc3MgaGVyZVwiKTtcbiAgICBpZih0aGlzLmlzT3BlblFlKXsgIFxuICAgICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5wb3N0KHRoaXMucWVTdWNjZXNzVXJpLCBudWxsKVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIHJlcyA9PiB7ICBcbiAgICAgICAgICAgIHRoaXMuaXNPcGVuUWUgPSBmYWxzZTsgICAgICAgICBcbiAgICAgICAgICAgIGlmKHRoaXMucWVTdWNjZXNzV2FpdEZvclByb2Nlc3Npbmcpe1xuICAgICAgICAgICAgICB0aGlzLmRvUG9sbGluZ0ZvclJlcXVlc3QodGhpcy51dWlkLCB0aGlzLnFlU3VjY2Vzc1dhaXRDaGVja1NlcnZpY2VVcmkpO1xuICAgICAgICAgICAgfSAgICAgICAgICAgIFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdFcnJvcicsIGVycik7XG4gICAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgfVxuICAgfVxuXG4gICBxdVN1Y2Nlc3NEdWEoKXtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcInFlIHN1Y2Nlc3MgaGVyZSBmb3IgZHVhXCIpO1xuICAgIGlmKHRoaXMuaXNPcGVuRHVhKXsgIFxuICAgICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5wb3N0KHRoaXMucWVTdWNjZXNzVXJpLCBudWxsKVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIHJlcyA9PiB7ICBcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwicmVzcG9uc2UgcG9zdCBkdWEgZXBcIixyZXMpO1xuICAgICAgICAgICAgdGhpcy5pc09wZW5EdWEgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmKHRoaXMucWVTdWNjZXNzV2FpdEZvclByb2Nlc3Npbmcpe1xuICAgICAgICAgICAgICB0aGlzLmRvUG9sbGluZ0ZvclJlcXVlc3QodGhpcy51dWlkLCB0aGlzLnFlU3VjY2Vzc1dhaXRDaGVja1NlcnZpY2VVcmkpO1xuICAgICAgICAgICAgfSAgICAgICAgICAgIFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdFcnJvcicsIGVycik7XG4gICAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgfVxuICAgfVxufVxuIiwiPGlvbi1oZWFkZXI+XHJcbiAgPGFwcC1oZWFkZXIgW3NlY29uZFRvb2xiYXJdPVwiZmFsc2VcIj48L2FwcC1oZWFkZXI+XHJcbjwvaW9uLWhlYWRlcj5cclxuXHJcbjxpb24tY29udGVudD5cclxuICA8YXBwLXByb2ZpbGUtcmVkaXJlY3QgKm5nSWY9XCJkaXNwbGF5V0lPQU1zZ1wiIFtyZWRpcmVjdFBhZ2VdPVwiY29tbW9uU3VjY2Vzc1BhZ2VcIj48L2FwcC1wcm9maWxlLXJlZGlyZWN0PlxyXG5cclxuICA8YXBwLWNvbnRlbnQgW3Nob3dIZWxwXT1cImZhbHNlXCIgW2hpZGVGb290ZXJdPVwidHJ1ZVwiPlxyXG4gICAgPGFwcC1tdWx0aS1xdWVzdGlvbm5haXJlIFtxZVF1ZXJ5TW9kZWxzXT1cInFlUXVlcnlNb2RlbHNcIiAqbmdJZj1cImlzT3BlblFlXCIgW3Nob3dDbG9zZV09XCJmYWxzZVwiXHJcbiAgICAgIChvbkNvbXBsZXRlKT1cInF1U3VjY2VzcygpXCIgW2hlYWRlcl09XCInRm9sbG93dXAgUXVlc3Rpb25zJyB8IHRyYW5zbGF0ZVwiIFtzaG93UXVlc3Rpb25OdW1iZXJdPVwidHJ1ZVwiPlxyXG4gICAgPC9hcHAtbXVsdGktcXVlc3Rpb25uYWlyZT5cclxuXHJcbiAgICA8YXBwLW11bHRpLXF1ZXN0aW9ubmFpcmUgW3FlUXVlcnlNb2RlbHNdPVwicWVRdWVyeU1vZGVsc1wiIFtzaG93Q2xvc2VdPVwiZmFsc2VcIiBbYXV0b1NhdmVdPVwidHJ1ZVwiICpuZ0lmPVwiaXNPcGVuRHVhXCJcclxuICAgICAgKG9uQ29tcGxldGUpPVwicXVTdWNjZXNzRHVhKClcIiBbaGVhZGVyXT1cIidEVUEgYXBwbGljYXRpb24nIHwgdHJhbnNsYXRlXCIgW3Nob3dRdWVzdGlvbk51bWJlcl09XCJmYWxzZVwiPlxyXG4gICAgPC9hcHAtbXVsdGktcXVlc3Rpb25uYWlyZT5cclxuXHJcbiAgICA8aW9uLXJvdyBjbGFzcz1cImlvbi1wYWRkaW5nXCIgKm5nSWY9XCJpc0xvYWRpbmdcIj5cclxuICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICA8aW9uLWxhYmVsIGNsYXNzPVwiYm94XCIgc3R5bGU9XCJjb2xvcjp2YXIoLS1pb24tY29sb3ItZ3JleSk7IGZvbnQtc2l6ZTogMjRweFwiPlxyXG4gICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh3YWl0aW5nTWVzc2FnZSlcIj48L2Rpdj5cclxuICAgICAgICA8L2lvbi1sYWJlbD5cclxuICAgICAgICA8YnI+XHJcbiAgICAgICAgPGlvbi1zcGlubmVyIG5hbWU9XCJkb3RzXCI+PC9pb24tc3Bpbm5lcj5cclxuICAgICAgPC9pb24tY29sPlxyXG4gICAgPC9pb24tcm93PlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJlbGVtZW50cy5nZXRWYWx1ZSgpICYmICFpc0xvYWRpbmdcIj5cclxuICAgICAgPGRpdiAqbmdJZj1cIiFpc01TKCkgfHwgKGlzTVMoKSAmJiAod2lvYUNvbXA9PT1udWxsIHx8IHdpb2FDb21wKSlcIj5cclxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mICBlbGVtZW50cy5nZXRWYWx1ZSgpOyAgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cImVsZW1lbnQuZGVzY3JpcHRpb25cIiAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0naGVhZGVyJ1wiIFxyXG4gICAgICAgICAgICBzdHlsZT1cImNvbG9yOnZhcigtLWlvbi1jb2xvci1ncmV5KTt0ZXh0LWFsaWduOiBsZWZ0OyBmb250LXNpemU6IDYwcHg7XCI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGlvbi1ncmlkPlxyXG4gICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiAgZWxlbWVudHMuZ2V0VmFsdWUoKTsgIGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09J3N1YmhoZWFkZXInXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXIgIGlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCIgc2l6ZUxnPVwiOFwiXHJcbiAgICAgICAgICAgICAgICBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwiZWxlbWVudC5kZXNjcmlwdGlvblwiIGNsYXNzPVwiYm94XCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAyMHB4O1wiXHJcbiAgICAgICAgICAgICAgICAgIHN0eWxlPVwiY29sb3I6dmFyKC0taW9uLWNvbG9yLWdyZXkpO1wiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0ndGV4dDEnXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tcGFkZGluZ1wiIHNpemU9XCIxMlwiIHNpemVTbT1cIjEyXCIgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCIxMFwiIHNpemVMZz1cIjhcIiBzaXplWGw9XCI4XCJcclxuICAgICAgICAgICAgICAgIG9mZnNldE1kPVwiMVwiIG9mZnNldFhsPVwiMlwiIG9mZnNldExnPVwiMlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cImVsZW1lbnQuZGVzY3JpcHRpb25cIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09J3RleHQyJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtanVzdGlmeSBpb24tcGFkZGluZ1wiIHNpemU9XCIxMlwiIHNpemVTbT1cIjEyXCIgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCIxMFwiIHNpemVMZz1cIjhcIlxyXG4gICAgICAgICAgICAgICAgc2l6ZVhsPVwiOFwiIG9mZnNldE1kPVwiMVwiIG9mZnNldFhsPVwiMlwiIG9mZnNldExnPVwiMlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChlbGVtZW50LmRlc2NyaXB0aW9uKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0nZW1haWxVcGRhdGUnXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1qdXN0aWZ5IGlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCIgc2l6ZUxnPVwiOFwiXHJcbiAgICAgICAgICAgICAgICBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChlbGVtZW50LmRlc2NyaXB0aW9uKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwiZW1haWxBZGRyZXNzXCIgc2l6ZT1cIjYwXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiZW1haWxBZGRyZXNzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgKGNsaWNrKT1cInN1Ym1pdCgpXCIgdHlwZT1cInN1Ym1pdFwiPlN1Ym1pdDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09J3Jlc2VuZGVtYWlsJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtanVzdGlmeSBpb24tcGFkZGluZ1wiIHNpemU9XCIxMlwiIHNpemVTbT1cIjEyXCIgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCIxMFwiIHNpemVMZz1cIjhcIlxyXG4gICAgICAgICAgICAgICAgc2l6ZVhsPVwiOFwiIG9mZnNldE1kPVwiMVwiIG9mZnNldFhsPVwiMlwiIG9mZnNldExnPVwiMlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXInPklmIHlvdSBkaWQndCBnZXQgYW4gZW1haWwsXHJcbiAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwicmVzZW5kVmVyaWZpY2F0aW9uRW1haWwoKVwiPiBjbGljayBoZXJlPC9hPiBhbmQgd2UnbGwgc2VuZFxyXG4gICAgICAgICAgICAgICAgICBhZ2Fpbi5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0ndGV4dDMnXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1qdXN0aWZ5IGlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCIgc2l6ZUxnPVwiOFwiXHJcbiAgICAgICAgICAgICAgICBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGVsZW1lbnQuZGVzY3JpcHRpb24pXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0ndGV4dDQnXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1qdXN0aWZ5IGlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCIgc2l6ZUxnPVwiOFwiXHJcbiAgICAgICAgICAgICAgICBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGVsZW1lbnQuZGVzY3JpcHRpb24pXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2lvbi1ncmlkPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgKm5nSWY9XCIhd2lvYUNvbXAgJiYgd2lvYUNvbXAhPSBudWxsICYmIGlzTVMoKVwiID5cclxuICAgICAgICA8aW9uLWdyaWQ+XHJcbiAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1qdXN0aWZ5IGlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVhsPVwiNlwiIG9mZnNldFhsPVwiMVwiIHNpemVMZz1cIjZcIj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiAgZWxlbWVudHMuZ2V0VmFsdWUoKTsgIGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09J2hlYWRlcidcIj5cclxuICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9XCJjb2xvcjp2YXIoLS1pb24tY29sb3ItZ3JleSk7Zm9udC1zaXplOiA2MHB4OyBwYWRkaW5nLWxlZnQ6IDI1cHg7IHRleHQtYWxpZ246IGxlZnQ7XCJcclxuICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiZWxlbWVudC5kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGlvbi1ncmlkPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiAgZWxlbWVudHMuZ2V0VmFsdWUoKTsgIGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09J3N1YmhoZWFkZXInXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXIgIGlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHNpemVMZz1cIjhcIiBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwiZWxlbWVudC5kZXNjcmlwdGlvblwiIGNsYXNzPVwiYm94XCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAyMHB4O1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiY29sb3I6dmFyKC0taW9uLWNvbG9yLWdyZXkpO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0ndGV4dDEnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwiZWxlbWVudC5kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0ndGV4dDInXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGVsZW1lbnQuZGVzY3JpcHRpb24pXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdlbWFpbFVwZGF0ZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGVsZW1lbnQuZGVzY3JpcHRpb24pXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJlbWFpbEFkZHJlc3NcIiBzaXplPVwiNjBcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJlbWFpbEFkZHJlc3NcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwic3VibWl0KClcIiB0eXBlPVwic3VibWl0XCI+U3VibWl0PC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0ncmVzZW5kZW1haWwnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcic+SWYgeW91IGRpZCd0IGdldCBhbiBlbWFpbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJyZXNlbmRWZXJpZmljYXRpb25FbWFpbCgpXCI+IGNsaWNrIGhlcmU8L2E+IGFuZCB3ZSdsbCBzZW5kXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFnYWluLlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSd0ZXh0MydcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoZWxlbWVudC5kZXNjcmlwdGlvbilcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSd0ZXh0NCdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoZWxlbWVudC5kZXNjcmlwdGlvbilcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWdyaWQ+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1qdXN0aWZ5IGlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVhsPVwiM1wiIHNpemVMZz1cIjNcIiBzdHlsZT1cImFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcIj5cclxuICAgICAgICAgICAgICA8aDQ+T25lIG1vcmUgdGFzay4uLjwvaDQ+XHJcbiAgICAgICAgICAgICAgPHA+PGI+VGhlcmUncyBhbm90aGVyIHN0ZXAgdG8gY29tcGxldGUgYmVmb3JlIHlvdSBtYXkgcmVjZWl2ZSB1bmVtcGxveW1lbnQgcGF5bWVudHM8L2I+PC9wPlxyXG4gICAgICAgICAgICAgIDxwPkNob29zZSA8Yj5OZXh0PC9iPiB0byBiZSB0YWtlbiB0byBNU1dvcmtzIHdlYnNpdGUgdG8gY3JlYXRlIHlvdXIgZW1wbG95bWVudCBzZXJ2aWNlcyBwcm9maWxlLjxicj5cclxuICAgICAgICAgICAgICAgIE9uY2UgeW91J3JlIGRvbmUsIHdlIGNhbiBtYXRjaCB5b3UgdG8gYXZhaWxhYmxlIGpvYnMgYmFzZWQgb24geW91ciBleHBlcmllbmNlIGFuZCBwcmVmZXJlbmNlcy5cclxuICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICA8L2lvbi1ncmlkPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPCEtLUZvciBidXR0b24tLT5cclxuICAgICAgPGlvbi1ncmlkPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCIhaXNNUygpIHx8IChpc01TKCkgJiYgKHdpb2FDb21wPT09bnVsbCB8fCB3aW9hQ29tcCkpXCI+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mICBlbGVtZW50cy5nZXRWYWx1ZSgpOyAgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0nYnV0dG9uQWRkamFjZW50VGV4dCcgJiYgIWlzQ3NyXCIgY2xhc3M9XCJpb24tdGV4dC1yaWdodCBpb24tcGFkZGluZy1lbmRcIiBzaXplPVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCIgc2l6ZUxnPVwiOFwiIHNpemVYbD1cIjhcIiBvZmZzZXRNZD1cIjFcIiBvZmZzZXRYbD1cIjJcIiBvZmZzZXRMZz1cIjJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiIHN0eWxlPVwiY29sb3I6dmFyKC0taW9uLWNvbG9yLWdyZXkpO1wiXHJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdidXR0b25BZGRqYWNlbnRUZXh0J1wiPlxyXG4gICAgICAgICAgICAgICAgICA8aDM+e3tlbGVtZW50LmRlc2NyaXB0aW9ufX08L2gzPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdidXR0b25UZXh0J1wiIGNsYXNzPVwiaW9uLXRleHQtcmlnaHQgaW9uLXBhZGRpbmctZW5kXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCIxMFwiIHNpemVMZz1cIjhcIiBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdidXR0b25UZXh0J1wiIGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIChjbGljayk9XCJvcGVuUGFnZSgpXCIgY29sb3I9XCJzdWNjZXNzXCIgc2l6ZT1cImJpZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7ZWxlbWVudC5kZXNjcmlwdGlvbn19XHJcbiAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGlvbi1mb290ZXIgc3R5bGU9XCJwb3NpdGlvbjogZml4ZWQ7IGJvdHRvbTogMjVweDsgd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDIwcHhcIj5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCIhd2lvYUNvbXAgJiYgd2lvYUNvbXAhPSBudWxsICYmIGlzTVMoKVwiID5cclxuICAgICAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1yaWdodCBpb24tcGFkZGluZy1lbmRcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTBcIiBzaXplTGc9XCI4XCJcclxuICAgICAgICAgICAgICAgIHNpemVYbD1cIjhcIiBvZmZzZXRNZD1cIjJcIiBvZmZzZXRYbD1cIjRcIiBvZmZzZXRMZz1cIjRcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgKGNsaWNrKT1cIm9wZW5XSU9BcG9wKClcIiBjb2xvcj1cInN1Y2Nlc3NcIiBzaXplPVwiYmlnXCIgdHlwZT1cInN1Ym1pdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIE5leHRcclxuICAgICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2lvbi1mb290ZXI+XHJcbiAgICAgIDwvaW9uLWdyaWQ+XHJcbiAgICAgIDwhLS1CdXR0b24tLT5cclxuICAgIDwvZGl2PlxyXG4gIDwvYXBwLWNvbnRlbnQ+XHJcbjwvaW9uLWNvbnRlbnQ+Il19
475
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXN1Y2Nlc3MucGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbm5haXJlL2NvbW1vbi1zdWNjZXNzL2NvbW1vbi1zdWNjZXNzLnBhZ2UudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb25uYWlyZS9jb21tb24tc3VjY2Vzcy9jb21tb24tc3VjY2Vzcy5wYWdlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQW1DLE1BQU0sTUFBTSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU1uRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDWnpDLGtEQUNvRztJQUFwRyw2TUFBYyxlQUFBLGtCQUFXLENBQUEsSUFBQzs7SUFBMEUsaUJBQTBCOzs7SUFEckcsb0RBQStCLG9CQUFBLHVEQUFBLDRCQUFBOzs7SUFHeEQsa0NBQStDLGlCQUFBLG1CQUFBO0lBR3pDLHlCQUEyRTtJQUFBLGlCQUFZO0lBQ3pGLHFCQUFJLHNCQUFBO0lBRU4saUJBQVUsRUFBQTs7O0lBSEQsZUFBK0Q7SUFBL0QsOEdBQStEOzs7SUFTdEUsMEJBRU07OztJQUZELHFFQUFpQzs7O0lBRHhDLDJCQUFrRTtJQUNoRSwr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R0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUcsSUFBSSxDQUFDLDBCQUEwQixFQUFDO29CQUNqQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQztpQkFDeEU7WUFDSCxDQUFDLEVBQ0QsR0FBRyxDQUFDLEVBQUU7Z0JBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QixDQUFDLENBQ0YsQ0FBQztTQUNIO0lBQ0osQ0FBQztrRkFsUVMsaUJBQWlCO29FQUFqQixpQkFBaUI7WUMzQjlCLGtDQUFZO1lBQ1YsZ0NBQWlEO1lBQ25ELGlCQUFhO1lBRWIsbUNBQWEscUJBQUE7WUFFVCwwR0FDOEgsNkRBQUEscURBQUE7WUE0SGhJLGlCQUFjLEVBQUE7O1lBbElGLGVBQXVCO1lBQXZCLHFDQUF1QjtZQUl0QixlQUFrQjtZQUFsQixnQ0FBa0Isb0JBQUE7WUFDNkIsZUFBYztZQUFkLG1DQUFjO1lBRzFDLGVBQWU7WUFBZixvQ0FBZTtZQVN2QyxlQUF1QztZQUF2QyxnRUFBdUM7OztpRkRTcEMsaUJBQWlCO2NBTDdCLFNBQVM7MkJBQ0UsZ0JBQWdCOztrRkFJZixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGludGVydmFsLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIHRpbWVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBOYXZDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1Y2Nlc3NQYWdlRWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1N1Y2Nlc3NQYWdlRWxlbWVudCc7XHJcbmltcG9ydCB7IFF1ZXN0aW9ubmFpcmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcXVlc3Rpb25uYWlyZS9xdWVzdGlvbm5haXJlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXNlUGFnZSB9IGZyb20gJy4uLy4uLy4uL3BhZ2VzL0Jhc2VQYWdlJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XHJcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2dpblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sb2dpbi9sb2dpbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2xhaW1hbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY2xhaW1hbnQtc2VydmljZS9jbGFpbWFudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgU3RhdHVzTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9TdGF0dXNNb2RlbCc7XHJcbmltcG9ydCB7IFBvbGxpbmdTdGF0dXNNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1BvbGxpbmdTdGF0dXNNb2RlbCc7XHJcbmltcG9ydCB7IFN0b3JhZ2UgfSBmcm9tICdAaW9uaWMvc3RvcmFnZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgRmJDb25zdGFudHMgfSBmcm9tICcuLi9GYkNvbnN0YW50cyc7XHJcbmltcG9ydCB7IFF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3F1ZXN0aW9ubmFpcmUvdmFsaWRhdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY29tbW9uLXN1Y2Nlc3MnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb21tb24tc3VjY2Vzcy5wYWdlLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvbW1vbi1zdWNjZXNzLnBhZ2Uuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tbW9uU3VjY2Vzc1BhZ2UgZXh0ZW5kcyBCYXNlUGFnZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgY2FsbENvdW50IDogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgaGVhZGluZyA9IFwiXCI7XHJcbiAgcHVibGljIG1lc3NhZ2UgPSBcIlwiO1xyXG4gIHB1YmxpYyBzaG93TG9hZGVyVGhlbWUgPSBmYWxzZTtcclxuICBwYWdlVG9PcGVuOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHV1aWQ6IHN0cmluZyA9IFwiXCI7XHJcbiAgd2FpdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHdhaXRDaGVja1NlcnZpY2VVcmk6IHN0cmluZyA9IFwiXCI7XHJcbiAgcHVibGljIHdhaXRpbmdNZXNzYWdlID0gXCJQbGVhc2UgV2FpdC4uLlwiO1xyXG4gIHB1YmxpYyBpc0xvYWRpbmcgPSB0cnVlO1xyXG4gIGVsZW1lbnRzOiBCZWhhdmlvclN1YmplY3Q8U3VjY2Vzc1BhZ2VFbGVtZW50W10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdWNjZXNzUGFnZUVsZW1lbnRbXT4obnVsbCk7XHJcbiAgcHVibGljIHN1Y2Nlc3NQYWdlRWxlbWVudEFycjogQmVoYXZpb3JTdWJqZWN0PFN1Y2Nlc3NQYWdlRWxlbWVudFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3VjY2Vzc1BhZ2VFbGVtZW50W10+KG51bGwpO1xyXG4gIHB1YmxpYyBzdWNjZXNzRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuXHJcbiAgZHVyYXRpb24gPSA1MDAwOyAvL2RlZmluZXMgbWlsbGlzZWNvbmRzIGFmdGVyIHdoaWNoIGEgbmV3IHJlcXVlc3QgdG8gYmUgc2VudCBvdXRcclxuICBwdWJsaWMgdGltZXJJbnRlcnZhbCA9IGludGVydmFsKHRoaXMuZHVyYXRpb24pO1xyXG4gIHB1YmxpYyBjb3VudERvd24gPSB0aGlzLnRpbWVySW50ZXJ2YWwucGlwZSh0YWtlKDMwKSk7XHJcblxyXG4gIHRpbWVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgY291bnREb3duU3Vic2NyaXB0aW9uIDsgU3Vic2NyaXB0aW9uO1xyXG5cclxuICBxZVF1ZXJ5TW9kZWxzIDogUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxbXTtcclxuICBpc09wZW5RZSA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBxZVN1Y2Nlc3NVcmk6IHN0cmluZztcclxuICBxZVN1Y2Nlc3NXYWl0Q2hlY2tTZXJ2aWNlVXJpOiBzdHJpbmc7XHJcbiAgcWVTdWNjZXNzV2FpdEZvclByb2Nlc3NpbmcgOiBib29sZWFuO1xyXG4gIHN0YXR1c01vZGVsIDogU3RhdHVzTW9kZWwgPSBuZXcgU3RhdHVzTW9kZWwoKTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwdWJsaWMgcXVlc3Rpb25uYWlyZVNlcnZpY2U6IFF1ZXN0aW9ubmFpcmVTZXJ2aWNlLCBwdWJsaWMgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcclxuICAgIHB1YmxpYyB1dGlsOiBVdGlsU2VydmljZSwgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsIHB1YmxpYyBjbGFpbWFudFNlcnZpY2U6IENsYWltYW50U2VydmljZSxcclxuICAgIHB1YmxpYyByOiBSb3V0ZXIsIHB1YmxpYyBuYXZDb250cm9sbGVyOiBOYXZDb250cm9sbGVyLCBwdWJsaWMgbHM6IExvZ2luU2VydmljZSxcclxuICAgIHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplciwgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIHN0b3JhZ2UgOiBTdG9yYWdlLCBcclxuICAgIHByaXZhdGUgdmFsaWRhdGlvblNlcnZpY2UgOiBWYWxpZGF0aW9uU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXCJjb21tb24tc3VjY2VzcyBwYWdlIC0gbmcgaW5pdCBjYWxsZWRcIilcclxuICAgIHRoaXMudXVpZCA9IGF3YWl0IHRoaXMuc3RvcmFnZS5nZXQoRmJDb25zdGFudHMudXVpZCk7XHJcbiAgICB0aGlzLndhaXRDaGVja1NlcnZpY2VVcmkgPSBhd2FpdCB0aGlzLnN0b3JhZ2UuZ2V0KEZiQ29uc3RhbnRzLndhaXRDaGVja1NlcnZpY2VVcmkpO1xyXG4gICAgdGhpcy5wYWdlVG9PcGVuID0gYXdhaXQgdGhpcy5zdG9yYWdlLmdldChGYkNvbnN0YW50cy5wYWdlVG9PcGVuKTtcclxuICAgIHRoaXMud2FpdCA9IGF3YWl0IHRoaXMuc3RvcmFnZS5nZXQoRmJDb25zdGFudHMud2FpdEZvclByb2Nlc3NpbmcpO1xyXG5cclxuICAgIHRoaXMuc3VjY2Vzc0Zvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgJ2VtYWlsQWRkcmVzcyc6IFtdLFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5zdWNjZXNzUGFnZUVsZW1lbnRBcnIuc3Vic2NyaWJlKFxyXG4gICAgICByZXMgPT4ge1xyXG4gICAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICAgIHRoaXMuZWxlbWVudHMubmV4dChyZXMpO1xyXG4gICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLndhaXQpIHtcclxuICAgICAgICB0aGlzLmRvUG9sbGluZ0ZvclJlcXVlc3QodGhpcy51dWlkLCB0aGlzLndhaXRDaGVja1NlcnZpY2VVcmkpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIC8vZm9yIG90aGVyIGNhc2VzIHdoZXJlIHN0YXR1cyBlbmQgcG9pbnQgaXMgbm90IHNldC5cclxuICAgICAgdGhpcy5lbGVtZW50cy5uZXh0KGF3YWl0IHRoaXMuc3RvcmFnZS5nZXQoRmJDb25zdGFudHMuc3VjY2Vzc1BhZ2VFbGVtZW50KSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnRpbWVyU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIHRoaXMudGltZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICAgIGlmKHRoaXMuY291bnREb3duU3Vic2NyaXB0aW9uKXtcclxuICAgICAgdGhpcy5jb3VudERvd25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoRmJDb25zdGFudHMuc3VjY2Vzc1BhZ2VFbGVtZW50KTtcclxuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoRmJDb25zdGFudHMud2FpdEZvclByb2Nlc3NpbmcpO1xyXG4gICAgdGhpcy5zdG9yYWdlLnJlbW92ZShGYkNvbnN0YW50cy53YWl0Q2hlY2tTZXJ2aWNlVXJpKTtcclxuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoRmJDb25zdGFudHMucGFnZVRvT3Blbik7XHJcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlKEZiQ29uc3RhbnRzLnV1aWQpO1xyXG4gIH1cclxuXHJcbiAgZG9Qb2xsaW5nRm9yUmVxdWVzdCh1dWlkVGVtcDogc3RyaW5nLCB3YWl0Q2hlY2tTZXJ2aWNlVXJpVGVtcDogc3RyaW5nKXtcclxuICAgIGNvbnNvbGUubG9nKCdkbyBQb2xsaW5nIGZvciByZXF1ZXN0IGNhbGxlZCA9ICcsIHdhaXRDaGVja1NlcnZpY2VVcmlUZW1wKTtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgdGhpcy50aW1lclN1YnNjcmlwdGlvbiA9IHRoaXMudGltZXJJbnRlcnZhbC5waXBlKFxyXG4gICAgICAgIHN0YXJ0V2l0aCgwKSxcclxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5yZXRyaXZlUG9sbGluZ1N0YXR1c0ZvclBhZ2UodXVpZFRlbXAsIHdhaXRDaGVja1NlcnZpY2VVcmlUZW1wKSlcclxuICAgICAgKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgbGV0IGNvbnRpbnVlV2FpdGluZyA9IHJlc1snY29udGludWVXYWl0aW5nJ107XHJcbiAgICAgICAgdGhpcy53YWl0aW5nTWVzc2FnZSA9IHJlc1snd2FpdGluZ01lc3NhZ2UnXTtcclxuICAgICAgICBcclxuICAgICAgICBpZihjb250aW51ZVdhaXRpbmcgJiYgKyt0aGlzLmNhbGxDb3VudCA+PSAxNSl7XHJcbiAgICAgICAgICB0aGlzLndhaXRpbmdNZXNzYWdlID0gXCJJdCdzIHRha2luZyBsb25nZXIgdGhhbiB1c3VhbCB0byBwcm9jZXNzIHlvdXIgcmVxdWVzdC4gPGJyLz4gRG8gbm90IHJlZnJlc2ggdGhlIHBhZ2UuXCJcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoY29udGludWVXYWl0aW5nICYmIHRoaXMuY2FsbENvdW50ID4gMjUpe1xyXG4gICAgICAgICAgdGhpcy50aW1lclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICBpZih0aGlzLmxzLmlzTG9nZ2VkSW4oKSl7XHJcbiAgICAgICAgICAgIHRoaXMucGFnZVRvT3BlbiA9IFwid2VsY29tZVwiO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5wYWdlVG9PcGVuID0gXCJsYW5kaW5nXCI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIHRoaXMuc3VjY2Vzc1BhZ2VFbGVtZW50QXJyLm5leHQoXHJcbiAgICAgICAgICAgIFtcclxuICAgICAgICAgICAgICAgIHt0eXBlOiAnaGVhZGVyJywgZGVzY3JpcHRpb246IFwiPGgxPk9vcHMhIGNvdWxkIG5vdCBwcm9jZXNzIHlvdXIgcmVxdWVzdC48L2gxPlxcdFxcdFwiLCBpbmRlbnQ6IDAsIGZvbnRTaXplOiAwfSxcclxuICAgICAgICAgICAgICAgIHt0eXBlOiAnc3ViaGhlYWRlcicsIGRlc2NyaXB0aW9uOiAnPGg0PlBsZWFzZSB0cnkgYWdhaW4gYWZ0ZXIgc29tZSB0aW1lLjxoND5cXHRcXHQnLCBpbmRlbnQ6IDAsIGZvbnRTaXplOiAwfSxcclxuICAgICAgICAgICAgICAgIHt0eXBlOiAnYnV0dG9uVGV4dCcsIGRlc2NyaXB0aW9uOiAnSG9tZScsIGluZGVudDogMCwgZm9udFNpemU6IDB9XHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgICB0aGlzLnRpbWVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKCFjb250aW51ZVdhaXRpbmcpIHtcclxuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwic2VuZCBhbm90aGVyIHJlcXVlc3QgdG8gZmV0Y2ggcGFnZSBlbGVtZW50c1wiKTtcclxuICAgICAgICAgIGxldCBtZXNzYWdlU2VydmljZUVwID0gcmVzWydtZXNzYWdlU2VydmljZUVwJ107XHJcbiAgICAgICAgICB0aGlzLndhaXRpbmdNZXNzYWdlID0gcmVzWyd3YWl0aW5nTWVzc2FnZSddO1xyXG4gICAgICAgICAgdGhpcy5mZXRjaFBhZ2VFbGVtZW50cyhtZXNzYWdlU2VydmljZUVwLCB1dWlkVGVtcCkuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICByZXNwID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnN0YXR1c01vZGVsICA9IHJlc3A7XHJcbiAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCIgdGhpcy5zdGF0dXNNb2RlbCBcIiwgdGhpcy5zdGF0dXNNb2RlbCk7XHJcbiAgICAgICAgICAgICAgaWYocmVzcFsnbmF2aWdhdGVJbW1lZGlhdGVseSddKXtcclxuICAgICAgICAgICAgICAgIHRoaXMub3Blbk5leHRQYWdlKHJlc3BbJ3BhZ2VUb09wZW4nXSk7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIGlmKHJlc3BbJ3Nob3dRZSddKXtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiT3BlbiBRdWVzdGlvbm5haXJlIG9wdGlvbiBlbmNvdW50ZXJlZFwiKTtcclxuICAgICAgICAgICAgICAgIHRoaXMucWVTdWNjZXNzV2FpdENoZWNrU2VydmljZVVyaSA9IHRoaXMuc3RhdHVzTW9kZWwucWVTdWNjZXNzV2FpdENoZWNrU2VydmljZVVyaTtcclxuICAgICAgICAgICAgICAgIHRoaXMucWVTdWNjZXNzV2FpdEZvclByb2Nlc3NpbmcgPSB0aGlzLnN0YXR1c01vZGVsLnFlU3VjY2Vzc1dhaXRGb3JQcm9jZXNzaW5nO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5xZVN1Y2Nlc3NVcmkgPSB0aGlzLnN0YXR1c01vZGVsLnFlU3VjY2Vzc1VyaTtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMucWVTdWNjZXNzVXJpICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5xZVF1ZXJ5TW9kZWxzID0gcmVzcC5xZVF1ZXJ5TW9kZWxzO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmlzT3BlblFlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIkRpcmVjdCBwb2xsaW5nIHRvIG5ldyBwcm9jZXNzXCIpO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmRvUG9sbGluZ0ZvclJlcXVlc3QodGhpcy51dWlkLCB0aGlzLnFlU3VjY2Vzc1dhaXRDaGVja1NlcnZpY2VVcmkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0gZWxzZXtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFnZVRvT3BlbiA9IHJlc3BbJ3BhZ2VUb09wZW4nXTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3VjY2Vzc1BhZ2VFbGVtZW50QXJyLm5leHQocmVzcFsnc3VjY2Vzc1BhZ2VFbGVtZW50J10pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHRoaXMudGltZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgIHRoaXMuY291bnREb3duU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgICBlcnIgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcclxuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdodHRwIGVycm9yIHJlc3BvbnNlID0gJywgZXJyKTtcclxuICAgICAgICB9KTtcclxuICB9XHJcblxyXG4gIHJldHJpdmVQb2xsaW5nU3RhdHVzRm9yUGFnZSh1dWkxMjogc3RyaW5nLCB3YWl0Q2hlY2tTZXJ2aWNlVXJpMTI6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIlBvbGxpbmcgc2VydmljZSBVUkwgLSBcIiArIHdhaXRDaGVja1NlcnZpY2VVcmkxMik7XHJcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0aW9uU2VydmljZS5nZXQ8UG9sbGluZ1N0YXR1c01vZGVsPih3YWl0Q2hlY2tTZXJ2aWNlVXJpMTIgKyB1dWkxMik7XHJcbiAgfVxyXG5cclxuICBmZXRjaFBhZ2VFbGVtZW50cyhtZXNzYWdlU2VydmljZUVwOiBzdHJpbmcsIHV1aTEyOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFN0YXR1c01vZGVsPiB7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIlBhZ2UgZWxlbWVudCBzZXJ2aWNlIFVSTCAtIFwiICsgbWVzc2FnZVNlcnZpY2VFcCk7XHJcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0aW9uU2VydmljZS5nZXQ8U3RhdHVzTW9kZWw+KG1lc3NhZ2VTZXJ2aWNlRXAgKyB1dWkxMik7XHJcbiAgfVxyXG5cclxuICBnZXQgZW1haWxBZGRyZXNzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3VjY2Vzc0Zvcm0uY29udHJvbHNbJ2VtYWlsQWRkcmVzcyddO1xyXG4gIH1cclxuXHJcbiAgcmVzZW5kVmVyaWZpY2F0aW9uRW1haWwoKSB7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygncmVzZW5kVmVyaWZpY2F0aW9uRW1haWwnKTtcclxuICAgIHRoaXMuc2hvd0xvYWRlclRoZW1lID0gZmFsc2U7XHJcbiAgICB0aGlzLnF1ZXN0aW9ubmFpcmVTZXJ2aWNlLnV1aWQuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XHJcbiAgICAgIHRoaXMuY2xhaW1hbnRTZXJ2aWNlLnJlc2VuZFZlcmlmaWNhdGlvbkVtYWlsKHBhcmFtcy52YWx1ZU9mKCkpXHJcbiAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0xvYWRlclRoZW1lID0gZmFsc2U7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZXJyID0+IHtcclxuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ0Vycm9yJywgZXJyKTtcclxuICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgICAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xyXG4gICAgICAgICAgICB0aGlzLnNob3dMb2FkZXJUaGVtZSA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbiAgICApO1xyXG5cclxuICB9XHJcblxyXG4gIHNldEZvbnRTaXplKGZvbnRzaXplOiBudW1iZXIpOiBvYmplY3Qge1xyXG4gICAgaWYgKGZvbnRzaXplID09PSAwKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdmb250c2l6ZScsIGZvbnRzaXplKTtcclxuICAgIGxldCBzdHlsZU9iaiA9IHtcclxuICAgICAgJ2ZvbnQtc2l6ZSc6IGZvbnRzaXplICsgJ3B4J1xyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihzdHlsZU9iaik7XHJcbiAgfVxyXG5cclxuICBvcGVuTmV4dFBhZ2UocGFnZVRvT3Blbil7XHJcbiAgICB3aW5kb3cub3Blbihsb2NhdGlvbi5vcmlnaW4gKyBwYWdlVG9PcGVuLCAnX3NlbGYnKTtcclxuICB9XHJcblxyXG4gIG9wZW5QYWdlKCkge1xyXG5cclxuICAgIGxldCBjdXJyZW50Q29udGV4dFJvb3QgPSB0aGlzLmdldENvbnRleHRSb290KCk7XHJcbiAgICBpZiAodGhpcy5wYWdlVG9PcGVuICYmIHRoaXMucGFnZVRvT3Blbi5zdWJzdHJpbmcoMCwgNCkgIT0gJy9jcC8nICYmIHRoaXMucGFnZVRvT3BlbiAmJiB0aGlzLnBhZ2VUb09wZW4gIT0gJ09wZW5QYWdlJykge1xyXG4gICAgICB0aGlzLm5hdkNvbnRyb2xsZXIubmF2aWdhdGVGb3J3YXJkKFt0aGlzLnBhZ2VUb09wZW5dLCB7IHF1ZXJ5UGFyYW1zOiB7IGlkZW50aWZpZXI6IHRoaXMudXVpZCB9IH0pXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgdXJsOiBzdHJpbmcgPSBcIi9jcC9sYW5kaW5nXCI7XHJcbiAgICAgIGlmICh0aGlzLnBhZ2VUb09wZW4gJiYgdGhpcy5wYWdlVG9PcGVuICE9ICdPcGVuUGFnZScpIHtcclxuICAgICAgICB1cmwgPSB0aGlzLnBhZ2VUb09wZW47XHJcbiAgICAgIH1cclxuICAgICAgd2luZG93Lm9wZW4obG9jYXRpb24ub3JpZ2luICsgdXJsLCAnX3NlbGYnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBnZXRDb250ZXh0Um9vdCgpIHtcclxuICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3Vic3RyaW5nKDAsIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5pbmRleE9mKFwiL1wiLCAyKSk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXQoKSB7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnU3VjY2VzcyBjYWxsZWQnLCB0aGlzLmVtYWlsQWRkcmVzcy52YWx1ZSwgJyB1dWlkICcsIHRoaXMudXVpZCk7XHJcbiAgICB0aGlzLmNsYWltYW50U2VydmljZS51cGRhdGVFbWFpbCh0aGlzLmVtYWlsQWRkcmVzcy52YWx1ZSwgdGhpcy51dWlkKVxyXG4gICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICAgICAgdGhpcy5zaG93TG9hZGVyVGhlbWUgPSBmYWxzZTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRXJyb3InLCBlcnIpO1xyXG4gICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcclxuICAgICAgICAgIHRoaXMuc2hvd0xvYWRlclRoZW1lID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcXVTdWNjZXNzKCl7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcInFlIHN1Y2Nlc3MgaGVyZVwiKTtcclxuICAgIGlmKHRoaXMuaXNPcGVuUWUpeyAgXHJcbiAgICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2UucG9zdCh0aGlzLnFlU3VjY2Vzc1VyaSwgbnVsbClcclxuICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgcmVzID0+IHsgIFxyXG4gICAgICAgICAgICB0aGlzLmlzT3BlblFlID0gZmFsc2U7ICAgICAgICAgXHJcbiAgICAgICAgICAgIGlmKHRoaXMucWVTdWNjZXNzV2FpdEZvclByb2Nlc3Npbmcpe1xyXG4gICAgICAgICAgICAgIHRoaXMuZG9Qb2xsaW5nRm9yUmVxdWVzdCh0aGlzLnV1aWQsIHRoaXMucWVTdWNjZXNzV2FpdENoZWNrU2VydmljZVVyaSk7XHJcbiAgICAgICAgICAgIH0gICAgICAgICAgICBcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnIgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRXJyb3InLCBlcnIpO1xyXG4gICAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICB9XHJcblxyXG59XHJcbiIsIjxpb24taGVhZGVyPlxyXG4gIDxhcHAtaGVhZGVyIFtzZWNvbmRUb29sYmFyXT1cImZhbHNlXCI+PC9hcHAtaGVhZGVyPlxyXG48L2lvbi1oZWFkZXI+XHJcblxyXG48aW9uLWNvbnRlbnQ+XHJcbiAgPGFwcC1jb250ZW50IFtzaG93SGVscF09XCJmYWxzZVwiIFtoaWRlRm9vdGVyXT1cInRydWVcIj5cclxuICAgIDxhcHAtbXVsdGktcXVlc3Rpb25uYWlyZSBbcWVRdWVyeU1vZGVsc109XCJxZVF1ZXJ5TW9kZWxzXCIgKm5nSWY9XCJpc09wZW5RZVwiIFtzaG93Q2xvc2VdPVwiZmFsc2VcIiBcclxuICAgIChvbkNvbXBsZXRlKT1cInF1U3VjY2VzcygpXCIgW2hlYWRlcl09XCInRm9sbG93IHVwIFF1ZXN0aW9ucycgfCB0cmFuc2xhdGVcIiBbc2hvd1F1ZXN0aW9uTnVtYmVyXT1cInRydWVcIj48L2FwcC1tdWx0aS1xdWVzdGlvbm5haXJlPlxyXG5cclxuICAgIDxpb24tcm93IGNsYXNzPVwiaW9uLXBhZGRpbmdcIiAqbmdJZj1cImlzTG9hZGluZ1wiPlxyXG4gICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgIDxpb24tbGFiZWwgIGNsYXNzPVwiYm94XCJzdHlsZT1cImNvbG9yOnZhcigtLWlvbi1jb2xvci1ncmV5KTsgZm9udC1zaXplOiAyNHB4XCI+XHJcbiAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHdhaXRpbmdNZXNzYWdlKVwiPjwvZGl2PjwvaW9uLWxhYmVsPlxyXG4gICAgICAgIDxicj5cclxuICAgICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImRvdHNcIj48L2lvbi1zcGlubmVyPlxyXG4gICAgICA8L2lvbi1jb2w+XHJcbiAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cImVsZW1lbnRzLmdldFZhbHVlKCkgJiYgIWlzTG9hZGluZ1wiPlxyXG5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiAgZWxlbWVudHMuZ2V0VmFsdWUoKTsgIGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwiZWxlbWVudC5kZXNjcmlwdGlvblwiIHN0eWxlPVwidGV4dC1hbGlnbjogbGVmdDtcIiAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0naGVhZGVyJ1wiXHJcbiAgICAgICAgICBzdHlsZT1cImNvbG9yOnZhcigtLWlvbi1jb2xvci1ncmV5KTtcIiBzdHlsZT1cInBhZGRpbmctbGVmdDogMjVweDtcIj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8aW9uLWdyaWQ+XHJcbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiAgZWxlbWVudHMuZ2V0VmFsdWUoKTsgIGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdzdWJoaGVhZGVyJ1wiPlxyXG4gICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWNlbnRlciAgaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTBcIiBzaXplTGc9XCI4XCJcclxuICAgICAgICAgICAgICBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cImVsZW1lbnQuZGVzY3JpcHRpb25cIiBjbGFzcz1cImJveFwiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMjBweDtcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJjb2xvcjp2YXIoLS1pb24tY29sb3ItZ3JleSk7XCI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0ndGV4dDEnXCI+XHJcbiAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTBcIiBzaXplTGc9XCI4XCJcclxuICAgICAgICAgICAgICBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cImVsZW1lbnQuZGVzY3JpcHRpb25cIj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSd0ZXh0MidcIj5cclxuICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1qdXN0aWZ5IGlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCIgc2l6ZUxnPVwiOFwiXHJcbiAgICAgICAgICAgICAgc2l6ZVhsPVwiOFwiIG9mZnNldE1kPVwiMVwiIG9mZnNldFhsPVwiMlwiIG9mZnNldExnPVwiMlwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoZWxlbWVudC5kZXNjcmlwdGlvbilcIj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdlbWFpbFVwZGF0ZSdcIj5cclxuICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1qdXN0aWZ5IGlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCIgc2l6ZUxnPVwiOFwiXHJcbiAgICAgICAgICAgICAgc2l6ZVhsPVwiOFwiIG9mZnNldE1kPVwiMVwiIG9mZnNldFhsPVwiMlwiIG9mZnNldExnPVwiMlwiPlxyXG4gICAgICAgICAgICAgIDxpb24tcm93PiAgICBcclxuICAgICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoZWxlbWVudC5kZXNjcmlwdGlvbilcIj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICAgPGlvbi1yb3c+ICAgIFxyXG4gICAgICAgICAgICAgICA8aW9uLWNvbD4gICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgPGlucHV0IGlkPVwiZW1haWxBZGRyZXNzXCIgc2l6ZT1cIjYwXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiZW1haWxBZGRyZXNzXCIgLz5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2w+ICAgICAgIFxyXG4gICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwic3VibWl0KClcIiB0eXBlPVwic3VibWl0XCI+U3VibWl0PC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdyZXNlbmRlbWFpbCdcIj5cclxuICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1qdXN0aWZ5IGlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCIgc2l6ZUxnPVwiOFwiXHJcbiAgICAgICAgICAgICAgc2l6ZVhsPVwiOFwiIG9mZnNldE1kPVwiMVwiIG9mZnNldFhsPVwiMlwiIG9mZnNldExnPVwiMlwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyJz5JZiB5b3UgZGlkJ3QgZ2V0IGFuIGVtYWlsLCAgXHJcbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cInJlc2VuZFZlcmlmaWNhdGlvbkVtYWlsKClcIj4gY2xpY2sgaGVyZTwvYT4gYW5kIHdlJ2xsIHNlbmQgYWdhaW4uPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09J3RleHQzJ1wiPlxyXG4gICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWp1c3RpZnkgaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTBcIiBzaXplTGc9XCI4XCJcclxuICAgICAgICAgICAgICBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChlbGVtZW50LmRlc2NyaXB0aW9uKVwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09J3RleHQ0J1wiPlxyXG4gICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWp1c3RpZnkgaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTBcIiBzaXplTGc9XCI4XCJcclxuICAgICAgICAgICAgICBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChlbGVtZW50LmRlc2NyaXB0aW9uKVwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvaW9uLWdyaWQ+XHJcblxyXG5cclxuICAgICAgPCEtLUZvciBidXR0b24tLT5cclxuICAgICAgPGlvbi1ncmlkPlxyXG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGVsZW1lbnQgb2YgIGVsZW1lbnRzLmdldFZhbHVlKCk7ICBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1jb2wgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09J2J1dHRvbkFkZGphY2VudFRleHQnXCIgY2xhc3M9XCJpb24tdGV4dC1yaWdodCBpb24tcGFkZGluZy1lbmRcIiBzaXplPVwiMTJcIlxyXG4gICAgICAgICAgICAgIHNpemVTbT1cIjEyXCIgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCIxMFwiIHNpemVMZz1cIjhcIiBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0XCIgc3R5bGU9XCJjb2xvcjp2YXIoLS1pb24tY29sb3ItZ3JleSk7XCJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdidXR0b25BZGRqYWNlbnRUZXh0J1wiPlxyXG4gICAgICAgICAgICAgICAgPGgzPnt7ZWxlbWVudC5kZXNjcmlwdGlvbn19PC9oMz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8aW9uLWNvbCAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0nYnV0dG9uVGV4dCdcIiBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0IGlvbi1wYWRkaW5nLWVuZFwiIHNpemU9XCIxMlwiIHNpemVTbT1cIjEyXCJcclxuICAgICAgICAgICAgICAgICAgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCIxMFwiIHNpemVMZz1cIjhcIiBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09J2J1dHRvblRleHQnXCIgY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwib3BlblBhZ2UoKVwiIGNvbG9yPVwic3VjY2Vzc1wiIHNpemU9XCJiaWdcIiB0eXBlPVwic3VibWl0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7e2VsZW1lbnQuZGVzY3JpcHRpb259fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8L2lvbi1ncmlkPlxyXG5cclxuXHJcblxyXG4gICAgICA8IS0tQnV0dG9uLS0+XHJcblxyXG4gICAgPC9kaXY+XHJcblxyXG5cclxuXHJcblxyXG4gIDwvYXBwLWNvbnRlbnQ+XHJcbjwvaW9uLWNvbnRlbnQ+Il19