@reusa/ngx-reusa-app-lib 0.0.1374 → 0.0.1375

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 (545) hide show
  1. package/esm2022/lib/components/add-employer/add-employer.component.mjs +2392 -1322
  2. package/esm2022/lib/components/add-participant/add-participant.component.mjs +159 -105
  3. package/esm2022/lib/components/add-payment/add-payment.component.mjs +59 -53
  4. package/esm2022/lib/components/add-wage/add-wage.component.mjs +161 -0
  5. package/esm2022/lib/components/address/address.component.mjs +287 -152
  6. package/esm2022/lib/components/address-popup/address-popup.component.mjs +97 -0
  7. package/esm2022/lib/components/address-suggestion/address-suggestion.component.mjs +289 -0
  8. package/esm2022/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.mjs +245 -0
  9. package/esm2022/lib/components/associate-ssn/associate-ssn.component.mjs +203 -0
  10. package/esm2022/lib/components/bank-details/bank-details.component.mjs +79 -219
  11. package/esm2022/lib/components/claim-info/claim-info.component.mjs +408 -0
  12. package/esm2022/lib/components/contact-us/contact-us.component.mjs +17 -43
  13. package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +3 -9
  14. package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +32 -4
  15. package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +30 -15
  16. package/esm2022/lib/components/disclosure/disclosure.component.mjs +1 -1
  17. package/esm2022/lib/components/dropdown/dropdown.component.mjs +4 -4
  18. package/esm2022/lib/components/dropdown/dropdown.interface.mjs +1 -1
  19. package/esm2022/lib/components/dua-request-page/dua-request-page.component.mjs +596 -0
  20. package/esm2022/lib/components/dua-request-popup/dua-request-popup.component.mjs +356 -0
  21. package/esm2022/lib/components/email-update/email-update.component.mjs +63 -140
  22. package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +422 -574
  23. package/esm2022/lib/components/employer-info/employer-info.component.mjs +319 -0
  24. package/esm2022/lib/components/employer-pay/employer-pay.component.mjs +238 -0
  25. package/esm2022/lib/components/employer-pay-grid/employer-pay-grid.component.mjs +302 -0
  26. package/esm2022/lib/components/error/error.component.mjs +22 -5
  27. package/esm2022/lib/components/farm-usage/farm-usage.component.mjs +172 -0
  28. package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +1 -1
  29. package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +178 -49
  30. package/esm2022/lib/components/footer/footer.component.mjs +112 -101
  31. package/esm2022/lib/components/gross-earnings/gross-earnings.component.mjs +201 -0
  32. package/esm2022/lib/components/header/header.component.mjs +440 -174
  33. package/esm2022/lib/components/history-page/history-page.component.mjs +571 -0
  34. package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +25 -36
  35. package/esm2022/lib/components/idme/idme.component.mjs +84 -0
  36. package/esm2022/lib/components/info/info.component.mjs +4 -12
  37. package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +16 -22
  38. package/esm2022/lib/components/job-title/job-title.component.mjs +92 -97
  39. package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +143 -513
  40. package/esm2022/lib/components/link/link.component.mjs +1 -1
  41. package/esm2022/lib/components/menu/menu.component.mjs +68 -100
  42. package/esm2022/lib/components/mfa/mfa.component.mjs +158 -288
  43. package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +11 -18
  44. package/esm2022/lib/components/money-expect/money-expect.component.mjs +158 -54
  45. package/esm2022/lib/components/offline-add-employer/offline-add-employer.component.mjs +3661 -0
  46. package/esm2022/lib/components/offline-bank-details/offline-bank-details.component.mjs +258 -0
  47. package/esm2022/lib/components/offline-employer-grid/offline-employer-grid.component.mjs +853 -0
  48. package/esm2022/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.mjs +251 -0
  49. package/esm2022/lib/components/profile/profile.component.mjs +749 -353
  50. package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +108 -38
  51. package/esm2022/lib/components/proof-of-anything/proof-of-anything.component.mjs +261 -0
  52. package/esm2022/lib/components/proof-of-document-upload/proof-of-document-upload.component.mjs +560 -0
  53. package/esm2022/lib/components/questionnaire/AppValidators.mjs +296 -47
  54. package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +110 -65
  55. package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +377 -173
  56. package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +76 -95
  57. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +877 -1153
  58. package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +208 -699
  59. package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +28 -22
  60. package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +128 -41
  61. package/esm2022/lib/components/questionnaire/question-control.service.mjs +2 -1
  62. package/esm2022/lib/components/questionnaire/question.service.mjs +5 -7
  63. package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +15 -29
  64. package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +497 -237
  65. package/esm2022/lib/components/scrollable-text/scrollable-text.component.mjs +25 -0
  66. package/esm2022/lib/components/search-employer/search-employer.component.mjs +155 -30
  67. package/esm2022/lib/components/select/select.component.mjs +5 -10
  68. package/esm2022/lib/components/sign-ssn/sign-ssn.component.mjs +3 -3
  69. package/esm2022/lib/components/sms/sms.component.mjs +336 -0
  70. package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +52 -72
  71. package/esm2022/lib/components/user-login/user-login.component.mjs +139 -360
  72. package/esm2022/lib/components/wage-calculator/wage-calculator.component.mjs +527 -0
  73. package/esm2022/lib/components/wage-grid/wage-grid.component.mjs +274 -0
  74. package/esm2022/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.mjs +147 -0
  75. package/esm2022/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.mjs +167 -0
  76. package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +655 -387
  77. package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +125 -61
  78. package/esm2022/lib/components/weekly-certification/weekly-certification.component.mjs +828 -0
  79. package/esm2022/lib/components/weekly-confirmation/confirmation.component.mjs +129 -0
  80. package/esm2022/lib/components/weekly-interim-confirmation/interim-confirmation.component.mjs +136 -0
  81. package/esm2022/lib/components/weekly-summary-v2/summary.component-v2.mjs +72 -0
  82. package/esm2022/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.mjs +50 -0
  83. package/esm2022/lib/components/weekly-work-search-counter/work-search-counter.component.mjs +92 -0
  84. package/esm2022/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.mjs +1190 -0
  85. package/esm2022/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.mjs +690 -0
  86. package/esm2022/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.mjs +524 -0
  87. package/esm2022/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.mjs +394 -0
  88. package/esm2022/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.mjs +640 -0
  89. package/esm2022/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.mjs +33 -0
  90. package/esm2022/lib/enums/AddressValidationResponseEnum.mjs +9 -0
  91. package/esm2022/lib/enums/AddressValidationSourceFunctionEnum.mjs +5 -0
  92. package/esm2022/lib/guards/auth.guard.mjs +50 -2
  93. package/esm2022/lib/guards/no-login/no-login.guard.mjs +1 -1
  94. package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +51 -3
  95. package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +1 -1
  96. package/esm2022/lib/models/ActiveClaimModel.mjs +3 -0
  97. package/esm2022/lib/models/CountyModel.mjs +3 -0
  98. package/esm2022/lib/models/DuaAppDataModel.mjs +3 -0
  99. package/esm2022/lib/models/DuaRequestModel.mjs +3 -0
  100. package/esm2022/lib/models/DuaRetroWeeksComponentModel.mjs +6 -0
  101. package/esm2022/lib/models/EmployerDetailSearchResult.mjs +1 -1
  102. package/esm2022/lib/models/EmployerInfoComponentModel.mjs +4 -0
  103. package/esm2022/lib/models/EmployerPayInfoModel.mjs +6 -0
  104. package/esm2022/lib/models/FarmUsageComponentModel.mjs +2 -0
  105. package/esm2022/lib/models/GrossEarningsModel.mjs +3 -0
  106. package/esm2022/lib/models/HelpConstants.mjs +5 -0
  107. package/esm2022/lib/models/LexisNexisOtpDetailsResponseModel.mjs +3 -0
  108. package/esm2022/lib/models/LibConstants.mjs +45 -6
  109. package/esm2022/lib/models/OtpAuthModel.mjs +1 -1
  110. package/esm2022/lib/models/PaymentComponentModel.mjs +1 -1
  111. package/esm2022/lib/models/ReasonSeparationRequestModel.mjs +3 -0
  112. package/esm2022/lib/models/RetroWeeksModel.mjs +3 -0
  113. package/esm2022/lib/models/SecurityQuestionAnswerModel.mjs +3 -0
  114. package/esm2022/lib/models/SendOtpRequestModel.mjs +3 -0
  115. package/esm2022/lib/models/UserModel.mjs +1 -1
  116. package/esm2022/lib/models/VerifyOtpRequestModel.mjs +3 -0
  117. package/esm2022/lib/models/WageCalculatorModel.mjs +3 -0
  118. package/esm2022/lib/models/WageInfoModel.mjs +4 -0
  119. package/esm2022/lib/models/addressValidation/AddressRecommendationModel.mjs +3 -0
  120. package/esm2022/lib/models/addressValidation/AddressValidationRequestComponentModel.mjs +3 -0
  121. package/esm2022/lib/models/addressValidation/AddressValidationResponseComponentModel.mjs +3 -0
  122. package/esm2022/lib/models/addressValidation/AddressValidationReturnComponentModel.mjs +3 -0
  123. package/esm2022/lib/models/combo-model.mjs +343 -0
  124. package/esm2022/lib/models/dashboard-model.mjs +1 -1
  125. package/esm2022/lib/models/dependent.model.mjs +1 -1
  126. package/esm2022/lib/models/fileupload/DocUploadModel.mjs +7 -0
  127. package/esm2022/lib/models/fileupload/EmployerDataModel.mjs +3 -0
  128. package/esm2022/lib/models/fileupload/FileObject.mjs +3 -0
  129. package/esm2022/lib/models/fileupload/FileObjectArray.mjs +7 -0
  130. package/esm2022/lib/models/questionnaire/AppealParticipantModel.mjs +8 -0
  131. package/esm2022/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +1 -1
  132. package/esm2022/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +2 -1
  133. package/esm2022/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +1 -1
  134. package/esm2022/lib/models/questionnaire/ComboModel.mjs +96 -653
  135. package/esm2022/lib/models/questionnaire/ElementsModel.mjs +1 -1
  136. package/esm2022/lib/models/questionnaire/LegalDiscaimarModel.mjs +1 -1
  137. package/esm2022/lib/models/questionnaire/QuestionnaireSaveModel.mjs +1 -1
  138. package/esm2022/lib/models/questionnaire/ScrollableTextModel.mjs +3 -0
  139. package/esm2022/lib/models/questionnaire/StatusModel.mjs +1 -1
  140. package/esm2022/lib/models/questionnaire/WbaHelperTextModel.mjs +3 -0
  141. package/esm2022/lib/models/weekly-cert/WorkSearchWaiverModel.mjs +3 -0
  142. package/esm2022/lib/models/weekly-cert/address-detail-model.mjs +2 -0
  143. package/esm2022/lib/models/weekly-cert/admin-leave-details-model.mjs +7 -0
  144. package/esm2022/lib/models/weekly-cert/employer-info-v2-model.mjs +7 -0
  145. package/esm2022/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.mjs +6 -0
  146. package/esm2022/lib/models/weekly-cert/weekly-certification-v2-model.mjs +34 -0
  147. package/esm2022/lib/models/weekly-cert/work-search-record-v2-model.mjs +15 -0
  148. package/esm2022/lib/models/weekly-cert/work-search-v2-model.mjs +11 -0
  149. package/esm2022/lib/ngx-reusa-app-lib.module.mjs +135 -23
  150. package/esm2022/lib/pages/BasePage.mjs +4 -23
  151. package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +22 -18
  152. package/esm2022/lib/pages/common/change-password/change-password.page.mjs +142 -124
  153. package/esm2022/lib/pages/common/landing/landing.component.mjs +7 -8
  154. package/esm2022/lib/pages/common/landing2/landing2.component.mjs +4 -4
  155. package/esm2022/lib/pages/common/login/login.component.mjs +7 -13
  156. package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +14 -14
  157. package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +5 -5
  158. package/esm2022/lib/pages/popovers/language/language.page.mjs +1 -2
  159. package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +4 -4
  160. package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +7 -2
  161. package/esm2022/lib/pipes/format-worksearch/format-worksearch.pipe.mjs +101 -0
  162. package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +2 -2
  163. package/esm2022/lib/services/address-validation-service/address-validation.service.mjs +151 -0
  164. package/esm2022/lib/services/appeal/appeal.service.mjs +37 -0
  165. package/esm2022/lib/services/base-service.mjs +4 -1
  166. package/esm2022/lib/services/birt-service/birt.service.mjs +57 -0
  167. package/esm2022/lib/services/chatbot/chatbot.service.mjs +1 -2
  168. package/esm2022/lib/services/claimant-service/claimant.service.mjs +7 -13
  169. package/esm2022/lib/services/claims/claims.service.mjs +105 -14
  170. package/esm2022/lib/services/employer/employer-service.mjs +35 -0
  171. package/esm2022/lib/services/event-service/event-service.mjs +44 -0
  172. package/esm2022/lib/services/help/help.service.mjs +1 -1
  173. package/esm2022/lib/services/logger/logger.service.mjs +1 -1
  174. package/esm2022/lib/services/login/login.service.mjs +29 -14
  175. package/esm2022/lib/services/offline-claims/offline-claims.service.mjs +327 -0
  176. package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +4 -1
  177. package/esm2022/lib/services/questionnaire/validation.service.mjs +4 -1
  178. package/esm2022/lib/services/security-service/security.service.mjs +23 -6
  179. package/esm2022/lib/services/util/util.service.mjs +61 -5
  180. package/esm2022/lib/services/weekly-cert/review.service.mjs +101 -0
  181. package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +186 -14
  182. package/esm2022/lib/services/weekly-cert/weekly-cert.service.mjs +37 -0
  183. package/esm2022/lib/services/weekly-cert/work-search.service.mjs +58 -0
  184. package/esm2022/lib/validations/AppRegex.mjs +1 -3
  185. package/esm2022/lib/validations/AppValidators.mjs +78 -62
  186. package/esm2022/public-api.mjs +47 -5
  187. package/fesm2022/reusa-ngx-reusa-app-lib.mjs +41277 -23401
  188. package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
  189. package/lib/components/add-employer/add-employer.component.d.ts +137 -53
  190. package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
  191. package/lib/components/add-participant/add-participant.component.d.ts +11 -5
  192. package/lib/components/add-participant/add-participant.component.d.ts.map +1 -1
  193. package/lib/components/add-payment/add-payment.component.d.ts +9 -3
  194. package/lib/components/add-payment/add-payment.component.d.ts.map +1 -1
  195. package/lib/components/add-wage/add-wage.component.d.ts +30 -0
  196. package/lib/components/add-wage/add-wage.component.d.ts.map +1 -0
  197. package/lib/components/address/address.component.d.ts +42 -15
  198. package/lib/components/address/address.component.d.ts.map +1 -1
  199. package/lib/components/address-popup/address-popup.component.d.ts +16 -0
  200. package/lib/components/address-popup/address-popup.component.d.ts.map +1 -0
  201. package/lib/components/address-suggestion/address-suggestion.component.d.ts +43 -0
  202. package/lib/components/address-suggestion/address-suggestion.component.d.ts.map +1 -0
  203. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts +37 -0
  204. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts.map +1 -0
  205. package/lib/components/associate-ssn/associate-ssn.component.d.ts +33 -0
  206. package/lib/components/associate-ssn/associate-ssn.component.d.ts.map +1 -0
  207. package/lib/components/bank-details/bank-details.component.d.ts +1 -23
  208. package/lib/components/bank-details/bank-details.component.d.ts.map +1 -1
  209. package/lib/components/claim-info/claim-info.component.d.ts +49 -0
  210. package/lib/components/claim-info/claim-info.component.d.ts.map +1 -0
  211. package/lib/components/contact-us/contact-us.component.d.ts +1 -4
  212. package/lib/components/contact-us/contact-us.component.d.ts.map +1 -1
  213. package/lib/components/correspondence-download/correspondence-download.component.d.ts.map +1 -1
  214. package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
  215. package/lib/components/dua-request-page/dua-request-page.component.d.ts +74 -0
  216. package/lib/components/dua-request-page/dua-request-page.component.d.ts.map +1 -0
  217. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts +61 -0
  218. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts.map +1 -0
  219. package/lib/components/email-update/email-update.component.d.ts +1 -12
  220. package/lib/components/email-update/email-update.component.d.ts.map +1 -1
  221. package/lib/components/employer-grid/employer-grid.component.d.ts +25 -15
  222. package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
  223. package/lib/components/employer-info/employer-info.component.d.ts +50 -0
  224. package/lib/components/employer-info/employer-info.component.d.ts.map +1 -0
  225. package/lib/components/employer-pay/employer-pay.component.d.ts +51 -0
  226. package/lib/components/employer-pay/employer-pay.component.d.ts.map +1 -0
  227. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts +43 -0
  228. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts.map +1 -0
  229. package/lib/components/error/error.component.d.ts +3 -2
  230. package/lib/components/error/error.component.d.ts.map +1 -1
  231. package/lib/components/farm-usage/farm-usage.component.d.ts +33 -0
  232. package/lib/components/farm-usage/farm-usage.component.d.ts.map +1 -0
  233. package/lib/components/file-uploader/file-uploader.component.d.ts +5 -1
  234. package/lib/components/file-uploader/file-uploader.component.d.ts.map +1 -1
  235. package/lib/components/footer/footer.component.d.ts.map +1 -1
  236. package/lib/components/gross-earnings/gross-earnings.component.d.ts +42 -0
  237. package/lib/components/gross-earnings/gross-earnings.component.d.ts.map +1 -0
  238. package/lib/components/header/header.component.d.ts +17 -5
  239. package/lib/components/header/header.component.d.ts.map +1 -1
  240. package/lib/components/history-page/history-page.component.d.ts +80 -0
  241. package/lib/components/history-page/history-page.component.d.ts.map +1 -0
  242. package/lib/components/idme/idme.component.d.ts +19 -0
  243. package/lib/components/idme/idme.component.d.ts.map +1 -0
  244. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +1 -3
  245. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts.map +1 -1
  246. package/lib/components/job-title/job-title.component.d.ts +22 -23
  247. package/lib/components/job-title/job-title.component.d.ts.map +1 -1
  248. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +5 -6
  249. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -1
  250. package/lib/components/menu/menu.component.d.ts +3 -12
  251. package/lib/components/menu/menu.component.d.ts.map +1 -1
  252. package/lib/components/mfa/mfa.component.d.ts +7 -19
  253. package/lib/components/mfa/mfa.component.d.ts.map +1 -1
  254. package/lib/components/mfa-popup/mfa-popup.component.d.ts +6 -8
  255. package/lib/components/mfa-popup/mfa-popup.component.d.ts.map +1 -1
  256. package/lib/components/money-expect/money-expect.component.d.ts +15 -4
  257. package/lib/components/money-expect/money-expect.component.d.ts.map +1 -1
  258. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts +311 -0
  259. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts.map +1 -0
  260. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts +33 -0
  261. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts.map +1 -0
  262. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts +97 -0
  263. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts.map +1 -0
  264. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts +33 -0
  265. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts.map +1 -0
  266. package/lib/components/profile/profile.component.d.ts +82 -49
  267. package/lib/components/profile/profile.component.d.ts.map +1 -1
  268. package/lib/components/profile-redirect/profile-redirect.component.d.ts +9 -2
  269. package/lib/components/profile-redirect/profile-redirect.component.d.ts.map +1 -1
  270. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts +54 -0
  271. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts.map +1 -0
  272. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts +74 -0
  273. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts.map +1 -0
  274. package/lib/components/questionnaire/AppValidators.d.ts +1 -0
  275. package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
  276. package/lib/components/questionnaire/account-success/account-success.page.d.ts +13 -10
  277. package/lib/components/questionnaire/account-success/account-success.page.d.ts.map +1 -1
  278. package/lib/components/questionnaire/common-success/common-success.page.d.ts +7 -1
  279. package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
  280. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +3 -1
  281. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts.map +1 -1
  282. package/lib/components/questionnaire/dynamic-form-question.component.d.ts +33 -35
  283. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
  284. package/lib/components/questionnaire/dynamic-form.component.d.ts +10 -34
  285. package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
  286. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +0 -7
  287. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
  288. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +7 -1
  289. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
  290. package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
  291. package/lib/components/questionnaire/question.service.d.ts +0 -1
  292. package/lib/components/questionnaire/question.service.d.ts.map +1 -1
  293. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +1 -7
  294. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
  295. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +11 -3
  296. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -1
  297. package/lib/components/scrollable-text/scrollable-text.component.d.ts +11 -0
  298. package/lib/components/scrollable-text/scrollable-text.component.d.ts.map +1 -0
  299. package/lib/components/search-employer/search-employer.component.d.ts +5 -4
  300. package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
  301. package/lib/components/sms/sms.component.d.ts +63 -0
  302. package/lib/components/sms/sms.component.d.ts.map +1 -0
  303. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +1 -5
  304. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts.map +1 -1
  305. package/lib/components/user-login/user-login.component.d.ts +5 -38
  306. package/lib/components/user-login/user-login.component.d.ts.map +1 -1
  307. package/lib/components/wage-calculator/wage-calculator.component.d.ts +44 -0
  308. package/lib/components/wage-calculator/wage-calculator.component.d.ts.map +1 -0
  309. package/lib/components/wage-grid/wage-grid.component.d.ts +43 -0
  310. package/lib/components/wage-grid/wage-grid.component.d.ts.map +1 -0
  311. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts +28 -0
  312. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts.map +1 -0
  313. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts +28 -0
  314. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts.map +1 -0
  315. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +27 -10
  316. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -1
  317. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +9 -3
  318. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -1
  319. package/lib/components/weekly-certification/weekly-certification.component.d.ts +101 -0
  320. package/lib/components/weekly-certification/weekly-certification.component.d.ts.map +1 -0
  321. package/lib/components/weekly-confirmation/confirmation.component.d.ts +21 -0
  322. package/lib/components/weekly-confirmation/confirmation.component.d.ts.map +1 -0
  323. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts +34 -0
  324. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts.map +1 -0
  325. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts +17 -0
  326. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts.map +1 -0
  327. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts +10 -0
  328. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts.map +1 -0
  329. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts +17 -0
  330. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts.map +1 -0
  331. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts +105 -0
  332. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts.map +1 -0
  333. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts +71 -0
  334. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts.map +1 -0
  335. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts +59 -0
  336. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts.map +1 -0
  337. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts +47 -0
  338. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts.map +1 -0
  339. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts +78 -0
  340. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts.map +1 -0
  341. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts +8 -0
  342. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts.map +1 -0
  343. package/lib/enums/AddressValidationResponseEnum.d.ts +8 -0
  344. package/lib/enums/AddressValidationResponseEnum.d.ts.map +1 -0
  345. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts +4 -0
  346. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts.map +1 -0
  347. package/lib/guards/auth.guard.d.ts.map +1 -1
  348. package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts.map +1 -1
  349. package/lib/models/ActiveClaimModel.d.ts +8 -0
  350. package/lib/models/ActiveClaimModel.d.ts.map +1 -0
  351. package/lib/models/CountyModel.d.ts +8 -0
  352. package/lib/models/CountyModel.d.ts.map +1 -0
  353. package/lib/models/DuaAppDataModel.d.ts +5 -0
  354. package/lib/models/DuaAppDataModel.d.ts.map +1 -0
  355. package/lib/models/DuaRequestModel.d.ts +10 -0
  356. package/lib/models/DuaRequestModel.d.ts.map +1 -0
  357. package/lib/models/DuaRetroWeeksComponentModel.d.ts +5 -0
  358. package/lib/models/DuaRetroWeeksComponentModel.d.ts.map +1 -0
  359. package/lib/models/EmployerDetailSearchResult.d.ts +4 -1
  360. package/lib/models/EmployerDetailSearchResult.d.ts.map +1 -1
  361. package/lib/models/EmployerInfoComponentModel.d.ts +9 -0
  362. package/lib/models/EmployerInfoComponentModel.d.ts.map +1 -0
  363. package/lib/models/EmployerPayInfoModel.d.ts +20 -0
  364. package/lib/models/EmployerPayInfoModel.d.ts.map +1 -0
  365. package/lib/models/FarmUsageComponentModel.d.ts +10 -0
  366. package/lib/models/FarmUsageComponentModel.d.ts.map +1 -0
  367. package/lib/models/GrossEarningsModel.d.ts +6 -0
  368. package/lib/models/GrossEarningsModel.d.ts.map +1 -0
  369. package/lib/models/HelpConstants.d.ts +5 -0
  370. package/lib/models/HelpConstants.d.ts.map +1 -0
  371. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts +7 -0
  372. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts.map +1 -0
  373. package/lib/models/LibConstants.d.ts +40 -1
  374. package/lib/models/LibConstants.d.ts.map +1 -1
  375. package/lib/models/OtpAuthModel.d.ts +0 -1
  376. package/lib/models/OtpAuthModel.d.ts.map +1 -1
  377. package/lib/models/PaymentComponentModel.d.ts +1 -1
  378. package/lib/models/PaymentComponentModel.d.ts.map +1 -1
  379. package/lib/models/ReasonSeparationRequestModel.d.ts +7 -0
  380. package/lib/models/ReasonSeparationRequestModel.d.ts.map +1 -0
  381. package/lib/models/RetroWeeksModel.d.ts +11 -0
  382. package/lib/models/RetroWeeksModel.d.ts.map +1 -0
  383. package/lib/models/SecurityQuestionAnswerModel.d.ts +7 -0
  384. package/lib/models/SecurityQuestionAnswerModel.d.ts.map +1 -0
  385. package/lib/models/SendOtpRequestModel.d.ts +12 -0
  386. package/lib/models/SendOtpRequestModel.d.ts.map +1 -0
  387. package/lib/models/UserModel.d.ts +0 -1
  388. package/lib/models/UserModel.d.ts.map +1 -1
  389. package/lib/models/VerifyOtpRequestModel.d.ts +8 -0
  390. package/lib/models/VerifyOtpRequestModel.d.ts.map +1 -0
  391. package/lib/models/WageCalculatorModel.d.ts +15 -0
  392. package/lib/models/WageCalculatorModel.d.ts.map +1 -0
  393. package/lib/models/WageInfoModel.d.ts +9 -0
  394. package/lib/models/WageInfoModel.d.ts.map +1 -0
  395. package/lib/models/addressValidation/AddressRecommendationModel.d.ts +12 -0
  396. package/lib/models/addressValidation/AddressRecommendationModel.d.ts.map +1 -0
  397. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts +11 -0
  398. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts.map +1 -0
  399. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts +6 -0
  400. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts.map +1 -0
  401. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts +16 -0
  402. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts.map +1 -0
  403. package/lib/models/combo-model.d.ts +42 -0
  404. package/lib/models/combo-model.d.ts.map +1 -0
  405. package/lib/models/dashboard-model.d.ts +22 -0
  406. package/lib/models/dashboard-model.d.ts.map +1 -1
  407. package/lib/models/fileupload/DocUploadModel.d.ts +22 -0
  408. package/lib/models/fileupload/DocUploadModel.d.ts.map +1 -0
  409. package/lib/models/fileupload/EmployerDataModel.d.ts +6 -0
  410. package/lib/models/fileupload/EmployerDataModel.d.ts.map +1 -0
  411. package/lib/models/fileupload/FileObject.d.ts +8 -0
  412. package/lib/models/fileupload/FileObject.d.ts.map +1 -0
  413. package/lib/models/fileupload/FileObjectArray.d.ts +8 -0
  414. package/lib/models/fileupload/FileObjectArray.d.ts.map +1 -0
  415. package/lib/models/questionnaire/AppealParticipantModel.d.ts +17 -0
  416. package/lib/models/questionnaire/AppealParticipantModel.d.ts.map +1 -0
  417. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +3 -0
  418. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts.map +1 -1
  419. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +15 -4
  420. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts.map +1 -1
  421. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +4 -1
  422. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts.map +1 -1
  423. package/lib/models/questionnaire/ComboModel.d.ts +14 -82
  424. package/lib/models/questionnaire/ComboModel.d.ts.map +1 -1
  425. package/lib/models/questionnaire/ElementsModel.d.ts +0 -1
  426. package/lib/models/questionnaire/ElementsModel.d.ts.map +1 -1
  427. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +2 -0
  428. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts.map +1 -1
  429. package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts +0 -1
  430. package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts.map +1 -1
  431. package/lib/models/questionnaire/ScrollableTextModel.d.ts +4 -0
  432. package/lib/models/questionnaire/ScrollableTextModel.d.ts.map +1 -0
  433. package/lib/models/questionnaire/StatusModel.d.ts +1 -0
  434. package/lib/models/questionnaire/StatusModel.d.ts.map +1 -1
  435. package/lib/models/questionnaire/WbaHelperTextModel.d.ts +4 -0
  436. package/lib/models/questionnaire/WbaHelperTextModel.d.ts.map +1 -0
  437. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts +9 -0
  438. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts.map +1 -0
  439. package/lib/models/weekly-cert/address-detail-model.d.ts +14 -0
  440. package/lib/models/weekly-cert/address-detail-model.d.ts.map +1 -0
  441. package/lib/models/weekly-cert/admin-leave-details-model.d.ts +15 -0
  442. package/lib/models/weekly-cert/admin-leave-details-model.d.ts.map +1 -0
  443. package/lib/models/weekly-cert/employer-info-v2-model.d.ts +27 -0
  444. package/lib/models/weekly-cert/employer-info-v2-model.d.ts.map +1 -0
  445. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts +57 -0
  446. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts.map +1 -0
  447. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts +59 -0
  448. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts.map +1 -0
  449. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts +66 -0
  450. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts.map +1 -0
  451. package/lib/models/weekly-cert/work-search-v2-model.d.ts +18 -0
  452. package/lib/models/weekly-cert/work-search-v2-model.d.ts.map +1 -0
  453. package/lib/ngx-reusa-app-lib.module.d.ts +124 -86
  454. package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
  455. package/lib/pages/BasePage.d.ts +3 -6
  456. package/lib/pages/BasePage.d.ts.map +1 -1
  457. package/lib/pages/common/change-password/change-password.page.d.ts +3 -0
  458. package/lib/pages/common/change-password/change-password.page.d.ts.map +1 -1
  459. package/lib/pages/common/login/login.component.d.ts.map +1 -1
  460. package/lib/pages/popovers/language/language.page.d.ts.map +1 -1
  461. package/lib/pages/popovers/my-profile/my-profile.page.d.ts.map +1 -1
  462. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts +14 -0
  463. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts.map +1 -0
  464. package/lib/services/address-validation-service/address-validation.service.d.ts +44 -0
  465. package/lib/services/address-validation-service/address-validation.service.d.ts.map +1 -0
  466. package/lib/services/appeal/appeal.service.d.ts +16 -0
  467. package/lib/services/appeal/appeal.service.d.ts.map +1 -0
  468. package/lib/services/base-service.d.ts +12 -0
  469. package/lib/services/base-service.d.ts.map +1 -1
  470. package/lib/services/birt-service/birt.service.d.ts +17 -0
  471. package/lib/services/birt-service/birt.service.d.ts.map +1 -0
  472. package/lib/services/claimant-service/claimant.service.d.ts +5 -6
  473. package/lib/services/claimant-service/claimant.service.d.ts.map +1 -1
  474. package/lib/services/claims/claims.service.d.ts +39 -5
  475. package/lib/services/claims/claims.service.d.ts.map +1 -1
  476. package/lib/services/employer/employer-service.d.ts +16 -0
  477. package/lib/services/employer/employer-service.d.ts.map +1 -0
  478. package/lib/services/event-service/event-service.d.ts +20 -0
  479. package/lib/services/event-service/event-service.d.ts.map +1 -0
  480. package/lib/services/login/login.service.d.ts +5 -3
  481. package/lib/services/login/login.service.d.ts.map +1 -1
  482. package/lib/services/offline-claims/offline-claims.service.d.ts +64 -0
  483. package/lib/services/offline-claims/offline-claims.service.d.ts.map +1 -0
  484. package/lib/services/questionnaire/questionnaire.service.d.ts +1 -0
  485. package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -1
  486. package/lib/services/questionnaire/validation.service.d.ts +3 -0
  487. package/lib/services/questionnaire/validation.service.d.ts.map +1 -1
  488. package/lib/services/security-service/security.service.d.ts +12 -4
  489. package/lib/services/security-service/security.service.d.ts.map +1 -1
  490. package/lib/services/util/util.service.d.ts +6 -0
  491. package/lib/services/util/util.service.d.ts.map +1 -1
  492. package/lib/services/weekly-cert/review.service.d.ts +23 -0
  493. package/lib/services/weekly-cert/review.service.d.ts.map +1 -0
  494. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +47 -5
  495. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -1
  496. package/lib/services/weekly-cert/weekly-cert.service.d.ts +17 -0
  497. package/lib/services/weekly-cert/weekly-cert.service.d.ts.map +1 -0
  498. package/lib/services/weekly-cert/work-search.service.d.ts +26 -0
  499. package/lib/services/weekly-cert/work-search.service.d.ts.map +1 -0
  500. package/lib/validations/AppRegex.d.ts +0 -2
  501. package/lib/validations/AppRegex.d.ts.map +1 -1
  502. package/lib/validations/AppValidators.d.ts +20 -24
  503. package/lib/validations/AppValidators.d.ts.map +1 -1
  504. package/package.json +2 -2
  505. package/public-api.d.ts +46 -4
  506. package/public-api.d.ts.map +1 -1
  507. package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +0 -402
  508. package/esm2022/lib/components/mfa2/mfa2.component.mjs +0 -285
  509. package/esm2022/lib/components/security-question/security-question.component.mjs +0 -199
  510. package/esm2022/lib/models/LexisNexisAccountCreationModel.mjs +0 -2
  511. package/esm2022/lib/models/LexisNexisAuthSelectionRequestModel.mjs +0 -2
  512. package/esm2022/lib/models/LexisNexisAuthSelectionResponseModel.mjs +0 -2
  513. package/esm2022/lib/models/LexisNexisEnabledResponseModel.mjs +0 -2
  514. package/esm2022/lib/models/LexisNexisResponseModel.mjs +0 -3
  515. package/esm2022/lib/models/PartialEmploymentModel.mjs +0 -3
  516. package/esm2022/lib/models/SecurityQuestionModel.mjs +0 -3
  517. package/esm2022/lib/services/claimant-service/claimant-usps-redirect.service.mjs +0 -36
  518. package/esm2022/lib/services/lexis-nexis/lexis.nexis.service.mjs +0 -60
  519. package/esm2022/lib/services/ovp/ovp.service.mjs +0 -43
  520. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts +0 -59
  521. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts.map +0 -1
  522. package/lib/components/mfa2/mfa2.component.d.ts +0 -48
  523. package/lib/components/mfa2/mfa2.component.d.ts.map +0 -1
  524. package/lib/components/security-question/security-question.component.d.ts +0 -37
  525. package/lib/components/security-question/security-question.component.d.ts.map +0 -1
  526. package/lib/models/LexisNexisAccountCreationModel.d.ts +0 -15
  527. package/lib/models/LexisNexisAccountCreationModel.d.ts.map +0 -1
  528. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts +0 -16
  529. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts.map +0 -1
  530. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts +0 -39
  531. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts.map +0 -1
  532. package/lib/models/LexisNexisEnabledResponseModel.d.ts +0 -5
  533. package/lib/models/LexisNexisEnabledResponseModel.d.ts.map +0 -1
  534. package/lib/models/LexisNexisResponseModel.d.ts +0 -7
  535. package/lib/models/LexisNexisResponseModel.d.ts.map +0 -1
  536. package/lib/models/PartialEmploymentModel.d.ts +0 -6
  537. package/lib/models/PartialEmploymentModel.d.ts.map +0 -1
  538. package/lib/models/SecurityQuestionModel.d.ts +0 -7
  539. package/lib/models/SecurityQuestionModel.d.ts.map +0 -1
  540. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts +0 -16
  541. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts.map +0 -1
  542. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts +0 -26
  543. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts.map +0 -1
  544. package/lib/services/ovp/ovp.service.d.ts +0 -17
  545. package/lib/services/ovp/ovp.service.d.ts.map +0 -1
