@ksremp/ngx-ksremp-app-lib 1.0.0

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 (592) hide show
  1. package/README.md +46 -0
  2. package/esm2022/ksremp-ngx-ksremp-app-lib.mjs +5 -0
  3. package/esm2022/lib/annimations/app-animations.mjs +37 -0
  4. package/esm2022/lib/components/add-employer/add-employer.component.mjs +2655 -0
  5. package/esm2022/lib/components/add-participant/add-participant.component.mjs +399 -0
  6. package/esm2022/lib/components/add-payment/add-payment.component.mjs +201 -0
  7. package/esm2022/lib/components/address/address.component.mjs +565 -0
  8. package/esm2022/lib/components/bank-details/bank-details.component.mjs +416 -0
  9. package/esm2022/lib/components/captcha/captcha.component.mjs +181 -0
  10. package/esm2022/lib/components/card/card.component.mjs +55 -0
  11. package/esm2022/lib/components/contact-us/contact-us.component.mjs +984 -0
  12. package/esm2022/lib/components/content/content.component.mjs +61 -0
  13. package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +89 -0
  14. package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +223 -0
  15. package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +301 -0
  16. package/esm2022/lib/components/disclosure/disclosure.component.mjs +60 -0
  17. package/esm2022/lib/components/dropdown/dropdown.component.mjs +1974 -0
  18. package/esm2022/lib/components/dropdown/dropdown.interface.mjs +2 -0
  19. package/esm2022/lib/components/email-update/email-update.component.mjs +376 -0
  20. package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +1102 -0
  21. package/esm2022/lib/components/error/error.component.mjs +86 -0
  22. package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +163 -0
  23. package/esm2022/lib/components/file-download/file-download.component.mjs +104 -0
  24. package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +315 -0
  25. package/esm2022/lib/components/footer/footer.component.mjs +350 -0
  26. package/esm2022/lib/components/header/header.component.mjs +535 -0
  27. package/esm2022/lib/components/help/help.component.mjs +49 -0
  28. package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +76 -0
  29. package/esm2022/lib/components/info/info.component.mjs +187 -0
  30. package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +212 -0
  31. package/esm2022/lib/components/job-title/job-title.component.mjs +162 -0
  32. package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +617 -0
  33. package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +402 -0
  34. package/esm2022/lib/components/link/link.component.mjs +131 -0
  35. package/esm2022/lib/components/maintenance-detector/maintenance-detector.component.mjs +43 -0
  36. package/esm2022/lib/components/mask/mask.component.mjs +48 -0
  37. package/esm2022/lib/components/menu/menu.component.mjs +452 -0
  38. package/esm2022/lib/components/mfa/mfa.component.mjs +574 -0
  39. package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +57 -0
  40. package/esm2022/lib/components/mfa2/mfa2.component.mjs +285 -0
  41. package/esm2022/lib/components/money-expect/money-expect.component.mjs +98 -0
  42. package/esm2022/lib/components/msg/msg.component.mjs +48 -0
  43. package/esm2022/lib/components/news/news.component.mjs +90 -0
  44. package/esm2022/lib/components/overlay-info/overlay-info.component.mjs +213 -0
  45. package/esm2022/lib/components/page/page.component.mjs +136 -0
  46. package/esm2022/lib/components/profile/profile.component.mjs +505 -0
  47. package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +70 -0
  48. package/esm2022/lib/components/questionnaire/AppValidators.mjs +541 -0
  49. package/esm2022/lib/components/questionnaire/FbConstants.mjs +8 -0
  50. package/esm2022/lib/components/questionnaire/SelectItem.mjs +2 -0
  51. package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +310 -0
  52. package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +528 -0
  53. package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +1115 -0
  54. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +2521 -0
  55. package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +1788 -0
  56. package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +256 -0
  57. package/esm2022/lib/components/questionnaire/input-focus.directive.mjs +44 -0
  58. package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +255 -0
  59. package/esm2022/lib/components/questionnaire/question-base.mjs +3 -0
  60. package/esm2022/lib/components/questionnaire/question-control.service.mjs +408 -0
  61. package/esm2022/lib/components/questionnaire/question.service.mjs +33 -0
  62. package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +282 -0
  63. package/esm2022/lib/components/read-more/read-more.component.mjs +72 -0
  64. package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +690 -0
  65. package/esm2022/lib/components/search-employer/search-employer.component.mjs +132 -0
  66. package/esm2022/lib/components/security-question/security-question.component.mjs +199 -0
  67. package/esm2022/lib/components/select/select.component.mjs +159 -0
  68. package/esm2022/lib/components/sign-ssn/sign-ssn.component.mjs +141 -0
  69. package/esm2022/lib/components/ssn/ssn.component.mjs +44 -0
  70. package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +171 -0
  71. package/esm2022/lib/components/test/test.component.mjs +19 -0
  72. package/esm2022/lib/components/user-login/user-login.component.mjs +619 -0
  73. package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +772 -0
  74. package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +356 -0
  75. package/esm2022/lib/directives/auto-focus/auto-focus.directive.mjs +31 -0
  76. package/esm2022/lib/directives/caps-lock.directive.mjs +38 -0
  77. package/esm2022/lib/directives/required-roles/required-roles.directive.mjs +30 -0
  78. package/esm2022/lib/enums/EmailStatusEnum.mjs +9 -0
  79. package/esm2022/lib/guards/auth.guard.mjs +138 -0
  80. package/esm2022/lib/guards/no-login/no-login.guard.mjs +21 -0
  81. package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +107 -0
  82. package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +99 -0
  83. package/esm2022/lib/models/AddressComponentModel.mjs +3 -0
  84. package/esm2022/lib/models/BankDetailsComponentModel.mjs +3 -0
  85. package/esm2022/lib/models/BankDetailsModel.mjs +3 -0
  86. package/esm2022/lib/models/CinRequalificationCriteriaModel.mjs +3 -0
  87. package/esm2022/lib/models/EmployerDetailSearchResult.mjs +6 -0
  88. package/esm2022/lib/models/ErrorModel.mjs +6 -0
  89. package/esm2022/lib/models/FileModel.mjs +2 -0
  90. package/esm2022/lib/models/LexisNexisAccountCreationModel.mjs +2 -0
  91. package/esm2022/lib/models/LexisNexisAuthSelectionRequestModel.mjs +2 -0
  92. package/esm2022/lib/models/LexisNexisAuthSelectionResponseModel.mjs +2 -0
  93. package/esm2022/lib/models/LexisNexisEnabledResponseModel.mjs +2 -0
  94. package/esm2022/lib/models/LexisNexisResponseModel.mjs +3 -0
  95. package/esm2022/lib/models/LibConstants.mjs +132 -0
  96. package/esm2022/lib/models/NewsAndAnnouncementModel.mjs +3 -0
  97. package/esm2022/lib/models/NotificationModel.mjs +6 -0
  98. package/esm2022/lib/models/OtpAuthModel.mjs +3 -0
  99. package/esm2022/lib/models/PartialEmploymentModel.mjs +3 -0
  100. package/esm2022/lib/models/PaymentComponentModel.mjs +2 -0
  101. package/esm2022/lib/models/RequalifyLiftPageModel.mjs +11 -0
  102. package/esm2022/lib/models/SecurityQuestionModel.mjs +3 -0
  103. package/esm2022/lib/models/SsaVerificationModel.mjs +3 -0
  104. package/esm2022/lib/models/TrendModel.mjs +3 -0
  105. package/esm2022/lib/models/UserDetailsModel.mjs +3 -0
  106. package/esm2022/lib/models/UserModel.mjs +6 -0
  107. package/esm2022/lib/models/case/CaseAttachmentModel.mjs +3 -0
  108. package/esm2022/lib/models/claimant/ClaimantModel.mjs +3 -0
  109. package/esm2022/lib/models/claimant/JobResultsData.mjs +3 -0
  110. package/esm2022/lib/models/claimant/MatchingJobs.mjs +3 -0
  111. package/esm2022/lib/models/claimant/ResetPasswordModel.mjs +3 -0
  112. package/esm2022/lib/models/cmp/CaseCoreModel.mjs +3 -0
  113. package/esm2022/lib/models/cmp/ComplaintCategoryModel.mjs +3 -0
  114. package/esm2022/lib/models/cmp/ComplaintCategoryOutputModel.mjs +5 -0
  115. package/esm2022/lib/models/cmp/ContactUsModel.mjs +3 -0
  116. package/esm2022/lib/models/cmp/EmailTemplateModel.mjs +3 -0
  117. package/esm2022/lib/models/cmp/contactUsInqueryModel.mjs +7 -0
  118. package/esm2022/lib/models/cmp/messageRourceModel.mjs +3 -0
  119. package/esm2022/lib/models/dashboard-model.mjs +3 -0
  120. package/esm2022/lib/models/dependent.model.mjs +8 -0
  121. package/esm2022/lib/models/questionnaire/AutocoderModel.mjs +3 -0
  122. package/esm2022/lib/models/questionnaire/ClaimAppEmpRequestModel.mjs +3 -0
  123. package/esm2022/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +8 -0
  124. package/esm2022/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +6 -0
  125. package/esm2022/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +3 -0
  126. package/esm2022/lib/models/questionnaire/ComboModel.mjs +1010 -0
  127. package/esm2022/lib/models/questionnaire/ElementsModel.mjs +8 -0
  128. package/esm2022/lib/models/questionnaire/EmployerDetailSearchResult.mjs +3 -0
  129. package/esm2022/lib/models/questionnaire/EmployerWagesModel.mjs +3 -0
  130. package/esm2022/lib/models/questionnaire/FBConfigModel.mjs +6 -0
  131. package/esm2022/lib/models/questionnaire/KeyValueModel.mjs +3 -0
  132. package/esm2022/lib/models/questionnaire/LegalDiscaimarModel.mjs +3 -0
  133. package/esm2022/lib/models/questionnaire/LoaderModel.mjs +3 -0
  134. package/esm2022/lib/models/questionnaire/PollingStatusModel.mjs +3 -0
  135. package/esm2022/lib/models/questionnaire/QtrYearEmployerWageModel.mjs +3 -0
  136. package/esm2022/lib/models/questionnaire/QuestionnaireQueryModel.mjs +8 -0
  137. package/esm2022/lib/models/questionnaire/QuestionnaireReturnModel.mjs +11 -0
  138. package/esm2022/lib/models/questionnaire/QuestionnaireSaveModel.mjs +3 -0
  139. package/esm2022/lib/models/questionnaire/RequalifyLiftIssuesModel.mjs +3 -0
  140. package/esm2022/lib/models/questionnaire/ServiceActionResponseModel.mjs +3 -0
  141. package/esm2022/lib/models/questionnaire/StatusModel.mjs +6 -0
  142. package/esm2022/lib/models/questionnaire/SuccessPageElement.mjs +3 -0
  143. package/esm2022/lib/models/questionnaire/UI512AResponseModel.mjs +3 -0
  144. package/esm2022/lib/models/questionnaire/ValidationModel.mjs +3 -0
  145. package/esm2022/lib/ngx-reusa-app-lib.component.mjs +23 -0
  146. package/esm2022/lib/ngx-reusa-app-lib.module.mjs +410 -0
  147. package/esm2022/lib/ngx-reusa-app-lib.service.mjs +14 -0
  148. package/esm2022/lib/pages/BasePage.mjs +98 -0
  149. package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +77 -0
  150. package/esm2022/lib/pages/common/change-password/change-password.page.mjs +471 -0
  151. package/esm2022/lib/pages/common/landing/landing.component.mjs +209 -0
  152. package/esm2022/lib/pages/common/landing2/landing2.component.mjs +244 -0
  153. package/esm2022/lib/pages/common/login/login.component.mjs +533 -0
  154. package/esm2022/lib/pages/common/not-found/not-found.page.mjs +24 -0
  155. package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +306 -0
  156. package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +61 -0
  157. package/esm2022/lib/pages/common/unauthorized/unauthorized.page.mjs +24 -0
  158. package/esm2022/lib/pages/popovers/language/language.page.mjs +62 -0
  159. package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +204 -0
  160. package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +129 -0
  161. package/esm2022/lib/pages/popovers/user-search/user-search.component.mjs +251 -0
  162. package/esm2022/lib/pipes/filter.pipe.mjs +30 -0
  163. package/esm2022/lib/pipes/mask/mask.email.pipe.mjs +23 -0
  164. package/esm2022/lib/pipes/proper-case/proper-case.pipe.mjs +27 -0
  165. package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +44 -0
  166. package/esm2022/lib/pipes/trust-html/trust-html.pipe.mjs +20 -0
  167. package/esm2022/lib/services/base-service.mjs +50 -0
  168. package/esm2022/lib/services/captcha/captcha.service.mjs +46 -0
  169. package/esm2022/lib/services/case-service/case.service.mjs +47 -0
  170. package/esm2022/lib/services/chatbot/chatbot.service.mjs +258 -0
  171. package/esm2022/lib/services/chatbot/script.const.mjs +42 -0
  172. package/esm2022/lib/services/claimant/claimant.service.mjs +31 -0
  173. package/esm2022/lib/services/claimant-context/claimant-context.service.mjs +48 -0
  174. package/esm2022/lib/services/claimant-service/claimant-usps-redirect.service.mjs +36 -0
  175. package/esm2022/lib/services/claimant-service/claimant.service.mjs +62 -0
  176. package/esm2022/lib/services/claims/claims.service.mjs +102 -0
  177. package/esm2022/lib/services/cmp-service/cmp.service.mjs +84 -0
  178. package/esm2022/lib/services/dms-service/dms.service.mjs +60 -0
  179. package/esm2022/lib/services/fpjs/fingerprint.service.mjs +70 -0
  180. package/esm2022/lib/services/google-analytics/google-analytics.service.mjs +29 -0
  181. package/esm2022/lib/services/help/help.service.mjs +63 -0
  182. package/esm2022/lib/services/idle/idle.service.mjs +159 -0
  183. package/esm2022/lib/services/lexis-nexis/lexis.nexis.service.mjs +60 -0
  184. package/esm2022/lib/services/logger/logger.service.mjs +67 -0
  185. package/esm2022/lib/services/login/login.service.mjs +343 -0
  186. package/esm2022/lib/services/maintenance/maintenance.service.mjs +21 -0
  187. package/esm2022/lib/services/notification/notification.service.mjs +113 -0
  188. package/esm2022/lib/services/ovp/ovp.service.mjs +43 -0
  189. package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +69 -0
  190. package/esm2022/lib/services/questionnaire/validation.service.mjs +59 -0
  191. package/esm2022/lib/services/security-service/security.service.mjs +42 -0
  192. package/esm2022/lib/services/tour/tour.service.mjs +60 -0
  193. package/esm2022/lib/services/util/util.service.mjs +450 -0
  194. package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +42 -0
  195. package/esm2022/lib/validations/AppRegex.mjs +51 -0
  196. package/esm2022/lib/validations/AppValidators.mjs +253 -0
  197. package/esm2022/public-api.mjs +138 -0
  198. package/fesm2022/ksremp-ngx-ksremp-app-lib.mjs +33786 -0
  199. package/fesm2022/ksremp-ngx-ksremp-app-lib.mjs.map +1 -0
  200. package/index.d.ts +6 -0
  201. package/ksremp-ngx-ksremp-app-lib.d.ts.map +1 -0
  202. package/lib/annimations/app-animations.d.ts +4 -0
  203. package/lib/annimations/app-animations.d.ts.map +1 -0
  204. package/lib/components/add-employer/add-employer.component.d.ts +234 -0
  205. package/lib/components/add-employer/add-employer.component.d.ts.map +1 -0
  206. package/lib/components/add-participant/add-participant.component.d.ts +49 -0
  207. package/lib/components/add-participant/add-participant.component.d.ts.map +1 -0
  208. package/lib/components/add-payment/add-payment.component.d.ts +33 -0
  209. package/lib/components/add-payment/add-payment.component.d.ts.map +1 -0
  210. package/lib/components/address/address.component.d.ts +81 -0
  211. package/lib/components/address/address.component.d.ts.map +1 -0
  212. package/lib/components/bank-details/bank-details.component.d.ts +62 -0
  213. package/lib/components/bank-details/bank-details.component.d.ts.map +1 -0
  214. package/lib/components/captcha/captcha.component.d.ts +45 -0
  215. package/lib/components/captcha/captcha.component.d.ts.map +1 -0
  216. package/lib/components/card/card.component.d.ts +12 -0
  217. package/lib/components/card/card.component.d.ts.map +1 -0
  218. package/lib/components/contact-us/contact-us.component.d.ts +109 -0
  219. package/lib/components/contact-us/contact-us.component.d.ts.map +1 -0
  220. package/lib/components/content/content.component.d.ts +14 -0
  221. package/lib/components/content/content.component.d.ts.map +1 -0
  222. package/lib/components/correspondence-download/correspondence-download.component.d.ts +22 -0
  223. package/lib/components/correspondence-download/correspondence-download.component.d.ts.map +1 -0
  224. package/lib/components/dashboard-card/dashboard-card.component.d.ts +26 -0
  225. package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -0
  226. package/lib/components/dependent-grid/dependent-grid.component.d.ts +36 -0
  227. package/lib/components/dependent-grid/dependent-grid.component.d.ts.map +1 -0
  228. package/lib/components/disclosure/disclosure.component.d.ts +13 -0
  229. package/lib/components/disclosure/disclosure.component.d.ts.map +1 -0
  230. package/lib/components/dropdown/dropdown.component.d.ts +582 -0
  231. package/lib/components/dropdown/dropdown.component.d.ts.map +1 -0
  232. package/lib/components/dropdown/dropdown.interface.d.ts +155 -0
  233. package/lib/components/dropdown/dropdown.interface.d.ts.map +1 -0
  234. package/lib/components/email-update/email-update.component.d.ts +43 -0
  235. package/lib/components/email-update/email-update.component.d.ts.map +1 -0
  236. package/lib/components/employer-grid/employer-grid.component.d.ts +90 -0
  237. package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -0
  238. package/lib/components/error/error.component.d.ts +18 -0
  239. package/lib/components/error/error.component.d.ts.map +1 -0
  240. package/lib/components/fav-menu/fav-menu.component.d.ts +22 -0
  241. package/lib/components/fav-menu/fav-menu.component.d.ts.map +1 -0
  242. package/lib/components/file-download/file-download.component.d.ts +23 -0
  243. package/lib/components/file-download/file-download.component.d.ts.map +1 -0
  244. package/lib/components/file-uploader/file-uploader.component.d.ts +48 -0
  245. package/lib/components/file-uploader/file-uploader.component.d.ts.map +1 -0
  246. package/lib/components/footer/footer.component.d.ts +37 -0
  247. package/lib/components/footer/footer.component.d.ts.map +1 -0
  248. package/lib/components/header/header.component.d.ts +64 -0
  249. package/lib/components/header/header.component.d.ts.map +1 -0
  250. package/lib/components/help/help.component.d.ts +11 -0
  251. package/lib/components/help/help.component.d.ts.map +1 -0
  252. package/lib/components/idle-detector/idle-detector.component.d.ts +16 -0
  253. package/lib/components/idle-detector/idle-detector.component.d.ts.map +1 -0
  254. package/lib/components/info/info.component.d.ts +23 -0
  255. package/lib/components/info/info.component.d.ts.map +1 -0
  256. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +24 -0
  257. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts.map +1 -0
  258. package/lib/components/job-title/job-title.component.d.ts +38 -0
  259. package/lib/components/job-title/job-title.component.d.ts.map +1 -0
  260. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +39 -0
  261. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -0
  262. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts +59 -0
  263. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts.map +1 -0
  264. package/lib/components/link/link.component.d.ts +35 -0
  265. package/lib/components/link/link.component.d.ts.map +1 -0
  266. package/lib/components/maintenance-detector/maintenance-detector.component.d.ts +16 -0
  267. package/lib/components/maintenance-detector/maintenance-detector.component.d.ts.map +1 -0
  268. package/lib/components/mask/mask.component.d.ts +12 -0
  269. package/lib/components/mask/mask.component.d.ts.map +1 -0
  270. package/lib/components/menu/menu.component.d.ts +54 -0
  271. package/lib/components/menu/menu.component.d.ts.map +1 -0
  272. package/lib/components/mfa/mfa.component.d.ts +72 -0
  273. package/lib/components/mfa/mfa.component.d.ts.map +1 -0
  274. package/lib/components/mfa-popup/mfa-popup.component.d.ts +19 -0
  275. package/lib/components/mfa-popup/mfa-popup.component.d.ts.map +1 -0
  276. package/lib/components/mfa2/mfa2.component.d.ts +48 -0
  277. package/lib/components/mfa2/mfa2.component.d.ts.map +1 -0
  278. package/lib/components/money-expect/money-expect.component.d.ts +19 -0
  279. package/lib/components/money-expect/money-expect.component.d.ts.map +1 -0
  280. package/lib/components/msg/msg.component.d.ts +11 -0
  281. package/lib/components/msg/msg.component.d.ts.map +1 -0
  282. package/lib/components/news/news.component.d.ts +15 -0
  283. package/lib/components/news/news.component.d.ts.map +1 -0
  284. package/lib/components/overlay-info/overlay-info.component.d.ts +35 -0
  285. package/lib/components/overlay-info/overlay-info.component.d.ts.map +1 -0
  286. package/lib/components/page/page.component.d.ts +24 -0
  287. package/lib/components/page/page.component.d.ts.map +1 -0
  288. package/lib/components/profile/profile.component.d.ts +74 -0
  289. package/lib/components/profile/profile.component.d.ts.map +1 -0
  290. package/lib/components/profile-redirect/profile-redirect.component.d.ts +14 -0
  291. package/lib/components/profile-redirect/profile-redirect.component.d.ts.map +1 -0
  292. package/lib/components/questionnaire/AppValidators.d.ts +16 -0
  293. package/lib/components/questionnaire/AppValidators.d.ts.map +1 -0
  294. package/lib/components/questionnaire/FbConstants.d.ts +8 -0
  295. package/lib/components/questionnaire/FbConstants.d.ts.map +1 -0
  296. package/lib/components/questionnaire/SelectItem.d.ts +5 -0
  297. package/lib/components/questionnaire/SelectItem.d.ts.map +1 -0
  298. package/lib/components/questionnaire/account-success/account-success.page.d.ts +61 -0
  299. package/lib/components/questionnaire/account-success/account-success.page.d.ts.map +1 -0
  300. package/lib/components/questionnaire/common-success/common-success.page.d.ts +77 -0
  301. package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -0
  302. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +47 -0
  303. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts.map +1 -0
  304. package/lib/components/questionnaire/dynamic-form-question.component.d.ts +128 -0
  305. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -0
  306. package/lib/components/questionnaire/dynamic-form.component.d.ts +161 -0
  307. package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -0
  308. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +74 -0
  309. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -0
  310. package/lib/components/questionnaire/input-focus.directive.d.ts +12 -0
  311. package/lib/components/questionnaire/input-focus.directive.d.ts.map +1 -0
  312. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +39 -0
  313. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -0
  314. package/lib/components/questionnaire/question-base.d.ts +17 -0
  315. package/lib/components/questionnaire/question-base.d.ts.map +1 -0
  316. package/lib/components/questionnaire/question-control.service.d.ts +21 -0
  317. package/lib/components/questionnaire/question-control.service.d.ts.map +1 -0
  318. package/lib/components/questionnaire/question.service.d.ts +19 -0
  319. package/lib/components/questionnaire/question.service.d.ts.map +1 -0
  320. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +83 -0
  321. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -0
  322. package/lib/components/read-more/read-more.component.d.ts +15 -0
  323. package/lib/components/read-more/read-more.component.d.ts.map +1 -0
  324. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +68 -0
  325. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -0
  326. package/lib/components/search-employer/search-employer.component.d.ts +40 -0
  327. package/lib/components/search-employer/search-employer.component.d.ts.map +1 -0
  328. package/lib/components/security-question/security-question.component.d.ts +37 -0
  329. package/lib/components/security-question/security-question.component.d.ts.map +1 -0
  330. package/lib/components/select/select.component.d.ts +56 -0
  331. package/lib/components/select/select.component.d.ts.map +1 -0
  332. package/lib/components/sign-ssn/sign-ssn.component.d.ts +34 -0
  333. package/lib/components/sign-ssn/sign-ssn.component.d.ts.map +1 -0
  334. package/lib/components/ssn/ssn.component.d.ts +12 -0
  335. package/lib/components/ssn/ssn.component.d.ts.map +1 -0
  336. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +27 -0
  337. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts.map +1 -0
  338. package/lib/components/test/test.component.d.ts +9 -0
  339. package/lib/components/test/test.component.d.ts.map +1 -0
  340. package/lib/components/user-login/user-login.component.d.ts +82 -0
  341. package/lib/components/user-login/user-login.component.d.ts.map +1 -0
  342. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +67 -0
  343. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -0
  344. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +47 -0
  345. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -0
  346. package/lib/directives/auto-focus/auto-focus.directive.d.ts +13 -0
  347. package/lib/directives/auto-focus/auto-focus.directive.d.ts.map +1 -0
  348. package/lib/directives/caps-lock.directive.d.ts +12 -0
  349. package/lib/directives/caps-lock.directive.d.ts.map +1 -0
  350. package/lib/directives/required-roles/required-roles.directive.d.ts +15 -0
  351. package/lib/directives/required-roles/required-roles.directive.d.ts.map +1 -0
  352. package/lib/enums/EmailStatusEnum.d.ts +8 -0
  353. package/lib/enums/EmailStatusEnum.d.ts.map +1 -0
  354. package/lib/guards/auth.guard.d.ts +29 -0
  355. package/lib/guards/auth.guard.d.ts.map +1 -0
  356. package/lib/guards/no-login/no-login.guard.d.ts +12 -0
  357. package/lib/guards/no-login/no-login.guard.d.ts.map +1 -0
  358. package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts +23 -0
  359. package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts.map +1 -0
  360. package/lib/interceptors/header-interceptor/http-header.interceptor.d.ts +22 -0
  361. package/lib/interceptors/header-interceptor/http-header.interceptor.d.ts.map +1 -0
  362. package/lib/models/AddressComponentModel.d.ts +14 -0
  363. package/lib/models/AddressComponentModel.d.ts.map +1 -0
  364. package/lib/models/BankDetailsComponentModel.d.ts +12 -0
  365. package/lib/models/BankDetailsComponentModel.d.ts.map +1 -0
  366. package/lib/models/BankDetailsModel.d.ts +5 -0
  367. package/lib/models/BankDetailsModel.d.ts.map +1 -0
  368. package/lib/models/CinRequalificationCriteriaModel.d.ts +11 -0
  369. package/lib/models/CinRequalificationCriteriaModel.d.ts.map +1 -0
  370. package/lib/models/EmployerDetailSearchResult.d.ts +51 -0
  371. package/lib/models/EmployerDetailSearchResult.d.ts.map +1 -0
  372. package/lib/models/ErrorModel.d.ts +7 -0
  373. package/lib/models/ErrorModel.d.ts.map +1 -0
  374. package/lib/models/FileModel.d.ts +5 -0
  375. package/lib/models/FileModel.d.ts.map +1 -0
  376. package/lib/models/LexisNexisAccountCreationModel.d.ts +15 -0
  377. package/lib/models/LexisNexisAccountCreationModel.d.ts.map +1 -0
  378. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts +16 -0
  379. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts.map +1 -0
  380. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts +39 -0
  381. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts.map +1 -0
  382. package/lib/models/LexisNexisEnabledResponseModel.d.ts +5 -0
  383. package/lib/models/LexisNexisEnabledResponseModel.d.ts.map +1 -0
  384. package/lib/models/LexisNexisResponseModel.d.ts +7 -0
  385. package/lib/models/LexisNexisResponseModel.d.ts.map +1 -0
  386. package/lib/models/LibConstants.d.ts +125 -0
  387. package/lib/models/LibConstants.d.ts.map +1 -0
  388. package/lib/models/NewsAndAnnouncementModel.d.ts +6 -0
  389. package/lib/models/NewsAndAnnouncementModel.d.ts.map +1 -0
  390. package/lib/models/NotificationModel.d.ts +11 -0
  391. package/lib/models/NotificationModel.d.ts.map +1 -0
  392. package/lib/models/OtpAuthModel.d.ts +8 -0
  393. package/lib/models/OtpAuthModel.d.ts.map +1 -0
  394. package/lib/models/PartialEmploymentModel.d.ts +6 -0
  395. package/lib/models/PartialEmploymentModel.d.ts.map +1 -0
  396. package/lib/models/PaymentComponentModel.d.ts +8 -0
  397. package/lib/models/PaymentComponentModel.d.ts.map +1 -0
  398. package/lib/models/RequalifyLiftPageModel.d.ts +12 -0
  399. package/lib/models/RequalifyLiftPageModel.d.ts.map +1 -0
  400. package/lib/models/SecurityQuestionModel.d.ts +7 -0
  401. package/lib/models/SecurityQuestionModel.d.ts.map +1 -0
  402. package/lib/models/SsaVerificationModel.d.ts +9 -0
  403. package/lib/models/SsaVerificationModel.d.ts.map +1 -0
  404. package/lib/models/TrendModel.d.ts +14 -0
  405. package/lib/models/TrendModel.d.ts.map +1 -0
  406. package/lib/models/UserDetailsModel.d.ts +10 -0
  407. package/lib/models/UserDetailsModel.d.ts.map +1 -0
  408. package/lib/models/UserModel.d.ts +48 -0
  409. package/lib/models/UserModel.d.ts.map +1 -0
  410. package/lib/models/case/CaseAttachmentModel.d.ts +6 -0
  411. package/lib/models/case/CaseAttachmentModel.d.ts.map +1 -0
  412. package/lib/models/claimant/ClaimantModel.d.ts +23 -0
  413. package/lib/models/claimant/ClaimantModel.d.ts.map +1 -0
  414. package/lib/models/claimant/JobResultsData.d.ts +8 -0
  415. package/lib/models/claimant/JobResultsData.d.ts.map +1 -0
  416. package/lib/models/claimant/MatchingJobs.d.ts +13 -0
  417. package/lib/models/claimant/MatchingJobs.d.ts.map +1 -0
  418. package/lib/models/claimant/ResetPasswordModel.d.ts +9 -0
  419. package/lib/models/claimant/ResetPasswordModel.d.ts.map +1 -0
  420. package/lib/models/cmp/CaseCoreModel.d.ts +21 -0
  421. package/lib/models/cmp/CaseCoreModel.d.ts.map +1 -0
  422. package/lib/models/cmp/ComplaintCategoryModel.d.ts +9 -0
  423. package/lib/models/cmp/ComplaintCategoryModel.d.ts.map +1 -0
  424. package/lib/models/cmp/ComplaintCategoryOutputModel.d.ts +6 -0
  425. package/lib/models/cmp/ComplaintCategoryOutputModel.d.ts.map +1 -0
  426. package/lib/models/cmp/ContactUsModel.d.ts +23 -0
  427. package/lib/models/cmp/ContactUsModel.d.ts.map +1 -0
  428. package/lib/models/cmp/EmailTemplateModel.d.ts +7 -0
  429. package/lib/models/cmp/EmailTemplateModel.d.ts.map +1 -0
  430. package/lib/models/cmp/contactUsInqueryModel.d.ts +47 -0
  431. package/lib/models/cmp/contactUsInqueryModel.d.ts.map +1 -0
  432. package/lib/models/cmp/messageRourceModel.d.ts +6 -0
  433. package/lib/models/cmp/messageRourceModel.d.ts.map +1 -0
  434. package/lib/models/dashboard-model.d.ts +44 -0
  435. package/lib/models/dashboard-model.d.ts.map +1 -0
  436. package/lib/models/dependent.model.d.ts +20 -0
  437. package/lib/models/dependent.model.d.ts.map +1 -0
  438. package/lib/models/questionnaire/AutocoderModel.d.ts +9 -0
  439. package/lib/models/questionnaire/AutocoderModel.d.ts.map +1 -0
  440. package/lib/models/questionnaire/ClaimAppEmpRequestModel.d.ts +9 -0
  441. package/lib/models/questionnaire/ClaimAppEmpRequestModel.d.ts.map +1 -0
  442. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +18 -0
  443. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts.map +1 -0
  444. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +156 -0
  445. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts.map +1 -0
  446. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +18 -0
  447. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts.map +1 -0
  448. package/lib/models/questionnaire/ComboModel.d.ts +178 -0
  449. package/lib/models/questionnaire/ComboModel.d.ts.map +1 -0
  450. package/lib/models/questionnaire/ElementsModel.d.ts +71 -0
  451. package/lib/models/questionnaire/ElementsModel.d.ts.map +1 -0
  452. package/lib/models/questionnaire/EmployerDetailSearchResult.d.ts +18 -0
  453. package/lib/models/questionnaire/EmployerDetailSearchResult.d.ts.map +1 -0
  454. package/lib/models/questionnaire/EmployerWagesModel.d.ts +5 -0
  455. package/lib/models/questionnaire/EmployerWagesModel.d.ts.map +1 -0
  456. package/lib/models/questionnaire/FBConfigModel.d.ts +12 -0
  457. package/lib/models/questionnaire/FBConfigModel.d.ts.map +1 -0
  458. package/lib/models/questionnaire/KeyValueModel.d.ts +11 -0
  459. package/lib/models/questionnaire/KeyValueModel.d.ts.map +1 -0
  460. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +11 -0
  461. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts.map +1 -0
  462. package/lib/models/questionnaire/LoaderModel.d.ts +5 -0
  463. package/lib/models/questionnaire/LoaderModel.d.ts.map +1 -0
  464. package/lib/models/questionnaire/PollingStatusModel.d.ts +7 -0
  465. package/lib/models/questionnaire/PollingStatusModel.d.ts.map +1 -0
  466. package/lib/models/questionnaire/QtrYearEmployerWageModel.d.ts +9 -0
  467. package/lib/models/questionnaire/QtrYearEmployerWageModel.d.ts.map +1 -0
  468. package/lib/models/questionnaire/QuestionnaireQueryModel.d.ts +24 -0
  469. package/lib/models/questionnaire/QuestionnaireQueryModel.d.ts.map +1 -0
  470. package/lib/models/questionnaire/QuestionnaireReturnModel.d.ts +21 -0
  471. package/lib/models/questionnaire/QuestionnaireReturnModel.d.ts.map +1 -0
  472. package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts +26 -0
  473. package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts.map +1 -0
  474. package/lib/models/questionnaire/RequalifyLiftIssuesModel.d.ts +14 -0
  475. package/lib/models/questionnaire/RequalifyLiftIssuesModel.d.ts.map +1 -0
  476. package/lib/models/questionnaire/ServiceActionResponseModel.d.ts +7 -0
  477. package/lib/models/questionnaire/ServiceActionResponseModel.d.ts.map +1 -0
  478. package/lib/models/questionnaire/StatusModel.d.ts +16 -0
  479. package/lib/models/questionnaire/StatusModel.d.ts.map +1 -0
  480. package/lib/models/questionnaire/SuccessPageElement.d.ts +9 -0
  481. package/lib/models/questionnaire/SuccessPageElement.d.ts.map +1 -0
  482. package/lib/models/questionnaire/UI512AResponseModel.d.ts +13 -0
  483. package/lib/models/questionnaire/UI512AResponseModel.d.ts.map +1 -0
  484. package/lib/models/questionnaire/ValidationModel.d.ts +18 -0
  485. package/lib/models/questionnaire/ValidationModel.d.ts.map +1 -0
  486. package/lib/ngx-reusa-app-lib.component.d.ts +9 -0
  487. package/lib/ngx-reusa-app-lib.component.d.ts.map +1 -0
  488. package/lib/ngx-reusa-app-lib.module.d.ts +155 -0
  489. package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -0
  490. package/lib/ngx-reusa-app-lib.service.d.ts +7 -0
  491. package/lib/ngx-reusa-app-lib.service.d.ts.map +1 -0
  492. package/lib/pages/BasePage.d.ts +32 -0
  493. package/lib/pages/BasePage.d.ts.map +1 -0
  494. package/lib/pages/common/accessibility-policy/accessibility-policy.page.d.ts +12 -0
  495. package/lib/pages/common/accessibility-policy/accessibility-policy.page.d.ts.map +1 -0
  496. package/lib/pages/common/change-password/change-password.page.d.ts +41 -0
  497. package/lib/pages/common/change-password/change-password.page.d.ts.map +1 -0
  498. package/lib/pages/common/landing/landing.component.d.ts +25 -0
  499. package/lib/pages/common/landing/landing.component.d.ts.map +1 -0
  500. package/lib/pages/common/landing2/landing2.component.d.ts +31 -0
  501. package/lib/pages/common/landing2/landing2.component.d.ts.map +1 -0
  502. package/lib/pages/common/login/login.component.d.ts +65 -0
  503. package/lib/pages/common/login/login.component.d.ts.map +1 -0
  504. package/lib/pages/common/not-found/not-found.page.d.ts +9 -0
  505. package/lib/pages/common/not-found/not-found.page.d.ts.map +1 -0
  506. package/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.d.ts +12 -0
  507. package/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.d.ts.map +1 -0
  508. package/lib/pages/common/security-policy/security-policy.page.d.ts +12 -0
  509. package/lib/pages/common/security-policy/security-policy.page.d.ts.map +1 -0
  510. package/lib/pages/common/unauthorized/unauthorized.page.d.ts +9 -0
  511. package/lib/pages/common/unauthorized/unauthorized.page.d.ts.map +1 -0
  512. package/lib/pages/popovers/language/language.page.d.ts +17 -0
  513. package/lib/pages/popovers/language/language.page.d.ts.map +1 -0
  514. package/lib/pages/popovers/my-notifications/my-notifications.page.d.ts +22 -0
  515. package/lib/pages/popovers/my-notifications/my-notifications.page.d.ts.map +1 -0
  516. package/lib/pages/popovers/my-profile/my-profile.page.d.ts +21 -0
  517. package/lib/pages/popovers/my-profile/my-profile.page.d.ts.map +1 -0
  518. package/lib/pages/popovers/user-search/user-search.component.d.ts +32 -0
  519. package/lib/pages/popovers/user-search/user-search.component.d.ts.map +1 -0
  520. package/lib/pipes/filter.pipe.d.ts +8 -0
  521. package/lib/pipes/filter.pipe.d.ts.map +1 -0
  522. package/lib/pipes/mask/mask.email.pipe.d.ts +11 -0
  523. package/lib/pipes/mask/mask.email.pipe.d.ts.map +1 -0
  524. package/lib/pipes/proper-case/proper-case.pipe.d.ts +9 -0
  525. package/lib/pipes/proper-case/proper-case.pipe.d.ts.map +1 -0
  526. package/lib/pipes/translate/dynamic-translate.pipe.d.ts +11 -0
  527. package/lib/pipes/translate/dynamic-translate.pipe.d.ts.map +1 -0
  528. package/lib/pipes/trust-html/trust-html.pipe.d.ts +11 -0
  529. package/lib/pipes/trust-html/trust-html.pipe.d.ts.map +1 -0
  530. package/lib/services/base-service.d.ts +93 -0
  531. package/lib/services/base-service.d.ts.map +1 -0
  532. package/lib/services/captcha/captcha.service.d.ts +16 -0
  533. package/lib/services/captcha/captcha.service.d.ts.map +1 -0
  534. package/lib/services/case-service/case.service.d.ts +20 -0
  535. package/lib/services/case-service/case.service.d.ts.map +1 -0
  536. package/lib/services/chatbot/chatbot.service.d.ts +61 -0
  537. package/lib/services/chatbot/chatbot.service.d.ts.map +1 -0
  538. package/lib/services/chatbot/script.const.d.ts +16 -0
  539. package/lib/services/chatbot/script.const.d.ts.map +1 -0
  540. package/lib/services/claimant/claimant.service.d.ts +18 -0
  541. package/lib/services/claimant/claimant.service.d.ts.map +1 -0
  542. package/lib/services/claimant-context/claimant-context.service.d.ts +19 -0
  543. package/lib/services/claimant-context/claimant-context.service.d.ts.map +1 -0
  544. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts +16 -0
  545. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts.map +1 -0
  546. package/lib/services/claimant-service/claimant.service.d.ts +26 -0
  547. package/lib/services/claimant-service/claimant.service.d.ts.map +1 -0
  548. package/lib/services/claims/claims.service.d.ts +42 -0
  549. package/lib/services/claims/claims.service.d.ts.map +1 -0
  550. package/lib/services/cmp-service/cmp.service.d.ts +34 -0
  551. package/lib/services/cmp-service/cmp.service.d.ts.map +1 -0
  552. package/lib/services/dms-service/dms.service.d.ts +24 -0
  553. package/lib/services/dms-service/dms.service.d.ts.map +1 -0
  554. package/lib/services/fpjs/fingerprint.service.d.ts +19 -0
  555. package/lib/services/fpjs/fingerprint.service.d.ts.map +1 -0
  556. package/lib/services/google-analytics/google-analytics.service.d.ts +9 -0
  557. package/lib/services/google-analytics/google-analytics.service.d.ts.map +1 -0
  558. package/lib/services/help/help.service.d.ts +26 -0
  559. package/lib/services/help/help.service.d.ts.map +1 -0
  560. package/lib/services/idle/idle.service.d.ts +44 -0
  561. package/lib/services/idle/idle.service.d.ts.map +1 -0
  562. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts +26 -0
  563. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts.map +1 -0
  564. package/lib/services/logger/logger.service.d.ts +32 -0
  565. package/lib/services/logger/logger.service.d.ts.map +1 -0
  566. package/lib/services/login/login.service.d.ts +79 -0
  567. package/lib/services/login/login.service.d.ts.map +1 -0
  568. package/lib/services/maintenance/maintenance.service.d.ts +16 -0
  569. package/lib/services/maintenance/maintenance.service.d.ts.map +1 -0
  570. package/lib/services/notification/notification.service.d.ts +39 -0
  571. package/lib/services/notification/notification.service.d.ts.map +1 -0
  572. package/lib/services/ovp/ovp.service.d.ts +17 -0
  573. package/lib/services/ovp/ovp.service.d.ts.map +1 -0
  574. package/lib/services/questionnaire/questionnaire.service.d.ts +36 -0
  575. package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -0
  576. package/lib/services/questionnaire/validation.service.d.ts +82 -0
  577. package/lib/services/questionnaire/validation.service.d.ts.map +1 -0
  578. package/lib/services/security-service/security.service.d.ts +18 -0
  579. package/lib/services/security-service/security.service.d.ts.map +1 -0
  580. package/lib/services/tour/tour.service.d.ts +25 -0
  581. package/lib/services/tour/tour.service.d.ts.map +1 -0
  582. package/lib/services/util/util.service.d.ts +194 -0
  583. package/lib/services/util/util.service.d.ts.map +1 -0
  584. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +17 -0
  585. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -0
  586. package/lib/validations/AppRegex.d.ts +50 -0
  587. package/lib/validations/AppRegex.d.ts.map +1 -0
  588. package/lib/validations/AppValidators.d.ts +82 -0
  589. package/lib/validations/AppValidators.d.ts.map +1 -0
  590. package/package.json +28 -0
  591. package/public-api.d.ts +128 -0
  592. package/public-api.d.ts.map +1 -0
@@ -0,0 +1,984 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { Validators, FormGroup, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { ComplaintCategoryOutputModel } from '../../models/cmp/ComplaintCategoryOutputModel';
4
+ import { ChoicesModel, ContactUsInqueryModel } from '../../models/cmp/contactUsInqueryModel';
5
+ import { AppRegex } from '../../validations/AppRegex';
6
+ import { AppValidators } from '../../validations/AppValidators';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/forms";
9
+ import * as i2 from "../../services/case-service/case.service";
10
+ import * as i3 from "../../services/cmp-service/cmp.service";
11
+ import * as i4 from "../../services/security-service/security.service";
12
+ import * as i5 from "../../services/util/util.service";
13
+ import * as i6 from "../../services/logger/logger.service";
14
+ import * as i7 from "@ngx-translate/core";
15
+ import * as i8 from "@ionic/angular";
16
+ import * as i9 from "@angular/common";
17
+ import * as i10 from "primeng/inputtext";
18
+ import * as i11 from "primeng/inputmask";
19
+ import * as i12 from "primeng/selectbutton";
20
+ import * as i13 from "primeng/inputnumber";
21
+ import * as i14 from "primeng/inputtextarea";
22
+ import * as i15 from "primeng/dropdown";
23
+ import * as i16 from "../error/error.component";
24
+ import * as i17 from "../captcha/captcha.component";
25
+ import * as i18 from "../address/address.component";
26
+ const _c0 = ["contactFormDirective"];
27
+ function ContactUsComponent_h1_0_Template(rf, ctx) { if (rf & 1) {
28
+ i0.ɵɵelementStart(0, "h1", 4);
29
+ i0.ɵɵtext(1);
30
+ i0.ɵɵpipe(2, "translate");
31
+ i0.ɵɵelementEnd();
32
+ } if (rf & 2) {
33
+ i0.ɵɵadvance(1);
34
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "contact.us.pageTitle"));
35
+ } }
36
+ function ContactUsComponent_div_1_p_2_Template(rf, ctx) { if (rf & 1) {
37
+ i0.ɵɵelementStart(0, "p", 31);
38
+ i0.ɵɵtext(1);
39
+ i0.ɵɵpipe(2, "translate");
40
+ i0.ɵɵelementEnd();
41
+ } if (rf & 2) {
42
+ i0.ɵɵadvance(1);
43
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "contact.us.pageHeader"), " ");
44
+ } }
45
+ const _c1 = () => ({ required: "required" });
46
+ function ContactUsComponent_div_1_div_26_Template(rf, ctx) { if (rf & 1) {
47
+ const _r20 = i0.ɵɵgetCurrentView();
48
+ i0.ɵɵelementStart(0, "div", 32)(1, "label", 33);
49
+ i0.ɵɵtext(2);
50
+ i0.ɵɵpipe(3, "translate");
51
+ i0.ɵɵelementEnd();
52
+ i0.ɵɵelement(4, "br");
53
+ i0.ɵɵelementStart(5, "p-inputMask", 34);
54
+ i0.ɵɵlistener("onFocus", function ContactUsComponent_div_1_div_26_Template_p_inputMask_onFocus_5_listener() { i0.ɵɵrestoreView(_r20); const ctx_r19 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r19.inputType = "text"); })("onBlur", function ContactUsComponent_div_1_div_26_Template_p_inputMask_onBlur_5_listener() { i0.ɵɵrestoreView(_r20); const ctx_r21 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r21.inputType = "password"); });
55
+ i0.ɵɵelementEnd();
56
+ i0.ɵɵelement(6, "app-error", 13);
57
+ i0.ɵɵelementEnd();
58
+ } if (rf & 2) {
59
+ i0.ɵɵnextContext();
60
+ const _r6 = i0.ɵɵreference(4);
61
+ const ctx_r7 = i0.ɵɵnextContext();
62
+ i0.ɵɵadvance(2);
63
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "contact.us.ssn"));
64
+ i0.ɵɵadvance(3);
65
+ i0.ɵɵproperty("type", ctx_r7.inputType);
66
+ i0.ɵɵadvance(1);
67
+ i0.ɵɵclassMap("app-grid");
68
+ i0.ɵɵproperty("field", ctx_r7.ssn)("form", _r6)("errDef", i0.ɵɵpureFunction0(9, _c1));
69
+ } }
70
+ function ContactUsComponent_div_1_div_27_Template(rf, ctx) { if (rf & 1) {
71
+ i0.ɵɵelementStart(0, "div", 32)(1, "label", 35);
72
+ i0.ɵɵtext(2);
73
+ i0.ɵɵpipe(3, "translate");
74
+ i0.ɵɵelementEnd();
75
+ i0.ɵɵelement(4, "br")(5, "p-inputNumber", 36);
76
+ i0.ɵɵpipe(6, "translate");
77
+ i0.ɵɵelementEnd();
78
+ } if (rf & 2) {
79
+ i0.ɵɵadvance(2);
80
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 3, "contact.us.claimantID"));
81
+ i0.ɵɵadvance(3);
82
+ i0.ɵɵpropertyInterpolate("placeholder", i0.ɵɵpipeBind1(6, 5, "common.optional"));
83
+ i0.ɵɵproperty("useGrouping", false);
84
+ } }
85
+ function ContactUsComponent_div_1_div_28_Template(rf, ctx) { if (rf & 1) {
86
+ const _r23 = i0.ɵɵgetCurrentView();
87
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 37);
88
+ i0.ɵɵtext(2);
89
+ i0.ɵɵpipe(3, "translate");
90
+ i0.ɵɵelementEnd();
91
+ i0.ɵɵelement(4, "br");
92
+ i0.ɵɵelementStart(5, "p-inputMask", 38);
93
+ i0.ɵɵlistener("onFocus", function ContactUsComponent_div_1_div_28_Template_p_inputMask_onFocus_5_listener() { i0.ɵɵrestoreView(_r23); const ctx_r22 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r22.inputType = "text"); })("onBlur", function ContactUsComponent_div_1_div_28_Template_p_inputMask_onBlur_5_listener() { i0.ɵɵrestoreView(_r23); const ctx_r24 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r24.inputType = "password"); });
94
+ i0.ɵɵelementEnd();
95
+ i0.ɵɵelement(6, "app-error", 13);
96
+ i0.ɵɵelementEnd();
97
+ } if (rf & 2) {
98
+ i0.ɵɵnextContext();
99
+ const _r6 = i0.ɵɵreference(4);
100
+ const ctx_r9 = i0.ɵɵnextContext();
101
+ i0.ɵɵadvance(2);
102
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "contact.us.ean"));
103
+ i0.ɵɵadvance(3);
104
+ i0.ɵɵproperty("type", ctx_r9.inputType);
105
+ i0.ɵɵadvance(1);
106
+ i0.ɵɵclassMap("app-grid");
107
+ i0.ɵɵproperty("field", ctx_r9.ean)("form", _r6)("errDef", i0.ɵɵpureFunction0(9, _c1));
108
+ } }
109
+ function ContactUsComponent_div_1_div_29_Template(rf, ctx) { if (rf & 1) {
110
+ const _r26 = i0.ɵɵgetCurrentView();
111
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 39);
112
+ i0.ɵɵtext(2);
113
+ i0.ɵɵpipe(3, "translate");
114
+ i0.ɵɵelementEnd();
115
+ i0.ɵɵelement(4, "br");
116
+ i0.ɵɵelementStart(5, "p-inputMask", 40);
117
+ i0.ɵɵlistener("onFocus", function ContactUsComponent_div_1_div_29_Template_p_inputMask_onFocus_5_listener() { i0.ɵɵrestoreView(_r26); const ctx_r25 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r25.inputType = "text"); })("onBlur", function ContactUsComponent_div_1_div_29_Template_p_inputMask_onBlur_5_listener() { i0.ɵɵrestoreView(_r26); const ctx_r27 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r27.inputType = "password"); });
118
+ i0.ɵɵelementEnd();
119
+ i0.ɵɵelement(6, "app-error", 13);
120
+ i0.ɵɵelementEnd();
121
+ } if (rf & 2) {
122
+ i0.ɵɵnextContext();
123
+ const _r6 = i0.ɵɵreference(4);
124
+ const ctx_r10 = i0.ɵɵnextContext();
125
+ i0.ɵɵadvance(2);
126
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "contact.us.fein"));
127
+ i0.ɵɵadvance(3);
128
+ i0.ɵɵproperty("type", ctx_r10.inputType);
129
+ i0.ɵɵadvance(1);
130
+ i0.ɵɵclassMap("app-grid");
131
+ i0.ɵɵproperty("field", ctx_r10.fein)("form", _r6)("errDef", i0.ɵɵpureFunction0(9, _c1));
132
+ } }
133
+ function ContactUsComponent_div_1_div_30_Template(rf, ctx) { if (rf & 1) {
134
+ i0.ɵɵelementStart(0, "div", 10)(1, "label", 41);
135
+ i0.ɵɵtext(2);
136
+ i0.ɵɵpipe(3, "translate");
137
+ i0.ɵɵelementEnd();
138
+ i0.ɵɵelement(4, "br")(5, "p-dropdown", 42)(6, "app-error", 13);
139
+ i0.ɵɵelementEnd();
140
+ } if (rf & 2) {
141
+ i0.ɵɵnextContext();
142
+ const _r6 = i0.ɵɵreference(4);
143
+ const ctx_r11 = i0.ɵɵnextContext();
144
+ i0.ɵɵadvance(2);
145
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "contact.us.selectedReason"));
146
+ i0.ɵɵadvance(3);
147
+ i0.ɵɵproperty("options", ctx_r11.activeComplaintCategory)("autoDisplayFirst", false);
148
+ i0.ɵɵadvance(1);
149
+ i0.ɵɵclassMap("app-grid");
150
+ i0.ɵɵproperty("field", ctx_r11.selectedReason)("form", _r6)("errDef", i0.ɵɵpureFunction0(10, _c1));
151
+ } }
152
+ function ContactUsComponent_div_1_div_60_Template(rf, ctx) { if (rf & 1) {
153
+ i0.ɵɵelementStart(0, "div", 10);
154
+ i0.ɵɵelement(1, "app-captcha", 43)(2, "app-error", 13);
155
+ i0.ɵɵelementEnd();
156
+ } if (rf & 2) {
157
+ i0.ɵɵnextContext();
158
+ const _r6 = i0.ɵɵreference(4);
159
+ const ctx_r12 = i0.ɵɵnextContext();
160
+ i0.ɵɵadvance(2);
161
+ i0.ɵɵclassMap("app-grid");
162
+ i0.ɵɵproperty("field", ctx_r12.captcha)("form", _r6)("errDef", i0.ɵɵpureFunction0(5, _c1));
163
+ } }
164
+ function ContactUsComponent_div_1_div_61_Template(rf, ctx) { if (rf & 1) {
165
+ const _r29 = i0.ɵɵgetCurrentView();
166
+ i0.ɵɵelementStart(0, "div", 32)(1, "label", 44);
167
+ i0.ɵɵtext(2);
168
+ i0.ɵɵpipe(3, "translate");
169
+ i0.ɵɵelementEnd();
170
+ i0.ɵɵelementStart(4, "p-dropdown", 45);
171
+ i0.ɵɵlistener("onChange", function ContactUsComponent_div_1_div_61_Template_p_dropdown_onChange_4_listener($event) { i0.ɵɵrestoreView(_r29); const ctx_r28 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r28.fetchUnitsBasedOnDepType($event)); });
172
+ i0.ɵɵelementEnd();
173
+ i0.ɵɵelement(5, "app-error", 13);
174
+ i0.ɵɵelementEnd();
175
+ } if (rf & 2) {
176
+ i0.ɵɵnextContext();
177
+ const _r6 = i0.ɵɵreference(4);
178
+ const ctx_r13 = i0.ɵɵnextContext();
179
+ i0.ɵɵadvance(2);
180
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "contact.us.division"));
181
+ i0.ɵɵadvance(2);
182
+ i0.ɵɵproperty("options", ctx_r13.allDepartments)("autoDisplayFirst", false);
183
+ i0.ɵɵadvance(1);
184
+ i0.ɵɵclassMap("app-grid");
185
+ i0.ɵɵproperty("field", ctx_r13.division)("form", _r6)("errDef", i0.ɵɵpureFunction0(10, _c1));
186
+ } }
187
+ function ContactUsComponent_div_1_div_62_Template(rf, ctx) { if (rf & 1) {
188
+ const _r31 = i0.ɵɵgetCurrentView();
189
+ i0.ɵɵelementStart(0, "div", 32)(1, "label", 46);
190
+ i0.ɵɵtext(2);
191
+ i0.ɵɵpipe(3, "translate");
192
+ i0.ɵɵelementEnd();
193
+ i0.ɵɵelementStart(4, "p-dropdown", 47);
194
+ i0.ɵɵlistener("onChange", function ContactUsComponent_div_1_div_62_Template_p_dropdown_onChange_4_listener($event) { i0.ɵɵrestoreView(_r31); const ctx_r30 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r30.fetchUsersBasedOnUnit($event)); });
195
+ i0.ɵɵelementEnd();
196
+ i0.ɵɵelement(5, "app-error", 13);
197
+ i0.ɵɵelementEnd();
198
+ } if (rf & 2) {
199
+ i0.ɵɵnextContext();
200
+ const _r6 = i0.ɵɵreference(4);
201
+ const ctx_r14 = i0.ɵɵnextContext();
202
+ i0.ɵɵadvance(2);
203
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "contact.us.unit"));
204
+ i0.ɵɵadvance(2);
205
+ i0.ɵɵproperty("options", ctx_r14.unitsBasedOnDept)("autoDisplayFirst", false);
206
+ i0.ɵɵadvance(1);
207
+ i0.ɵɵclassMap("app-grid");
208
+ i0.ɵɵproperty("field", ctx_r14.unit)("form", _r6)("errDef", i0.ɵɵpureFunction0(10, _c1));
209
+ } }
210
+ function ContactUsComponent_div_1_div_63_Template(rf, ctx) { if (rf & 1) {
211
+ const _r33 = i0.ɵɵgetCurrentView();
212
+ i0.ɵɵelementStart(0, "div", 32)(1, "label", 48);
213
+ i0.ɵɵtext(2);
214
+ i0.ɵɵpipe(3, "translate");
215
+ i0.ɵɵelementEnd();
216
+ i0.ɵɵelement(4, "br");
217
+ i0.ɵɵelementStart(5, "p-dropdown", 49);
218
+ i0.ɵɵlistener("onChange", function ContactUsComponent_div_1_div_63_Template_p_dropdown_onChange_5_listener($event) { i0.ɵɵrestoreView(_r33); const ctx_r32 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r32.fetchUsersBasedOnRoles($event)); });
219
+ i0.ɵɵelementEnd();
220
+ i0.ɵɵelement(6, "app-error", 13);
221
+ i0.ɵɵelementEnd();
222
+ } if (rf & 2) {
223
+ i0.ɵɵnextContext();
224
+ const _r6 = i0.ɵɵreference(4);
225
+ const ctx_r15 = i0.ɵɵnextContext();
226
+ i0.ɵɵadvance(2);
227
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "contact.us.generalAssignment"));
228
+ i0.ɵɵadvance(3);
229
+ i0.ɵɵproperty("options", ctx_r15.allRoles)("autoDisplayFirst", false);
230
+ i0.ɵɵadvance(1);
231
+ i0.ɵɵclassMap("app-grid");
232
+ i0.ɵɵproperty("field", ctx_r15.generalAssignment)("form", _r6)("errDef", i0.ɵɵpureFunction0(10, _c1));
233
+ } }
234
+ function ContactUsComponent_div_1_div_64_Template(rf, ctx) { if (rf & 1) {
235
+ i0.ɵɵelementStart(0, "div", 32)(1, "label", 50);
236
+ i0.ɵɵtext(2);
237
+ i0.ɵɵpipe(3, "translate");
238
+ i0.ɵɵelementEnd();
239
+ i0.ɵɵelement(4, "br")(5, "p-dropdown", 51)(6, "app-error", 13);
240
+ i0.ɵɵelementEnd();
241
+ } if (rf & 2) {
242
+ i0.ɵɵnextContext();
243
+ const _r6 = i0.ɵɵreference(4);
244
+ const ctx_r16 = i0.ɵɵnextContext();
245
+ i0.ɵɵadvance(2);
246
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "contact.us.assignCaseTo"));
247
+ i0.ɵɵadvance(3);
248
+ i0.ɵɵproperty("options", ctx_r16.usersFLname)("autoDisplayFirst", false);
249
+ i0.ɵɵadvance(1);
250
+ i0.ɵɵclassMap("app-grid");
251
+ i0.ɵɵproperty("field", ctx_r16.assignCaseTo)("form", _r6)("errDef", i0.ɵɵpureFunction0(10, _c1));
252
+ } }
253
+ function ContactUsComponent_div_1_div_65_Template(rf, ctx) { if (rf & 1) {
254
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 52);
255
+ i0.ɵɵtext(2);
256
+ i0.ɵɵpipe(3, "translate");
257
+ i0.ɵɵelementEnd();
258
+ i0.ɵɵelement(4, "br")(5, "p-dropdown", 53)(6, "app-error", 13);
259
+ i0.ɵɵelementEnd();
260
+ } if (rf & 2) {
261
+ i0.ɵɵnextContext();
262
+ const _r6 = i0.ɵɵreference(4);
263
+ const ctx_r17 = i0.ɵɵnextContext();
264
+ i0.ɵɵadvance(2);
265
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "contact.us.msgGeneratedThrough"));
266
+ i0.ɵɵadvance(3);
267
+ i0.ɵɵproperty("options", ctx_r17.msgGeneratedThroughList)("autoDisplayFirst", false);
268
+ i0.ɵɵadvance(1);
269
+ i0.ɵɵclassMap("app-grid");
270
+ i0.ɵɵproperty("field", ctx_r17.generatedThrough)("form", _r6)("errDef", i0.ɵɵpureFunction0(10, _c1));
271
+ } }
272
+ function ContactUsComponent_div_1_div_66_Template(rf, ctx) { if (rf & 1) {
273
+ i0.ɵɵelementStart(0, "div", 10)(1, "label", 54);
274
+ i0.ɵɵtext(2);
275
+ i0.ɵɵpipe(3, "translate");
276
+ i0.ɵɵelementEnd();
277
+ i0.ɵɵelement(4, "br")(5, "p-dropdown", 55);
278
+ i0.ɵɵelementEnd();
279
+ } if (rf & 2) {
280
+ const ctx_r18 = i0.ɵɵnextContext(2);
281
+ i0.ɵɵadvance(2);
282
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 3, "contact.us.close"));
283
+ i0.ɵɵadvance(3);
284
+ i0.ɵɵproperty("options", ctx_r18.allCloseReasons)("autoDisplayFirst", false);
285
+ } }
286
+ const _c2 = a1 => ({ required: "required", email: a1 });
287
+ function ContactUsComponent_div_1_Template(rf, ctx) { if (rf & 1) {
288
+ const _r35 = i0.ɵɵgetCurrentView();
289
+ i0.ɵɵelementStart(0, "div")(1, "span", 5);
290
+ i0.ɵɵtemplate(2, ContactUsComponent_div_1_p_2_Template, 3, 3, "p", 6);
291
+ i0.ɵɵelementEnd();
292
+ i0.ɵɵelementStart(3, "form", 7, 8);
293
+ i0.ɵɵlistener("ngSubmit", function ContactUsComponent_div_1_Template_form_ngSubmit_3_listener() { i0.ɵɵrestoreView(_r35); const ctx_r34 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r34.submitContactUs); });
294
+ i0.ɵɵelementStart(5, "div", 9)(6, "div", 10)(7, "label", 11);
295
+ i0.ɵɵtext(8);
296
+ i0.ɵɵpipe(9, "translate");
297
+ i0.ɵɵelementEnd();
298
+ i0.ɵɵelementStart(10, "p-selectButton", 12);
299
+ i0.ɵɵlistener("onOptionClick", function ContactUsComponent_div_1_Template_p_selectButton_onOptionClick_10_listener($event) { i0.ɵɵrestoreView(_r35); const ctx_r36 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r36.activeUserType($event)); });
300
+ i0.ɵɵelementEnd();
301
+ i0.ɵɵelement(11, "app-error", 13);
302
+ i0.ɵɵelementEnd();
303
+ i0.ɵɵelementStart(12, "div", 14)(13, "label", 15);
304
+ i0.ɵɵtext(14);
305
+ i0.ɵɵpipe(15, "translate");
306
+ i0.ɵɵelementEnd();
307
+ i0.ɵɵelement(16, "br")(17, "input", 16)(18, "app-error", 13);
308
+ i0.ɵɵelementEnd();
309
+ i0.ɵɵelementStart(19, "div", 14)(20, "label", 17);
310
+ i0.ɵɵtext(21);
311
+ i0.ɵɵpipe(22, "translate");
312
+ i0.ɵɵelementEnd();
313
+ i0.ɵɵelement(23, "br")(24, "input", 18)(25, "app-error", 13);
314
+ i0.ɵɵelementEnd();
315
+ i0.ɵɵtemplate(26, ContactUsComponent_div_1_div_26_Template, 7, 10, "div", 19)(27, ContactUsComponent_div_1_div_27_Template, 7, 7, "div", 19)(28, ContactUsComponent_div_1_div_28_Template, 7, 10, "div", 20)(29, ContactUsComponent_div_1_div_29_Template, 7, 10, "div", 20)(30, ContactUsComponent_div_1_div_30_Template, 7, 11, "div", 21);
316
+ i0.ɵɵelementStart(31, "div", 10)(32, "label", 22);
317
+ i0.ɵɵtext(33);
318
+ i0.ɵɵpipe(34, "translate");
319
+ i0.ɵɵelementEnd();
320
+ i0.ɵɵelement(35, "br")(36, "textarea", 23)(37, "br")(38, "app-error", 13);
321
+ i0.ɵɵelementStart(39, "small");
322
+ i0.ɵɵtext(40);
323
+ i0.ɵɵpipe(41, "translate");
324
+ i0.ɵɵelementEnd()();
325
+ i0.ɵɵelementStart(42, "div", 10)(43, "label", 24);
326
+ i0.ɵɵtext(44);
327
+ i0.ɵɵpipe(45, "translate");
328
+ i0.ɵɵelementEnd();
329
+ i0.ɵɵelement(46, "input", 25)(47, "app-error", 13);
330
+ i0.ɵɵelementEnd();
331
+ i0.ɵɵelementStart(48, "div", 14)(49, "label", 26);
332
+ i0.ɵɵtext(50);
333
+ i0.ɵɵpipe(51, "translate");
334
+ i0.ɵɵelementEnd();
335
+ i0.ɵɵelement(52, "p-inputMask", 27);
336
+ i0.ɵɵelementEnd();
337
+ i0.ɵɵelementStart(53, "div", 14)(54, "label", 28);
338
+ i0.ɵɵtext(55);
339
+ i0.ɵɵpipe(56, "translate");
340
+ i0.ɵɵelementEnd();
341
+ i0.ɵɵelement(57, "p-inputMask", 29);
342
+ i0.ɵɵelementEnd();
343
+ i0.ɵɵelementStart(58, "div", 10);
344
+ i0.ɵɵelement(59, "app-address", 30);
345
+ i0.ɵɵelementEnd();
346
+ i0.ɵɵtemplate(60, ContactUsComponent_div_1_div_60_Template, 3, 6, "div", 21)(61, ContactUsComponent_div_1_div_61_Template, 6, 11, "div", 19)(62, ContactUsComponent_div_1_div_62_Template, 6, 11, "div", 19)(63, ContactUsComponent_div_1_div_63_Template, 7, 11, "div", 19)(64, ContactUsComponent_div_1_div_64_Template, 7, 11, "div", 19)(65, ContactUsComponent_div_1_div_65_Template, 7, 11, "div", 20)(66, ContactUsComponent_div_1_div_66_Template, 6, 5, "div", 21);
347
+ i0.ɵɵelementEnd()()();
348
+ } if (rf & 2) {
349
+ const _r6 = i0.ɵɵreference(4);
350
+ const ctx_r1 = i0.ɵɵnextContext();
351
+ i0.ɵɵadvance(2);
352
+ i0.ɵɵproperty("ngIf", ctx_r1.isNewCase);
353
+ i0.ɵɵadvance(1);
354
+ i0.ɵɵproperty("formGroup", ctx_r1.contactUsForm);
355
+ i0.ɵɵadvance(5);
356
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(9, 49, "contact.us.userType"));
357
+ i0.ɵɵadvance(2);
358
+ i0.ɵɵproperty("options", ctx_r1.type);
359
+ i0.ɵɵadvance(1);
360
+ i0.ɵɵclassMap("app-grid");
361
+ i0.ɵɵproperty("field", ctx_r1.userType)("form", _r6)("errDef", i0.ɵɵpureFunction0(65, _c1));
362
+ i0.ɵɵadvance(3);
363
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(15, 51, "contact.us.firstname"));
364
+ i0.ɵɵadvance(4);
365
+ i0.ɵɵclassMap("app-grid");
366
+ i0.ɵɵproperty("field", ctx_r1.firstName)("form", _r6)("errDef", i0.ɵɵpureFunction0(66, _c1));
367
+ i0.ɵɵadvance(3);
368
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(22, 53, "contact.us.lastName"));
369
+ i0.ɵɵadvance(4);
370
+ i0.ɵɵclassMap("app-grid");
371
+ i0.ɵɵproperty("field", ctx_r1.lastName)("form", _r6)("errDef", i0.ɵɵpureFunction0(67, _c1));
372
+ i0.ɵɵadvance(1);
373
+ i0.ɵɵproperty("ngIf", ctx_r1.userType.value == "CLMT");
374
+ i0.ɵɵadvance(1);
375
+ i0.ɵɵproperty("ngIf", ctx_r1.userType.value == "CLMT");
376
+ i0.ɵɵadvance(1);
377
+ i0.ɵɵproperty("ngIf", ctx_r1.userType.value == "EMPR");
378
+ i0.ɵɵadvance(1);
379
+ i0.ɵɵproperty("ngIf", ctx_r1.userType.value == "EMPR");
380
+ i0.ɵɵadvance(1);
381
+ i0.ɵɵproperty("ngIf", ctx_r1.userType.value == "CLMT" || ctx_r1.userType.value == "EMPR");
382
+ i0.ɵɵadvance(3);
383
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(34, 55, "contact.us.issue"));
384
+ i0.ɵɵadvance(5);
385
+ i0.ɵɵclassMap("app-grid");
386
+ i0.ɵɵproperty("field", ctx_r1.issue)("form", _r6)("errDef", i0.ɵɵpureFunction0(68, _c1));
387
+ i0.ɵɵadvance(2);
388
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(41, 57, "contact.us.issueNotes"));
389
+ i0.ɵɵadvance(4);
390
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(45, 59, "contact.us.email"));
391
+ i0.ɵɵadvance(3);
392
+ i0.ɵɵclassMap("app-grid");
393
+ i0.ɵɵproperty("field", ctx_r1.email)("form", _r6)("errDef", i0.ɵɵpureFunction1(69, _c2, ctx_r1.validEmail));
394
+ i0.ɵɵadvance(3);
395
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(51, 61, "contact.us.phone"));
396
+ i0.ɵɵadvance(5);
397
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(56, 63, "contact.us.altPhone"));
398
+ i0.ɵɵadvance(4);
399
+ i0.ɵɵproperty("fromPopup", true);
400
+ i0.ɵɵadvance(1);
401
+ i0.ɵɵproperty("ngIf", !ctx_r1.isCsr);
402
+ i0.ɵɵadvance(1);
403
+ i0.ɵɵproperty("ngIf", ctx_r1.isCsr);
404
+ i0.ɵɵadvance(1);
405
+ i0.ɵɵproperty("ngIf", ctx_r1.isCsr);
406
+ i0.ɵɵadvance(1);
407
+ i0.ɵɵproperty("ngIf", ctx_r1.isCsr);
408
+ i0.ɵɵadvance(1);
409
+ i0.ɵɵproperty("ngIf", ctx_r1.isCsr);
410
+ i0.ɵɵadvance(1);
411
+ i0.ɵɵproperty("ngIf", ctx_r1.isCsr);
412
+ i0.ɵɵadvance(1);
413
+ i0.ɵɵproperty("ngIf", ctx_r1.isCsr && ctx_r1.selectedCase);
414
+ } }
415
+ function ContactUsComponent_div_2_div_1_Template(rf, ctx) { if (rf & 1) {
416
+ i0.ɵɵelementStart(0, "div")(1, "ion-row")(2, "ion-col", 56);
417
+ i0.ɵɵtext(3);
418
+ i0.ɵɵpipe(4, "translate");
419
+ i0.ɵɵelementStart(5, "span", 57);
420
+ i0.ɵɵtext(6);
421
+ i0.ɵɵelementEnd()()();
422
+ i0.ɵɵelementStart(7, "ion-row")(8, "ion-col", 58);
423
+ i0.ɵɵelement(9, "ion-icon", 59);
424
+ i0.ɵɵelementEnd()();
425
+ i0.ɵɵelementStart(10, "ion-row")(11, "ion-col", 60);
426
+ i0.ɵɵtext(12);
427
+ i0.ɵɵpipe(13, "translate");
428
+ i0.ɵɵelementEnd()()();
429
+ } if (rf & 2) {
430
+ const ctx_r37 = i0.ɵɵnextContext(2);
431
+ i0.ɵɵadvance(3);
432
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 3, "contact.us.successMsg"), "");
433
+ i0.ɵɵadvance(3);
434
+ i0.ɵɵtextInterpolate(ctx_r37.caseNo);
435
+ i0.ɵɵadvance(6);
436
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(13, 5, "contact.us.contactAgain"), " ");
437
+ } }
438
+ function ContactUsComponent_div_2_div_2_Template(rf, ctx) { if (rf & 1) {
439
+ i0.ɵɵelementStart(0, "div")(1, "ion-row")(2, "ion-col", 56);
440
+ i0.ɵɵtext(3);
441
+ i0.ɵɵpipe(4, "translate");
442
+ i0.ɵɵelementEnd()()();
443
+ } if (rf & 2) {
444
+ i0.ɵɵadvance(3);
445
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 1, "contact.us.failedMsg"), " ");
446
+ } }
447
+ function ContactUsComponent_div_2_Template(rf, ctx) { if (rf & 1) {
448
+ i0.ɵɵelementStart(0, "div");
449
+ i0.ɵɵtemplate(1, ContactUsComponent_div_2_div_1_Template, 14, 7, "div", 1)(2, ContactUsComponent_div_2_div_2_Template, 5, 3, "div", 1);
450
+ i0.ɵɵelementEnd();
451
+ } if (rf & 2) {
452
+ const ctx_r2 = i0.ɵɵnextContext();
453
+ i0.ɵɵadvance(1);
454
+ i0.ɵɵproperty("ngIf", ctx_r2.submitSuccess);
455
+ i0.ɵɵadvance(1);
456
+ i0.ɵɵproperty("ngIf", !ctx_r2.submitSuccess);
457
+ } }
458
+ function ContactUsComponent_ion_button_4_Template(rf, ctx) { if (rf & 1) {
459
+ const _r40 = i0.ɵɵgetCurrentView();
460
+ i0.ɵɵelementStart(0, "ion-button", 61);
461
+ i0.ɵɵlistener("click", function ContactUsComponent_ion_button_4_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r40); const ctx_r39 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r39.submitContactUs(ctx_r39.contactUsForm)); });
462
+ i0.ɵɵtext(1);
463
+ i0.ɵɵpipe(2, "translate");
464
+ i0.ɵɵelementEnd();
465
+ } if (rf & 2) {
466
+ i0.ɵɵadvance(1);
467
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(2, 1, "common.submit"), " ");
468
+ } }
469
+ function ContactUsComponent_ion_button_5_Template(rf, ctx) { if (rf & 1) {
470
+ const _r42 = i0.ɵɵgetCurrentView();
471
+ i0.ɵɵelementStart(0, "ion-button", 61);
472
+ i0.ɵɵlistener("click", function ContactUsComponent_ion_button_5_Template_ion_button_click_0_listener($event) { i0.ɵɵrestoreView(_r42); const ctx_r41 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r41.emitHide($event)); });
473
+ i0.ɵɵtext(1);
474
+ i0.ɵɵpipe(2, "translate");
475
+ i0.ɵɵelementEnd();
476
+ } if (rf & 2) {
477
+ i0.ɵɵadvance(1);
478
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "common.close"), " ");
479
+ } }
480
+ export class ContactUsComponent {
481
+ constructor(formBuilder, caseService, cmpService, securityService, util, loggerService, translateService) {
482
+ this.formBuilder = formBuilder;
483
+ this.caseService = caseService;
484
+ this.cmpService = cmpService;
485
+ this.securityService = securityService;
486
+ this.util = util;
487
+ this.loggerService = loggerService;
488
+ this.translateService = translateService;
489
+ this.allRoles = [];
490
+ this.usersFLname = [];
491
+ this.isCsr = false;
492
+ this.isNewCase = true;
493
+ this.modelCancel = new EventEmitter();
494
+ this.success = new EventEmitter();
495
+ this.updateSuccess = new EventEmitter();
496
+ this.onHide = new EventEmitter();
497
+ this.onLoad = new EventEmitter();
498
+ this.showSuccess = false;
499
+ this.display = true;
500
+ this.submitSuccess = false;
501
+ this.inputType = 'text';
502
+ this.type = [
503
+ { text: 'a claimant', value: 'CLMT' },
504
+ { text: 'an employer', value: 'EMPR' }
505
+ ];
506
+ this.onChange = (value) => {
507
+ };
508
+ this.onTouch = () => {
509
+ };
510
+ }
511
+ writeValue(value) {
512
+ }
513
+ registerOnChange(fn) {
514
+ this.onChange = fn;
515
+ }
516
+ registerOnTouched(fn) {
517
+ this.onTouch = fn;
518
+ }
519
+ setDisabledState(isDisabled) {
520
+ throw new Error('Method not implemented.');
521
+ }
522
+ ngOnInit() {
523
+ this.contactUsForm = this.formBuilder.group({
524
+ 'userType': [null, Validators.required],
525
+ 'firstName': [null, Validators.required],
526
+ 'lastName': [null, Validators.required],
527
+ 'ssn': [null],
528
+ 'claimantId': [null],
529
+ 'ean': [null],
530
+ 'fein': [null],
531
+ 'selectedReason': [null, Validators.required],
532
+ 'issue': [null, Validators.required],
533
+ 'email': [null, [Validators.required, AppValidators.match(AppRegex.EMAIL_REGEX, { email: true })]],
534
+ 'phone': [null],
535
+ 'altPhone': [null],
536
+ 'address': [null],
537
+ 'division': [null],
538
+ 'unit': [null],
539
+ 'generalAssignment': [null],
540
+ 'assignCaseTo': [null],
541
+ 'closeCaseReason': [null],
542
+ 'generatedThrough': [null],
543
+ 'captcha': [null, Validators.required]
544
+ });
545
+ this.selectButtonValidation();
546
+ this.selectCSRvalidation();
547
+ this.getComplaintCategory();
548
+ this.fetchMstDepartments();
549
+ this.fetchMstAllUnits();
550
+ this.fetchMstCaseCloseReasons();
551
+ this.getAllRoles();
552
+ this.getMsgGeneratedThrough();
553
+ if (this.selectedCase && this.isCsr == true) {
554
+ this.loadPreSavedContactUsDetails();
555
+ }
556
+ }
557
+ loadPreSavedContactUsDetails() {
558
+ this.loggerService.debug("selected case : ", this.selectedCase);
559
+ this.cmpService.fetchInquiryDetailsByInquiryId(this.selectedCase.caseNumber).subscribe(res => {
560
+ this.loggerService.info(res);
561
+ this.contactUsForm.patchValue(res);
562
+ this.userType.setValue(res["userType"].value);
563
+ this.division.setValue(this.allDepartments.filter(c => c.key == this.selectedCase.department.key)[0]);
564
+ this.generalAssignment.setValue(this.allRoles.filter(c => c.value == this.selectedCase.level.text)[0]);
565
+ if (res["userType"].value === 'EMPR') {
566
+ this.activeComplaintCategory = this.complaintCategoryRetrivedListEmpr;
567
+ this.selectButtonValidation();
568
+ }
569
+ else if (res["userType"].value === 'CLMT') {
570
+ this.activeComplaintCategory = this.complaintCategoryRetrivedListClmt;
571
+ this.selectButtonValidation();
572
+ }
573
+ this.selectedReason.setValue(this.activeComplaintCategory.filter(c => c.complaintCategoryId == res.complaintCategory)[0]);
574
+ this.selectedDepType = this.division.value.key;
575
+ this.getUnitsBasedOnDepSelected();
576
+ if (this.selectedCase.unit != null) {
577
+ this.unit.setValue(this.unitsBasedOnDept.filter(c => c.key == this.selectedCase.unit.key)[0]);
578
+ this.selectedUnit = this.unit.value.key;
579
+ }
580
+ this.selectedRole = this.generalAssignment.value.type;
581
+ this.getUsersBasedOnDeptAndRole();
582
+ if (this.selectedCase.closeCaseReason != null) {
583
+ this.closeCaseReason.setValue(this.allCloseReasons.filter(c => c.key == this.selectedCase.closeCaseReason.value)[0]);
584
+ }
585
+ if (res.generatedThrough != null) {
586
+ this.generatedThrough.setValue(this.msgGeneratedThroughList.filter(c => c.key == res.generatedThrough.value)[0]);
587
+ }
588
+ this.onLoad.emit(res);
589
+ }, err => {
590
+ this.loggerService.error("Unable to fetch inquiry details.");
591
+ });
592
+ }
593
+ emitHide(event) {
594
+ this.onHide.emit(event);
595
+ this.display = false;
596
+ this.showSuccess = false;
597
+ }
598
+ selectButtonValidation() {
599
+ this.userType.valueChanges.subscribe(val => {
600
+ if (val === 'CLMT') {
601
+ this.util.setRequiredValidator(this.ssn);
602
+ this.util.clearValidation(this.ean);
603
+ this.util.clearValidation(this.fein);
604
+ }
605
+ if (val === 'EMPR') {
606
+ this.util.clearValidation(this.ssn);
607
+ this.util.setRequiredValidator(this.ean);
608
+ this.util.setRequiredValidator(this.fein);
609
+ }
610
+ });
611
+ }
612
+ selectCSRvalidation() {
613
+ if (this.isCsr) {
614
+ this.util.setRequiredValidator(this.division);
615
+ this.util.setRequiredValidator(this.unit);
616
+ this.util.setRequiredValidator(this.generalAssignment);
617
+ this.util.setRequiredValidator(this.assignCaseTo);
618
+ this.util.setRequiredValidator(this.generatedThrough);
619
+ this.util.clearValidation(this.captcha);
620
+ }
621
+ }
622
+ submitContactUs(input) {
623
+ if (!this.contactUsForm.valid) {
624
+ this.validateAllFormFields(this.contactUsForm);
625
+ }
626
+ else {
627
+ let contactUsInquiryModel = new ContactUsInqueryModel();
628
+ contactUsInquiryModel.inquiryBy = this.userType.value;
629
+ contactUsInquiryModel.firstName = this.firstName.value;
630
+ contactUsInquiryModel.lastName = this.lastName.value;
631
+ contactUsInquiryModel.ssn = this.ssn.value;
632
+ contactUsInquiryModel.claimantId = this.claimantId.value;
633
+ contactUsInquiryModel.ean = this.ean.value;
634
+ contactUsInquiryModel.fein = this.fein.value;
635
+ let choiceModel = new ComplaintCategoryOutputModel();
636
+ choiceModel.text = this.selectedReason.value.description;
637
+ choiceModel.value = this.selectedReason.value.complaintCategoryId;
638
+ contactUsInquiryModel.complaintCategory = choiceModel;
639
+ contactUsInquiryModel.question = this.issue.value;
640
+ contactUsInquiryModel.email = this.email.value;
641
+ contactUsInquiryModel.phone = this.phone.value;
642
+ contactUsInquiryModel.altPhone = this.altPhone.value;
643
+ contactUsInquiryModel.streetAddress = this.address.value?.streetAddress;
644
+ contactUsInquiryModel.optionalAddress = this.address.value?.optionalAddress;
645
+ contactUsInquiryModel.city = this.address.value?.city;
646
+ contactUsInquiryModel.state = this.address.value?.state?.value;
647
+ contactUsInquiryModel.zip = this.address.value?.zip;
648
+ contactUsInquiryModel.country = this.address.value?.country.value;
649
+ if (this.isCsr === false) {
650
+ let choiceModel = new ChoicesModel();
651
+ choiceModel.text = "Self service";
652
+ choiceModel.value = "SELF";
653
+ contactUsInquiryModel.generatedThrough = choiceModel;
654
+ }
655
+ if (this.isCsr === true) {
656
+ let choiceModel3 = new ChoicesModel();
657
+ choiceModel3.text = this.division.value.value;
658
+ choiceModel3.value = this.division.value.key;
659
+ contactUsInquiryModel.division = choiceModel3;
660
+ let choiceModel6 = new ChoicesModel();
661
+ choiceModel6.text = this.unit.value.value;
662
+ choiceModel6.value = this.unit.value.key;
663
+ contactUsInquiryModel.unit = choiceModel6;
664
+ let choiceModel = new ChoicesModel();
665
+ choiceModel.text = this.generalAssignment.value.description;
666
+ choiceModel.value = this.generalAssignment.value.key;
667
+ contactUsInquiryModel.caseOwnerGroupKey = choiceModel;
668
+ let choiceModel2 = new ChoicesModel();
669
+ choiceModel2.text = this.assignCaseTo.value.text;
670
+ choiceModel2.value = this.assignCaseTo.value.value;
671
+ contactUsInquiryModel.assignCaseTo = choiceModel2;
672
+ if (this.closeCaseReason.value != null) {
673
+ let choiceModel4 = new ChoicesModel();
674
+ choiceModel4.text = this.closeCaseReason.value.description;
675
+ choiceModel4.value = this.closeCaseReason.value.key;
676
+ contactUsInquiryModel.closeCaseReason = choiceModel4;
677
+ }
678
+ if (this.generatedThrough.value != null) {
679
+ let choiceModel5 = new ChoicesModel();
680
+ choiceModel5.text = this.generatedThrough.value.description;
681
+ choiceModel5.value = this.generatedThrough.value.key;
682
+ contactUsInquiryModel.generatedThrough = choiceModel5;
683
+ }
684
+ }
685
+ this.success.emit(this.contactUsForm);
686
+ if (this.selectedCase && this.selectedCase.caseNumber) {
687
+ this.loggerService.debug('update called = ', this.selectedCase.caseNumber);
688
+ contactUsInquiryModel.inquiryId = this.selectedCase.caseNumber;
689
+ this.util.showLoader().then(() => {
690
+ this.cmpService.updateInquiryData(contactUsInquiryModel, this.selectedCase.caseNumber)
691
+ .subscribe(res => {
692
+ this.responseCall = res;
693
+ this.caseNo = this.responseCall.inquiryId;
694
+ this.util.success(this.responseCall["msg"]);
695
+ this.util.hideLoader();
696
+ }, err => {
697
+ this.util.errorHandler(err);
698
+ this.loggerService.error("err", err);
699
+ this.util.hideLoader();
700
+ });
701
+ });
702
+ }
703
+ else {
704
+ this.loggerService.debug("creating new case");
705
+ if (this.isCsr === true) {
706
+ this.util.showLoader().then(() => {
707
+ this.cmpService.submitQueryForCSR(contactUsInquiryModel)
708
+ .subscribe(res => {
709
+ this.processSubmitQueryResponse(res);
710
+ }, err => {
711
+ this.processSubmitQueryErrorResponse(err);
712
+ });
713
+ });
714
+ }
715
+ else {
716
+ this.util.showLoader().then(() => {
717
+ this.cmpService.submitQuery(contactUsInquiryModel)
718
+ .subscribe(res => {
719
+ this.processSubmitQueryResponse(res);
720
+ }, err => {
721
+ this.processSubmitQueryErrorResponse(err);
722
+ });
723
+ });
724
+ }
725
+ }
726
+ }
727
+ }
728
+ processSubmitQueryErrorResponse(err) {
729
+ this.showSuccess = false;
730
+ this.loggerService.error("err", err);
731
+ if (this.isCsr === true) {
732
+ this.updateSuccess.emit("true");
733
+ }
734
+ this.util.hideLoader();
735
+ }
736
+ processSubmitQueryResponse(res) {
737
+ this.responseCall = res;
738
+ this.caseNo = this.responseCall.inquiryId;
739
+ if (this.caseNo != "0") {
740
+ this.loggerService.info('Submit contact us case No:', this.caseNo);
741
+ this.showSuccess = true;
742
+ this.submitSuccess = true;
743
+ if (this.isCsr === true) {
744
+ this.updateSuccess.emit("true");
745
+ }
746
+ this.util.hideLoader();
747
+ }
748
+ else {
749
+ this.loggerService.error('failed to submit contact us case');
750
+ this.showSuccess = true;
751
+ if (this.isCsr === true) {
752
+ this.updateSuccess.emit("true");
753
+ }
754
+ this.util.hideLoader();
755
+ }
756
+ }
757
+ validateAllFormFields(formGroup) {
758
+ Object.keys(formGroup.controls).forEach(field => {
759
+ const control = formGroup.get(field);
760
+ if (control instanceof FormControl) {
761
+ control.markAsDirty({ onlySelf: true });
762
+ }
763
+ else if (control instanceof FormGroup) {
764
+ this.validateAllFormFields(control);
765
+ }
766
+ });
767
+ }
768
+ getComplaintCategory() {
769
+ this.cmpService.getComplaintCategory().subscribe((res) => {
770
+ this.complaintCategoryRetrivedList = res;
771
+ this.complaintCategoryRetrivedListEmpr = res.filter(r => r.type === "EMPR");
772
+ this.complaintCategoryRetrivedListClmt = res.filter(r => r.type === "CLMT");
773
+ });
774
+ }
775
+ activeUserType(event) {
776
+ let currentValue = event.option.value;
777
+ if (currentValue === 'EMPR') {
778
+ this.activeComplaintCategory = this.complaintCategoryRetrivedListEmpr;
779
+ this.selectButtonValidation();
780
+ }
781
+ else if (currentValue === 'CLMT') {
782
+ this.activeComplaintCategory = this.complaintCategoryRetrivedListClmt;
783
+ this.selectButtonValidation();
784
+ }
785
+ }
786
+ selectDepartmentBasedOnCategory(event) {
787
+ let currentValue = event.value;
788
+ let depId = currentValue.departmentUnitId;
789
+ let searched_dep = this.allDepartments.filter(dep => dep.key == depId)[0];
790
+ this.division.setValue(searched_dep);
791
+ this.selectedDepType = this.division.value.type;
792
+ }
793
+ fetchUnitsBasedOnDepType(event) {
794
+ let deptId = event.value.key;
795
+ if (this.allUnits != null) {
796
+ this.unitsBasedOnDept = this.allUnits.filter(s => s.type == deptId);
797
+ }
798
+ }
799
+ getUnitsBasedOnDepSelected() {
800
+ if (this.allUnits != null && this.selectedDepType != null) {
801
+ this.unitsBasedOnDept = this.allUnits.filter(s => s.type == this.selectedDepType);
802
+ }
803
+ }
804
+ fetchUsersBasedOnUnit(event) {
805
+ this.selectedUnit = event.value.key;
806
+ if (this.selectedRole != null) {
807
+ this.getUsersBasedOnDeptAndRole();
808
+ }
809
+ }
810
+ fetchUsersBasedOnRoles(event) {
811
+ this.selectedRole = event.value.type;
812
+ if (this.selectedUnit != null) {
813
+ this.getUsersBasedOnDeptAndRole();
814
+ }
815
+ }
816
+ getUsersBasedOnDeptAndRole() {
817
+ this.usersFLname = [];
818
+ this.loggerService.debug('fetching users for unit : ', this.selectedUnit, 'and role ', this.selectedRole);
819
+ if (this.selectedUnit == null || this.selectedRole == null) {
820
+ return;
821
+ }
822
+ this.securityService.getUserUnitIdRoleId(this.selectedUnit, this.selectedRole).subscribe(res => {
823
+ this.users = res;
824
+ this.loggerService.debug(this.users);
825
+ if (this.users) {
826
+ this.users.forEach((e) => {
827
+ let temp = new ChoicesModel();
828
+ temp.text = (e.firstName + ' ' + e.lastName + ' (' + e.userId + ')');
829
+ //temp.text=e.firstName + ' ' + e.lastName;
830
+ temp.value = e.userId;
831
+ this.usersFLname.push(temp);
832
+ });
833
+ if (this.selectedCase.assignedTouser != null) {
834
+ this.assignCaseTo.setValue(this.usersFLname.filter(c => c.value == this.selectedCase.assignedTouser.value)[0]);
835
+ }
836
+ }
837
+ }, err => {
838
+ this.loggerService.info("No user configured for this role");
839
+ });
840
+ }
841
+ fetchMstDepartments() {
842
+ return this.caseService.fetchMstDepartments().subscribe((res) => {
843
+ this.allDepartments = res;
844
+ });
845
+ }
846
+ fetchMstAllUnits() {
847
+ return this.caseService.fetchMstAllUnits().subscribe((res) => {
848
+ this.allUnits = res;
849
+ });
850
+ }
851
+ fetchMstCaseCloseReasons() {
852
+ return this.caseService.fetchMstCaseCloseReasons().subscribe((res) => {
853
+ this.allCloseReasons = res;
854
+ });
855
+ }
856
+ getAllRoles() {
857
+ return this.caseService.getMstOwnerGroups().subscribe((res) => {
858
+ this.allRoles = res;
859
+ });
860
+ }
861
+ getMsgGeneratedThrough() {
862
+ return this.cmpService.getMsgGeneratedThrough().subscribe((res) => {
863
+ this.msgGeneratedThroughList = res;
864
+ });
865
+ }
866
+ get userType() {
867
+ return this.contactUsForm.controls['userType'];
868
+ }
869
+ get firstName() {
870
+ return this.contactUsForm.controls['firstName'];
871
+ }
872
+ get lastName() {
873
+ return this.contactUsForm.controls['lastName'];
874
+ }
875
+ get ssn() {
876
+ return this.contactUsForm.controls['ssn'];
877
+ }
878
+ get claimantId() {
879
+ return this.contactUsForm.controls['claimantId'];
880
+ }
881
+ get ean() {
882
+ return this.contactUsForm.controls['ean'];
883
+ }
884
+ get fein() {
885
+ return this.contactUsForm.controls['fein'];
886
+ }
887
+ get selectedReason() {
888
+ return this.contactUsForm.controls['selectedReason'];
889
+ }
890
+ get issue() {
891
+ return this.contactUsForm.controls['issue'];
892
+ }
893
+ get email() {
894
+ return this.contactUsForm.controls['email'];
895
+ }
896
+ get phone() {
897
+ return this.contactUsForm.controls['phone'];
898
+ }
899
+ get altPhone() {
900
+ return this.contactUsForm.controls['altPhone'];
901
+ }
902
+ get address() {
903
+ return this.contactUsForm.controls['address'];
904
+ }
905
+ get captcha() {
906
+ return this.contactUsForm.controls['captcha'];
907
+ }
908
+ get division() {
909
+ return this.contactUsForm.controls['division'];
910
+ }
911
+ get unit() {
912
+ return this.contactUsForm.controls['unit'];
913
+ }
914
+ get generalAssignment() {
915
+ return this.contactUsForm.controls['generalAssignment'];
916
+ }
917
+ get assignCaseTo() {
918
+ return this.contactUsForm.controls['assignCaseTo'];
919
+ }
920
+ get closeCaseReason() {
921
+ return this.contactUsForm.controls['closeCaseReason'];
922
+ }
923
+ get generatedThrough() {
924
+ return this.contactUsForm.controls['generatedThrough'];
925
+ }
926
+ get validEmail() {
927
+ return this.translateService.instant('common.captcha.required');
928
+ }
929
+ static { this.ɵfac = function ContactUsComponent_Factory(t) { return new (t || ContactUsComponent)(i0.ɵɵdirectiveInject(i1.UntypedFormBuilder), i0.ɵɵdirectiveInject(i2.CaseService), i0.ɵɵdirectiveInject(i3.CmpService), i0.ɵɵdirectiveInject(i4.SecurityService), i0.ɵɵdirectiveInject(i5.UtilService), i0.ɵɵdirectiveInject(i6.LoggerService), i0.ɵɵdirectiveInject(i7.TranslateService)); }; }
930
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ContactUsComponent, selectors: [["app-contact-us"]], viewQuery: function ContactUsComponent_Query(rf, ctx) { if (rf & 1) {
931
+ i0.ɵɵviewQuery(_c0, 5);
932
+ } if (rf & 2) {
933
+ let _t;
934
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.contactFormDirective = _t.first);
935
+ } }, inputs: { isCsr: "isCsr", isNewCase: "isNewCase", selectedCase: "selectedCase" }, outputs: { modelCancel: "modelCancel", success: "success", updateSuccess: "updateSuccess", onHide: "onHide", onLoad: "onLoad" }, features: [i0.ɵɵProvidersFeature([{
936
+ provide: NG_VALUE_ACCESSOR,
937
+ useExisting: ContactUsComponent,
938
+ multi: true
939
+ }])], decls: 6, vars: 5, consts: [["class", "contactUsPageTitle", 4, "ngIf"], [4, "ngIf"], [1, "field", "col-12", "ion-text-right"], ["shape", "round", "type", "submit", "color", "primary", 3, "click", 4, "ngIf"], [1, "contactUsPageTitle"], [2, "font-family", "var(--app-font-light)"], ["class", "contactUsPageHeader", 4, "ngIf"], [3, "formGroup", "ngSubmit"], ["contactFormDirective", "ngForm"], [1, "p-fluid", "grid"], [1, "field", "col-12"], ["for", "type"], ["formControlName", "userType", "optionLabel", "text", "optionValue", "value", 3, "options", "onOptionClick"], [3, "field", "form", "errDef"], [1, "field", "col-12", "md:col-6"], ["for", "firstName"], ["type", "text", "pInputText", "", "formControlName", "firstName", "maxlength", "30"], ["for", "lastName"], ["type", "text", "pInputText", "", "formControlName", "lastName", "maxlength", "30"], ["class", "field col-6", 4, "ngIf"], ["class", "field col-12 md:col-6", 4, "ngIf"], ["class", "field col-12", 4, "ngIf"], ["for", "issue"], ["pInputTextarea", "", "formControlName", "issue", "maxlength", "500"], ["for", "email"], ["type", "text", "pInputText", "", "formControlName", "email", "maxlength", "100"], ["for", "phone"], ["mask", "(999) 999-9999", "formControlName", "phone", "placeholder", "(999) 999-9999", "unmask", "true"], ["for", "altPhone"], ["mask", "(999) 999-9999", "formControlName", "altPhone", "placeholder", "(999) 999-9999", "unmask", "true"], ["formControlName", "address", 3, "fromPopup"], [1, "contactUsPageHeader"], [1, "field", "col-6"], ["for", "ssn"], ["mask", "9999", "formControlName", "ssn", 3, "type", "onFocus", "onBlur"], ["for", "claimantId"], ["formControlName", "claimantId", "mode", "decimal", "inputId", "claimantId", "maxlength", "8", 3, "useGrouping", "placeholder"], ["for", "ean"], ["mask", "9999999999", "formControlName", "ean", 3, "type", "onFocus", "onBlur"], ["for", "fein"], ["mask", "999999999", "formControlName", "fein", 3, "type", "onFocus", "onBlur"], ["for", "selectedReason"], ["formControlName", "selectedReason", "placeholder", "Select category", "optionLabel", "description", "appendTo", "body", 1, "queryCategory", 3, "options", "autoDisplayFirst"], ["formControlName", "captcha"], ["for", "division"], ["formControlName", "division", "placeholder", "Select Department", "optionLabel", "value", "appendTo", "body", 1, "roleName", 3, "options", "autoDisplayFirst", "onChange"], ["for", "unit"], ["formControlName", "unit", "placeholder", "Select Unit", "optionLabel", "value", "appendTo", "body", 1, "roleName", 3, "options", "autoDisplayFirst", "onChange"], ["for", "generalAssignment"], ["formControlName", "generalAssignment", "placeholder", "Select Assignment", "optionLabel", "value", "appendTo", "body", 3, "options", "autoDisplayFirst", "onChange"], ["for", "assignCaseTo"], ["formControlName", "assignCaseTo", "placeholder", "Assign Case To", "optionLabel", "text", "appendTo", "body", 3, "options", "autoDisplayFirst"], ["for", "generatedThrough"], ["formControlName", "generatedThrough", "placeholder", "Message generated through", "optionLabel", "description", "appendTo", "body", 3, "options", "autoDisplayFirst"], ["for", "closeCaseReason"], ["formControlName", "closeCaseReason", "placeholder", "Select Reason", "optionLabel", "description", "appendTo", "body", "showClear", "true", 1, "queryCategory", 3, "options", "autoDisplayFirst"], [1, "ion-text-left", "text-lg", 2, "font-family", "var(--app-font-light)"], [2, "font-weight", "bold", "color", "var(--ion-color-primary)"], [1, "ion-text-center"], ["name", "checkmark-circle", 1, "zoomin", "animation-duration-1000", 2, "font-size", "80px", "color", "var(--ion-color-green)"], [1, "ion-text-left", "text-lg", "contactUsPageHeader"], ["shape", "round", "type", "submit", "color", "primary", 3, "click"]], template: function ContactUsComponent_Template(rf, ctx) { if (rf & 1) {
940
+ i0.ɵɵtemplate(0, ContactUsComponent_h1_0_Template, 3, 3, "h1", 0)(1, ContactUsComponent_div_1_Template, 67, 71, "div", 1)(2, ContactUsComponent_div_2_Template, 3, 2, "div", 1);
941
+ i0.ɵɵelementStart(3, "div", 2);
942
+ i0.ɵɵtemplate(4, ContactUsComponent_ion_button_4_Template, 3, 3, "ion-button", 3)(5, ContactUsComponent_ion_button_5_Template, 3, 3, "ion-button", 3);
943
+ i0.ɵɵelementEnd();
944
+ } if (rf & 2) {
945
+ i0.ɵɵproperty("ngIf", ctx.isNewCase);
946
+ i0.ɵɵadvance(1);
947
+ i0.ɵɵproperty("ngIf", !ctx.showSuccess);
948
+ i0.ɵɵadvance(1);
949
+ i0.ɵɵproperty("ngIf", ctx.showSuccess);
950
+ i0.ɵɵadvance(2);
951
+ i0.ɵɵproperty("ngIf", !ctx.showSuccess && !ctx.isCsr);
952
+ i0.ɵɵadvance(1);
953
+ i0.ɵɵproperty("ngIf", !ctx.isCsr);
954
+ } }, dependencies: [i8.IonButton, i8.IonCol, i8.IonIcon, i8.IonRow, i9.NgIf, i1.ɵNgNoValidate, i1.DefaultValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i1.MaxLengthValidator, i1.FormGroupDirective, i1.FormControlName, i10.InputText, i11.InputMask, i12.SelectButton, i13.InputNumber, i14.InputTextarea, i15.Dropdown, i16.ErrorComponent, i17.CaptchaComponent, i18.AddressComponent, i7.TranslatePipe], styles: ["ion-col[_ngcontent-%COMP%]{padding-left:0}div[_ngcontent-%COMP%]{margin-bottom:0!important}.error[_ngcontent-%COMP%]{color:var(--ion-color-danger)}[_nghost-%COMP%] .p-fluid .p-dropdown .p-dropdown-label{white-space:wrap!important}.contactUsPageTitle[_ngcontent-%COMP%]{color:#000;margin-top:0}.contactUsPageHeader[_ngcontent-%COMP%]{font-weight:500;color:#000}"] }); }
955
+ }
956
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContactUsComponent, [{
957
+ type: Component,
958
+ args: [{ selector: 'app-contact-us', providers: [{
959
+ provide: NG_VALUE_ACCESSOR,
960
+ useExisting: ContactUsComponent,
961
+ multi: true
962
+ }], template: "<h1 class=\"contactUsPageTitle\" \r\n*ngIf=\"isNewCase\">{{'contact.us.pageTitle' | translate}}</h1>\r\n\r\n<div *ngIf=\"!showSuccess\">\r\n <span style=\"font-family: var(--app-font-light)\">\r\n <p *ngIf=\"isNewCase\" class=\"contactUsPageHeader\" >\r\n {{'contact.us.pageHeader' | translate}}\r\n </p>\r\n </span>\r\n <form [formGroup]=\"contactUsForm\" #contactFormDirective=\"ngForm\" (ngSubmit)=\"submitContactUs\">\r\n <div class=\"p-fluid grid\">\r\n <div class=\"field col-12\">\r\n <label for=\"type\">{{\"contact.us.userType\"| translate}}</label>\r\n <p-selectButton [options]=\"type\" formControlName=\"userType\" optionLabel=\"text\" optionValue=\"value\"\r\n (onOptionClick)=\"activeUserType($event)\">\r\n </p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='userType' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field col-12 md:col-6\">\r\n <label for=\"firstName\">{{\"contact.us.firstname\"| translate}}</label><br />\r\n <input type=\"text\" pInputText formControlName=\"firstName\" maxlength=\"30\" />\r\n <app-error [class]=\"'app-grid'\" [field]='firstName' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field col-12 md:col-6\">\r\n <label for=\"lastName\">{{'contact.us.lastName'| translate}}</label><br />\r\n <input type=\"text\" pInputText formControlName=\"lastName\" maxlength=\"30\" />\r\n <app-error [class]=\"'app-grid'\" [field]='lastName' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field col-6\" *ngIf=\"userType.value=='CLMT'\">\r\n <label for=\"ssn\">{{'contact.us.ssn'| translate}}</label><br />\r\n <p-inputMask mask=\"9999\" formControlName=\"ssn\" (onFocus)=\"inputType='text'\" (onBlur)=\"inputType='password'\"\r\n [type]=\"inputType\"></p-inputMask>\r\n <app-error [class]=\"'app-grid'\" [field]='ssn' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field col-6\" *ngIf=\"userType.value=='CLMT'\">\r\n <label for=\"claimantId\">{{'contact.us.claimantID'| translate}}</label><br />\r\n <p-inputNumber formControlName=\"claimantId\" mode=\"decimal\" inputId=\"claimantId\" [useGrouping]=\"false\"\r\n placeholder='{{\"common.optional\" | translate}}' maxlength=\"8\"> </p-inputNumber>\r\n </div>\r\n <div class=\"field col-12 md:col-6\" *ngIf=\"userType.value=='EMPR'\">\r\n <label for=\"ean\">{{'contact.us.ean'| translate}}</label><br />\r\n <p-inputMask mask=\"9999999999\" formControlName=\"ean\" (onFocus)=\"inputType='text'\"\r\n (onBlur)=\"inputType='password'\" [type]=\"inputType\"></p-inputMask>\r\n <app-error [class]=\"'app-grid'\" [field]='ean' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field col-12 md:col-6\" *ngIf=\"userType.value=='EMPR'\">\r\n <label for=\"fein\">{{'contact.us.fein'| translate}}</label><br />\r\n <p-inputMask mask=\"999999999\" formControlName=\"fein\" (onFocus)=\"inputType='text'\"\r\n (onBlur)=\"inputType='password'\" [type]=\"inputType\"></p-inputMask>\r\n <app-error [class]=\"'app-grid'\" [field]='fein' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field col-12\" *ngIf=\"userType.value=='CLMT' || userType.value=='EMPR'\">\r\n <label for=\"selectedReason\">{{'contact.us.selectedReason'| translate}}</label><br />\r\n <p-dropdown [options]=\"activeComplaintCategory\" formControlName=\"selectedReason\" placeholder=\"Select category\"\r\n optionLabel=\"description\" [autoDisplayFirst]=\"false\" class=\"queryCategory\" appendTo=\"body\">\r\n </p-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='selectedReason' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field col-12\">\r\n <label for=\"issue\">{{'contact.us.issue'| translate}}</label><br />\r\n <textarea pInputTextarea formControlName=\"issue\" maxlength=\"500\"></textarea><br />\r\n <app-error [class]=\"'app-grid'\" [field]='issue' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n <small>{{'contact.us.issueNotes'| translate}}</small>\r\n \r\n </div>\r\n\r\n <div class=\"field col-12\">\r\n <label for=\"email\">{{'contact.us.email'| translate}}</label>\r\n <input type=\"text\" pInputText formControlName=\"email\" maxlength=\"100\" />\r\n <app-error [class]=\"'app-grid'\" [field]='email' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required', email: validEmail\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field col-12 md:col-6\">\r\n <label for=\"phone\">{{'contact.us.phone'| translate}}</label>\r\n <p-inputMask mask=\"(999) 999-9999\" formControlName=\"phone\" placeholder=\"(999) 999-9999\" unmask=\"true\">\r\n </p-inputMask>\r\n </div>\r\n <div class=\"field col-12 md:col-6\">\r\n <label for=\"altPhone\">{{'contact.us.altPhone'| translate}}</label>\r\n <p-inputMask mask=\"(999) 999-9999\" formControlName=\"altPhone\" placeholder=\"(999) 999-9999\" unmask=\"true\">\r\n </p-inputMask>\r\n </div>\r\n <div class=\"field col-12\">\r\n <app-address [fromPopup]=\"true\" formControlName=\"address\"></app-address>\r\n </div>\r\n <div class=\"field col-12\" *ngIf=\"!isCsr\">\r\n <app-captcha formControlName=\"captcha\"></app-captcha>\r\n <app-error [class]=\"'app-grid'\" [field]='captcha' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field col-6\" *ngIf=\"isCsr\">\r\n <label for=\"division\">{{'contact.us.division'| translate}}</label>\r\n <p-dropdown [options]=\"allDepartments\" formControlName=\"division\" placeholder=\"Select Department\"\r\n optionLabel=\"value\" [autoDisplayFirst]=\"false\" class=\"roleName\" appendTo=\"body\" (onChange)=\"fetchUnitsBasedOnDepType($event)\">\r\n </p-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='division' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field col-6\" *ngIf=\"isCsr\">\r\n <label for=\"unit\">{{'contact.us.unit'| translate}}</label>\r\n <p-dropdown [options]=\"unitsBasedOnDept\" formControlName=\"unit\" placeholder=\"Select Unit\"\r\n optionLabel=\"value\" [autoDisplayFirst]=\"false\" class=\"roleName\" appendTo=\"body\" (onChange)=\"fetchUsersBasedOnUnit($event)\">\r\n </p-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='unit' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field col-6\" *ngIf=\"isCsr\">\r\n <label for=\"generalAssignment\">{{'contact.us.generalAssignment'| translate}}</label><br />\r\n <p-dropdown [options]=\"allRoles\" formControlName=\"generalAssignment\" (onChange)=\"fetchUsersBasedOnRoles($event)\"\r\n placeholder=\"Select Assignment\" optionLabel=\"value\" [autoDisplayFirst]=\"false\" \r\n appendTo=\"body\"></p-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='generalAssignment' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field col-6\" *ngIf=\"isCsr\">\r\n <label for=\"assignCaseTo\">{{\"contact.us.assignCaseTo\"| translate}}</label><br />\r\n <p-dropdown [options]=\"usersFLname\" formControlName=\"assignCaseTo\"\r\n placeholder=\"Assign Case To\" [autoDisplayFirst]=\"false\" optionLabel=\"text\" \r\n appendTo=\"body\"></p-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='assignCaseTo' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div> \r\n <div class=\"field col-12 md:col-6\" *ngIf=\"isCsr\">\r\n <label for=\"generatedThrough\">{{\"contact.us.msgGeneratedThrough\"| translate}}</label><br />\r\n <p-dropdown [options]=\"msgGeneratedThroughList\" formControlName=\"generatedThrough\"\r\n placeholder=\"Message generated through\" [autoDisplayFirst]=\"false\" optionLabel=\"description\" \r\n appendTo=\"body\"></p-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='generatedThrough' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div> \r\n <div class=\"field col-12\" *ngIf=\"isCsr && selectedCase\">\r\n <label for=\"closeCaseReason\">{{\"contact.us.close\"| translate}}</label><br />\r\n <p-dropdown [options]=\"allCloseReasons\" formControlName=\"closeCaseReason\" class=\"queryCategory\"\r\n placeholder=\"Select Reason\" [autoDisplayFirst]=\"false\" optionLabel=\"description\" \r\n appendTo=\"body\" showClear=\"true\"></p-dropdown>\r\n </div>\r\n \r\n </div>\r\n </form>\r\n</div>\r\n<div *ngIf=\"showSuccess\">\r\n <div *ngIf=\"submitSuccess\">\r\n <ion-row>\r\n <ion-col class=\"ion-text-left text-lg\" style=\"font-family: var(--app-font-light)\">\r\n {{'contact.us.successMsg'| translate}}<span\r\n style=\"font-weight: bold; color: var(--ion-color-primary);\">{{caseNo}}</span>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row>\r\n <ion-col class=\"ion-text-center\">\r\n <ion-icon name=\"checkmark-circle\" style=\"font-size: 80px; color: var(--ion-color-green);\"\r\n class=\"zoomin animation-duration-1000\"></ion-icon>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row>\r\n <ion-col class=\"ion-text-left text-lg contactUsPageHeader\">\r\n {{'contact.us.contactAgain'| translate}}\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n <div *ngIf=\"!submitSuccess\">\r\n <ion-row>\r\n <ion-col class=\"ion-text-left text-lg\" style=\"font-family: var(--app-font-light)\">\r\n {{'contact.us.failedMsg'| translate}}\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n</div>\r\n\r\n<div class=\"field col-12 ion-text-right\">\r\n <ion-button *ngIf=\"!showSuccess && !isCsr\" shape=\"round\" type=\"submit\" color=\"primary\" \r\n (click)=\"submitContactUs(contactUsForm)\">{{'common.submit'| translate}}\r\n </ion-button>\r\n <ion-button *ngIf=\"!isCsr\" shape=\"round\" type=\"submit\" color=\"primary\" (click)=\"emitHide($event)\">\r\n {{'common.close'| translate}}\r\n </ion-button>\r\n</div>", styles: ["ion-col{padding-left:0}div{margin-bottom:0!important}.error{color:var(--ion-color-danger)}:host ::ng-deep .p-fluid .p-dropdown .p-dropdown-label{white-space:wrap!important}.contactUsPageTitle{color:#000;margin-top:0}.contactUsPageHeader{font-weight:500;color:#000}\n"] }]
963
+ }], () => [{ type: i1.UntypedFormBuilder }, { type: i2.CaseService }, { type: i3.CmpService }, { type: i4.SecurityService }, { type: i5.UtilService }, { type: i6.LoggerService }, { type: i7.TranslateService }], { isCsr: [{
964
+ type: Input
965
+ }], isNewCase: [{
966
+ type: Input
967
+ }], selectedCase: [{
968
+ type: Input
969
+ }], modelCancel: [{
970
+ type: Output
971
+ }], success: [{
972
+ type: Output
973
+ }], updateSuccess: [{
974
+ type: Output
975
+ }], onHide: [{
976
+ type: Output
977
+ }], onLoad: [{
978
+ type: Output
979
+ }], contactFormDirective: [{
980
+ type: ViewChild,
981
+ args: ['contactFormDirective', { static: false }]
982
+ }] }); })();
983
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ContactUsComponent, { className: "ContactUsComponent", filePath: "lib\\components\\contact-us\\contact-us.component.ts", lineNumber: 27 }); })();
984
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC11cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY29udGFjdC11cy9jb250YWN0LXVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9jb250YWN0LXVzL2NvbnRhY3QtdXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFvQixVQUFVLEVBQThCLFNBQVMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7QUFHM0osT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDN0YsT0FBTyxFQUFFLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBTzdGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNiaEUsNkJBQ2tCO0lBQUEsWUFBc0M7O0lBQUEsaUJBQUs7O0lBQTNDLGVBQXNDO0lBQXRDLGtFQUFzQzs7O0lBSXBELDZCQUFrRDtJQUNsRCxZQUNBOztJQUFBLGlCQUFJOztJQURKLGVBQ0E7SUFEQSw4RUFDQTs7Ozs7SUEyQkUsK0JBQXdELGdCQUFBO0lBQ3JDLFlBQStCOztJQUFBLGlCQUFRO0lBQUEscUJBQU07SUFDOUQsdUNBQ3FCO0lBRDBCLHFOQUFxQixNQUFNLEtBQUMsc01BQXFCLFVBQVUsS0FBL0I7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WUFJTixZQUFZO2tCQURYLEtBQUs7WUFJTixXQUFXO2tCQURWLE1BQU07WUFJUCxPQUFPO2tCQUROLE1BQU07WUFJUCxhQUFhO2tCQURaLE1BQU07WUFJUCxNQUFNO2tCQURMLE1BQU07WUFJUCxNQUFNO2tCQURMLE1BQU07WUFJQSxvQkFBb0I7a0JBRDFCLFNBQVM7bUJBQUMsc0JBQXNCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOztrRkEvQ3pDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBVbnR5cGVkRm9ybUJ1aWxkZXIsIE5nRm9ybSwgRm9ybUdyb3VwLCBGb3JtQ29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDYXNlQ29yZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NtcC9DYXNlQ29yZU1vZGVsJztcclxuaW1wb3J0IHsgQ29tcGxhaW50Q2F0ZWdvcnlNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9jbXAvQ29tcGxhaW50Q2F0ZWdvcnlNb2RlbCc7XHJcbmltcG9ydCB7IENvbXBsYWludENhdGVnb3J5T3V0cHV0TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvY21wL0NvbXBsYWludENhdGVnb3J5T3V0cHV0TW9kZWwnO1xyXG5pbXBvcnQgeyBDaG9pY2VzTW9kZWwsIENvbnRhY3RVc0lucXVlcnlNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9jbXAvY29udGFjdFVzSW5xdWVyeU1vZGVsJztcclxuaW1wb3J0IHsgS2V5VmFsdWVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0tleVZhbHVlTW9kZWwnO1xyXG5pbXBvcnQgeyBDYXNlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Nhc2Utc2VydmljZS9jYXNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDbXBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY21wLXNlcnZpY2UvY21wLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2VjdXJpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2VjdXJpdHktc2VydmljZS9zZWN1cml0eS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwcFJlZ2V4IH0gZnJvbSAnLi4vLi4vdmFsaWRhdGlvbnMvQXBwUmVnZXgnO1xyXG5pbXBvcnQgeyBBcHBWYWxpZGF0b3JzIH0gZnJvbSAnLi4vLi4vdmFsaWRhdGlvbnMvQXBwVmFsaWRhdG9ycyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWNvbnRhY3QtdXMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250YWN0LXVzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb250YWN0LXVzLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbe1xyXG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICB1c2VFeGlzdGluZzogQ29udGFjdFVzQ29tcG9uZW50LFxyXG4gICAgbXVsdGk6IHRydWVcclxuICB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29udGFjdFVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gIHB1YmxpYyBjb250YWN0VXNGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gIHB1YmxpYyBjb21wbGFpbnRDYXRlZ29yeVJldHJpdmVkTGlzdDogQ29tcGxhaW50Q2F0ZWdvcnlNb2RlbFtdO1xyXG4gIHB1YmxpYyBjb21wbGFpbnRDYXRlZ29yeVJldHJpdmVkTGlzdEVtcHI6IENvbXBsYWludENhdGVnb3J5TW9kZWxbXTtcclxuICBwdWJsaWMgY29tcGxhaW50Q2F0ZWdvcnlSZXRyaXZlZExpc3RDbG10OiBDb21wbGFpbnRDYXRlZ29yeU1vZGVsW107XHJcbiAgcHVibGljIGFjdGl2ZUNvbXBsYWludENhdGVnb3J5OiBDb21wbGFpbnRDYXRlZ29yeU1vZGVsW107XHJcbiAgcHVibGljIGNhc2VObzogc3RyaW5nO1xyXG4gIHB1YmxpYyByZXNwb25zZUNhbGw6IGFueTtcclxuICBwdWJsaWMgYWxsRGVwYXJ0bWVudHM6IEtleVZhbHVlTW9kZWxbXTtcclxuICBwdWJsaWMgYWxsVW5pdHM6IEtleVZhbHVlTW9kZWxbXTtcclxuICBwdWJsaWMgdW5pdHNCYXNlZE9uRGVwdDogS2V5VmFsdWVNb2RlbFtdO1xyXG4gIHB1YmxpYyBhbGxDbG9zZVJlYXNvbnM6IEtleVZhbHVlTW9kZWxbXTtcclxuICBwdWJsaWMgYWxsUm9sZXM6IEtleVZhbHVlTW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyB1c2VyczogYW55W107XHJcbiAgcHVibGljIHVzZXJzRkxuYW1lOiBBcnJheTxDaG9pY2VzTW9kZWw+ID0gW107XHJcbiAgcHVibGljIHVuaXRJRDogYW55O1xyXG4gIHB1YmxpYyBzZWxlY3RlZERlcDogYW55O1xyXG4gIHB1YmxpYyBzZWxlY3RlZERlcFR5cGU6IGFueTtcclxuICBwdWJsaWMgc2VsZWN0ZWRSb2xlOiBhbnk7XHJcbiAgcHVibGljIHNlbGVjdGVkVW5pdDogYW55O1xyXG4gIHB1YmxpYyBtc2dHZW5lcmF0ZWRUaHJvdWdoTGlzdDogYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGlzQ3NyOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaXNOZXdDYXNlIDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2VsZWN0ZWRDYXNlIDogQ2FzZUNvcmVNb2RlbDtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgbW9kZWxDYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHN1Y2Nlc3M6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICB1cGRhdGVTdWNjZXNzIDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uSGlkZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uTG9hZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhY3RGb3JtRGlyZWN0aXZlJywgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgcHVibGljIGNvbnRhY3RGb3JtRGlyZWN0aXZlOiBOZ0Zvcm07XHJcblxyXG4gIHNob3dTdWNjZXNzID0gZmFsc2U7XHJcbiAgZGlzcGxheTogYm9vbGVhbiA9IHRydWU7XHJcbiAgc3VibWl0U3VjY2VzcyA9IGZhbHNlO1xyXG4gIGlucHV0VHlwZSA9ICd0ZXh0JztcclxuXHJcbiAgdHlwZTogQ2hvaWNlc01vZGVsW10gPSBbXHJcbiAgICB7IHRleHQ6ICdhIGNsYWltYW50JywgdmFsdWU6ICdDTE1UJyB9LFxyXG4gICAgeyB0ZXh0OiAnYW4gZW1wbG95ZXInLCB2YWx1ZTogJ0VNUFInIH1cclxuICBdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlciwgcHVibGljIGNhc2VTZXJ2aWNlOiBDYXNlU2VydmljZSwgcHVibGljIGNtcFNlcnZpY2U6IENtcFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgc2VjdXJpdHlTZXJ2aWNlOiBTZWN1cml0eVNlcnZpY2UsIHB1YmxpYyB1dGlsOiBVdGlsU2VydmljZSwgcHVibGljIGxvZ2dlclNlcnZpY2U6IExvZ2dlclNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkgeyB9XHJcblxyXG4gIHByaXZhdGUgb25DaGFuZ2U6IEZ1bmN0aW9uID0gKHZhbHVlOiBTdHJpbmcpID0+IHtcclxuICB9O1xyXG4gIHByaXZhdGUgb25Ub3VjaDogRnVuY3Rpb24gPSAoKSA9PiB7XHJcbiAgfTtcclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICB9XHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm5cclxuICB9XHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xyXG4gICAgdGhpcy5vblRvdWNoID0gZm5cclxuICB9XHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmNvbnRhY3RVc0Zvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgJ3VzZXJUeXBlJzogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAnZmlyc3ROYW1lJzogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAnbGFzdE5hbWUnOiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgICdzc24nOiBbbnVsbF0sXHJcbiAgICAgICdjbGFpbWFudElkJzogW251bGxdLFxyXG4gICAgICAnZWFuJzogW251bGxdLFxyXG4gICAgICAnZmVpbic6IFtudWxsXSxcclxuICAgICAgJ3NlbGVjdGVkUmVhc29uJzogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAnaXNzdWUnOiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgICdlbWFpbCc6IFtudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgQXBwVmFsaWRhdG9ycy5tYXRjaChBcHBSZWdleC5FTUFJTF9SRUdFWCwgeyBlbWFpbDogdHJ1ZSB9KV1dLFxyXG4gICAgICAncGhvbmUnOiBbbnVsbF0sXHJcbiAgICAgICdhbHRQaG9uZSc6IFtudWxsXSxcclxuICAgICAgJ2FkZHJlc3MnOiBbbnVsbF0sXHJcbiAgICAgICdkaXZpc2lvbic6IFtudWxsXSxcclxuICAgICAgJ3VuaXQnOiBbbnVsbF0sXHJcbiAgICAgICdnZW5lcmFsQXNzaWdubWVudCc6IFtudWxsXSxcclxuICAgICAgJ2Fzc2lnbkNhc2VUbyc6IFtudWxsXSxcclxuICAgICAgJ2Nsb3NlQ2FzZVJlYXNvbic6W251bGxdLFxyXG4gICAgICAnZ2VuZXJhdGVkVGhyb3VnaCc6W251bGxdLFxyXG4gICAgICAnY2FwdGNoYSc6IFtudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXVxyXG4gICAgfSk7XHJcbiAgICBcclxuICAgIHRoaXMuc2VsZWN0QnV0dG9uVmFsaWRhdGlvbigpO1xyXG4gICAgdGhpcy5zZWxlY3RDU1J2YWxpZGF0aW9uKCk7XHJcbiAgICB0aGlzLmdldENvbXBsYWludENhdGVnb3J5KCk7XHJcbiAgICB0aGlzLmZldGNoTXN0RGVwYXJ0bWVudHMoKTtcclxuICAgIHRoaXMuZmV0Y2hNc3RBbGxVbml0cygpO1xyXG4gICAgdGhpcy5mZXRjaE1zdENhc2VDbG9zZVJlYXNvbnMoKTtcclxuICAgIHRoaXMuZ2V0QWxsUm9sZXMoKTtcclxuICAgIHRoaXMuZ2V0TXNnR2VuZXJhdGVkVGhyb3VnaCgpO1xyXG5cclxuICAgIGlmKHRoaXMuc2VsZWN0ZWRDYXNlICYmIHRoaXMuaXNDc3IgPT0gdHJ1ZSl7XHJcbiAgICAgIHRoaXMubG9hZFByZVNhdmVkQ29udGFjdFVzRGV0YWlscygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbG9hZFByZVNhdmVkQ29udGFjdFVzRGV0YWlscygpe1xyXG4gICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmRlYnVnKFwic2VsZWN0ZWQgY2FzZSA6IFwiLCB0aGlzLnNlbGVjdGVkQ2FzZSk7XHJcbiAgICB0aGlzLmNtcFNlcnZpY2UuZmV0Y2hJbnF1aXJ5RGV0YWlsc0J5SW5xdWlyeUlkKHRoaXMuc2VsZWN0ZWRDYXNlLmNhc2VOdW1iZXIpLnN1YnNjcmliZShcclxuICAgICAgcmVzID0+IHtcclxuICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuaW5mbyhyZXMpO1xyXG4gICAgICAgIHRoaXMuY29udGFjdFVzRm9ybS5wYXRjaFZhbHVlKHJlcyk7XHJcbiAgICAgICAgdGhpcy51c2VyVHlwZS5zZXRWYWx1ZShyZXNbXCJ1c2VyVHlwZVwiXS52YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5kaXZpc2lvbi5zZXRWYWx1ZSh0aGlzLmFsbERlcGFydG1lbnRzLmZpbHRlcihjID0+IGMua2V5ID09IHRoaXMuc2VsZWN0ZWRDYXNlLmRlcGFydG1lbnQua2V5KVswXSk7XHJcbiAgICAgICAgdGhpcy5nZW5lcmFsQXNzaWdubWVudC5zZXRWYWx1ZSh0aGlzLmFsbFJvbGVzLmZpbHRlcihjID0+IGMudmFsdWUgPT0gdGhpcy5zZWxlY3RlZENhc2UubGV2ZWwudGV4dClbMF0pO1xyXG5cclxuICAgICAgICBpZiAocmVzW1widXNlclR5cGVcIl0udmFsdWUgPT09ICdFTVBSJykge1xyXG4gICAgICAgICAgdGhpcy5hY3RpdmVDb21wbGFpbnRDYXRlZ29yeSA9IHRoaXMuY29tcGxhaW50Q2F0ZWdvcnlSZXRyaXZlZExpc3RFbXByO1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RCdXR0b25WYWxpZGF0aW9uKCk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChyZXNbXCJ1c2VyVHlwZVwiXS52YWx1ZSA9PT0gJ0NMTVQnKSB7XHJcbiAgICAgICAgICB0aGlzLmFjdGl2ZUNvbXBsYWludENhdGVnb3J5ID0gdGhpcy5jb21wbGFpbnRDYXRlZ29yeVJldHJpdmVkTGlzdENsbXQ7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdEJ1dHRvblZhbGlkYXRpb24oKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJlYXNvbi5zZXRWYWx1ZSh0aGlzLmFjdGl2ZUNvbXBsYWludENhdGVnb3J5LmZpbHRlcihjID0+IGMuY29tcGxhaW50Q2F0ZWdvcnlJZCA9PSByZXMuY29tcGxhaW50Q2F0ZWdvcnkpWzBdKTtcclxuXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERlcFR5cGUgPSB0aGlzLmRpdmlzaW9uLnZhbHVlLmtleTtcclxuICAgICAgICB0aGlzLmdldFVuaXRzQmFzZWRPbkRlcFNlbGVjdGVkKCk7XHJcbiAgICAgICAgaWYodGhpcy5zZWxlY3RlZENhc2UudW5pdCAhPSBudWxsKXtcclxuICAgICAgICAgIHRoaXMudW5pdC5zZXRWYWx1ZSh0aGlzLnVuaXRzQmFzZWRPbkRlcHQuZmlsdGVyKGMgPT4gYy5rZXkgPT0gdGhpcy5zZWxlY3RlZENhc2UudW5pdC5rZXkpWzBdKTtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRVbml0ID0gdGhpcy51bml0LnZhbHVlLmtleTtcclxuICAgICAgICB9ICAgICAgIFxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSb2xlID0gdGhpcy5nZW5lcmFsQXNzaWdubWVudC52YWx1ZS50eXBlO1xyXG4gICAgICAgIHRoaXMuZ2V0VXNlcnNCYXNlZE9uRGVwdEFuZFJvbGUoKTtcclxuICAgICAgICBpZih0aGlzLnNlbGVjdGVkQ2FzZS5jbG9zZUNhc2VSZWFzb24gIT0gbnVsbCl7XHJcbiAgICAgICAgICB0aGlzLmNsb3NlQ2FzZVJlYXNvbi5zZXRWYWx1ZSh0aGlzLmFsbENsb3NlUmVhc29ucy5maWx0ZXIoYyA9PiBjLmtleSA9PSB0aGlzLnNlbGVjdGVkQ2FzZS5jbG9zZUNhc2VSZWFzb24udmFsdWUpWzBdKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKHJlcy5nZW5lcmF0ZWRUaHJvdWdoICE9IG51bGwpe1xyXG4gICAgICAgICAgdGhpcy5nZW5lcmF0ZWRUaHJvdWdoLnNldFZhbHVlKHRoaXMubXNnR2VuZXJhdGVkVGhyb3VnaExpc3QuZmlsdGVyKGMgPT4gYy5rZXkgPT0gcmVzLmdlbmVyYXRlZFRocm91Z2gudmFsdWUpWzBdKTtcclxuICAgICAgICB9XHJcbiAgICAgIFxyXG5cdCAgICAgIHRoaXMub25Mb2FkLmVtaXQocmVzKTtcclxuICAgICAgfSwgZXJyID0+IHtcclxuICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXCJVbmFibGUgdG8gZmV0Y2ggaW5xdWlyeSBkZXRhaWxzLlwiKTtcclxuICAgICAgfVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgZW1pdEhpZGUoZXZlbnQpIHtcclxuICAgIHRoaXMub25IaWRlLmVtaXQoZXZlbnQpO1xyXG4gICAgdGhpcy5kaXNwbGF5ID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dTdWNjZXNzID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RCdXR0b25WYWxpZGF0aW9uKCkge1xyXG4gICAgdGhpcy51c2VyVHlwZS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbCA9PiB7XHJcblxyXG4gICAgICBpZiAodmFsID09PSAnQ0xNVCcpIHtcclxuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zc24pO1xyXG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lYW4pO1xyXG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5mZWluKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodmFsID09PSAnRU1QUicpIHtcclxuICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc3NuKTtcclxuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5lYW4pO1xyXG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmZlaW4pO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0Q1NSdmFsaWRhdGlvbigpIHtcclxuICAgIGlmICh0aGlzLmlzQ3NyKSB7XHJcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmRpdmlzaW9uKTtcclxuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMudW5pdCk7XHJcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmdlbmVyYWxBc3NpZ25tZW50KTtcclxuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuYXNzaWduQ2FzZVRvKTtcclxuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZ2VuZXJhdGVkVGhyb3VnaCk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5jYXB0Y2hhKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN1Ym1pdENvbnRhY3RVcyhpbnB1dCA6IGFueSkge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRhY3RVc0Zvcm0udmFsaWQpIHtcclxuICAgICAgdGhpcy52YWxpZGF0ZUFsbEZvcm1GaWVsZHModGhpcy5jb250YWN0VXNGb3JtKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IGNvbnRhY3RVc0lucXVpcnlNb2RlbDogQ29udGFjdFVzSW5xdWVyeU1vZGVsID0gbmV3IENvbnRhY3RVc0lucXVlcnlNb2RlbCgpO1xyXG5cclxuICAgICAgY29udGFjdFVzSW5xdWlyeU1vZGVsLmlucXVpcnlCeSA9IHRoaXMudXNlclR5cGUudmFsdWU7XHJcbiAgICAgIGNvbnRhY3RVc0lucXVpcnlNb2RlbC5maXJzdE5hbWUgPSB0aGlzLmZpcnN0TmFtZS52YWx1ZTtcclxuICAgICAgY29udGFjdFVzSW5xdWlyeU1vZGVsLmxhc3ROYW1lID0gdGhpcy5sYXN0TmFtZS52YWx1ZTtcclxuICAgICAgY29udGFjdFVzSW5xdWlyeU1vZGVsLnNzbiA9IHRoaXMuc3NuLnZhbHVlO1xyXG4gICAgICBjb250YWN0VXNJbnF1aXJ5TW9kZWwuY2xhaW1hbnRJZCA9IHRoaXMuY2xhaW1hbnRJZC52YWx1ZTtcclxuICAgICAgY29udGFjdFVzSW5xdWlyeU1vZGVsLmVhbiA9IHRoaXMuZWFuLnZhbHVlO1xyXG4gICAgICBjb250YWN0VXNJbnF1aXJ5TW9kZWwuZmVpbiA9IHRoaXMuZmVpbi52YWx1ZTtcclxuXHJcbiAgICAgIGxldCBjaG9pY2VNb2RlbDogQ29tcGxhaW50Q2F0ZWdvcnlPdXRwdXRNb2RlbCA9IG5ldyBDb21wbGFpbnRDYXRlZ29yeU91dHB1dE1vZGVsKCk7XHJcbiAgICAgIGNob2ljZU1vZGVsLnRleHQgPSB0aGlzLnNlbGVjdGVkUmVhc29uLnZhbHVlLmRlc2NyaXB0aW9uO1xyXG4gICAgICBjaG9pY2VNb2RlbC52YWx1ZSA9IHRoaXMuc2VsZWN0ZWRSZWFzb24udmFsdWUuY29tcGxhaW50Q2F0ZWdvcnlJZDtcclxuICAgICAgY29udGFjdFVzSW5xdWlyeU1vZGVsLmNvbXBsYWludENhdGVnb3J5ID0gY2hvaWNlTW9kZWw7XHJcblxyXG4gICAgICBjb250YWN0VXNJbnF1aXJ5TW9kZWwucXVlc3Rpb24gPSB0aGlzLmlzc3VlLnZhbHVlO1xyXG4gICAgICBjb250YWN0VXNJbnF1aXJ5TW9kZWwuZW1haWwgPSB0aGlzLmVtYWlsLnZhbHVlO1xyXG4gICAgICBjb250YWN0VXNJbnF1aXJ5TW9kZWwucGhvbmUgPSB0aGlzLnBob25lLnZhbHVlO1xyXG4gICAgICBjb250YWN0VXNJbnF1aXJ5TW9kZWwuYWx0UGhvbmUgPSB0aGlzLmFsdFBob25lLnZhbHVlO1xyXG4gICAgICBjb250YWN0VXNJbnF1aXJ5TW9kZWwuc3RyZWV0QWRkcmVzcyA9IHRoaXMuYWRkcmVzcy52YWx1ZT8uc3RyZWV0QWRkcmVzcztcclxuICAgICAgY29udGFjdFVzSW5xdWlyeU1vZGVsLm9wdGlvbmFsQWRkcmVzcyA9IHRoaXMuYWRkcmVzcy52YWx1ZT8ub3B0aW9uYWxBZGRyZXNzO1xyXG4gICAgICBjb250YWN0VXNJbnF1aXJ5TW9kZWwuY2l0eSA9IHRoaXMuYWRkcmVzcy52YWx1ZT8uY2l0eTtcclxuICAgICAgY29udGFjdFVzSW5xdWlyeU1vZGVsLnN0YXRlID0gdGhpcy5hZGRyZXNzLnZhbHVlPy5zdGF0ZT8udmFsdWU7XHJcbiAgICAgIGNvbnRhY3RVc0lucXVpcnlNb2RlbC56aXAgPSB0aGlzLmFkZHJlc3MudmFsdWU/LnppcDtcclxuICAgICAgY29udGFjdFVzSW5xdWlyeU1vZGVsLmNvdW50cnkgPSB0aGlzLmFkZHJlc3MudmFsdWU/LmNvdW50cnkudmFsdWU7XHJcblxyXG4gICAgICBpZih0aGlzLmlzQ3NyID09PSBmYWxzZSl7XHJcbiAgICAgICAgbGV0IGNob2ljZU1vZGVsOiBDaG9pY2VzTW9kZWwgPSBuZXcgQ2hvaWNlc01vZGVsKCk7XHJcbiAgICAgICAgY2hvaWNlTW9kZWwudGV4dCA9IFwiU2VsZiBzZXJ2aWNlXCI7XHJcbiAgICAgICAgY2hvaWNlTW9kZWwudmFsdWUgPSBcIlNFTEZcIjtcclxuICAgICAgICBjb250YWN0VXNJbnF1aXJ5TW9kZWwuZ2VuZXJhdGVkVGhyb3VnaCA9IGNob2ljZU1vZGVsO1xyXG4gICAgICB9XHJcbiAgICAgIGlmKHRoaXMuaXNDc3IgPT09IHRydWUpe1xyXG4gICAgICAgIGxldCBjaG9pY2VNb2RlbDM6IENob2ljZXNNb2RlbCA9IG5ldyBDaG9pY2VzTW9kZWwoKTtcclxuICAgICAgICBjaG9pY2VNb2RlbDMudGV4dCA9IHRoaXMuZGl2aXNpb24udmFsdWUudmFsdWU7XHJcbiAgICAgICAgY2hvaWNlTW9kZWwzLnZhbHVlID0gdGhpcy5kaXZpc2lvbi52YWx1ZS5rZXk7XHJcbiAgICAgICAgY29udGFjdFVzSW5xdWlyeU1vZGVsLmRpdmlzaW9uID0gY2hvaWNlTW9kZWwzO1xyXG5cclxuICAgICAgICBsZXQgY2hvaWNlTW9kZWw2OiBDaG9pY2VzTW9kZWwgPSBuZXcgQ2hvaWNlc01vZGVsKCk7XHJcbiAgICAgICAgY2hvaWNlTW9kZWw2LnRleHQgPSB0aGlzLnVuaXQudmFsdWUudmFsdWU7XHJcbiAgICAgICAgY2hvaWNlTW9kZWw2LnZhbHVlID0gdGhpcy51bml0LnZhbHVlLmtleTtcclxuICAgICAgICBjb250YWN0VXNJbnF1aXJ5TW9kZWwudW5pdCA9IGNob2ljZU1vZGVsNjtcclxuXHJcbiAgICAgICAgbGV0IGNob2ljZU1vZGVsOiBDaG9pY2VzTW9kZWwgPSBuZXcgQ2hvaWNlc01vZGVsKCk7XHJcbiAgICAgICAgY2hvaWNlTW9kZWwudGV4dCA9IHRoaXMuZ2VuZXJhbEFzc2lnbm1lbnQudmFsdWUuZGVzY3JpcHRpb247XHJcbiAgICAgICAgY2hvaWNlTW9kZWwudmFsdWUgPSB0aGlzLmdlbmVyYWxBc3NpZ25tZW50LnZhbHVlLmtleTtcclxuICAgICAgICBjb250YWN0VXNJbnF1aXJ5TW9kZWwuY2FzZU93bmVyR3JvdXBLZXkgPSBjaG9pY2VNb2RlbDtcclxuXHJcbiAgICAgICAgbGV0IGNob2ljZU1vZGVsMjogQ2hvaWNlc01vZGVsID0gbmV3IENob2ljZXNNb2RlbCgpO1xyXG4gICAgICAgIGNob2ljZU1vZGVsMi50ZXh0ID0gdGhpcy5hc3NpZ25DYXNlVG8udmFsdWUudGV4dDtcclxuICAgICAgICBjaG9pY2VNb2RlbDIudmFsdWUgPSB0aGlzLmFzc2lnbkNhc2VUby52YWx1ZS52YWx1ZTtcclxuICAgICAgICBjb250YWN0VXNJbnF1aXJ5TW9kZWwuYXNzaWduQ2FzZVRvID0gY2hvaWNlTW9kZWwyOyBcclxuXHJcbiAgICAgICAgaWYodGhpcy5jbG9zZUNhc2VSZWFzb24udmFsdWUgIT0gbnVsbCl7XHJcbiAgICAgICAgICBsZXQgY2hvaWNlTW9kZWw0OiBDaG9pY2VzTW9kZWwgPSBuZXcgQ2hvaWNlc01vZGVsKCk7XHJcbiAgICAgICAgICBjaG9pY2VNb2RlbDQudGV4dCA9IHRoaXMuY2xvc2VDYXNlUmVhc29uLnZhbHVlLmRlc2NyaXB0aW9uO1xyXG4gICAgICAgICAgY2hvaWNlTW9kZWw0LnZhbHVlID0gdGhpcy5jbG9zZUNhc2VSZWFzb24udmFsdWUua2V5O1xyXG4gICAgICAgICAgY29udGFjdFVzSW5xdWlyeU1vZGVsLmNsb3NlQ2FzZVJlYXNvbiA9IGNob2ljZU1vZGVsNDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKHRoaXMuZ2VuZXJhdGVkVGhyb3VnaC52YWx1ZSAhPSBudWxsKXtcclxuICAgICAgICAgIGxldCBjaG9pY2VNb2RlbDU6IENob2ljZXNNb2RlbCA9IG5ldyBDaG9pY2VzTW9kZWwoKTtcclxuICAgICAgICAgIGNob2ljZU1vZGVsNS50ZXh0ID0gdGhpcy5nZW5lcmF0ZWRUaHJvdWdoLnZhbHVlLmRlc2NyaXB0aW9uO1xyXG4gICAgICAgICAgY2hvaWNlTW9kZWw1LnZhbHVlID0gdGhpcy5nZW5lcmF0ZWRUaHJvdWdoLnZhbHVlLmtleTtcclxuICAgICAgICAgIGNvbnRhY3RVc0lucXVpcnlNb2RlbC5nZW5lcmF0ZWRUaHJvdWdoID0gY2hvaWNlTW9kZWw1O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN1Y2Nlc3MuZW1pdCh0aGlzLmNvbnRhY3RVc0Zvcm0pO1xyXG4gICAgICBpZih0aGlzLnNlbGVjdGVkQ2FzZSAmJiB0aGlzLnNlbGVjdGVkQ2FzZS5jYXNlTnVtYmVyKXtcclxuICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZGVidWcoJ3VwZGF0ZSBjYWxsZWQgPSAnLCB0aGlzLnNlbGVjdGVkQ2FzZS5jYXNlTnVtYmVyKTtcclxuICAgICAgICBjb250YWN0VXNJbnF1aXJ5TW9kZWwuaW5xdWlyeUlkID0gdGhpcy5zZWxlY3RlZENhc2UuY2FzZU51bWJlcjtcclxuICAgICAgICB0aGlzLnV0aWwuc2hvd0xvYWRlcigpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY21wU2VydmljZS51cGRhdGVJbnF1aXJ5RGF0YShjb250YWN0VXNJbnF1aXJ5TW9kZWwsIHRoaXMuc2VsZWN0ZWRDYXNlLmNhc2VOdW1iZXIpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PntcclxuICAgICAgICAgICAgdGhpcy5yZXNwb25zZUNhbGwgPSByZXM7XHJcbiAgICAgICAgICAgIHRoaXMuY2FzZU5vID0gdGhpcy5yZXNwb25zZUNhbGwuaW5xdWlyeUlkO1xyXG4gICAgICAgICAgICB0aGlzLnV0aWwuc3VjY2Vzcyh0aGlzLnJlc3BvbnNlQ2FsbFtcIm1zZ1wiXSk7XHJcbiAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICAgICAgICB9LCBlcnIgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XHJcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcihcImVyclwiLCBlcnIpO1xyXG4gICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmRlYnVnKFwiY3JlYXRpbmcgbmV3IGNhc2VcIik7XHJcbiAgICAgICAgaWYodGhpcy5pc0NzciA9PT0gdHJ1ZSl7XHJcbiAgICAgICAgICB0aGlzLnV0aWwuc2hvd0xvYWRlcigpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNtcFNlcnZpY2Uuc3VibWl0UXVlcnlGb3JDU1IoY29udGFjdFVzSW5xdWlyeU1vZGVsKVxyXG4gICAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc1N1Ym1pdFF1ZXJ5UmVzcG9uc2UocmVzKTtcclxuICAgICAgICAgICAgICB9LCBlcnIgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzU3VibWl0UXVlcnlFcnJvclJlc3BvbnNlKGVycik7XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnV0aWwuc2hvd0xvYWRlcigpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jbXBTZXJ2aWNlLnN1Ym1pdFF1ZXJ5KGNvbnRhY3RVc0lucXVpcnlNb2RlbClcclxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMucHJvY2Vzc1N1Ym1pdFF1ZXJ5UmVzcG9uc2UocmVzKTtcclxuICAgICAgICAgICAgfSwgZXJyID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NTdWJtaXRRdWVyeUVycm9yUmVzcG9uc2UoZXJyKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9ICAgXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgcHJvY2Vzc1N1Ym1pdFF1ZXJ5RXJyb3JSZXNwb25zZShlcnI6IGFueSkge1xyXG4gICAgdGhpcy5zaG93U3VjY2VzcyA9IGZhbHNlO1xyXG4gICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFwiZXJyXCIsIGVycik7XHJcbiAgICBpZih0aGlzLmlzQ3NyID09PSB0cnVlKSB7XHJcbiAgICAgIHRoaXMudXBkYXRlU3VjY2Vzcy5lbWl0KFwidHJ1ZVwiKTtcclxuICAgIH1cclxuICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgfVxyXG4gIHByb2Nlc3NTdWJtaXRRdWVyeVJlc3BvbnNlKHJlczogYW55KSB7XHJcbiAgICB0aGlzLnJlc3BvbnNlQ2FsbCA9IHJlcztcclxuICAgIHRoaXMuY2FzZU5vID0gdGhpcy5yZXNwb25zZUNhbGwuaW5xdWlyeUlkO1xyXG5cclxuICAgIGlmICh0aGlzLmNhc2VObyAhPSBcIjBcIikge1xyXG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuaW5mbygnU3VibWl0IGNvbnRhY3QgdXMgY2FzZSBObzonLCB0aGlzLmNhc2VObyk7XHJcbiAgICAgIHRoaXMuc2hvd1N1Y2Nlc3MgPSB0cnVlO1xyXG4gICAgICB0aGlzLnN1Ym1pdFN1Y2Nlc3MgPSB0cnVlO1xyXG4gICAgICBpZih0aGlzLmlzQ3NyID09PSB0cnVlKSB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVTdWNjZXNzLmVtaXQoXCJ0cnVlXCIpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoJ2ZhaWxlZCB0byBzdWJtaXQgY29udGFjdCB1cyBjYXNlJyk7XHJcbiAgICAgIHRoaXMuc2hvd1N1Y2Nlc3MgPSB0cnVlO1xyXG4gICAgICBpZih0aGlzLmlzQ3NyID09PSB0cnVlKSB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVTdWNjZXNzLmVtaXQoXCJ0cnVlXCIpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZUFsbEZvcm1GaWVsZHMoZm9ybUdyb3VwOiBGb3JtR3JvdXApIHtcclxuICAgIE9iamVjdC5rZXlzKGZvcm1Hcm91cC5jb250cm9scykuZm9yRWFjaChmaWVsZCA9PiB7XHJcblxyXG4gICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldChmaWVsZCk7XHJcbiAgICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2wpIHtcclxuICAgICAgICBjb250cm9sLm1hcmtBc0RpcnR5KHsgb25seVNlbGY6IHRydWUgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xyXG4gICAgICAgIHRoaXMudmFsaWRhdGVBbGxGb3JtRmllbGRzKGNvbnRyb2wpO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0Q29tcGxhaW50Q2F0ZWdvcnkoKSB7XHJcbiAgICB0aGlzLmNtcFNlcnZpY2UuZ2V0Q29tcGxhaW50Q2F0ZWdvcnkoKS5zdWJzY3JpYmUoKHJlczogQ29tcGxhaW50Q2F0ZWdvcnlNb2RlbFtdKSA9PiB7XHJcbiAgICAgIHRoaXMuY29tcGxhaW50Q2F0ZWdvcnlSZXRyaXZlZExpc3QgPSByZXM7XHJcbiAgICAgIHRoaXMuY29tcGxhaW50Q2F0ZWdvcnlSZXRyaXZlZExpc3RFbXByID0gcmVzLmZpbHRlcihyID0+IHIudHlwZSA9PT0gXCJFTVBSXCIpO1xyXG4gICAgICB0aGlzLmNvbXBsYWludENhdGVnb3J5UmV0cml2ZWRMaXN0Q2xtdCA9IHJlcy5maWx0ZXIociA9PiByLnR5cGUgPT09IFwiQ0xNVFwiKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuXHJcbiAgYWN0aXZlVXNlclR5cGUoZXZlbnQpIHtcclxuICAgIGxldCBjdXJyZW50VmFsdWUgPSBldmVudC5vcHRpb24udmFsdWU7XHJcbiAgICBpZiAoY3VycmVudFZhbHVlID09PSAnRU1QUicpIHtcclxuICAgICAgdGhpcy5hY3RpdmVDb21wbGFpbnRDYXRlZ29yeSA9IHRoaXMuY29tcGxhaW50Q2F0ZWdvcnlSZXRyaXZlZExpc3RFbXByO1xyXG4gICAgICB0aGlzLnNlbGVjdEJ1dHRvblZhbGlkYXRpb24oKTtcclxuICAgIH0gZWxzZSBpZiAoY3VycmVudFZhbHVlID09PSAnQ0xNVCcpIHtcclxuICAgICAgdGhpcy5hY3RpdmVDb21wbGFpbnRDYXRlZ29yeSA9IHRoaXMuY29tcGxhaW50Q2F0ZWdvcnlSZXRyaXZlZExpc3RDbG10O1xyXG4gICAgICB0aGlzLnNlbGVjdEJ1dHRvblZhbGlkYXRpb24oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdERlcGFydG1lbnRCYXNlZE9uQ2F0ZWdvcnkoZXZlbnQpIHtcclxuICAgIGxldCBjdXJyZW50VmFsdWUgPSBldmVudC52YWx1ZTtcclxuICAgIGxldCBkZXBJZCA9IGN1cnJlbnRWYWx1ZS5kZXBhcnRtZW50VW5pdElkO1xyXG4gICAgbGV0IHNlYXJjaGVkX2RlcCA9IHRoaXMuYWxsRGVwYXJ0bWVudHMuZmlsdGVyKGRlcCA9PiBkZXAua2V5ID09IGRlcElkKVswXTtcclxuICAgIHRoaXMuZGl2aXNpb24uc2V0VmFsdWUoc2VhcmNoZWRfZGVwKTtcclxuICAgIHRoaXMuc2VsZWN0ZWREZXBUeXBlID0gdGhpcy5kaXZpc2lvbi52YWx1ZS50eXBlO1xyXG4gIH1cclxuXHJcbiAgZmV0Y2hVbml0c0Jhc2VkT25EZXBUeXBlKGV2ZW50KSB7XHJcbiAgICBsZXQgZGVwdElkID0gZXZlbnQudmFsdWUua2V5O1xyXG4gICAgaWYgKHRoaXMuYWxsVW5pdHMgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLnVuaXRzQmFzZWRPbkRlcHQgPSB0aGlzLmFsbFVuaXRzLmZpbHRlcihzID0+IHMudHlwZSA9PSBkZXB0SWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0VW5pdHNCYXNlZE9uRGVwU2VsZWN0ZWQoKSB7XHJcbiAgICBpZiAodGhpcy5hbGxVbml0cyAhPSBudWxsICYmIHRoaXMuc2VsZWN0ZWREZXBUeXBlICE9IG51bGwpIHtcclxuICAgICAgdGhpcy51bml0c0Jhc2VkT25EZXB0ID0gdGhpcy5hbGxVbml0cy5maWx0ZXIocyA9PiBzLnR5cGUgPT0gdGhpcy5zZWxlY3RlZERlcFR5cGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hVc2Vyc0Jhc2VkT25Vbml0KGV2ZW50KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkVW5pdCA9IGV2ZW50LnZhbHVlLmtleTtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkUm9sZSAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMuZ2V0VXNlcnNCYXNlZE9uRGVwdEFuZFJvbGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZldGNoVXNlcnNCYXNlZE9uUm9sZXMoZXZlbnQpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRSb2xlID0gZXZlbnQudmFsdWUudHlwZTtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkVW5pdCAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMuZ2V0VXNlcnNCYXNlZE9uRGVwdEFuZFJvbGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFVzZXJzQmFzZWRPbkRlcHRBbmRSb2xlKCkge1xyXG4gICAgdGhpcy51c2Vyc0ZMbmFtZSA9IFtdO1xyXG4gICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmRlYnVnKCdmZXRjaGluZyB1c2VycyBmb3IgdW5pdCA6ICcsIHRoaXMuc2VsZWN0ZWRVbml0ICwgJ2FuZCByb2xlICcsIHRoaXMuc2VsZWN0ZWRSb2xlKTtcclxuICAgIGlmKHRoaXMuc2VsZWN0ZWRVbml0ID09IG51bGwgfHwgdGhpcy5zZWxlY3RlZFJvbGUgPT0gbnVsbCl7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuc2VjdXJpdHlTZXJ2aWNlLmdldFVzZXJVbml0SWRSb2xlSWQodGhpcy5zZWxlY3RlZFVuaXQsIHRoaXMuc2VsZWN0ZWRSb2xlKS5zdWJzY3JpYmUoXHJcbiAgICAgIHJlcyA9PiB7XHJcbiAgICAgIHRoaXMudXNlcnMgPSByZXM7XHJcbiAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5kZWJ1Zyh0aGlzLnVzZXJzKTtcclxuICAgICAgaWYodGhpcy51c2Vycyl7XHJcbiAgICAgICAgdGhpcy51c2Vycy5mb3JFYWNoKChlKSA9PiB7XHJcbiAgICAgICAgICBsZXQgdGVtcDogQ2hvaWNlc01vZGVsICA9IG5ldyBDaG9pY2VzTW9kZWwoKTtcclxuICAgICAgICAgIHRlbXAudGV4dD0oZS5maXJzdE5hbWUgKyAnICcgKyBlLmxhc3ROYW1lICsgJyAoJysgZS51c2VySWQgKycpJyk7XHJcbiAgICAgICAgICAvL3RlbXAudGV4dD1lLmZpcnN0TmFtZSArICcgJyArIGUubGFzdE5hbWU7XHJcbiAgICAgICAgICB0ZW1wLnZhbHVlID0gZS51c2VySWQ7XHJcbiAgICAgICAgICB0aGlzLnVzZXJzRkxuYW1lLnB1c2godGVtcCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYodGhpcy5zZWxlY3RlZENhc2UuYXNzaWduZWRUb3VzZXIgIT0gbnVsbCl7XHJcbiAgICAgICAgICB0aGlzLmFzc2lnbkNhc2VUby5zZXRWYWx1ZSh0aGlzLnVzZXJzRkxuYW1lLmZpbHRlcihjID0+IGMudmFsdWUgPT0gdGhpcy5zZWxlY3RlZENhc2UuYXNzaWduZWRUb3VzZXIudmFsdWUpWzBdKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sIGVyciA9PiB7XHJcbiAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5pbmZvKFwiTm8gdXNlciBjb25maWd1cmVkIGZvciB0aGlzIHJvbGVcIik7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGZldGNoTXN0RGVwYXJ0bWVudHMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jYXNlU2VydmljZS5mZXRjaE1zdERlcGFydG1lbnRzKCkuc3Vic2NyaWJlKChyZXM6IGFueVtdKSA9PiB7XHJcbiAgICAgIHRoaXMuYWxsRGVwYXJ0bWVudHMgPSByZXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGZldGNoTXN0QWxsVW5pdHMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jYXNlU2VydmljZS5mZXRjaE1zdEFsbFVuaXRzKCkuc3Vic2NyaWJlKChyZXM6IGFueVtdKSA9PiB7XHJcbiAgICAgIHRoaXMuYWxsVW5pdHMgPSByZXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGZldGNoTXN0Q2FzZUNsb3NlUmVhc29ucygpIHtcclxuICAgIHJldHVybiB0aGlzLmNhc2VTZXJ2aWNlLmZldGNoTXN0Q2FzZUNsb3NlUmVhc29ucygpLnN1YnNjcmliZSgocmVzOiBhbnlbXSkgPT4ge1xyXG4gICAgICB0aGlzLmFsbENsb3NlUmVhc29ucyA9IHJlcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsUm9sZXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jYXNlU2VydmljZS5nZXRNc3RPd25lckdyb3VwcygpLnN1YnNjcmliZSgocmVzOiBhbnlbXSkgPT4ge1xyXG4gICAgICB0aGlzLmFsbFJvbGVzID0gcmVzO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRNc2dHZW5lcmF0ZWRUaHJvdWdoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY21wU2VydmljZS5nZXRNc2dHZW5lcmF0ZWRUaHJvdWdoKCkuc3Vic2NyaWJlKChyZXM6IGFueVtdKSA9PiB7XHJcbiAgICAgIHRoaXMubXNnR2VuZXJhdGVkVGhyb3VnaExpc3QgPSByZXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldCB1c2VyVHlwZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRhY3RVc0Zvcm0uY29udHJvbHNbJ3VzZXJUeXBlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZmlyc3ROYW1lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGFjdFVzRm9ybS5jb250cm9sc1snZmlyc3ROYW1lJ107XHJcbiAgfVxyXG5cclxuICBnZXQgbGFzdE5hbWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250YWN0VXNGb3JtLmNvbnRyb2xzWydsYXN0TmFtZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNzbigpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRhY3RVc0Zvcm0uY29udHJvbHNbJ3NzbiddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNsYWltYW50SWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250YWN0VXNGb3JtLmNvbnRyb2xzWydjbGFpbWFudElkJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZWFuKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGFjdFVzRm9ybS5jb250cm9sc1snZWFuJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZmVpbigpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRhY3RVc0Zvcm0uY29udHJvbHNbJ2ZlaW4nXTtcclxuICB9XHJcblxyXG4gIGdldCBzZWxlY3RlZFJlYXNvbigpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRhY3RVc0Zvcm0uY29udHJvbHNbJ3NlbGVjdGVkUmVhc29uJ107XHJcbiAgfVxyXG5cclxuICBnZXQgaXNzdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250YWN0VXNGb3JtLmNvbnRyb2xzWydpc3N1ZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGVtYWlsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGFjdFVzRm9ybS5jb250cm9sc1snZW1haWwnXTtcclxuICB9XHJcblxyXG4gIGdldCBwaG9uZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRhY3RVc0Zvcm0uY29udHJvbHNbJ3Bob25lJ107XHJcbiAgfVxyXG5cclxuICBnZXQgYWx0UGhvbmUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250YWN0VXNGb3JtLmNvbnRyb2xzWydhbHRQaG9uZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGFkZHJlc3MoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250YWN0VXNGb3JtLmNvbnRyb2xzWydhZGRyZXNzJ107XHJcbiAgfVxyXG5cclxuICBnZXQgY2FwdGNoYSgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRhY3RVc0Zvcm0uY29udHJvbHNbJ2NhcHRjaGEnXTtcclxuICB9XHJcblxyXG4gIGdldCBkaXZpc2lvbigpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRhY3RVc0Zvcm0uY29udHJvbHNbJ2RpdmlzaW9uJ107XHJcbiAgfVxyXG5cclxuICBnZXQgdW5pdCgpe1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGFjdFVzRm9ybS5jb250cm9sc1sndW5pdCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGdlbmVyYWxBc3NpZ25tZW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGFjdFVzRm9ybS5jb250cm9sc1snZ2VuZXJhbEFzc2lnbm1lbnQnXTtcclxuICB9XHJcblxyXG4gIGdldCBhc3NpZ25DYXNlVG8oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250YWN0VXNGb3JtLmNvbnRyb2xzWydhc3NpZ25DYXNlVG8nXTtcclxuICB9XHJcblxyXG4gIGdldCBjbG9zZUNhc2VSZWFzb24oKXtcclxuICAgIHJldHVybiB0aGlzLmNvbnRhY3RVc0Zvcm0uY29udHJvbHNbJ2Nsb3NlQ2FzZVJlYXNvbiddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGdlbmVyYXRlZFRocm91Z2goKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250YWN0VXNGb3JtLmNvbnRyb2xzWydnZW5lcmF0ZWRUaHJvdWdoJ107XHJcbiAgfVxyXG5cclxuICBnZXQgdmFsaWRFbWFpbCgpe1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdjb21tb24uY2FwdGNoYS5yZXF1aXJlZCcpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcbiIsIjxoMSBjbGFzcz1cImNvbnRhY3RVc1BhZ2VUaXRsZVwiICBcclxuKm5nSWY9XCJpc05ld0Nhc2VcIj57eydjb250YWN0LnVzLnBhZ2VUaXRsZScgfCB0cmFuc2xhdGV9fTwvaDE+XHJcblxyXG48ZGl2ICpuZ0lmPVwiIXNob3dTdWNjZXNzXCI+XHJcbiAgPHNwYW4gc3R5bGU9XCJmb250LWZhbWlseTogdmFyKC0tYXBwLWZvbnQtbGlnaHQpXCI+XHJcbiAgICA8cCAqbmdJZj1cImlzTmV3Q2FzZVwiIGNsYXNzPVwiY29udGFjdFVzUGFnZUhlYWRlclwiID5cclxuICAgIHt7J2NvbnRhY3QudXMucGFnZUhlYWRlcicgfCB0cmFuc2xhdGV9fVxyXG4gICAgPC9wPlxyXG4gIDwvc3Bhbj5cclxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImNvbnRhY3RVc0Zvcm1cIiAjY29udGFjdEZvcm1EaXJlY3RpdmU9XCJuZ0Zvcm1cIiAobmdTdWJtaXQpPVwic3VibWl0Q29udGFjdFVzXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicC1mbHVpZCBncmlkXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtMTJcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwidHlwZVwiPnt7XCJjb250YWN0LnVzLnVzZXJUeXBlXCJ8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwidHlwZVwiIGZvcm1Db250cm9sTmFtZT1cInVzZXJUeXBlXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAob25PcHRpb25DbGljayk9XCJhY3RpdmVVc2VyVHlwZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ndXNlclR5cGUnIFtmb3JtXT1cImNvbnRhY3RGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMiBtZDpjb2wtNlwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJmaXJzdE5hbWVcIj57e1wiY29udGFjdC51cy5maXJzdG5hbWVcInwgdHJhbnNsYXRlfX08L2xhYmVsPjxiciAvPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHBJbnB1dFRleHQgZm9ybUNvbnRyb2xOYW1lPVwiZmlyc3ROYW1lXCIgbWF4bGVuZ3RoPVwiMzBcIiAvPlxyXG4gICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmaXJzdE5hbWUnIFtmb3JtXT1cImNvbnRhY3RGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMiBtZDpjb2wtNlwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJsYXN0TmFtZVwiPnt7J2NvbnRhY3QudXMubGFzdE5hbWUnfCB0cmFuc2xhdGV9fTwvbGFiZWw+PGJyIC8+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgcElucHV0VGV4dCBmb3JtQ29udHJvbE5hbWU9XCJsYXN0TmFtZVwiIG1heGxlbmd0aD1cIjMwXCIgLz5cclxuICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nbGFzdE5hbWUnIFtmb3JtXT1cImNvbnRhY3RGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC02XCIgKm5nSWY9XCJ1c2VyVHlwZS52YWx1ZT09J0NMTVQnXCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cInNzblwiPnt7J2NvbnRhY3QudXMuc3NuJ3wgdHJhbnNsYXRlfX08L2xhYmVsPjxiciAvPlxyXG4gICAgICAgIDxwLWlucHV0TWFzayBtYXNrPVwiOTk5OVwiIGZvcm1Db250cm9sTmFtZT1cInNzblwiIChvbkZvY3VzKT1cImlucHV0VHlwZT0ndGV4dCdcIiAob25CbHVyKT1cImlucHV0VHlwZT0ncGFzc3dvcmQnXCJcclxuICAgICAgICAgIFt0eXBlXT1cImlucHV0VHlwZVwiPjwvcC1pbnB1dE1hc2s+XHJcbiAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3NzbicgW2Zvcm1dPVwiY29udGFjdEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgY29sLTZcIiAqbmdJZj1cInVzZXJUeXBlLnZhbHVlPT0nQ0xNVCdcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiY2xhaW1hbnRJZFwiPnt7J2NvbnRhY3QudXMuY2xhaW1hbnRJRCd8IHRyYW5zbGF0ZX19PC9sYWJlbD48YnIgLz5cclxuICAgICAgICA8cC1pbnB1dE51bWJlciBmb3JtQ29udHJvbE5hbWU9XCJjbGFpbWFudElkXCIgbW9kZT1cImRlY2ltYWxcIiBpbnB1dElkPVwiY2xhaW1hbnRJZFwiIFt1c2VHcm91cGluZ109XCJmYWxzZVwiXHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj0ne3tcImNvbW1vbi5vcHRpb25hbFwiIHwgdHJhbnNsYXRlfX0nIG1heGxlbmd0aD1cIjhcIj4gPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMiBtZDpjb2wtNlwiICpuZ0lmPVwidXNlclR5cGUudmFsdWU9PSdFTVBSJ1wiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJlYW5cIj57eydjb250YWN0LnVzLmVhbid8IHRyYW5zbGF0ZX19PC9sYWJlbD48YnIgLz5cclxuICAgICAgICA8cC1pbnB1dE1hc2sgbWFzaz1cIjk5OTk5OTk5OTlcIiBmb3JtQ29udHJvbE5hbWU9XCJlYW5cIiAob25Gb2N1cyk9XCJpbnB1dFR5cGU9J3RleHQnXCJcclxuICAgICAgICAgIChvbkJsdXIpPVwiaW5wdXRUeXBlPSdwYXNzd29yZCdcIiBbdHlwZV09XCJpbnB1dFR5cGVcIj48L3AtaW5wdXRNYXNrPlxyXG4gICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlYW4nIFtmb3JtXT1cImNvbnRhY3RGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMiBtZDpjb2wtNlwiICpuZ0lmPVwidXNlclR5cGUudmFsdWU9PSdFTVBSJ1wiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJmZWluXCI+e3snY29udGFjdC51cy5mZWluJ3wgdHJhbnNsYXRlfX08L2xhYmVsPjxiciAvPlxyXG4gICAgICAgIDxwLWlucHV0TWFzayBtYXNrPVwiOTk5OTk5OTk5XCIgZm9ybUNvbnRyb2xOYW1lPVwiZmVpblwiIChvbkZvY3VzKT1cImlucHV0VHlwZT0ndGV4dCdcIlxyXG4gICAgICAgICAgKG9uQmx1cik9XCJpbnB1dFR5cGU9J3Bhc3N3b3JkJ1wiIFt0eXBlXT1cImlucHV0VHlwZVwiPjwvcC1pbnB1dE1hc2s+XHJcbiAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlaW4nIFtmb3JtXT1cImNvbnRhY3RGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtMTJcIiAqbmdJZj1cInVzZXJUeXBlLnZhbHVlPT0nQ0xNVCcgfHwgdXNlclR5cGUudmFsdWU9PSdFTVBSJ1wiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJzZWxlY3RlZFJlYXNvblwiPnt7J2NvbnRhY3QudXMuc2VsZWN0ZWRSZWFzb24nfCB0cmFuc2xhdGV9fTwvbGFiZWw+PGJyIC8+XHJcbiAgICAgICAgPHAtZHJvcGRvd24gW29wdGlvbnNdPVwiYWN0aXZlQ29tcGxhaW50Q2F0ZWdvcnlcIiBmb3JtQ29udHJvbE5hbWU9XCJzZWxlY3RlZFJlYXNvblwiIHBsYWNlaG9sZGVyPVwiU2VsZWN0IGNhdGVnb3J5XCJcclxuICAgICAgICAgIG9wdGlvbkxhYmVsPVwiZGVzY3JpcHRpb25cIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGNsYXNzPVwicXVlcnlDYXRlZ29yeVwiIGFwcGVuZFRvPVwiYm9keVwiPlxyXG4gICAgICAgIDwvcC1kcm9wZG93bj5cclxuICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2VsZWN0ZWRSZWFzb24nIFtmb3JtXT1cImNvbnRhY3RGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMlwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJpc3N1ZVwiPnt7J2NvbnRhY3QudXMuaXNzdWUnfCB0cmFuc2xhdGV9fTwvbGFiZWw+PGJyIC8+XHJcbiAgICAgICAgPHRleHRhcmVhIHBJbnB1dFRleHRhcmVhIGZvcm1Db250cm9sTmFtZT1cImlzc3VlXCIgbWF4bGVuZ3RoPVwiNTAwXCI+PC90ZXh0YXJlYT48YnIgLz5cclxuICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0naXNzdWUnIFtmb3JtXT1cImNvbnRhY3RGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgPHNtYWxsPnt7J2NvbnRhY3QudXMuaXNzdWVOb3Rlcyd8IHRyYW5zbGF0ZX19PC9zbWFsbD5cclxuICAgICAgICBcclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgY29sLTEyXCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cImVtYWlsXCI+e3snY29udGFjdC51cy5lbWFpbCd8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBwSW5wdXRUZXh0IGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCIgbWF4bGVuZ3RoPVwiMTAwXCIgLz5cclxuICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZW1haWwnIFtmb3JtXT1cImNvbnRhY3RGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJywgZW1haWw6IHZhbGlkRW1haWxcclxuICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtMTIgbWQ6Y29sLTZcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwicGhvbmVcIj57eydjb250YWN0LnVzLnBob25lJ3wgdHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgIDxwLWlucHV0TWFzayBtYXNrPVwiKDk5OSkgOTk5LTk5OTlcIiBmb3JtQ29udHJvbE5hbWU9XCJwaG9uZVwiIHBsYWNlaG9sZGVyPVwiKDk5OSkgOTk5LTk5OTlcIiB1bm1hc2s9XCJ0cnVlXCI+XHJcbiAgICAgICAgPC9wLWlucHV0TWFzaz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtMTIgbWQ6Y29sLTZcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiYWx0UGhvbmVcIj57eydjb250YWN0LnVzLmFsdFBob25lJ3wgdHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgIDxwLWlucHV0TWFzayBtYXNrPVwiKDk5OSkgOTk5LTk5OTlcIiBmb3JtQ29udHJvbE5hbWU9XCJhbHRQaG9uZVwiIHBsYWNlaG9sZGVyPVwiKDk5OSkgOTk5LTk5OTlcIiB1bm1hc2s9XCJ0cnVlXCI+XHJcbiAgICAgICAgPC9wLWlucHV0TWFzaz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtMTJcIj5cclxuICAgICAgICA8YXBwLWFkZHJlc3MgW2Zyb21Qb3B1cF09XCJ0cnVlXCIgZm9ybUNvbnRyb2xOYW1lPVwiYWRkcmVzc1wiPjwvYXBwLWFkZHJlc3M+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgY29sLTEyXCIgKm5nSWY9XCIhaXNDc3JcIj5cclxuICAgICAgICA8YXBwLWNhcHRjaGEgZm9ybUNvbnRyb2xOYW1lPVwiY2FwdGNoYVwiPjwvYXBwLWNhcHRjaGE+XHJcbiAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2NhcHRjaGEnIFtmb3JtXT1cImNvbnRhY3RGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtNlwiICpuZ0lmPVwiaXNDc3JcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiZGl2aXNpb25cIj57eydjb250YWN0LnVzLmRpdmlzaW9uJ3wgdHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cImFsbERlcGFydG1lbnRzXCIgZm9ybUNvbnRyb2xOYW1lPVwiZGl2aXNpb25cIiBwbGFjZWhvbGRlcj1cIlNlbGVjdCBEZXBhcnRtZW50XCJcclxuICAgICAgICAgIG9wdGlvbkxhYmVsPVwidmFsdWVcIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGNsYXNzPVwicm9sZU5hbWVcIiBhcHBlbmRUbz1cImJvZHlcIiAob25DaGFuZ2UpPVwiZmV0Y2hVbml0c0Jhc2VkT25EZXBUeXBlKCRldmVudClcIj5cclxuICAgICAgICA8L3AtZHJvcGRvd24+XHJcbiAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2RpdmlzaW9uJyBbZm9ybV09XCJjb250YWN0Rm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtNlwiICpuZ0lmPVwiaXNDc3JcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwidW5pdFwiPnt7J2NvbnRhY3QudXMudW5pdCd8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJ1bml0c0Jhc2VkT25EZXB0XCIgZm9ybUNvbnRyb2xOYW1lPVwidW5pdFwiIHBsYWNlaG9sZGVyPVwiU2VsZWN0IFVuaXRcIlxyXG4gICAgICAgICAgb3B0aW9uTGFiZWw9XCJ2YWx1ZVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgY2xhc3M9XCJyb2xlTmFtZVwiIGFwcGVuZFRvPVwiYm9keVwiIChvbkNoYW5nZSk9XCJmZXRjaFVzZXJzQmFzZWRPblVuaXQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvcC1kcm9wZG93bj5cclxuICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ndW5pdCcgW2Zvcm1dPVwiY29udGFjdEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgY29sLTZcIiAqbmdJZj1cImlzQ3NyXCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cImdlbmVyYWxBc3NpZ25tZW50XCI+e3snY29udGFjdC51cy5nZW5lcmFsQXNzaWdubWVudCd8IHRyYW5zbGF0ZX19PC9sYWJlbD48YnIgLz5cclxuICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJhbGxSb2xlc1wiIGZvcm1Db250cm9sTmFtZT1cImdlbmVyYWxBc3NpZ25tZW50XCIgKG9uQ2hhbmdlKT1cImZldGNoVXNlcnNCYXNlZE9uUm9sZXMoJGV2ZW50KVwiXHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBBc3NpZ25tZW50XCIgb3B0aW9uTGFiZWw9XCJ2YWx1ZVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgXHJcbiAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIj48L3AtZHJvcGRvd24+XHJcbiAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2dlbmVyYWxBc3NpZ25tZW50JyBbZm9ybV09XCJjb250YWN0Rm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtNlwiICpuZ0lmPVwiaXNDc3JcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiYXNzaWduQ2FzZVRvXCI+e3tcImNvbnRhY3QudXMuYXNzaWduQ2FzZVRvXCJ8IHRyYW5zbGF0ZX19PC9sYWJlbD48YnIgLz5cclxuICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJ1c2Vyc0ZMbmFtZVwiIGZvcm1Db250cm9sTmFtZT1cImFzc2lnbkNhc2VUb1wiXHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIkFzc2lnbiBDYXNlIFRvXCIgIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgXHJcbiAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIj48L3AtZHJvcGRvd24+XHJcbiAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2Fzc2lnbkNhc2VUbycgW2Zvcm1dPVwiY29udGFjdEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgIDwvZGl2PiAgICBcclxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMiBtZDpjb2wtNlwiICpuZ0lmPVwiaXNDc3JcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiZ2VuZXJhdGVkVGhyb3VnaFwiPnt7XCJjb250YWN0LnVzLm1zZ0dlbmVyYXRlZFRocm91Z2hcInwgdHJhbnNsYXRlfX08L2xhYmVsPjxiciAvPlxyXG4gICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cIm1zZ0dlbmVyYXRlZFRocm91Z2hMaXN0XCIgZm9ybUNvbnRyb2xOYW1lPVwiZ2VuZXJhdGVkVGhyb3VnaFwiXHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIk1lc3NhZ2UgZ2VuZXJhdGVkIHRocm91Z2hcIiAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBvcHRpb25MYWJlbD1cImRlc2NyaXB0aW9uXCIgXHJcbiAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIj48L3AtZHJvcGRvd24+XHJcbiAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2dlbmVyYXRlZFRocm91Z2gnIFtmb3JtXT1cImNvbnRhY3RGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICA8L2Rpdj4gXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtMTJcIiAqbmdJZj1cImlzQ3NyICYmIHNlbGVjdGVkQ2FzZVwiPlxyXG4gICAgICAgICAgPGxhYmVsIGZvcj1cImNsb3NlQ2FzZVJlYXNvblwiPnt7XCJjb250YWN0LnVzLmNsb3NlXCJ8IHRyYW5zbGF0ZX19PC9sYWJlbD48YnIgLz5cclxuICAgICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cImFsbENsb3NlUmVhc29uc1wiIGZvcm1Db250cm9sTmFtZT1cImNsb3NlQ2FzZVJlYXNvblwiIGNsYXNzPVwicXVlcnlDYXRlZ29yeVwiXHJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IFJlYXNvblwiICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIG9wdGlvbkxhYmVsPVwiZGVzY3JpcHRpb25cIiBcclxuICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgc2hvd0NsZWFyPVwidHJ1ZVwiPjwvcC1kcm9wZG93bj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgICBcclxuICAgIDwvZGl2PlxyXG4gIDwvZm9ybT5cclxuPC9kaXY+XHJcbjxkaXYgKm5nSWY9XCJzaG93U3VjY2Vzc1wiPlxyXG4gIDxkaXYgKm5nSWY9XCJzdWJtaXRTdWNjZXNzXCI+XHJcbiAgICA8aW9uLXJvdz5cclxuICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1sZWZ0IHRleHQtbGdcIiBzdHlsZT1cImZvbnQtZmFtaWx5OiB2YXIoLS1hcHAtZm9udC1saWdodClcIj5cclxuICAgICAge3snY29udGFjdC51cy5zdWNjZXNzTXNnJ3wgdHJhbnNsYXRlfX08c3BhblxyXG4gICAgICAgICAgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDsgY29sb3I6IHZhcigtLWlvbi1jb2xvci1wcmltYXJ5KTtcIj57e2Nhc2VOb319PC9zcGFuPlxyXG4gICAgICA8L2lvbi1jb2w+XHJcbiAgICA8L2lvbi1yb3c+XHJcbiAgICA8aW9uLXJvdz5cclxuICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICA8aW9uLWljb24gbmFtZT1cImNoZWNrbWFyay1jaXJjbGVcIiBzdHlsZT1cImZvbnQtc2l6ZTogODBweDsgY29sb3I6IHZhcigtLWlvbi1jb2xvci1ncmVlbik7XCJcclxuICAgICAgICAgIGNsYXNzPVwiem9vbWluIGFuaW1hdGlvbi1kdXJhdGlvbi0xMDAwXCI+PC9pb24taWNvbj5cclxuICAgICAgPC9pb24tY29sPlxyXG4gICAgPC9pb24tcm93PlxyXG4gICAgPGlvbi1yb3c+XHJcbiAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtbGVmdCB0ZXh0LWxnIGNvbnRhY3RVc1BhZ2VIZWFkZXJcIj5cclxuICAgICAgICB7eydjb250YWN0LnVzLmNvbnRhY3RBZ2Fpbid8IHRyYW5zbGF0ZX19XHJcbiAgICAgIDwvaW9uLWNvbD5cclxuICAgIDwvaW9uLXJvdz5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwiIXN1Ym1pdFN1Y2Nlc3NcIj5cclxuICAgIDxpb24tcm93PlxyXG4gICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWxlZnQgdGV4dC1sZ1wiIHN0eWxlPVwiZm9udC1mYW1pbHk6IHZhcigtLWFwcC1mb250LWxpZ2h0KVwiPlxyXG4gICAgICAgIHt7J2NvbnRhY3QudXMuZmFpbGVkTXNnJ3wgdHJhbnNsYXRlfX1cclxuICAgICAgPC9pb24tY29sPlxyXG4gICAgPC9pb24tcm93PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtMTIgaW9uLXRleHQtcmlnaHRcIj5cclxuICA8aW9uLWJ1dHRvbiAqbmdJZj1cIiFzaG93U3VjY2VzcyAmJiAhaXNDc3JcIiBzaGFwZT1cInJvdW5kXCIgdHlwZT1cInN1Ym1pdFwiIGNvbG9yPVwicHJpbWFyeVwiIFxyXG4gIChjbGljayk9XCJzdWJtaXRDb250YWN0VXMoY29udGFjdFVzRm9ybSlcIj57eydjb21tb24uc3VibWl0J3wgdHJhbnNsYXRlfX1cclxuICA8L2lvbi1idXR0b24+XHJcbiAgPGlvbi1idXR0b24gKm5nSWY9XCIhaXNDc3JcIiBzaGFwZT1cInJvdW5kXCIgdHlwZT1cInN1Ym1pdFwiIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJlbWl0SGlkZSgkZXZlbnQpXCI+XHJcbiAgICB7eydjb21tb24uY2xvc2UnfCB0cmFuc2xhdGV9fVxyXG4gIDwvaW9uLWJ1dHRvbj5cclxuPC9kaXY+Il19