@@ -0,0 +1,258 @@
1
+ import { Component, forwardRef, ViewChild } from '@angular/core';
2
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';
3
+ import { AppRegex } from '../../validations/AppRegex';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/forms";
6
+ import * as i2 from "../../services/util/util.service";
7
+ import * as i3 from "@ionic/angular";
8
+ import * as i4 from "primeng/password";
9
+ import * as i5 from "primeng/inputtext";
10
+ import * as i6 from "primeng/selectbutton";
11
+ import * as i7 from "../error/error.component";
12
+ import * as i8 from "../overlay-info/overlay-info.component";
13
+ import * as i9 from "@ngx-translate/core";
14
+ const _c0 = ["bankDetailsFormDirective"];
15
+ const _c1 = () => ({ required: "required.", pattern: "please enter only letters" });
16
+ const _c2 = () => ({ required: "required." });
17
+ const _c3 = () => ({ required: "required.", hasRouting: "Must be at least 9 digits.", isRoutingNumberNotValid: "Invalid routing number." });
18
+ const _c4 = () => ({ required: "required.", pattern: "enter only numbers.", hasNumber: "valid number", maxlength: "cannot exceed 17 characters" });
19
+ const _c5 = "Account Number and Re-enter Account Number should match";
20
+ const _c6 = () => ({ required: "required.", pattern: "enter only numbers.", accountNumbeComparision: _c5, maxlength: "cannot exceed 17 characters" });
21
+ export class OfflineBankDetailsComponent {
22
+ constructor(formBuilder, util) {
23
+ this.formBuilder = formBuilder;
24
+ this.util = util;
25
+ this.routingNumberValidators = [
26
+ Validators.minLength(9),
27
+ Validators.maxLength(9),
28
+ Validators.required
29
+ ];
30
+ this.onTouched = () => { };
31
+ this.onChangeSubs = [];
32
+ this.accountTypeOptions = [
33
+ { text: 'checking', value: 'CHEC' },
34
+ { text: 'savings', value: 'SAVE' },
35
+ ];
36
+ }
37
+ ngOnInit() {
38
+ this.bankDetailsForm = this.formBuilder.group({
39
+ 'nameOnAccount': [null, Validators.compose([Validators.required, Validators.pattern(AppRegex.NAME_REGEX)])],
40
+ 'accountType': [null, Validators.required],
41
+ 'routingNumber': [null, Validators.compose([Validators.required, Validators.pattern(/^[0-9]{9}$/)])],
42
+ // 'bankName': [null],
43
+ 'accountNumber': [null, Validators.compose([Validators.required, Validators.pattern(AppRegex.ACCOUNT_NUMBER_REGEX), Validators.maxLength(17)])],
44
+ 'reEnterAccountNumber': [null, Validators.compose([Validators.required, Validators.pattern(AppRegex.ACCOUNT_NUMBER_REGEX), Validators.maxLength(17)])]
45
+ });
46
+ this.setAccountNumberValidator();
47
+ }
48
+ submit() {
49
+ if (this.bankDetailsFormDirective) {
50
+ this.bankDetailsFormDirective.onSubmit(undefined);
51
+ }
52
+ }
53
+ setAccountNumberValidator() {
54
+ const ROUTING_NUMBER_9_DIGIT = /^[0-9]{9}$/;
55
+ // Overwrite routingNumber validators with only a 9-digit check
56
+ this.util.setValidation(this.routingNumber, [
57
+ Validators.required,
58
+ Validators.pattern(ROUTING_NUMBER_9_DIGIT)
59
+ ]);
60
+ // Remove the custom AppValidator (this is what's causing issues)
61
+ // this.util.setValidation(this.routingNumber, AppValidators.isValidRoutingNumber); ←❌ remove this
62
+ this.reEnterAccountNumber.valueChanges.subscribe(() => {
63
+ if (this.accountNumber?.value !== this.reEnterAccountNumber.value) {
64
+ this.reEnterAccountNumber.setErrors({ accountNumbeComparision: true });
65
+ }
66
+ });
67
+ }
68
+ // setAccountNumberValidator() {
69
+ // let validators1: ValidatorFn[] = [];
70
+ // let isRoutingNumberNotValid: boolean;
71
+ // this.routingNumberValidators.forEach(v => validators1.push(v));
72
+ // const ROUTING_NUMBER:RegExp = /^[0-4]{1}[0-9]{8}$/;
73
+ // this.util.setValidation(this.routingNumber, validators1);
74
+ // this.util.setValidation(this.routingNumber, AppValidators.isValidRoutingNumber);
75
+ // this.reEnterAccountNumber.valueChanges.subscribe(val => {
76
+ // if (this.accountNumber && (this.accountNumber.value != this.reEnterAccountNumber.value)) {
77
+ // this.bankDetailsForm.controls['reEnterAccountNumber'].setErrors({ accountNumbeComparision: true });
78
+ // return { accountNumbeComparision: true };
79
+ // }
80
+ // });
81
+ // this.routingNumber.valueChanges.subscribe(val => {
82
+ // const valid1 = ROUTING_NUMBER.test(this.routingNumber.value);
83
+ // if (!valid1) {
84
+ // this.bankDetailsForm.controls['routingNumber'].setErrors({ hasRouting: true });
85
+ // return { hasRouting: true };
86
+ // }
87
+ // });
88
+ // }
89
+ get nameOnAccount() {
90
+ return this.bankDetailsForm.controls['nameOnAccount'];
91
+ }
92
+ get accountType() {
93
+ return this.bankDetailsForm.controls['accountType'];
94
+ }
95
+ get routingNumber() {
96
+ return this.bankDetailsForm.controls['routingNumber'];
97
+ }
98
+ get accountNumber() {
99
+ return this.bankDetailsForm.controls['accountNumber'];
100
+ }
101
+ // get bankNameControl() {
102
+ // return this.bankDetailsForm.controls['bankName'];
103
+ // }
104
+ get reEnterAccountNumber() {
105
+ return this.bankDetailsForm.controls['reEnterAccountNumber'];
106
+ }
107
+ ngOnDestroy() {
108
+ for (let sub of this.onChangeSubs) {
109
+ sub.unsubscribe();
110
+ }
111
+ }
112
+ registerOnChange(onChange) {
113
+ const sub = this.bankDetailsForm.valueChanges.subscribe(onChange);
114
+ this.onChangeSubs.push(sub);
115
+ }
116
+ registerOnTouched(onTouched) {
117
+ this.onTouched = onTouched;
118
+ }
119
+ setDisabledState(disabled) {
120
+ if (disabled) {
121
+ this.bankDetailsForm.disable();
122
+ }
123
+ else {
124
+ this.bankDetailsForm.enable();
125
+ }
126
+ }
127
+ writeValue(value) {
128
+ if (value) {
129
+ this.bankDetailsForm.setValue(value, { emitEvent: false });
130
+ }
131
+ }
132
+ validate(control) {
133
+ if (this.bankDetailsForm.valid) {
134
+ return null;
135
+ }
136
+ }
137
+ static { this.ɵfac = function OfflineBankDetailsComponent_Factory(t) { return new (t || OfflineBankDetailsComponent)(i0.ɵɵdirectiveInject(i1.UntypedFormBuilder), i0.ɵɵdirectiveInject(i2.UtilService)); }; }
138
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: OfflineBankDetailsComponent, selectors: [["app-offline-bank-details"]], viewQuery: function OfflineBankDetailsComponent_Query(rf, ctx) { if (rf & 1) {
139
+ i0.ɵɵviewQuery(_c0, 5);
140
+ } if (rf & 2) {
141
+ let _t;
142
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.bankDetailsFormDirective = _t.first);
143
+ } }, features: [i0.ɵɵProvidersFeature([{
144
+ provide: NG_VALUE_ACCESSOR,
145
+ useExisting: forwardRef(() => OfflineBankDetailsComponent),
146
+ multi: true
147
+ },
148
+ {
149
+ provide: NG_VALIDATORS,
150
+ multi: true,
151
+ useExisting: forwardRef(() => OfflineBankDetailsComponent),
152
+ }])], decls: 63, vars: 59, consts: [[2, "margin-bottom", "0px", "margin-left", "0px", "margin-top", "6px", 3, "formGroup"], ["bankDetailsFormDirective", "ngForm"], [2, "padding", "0px"], [1, "p-formgrid"], [1, "field"], ["for", ""], ["id", "nameOnAccount", "type", "text", "pInputText", "", "maxlength", "30", 3, "formControl"], [3, "field", "form", "errDef"], [2, "display", "inline-flex"], ["optionLabel", "text", "optionValue", "value", 3, "options", "formControl", "multiple"], [2, "padding-left", "8px"], [1, "heading"], [1, "overlay-subheading", "ion-padding-top"], [1, "overlay-desc", "ion-padding-top"], ["alt", "check image", "src", "assets/icon/check1.png", 1, "ion-padding-top"], [1, "col"], ["for", "routingNumber"], ["id", "routingNumber", "type", "input", "pInputText", "", "maxlength", "9", 3, "formControl"], ["for", "accountNumber"], ["id", "accountNumber", 3, "formControl", "maxlength", "feedback", "toggleMask"], ["for", "reEnterAccountNumber"], ["id", "reEnterAccountNumber", 3, "formControl", "maxlength", "feedback", "toggleMask"]], template: function OfflineBankDetailsComponent_Template(rf, ctx) { if (rf & 1) {
153
+ i0.ɵɵelementStart(0, "form", 0, 1)(2, "ion-grid", 2)(3, "div", 3)(4, "div", 4)(5, "label", 5);
154
+ i0.ɵɵtext(6);
155
+ i0.ɵɵpipe(7, "translate");
156
+ i0.ɵɵelementEnd();
157
+ i0.ɵɵelement(8, "br")(9, "input", 6)(10, "br")(11, "app-error", 7);
158
+ i0.ɵɵelementEnd();
159
+ i0.ɵɵelementStart(12, "div", 4)(13, "label", 5);
160
+ i0.ɵɵtext(14);
161
+ i0.ɵɵpipe(15, "translate");
162
+ i0.ɵɵelementEnd();
163
+ i0.ɵɵelement(16, "br");
164
+ i0.ɵɵelementStart(17, "div", 8)(18, "div");
165
+ i0.ɵɵelement(19, "p-selectButton", 9)(20, "app-error", 7);
166
+ i0.ɵɵelementEnd();
167
+ i0.ɵɵelementStart(21, "div", 10)(22, "app-overlay-info")(23, "div", 11);
168
+ i0.ɵɵtext(24, "Banking numbers");
169
+ i0.ɵɵelementEnd();
170
+ i0.ɵɵelementStart(25, "div", 12);
171
+ i0.ɵɵtext(26, "Checking Account");
172
+ i0.ɵɵelementEnd();
173
+ i0.ɵɵelementStart(27, "div", 13);
174
+ i0.ɵɵtext(28, " Find your bank's routing number and your account number on the bottom of your personal checks. ");
175
+ i0.ɵɵelementEnd();
176
+ i0.ɵɵelement(29, "img", 14);
177
+ i0.ɵɵelementStart(30, "div", 12);
178
+ i0.ɵɵtext(31, "Savings Account");
179
+ i0.ɵɵelementEnd();
180
+ i0.ɵɵelementStart(32, "div", 13);
181
+ i0.ɵɵtext(33, " If you prefer direct deposit into a saving account and don't have a checking account with the same bank, call your bank to get the routing number. If you have a checking account at the same bank, the routing number is the same, but the account number is different. ");
182
+ i0.ɵɵelementEnd()()()()();
183
+ i0.ɵɵelementStart(34, "ion-row")(35, "ion-col", 15)(36, "div", 4)(37, "label", 16);
184
+ i0.ɵɵtext(38);
185
+ i0.ɵɵpipe(39, "translate");
186
+ i0.ɵɵelementEnd();
187
+ i0.ɵɵelement(40, "br")(41, "input", 17)(42, "br")(43, "app-error", 7);
188
+ i0.ɵɵelementEnd()()();
189
+ i0.ɵɵelementStart(44, "ion-row")(45, "ion-col", 15)(46, "div", 4)(47, "label", 18);
190
+ i0.ɵɵtext(48);
191
+ i0.ɵɵpipe(49, "translate");
192
+ i0.ɵɵelementEnd();
193
+ i0.ɵɵelement(50, "br")(51, "p-password", 19)(52, "br")(53, "app-error", 7);
194
+ i0.ɵɵelementEnd()();
195
+ i0.ɵɵelementStart(54, "ion-col", 15)(55, "div", 4)(56, "label", 20);
196
+ i0.ɵɵtext(57);
197
+ i0.ɵɵpipe(58, "translate");
198
+ i0.ɵɵelementEnd();
199
+ i0.ɵɵelement(59, "br")(60, "p-password", 21)(61, "br")(62, "app-error", 7);
200
+ i0.ɵɵelementEnd()()()()()();
201
+ } if (rf & 2) {
202
+ const _r0 = i0.ɵɵreference(1);
203
+ i0.ɵɵproperty("formGroup", ctx.bankDetailsForm);
204
+ i0.ɵɵadvance(6);
205
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7, 44, "Name on Account"));
206
+ i0.ɵɵadvance(3);
207
+ i0.ɵɵproperty("formControl", ctx.nameOnAccount);
208
+ i0.ɵɵadvance(2);
209
+ i0.ɵɵclassMap("app-grid");
210
+ i0.ɵɵproperty("field", ctx.nameOnAccount)("form", _r0)("errDef", i0.ɵɵpureFunction0(54, _c1));
211
+ i0.ɵɵadvance(3);
212
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(15, 46, "Account Type"));
213
+ i0.ɵɵadvance(5);
214
+ i0.ɵɵproperty("options", ctx.accountTypeOptions)("formControl", ctx.accountType)("multiple", false);
215
+ i0.ɵɵadvance(1);
216
+ i0.ɵɵclassMap("app-grid");
217
+ i0.ɵɵproperty("field", ctx.accountType)("form", _r0)("errDef", i0.ɵɵpureFunction0(55, _c2));
218
+ i0.ɵɵadvance(18);
219
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(39, 48, "Routing Number"));
220
+ i0.ɵɵadvance(3);
221
+ i0.ɵɵproperty("formControl", ctx.routingNumber);
222
+ i0.ɵɵadvance(2);
223
+ i0.ɵɵclassMap("app-grid");
224
+ i0.ɵɵproperty("field", ctx.routingNumber)("form", _r0)("errDef", i0.ɵɵpureFunction0(56, _c3));
225
+ i0.ɵɵadvance(5);
226
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(49, 50, "Account Number"));
227
+ i0.ɵɵadvance(3);
228
+ i0.ɵɵproperty("formControl", ctx.accountNumber)("maxlength", 17)("feedback", false)("toggleMask", true);
229
+ i0.ɵɵadvance(2);
230
+ i0.ɵɵclassMap("app-grid");
231
+ i0.ɵɵproperty("field", ctx.accountNumber)("form", _r0)("errDef", i0.ɵɵpureFunction0(57, _c4));
232
+ i0.ɵɵadvance(4);
233
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(58, 52, "Re-enter Account"));
234
+ i0.ɵɵadvance(3);
235
+ i0.ɵɵproperty("formControl", ctx.reEnterAccountNumber)("maxlength", 17)("feedback", false)("toggleMask", true);
236
+ i0.ɵɵadvance(2);
237
+ i0.ɵɵclassMap("app-grid");
238
+ i0.ɵɵproperty("field", ctx.reEnterAccountNumber)("form", _r0)("errDef", i0.ɵɵpureFunction0(58, _c6));
239
+ } }, dependencies: [i3.IonCol, i3.IonGrid, i3.IonRow, i1.ɵNgNoValidate, i1.DefaultValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i1.MaxLengthValidator, i1.FormControlDirective, i1.FormGroupDirective, i4.Password, i5.InputText, i6.SelectButton, i7.ErrorComponent, i8.OverlayInfoComponent, i9.TranslatePipe], styles: [".col[_ngcontent-%COMP%]{padding-left:0;padding-top:0;padding-bottom:0;max-width:-moz-fit-content;max-width:fit-content}.form-lbl[_ngcontent-%COMP%]{padding-bottom:6px}.inline-flex[_ngcontent-%COMP%]{display:inline-flex}"] }); }
240
+ }
241
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OfflineBankDetailsComponent, [{
242
+ type: Component,
243
+ args: [{ selector: 'app-offline-bank-details', providers: [{
244
+ provide: NG_VALUE_ACCESSOR,
245
+ useExisting: forwardRef(() => OfflineBankDetailsComponent),
246
+ multi: true
247
+ },
248
+ {
249
+ provide: NG_VALIDATORS,
250
+ multi: true,
251
+ useExisting: forwardRef(() => OfflineBankDetailsComponent),
252
+ }], template: "<form [formGroup]=\"bankDetailsForm\" #bankDetailsFormDirective=\"ngForm\" style=\"margin-bottom: 0px; margin-left: 0px; margin-top: 6px;\">\r\n <ion-grid style=\"padding: 0px;\">\r\n <div class=\"p-formgrid\">\r\n <div class=\"field\">\r\n <label for=\"\">{{'Name on Account' | translate}}</label><br/>\r\n <input id=\"nameOnAccount\" type=\"text\" pInputText [formControl]=\"nameOnAccount\" maxlength=\"30\"/> \r\n <br/>\r\n <app-error [class]=\"'app-grid'\" [field]='nameOnAccount' [form]=\"bankDetailsFormDirective\"\r\n [errDef]=\"{ \r\n required: 'required.',\r\n pattern: 'please enter only letters'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\">\r\n <label for=\"\">{{'Account Type' | translate}}</label><br/>\r\n <div style=\"display: inline-flex;\">\r\n <div>\r\n <p-selectButton [options]=\"accountTypeOptions\" [formControl]=\"accountType\" [multiple]=false\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='accountType' [form]=\"bankDetailsFormDirective\"\r\n [errDef]=\"{required: 'required.'}\"></app-error>\r\n </div>\r\n <div style=\"flex-grow: 1;\" style=\"padding-left: 8px\">\r\n <app-overlay-info>\r\n <div class=\"heading\">Banking numbers</div>\r\n <div class=\"overlay-subheading ion-padding-top\">Checking Account</div>\r\n <div class=\"overlay-desc ion-padding-top\">\r\n Find your bank's routing number and your account number on the bottom of your personal checks.\r\n </div>\r\n <img alt=\"check image\" src=\"assets/icon/check1.png\" class=\"ion-padding-top\"/>\r\n <div class=\"overlay-subheading ion-padding-top\">Savings Account</div>\r\n <div class=\"overlay-desc ion-padding-top\">\r\n If you prefer direct deposit into a saving account and don't have a checking account with the same bank, call your bank to get the routing number. If you have a checking account at the same bank, the routing number is the same, but the account number is different.\r\n </div>\r\n </app-overlay-info>\r\n </div>\r\n </div>\r\n </div>\r\n <ion-row>\r\n <ion-col class=\"col\">\r\n <div class=\"field\">\r\n <label for=\"routingNumber\">{{'Routing Number' | translate}}</label><br/>\r\n <input id=\"routingNumber\" type=\"input\" pInputText [formControl]=\"routingNumber\" maxlength=\"9\"/>\r\n <br/>\r\n <app-error [class]=\"'app-grid'\" [field]='routingNumber' [form]=\"bankDetailsFormDirective\"\r\n [errDef]=\"{ \r\n required: 'required.',\r\n hasRouting:'Must be at least 9 digits.',\r\n isRoutingNumberNotValid: 'Invalid routing number.'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row>\r\n <ion-col class=\"col\">\r\n <div class=\"field\">\r\n <label for=\"accountNumber\">{{'Account Number' | translate}}</label><br/>\r\n <p-password id=\"accountNumber\" [formControl]=\"accountNumber\" [maxlength]=\"17\"\r\n [feedback]=\"false\" [toggleMask]=\"true\"></p-password><br/>\r\n <app-error [class]=\"'app-grid'\" [field]='accountNumber' [form]=\"bankDetailsFormDirective\"\r\n [errDef]=\"{ \r\n required: 'required.',\r\n pattern: 'enter only numbers.',\r\n hasNumber: 'valid number',\r\n maxlength: 'cannot exceed 17 characters'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col class=\"col\">\r\n <div class=\"field\">\r\n <label for=\"reEnterAccountNumber\">{{'Re-enter Account' | translate}}</label><br/>\r\n <p-password id=\"reEnterAccountNumber\" [formControl]=\"reEnterAccountNumber\" [maxlength]=\"17\"\r\n [feedback]=\"false\" [toggleMask]=\"true\"></p-password><br/>\r\n <app-error [class]=\"'app-grid'\" [field]='reEnterAccountNumber' [form]=\"bankDetailsFormDirective\"\r\n [errDef]=\"{ \r\n required: 'required.',\r\n pattern: 'enter only numbers.',\r\n accountNumbeComparision:'Account Number and Re-enter Account Number should match',\r\n maxlength: 'cannot exceed 17 characters'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n </ion-grid>\r\n</form>", styles: [".col{padding-left:0;padding-top:0;padding-bottom:0;max-width:-moz-fit-content;max-width:fit-content}.form-lbl{padding-bottom:6px}.inline-flex{display:inline-flex}\n"] }]
253
+ }], () => [{ type: i1.UntypedFormBuilder }, { type: i2.UtilService }], { bankDetailsFormDirective: [{
254
+ type: ViewChild,
255
+ args: ['bankDetailsFormDirective', { static: false }]
256
+ }] }); })();
257
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(OfflineBankDetailsComponent, { className: "OfflineBankDetailsComponent", filePath: "lib\\components\\offline-bank-details\\offline-bank-details.component.ts", lineNumber: 23 }); })();
258
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmbGluZS1iYW5rLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9jb21wb25lbnRzL29mZmxpbmUtYmFuay1kZXRhaWxzL29mZmxpbmUtYmFuay1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9vZmZsaW5lLWJhbmstZGV0YWlscy9vZmZsaW5lLWJhbmstZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBdUYsYUFBYSxFQUFFLGlCQUFpQixFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUkzTCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlCdEQsTUFBTSxPQUFPLDJCQUEyQjtJQWV0QyxZQUFtQixXQUErQixFQUFRLElBQWtCO1FBQXpELGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUFRLFNBQUksR0FBSixJQUFJLENBQWM7UUFONUUsNEJBQXVCLEdBQW1CO1lBQ3hDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLFVBQVUsQ0FBQyxRQUFRO1NBQ3BCLENBQUM7UUE2RkYsY0FBUyxHQUFhLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVoQyxpQkFBWSxHQUFtQixFQUFFLENBQUM7UUEzRmhDLElBQUksQ0FBQyxrQkFBa0IsR0FBRztZQUN4QixFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsS0FB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LENBQUMsR0FBRyxFQUFFLDRCQUE0QixDQUFDO3dCQUMxRCxLQUFLLEVBQUUsSUFBSTtxQkFDWjtvQkFDRDt3QkFDRSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsNEJBQTRCLENBQUM7cUJBQzNELENBQUM7NkVBS0ssd0JBQXdCO2tCQUQ5QixTQUFTO21CQUFDLDBCQUEwQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs7a0ZBRjdDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBOZ0Zvcm0sIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0b3IsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcFZhbGlkYXRvcnMgfSBmcm9tICcuLi8uLi92YWxpZGF0aW9ucy9BcHBWYWxpZGF0b3JzJztcbmltcG9ydCB7IEFwcFJlZ2V4IH0gZnJvbSAnLi4vLi4vdmFsaWRhdGlvbnMvQXBwUmVnZXgnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtb2ZmbGluZS1iYW5rLWRldGFpbHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vb2ZmbGluZS1iYW5rLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vZmZsaW5lLWJhbmstZGV0YWlscy5jb21wb25lbnQuY3NzJ10sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBPZmZsaW5lQmFua0RldGFpbHNDb21wb25lbnQpLFxuICAgIG11bHRpOiB0cnVlXG4gIH0sXG4gIHtcbiAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgIG11bHRpOiB0cnVlLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE9mZmxpbmVCYW5rRGV0YWlsc0NvbXBvbmVudCksXG4gIH1dLFxufSlcbmV4cG9ydCBjbGFzcyBPZmZsaW5lQmFua0RldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkRlc3Ryb3ksIFZhbGlkYXRvciB7XG5cbiAgQFZpZXdDaGlsZCgnYmFua0RldGFpbHNGb3JtRGlyZWN0aXZlJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHB1YmxpYyBiYW5rRGV0YWlsc0Zvcm1EaXJlY3RpdmU6IE5nRm9ybTtcblxuICBwdWJsaWMgYmFua0RldGFpbHNGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBhY2NvdW50VHlwZU9wdGlvbnM6IGFueVtdO1xuXG4gIFxuICByb3V0aW5nTnVtYmVyVmFsaWRhdG9ycyA6IFZhbGlkYXRvckZuW10gPSBbXG4gICAgVmFsaWRhdG9ycy5taW5MZW5ndGgoOSksIFxuICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDkpLCBcbiAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXG4gIF07XG5cbiAgY29uc3RydWN0b3IocHVibGljIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIscHVibGljIHV0aWwgOiBVdGlsU2VydmljZSwpIFxuICB7IFxuICAgIHRoaXMuYWNjb3VudFR5cGVPcHRpb25zID0gW1xuICAgICAgeyB0ZXh0OiAnY2hlY2tpbmcnLCB2YWx1ZTogJ0NIRUMnIH0sXG4gICAgICB7IHRleHQ6ICdzYXZpbmdzJywgdmFsdWU6ICdTQVZFJyB9LFxuICAgIF07XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmJhbmtEZXRhaWxzRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgJ25hbWVPbkFjY291bnQnOiBbbnVsbCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLnBhdHRlcm4oQXBwUmVnZXguTkFNRV9SRUdFWCldKV0sXG4gICAgICAnYWNjb3VudFR5cGUnOiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAncm91dGluZ051bWJlcic6IFtudWxsLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMucGF0dGVybigvXlswLTldezl9JC8pXSldLFxuICAgICAgLy8gJ2JhbmtOYW1lJzogW251bGxdLFxuICAgICAgJ2FjY291bnROdW1iZXInOiBbbnVsbCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLnBhdHRlcm4oQXBwUmVnZXguQUNDT1VOVF9OVU1CRVJfUkVHRVgpLCBWYWxpZGF0b3JzLm1heExlbmd0aCgxNyldKV0sXG4gICAgICAncmVFbnRlckFjY291bnROdW1iZXInOiBbbnVsbCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLnBhdHRlcm4oQXBwUmVnZXguQUNDT1VOVF9OVU1CRVJfUkVHRVgpLCBWYWxpZGF0b3JzLm1heExlbmd0aCgxNyldKV1cbiAgICB9KTtcblxuICAgIHRoaXMuc2V0QWNjb3VudE51bWJlclZhbGlkYXRvcigpO1xuICB9XG5cbiAgc3VibWl0KCl7XG4gICAgaWYodGhpcy5iYW5rRGV0YWlsc0Zvcm1EaXJlY3RpdmUpe1xuICAgICAgdGhpcy5iYW5rRGV0YWlsc0Zvcm1EaXJlY3RpdmUub25TdWJtaXQodW5kZWZpbmVkKTtcbiAgICB9XG4gIH1cblxuICBzZXRBY2NvdW50TnVtYmVyVmFsaWRhdG9yKCkge1xuICAgIGNvbnN0IFJPVVRJTkdfTlVNQkVSXzlfRElHSVQ6IFJlZ0V4cCA9IC9eWzAtOV17OX0kLztcbiAgXG4gICAgLy8gT3ZlcndyaXRlIHJvdXRpbmdOdW1iZXIgdmFsaWRhdG9ycyB3aXRoIG9ubHkgYSA5LWRpZ2l0IGNoZWNrXG4gICAgdGhpcy51dGlsLnNldFZhbGlkYXRpb24odGhpcy5yb3V0aW5nTnVtYmVyLCBbXG4gICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKFJPVVRJTkdfTlVNQkVSXzlfRElHSVQpXG4gICAgXSk7XG4gIFxuICAgIC8vIFJlbW92ZSB0aGUgY3VzdG9tIEFwcFZhbGlkYXRvciAodGhpcyBpcyB3aGF0J3MgY2F1c2luZyBpc3N1ZXMpXG4gICAgLy8gdGhpcy51dGlsLnNldFZhbGlkYXRpb24odGhpcy5yb3V0aW5nTnVtYmVyLCBBcHBWYWxpZGF0b3JzLmlzVmFsaWRSb3V0aW5nTnVtYmVyKTsg4oaQ4p2MIHJlbW92ZSB0aGlzXG4gIFxuICAgIHRoaXMucmVFbnRlckFjY291bnROdW1iZXIudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5hY2NvdW50TnVtYmVyPy52YWx1ZSAhPT0gdGhpcy5yZUVudGVyQWNjb3VudE51bWJlci52YWx1ZSkge1xuICAgICAgICB0aGlzLnJlRW50ZXJBY2NvdW50TnVtYmVyLnNldEVycm9ycyh7IGFjY291bnROdW1iZUNvbXBhcmlzaW9uOiB0cnVlIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIFxuXG4gIC8vIHNldEFjY291bnROdW1iZXJWYWxpZGF0b3IoKSB7XG4gIC8vICAgbGV0IHZhbGlkYXRvcnMxOiBWYWxpZGF0b3JGbltdID0gW107XG4gIC8vICAgbGV0IGlzUm91dGluZ051bWJlck5vdFZhbGlkOiBib29sZWFuO1xuICAvLyAgIHRoaXMucm91dGluZ051bWJlclZhbGlkYXRvcnMuZm9yRWFjaCh2ID0+IHZhbGlkYXRvcnMxLnB1c2godikpO1xuICAvLyAgIGNvbnN0IFJPVVRJTkdfTlVNQkVSOlJlZ0V4cCA9IC9eWzAtNF17MX1bMC05XXs4fSQvO1xuICAvLyAgIHRoaXMudXRpbC5zZXRWYWxpZGF0aW9uKHRoaXMucm91dGluZ051bWJlciwgdmFsaWRhdG9yczEpO1xuICAgIFxuICAvLyAgIHRoaXMudXRpbC5zZXRWYWxpZGF0aW9uKHRoaXMucm91dGluZ051bWJlciwgQXBwVmFsaWRhdG9ycy5pc1ZhbGlkUm91dGluZ051bWJlcik7XG5cbiAgLy8gICB0aGlzLnJlRW50ZXJBY2NvdW50TnVtYmVyLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcbiAgLy8gICAgIGlmICh0aGlzLmFjY291bnROdW1iZXIgJiYgKHRoaXMuYWNjb3VudE51bWJlci52YWx1ZSAhPSB0aGlzLnJlRW50ZXJBY2NvdW50TnVtYmVyLnZhbHVlKSkge1xuICAvLyAgICAgICB0aGlzLmJhbmtEZXRhaWxzRm9ybS5jb250cm9sc1sncmVFbnRlckFjY291bnROdW1iZXInXS5zZXRFcnJvcnMoeyBhY2NvdW50TnVtYmVDb21wYXJpc2lvbjogdHJ1ZSB9KTtcbiAgLy8gICAgICAgcmV0dXJuIHsgYWNjb3VudE51bWJlQ29tcGFyaXNpb246IHRydWUgfTtcbiAgLy8gICAgIH1cbiAgLy8gICB9KTtcblxuICAvLyAgIHRoaXMucm91dGluZ051bWJlci52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbCA9PiB7XG4gIC8vICAgY29uc3QgdmFsaWQxID0gUk9VVElOR19OVU1CRVIudGVzdCh0aGlzLnJvdXRpbmdOdW1iZXIudmFsdWUpO1xuICAvLyAgICAgaWYgKCF2YWxpZDEpIHtcbiAgLy8gICAgICAgdGhpcy5iYW5rRGV0YWlsc0Zvcm0uY29udHJvbHNbJ3JvdXRpbmdOdW1iZXInXS5zZXRFcnJvcnMoeyBoYXNSb3V0aW5nOiB0cnVlIH0pO1xuICAvLyAgICAgICByZXR1cm4geyBoYXNSb3V0aW5nOiB0cnVlIH07XG4gIC8vICAgICB9XG4gIC8vICAgfSk7XG4gIC8vIH1cblxuICBnZXQgbmFtZU9uQWNjb3VudCgpIHtcbiAgICByZXR1cm4gdGhpcy5iYW5rRGV0YWlsc0Zvcm0uY29udHJvbHNbJ25hbWVPbkFjY291bnQnXTtcbiAgfVxuICBnZXQgYWNjb3VudFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYmFua0RldGFpbHNGb3JtLmNvbnRyb2xzWydhY2NvdW50VHlwZSddO1xuICB9XG4gIGdldCByb3V0aW5nTnVtYmVyKCkge1xuICAgIHJldHVybiB0aGlzLmJhbmtEZXRhaWxzRm9ybS5jb250cm9sc1sncm91dGluZ051bWJlciddO1xuICB9XG4gIGdldCBhY2NvdW50TnVtYmVyKCkge1xuICAgIHJldHVybiB0aGlzLmJhbmtEZXRhaWxzRm9ybS5jb250cm9sc1snYWNjb3VudE51bWJlciddO1xuICB9XG4gIC8vIGdldCBiYW5rTmFtZUNvbnRyb2woKSB7XG4gIC8vICAgcmV0dXJuIHRoaXMuYmFua0RldGFpbHNGb3JtLmNvbnRyb2xzWydiYW5rTmFtZSddO1xuICAvLyB9XG4gIGdldCByZUVudGVyQWNjb3VudE51bWJlcigpIHtcbiAgICByZXR1cm4gdGhpcy5iYW5rRGV0YWlsc0Zvcm0uY29udHJvbHNbJ3JlRW50ZXJBY2NvdW50TnVtYmVyJ107XG4gIH1cblxuICBvblRvdWNoZWQ6IEZ1bmN0aW9uID0gKCkgPT4geyB9O1xuXG4gIG9uQ2hhbmdlU3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBmb3IgKGxldCBzdWIgb2YgdGhpcy5vbkNoYW5nZVN1YnMpIHtcbiAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6IGFueSkge1xuICAgIGNvbnN0IHN1YiA9IHRoaXMuYmFua0RldGFpbHNGb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUob25DaGFuZ2UpO1xuICAgIHRoaXMub25DaGFuZ2VTdWJzLnB1c2goc3ViKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKG9uVG91Y2hlZDogRnVuY3Rpb24pIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IG9uVG91Y2hlZDtcbiAgfSBcbiAgXG4gIHNldERpc2FibGVkU3RhdGUoZGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuYmFua0RldGFpbHNGb3JtLmRpc2FibGUoKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmJhbmtEZXRhaWxzRm9ybS5lbmFibGUoKTtcbiAgICB9XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuYmFua0RldGFpbHNGb3JtLnNldFZhbHVlKHZhbHVlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgfVxuICB9XG5cblxuICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICBcbiAgICBpZiAodGhpcy5iYW5rRGV0YWlsc0Zvcm0udmFsaWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8vIGZldGNoQmFua05hbWUoZXZlbnQpe1xuICAvLyAgIGlmKHRoaXMucm91dGluZ051bWJlciAmJiB0aGlzLnJvdXRpbmdOdW1iZXIudmFsdWUpeyAgIFxuICAvLyAgICAgdGhpcy5kbXNcbiAgLy8gICAgICAgLmdldEJhbmtOYW1lKHRoaXMucm91dGluZ051bWJlci52YWx1ZSlcbiAgLy8gICAgICAgLnN1YnNjcmliZShcbiAgLy8gICAgICAgICByZXMgPT4ge1xuICAvLyAgICAgICAgICAgdGhpcy5iYW5rRGV0YWlsc01vZGVsID0gcmVzO1xuICAvLyAgICAgICAgICAgdGhpcy5iYW5rTmFtZSA9IHJlcy5iYW5rTmFtZTtcbiAgLy8gICAgICAgICAgIHRoaXMuYmFua05hbWVDb250cm9sLnNldFZhbHVlKHJlcy5iYW5rTmFtZSk7XG4gIC8vICAgICAgICAgfSxcbiAgLy8gICAgICAgICBlcnIgPT4ge1xuICAvLyAgICAgICAgICAgdGhpcy5iYW5rTmFtZSA9IFwiTm8gTWF0Y2hpbmcgUm91dGluZyBOdW1iZXJzLlwiO1xuICAvLyAgICAgICAgICAgdGhpcy5iYW5rTmFtZUNvbnRyb2wuc2V0VmFsdWUobnVsbCk7XG4gIC8vICAgICAgICAgfVxuICAvLyAgICAgKTtcbiAgLy8gICB9XG4gIC8vIH1cblxuXG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImJhbmtEZXRhaWxzRm9ybVwiICNiYW5rRGV0YWlsc0Zvcm1EaXJlY3RpdmU9XCJuZ0Zvcm1cIiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDBweDsgbWFyZ2luLWxlZnQ6IDBweDsgbWFyZ2luLXRvcDogNnB4O1wiPlxyXG4gICAgPGlvbi1ncmlkIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwLWZvcm1ncmlkXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIlwiPnt7J05hbWUgb24gQWNjb3VudCcgfCB0cmFuc2xhdGV9fTwvbGFiZWw+PGJyLz5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cIm5hbWVPbkFjY291bnRcIiB0eXBlPVwidGV4dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cIm5hbWVPbkFjY291bnRcIiBtYXhsZW5ndGg9XCIzMFwiLz4gIFxyXG4gICAgICAgICAgICAgICAgPGJyLz5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSduYW1lT25BY2NvdW50JyBbZm9ybV09XCJiYW5rRGV0YWlsc0Zvcm1EaXJlY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZC4nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuOiAncGxlYXNlIGVudGVyIG9ubHkgbGV0dGVycydcclxuICAgICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj57eydBY2NvdW50IFR5cGUnIHwgdHJhbnNsYXRlfX08L2xhYmVsPjxici8+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWZsZXg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cImFjY291bnRUeXBlT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJhY2NvdW50VHlwZVwiIFttdWx0aXBsZV09ZmFsc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nYWNjb3VudFR5cGUnIFtmb3JtXT1cImJhbmtEZXRhaWxzRm9ybURpcmVjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXJyRGVmXT1cIntyZXF1aXJlZDogJ3JlcXVpcmVkLid9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImZsZXgtZ3JvdzogMTtcIiBzdHlsZT1cInBhZGRpbmctbGVmdDogOHB4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtb3ZlcmxheS1pbmZvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmdcIj5CYW5raW5nIG51bWJlcnM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdmVybGF5LXN1YmhlYWRpbmcgaW9uLXBhZGRpbmctdG9wXCI+Q2hlY2tpbmcgQWNjb3VudDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJsYXktZGVzYyBpb24tcGFkZGluZy10b3BcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaW5kIHlvdXIgYmFuaydzIHJvdXRpbmcgbnVtYmVyIGFuZCB5b3VyIGFjY291bnQgbnVtYmVyIG9uIHRoZSBib3R0b20gb2YgeW91ciBwZXJzb25hbCBjaGVja3MuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgYWx0PVwiY2hlY2sgaW1hZ2VcIiBzcmM9XCJhc3NldHMvaWNvbi9jaGVjazEucG5nXCIgY2xhc3M9XCJpb24tcGFkZGluZy10b3BcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3ZlcmxheS1zdWJoZWFkaW5nIGlvbi1wYWRkaW5nLXRvcFwiPlNhdmluZ3MgQWNjb3VudDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJsYXktZGVzYyBpb24tcGFkZGluZy10b3BcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiB5b3UgcHJlZmVyIGRpcmVjdCBkZXBvc2l0IGludG8gYSBzYXZpbmcgYWNjb3VudCBhbmQgZG9uJ3QgaGF2ZSBhIGNoZWNraW5nIGFjY291bnQgd2l0aCB0aGUgc2FtZSBiYW5rLCBjYWxsIHlvdXIgYmFuayB0byBnZXQgdGhlIHJvdXRpbmcgbnVtYmVyLiAgSWYgeW91IGhhdmUgYSBjaGVja2luZyBhY2NvdW50IGF0IHRoZSBzYW1lIGJhbmssIHRoZSByb3V0aW5nIG51bWJlciBpcyB0aGUgc2FtZSwgYnV0IHRoZSBhY2NvdW50IG51bWJlciBpcyBkaWZmZXJlbnQuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hcHAtb3ZlcmxheS1pbmZvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJyb3V0aW5nTnVtYmVyXCI+e3snUm91dGluZyBOdW1iZXInIHwgdHJhbnNsYXRlfX08L2xhYmVsPjxici8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cInJvdXRpbmdOdW1iZXJcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJyb3V0aW5nTnVtYmVyXCIgbWF4bGVuZ3RoPVwiOVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJyLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncm91dGluZ051bWJlcicgW2Zvcm1dPVwiYmFua0RldGFpbHNGb3JtRGlyZWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQuJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNSb3V0aW5nOidNdXN0IGJlIGF0IGxlYXN0IDkgZGlnaXRzLicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNSb3V0aW5nTnVtYmVyTm90VmFsaWQ6ICdJbnZhbGlkIHJvdXRpbmcgbnVtYmVyLidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJhY2NvdW50TnVtYmVyXCI+e3snQWNjb3VudCBOdW1iZXInIHwgdHJhbnNsYXRlfX08L2xhYmVsPjxici8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwLXBhc3N3b3JkIGlkPVwiYWNjb3VudE51bWJlclwiIFtmb3JtQ29udHJvbF09XCJhY2NvdW50TnVtYmVyXCIgW21heGxlbmd0aF09XCIxN1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmZWVkYmFja109XCJmYWxzZVwiIFt0b2dnbGVNYXNrXT1cInRydWVcIj48L3AtcGFzc3dvcmQ+PGJyLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2FjY291bnROdW1iZXInIFtmb3JtXT1cImJhbmtEZXRhaWxzRm9ybURpcmVjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQuJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybjogJ2VudGVyIG9ubHkgbnVtYmVycy4nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNOdW1iZXI6ICd2YWxpZCBudW1iZXInLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhsZW5ndGg6ICdjYW5ub3QgZXhjZWVkIDE3IGNoYXJhY3RlcnMnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInJlRW50ZXJBY2NvdW50TnVtYmVyXCI+e3snUmUtZW50ZXIgQWNjb3VudCcgfCB0cmFuc2xhdGV9fTwvbGFiZWw+PGJyLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAtcGFzc3dvcmQgaWQ9XCJyZUVudGVyQWNjb3VudE51bWJlclwiIFtmb3JtQ29udHJvbF09XCJyZUVudGVyQWNjb3VudE51bWJlclwiIFttYXhsZW5ndGhdPVwiMTdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZlZWRiYWNrXT1cImZhbHNlXCIgW3RvZ2dsZU1hc2tdPVwidHJ1ZVwiPjwvcC1wYXNzd29yZD48YnIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncmVFbnRlckFjY291bnROdW1iZXInIFtmb3JtXT1cImJhbmtEZXRhaWxzRm9ybURpcmVjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkLicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuOiAnZW50ZXIgb25seSBudW1iZXJzLicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NvdW50TnVtYmVDb21wYXJpc2lvbjonQWNjb3VudCBOdW1iZXIgYW5kIFJlLWVudGVyIEFjY291bnQgTnVtYmVyIHNob3VsZCBtYXRjaCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhsZW5ndGg6ICdjYW5ub3QgZXhjZWVkIDE3IGNoYXJhY3RlcnMnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2lvbi1ncmlkPlxyXG48L2Zvcm0+Il19