@reusa/ngx-reusa-app-lib 0.0.1361 → 0.0.1363

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 (536) hide show
  1. package/esm2022/lib/components/add-employer/add-employer.component.mjs +1324 -2388
  2. package/esm2022/lib/components/add-participant/add-participant.component.mjs +105 -159
  3. package/esm2022/lib/components/add-payment/add-payment.component.mjs +53 -59
  4. package/esm2022/lib/components/address/address.component.mjs +150 -285
  5. package/esm2022/lib/components/bank-details/bank-details.component.mjs +219 -79
  6. package/esm2022/lib/components/contact-us/contact-us.component.mjs +43 -17
  7. package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +9 -3
  8. package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +4 -32
  9. package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +15 -30
  10. package/esm2022/lib/components/disclosure/disclosure.component.mjs +1 -1
  11. package/esm2022/lib/components/dropdown/dropdown.component.mjs +4 -4
  12. package/esm2022/lib/components/dropdown/dropdown.interface.mjs +1 -1
  13. package/esm2022/lib/components/email-update/email-update.component.mjs +140 -63
  14. package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +574 -422
  15. package/esm2022/lib/components/error/error.component.mjs +5 -22
  16. package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +1 -1
  17. package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +49 -178
  18. package/esm2022/lib/components/footer/footer.component.mjs +101 -112
  19. package/esm2022/lib/components/header/header.component.mjs +174 -440
  20. package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +36 -25
  21. package/esm2022/lib/components/info/info.component.mjs +12 -4
  22. package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +22 -16
  23. package/esm2022/lib/components/job-title/job-title.component.mjs +97 -92
  24. package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +513 -143
  25. package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +402 -0
  26. package/esm2022/lib/components/link/link.component.mjs +1 -1
  27. package/esm2022/lib/components/menu/menu.component.mjs +100 -68
  28. package/esm2022/lib/components/mfa/mfa.component.mjs +287 -158
  29. package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +18 -11
  30. package/esm2022/lib/components/mfa2/mfa2.component.mjs +285 -0
  31. package/esm2022/lib/components/money-expect/money-expect.component.mjs +54 -158
  32. package/esm2022/lib/components/profile/profile.component.mjs +353 -749
  33. package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +38 -108
  34. package/esm2022/lib/components/questionnaire/AppValidators.mjs +47 -296
  35. package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +65 -110
  36. package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +173 -377
  37. package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +95 -76
  38. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +1142 -878
  39. package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +667 -207
  40. package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +22 -28
  41. package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +41 -128
  42. package/esm2022/lib/components/questionnaire/question-control.service.mjs +1 -2
  43. package/esm2022/lib/components/questionnaire/question.service.mjs +7 -5
  44. package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +29 -15
  45. package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +237 -497
  46. package/esm2022/lib/components/search-employer/search-employer.component.mjs +30 -155
  47. package/esm2022/lib/components/security-question/security-question.component.mjs +199 -0
  48. package/esm2022/lib/components/select/select.component.mjs +10 -5
  49. package/esm2022/lib/components/sign-ssn/sign-ssn.component.mjs +3 -3
  50. package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +72 -52
  51. package/esm2022/lib/components/user-login/user-login.component.mjs +357 -139
  52. package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +272 -622
  53. package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +61 -125
  54. package/esm2022/lib/guards/auth.guard.mjs +2 -50
  55. package/esm2022/lib/guards/no-login/no-login.guard.mjs +1 -1
  56. package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +3 -51
  57. package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +1 -1
  58. package/esm2022/lib/models/EmployerDetailSearchResult.mjs +1 -1
  59. package/esm2022/lib/models/LexisNexisAccountCreationModel.mjs +2 -0
  60. package/esm2022/lib/models/LexisNexisAuthSelectionRequestModel.mjs +2 -0
  61. package/esm2022/lib/models/LexisNexisAuthSelectionResponseModel.mjs +2 -0
  62. package/esm2022/lib/models/LexisNexisEnabledResponseModel.mjs +2 -0
  63. package/esm2022/lib/models/LexisNexisResponseModel.mjs +3 -0
  64. package/esm2022/lib/models/LibConstants.mjs +6 -45
  65. package/esm2022/lib/models/PartialEmploymentModel.mjs +3 -0
  66. package/esm2022/lib/models/PaymentComponentModel.mjs +1 -1
  67. package/esm2022/lib/models/SecurityQuestionModel.mjs +3 -0
  68. package/esm2022/lib/models/dashboard-model.mjs +1 -1
  69. package/esm2022/lib/models/dependent.model.mjs +1 -1
  70. package/esm2022/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +1 -1
  71. package/esm2022/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +1 -2
  72. package/esm2022/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +1 -1
  73. package/esm2022/lib/models/questionnaire/ComboModel.mjs +653 -96
  74. package/esm2022/lib/models/questionnaire/ElementsModel.mjs +1 -1
  75. package/esm2022/lib/models/questionnaire/LegalDiscaimarModel.mjs +1 -1
  76. package/esm2022/lib/models/questionnaire/StatusModel.mjs +1 -1
  77. package/esm2022/lib/ngx-reusa-app-lib.module.mjs +23 -135
  78. package/esm2022/lib/pages/BasePage.mjs +23 -4
  79. package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +18 -22
  80. package/esm2022/lib/pages/common/change-password/change-password.page.mjs +124 -142
  81. package/esm2022/lib/pages/common/landing/landing.component.mjs +8 -7
  82. package/esm2022/lib/pages/common/landing2/landing2.component.mjs +4 -4
  83. package/esm2022/lib/pages/common/login/login.component.mjs +11 -7
  84. package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +14 -14
  85. package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +5 -5
  86. package/esm2022/lib/pages/popovers/language/language.page.mjs +2 -1
  87. package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +4 -4
  88. package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +2 -7
  89. package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +2 -2
  90. package/esm2022/lib/services/base-service.mjs +1 -4
  91. package/esm2022/lib/services/chatbot/chatbot.service.mjs +2 -1
  92. package/esm2022/lib/services/claimant-service/claimant-usps-redirect.service.mjs +36 -0
  93. package/esm2022/lib/services/claimant-service/claimant.service.mjs +13 -7
  94. package/esm2022/lib/services/claims/claims.service.mjs +14 -105
  95. package/esm2022/lib/services/help/help.service.mjs +1 -1
  96. package/esm2022/lib/services/lexis-nexis/lexis.nexis.service.mjs +60 -0
  97. package/esm2022/lib/services/logger/logger.service.mjs +1 -1
  98. package/esm2022/lib/services/login/login.service.mjs +11 -29
  99. package/esm2022/lib/services/ovp/ovp.service.mjs +43 -0
  100. package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +1 -4
  101. package/esm2022/lib/services/questionnaire/validation.service.mjs +1 -4
  102. package/esm2022/lib/services/security-service/security.service.mjs +6 -23
  103. package/esm2022/lib/services/util/util.service.mjs +5 -61
  104. package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +14 -186
  105. package/esm2022/lib/validations/AppRegex.mjs +3 -1
  106. package/esm2022/lib/validations/AppValidators.mjs +62 -78
  107. package/esm2022/public-api.mjs +5 -47
  108. package/fesm2022/reusa-ngx-reusa-app-lib.mjs +26883 -44887
  109. package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
  110. package/lib/components/add-employer/add-employer.component.d.ts +53 -137
  111. package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
  112. package/lib/components/add-participant/add-participant.component.d.ts +5 -11
  113. package/lib/components/add-participant/add-participant.component.d.ts.map +1 -1
  114. package/lib/components/add-payment/add-payment.component.d.ts +3 -9
  115. package/lib/components/add-payment/add-payment.component.d.ts.map +1 -1
  116. package/lib/components/address/address.component.d.ts +15 -42
  117. package/lib/components/address/address.component.d.ts.map +1 -1
  118. package/lib/components/bank-details/bank-details.component.d.ts +23 -1
  119. package/lib/components/bank-details/bank-details.component.d.ts.map +1 -1
  120. package/lib/components/contact-us/contact-us.component.d.ts +4 -1
  121. package/lib/components/contact-us/contact-us.component.d.ts.map +1 -1
  122. package/lib/components/correspondence-download/correspondence-download.component.d.ts.map +1 -1
  123. package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
  124. package/lib/components/email-update/email-update.component.d.ts +12 -1
  125. package/lib/components/email-update/email-update.component.d.ts.map +1 -1
  126. package/lib/components/employer-grid/employer-grid.component.d.ts +15 -25
  127. package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
  128. package/lib/components/error/error.component.d.ts +2 -3
  129. package/lib/components/error/error.component.d.ts.map +1 -1
  130. package/lib/components/file-uploader/file-uploader.component.d.ts +1 -5
  131. package/lib/components/file-uploader/file-uploader.component.d.ts.map +1 -1
  132. package/lib/components/footer/footer.component.d.ts.map +1 -1
  133. package/lib/components/header/header.component.d.ts +5 -17
  134. package/lib/components/header/header.component.d.ts.map +1 -1
  135. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +3 -1
  136. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts.map +1 -1
  137. package/lib/components/job-title/job-title.component.d.ts +23 -22
  138. package/lib/components/job-title/job-title.component.d.ts.map +1 -1
  139. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +6 -5
  140. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -1
  141. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts +59 -0
  142. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts.map +1 -0
  143. package/lib/components/menu/menu.component.d.ts +12 -3
  144. package/lib/components/menu/menu.component.d.ts.map +1 -1
  145. package/lib/components/mfa/mfa.component.d.ts +19 -7
  146. package/lib/components/mfa/mfa.component.d.ts.map +1 -1
  147. package/lib/components/mfa-popup/mfa-popup.component.d.ts +8 -6
  148. package/lib/components/mfa-popup/mfa-popup.component.d.ts.map +1 -1
  149. package/lib/components/mfa2/mfa2.component.d.ts +48 -0
  150. package/lib/components/mfa2/mfa2.component.d.ts.map +1 -0
  151. package/lib/components/money-expect/money-expect.component.d.ts +4 -15
  152. package/lib/components/money-expect/money-expect.component.d.ts.map +1 -1
  153. package/lib/components/profile/profile.component.d.ts +49 -82
  154. package/lib/components/profile/profile.component.d.ts.map +1 -1
  155. package/lib/components/profile-redirect/profile-redirect.component.d.ts +2 -9
  156. package/lib/components/profile-redirect/profile-redirect.component.d.ts.map +1 -1
  157. package/lib/components/questionnaire/AppValidators.d.ts +0 -1
  158. package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
  159. package/lib/components/questionnaire/account-success/account-success.page.d.ts +10 -13
  160. package/lib/components/questionnaire/account-success/account-success.page.d.ts.map +1 -1
  161. package/lib/components/questionnaire/common-success/common-success.page.d.ts +1 -7
  162. package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
  163. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +1 -3
  164. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts.map +1 -1
  165. package/lib/components/questionnaire/dynamic-form-question.component.d.ts +34 -33
  166. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
  167. package/lib/components/questionnaire/dynamic-form.component.d.ts +34 -10
  168. package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
  169. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +7 -0
  170. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
  171. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +1 -7
  172. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
  173. package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
  174. package/lib/components/questionnaire/question.service.d.ts +1 -0
  175. package/lib/components/questionnaire/question.service.d.ts.map +1 -1
  176. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +7 -1
  177. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
  178. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +3 -11
  179. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -1
  180. package/lib/components/search-employer/search-employer.component.d.ts +4 -5
  181. package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
  182. package/lib/components/security-question/security-question.component.d.ts +37 -0
  183. package/lib/components/security-question/security-question.component.d.ts.map +1 -0
  184. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +5 -1
  185. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts.map +1 -1
  186. package/lib/components/user-login/user-login.component.d.ts +38 -5
  187. package/lib/components/user-login/user-login.component.d.ts.map +1 -1
  188. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +10 -27
  189. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -1
  190. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +3 -9
  191. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -1
  192. package/lib/guards/auth.guard.d.ts.map +1 -1
  193. package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts.map +1 -1
  194. package/lib/models/EmployerDetailSearchResult.d.ts +1 -4
  195. package/lib/models/EmployerDetailSearchResult.d.ts.map +1 -1
  196. package/lib/models/LexisNexisAccountCreationModel.d.ts +15 -0
  197. package/lib/models/LexisNexisAccountCreationModel.d.ts.map +1 -0
  198. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts +16 -0
  199. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts.map +1 -0
  200. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts +39 -0
  201. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts.map +1 -0
  202. package/lib/models/LexisNexisEnabledResponseModel.d.ts +5 -0
  203. package/lib/models/LexisNexisEnabledResponseModel.d.ts.map +1 -0
  204. package/lib/models/LexisNexisResponseModel.d.ts +7 -0
  205. package/lib/models/LexisNexisResponseModel.d.ts.map +1 -0
  206. package/lib/models/LibConstants.d.ts +1 -40
  207. package/lib/models/LibConstants.d.ts.map +1 -1
  208. package/lib/models/PartialEmploymentModel.d.ts +6 -0
  209. package/lib/models/PartialEmploymentModel.d.ts.map +1 -0
  210. package/lib/models/PaymentComponentModel.d.ts +1 -1
  211. package/lib/models/PaymentComponentModel.d.ts.map +1 -1
  212. package/lib/models/SecurityQuestionModel.d.ts +7 -0
  213. package/lib/models/SecurityQuestionModel.d.ts.map +1 -0
  214. package/lib/models/dashboard-model.d.ts +0 -22
  215. package/lib/models/dashboard-model.d.ts.map +1 -1
  216. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +0 -3
  217. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts.map +1 -1
  218. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +4 -15
  219. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts.map +1 -1
  220. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +1 -4
  221. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts.map +1 -1
  222. package/lib/models/questionnaire/ComboModel.d.ts +82 -14
  223. package/lib/models/questionnaire/ComboModel.d.ts.map +1 -1
  224. package/lib/models/questionnaire/ElementsModel.d.ts +1 -0
  225. package/lib/models/questionnaire/ElementsModel.d.ts.map +1 -1
  226. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +0 -2
  227. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts.map +1 -1
  228. package/lib/models/questionnaire/StatusModel.d.ts +0 -1
  229. package/lib/models/questionnaire/StatusModel.d.ts.map +1 -1
  230. package/lib/ngx-reusa-app-lib.module.d.ts +86 -124
  231. package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
  232. package/lib/pages/BasePage.d.ts +6 -3
  233. package/lib/pages/BasePage.d.ts.map +1 -1
  234. package/lib/pages/common/change-password/change-password.page.d.ts +0 -3
  235. package/lib/pages/common/change-password/change-password.page.d.ts.map +1 -1
  236. package/lib/pages/common/login/login.component.d.ts.map +1 -1
  237. package/lib/pages/popovers/language/language.page.d.ts.map +1 -1
  238. package/lib/pages/popovers/my-profile/my-profile.page.d.ts.map +1 -1
  239. package/lib/services/base-service.d.ts +0 -12
  240. package/lib/services/base-service.d.ts.map +1 -1
  241. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts +16 -0
  242. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts.map +1 -0
  243. package/lib/services/claimant-service/claimant.service.d.ts +6 -5
  244. package/lib/services/claimant-service/claimant.service.d.ts.map +1 -1
  245. package/lib/services/claims/claims.service.d.ts +5 -39
  246. package/lib/services/claims/claims.service.d.ts.map +1 -1
  247. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts +26 -0
  248. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts.map +1 -0
  249. package/lib/services/login/login.service.d.ts +3 -5
  250. package/lib/services/login/login.service.d.ts.map +1 -1
  251. package/lib/services/ovp/ovp.service.d.ts +17 -0
  252. package/lib/services/ovp/ovp.service.d.ts.map +1 -0
  253. package/lib/services/questionnaire/questionnaire.service.d.ts +0 -1
  254. package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -1
  255. package/lib/services/questionnaire/validation.service.d.ts +0 -3
  256. package/lib/services/questionnaire/validation.service.d.ts.map +1 -1
  257. package/lib/services/security-service/security.service.d.ts +4 -12
  258. package/lib/services/security-service/security.service.d.ts.map +1 -1
  259. package/lib/services/util/util.service.d.ts +0 -6
  260. package/lib/services/util/util.service.d.ts.map +1 -1
  261. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +5 -47
  262. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -1
  263. package/lib/validations/AppRegex.d.ts +2 -0
  264. package/lib/validations/AppRegex.d.ts.map +1 -1
  265. package/lib/validations/AppValidators.d.ts +24 -20
  266. package/lib/validations/AppValidators.d.ts.map +1 -1
  267. package/package.json +2 -2
  268. package/public-api.d.ts +4 -46
  269. package/public-api.d.ts.map +1 -1
  270. package/esm2022/lib/components/add-wage/add-wage.component.mjs +0 -161
  271. package/esm2022/lib/components/address-popup/address-popup.component.mjs +0 -97
  272. package/esm2022/lib/components/address-suggestion/address-suggestion.component.mjs +0 -289
  273. package/esm2022/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.mjs +0 -245
  274. package/esm2022/lib/components/associate-ssn/associate-ssn.component.mjs +0 -203
  275. package/esm2022/lib/components/claim-info/claim-info.component.mjs +0 -408
  276. package/esm2022/lib/components/dua-request-page/dua-request-page.component.mjs +0 -596
  277. package/esm2022/lib/components/dua-request-popup/dua-request-popup.component.mjs +0 -356
  278. package/esm2022/lib/components/employer-info/employer-info.component.mjs +0 -319
  279. package/esm2022/lib/components/employer-pay/employer-pay.component.mjs +0 -238
  280. package/esm2022/lib/components/employer-pay-grid/employer-pay-grid.component.mjs +0 -302
  281. package/esm2022/lib/components/farm-usage/farm-usage.component.mjs +0 -172
  282. package/esm2022/lib/components/gross-earnings/gross-earnings.component.mjs +0 -201
  283. package/esm2022/lib/components/history-page/history-page.component.mjs +0 -571
  284. package/esm2022/lib/components/idme/idme.component.mjs +0 -84
  285. package/esm2022/lib/components/offline-add-employer/offline-add-employer.component.mjs +0 -3661
  286. package/esm2022/lib/components/offline-bank-details/offline-bank-details.component.mjs +0 -258
  287. package/esm2022/lib/components/offline-employer-grid/offline-employer-grid.component.mjs +0 -853
  288. package/esm2022/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.mjs +0 -251
  289. package/esm2022/lib/components/proof-of-anything/proof-of-anything.component.mjs +0 -261
  290. package/esm2022/lib/components/proof-of-document-upload/proof-of-document-upload.component.mjs +0 -560
  291. package/esm2022/lib/components/scrollable-text/scrollable-text.component.mjs +0 -25
  292. package/esm2022/lib/components/sms/sms.component.mjs +0 -336
  293. package/esm2022/lib/components/wage-calculator/wage-calculator.component.mjs +0 -527
  294. package/esm2022/lib/components/wage-grid/wage-grid.component.mjs +0 -274
  295. package/esm2022/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.mjs +0 -147
  296. package/esm2022/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.mjs +0 -167
  297. package/esm2022/lib/components/weekly-certification/weekly-certification.component.mjs +0 -828
  298. package/esm2022/lib/components/weekly-confirmation/confirmation.component.mjs +0 -129
  299. package/esm2022/lib/components/weekly-interim-confirmation/interim-confirmation.component.mjs +0 -136
  300. package/esm2022/lib/components/weekly-summary-v2/summary.component-v2.mjs +0 -72
  301. package/esm2022/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.mjs +0 -50
  302. package/esm2022/lib/components/weekly-work-search-counter/work-search-counter.component.mjs +0 -92
  303. package/esm2022/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.mjs +0 -1190
  304. package/esm2022/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.mjs +0 -690
  305. package/esm2022/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.mjs +0 -524
  306. package/esm2022/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.mjs +0 -394
  307. package/esm2022/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.mjs +0 -640
  308. package/esm2022/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.mjs +0 -33
  309. package/esm2022/lib/enums/AddressValidationResponseEnum.mjs +0 -9
  310. package/esm2022/lib/enums/AddressValidationSourceFunctionEnum.mjs +0 -5
  311. package/esm2022/lib/models/ActiveClaimModel.mjs +0 -3
  312. package/esm2022/lib/models/CountyModel.mjs +0 -3
  313. package/esm2022/lib/models/DuaAppDataModel.mjs +0 -3
  314. package/esm2022/lib/models/DuaRequestModel.mjs +0 -3
  315. package/esm2022/lib/models/DuaRetroWeeksComponentModel.mjs +0 -6
  316. package/esm2022/lib/models/EmployerInfoComponentModel.mjs +0 -4
  317. package/esm2022/lib/models/EmployerPayInfoModel.mjs +0 -6
  318. package/esm2022/lib/models/FarmUsageComponentModel.mjs +0 -2
  319. package/esm2022/lib/models/GrossEarningsModel.mjs +0 -3
  320. package/esm2022/lib/models/HelpConstants.mjs +0 -5
  321. package/esm2022/lib/models/LexisNexisOtpDetailsResponseModel.mjs +0 -3
  322. package/esm2022/lib/models/ReasonSeparationRequestModel.mjs +0 -3
  323. package/esm2022/lib/models/RetroWeeksModel.mjs +0 -3
  324. package/esm2022/lib/models/SecurityQuestionAnswerModel.mjs +0 -3
  325. package/esm2022/lib/models/SendOtpRequestModel.mjs +0 -3
  326. package/esm2022/lib/models/VerifyOtpRequestModel.mjs +0 -3
  327. package/esm2022/lib/models/WageCalculatorModel.mjs +0 -3
  328. package/esm2022/lib/models/WageInfoModel.mjs +0 -4
  329. package/esm2022/lib/models/addressValidation/AddressRecommendationModel.mjs +0 -3
  330. package/esm2022/lib/models/addressValidation/AddressValidationRequestComponentModel.mjs +0 -3
  331. package/esm2022/lib/models/addressValidation/AddressValidationResponseComponentModel.mjs +0 -3
  332. package/esm2022/lib/models/addressValidation/AddressValidationReturnComponentModel.mjs +0 -3
  333. package/esm2022/lib/models/combo-model.mjs +0 -343
  334. package/esm2022/lib/models/fileupload/DocUploadModel.mjs +0 -7
  335. package/esm2022/lib/models/fileupload/EmployerDataModel.mjs +0 -3
  336. package/esm2022/lib/models/fileupload/FileObject.mjs +0 -3
  337. package/esm2022/lib/models/fileupload/FileObjectArray.mjs +0 -7
  338. package/esm2022/lib/models/questionnaire/AppealParticipantModel.mjs +0 -8
  339. package/esm2022/lib/models/questionnaire/ScrollableTextModel.mjs +0 -3
  340. package/esm2022/lib/models/questionnaire/WbaHelperTextModel.mjs +0 -3
  341. package/esm2022/lib/models/weekly-cert/WorkSearchWaiverModel.mjs +0 -3
  342. package/esm2022/lib/models/weekly-cert/address-detail-model.mjs +0 -2
  343. package/esm2022/lib/models/weekly-cert/admin-leave-details-model.mjs +0 -7
  344. package/esm2022/lib/models/weekly-cert/employer-info-v2-model.mjs +0 -7
  345. package/esm2022/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.mjs +0 -6
  346. package/esm2022/lib/models/weekly-cert/weekly-certification-v2-model.mjs +0 -34
  347. package/esm2022/lib/models/weekly-cert/work-search-record-v2-model.mjs +0 -15
  348. package/esm2022/lib/models/weekly-cert/work-search-v2-model.mjs +0 -11
  349. package/esm2022/lib/pipes/format-worksearch/format-worksearch.pipe.mjs +0 -101
  350. package/esm2022/lib/services/address-validation-service/address-validation.service.mjs +0 -151
  351. package/esm2022/lib/services/appeal/appeal.service.mjs +0 -37
  352. package/esm2022/lib/services/birt-service/birt.service.mjs +0 -57
  353. package/esm2022/lib/services/employer/employer-service.mjs +0 -35
  354. package/esm2022/lib/services/event-service/event-service.mjs +0 -44
  355. package/esm2022/lib/services/offline-claims/offline-claims.service.mjs +0 -327
  356. package/esm2022/lib/services/weekly-cert/review.service.mjs +0 -101
  357. package/esm2022/lib/services/weekly-cert/weekly-cert.service.mjs +0 -37
  358. package/esm2022/lib/services/weekly-cert/work-search.service.mjs +0 -58
  359. package/lib/components/add-wage/add-wage.component.d.ts +0 -30
  360. package/lib/components/add-wage/add-wage.component.d.ts.map +0 -1
  361. package/lib/components/address-popup/address-popup.component.d.ts +0 -16
  362. package/lib/components/address-popup/address-popup.component.d.ts.map +0 -1
  363. package/lib/components/address-suggestion/address-suggestion.component.d.ts +0 -43
  364. package/lib/components/address-suggestion/address-suggestion.component.d.ts.map +0 -1
  365. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts +0 -37
  366. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts.map +0 -1
  367. package/lib/components/associate-ssn/associate-ssn.component.d.ts +0 -33
  368. package/lib/components/associate-ssn/associate-ssn.component.d.ts.map +0 -1
  369. package/lib/components/claim-info/claim-info.component.d.ts +0 -49
  370. package/lib/components/claim-info/claim-info.component.d.ts.map +0 -1
  371. package/lib/components/dua-request-page/dua-request-page.component.d.ts +0 -74
  372. package/lib/components/dua-request-page/dua-request-page.component.d.ts.map +0 -1
  373. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts +0 -61
  374. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts.map +0 -1
  375. package/lib/components/employer-info/employer-info.component.d.ts +0 -50
  376. package/lib/components/employer-info/employer-info.component.d.ts.map +0 -1
  377. package/lib/components/employer-pay/employer-pay.component.d.ts +0 -51
  378. package/lib/components/employer-pay/employer-pay.component.d.ts.map +0 -1
  379. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts +0 -43
  380. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts.map +0 -1
  381. package/lib/components/farm-usage/farm-usage.component.d.ts +0 -33
  382. package/lib/components/farm-usage/farm-usage.component.d.ts.map +0 -1
  383. package/lib/components/gross-earnings/gross-earnings.component.d.ts +0 -42
  384. package/lib/components/gross-earnings/gross-earnings.component.d.ts.map +0 -1
  385. package/lib/components/history-page/history-page.component.d.ts +0 -80
  386. package/lib/components/history-page/history-page.component.d.ts.map +0 -1
  387. package/lib/components/idme/idme.component.d.ts +0 -19
  388. package/lib/components/idme/idme.component.d.ts.map +0 -1
  389. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts +0 -311
  390. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts.map +0 -1
  391. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts +0 -33
  392. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts.map +0 -1
  393. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts +0 -97
  394. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts.map +0 -1
  395. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts +0 -33
  396. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts.map +0 -1
  397. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts +0 -54
  398. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts.map +0 -1
  399. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts +0 -74
  400. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts.map +0 -1
  401. package/lib/components/scrollable-text/scrollable-text.component.d.ts +0 -11
  402. package/lib/components/scrollable-text/scrollable-text.component.d.ts.map +0 -1
  403. package/lib/components/sms/sms.component.d.ts +0 -63
  404. package/lib/components/sms/sms.component.d.ts.map +0 -1
  405. package/lib/components/wage-calculator/wage-calculator.component.d.ts +0 -44
  406. package/lib/components/wage-calculator/wage-calculator.component.d.ts.map +0 -1
  407. package/lib/components/wage-grid/wage-grid.component.d.ts +0 -43
  408. package/lib/components/wage-grid/wage-grid.component.d.ts.map +0 -1
  409. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts +0 -28
  410. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts.map +0 -1
  411. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts +0 -28
  412. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts.map +0 -1
  413. package/lib/components/weekly-certification/weekly-certification.component.d.ts +0 -101
  414. package/lib/components/weekly-certification/weekly-certification.component.d.ts.map +0 -1
  415. package/lib/components/weekly-confirmation/confirmation.component.d.ts +0 -21
  416. package/lib/components/weekly-confirmation/confirmation.component.d.ts.map +0 -1
  417. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts +0 -34
  418. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts.map +0 -1
  419. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts +0 -17
  420. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts.map +0 -1
  421. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts +0 -10
  422. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts.map +0 -1
  423. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts +0 -17
  424. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts.map +0 -1
  425. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts +0 -105
  426. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts.map +0 -1
  427. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts +0 -71
  428. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts.map +0 -1
  429. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts +0 -59
  430. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts.map +0 -1
  431. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts +0 -47
  432. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts.map +0 -1
  433. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts +0 -78
  434. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts.map +0 -1
  435. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts +0 -8
  436. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts.map +0 -1
  437. package/lib/enums/AddressValidationResponseEnum.d.ts +0 -8
  438. package/lib/enums/AddressValidationResponseEnum.d.ts.map +0 -1
  439. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts +0 -4
  440. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts.map +0 -1
  441. package/lib/models/ActiveClaimModel.d.ts +0 -8
  442. package/lib/models/ActiveClaimModel.d.ts.map +0 -1
  443. package/lib/models/CountyModel.d.ts +0 -8
  444. package/lib/models/CountyModel.d.ts.map +0 -1
  445. package/lib/models/DuaAppDataModel.d.ts +0 -5
  446. package/lib/models/DuaAppDataModel.d.ts.map +0 -1
  447. package/lib/models/DuaRequestModel.d.ts +0 -10
  448. package/lib/models/DuaRequestModel.d.ts.map +0 -1
  449. package/lib/models/DuaRetroWeeksComponentModel.d.ts +0 -5
  450. package/lib/models/DuaRetroWeeksComponentModel.d.ts.map +0 -1
  451. package/lib/models/EmployerInfoComponentModel.d.ts +0 -9
  452. package/lib/models/EmployerInfoComponentModel.d.ts.map +0 -1
  453. package/lib/models/EmployerPayInfoModel.d.ts +0 -20
  454. package/lib/models/EmployerPayInfoModel.d.ts.map +0 -1
  455. package/lib/models/FarmUsageComponentModel.d.ts +0 -10
  456. package/lib/models/FarmUsageComponentModel.d.ts.map +0 -1
  457. package/lib/models/GrossEarningsModel.d.ts +0 -6
  458. package/lib/models/GrossEarningsModel.d.ts.map +0 -1
  459. package/lib/models/HelpConstants.d.ts +0 -5
  460. package/lib/models/HelpConstants.d.ts.map +0 -1
  461. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts +0 -7
  462. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts.map +0 -1
  463. package/lib/models/ReasonSeparationRequestModel.d.ts +0 -7
  464. package/lib/models/ReasonSeparationRequestModel.d.ts.map +0 -1
  465. package/lib/models/RetroWeeksModel.d.ts +0 -11
  466. package/lib/models/RetroWeeksModel.d.ts.map +0 -1
  467. package/lib/models/SecurityQuestionAnswerModel.d.ts +0 -7
  468. package/lib/models/SecurityQuestionAnswerModel.d.ts.map +0 -1
  469. package/lib/models/SendOtpRequestModel.d.ts +0 -12
  470. package/lib/models/SendOtpRequestModel.d.ts.map +0 -1
  471. package/lib/models/VerifyOtpRequestModel.d.ts +0 -8
  472. package/lib/models/VerifyOtpRequestModel.d.ts.map +0 -1
  473. package/lib/models/WageCalculatorModel.d.ts +0 -15
  474. package/lib/models/WageCalculatorModel.d.ts.map +0 -1
  475. package/lib/models/WageInfoModel.d.ts +0 -9
  476. package/lib/models/WageInfoModel.d.ts.map +0 -1
  477. package/lib/models/addressValidation/AddressRecommendationModel.d.ts +0 -12
  478. package/lib/models/addressValidation/AddressRecommendationModel.d.ts.map +0 -1
  479. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts +0 -11
  480. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts.map +0 -1
  481. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts +0 -6
  482. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts.map +0 -1
  483. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts +0 -16
  484. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts.map +0 -1
  485. package/lib/models/combo-model.d.ts +0 -42
  486. package/lib/models/combo-model.d.ts.map +0 -1
  487. package/lib/models/fileupload/DocUploadModel.d.ts +0 -22
  488. package/lib/models/fileupload/DocUploadModel.d.ts.map +0 -1
  489. package/lib/models/fileupload/EmployerDataModel.d.ts +0 -6
  490. package/lib/models/fileupload/EmployerDataModel.d.ts.map +0 -1
  491. package/lib/models/fileupload/FileObject.d.ts +0 -8
  492. package/lib/models/fileupload/FileObject.d.ts.map +0 -1
  493. package/lib/models/fileupload/FileObjectArray.d.ts +0 -8
  494. package/lib/models/fileupload/FileObjectArray.d.ts.map +0 -1
  495. package/lib/models/questionnaire/AppealParticipantModel.d.ts +0 -17
  496. package/lib/models/questionnaire/AppealParticipantModel.d.ts.map +0 -1
  497. package/lib/models/questionnaire/ScrollableTextModel.d.ts +0 -4
  498. package/lib/models/questionnaire/ScrollableTextModel.d.ts.map +0 -1
  499. package/lib/models/questionnaire/WbaHelperTextModel.d.ts +0 -4
  500. package/lib/models/questionnaire/WbaHelperTextModel.d.ts.map +0 -1
  501. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts +0 -9
  502. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts.map +0 -1
  503. package/lib/models/weekly-cert/address-detail-model.d.ts +0 -14
  504. package/lib/models/weekly-cert/address-detail-model.d.ts.map +0 -1
  505. package/lib/models/weekly-cert/admin-leave-details-model.d.ts +0 -15
  506. package/lib/models/weekly-cert/admin-leave-details-model.d.ts.map +0 -1
  507. package/lib/models/weekly-cert/employer-info-v2-model.d.ts +0 -27
  508. package/lib/models/weekly-cert/employer-info-v2-model.d.ts.map +0 -1
  509. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts +0 -57
  510. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts.map +0 -1
  511. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts +0 -59
  512. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts.map +0 -1
  513. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts +0 -66
  514. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts.map +0 -1
  515. package/lib/models/weekly-cert/work-search-v2-model.d.ts +0 -18
  516. package/lib/models/weekly-cert/work-search-v2-model.d.ts.map +0 -1
  517. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts +0 -14
  518. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts.map +0 -1
  519. package/lib/services/address-validation-service/address-validation.service.d.ts +0 -44
  520. package/lib/services/address-validation-service/address-validation.service.d.ts.map +0 -1
  521. package/lib/services/appeal/appeal.service.d.ts +0 -16
  522. package/lib/services/appeal/appeal.service.d.ts.map +0 -1
  523. package/lib/services/birt-service/birt.service.d.ts +0 -17
  524. package/lib/services/birt-service/birt.service.d.ts.map +0 -1
  525. package/lib/services/employer/employer-service.d.ts +0 -16
  526. package/lib/services/employer/employer-service.d.ts.map +0 -1
  527. package/lib/services/event-service/event-service.d.ts +0 -20
  528. package/lib/services/event-service/event-service.d.ts.map +0 -1
  529. package/lib/services/offline-claims/offline-claims.service.d.ts +0 -64
  530. package/lib/services/offline-claims/offline-claims.service.d.ts.map +0 -1
  531. package/lib/services/weekly-cert/review.service.d.ts +0 -23
  532. package/lib/services/weekly-cert/review.service.d.ts.map +0 -1
  533. package/lib/services/weekly-cert/weekly-cert.service.d.ts +0 -17
  534. package/lib/services/weekly-cert/weekly-cert.service.d.ts.map +0 -1
  535. package/lib/services/weekly-cert/work-search.service.d.ts +0 -26
  536. package/lib/services/weekly-cert/work-search.service.d.ts.map +0 -1
@@ -0,0 +1,43 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { LibConstants } from '../../models/LibConstants';
3
+ import { BaseService } from '../base-service';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common/http";
6
+ export class OvpService extends BaseService {
7
+ constructor(http) {
8
+ super(http);
9
+ this.http = http;
10
+ }
11
+ setServiceContext() {
12
+ this.serviceContext = LibConstants.overpayment_service.context;
13
+ }
14
+ setServicePort() {
15
+ this.servicePort = LibConstants.overpayment_service.port;
16
+ }
17
+ setServiceProtocol() {
18
+ this.protocol = LibConstants.overpayment_service.protocol;
19
+ }
20
+ setServiceHost() {
21
+ this.host = LibConstants.overpayment_service.host;
22
+ }
23
+ triggerOverpaymentEvent() {
24
+ return this.get('overpayment/overpayment-details/overpayment-waiver-event');
25
+ }
26
+ triggerOverpaymentEventHistory() {
27
+ return this.get('overpayment/overpayment-details/overpayment-waiver-event-his');
28
+ }
29
+ triggerRepaymentEvent(ssnInput) {
30
+ // console.log("check the repayment Events for creation of this SSN:::"+ssnInput);
31
+ return this.get(`overpayment/events/${ssnInput}`).toPromise();
32
+ //return this.get<any>('overpayment/overpayment-details/overpayment-waiver-event') .toPromise();
33
+ }
34
+ static { this.ɵfac = function OvpService_Factory(t) { return new (t || OvpService)(i0.ɵɵinject(i1.HttpClient)); }; }
35
+ static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: OvpService, factory: OvpService.ɵfac, providedIn: 'root' }); }
36
+ }
37
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OvpService, [{
38
+ type: Injectable,
39
+ args: [{
40
+ providedIn: 'root'
41
+ }]
42
+ }], () => [{ type: i1.HttpClient }], null); })();
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL3NlcnZpY2VzL292cC9vdnAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUs5QyxNQUFNLE9BQU8sVUFBVyxTQUFRLFdBQVc7SUFFekMsWUFBbUIsSUFBaUI7UUFDbEMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBREssU0FBSSxHQUFKLElBQUksQ0FBYTtJQUVwQyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLGNBQWMsR0FBRyxZQUFZLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDO0lBQ2pFLENBQUM7SUFDRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDO0lBQzNELENBQUM7SUFDRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxZQUFZLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDO0lBQzVELENBQUM7SUFDRCxjQUFjO1FBQ1osSUFBSSxDQUFDLElBQUksR0FBRyxZQUFZLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDO0lBQ3BELENBQUM7SUFFRCx1QkFBdUI7UUFDckIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFNLDBEQUEwRCxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUNELDhCQUE4QjtRQUM1QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQU0sOERBQThELENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQscUJBQXFCLENBQUMsUUFBZ0I7UUFDckMsbUZBQW1GO1FBQy9FLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBTSxzQkFBc0IsUUFBUSxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuRSxxR0FBcUc7SUFDeEcsQ0FBQzsyRUE5QlEsVUFBVTt1RUFBVixVQUFVLFdBQVYsVUFBVSxtQkFGVCxNQUFNOztpRkFFUCxVQUFVO2NBSHRCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExpYkNvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9MaWJDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gJy4uL2Jhc2Utc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPdnBTZXJ2aWNlIGV4dGVuZHMgQmFzZVNlcnZpY2V7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBodHRwIDogSHR0cENsaWVudCkgeyBcclxuICAgIHN1cGVyKGh0dHApO1xyXG4gIH1cclxuXHJcbiAgc2V0U2VydmljZUNvbnRleHQoKSB7XHJcbiAgICB0aGlzLnNlcnZpY2VDb250ZXh0ID0gTGliQ29uc3RhbnRzLm92ZXJwYXltZW50X3NlcnZpY2UuY29udGV4dDtcclxuICB9XHJcbiAgc2V0U2VydmljZVBvcnQoKSB7XHJcbiAgICB0aGlzLnNlcnZpY2VQb3J0ID0gTGliQ29uc3RhbnRzLm92ZXJwYXltZW50X3NlcnZpY2UucG9ydDtcclxuICB9XHJcbiAgc2V0U2VydmljZVByb3RvY29sKCkge1xyXG4gICAgdGhpcy5wcm90b2NvbCA9IExpYkNvbnN0YW50cy5vdmVycGF5bWVudF9zZXJ2aWNlLnByb3RvY29sO1xyXG4gIH1cclxuICBzZXRTZXJ2aWNlSG9zdCgpIHtcclxuICAgIHRoaXMuaG9zdCA9IExpYkNvbnN0YW50cy5vdmVycGF5bWVudF9zZXJ2aWNlLmhvc3Q7XHJcbiAgfVxyXG5cclxuICB0cmlnZ2VyT3ZlcnBheW1lbnRFdmVudCgpe1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0PGFueT4oJ292ZXJwYXltZW50L292ZXJwYXltZW50LWRldGFpbHMvb3ZlcnBheW1lbnQtd2FpdmVyLWV2ZW50Jyk7XHJcbiAgfVxyXG4gIHRyaWdnZXJPdmVycGF5bWVudEV2ZW50SGlzdG9yeSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0PGFueT4oJ292ZXJwYXltZW50L292ZXJwYXltZW50LWRldGFpbHMvb3ZlcnBheW1lbnQtd2FpdmVyLWV2ZW50LWhpcycpO1xyXG4gIH1cclxuXHJcbiAgdHJpZ2dlclJlcGF5bWVudEV2ZW50KHNzbklucHV0OiBzdHJpbmcpOiBQcm9taXNlPGFueT4geyAgICBcclxuICAgLy8gY29uc29sZS5sb2coXCJjaGVjayB0aGUgcmVwYXltZW50IEV2ZW50cyBmb3IgY3JlYXRpb24gb2YgdGhpcyBTU046OjpcIitzc25JbnB1dCk7IFxyXG4gICAgICAgcmV0dXJuIHRoaXMuZ2V0PGFueT4oYG92ZXJwYXltZW50L2V2ZW50cy8ke3NzbklucHV0fWApLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgLy9yZXR1cm4gdGhpcy5nZXQ8YW55Pignb3ZlcnBheW1lbnQvb3ZlcnBheW1lbnQtZGV0YWlscy9vdmVycGF5bWVudC13YWl2ZXItZXZlbnQnKSAudG9Qcm9taXNlKCk7ICAgICBcclxuICAgIH1cclxuXHJcbn1cclxuIl19
@@ -45,9 +45,6 @@ export class QuestionnaireService extends BaseService {
45
45
  savePaymentDetails(paymentComponentData, potentialIssueId) {
46
46
  return this.post(`questionnaire/remuneration-details/${potentialIssueId}`, paymentComponentData);
47
47
  }
48
- getPaymentDetails(potentialIssueId) {
49
- return this.get(`questionnaire/remuneration-payment-details/${potentialIssueId}`);
50
- }
51
48
  setServiceContext() {
52
49
  this.serviceContext = LibConstants.questionnaire_service.context;
53
50
  }
@@ -69,4 +66,4 @@ export class QuestionnaireService extends BaseService {
69
66
  providedIn: 'root'
70
67
  }]
71
68
  }], () => [{ type: i1.HttpClient }, { type: i2.LoggerService }], null); })();
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb25uYWlyZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9xdWVzdGlvbm5haXJlL3F1ZXN0aW9ubmFpcmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFNdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQU16RCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsV0FBVztJQVFuRCxZQUFvQixJQUFnQixFQUFVLE1BQXFCO1FBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQS9ELFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBTjVELG1CQUFjLEdBQXlDLElBQUksZUFBZSxDQUFxQixJQUFJLENBQUMsQ0FBQztRQUNyRyxTQUFJLEdBQTJCLElBQUksZUFBZSxDQUFTLElBQUksQ0FBQyxDQUFDO1FBQ2pFLHNCQUFpQixHQUEyQixJQUFJLGVBQWUsQ0FBUyxJQUFJLENBQUMsQ0FBQztRQUM5RSx3QkFBbUIsR0FBMkIsSUFBSSxlQUFlLENBQVMsSUFBSSxDQUFDLENBQUM7UUFDaEYsZUFBVSxHQUEyQixJQUFJLGVBQWUsQ0FBUyxJQUFJLENBQUMsQ0FBQztJQUVNLENBQUM7SUFFckYsZ0JBQWdCLENBQUMsdUJBQWdEO1FBQy9ELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBNkIsa0NBQWtDLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztJQUM1RyxDQUFDO0lBRUQsa0JBQWtCLENBQUMsdUJBQWdEO1FBQ2pFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBNkIsdUNBQXVDLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBR0QsU0FBUyxDQUFDLFVBQWlCLEVBQUMsU0FBZ0I7UUFDMUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLDJCQUEyQixVQUFVLElBQUksU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsaUJBQWlCLENBQUMsaUJBQXlDO1FBQ3pELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBNkIsNkJBQTZCLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBR0QsdUJBQXVCLENBQUMsaUJBQXlDO1FBQy9ELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxvQ0FBb0MsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBVTtRQUNwQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQWdCLHVCQUF1QixHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxTQUFTLENBQUMsVUFBaUIsRUFBRSxPQUFlO1FBQzFDLElBQUcsT0FBTyxFQUFFO1lBQ1YsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLHdCQUF3QixVQUFVLFlBQVksT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNqRjthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLHdCQUF3QixVQUFVLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQztJQUVELGtCQUFrQixDQUFDLG9CQUE2QyxFQUFFLGdCQUF3QjtRQUN4RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsc0NBQXNDLGdCQUFnQixFQUFFLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsZ0JBQXdCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyw4Q0FBOEMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUE7SUFDbEUsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7SUFDN0QsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUM7SUFDOUQsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7SUFDdEQsQ0FBQztxRkFsRVUsb0JBQW9CO3VFQUFwQixvQkFBb0IsV0FBcEIsb0JBQW9CLG1CQUZuQixNQUFNOztpRkFFUCxvQkFBb0I7Y0FIaEMsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFN1Y2Nlc3NQYWdlRWxlbWVudCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1N1Y2Nlc3NQYWdlRWxlbWVudCc7XHJcbmltcG9ydCB7IFF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwnO1xyXG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlU2F2ZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvUXVlc3Rpb25uYWlyZVNhdmVNb2RlbCc7XHJcbmltcG9ydCB7IFF1ZXN0aW9ubmFpcmVSZXR1cm5Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1F1ZXN0aW9ubmFpcmVSZXR1cm5Nb2RlbCc7XHJcbmltcG9ydCB7IEZCQ29uZmlnTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9GQkNvbmZpZ01vZGVsJztcclxuaW1wb3J0IHsgQmFzZVNlcnZpY2UgfSBmcm9tICcuLi9iYXNlLXNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGliQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0xpYkNvbnN0YW50cyc7XHJcbmltcG9ydCB7IFBheW1lbnRDb21wb25lbnRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9QYXltZW50Q29tcG9uZW50TW9kZWwnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25uYWlyZVNlcnZpY2UgZXh0ZW5kcyBCYXNlU2VydmljZSB7XHJcblxyXG4gIHB1YmxpYyBzdWNjZXNzRWxlbWVudCA6IEJlaGF2aW9yU3ViamVjdDxTdWNjZXNzUGFnZUVsZW1lbnQ+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdWNjZXNzUGFnZUVsZW1lbnQ+KG51bGwpO1xyXG4gIHB1YmxpYyB1dWlkOkJlaGF2aW9yU3ViamVjdDxTdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdHJpbmc+KG51bGwpO1xyXG4gIHB1YmxpYyB3YWl0Rm9yUHJvY2Vzc2luZzpCZWhhdmlvclN1YmplY3Q8U3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3RyaW5nPihudWxsKTtcclxuICBwdWJsaWMgd2FpdENoZWNrU2VydmljZVVyaTpCZWhhdmlvclN1YmplY3Q8U3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3RyaW5nPihudWxsKTtcclxuICBwdWJsaWMgcGFnZVRvT3BlbjpCZWhhdmlvclN1YmplY3Q8U3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3RyaW5nPihudWxsKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSkgeyBzdXBlcihodHRwKTsgfVxyXG5cclxuICBnZXRRdWVzdGlvbm5haXJlKHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsOiBRdWVzdGlvbm5haXJlUXVlcnlNb2RlbCkge1xyXG4gICAgcmV0dXJuIHRoaXMucG9zdDxRdWVzdGlvbm5haXJlUmV0dXJuTW9kZWxbXT4oYHF1ZXN0aW9ubmFpcmUvZmV0Y2hxdWVzdGlvbm5haXJlYCwgcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwpO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2NyZWVuUXVlc3Rpb25zKHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsOiBRdWVzdGlvbm5haXJlUXVlcnlNb2RlbCkge1xyXG4gICAgcmV0dXJuIHRoaXMucG9zdDxRdWVzdGlvbm5haXJlUmV0dXJuTW9kZWxbXT4oYHF1ZXN0aW9ubmFpcmUvZmV0Y2hzY3JlZXF1ZXN0aW9ubmFpcmVgLCBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbCk7XHJcbiAgfVxyXG5cclxuICBcclxuICBmZXRjaERhdGEoZmllbGRWYWx1ZTpzdHJpbmcsc2VydmVyVXJsOnN0cmluZyl7XHJcbiAgICByZXR1cm4gdGhpcy5nZXQoYHF1ZXN0aW9ubmFpcmUvZmV0Y2hkYXRhLyR7ZmllbGRWYWx1ZX0vJHtzZXJ2ZXJVcmx9YCk7XHJcbiAgfVxyXG5cclxuICBzYXZlUXVlc3Rpb25uYWlyZShxdWVzdGlvbm5haXJlRGF0YTogUXVlc3Rpb25uYWlyZVNhdmVNb2RlbCkge1xyXG4gICAgcmV0dXJuIHRoaXMucG9zdDxRdWVzdGlvbm5haXJlUmV0dXJuTW9kZWxbXT4oYHF1ZXN0aW9ubmFpcmUvcXVlc3Rpb25uYWlyZWAsIHF1ZXN0aW9ubmFpcmVEYXRhKTtcclxuICB9XHJcblxyXG5cclxuICBzYXZlU2NyZWVuUXVlc3Rpb25uYWlyZShxdWVzdGlvbm5haXJlRGF0YTogUXVlc3Rpb25uYWlyZVNhdmVNb2RlbCkge1xyXG4gICAgcmV0dXJuIHRoaXMucG9zdChgcXVlc3Rpb25uYWlyZS9zY3JlZW4tcXVlc3Rpb25uYWlyZWAsIHF1ZXN0aW9ubmFpcmVEYXRhKTtcclxuICB9XHJcblxyXG4gIGdldEZsb3dEYXRhKGtleTpzdHJpbmcpe1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0PEZCQ29uZmlnTW9kZWw+KGBxdWVzdGlvbm5haXJlL2ZldGNoLyR7a2V5fWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q291bnR5KHN0YXRlVmFsdWU6c3RyaW5nLCB6aXBjb2RlOiBzdHJpbmcpe1xyXG4gICAgaWYoemlwY29kZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5nZXQoYHF1ZXN0aW9ubmFpcmUvY291bnR5LyR7c3RhdGVWYWx1ZX0/emlwY29kZT0ke3ppcGNvZGUudHJpbSgpfWApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0KGBxdWVzdGlvbm5haXJlL2NvdW50eS8ke3N0YXRlVmFsdWV9YCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzYXZlUGF5bWVudERldGFpbHMocGF5bWVudENvbXBvbmVudERhdGE6IFBheW1lbnRDb21wb25lbnRNb2RlbFtdLCBwb3RlbnRpYWxJc3N1ZUlkOiBudW1iZXIpe1xyXG4gICAgcmV0dXJuIHRoaXMucG9zdChgcXVlc3Rpb25uYWlyZS9yZW11bmVyYXRpb24tZGV0YWlscy8ke3BvdGVudGlhbElzc3VlSWR9YCwgcGF5bWVudENvbXBvbmVudERhdGEpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGF5bWVudERldGFpbHMocG90ZW50aWFsSXNzdWVJZDogbnVtYmVyKXtcclxuICAgIHJldHVybiB0aGlzLmdldChgcXVlc3Rpb25uYWlyZS9yZW11bmVyYXRpb24tcGF5bWVudC1kZXRhaWxzLyR7cG90ZW50aWFsSXNzdWVJZH1gKTtcclxuICB9XHJcblxyXG4gIHNldFNlcnZpY2VDb250ZXh0KCkge1xyXG4gICAgdGhpcy5zZXJ2aWNlQ29udGV4dCA9IExpYkNvbnN0YW50cy5xdWVzdGlvbm5haXJlX3NlcnZpY2UuY29udGV4dFxyXG4gIH1cclxuXHJcbiAgc2V0U2VydmljZVBvcnQoKSB7XHJcbiAgICB0aGlzLnNlcnZpY2VQb3J0ID0gTGliQ29uc3RhbnRzLnF1ZXN0aW9ubmFpcmVfc2VydmljZS5wb3J0O1xyXG4gIH1cclxuXHJcbiAgc2V0U2VydmljZVByb3RvY29sKCkge1xyXG4gICAgdGhpcy5wcm90b2NvbCA9IExpYkNvbnN0YW50cy5xdWVzdGlvbm5haXJlX3NlcnZpY2UucHJvdG9jb2w7XHJcbiAgfVxyXG5cclxuICBzZXRTZXJ2aWNlSG9zdCgpIHtcclxuICAgIHRoaXMuaG9zdCA9IExpYkNvbnN0YW50cy5xdWVzdGlvbm5haXJlX3NlcnZpY2UuaG9zdDtcclxuICB9XHJcbn0iXX0=
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb25uYWlyZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9xdWVzdGlvbm5haXJlL3F1ZXN0aW9ubmFpcmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFNdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQU16RCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsV0FBVztJQVFuRCxZQUFvQixJQUFnQixFQUFVLE1BQXFCO1FBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQS9ELFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBTjVELG1CQUFjLEdBQXlDLElBQUksZUFBZSxDQUFxQixJQUFJLENBQUMsQ0FBQztRQUNyRyxTQUFJLEdBQTJCLElBQUksZUFBZSxDQUFTLElBQUksQ0FBQyxDQUFDO1FBQ2pFLHNCQUFpQixHQUEyQixJQUFJLGVBQWUsQ0FBUyxJQUFJLENBQUMsQ0FBQztRQUM5RSx3QkFBbUIsR0FBMkIsSUFBSSxlQUFlLENBQVMsSUFBSSxDQUFDLENBQUM7UUFDaEYsZUFBVSxHQUEyQixJQUFJLGVBQWUsQ0FBUyxJQUFJLENBQUMsQ0FBQztJQUVNLENBQUM7SUFFckYsZ0JBQWdCLENBQUMsdUJBQWdEO1FBQy9ELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBNkIsa0NBQWtDLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztJQUM1RyxDQUFDO0lBRUQsa0JBQWtCLENBQUMsdUJBQWdEO1FBQ2pFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBNkIsdUNBQXVDLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBR0QsU0FBUyxDQUFDLFVBQWlCLEVBQUMsU0FBZ0I7UUFDMUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLDJCQUEyQixVQUFVLElBQUksU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsaUJBQWlCLENBQUMsaUJBQXlDO1FBQ3pELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBNkIsNkJBQTZCLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBR0QsdUJBQXVCLENBQUMsaUJBQXlDO1FBQy9ELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxvQ0FBb0MsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBVTtRQUNwQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQWdCLHVCQUF1QixHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxTQUFTLENBQUMsVUFBaUIsRUFBRSxPQUFlO1FBQzFDLElBQUcsT0FBTyxFQUFFO1lBQ1YsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLHdCQUF3QixVQUFVLFlBQVksT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNqRjthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLHdCQUF3QixVQUFVLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQztJQUVELGtCQUFrQixDQUFDLG9CQUE2QyxFQUFFLGdCQUF3QjtRQUN4RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsc0NBQXNDLGdCQUFnQixFQUFFLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLGNBQWMsR0FBRyxZQUFZLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFBO0lBQ2xFLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDO0lBQzdELENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxZQUFZLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDO0lBQzlELENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLElBQUksR0FBRyxZQUFZLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDO0lBQ3RELENBQUM7cUZBOURVLG9CQUFvQjt1RUFBcEIsb0JBQW9CLFdBQXBCLG9CQUFvQixtQkFGbkIsTUFBTTs7aUZBRVAsb0JBQW9CO2NBSGhDLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTdWNjZXNzUGFnZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9TdWNjZXNzUGFnZUVsZW1lbnQnO1xyXG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlUXVlcnlNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1F1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsJztcclxuaW1wb3J0IHsgUXVlc3Rpb25uYWlyZVNhdmVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1F1ZXN0aW9ubmFpcmVTYXZlTW9kZWwnO1xyXG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlUmV0dXJuTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9RdWVzdGlvbm5haXJlUmV0dXJuTW9kZWwnO1xyXG5pbXBvcnQgeyBGQkNvbmZpZ01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvRkJDb25maWdNb2RlbCc7XHJcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vYmFzZS1zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IExpYkNvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9MaWJDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBQYXltZW50Q29tcG9uZW50TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvUGF5bWVudENvbXBvbmVudE1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFF1ZXN0aW9ubmFpcmVTZXJ2aWNlIGV4dGVuZHMgQmFzZVNlcnZpY2Uge1xyXG5cclxuICBwdWJsaWMgc3VjY2Vzc0VsZW1lbnQgOiBCZWhhdmlvclN1YmplY3Q8U3VjY2Vzc1BhZ2VFbGVtZW50PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3VjY2Vzc1BhZ2VFbGVtZW50PihudWxsKTtcclxuICBwdWJsaWMgdXVpZDpCZWhhdmlvclN1YmplY3Q8U3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3RyaW5nPihudWxsKTtcclxuICBwdWJsaWMgd2FpdEZvclByb2Nlc3Npbmc6QmVoYXZpb3JTdWJqZWN0PFN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFN0cmluZz4obnVsbCk7XHJcbiAgcHVibGljIHdhaXRDaGVja1NlcnZpY2VVcmk6QmVoYXZpb3JTdWJqZWN0PFN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFN0cmluZz4obnVsbCk7XHJcbiAgcHVibGljIHBhZ2VUb09wZW46QmVoYXZpb3JTdWJqZWN0PFN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFN0cmluZz4obnVsbCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UpIHsgc3VwZXIoaHR0cCk7IH1cclxuXHJcbiAgZ2V0UXVlc3Rpb25uYWlyZShxdWVzdGlvbm5haXJlUXVlcnlNb2RlbDogUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwpIHtcclxuICAgIHJldHVybiB0aGlzLnBvc3Q8UXVlc3Rpb25uYWlyZVJldHVybk1vZGVsW10+KGBxdWVzdGlvbm5haXJlL2ZldGNocXVlc3Rpb25uYWlyZWAsIHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsKTtcclxuICB9XHJcblxyXG4gIGdldFNjcmVlblF1ZXN0aW9ucyhxdWVzdGlvbm5haXJlUXVlcnlNb2RlbDogUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwpIHtcclxuICAgIHJldHVybiB0aGlzLnBvc3Q8UXVlc3Rpb25uYWlyZVJldHVybk1vZGVsW10+KGBxdWVzdGlvbm5haXJlL2ZldGNoc2NyZWVxdWVzdGlvbm5haXJlYCwgcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwpO1xyXG4gIH1cclxuXHJcbiAgXHJcbiAgZmV0Y2hEYXRhKGZpZWxkVmFsdWU6c3RyaW5nLHNlcnZlclVybDpzdHJpbmcpe1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0KGBxdWVzdGlvbm5haXJlL2ZldGNoZGF0YS8ke2ZpZWxkVmFsdWV9LyR7c2VydmVyVXJsfWApO1xyXG4gIH1cclxuXHJcbiAgc2F2ZVF1ZXN0aW9ubmFpcmUocXVlc3Rpb25uYWlyZURhdGE6IFF1ZXN0aW9ubmFpcmVTYXZlTW9kZWwpIHtcclxuICAgIHJldHVybiB0aGlzLnBvc3Q8UXVlc3Rpb25uYWlyZVJldHVybk1vZGVsW10+KGBxdWVzdGlvbm5haXJlL3F1ZXN0aW9ubmFpcmVgLCBxdWVzdGlvbm5haXJlRGF0YSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgc2F2ZVNjcmVlblF1ZXN0aW9ubmFpcmUocXVlc3Rpb25uYWlyZURhdGE6IFF1ZXN0aW9ubmFpcmVTYXZlTW9kZWwpIHtcclxuICAgIHJldHVybiB0aGlzLnBvc3QoYHF1ZXN0aW9ubmFpcmUvc2NyZWVuLXF1ZXN0aW9ubmFpcmVgLCBxdWVzdGlvbm5haXJlRGF0YSk7XHJcbiAgfVxyXG5cclxuICBnZXRGbG93RGF0YShrZXk6c3RyaW5nKXtcclxuICAgIHJldHVybiB0aGlzLmdldDxGQkNvbmZpZ01vZGVsPihgcXVlc3Rpb25uYWlyZS9mZXRjaC8ke2tleX1gKTtcclxuICB9XHJcblxyXG4gIGdldENvdW50eShzdGF0ZVZhbHVlOnN0cmluZywgemlwY29kZTogc3RyaW5nKXtcclxuICAgIGlmKHppcGNvZGUpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0KGBxdWVzdGlvbm5haXJlL2NvdW50eS8ke3N0YXRlVmFsdWV9P3ppcGNvZGU9JHt6aXBjb2RlLnRyaW0oKX1gKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmdldChgcXVlc3Rpb25uYWlyZS9jb3VudHkvJHtzdGF0ZVZhbHVlfWApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2F2ZVBheW1lbnREZXRhaWxzKHBheW1lbnRDb21wb25lbnREYXRhOiBQYXltZW50Q29tcG9uZW50TW9kZWxbXSwgcG90ZW50aWFsSXNzdWVJZDogbnVtYmVyKXtcclxuICAgIHJldHVybiB0aGlzLnBvc3QoYHF1ZXN0aW9ubmFpcmUvcmVtdW5lcmF0aW9uLWRldGFpbHMvJHtwb3RlbnRpYWxJc3N1ZUlkfWAsIHBheW1lbnRDb21wb25lbnREYXRhKTtcclxuICB9XHJcblxyXG4gIHNldFNlcnZpY2VDb250ZXh0KCkge1xyXG4gICAgdGhpcy5zZXJ2aWNlQ29udGV4dCA9IExpYkNvbnN0YW50cy5xdWVzdGlvbm5haXJlX3NlcnZpY2UuY29udGV4dFxyXG4gIH1cclxuXHJcbiAgc2V0U2VydmljZVBvcnQoKSB7XHJcbiAgICB0aGlzLnNlcnZpY2VQb3J0ID0gTGliQ29uc3RhbnRzLnF1ZXN0aW9ubmFpcmVfc2VydmljZS5wb3J0O1xyXG4gIH1cclxuXHJcbiAgc2V0U2VydmljZVByb3RvY29sKCkge1xyXG4gICAgdGhpcy5wcm90b2NvbCA9IExpYkNvbnN0YW50cy5xdWVzdGlvbm5haXJlX3NlcnZpY2UucHJvdG9jb2w7XHJcbiAgfVxyXG5cclxuICBzZXRTZXJ2aWNlSG9zdCgpIHtcclxuICAgIHRoaXMuaG9zdCA9IExpYkNvbnN0YW50cy5xdWVzdGlvbm5haXJlX3NlcnZpY2UuaG9zdDtcclxuICB9XHJcbn0iXX0=
@@ -16,9 +16,6 @@ export class ValidationService {
16
16
  this.bpEmpLstFrmAdd = new BehaviorSubject(null);
17
17
  this.participants = new BehaviorSubject(null);
18
18
  this.payForm = new BehaviorSubject(null);
19
- this.employerPayDetails = new BehaviorSubject(null);
20
- this.employerWageDetails = new BehaviorSubject(null);
21
- this.employerDetails = new BehaviorSubject(null);
22
19
  this.options = {
23
20
  headers: new HttpHeaders({
24
21
  'Content-Type': 'application/json',
@@ -59,4 +56,4 @@ export class ValidationService {
59
56
  providedIn: 'root'
60
57
  }]
61
58
  }], () => [{ type: i1.HttpClient }], null); })();
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9xdWVzdGlvbm5haXJlL3ZhbGlkYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUEwQixNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUVuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQU16RCxNQUFNLE9BQU8saUJBQWlCO0lBdUIxQixZQUFvQixVQUF1QjtRQUF2QixlQUFVLEdBQVYsVUFBVSxDQUFhO1FBckJwQyxnQkFBVyxHQUFVLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFFdkMsYUFBUSxHQUFTLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFFdkMsU0FBSSxHQUFTLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFDL0IsZUFBVSxHQUF5QixJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3RCxvQkFBZSxHQUF5QixJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRSx1QkFBa0IsR0FBOEMsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUYsbUJBQWMsR0FBOEMsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEYsaUJBQVksR0FBeUIsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0QsWUFBTyxHQUF5QixJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxRCx1QkFBa0IsR0FBeUIsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckUsd0JBQW1CLEdBQXlCLElB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QUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BHLENBQUM7a0ZBN0dNLGlCQUFpQjt1RUFBakIsaUJBQWlCLFdBQWpCLGlCQUFpQixtQkFGZCxNQUFNOztpRkFFVCxpQkFBaUI7Y0FIN0IsVUFBVTtlQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMsIEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IERlcGVuZGVudE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2RlcGVuZGVudC5tb2RlbCc7XHJcbmltcG9ydCB7IExpYkNvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9MaWJDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBDbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9DbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWwnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbiAgfSlcclxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25TZXJ2aWNlIHtcclxuXHJcbiAgICBwdWJsaWMgc2VydmljZVBvcnQ6IHN0cmluZz0gTGliQ29uc3RhbnRzLnBvcnQ7XHJcblxyXG4gICAgcHVibGljIHByb3RvY29sOiBzdHJpbmc9TGliQ29uc3RhbnRzLnByb3RvY29sO1xyXG5cclxuICAgIHB1YmxpYyBob3N0OiBzdHJpbmc9TGliQ29uc3RhbnRzLmhvc3Q7XHJcbiAgICBwdWJsaWMgZGVwZW5kZW50czogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xyXG4gICAgcHVibGljIHdlZWtseUVtcGxveWVyczogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xyXG4gICAgcHVibGljIGJwRW1wTHN0RnJtU2VydmljZTogQmVoYXZpb3JTdWJqZWN0PENsYWltQXBwRW1wUmVzcG9uc2VNb2RlbD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xyXG4gICAgcHVibGljIGJwRW1wTHN0RnJtQWRkOiBCZWhhdmlvclN1YmplY3Q8Q2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsPiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XHJcbiAgICBwdWJsaWMgcGFydGljaXBhbnRzOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XHJcbiAgICBwdWJsaWMgcGF5Rm9ybTogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xyXG4gICAgcHVibGljIGVtcGxveWVyUGF5RGV0YWlsczogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xyXG4gICAgcHVibGljIGVtcGxveWVyV2FnZURldGFpbHM6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcclxuICAgIHB1YmxpYyBlbXBsb3llckRldGFpbHM6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcclxuICAgIHByaXZhdGUgb3B0aW9ucyA9IHtcclxuICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gICAgICAgICAgICBcIkFjY2VwdFwiOiAnYXBwbGljYXRpb24vanNvbidcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cENsaWVudCA6IEh0dHBDbGllbnQpe1xyXG4gICAgfVxyXG5cclxuICAgIGdldFVybChlbmRQb2ludCA6IHN0cmluZyl7XHJcbiAgICAgICAgbGV0IHNlcnZpY2VOYW1lID0gZW5kUG9pbnQuc3BsaXQoXCIvXCIpWzFdO1xyXG4gICAgICAgIGxldCBwb3J0ID0gTGliQ29uc3RhbnRzW3NlcnZpY2VOYW1lLnJlcGxhY2UoJy0nLCdfJyldLnBvcnQ7XHJcbiAgICAgICAgbGV0IGhvc3QgPSBMaWJDb25zdGFudHNbc2VydmljZU5hbWUucmVwbGFjZSgnLScsJ18nKV0uaG9zdDtcclxuICAgICAgICBsZXQgcHJvdG9jb2wgPSBMaWJDb25zdGFudHNbc2VydmljZU5hbWUucmVwbGFjZSgnLScsJ18nKV0ucHJvdG9jb2w7XHJcbiAgICAgICAgbGV0IHVybCA9IChwcm90b2NvbCA/IHByb3RvY29sIDogdGhpcy5wcm90b2NvbCkgKyAnOi8vJyArIChob3N0ID8gaG9zdCA6IHRoaXMuaG9zdCkgKyBcIjpcIiArIHBvcnQgKyBlbmRQb2ludDtcclxuICAgICAgICBjb25zb2xlLmxvZyh1cmwpO1xyXG4gICAgICAgIHJldHVybiB1cmw7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0PFQ+KHVybDogc3RyaW5nLCBvcHRpb25zPzoge1xyXG4gICAgICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyB8IHtcclxuICAgICAgICAgICAgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgICAgICAgfTtcclxuICAgICAgICBvYnNlcnZlPzogJ2JvZHknO1xyXG4gICAgICAgIHBhcmFtcz86IEh0dHBQYXJhbXMgfCB7XHJcbiAgICAgICAgICAgIFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW47XHJcbiAgICAgICAgcmVzcG9uc2VUeXBlPzogJ2pzb24nO1xyXG4gICAgICAgIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XHJcbiAgICB9KTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PFQ+KHRoaXMuZ2V0VXJsKHVybCksIG9wdGlvbnMgIT0gbnVsbCA/IG9wdGlvbnMgOiB0aGlzLm9wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHBvc3Q8VD4odXJsOiBzdHJpbmcsIGJvZHk6IGFueSB8IG51bGwsIG9wdGlvbnM/OiB7XHJcbiAgICAgICAgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwge1xyXG4gICAgICAgICAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIG9ic2VydmU/OiAnYm9keSc7XHJcbiAgICAgICAgcGFyYW1zPzogSHR0cFBhcmFtcyB8IHtcclxuICAgICAgICAgICAgW3BhcmFtOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcclxuICAgICAgICByZXNwb25zZVR5cGU/OiAnanNvbic7XHJcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcclxuICAgICAgfSwgc2VydmljZU5hbWU/IDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxUPih0aGlzLmdldFVybCh1cmwpLCBKU09OLnN0cmluZ2lmeShib2R5KSwgb3B0aW9ucyAhPSBudWxsID8gb3B0aW9ucyA6IHRoaXMub3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBwb3N0Rm9ybURhdGE8VD4odXJsOiBzdHJpbmcsIGJvZHk6IGFueSB8IG51bGwsIG9wdGlvbnM/OiB7XHJcbiAgICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyB8IHtcclxuICAgICAgICAgIFtoZWFkZXI6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gICAgICB9O1xyXG4gICAgICBvYnNlcnZlPzogJ2JvZHknO1xyXG4gICAgICBwYXJhbXM/OiBIdHRwUGFyYW1zIHwge1xyXG4gICAgICAgICAgW3BhcmFtOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgICAgfTtcclxuICAgICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuO1xyXG4gICAgICByZXNwb25zZVR5cGU/OiAnanNvbic7XHJcbiAgICAgIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XHJcbiAgICB9KTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxUPih0aGlzLmdldFVybCh1cmwpLCBib2R5LCBvcHRpb25zKTtcclxuICAgIH1cclxuICBcclxuICAgIGRlbGV0ZTxUPih1cmw6IHN0cmluZywgb3B0aW9ucz86IHtcclxuICAgICAgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwge1xyXG4gICAgICAgICAgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgICAgIH07XHJcbiAgICAgIG9ic2VydmU/OiAnYm9keSc7XHJcbiAgICAgIHBhcmFtcz86IEh0dHBQYXJhbXMgfCB7XHJcbiAgICAgICAgICBbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gICAgICB9O1xyXG4gICAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW47XHJcbiAgICAgIHJlc3BvbnNlVHlwZT86ICdqc29uJztcclxuICAgICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcclxuICAgIH0pOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5kZWxldGU8VD4odGhpcy5nZXRVcmwodXJsKSwgb3B0aW9ucyAhPSBudWxsID8gb3B0aW9ucyA6IHRoaXMub3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgcGF0Y2g8VD4odXJsOiBzdHJpbmcsIGJvZHk6IGFueSB8IG51bGwsIG9wdGlvbnM/OiB7XHJcbiAgICAgICAgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwge1xyXG4gICAgICAgICAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIG9ic2VydmU/OiAnYm9keSc7XHJcbiAgICAgICAgcGFyYW1zPzogSHR0cFBhcmFtcyB8IHtcclxuICAgICAgICAgICAgW3BhcmFtOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcclxuICAgICAgICByZXNwb25zZVR5cGU/OiAnanNvbic7XHJcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcclxuICAgIH0pOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBhdGNoPFQ+KHRoaXMuZ2V0VXJsKHVybCksIGJvZHksIG9wdGlvbnMgIT0gbnVsbCA/IG9wdGlvbnMgOiB0aGlzLm9wdGlvbnMpO1xyXG4gICAgICB9XHJcbn0iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9xdWVzdGlvbm5haXJlL3ZhbGlkYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUEwQixNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUVuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQU16RCxNQUFNLE9BQU8saUJBQWlCO0lBb0IxQixZQUFvQixVQUF1QjtRQUF2QixlQUFVLEdBQVYsVUFBVSxDQUFhO1FBbEJwQyxnQkFBVyxHQUFVLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFFdkMsYUFBUSxHQUFTLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFFdkMsU0FBSSxHQUFTLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFDL0IsZUFBVSxHQUF5QixJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3RCxvQkFBZSxHQUF5QixJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRSx1QkFBa0IsR0FBOEMsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUYsbUJBQWMsR0FBOEMsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEYsaUJBQVksR0FBeUIsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0QsWUFBTyxHQUF5QixJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RCxZQUFPLEdBQUc7WUFDZCxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUM7Z0JBQ3JCLGNBQWMsRUFBRSxrQkFBa0I7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QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zLCBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBEZXBlbmRlbnRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9kZXBlbmRlbnQubW9kZWwnO1xyXG5pbXBvcnQgeyBMaWJDb25zdGFudHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvTGliQ29uc3RhbnRzJztcclxuaW1wb3J0IHsgQ2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG4gIH0pXHJcbmV4cG9ydCBjbGFzcyBWYWxpZGF0aW9uU2VydmljZSB7XHJcblxyXG4gICAgcHVibGljIHNlcnZpY2VQb3J0OiBzdHJpbmc9IExpYkNvbnN0YW50cy5wb3J0O1xyXG5cclxuICAgIHB1YmxpYyBwcm90b2NvbDogc3RyaW5nPUxpYkNvbnN0YW50cy5wcm90b2NvbDtcclxuXHJcbiAgICBwdWJsaWMgaG9zdDogc3RyaW5nPUxpYkNvbnN0YW50cy5ob3N0O1xyXG4gICAgcHVibGljIGRlcGVuZGVudHM6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcclxuICAgIHB1YmxpYyB3ZWVrbHlFbXBsb3llcnM6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcclxuICAgIHB1YmxpYyBicEVtcExzdEZybVNlcnZpY2U6IEJlaGF2aW9yU3ViamVjdDxDbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWw+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcclxuICAgIHB1YmxpYyBicEVtcExzdEZybUFkZDogQmVoYXZpb3JTdWJqZWN0PENsYWltQXBwRW1wUmVzcG9uc2VNb2RlbD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xyXG4gICAgcHVibGljIHBhcnRpY2lwYW50czogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xyXG4gICAgcHVibGljIHBheUZvcm06IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcclxuICAgIHByaXZhdGUgb3B0aW9ucyA9IHtcclxuICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gICAgICAgICAgICBcIkFjY2VwdFwiOiAnYXBwbGljYXRpb24vanNvbidcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cENsaWVudCA6IEh0dHBDbGllbnQpe1xyXG4gICAgfVxyXG5cclxuICAgIGdldFVybChlbmRQb2ludCA6IHN0cmluZyl7XHJcbiAgICAgICAgbGV0IHNlcnZpY2VOYW1lID0gZW5kUG9pbnQuc3BsaXQoXCIvXCIpWzFdO1xyXG4gICAgICAgIGxldCBwb3J0ID0gTGliQ29uc3RhbnRzW3NlcnZpY2VOYW1lLnJlcGxhY2UoJy0nLCdfJyldLnBvcnQ7XHJcbiAgICAgICAgbGV0IGhvc3QgPSBMaWJDb25zdGFudHNbc2VydmljZU5hbWUucmVwbGFjZSgnLScsJ18nKV0uaG9zdDtcclxuICAgICAgICBsZXQgcHJvdG9jb2wgPSBMaWJDb25zdGFudHNbc2VydmljZU5hbWUucmVwbGFjZSgnLScsJ18nKV0ucHJvdG9jb2w7XHJcbiAgICAgICAgbGV0IHVybCA9IChwcm90b2NvbCA/IHByb3RvY29sIDogdGhpcy5wcm90b2NvbCkgKyAnOi8vJyArIChob3N0ID8gaG9zdCA6IHRoaXMuaG9zdCkgKyBcIjpcIiArIHBvcnQgKyBlbmRQb2ludDtcclxuICAgICAgICBjb25zb2xlLmxvZyh1cmwpO1xyXG4gICAgICAgIHJldHVybiB1cmw7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0PFQ+KHVybDogc3RyaW5nLCBvcHRpb25zPzoge1xyXG4gICAgICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyB8IHtcclxuICAgICAgICAgICAgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgICAgICAgfTtcclxuICAgICAgICBvYnNlcnZlPzogJ2JvZHknO1xyXG4gICAgICAgIHBhcmFtcz86IEh0dHBQYXJhbXMgfCB7XHJcbiAgICAgICAgICAgIFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW47XHJcbiAgICAgICAgcmVzcG9uc2VUeXBlPzogJ2pzb24nO1xyXG4gICAgICAgIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XHJcbiAgICB9KTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PFQ+KHRoaXMuZ2V0VXJsKHVybCksIG9wdGlvbnMgIT0gbnVsbCA/IG9wdGlvbnMgOiB0aGlzLm9wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHBvc3Q8VD4odXJsOiBzdHJpbmcsIGJvZHk6IGFueSB8IG51bGwsIG9wdGlvbnM/OiB7XHJcbiAgICAgICAgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwge1xyXG4gICAgICAgICAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIG9ic2VydmU/OiAnYm9keSc7XHJcbiAgICAgICAgcGFyYW1zPzogSHR0cFBhcmFtcyB8IHtcclxuICAgICAgICAgICAgW3BhcmFtOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcclxuICAgICAgICByZXNwb25zZVR5cGU/OiAnanNvbic7XHJcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcclxuICAgICAgfSwgc2VydmljZU5hbWU/IDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxUPih0aGlzLmdldFVybCh1cmwpLCBKU09OLnN0cmluZ2lmeShib2R5KSwgb3B0aW9ucyAhPSBudWxsID8gb3B0aW9ucyA6IHRoaXMub3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBwb3N0Rm9ybURhdGE8VD4odXJsOiBzdHJpbmcsIGJvZHk6IGFueSB8IG51bGwsIG9wdGlvbnM/OiB7XHJcbiAgICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyB8IHtcclxuICAgICAgICAgIFtoZWFkZXI6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gICAgICB9O1xyXG4gICAgICBvYnNlcnZlPzogJ2JvZHknO1xyXG4gICAgICBwYXJhbXM/OiBIdHRwUGFyYW1zIHwge1xyXG4gICAgICAgICAgW3BhcmFtOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgICAgfTtcclxuICAgICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuO1xyXG4gICAgICByZXNwb25zZVR5cGU/OiAnanNvbic7XHJcbiAgICAgIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XHJcbiAgICB9KTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxUPih0aGlzLmdldFVybCh1cmwpLCBib2R5LCBvcHRpb25zKTtcclxuICAgIH1cclxuICBcclxuICAgIGRlbGV0ZTxUPih1cmw6IHN0cmluZywgb3B0aW9ucz86IHtcclxuICAgICAgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwge1xyXG4gICAgICAgICAgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgICAgIH07XHJcbiAgICAgIG9ic2VydmU/OiAnYm9keSc7XHJcbiAgICAgIHBhcmFtcz86IEh0dHBQYXJhbXMgfCB7XHJcbiAgICAgICAgICBbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gICAgICB9O1xyXG4gICAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW47XHJcbiAgICAgIHJlc3BvbnNlVHlwZT86ICdqc29uJztcclxuICAgICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcclxuICAgIH0pOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5kZWxldGU8VD4odGhpcy5nZXRVcmwodXJsKSwgb3B0aW9ucyAhPSBudWxsID8gb3B0aW9ucyA6IHRoaXMub3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgcGF0Y2g8VD4odXJsOiBzdHJpbmcsIGJvZHk6IGFueSB8IG51bGwsIG9wdGlvbnM/OiB7XHJcbiAgICAgICAgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwge1xyXG4gICAgICAgICAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIG9ic2VydmU/OiAnYm9keSc7XHJcbiAgICAgICAgcGFyYW1zPzogSHR0cFBhcmFtcyB8IHtcclxuICAgICAgICAgICAgW3BhcmFtOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcclxuICAgICAgICByZXNwb25zZVR5cGU/OiAnanNvbic7XHJcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcclxuICAgIH0pOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBhdGNoPFQ+KHRoaXMuZ2V0VXJsKHVybCksIGJvZHksIG9wdGlvbnMgIT0gbnVsbCA/IG9wdGlvbnMgOiB0aGlzLm9wdGlvbnMpO1xyXG4gICAgICB9XHJcbn0iXX0=
@@ -23,29 +23,12 @@ export class SecurityService extends BaseService {
23
23
  getUserUnitIdRoleId(unitId, roleId) {
24
24
  return this.post(`user/all/${unitId}/roles`, [roleId]);
25
25
  }
26
- sendOtpRequest(data) {
27
- return this.post(`otp/v2`, data);
26
+ //Get usps redirect url
27
+ generateURLForUSPS(userId) {
28
+ return this.post(`claimant/generateurl/${userId}`, null);
28
29
  }
29
- verifyOtpRequest(data) {
30
- return this.post(`otp/v2/validate`, data);
31
- }
32
- sendOtpWithoutCaptcha(type) {
33
- return this.get(`claimant/v3/otp?type=${type}`);
34
- }
35
- validateOtpForClaimant(otp) {
36
- return this.post(`claimant/otp-for-update?otp=${otp}`, otp);
37
- }
38
- getSecurityQuestionDescriptionByKey(key) {
39
- return this.get(`user/security-questions/description?key=${key}`);
40
- }
41
- getSecurityQuestionSelf() {
42
- return this.get(`user/security`);
43
- }
44
- validateUserSecurityInformation(answerModel) {
45
- return this.post(`user/security/validate-question`, answerModel);
46
- }
47
- getRandomSecurityQuestionSelf() {
48
- return this.get(`user/security/random-question`);
30
+ lockClaimantAccount(userId) {
31
+ return this.post(`claimant/lock/user/${userId}`, {});
49
32
  }
50
33
  static { this.ɵfac = function SecurityService_Factory(t) { return new (t || SecurityService)(i0.ɵɵinject(i1.HttpClient)); }; }
51
34
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SecurityService, factory: SecurityService.ɵfac, providedIn: 'root' }); }
@@ -56,4 +39,4 @@ export class SecurityService extends BaseService {
56
39
  providedIn: 'root'
57
40
  }]
58
41
  }], () => [{ type: i1.HttpClient }], null); })();
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvc2VydmljZXMvc2VjdXJpdHktc2VydmljZS9zZWN1cml0eS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBUzlDLE1BQU0sT0FBTyxlQUFnQixTQUFRLFdBQVc7SUFFOUMsWUFBbUIsSUFBZ0I7UUFDakMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBREssU0FBSSxHQUFKLElBQUksQ0FBWTtJQUVuQyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLGNBQWMsR0FBRyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDO0lBQzlELENBQUM7SUFDRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO0lBQ3hELENBQUM7SUFDRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO0lBQ3pELENBQUM7SUFDRCxjQUFjO1FBQ1osSUFBSSxDQUFDLElBQUksR0FBRyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO0lBQ2pELENBQUM7SUFHRCxtQkFBbUIsQ0FBQyxNQUFjLEVBQUUsTUFBZ0I7UUFDbEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFRLFlBQVksTUFBTSxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBeUI7UUFDdEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFTLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBMkI7UUFDMUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFNLGlCQUFpQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxJQUFZO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsR0FBVztRQUNoQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQU0sK0JBQStCLEdBQUcsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxtQ0FBbUMsQ0FBQyxHQUFXO1FBQzlDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQywyQ0FBMkMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsdUJBQXVCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsK0JBQStCLENBQUMsV0FBeUM7UUFDeEUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFNLGlDQUFpQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCw2QkFBNkI7UUFDM0IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLENBQUM7SUFDbkQsQ0FBQztnRkF0RFUsZUFBZTt1RUFBZixlQUFlLFdBQWYsZUFBZSxtQkFGZCxNQUFNOztpRkFFUCxlQUFlO2NBSDNCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExpYkNvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9MaWJDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gJy4uL2Jhc2Utc2VydmljZSc7XHJcbmltcG9ydCB7IFNlbmRPdHBSZXF1ZXN0TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvU2VuZE90cFJlcXVlc3RNb2RlbCc7XHJcbmltcG9ydCB7IFZlcmlmeU90cFJlcXVlc3RNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9WZXJpZnlPdHBSZXF1ZXN0TW9kZWwnO1xyXG5pbXBvcnQgeyBTZWN1cml0eVF1ZXN0aW9uQW5zd2VyTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvU2VjdXJpdHlRdWVzdGlvbkFuc3dlck1vZGVsJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWN1cml0eVNlcnZpY2UgZXh0ZW5kcyBCYXNlU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBodHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgICBzdXBlcihodHRwKTtcclxuICB9XHJcblxyXG4gIHNldFNlcnZpY2VDb250ZXh0KCkge1xyXG4gICAgdGhpcy5zZXJ2aWNlQ29udGV4dCA9IExpYkNvbnN0YW50cy5zZWN1cml0eV9zZXJ2aWNlLmNvbnRleHQ7XHJcbiAgfVxyXG4gIHNldFNlcnZpY2VQb3J0KCkge1xyXG4gICAgdGhpcy5zZXJ2aWNlUG9ydCA9IExpYkNvbnN0YW50cy5zZWN1cml0eV9zZXJ2aWNlLnBvcnQ7XHJcbiAgfVxyXG4gIHNldFNlcnZpY2VQcm90b2NvbCgpIHtcclxuICAgIHRoaXMucHJvdG9jb2wgPSBMaWJDb25zdGFudHMuc2VjdXJpdHlfc2VydmljZS5wcm90b2NvbDtcclxuICB9XHJcbiAgc2V0U2VydmljZUhvc3QoKSB7XHJcbiAgICB0aGlzLmhvc3QgPSBMaWJDb25zdGFudHMuc2VjdXJpdHlfc2VydmljZS5ob3N0O1xyXG4gIH1cclxuXHJcblxyXG4gIGdldFVzZXJVbml0SWRSb2xlSWQodW5pdElkOiBzdHJpbmcsIHJvbGVJZDogc3RyaW5nW10pIHtcclxuICAgIHJldHVybiB0aGlzLnBvc3Q8YW55W10+KGB1c2VyL2FsbC8ke3VuaXRJZH0vcm9sZXNgLCBbcm9sZUlkXSk7XHJcbiAgfVxyXG5cclxuICBzZW5kT3RwUmVxdWVzdChkYXRhOiBTZW5kT3RwUmVxdWVzdE1vZGVsKXtcclxuICAgIHJldHVybiB0aGlzLnBvc3Q8U3RyaW5nPihgb3RwL3YyYCwgZGF0YSk7XHJcbiAgfVxyXG5cclxuICB2ZXJpZnlPdHBSZXF1ZXN0KGRhdGE6IFZlcmlmeU90cFJlcXVlc3RNb2RlbCl7XHJcbiAgICByZXR1cm4gdGhpcy5wb3N0PGFueT4oYG90cC92Mi92YWxpZGF0ZWAsIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgc2VuZE90cFdpdGhvdXRDYXB0Y2hhKHR5cGU6IHN0cmluZyl7XHJcbiAgICByZXR1cm4gdGhpcy5nZXQoYGNsYWltYW50L3YzL290cD90eXBlPSR7dHlwZX1gKTtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlT3RwRm9yQ2xhaW1hbnQob3RwOiBzdHJpbmcpe1xyXG4gICAgcmV0dXJuIHRoaXMucG9zdDxhbnk+KGBjbGFpbWFudC9vdHAtZm9yLXVwZGF0ZT9vdHA9JHtvdHB9YCwgb3RwKTtcclxuICB9XHJcblxyXG4gIGdldFNlY3VyaXR5UXVlc3Rpb25EZXNjcmlwdGlvbkJ5S2V5KGtleTogc3RyaW5nKSB7XHJcblx0ICByZXR1cm4gdGhpcy5nZXQoYHVzZXIvc2VjdXJpdHktcXVlc3Rpb25zL2Rlc2NyaXB0aW9uP2tleT0ke2tleX1gKTtcclxuICB9XHJcblxyXG4gIGdldFNlY3VyaXR5UXVlc3Rpb25TZWxmKCkge1xyXG5cdCAgcmV0dXJuIHRoaXMuZ2V0KGB1c2VyL3NlY3VyaXR5YCk7XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZVVzZXJTZWN1cml0eUluZm9ybWF0aW9uKGFuc3dlck1vZGVsIDogU2VjdXJpdHlRdWVzdGlvbkFuc3dlck1vZGVsKSB7XHJcblx0ICByZXR1cm4gdGhpcy5wb3N0PGFueT4oYHVzZXIvc2VjdXJpdHkvdmFsaWRhdGUtcXVlc3Rpb25gLCBhbnN3ZXJNb2RlbCk7XHJcbiAgfVxyXG5cclxuICBnZXRSYW5kb21TZWN1cml0eVF1ZXN0aW9uU2VsZigpIHtcclxuICAgIHJldHVybiB0aGlzLmdldChgdXNlci9zZWN1cml0eS9yYW5kb20tcXVlc3Rpb25gKTtcclxuICB9XHJcbn1cclxuIl19
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvc2VydmljZXMvc2VjdXJpdHktc2VydmljZS9zZWN1cml0eS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBTTlDLE1BQU0sT0FBTyxlQUFnQixTQUFRLFdBQVc7SUFFOUMsWUFBbUIsSUFBZ0I7UUFDakMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBREssU0FBSSxHQUFKLElBQUksQ0FBWTtJQUVuQyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLGNBQWMsR0FBRyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDO0lBQzlELENBQUM7SUFDRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO0lBQ3hELENBQUM7SUFDRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO0lBQ3pELENBQUM7SUFDRCxjQUFjO1FBQ1osSUFBSSxDQUFDLElBQUksR0FBRyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO0lBQ2pELENBQUM7SUFHRCxtQkFBbUIsQ0FBQyxNQUFjLEVBQUUsTUFBZ0I7UUFDbEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFRLFlBQVksTUFBTSxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCx1QkFBdUI7SUFDdkIsa0JBQWtCLENBQUMsTUFBYztRQUMvQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQVMsd0JBQXdCLE1BQU0sRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxNQUFhO1FBQy9CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztnRkEvQlUsZUFBZTt1RUFBZixlQUFlLFdBQWYsZUFBZSxtQkFGZCxNQUFNOztpRkFFUCxlQUFlO2NBSDNCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExpYkNvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9MaWJDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gJy4uL2Jhc2Utc2VydmljZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlY3VyaXR5U2VydmljZSBleHRlbmRzIEJhc2VTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGh0dHA6IEh0dHBDbGllbnQpIHtcclxuICAgIHN1cGVyKGh0dHApO1xyXG4gIH1cclxuXHJcbiAgc2V0U2VydmljZUNvbnRleHQoKSB7XHJcbiAgICB0aGlzLnNlcnZpY2VDb250ZXh0ID0gTGliQ29uc3RhbnRzLnNlY3VyaXR5X3NlcnZpY2UuY29udGV4dDtcclxuICB9XHJcbiAgc2V0U2VydmljZVBvcnQoKSB7XHJcbiAgICB0aGlzLnNlcnZpY2VQb3J0ID0gTGliQ29uc3RhbnRzLnNlY3VyaXR5X3NlcnZpY2UucG9ydDtcclxuICB9XHJcbiAgc2V0U2VydmljZVByb3RvY29sKCkge1xyXG4gICAgdGhpcy5wcm90b2NvbCA9IExpYkNvbnN0YW50cy5zZWN1cml0eV9zZXJ2aWNlLnByb3RvY29sO1xyXG4gIH1cclxuICBzZXRTZXJ2aWNlSG9zdCgpIHtcclxuICAgIHRoaXMuaG9zdCA9IExpYkNvbnN0YW50cy5zZWN1cml0eV9zZXJ2aWNlLmhvc3Q7XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0VXNlclVuaXRJZFJvbGVJZCh1bml0SWQ6IHN0cmluZywgcm9sZUlkOiBzdHJpbmdbXSkge1xyXG4gICAgcmV0dXJuIHRoaXMucG9zdDxhbnlbXT4oYHVzZXIvYWxsLyR7dW5pdElkfS9yb2xlc2AsIFtyb2xlSWRdKTtcclxuICB9XHJcblxyXG4gIC8vR2V0IHVzcHMgcmVkaXJlY3QgdXJsXHJcbiAgZ2VuZXJhdGVVUkxGb3JVU1BTKHVzZXJJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgIHJldHVybiB0aGlzLnBvc3Q8c3RyaW5nPihgY2xhaW1hbnQvZ2VuZXJhdGV1cmwvJHt1c2VySWR9YCwgbnVsbCk7XHJcbiAgfVxyXG5cclxuICBsb2NrQ2xhaW1hbnRBY2NvdW50KHVzZXJJZDpzdHJpbmcpe1xyXG4gICAgcmV0dXJuIHRoaXMucG9zdChgY2xhaW1hbnQvbG9jay91c2VyLyR7dXNlcklkfWAsIHt9KTtcclxuICB9XHJcbn1cclxuIl19
@@ -99,17 +99,17 @@ export class UtilService {
99
99
  this.msgService.clear();
100
100
  if (errDtl.errorId) {
101
101
  //this.msgService.add({severity:'error', summary:'Error', detail: errDtl.msg + `( error id : ${errDtl.errorId})`, life: 7000, id : errDtl.errorId});
102
- this.msgService.add({ severity: 'error', summary: 'Error', detail: errDtl.msg, life: LibConstants.errorMessagePopupLife, id: errDtl.errorId });
102
+ this.msgService.add({ severity: 'error', summary: 'Error', detail: errDtl.msg, life: 7000, id: errDtl.errorId });
103
103
  }
104
104
  else {
105
- this.msgService.add({ severity: 'error', summary: 'Error', detail: errDtl.msg, life: LibConstants.errorMessagePopupLife, id: errDtl.errorId });
105
+ this.msgService.add({ severity: 'error', summary: 'Error', detail: errDtl.msg, life: 7000, id: errDtl.errorId });
106
106
  }
107
107
  }
108
108
  async success(msg) {
109
109
  this.msgs = [];
110
110
  this.msgs.push({ severity: 'success', summary: 'Success', detail: msg });
111
111
  this.msgService.clear();
112
- this.msgService.add({ severity: 'success', summary: 'Success', detail: msg, life: LibConstants.successMessagePopupLife });
112
+ this.msgService.add({ severity: 'success', summary: 'Success', detail: msg, life: 7000 });
113
113
  }
114
114
  info(msg) {
115
115
  this.presentAlert('Info', '', msg);
@@ -377,39 +377,12 @@ export class UtilService {
377
377
  context = '/' + context;
378
378
  }
379
379
  if (nav && context.includes(this.getContextRoot())) {
380
- nav.navigateRoot(uri);
380
+ nav.navigateForward(uri);
381
381
  }
382
382
  else {
383
383
  window.open(location.origin + `${context}/${uri}`, '_self');
384
384
  }
385
385
  }
386
- openPageByContextRootWithDataAndTxnId(context, uri, data, transactionId, nav) {
387
- if (!context.startsWith('/')) {
388
- context = '/' + context;
389
- }
390
- let separator = '&';
391
- if (!uri.includes('?')) {
392
- separator = "?";
393
- }
394
- if (data) {
395
- console.log('here with data');
396
- if (nav && context.includes(this.getContextRoot())) {
397
- nav.navigateForward(`${uri}${separator}data=${btoa(JSON.stringify(data))}&txnid=${btoa(transactionId)}`);
398
- }
399
- else {
400
- window.open(location.origin + `${context}/${uri}${separator}data=${btoa(JSON.stringify(data))}&txnid=${btoa(transactionId)}`, '_self');
401
- }
402
- }
403
- else {
404
- console.log('or here with no data');
405
- if (nav && context.includes(this.getContextRoot())) {
406
- nav.navigateForward(`${uri}${separator}txnid=${btoa(transactionId)}`);
407
- }
408
- else {
409
- window.open(location.origin + `${context}/${uri}${separator}txnid=${btoa(transactionId)}`, '_self');
410
- }
411
- }
412
- }
413
386
  openPageByContextRootWithData(context, uri, data, nav) {
414
387
  if (!context.startsWith('/')) {
415
388
  context = '/' + context;
@@ -465,35 +438,6 @@ export class UtilService {
465
438
  //Block for Radio Button End
466
439
  }
467
440
  }
468
- generateRandomKey() {
469
- return Math.floor(Math.random() * 256);
470
- }
471
- base64UrlEncode(input) {
472
- return btoa(input)
473
- .replace(/\+/g, '-')
474
- .replace(/\//g, '_')
475
- .replace(/=+$/, '');
476
- }
477
- xorEncrypt(input, key) {
478
- const chars = input
479
- .split('')
480
- .map(c => String.fromCharCode(c.charCodeAt(0) ^ key))
481
- .join('');
482
- return this.base64UrlEncode(chars);
483
- }
484
- base64UrlDecode(input) {
485
- input = input.replace(/-/g, '+').replace(/_/g, '/');
486
- while (input.length % 4)
487
- input += '=';
488
- return atob(input);
489
- }
490
- xorDecrypt(encoded, key) {
491
- const decoded = this.base64UrlDecode(encoded);
492
- return decoded
493
- .split('')
494
- .map(c => String.fromCharCode(c.charCodeAt(0) ^ key))
495
- .join('');
496
- }
497
441
  static { this.ɵfac = function UtilService_Factory(t) { return new (t || UtilService)(i0.ɵɵinject(i1.AlertController), i0.ɵɵinject(i2.HttpClient), i0.ɵɵinject(i1.LoadingController), i0.ɵɵinject(i1.ToastController), i0.ɵɵinject(i3.MessageService), i0.ɵɵinject(i4.NgxSpinnerService), i0.ɵɵinject(i5.LoadingBarService), i0.ɵɵinject(i6.LoggerService), i0.ɵɵinject(i7.Router), i0.ɵɵinject(i8.Title), i0.ɵɵinject(i7.ActivatedRoute), i0.ɵɵinject(i9.TourService), i0.ɵɵinject(i1.Platform)); }; }
498
442
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: UtilService, factory: UtilService.ɵfac, providedIn: 'root' }); }
499
443
  }
@@ -503,4 +447,4 @@ export class UtilService {
503
447
  providedIn: 'root'
504
448
  }]
505
449
  }], () => [{ type: i1.AlertController }, { type: i2.HttpClient }, { type: i1.LoadingController }, { type: i1.ToastController }, { type: i3.MessageService }, { type: i4.NgxSpinnerService }, { type: i5.LoadingBarService }, { type: i6.LoggerService }, { type: i7.Router }, { type: i8.Title }, { type: i7.ActivatedRoute }, { type: i9.TourService }, { type: i1.Platform }], null); })();
506
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZELE9BQU8sRUFBYyxXQUFXLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUUzRSxPQUFPLEVBQWdDLFVBQVUsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUs1RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVyRSxPQUFPLEVBQWtCLGFBQWEsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFVLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7O0FBU3hHLE1BQU0sT0FBTyxXQUFXO0lBV3RCLFlBQW1CLGVBQWdDLEVBQVMsVUFBc0IsRUFBUyxFQUFzQixFQUM5RixlQUFnQyxFQUFTLFVBQTBCLEVBQVUsT0FBMEIsRUFDdkcsTUFBeUIsRUFBVSxNQUFxQixFQUFVLE1BQWMsRUFDL0UsWUFBbUIsRUFBVSxFQUFrQixFQUFVLFdBQXdCLEVBQ2pGLFFBQWtCO1FBSm5CLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUFTLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBUyxPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUM5RixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBUyxlQUFVLEdBQVYsVUFBVSxDQUFnQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBQ3ZHLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDL0UsaUJBQVksR0FBWixZ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QyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWE7UUFDM0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDcEQsT0FBTyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUM7WUFBRSxLQUFLLElBQUksR0FBRyxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBZSxFQUFFLEdBQVc7UUFDckMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QyxPQUFPLE9BQU87YUFDWCxLQUFLLENBQUMsRUFBRSxDQUFDO2FBQ1QsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO2FBQ3BELElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNkLENBQUM7NEVBbmxCWSxXQUFXO3VFQUFYLFdBQVcsV0FBWCxXQUFXLG1CQUZWLE1BQU07O2lGQUVQLFdBQVc7Y0FIdkIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWxlcnRDb250cm9sbGVyLCBMb2FkaW5nQ29udHJvbGxlciwgTmF2Q29udHJvbGxlciwgUGxhdGZvcm0sIFRvYXN0Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycywgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWVzc2FnZX0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHtNZXNzYWdlU2VydmljZX0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgTmd4U3Bpbm5lclNlcnZpY2UgfSBmcm9tIFwibmd4LXNwaW5uZXJcIjtcbmltcG9ydCB7IExvYWRpbmdCYXJTZXJ2aWNlIH0gZnJvbSAnQG5neC1sb2FkaW5nLWJhci9jb3JlJztcbmltcG9ydCB7IEVycm9yTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvRXJyb3JNb2RlbCc7XG5pbXBvcnQgeyBnZXRCYXNlVXJsLCBMaWJDb25zdGFudHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvTGliQ29uc3RhbnRzJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIEFjdGl2YXRpb25FbmQsIE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBUb3VyU2VydmljZSB9IGZyb20gJy4uL3RvdXIvdG91ci5zZXJ2aWNlJztcblxuZGVjbGFyZSBsZXQgZ3RhZzogYW55O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBVdGlsU2VydmljZSB7XG5cbiAgZm9jdXNhYmxlcyA9IFtcInBpbnB1dHRleHRcIiwgXCJwLWlucHV0bWFza1wiLCBcImlucHV0XCIsIFwic2VsZWN0XCIsIFwidGV4dGFyZWFcIiwgXCJwLWNhbGVuZGFyXCIsIFwicmFkaW9cIiwgXCJwLWRyb3Bkb3duXCIsIFwicC1zZWxlY3RCdXR0b25cIiwgXCJwLWF1dG9jb21wbGV0ZVwiLCBcInAtcGFzc3dvcmRcIixcInAtY2hlY2tib3hcIiwgXCJwLWlucHV0dGV4dGFyZWFcIl07XG5cbiAgLypUbyBkaXNwbGF5IHZhcmlvdXMgbWVzc2FnZXMqL1xuICBwdWJsaWMgbXNnczogTWVzc2FnZVtdID0gW107XG5cbiAgb3B0aW9ucyA9IHt9O1xuXG4gIGxvYWRpbmcgID0gbnVsbDtcbiAgXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBhbGVydENvbnRyb2xsZXI6IEFsZXJ0Q29udHJvbGxlciwgcHVibGljIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsIHB1YmxpYyBsYyA6IExvYWRpbmdDb250cm9sbGVyLCBcbiAgICAgICAgICAgICAgcHVibGljIHRvYXN0Q29udHJvbGxlcjogVG9hc3RDb250cm9sbGVyLCBwdWJsaWMgbXNnU2VydmljZTogTWVzc2FnZVNlcnZpY2UsIHByaXZhdGUgc3Bpbm5lcjogTmd4U3Bpbm5lclNlcnZpY2UsXG4gICAgICAgICAgICAgIHB1YmxpYyBsb2FkZXI6IExvYWRpbmdCYXJTZXJ2aWNlLCBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgXG4gICAgICAgICAgICAgIHByaXZhdGUgdGl0bGVTZXJ2aWNlOiBUaXRsZSwgcHJpdmF0ZSBhcjogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgdG91clNlcnZpY2U6IFRvdXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHBsYXRmb3JtOiBQbGF0Zm9ybSkgeyBcbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgXCJBY2NlcHRcIjogJ2FwcGxpY2F0aW9uL2pzb24nfSk7XG4gICAgdGhpcy5vcHRpb25zID0geyBoZWFkZXJzOiBoZWFkZXJzIH07XG4gIH1cblxuICBhc3luYyB0b2FzdChtc2cgOiBzdHJpbmcpe1xuICAgIGNvbnN0IHRvYXN0ID0gYXdhaXQgdGhpcy50b2FzdENvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgIG1lc3NhZ2U6IG1zZyxcbiAgICAgIHBvc2l0aW9uOiAnYm90dG9tJyxcbiAgICAgIGR1cmF0aW9uOiAyMDAwLFxuICAgICAga2V5Ym9hcmRDbG9zZTogdHJ1ZSxcbiAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6ICdEb25lJyxcbiAgICAgICAgICByb2xlOiAnY2FuY2VsJyxcbiAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSk7XG4gICAgdG9hc3QucHJlc2VudCgpO1xuICB9XG5cbiAgYXN5bmMgcHJlc2VudFRvYXN0KG1zZyA6IHN0cmluZykge1xuICAgIGNvbnN0IHRvYXN0ID0gYXdhaXQgdGhpcy50b2FzdENvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgIG1lc3NhZ2U6IG1zZyxcbiAgICAgIGNvbG9yOiAnZGFuZ2VyJyxcbiAgICAgIGR1cmF0aW9uOiAzMDAwLFxuICAgICAga2V5Ym9hcmRDbG9zZTogdHJ1ZSxcbiAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6ICdEb25lJyxcbiAgICAgICAgICByb2xlOiAnY2FuY2VsJyxcbiAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSk7XG4gICAgdG9hc3QucHJlc2VudCgpO1xuICB9XG5cbiAgYmFzZVVybCgpIDogc3RyaW5ne1xuICAgIHJldHVybiBnZXRCYXNlVXJsKCk7XG4gIH1cblxuICBhc3luYyBwcmVzZW50QWxlcnQoaGVhZGVyLCBzdWJNc2csIGVyckR0bCkge1xuICAgIGNvbnN0IGFsZXJ0ID0gYXdhaXQgdGhpcy5hbGVydENvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgIGhlYWRlcjogaGVhZGVyLFxuICAgICAgc3ViSGVhZGVyOiBzdWJNc2csXG4gICAgICBtZXNzYWdlOiBlcnJEdGwsXG4gICAgICBidXR0b25zOiBbJ09LJ11cbiAgICB9KTtcblxuICAgIGF3YWl0IGFsZXJ0LnByZXNlbnQoKTtcbiAgfVxuXG4gIGVycm9yKGhlYWRlciwgc3ViTXNnLCBlcnJEdGwpe1xuICAgIHRoaXMucHJlc2VudEFsZXJ0KGhlYWRlciwgc3ViTXNnLCBlcnJEdGwpO1xuICB9XG5cbiAgc2hvd0Vycm9yKG1zZyA6IHN0cmluZyl7XG4gICAgbGV0IGVyckR0bCA6IEVycm9yTW9kZWwgPSBuZXcgRXJyb3JNb2RlbCgpO1xuICAgIGVyckR0bC5tc2cgPSBtc2c7XG4gICAgdGhpcy5lcnJvck1zZyhlcnJEdGwpO1xuICB9XG5cbiAgZXJyb3JNc2coZXJyRHRsIDogRXJyb3JNb2RlbCl7XG4gICAgdGhpcy5tc2dzLnB1c2goe3NldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5IDogJ0Vycm9yJywgZGV0YWlsIDogZXJyRHRsLm1zZ30pO1xuICAgIHRoaXMubXNnU2VydmljZS5jbGVhcigpO1xuICAgIGlmKGVyckR0bC5lcnJvcklkKXtcbiAgICAgIC8vdGhpcy5tc2dTZXJ2aWNlLmFkZCh7c2V2ZXJpdHk6J2Vycm9yJywgc3VtbWFyeTonRXJyb3InLCBkZXRhaWw6IGVyckR0bC5tc2cgKyBgKCBlcnJvciBpZCA6ICR7ZXJyRHRsLmVycm9ySWR9KWAsIGxpZmU6IDcwMDAsIGlkIDogZXJyRHRsLmVycm9ySWR9KTtcbiAgICAgIHRoaXMubXNnU2VydmljZS5hZGQoe3NldmVyaXR5OidlcnJvcicsIHN1bW1hcnk6J0Vycm9yJywgZGV0YWlsOiBlcnJEdGwubXNnLCBsaWZlOiBMaWJDb25zdGFudHMuZXJyb3JNZXNzYWdlUG9wdXBMaWZlLCBpZCA6IGVyckR0bC5lcnJvcklkfSk7XG4gICAgfWVsc2V7XG4gICAgICB0aGlzLm1zZ1NlcnZpY2UuYWRkKHtzZXZlcml0eTonZXJyb3InLCBzdW1tYXJ5OidFcnJvcicsIGRldGFpbDogZXJyRHRsLm1zZywgbGlmZTogTGliQ29uc3RhbnRzLmVycm9yTWVzc2FnZVBvcHVwTGlmZSwgaWQgOiBlcnJEdGwuZXJyb3JJZH0pO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHN1Y2Nlc3MobXNnKXtcbiAgICB0aGlzLm1zZ3MgPSBbXTtcbiAgICB0aGlzLm1zZ3MucHVzaCh7c2V2ZXJpdHk6ICdzdWNjZXNzJywgc3VtbWFyeSA6ICdTdWNjZXNzJywgZGV0YWlsIDogbXNnfSk7XG5cbiAgICB0aGlzLm1zZ1NlcnZpY2UuY2xlYXIoKTtcbiAgICB0aGlzLm1zZ1NlcnZpY2UuYWRkKHtzZXZlcml0eTonc3VjY2VzcycsIHN1bW1hcnk6J1N1Y2Nlc3MnLCBkZXRhaWw6IG1zZywgbGlmZTogTGliQ29uc3RhbnRzLnN1Y2Nlc3NNZXNzYWdlUG9wdXBMaWZlfSk7XG4gIH1cblxuICBpbmZvKG1zZyl7XG4gICAgdGhpcy5wcmVzZW50QWxlcnQoJ0luZm8nLCAnJywgbXNnKTtcbiAgfVxuXG4gIGdldDxUPihlbmRQb2ludCA6IHN0cmluZywgb3B0aW9ucz86IHtcbiAgICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyB8IHtcbiAgICAgICAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAgIH07XG4gICAgICBvYnNlcnZlPzogJ2JvZHknO1xuICAgICAgcGFyYW1zPzogSHR0cFBhcmFtcyB8IHtcbiAgICAgICAgICBbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgICAgfTtcbiAgICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcbiAgICAgIHJlc3BvbnNlVHlwZT86ICdqc29uJztcbiAgICAgIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XG4gIH0sIHNlcnZpY2VOYW1lPyA6IHN0cmluZyk6IE9ic2VydmFibGU8VD57XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8VD4odGhpcy5nZXRVcmwoZW5kUG9pbnQsIHNlcnZpY2VOYW1lKSwgb3B0aW9ucyAhPSBudWxsID8gb3B0aW9ucyA6IHRoaXMub3B0aW9ucyk7XG4gIH1cblxuICBwb3N0PFQ+KHVybDogc3RyaW5nLCBib2R5OiBhbnkgfCBudWxsLCBvcHRpb25zPzoge1xuICAgICAgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwge1xuICAgICAgICAgIFtoZWFkZXI6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgICAgfTtcbiAgICAgIG9ic2VydmU/OiAnYm9keSc7XG4gICAgICBwYXJhbXM/OiBIdHRwUGFyYW1zIHwge1xuICAgICAgICAgIFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgICB9O1xuICAgICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuO1xuICAgICAgcmVzcG9uc2VUeXBlPzogJ2pzb24nO1xuICAgICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcbiAgICB9LCBzZXJ2aWNlTmFtZT8gOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8VD4odGhpcy5nZXRVcmwodXJsLCBzZXJ2aWNlTmFtZSksIEpTT04uc3RyaW5naWZ5KGJvZHkpLCBvcHRpb25zICE9IG51bGwgPyBvcHRpb25zIDogdGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIHBvc3RGb3JtRGF0YTxUPih1cmw6IHN0cmluZywgYm9keTogYW55IHwgbnVsbCwgb3B0aW9ucz86IHtcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMgfCB7XG4gICAgICAgIFtoZWFkZXI6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgIH07XG4gICAgb2JzZXJ2ZT86ICdib2R5JztcbiAgICBwYXJhbXM/OiBIdHRwUGFyYW1zIHwge1xuICAgICAgICBbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgIH07XG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuO1xuICAgIHJlc3BvbnNlVHlwZT86ICdqc29uJztcbiAgICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xuICB9LCBzZXJ2aWNlTmFtZT8gOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgIC8vIGFsZXJ0KHRoaXMuZ2V0RnVsbFVybCh1cmwpKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8VD4odGhpcy5nZXRVcmwodXJsLCBzZXJ2aWNlTmFtZSksIGJvZHksIG9wdGlvbnMpO1xuICB9XG5cbiAgZGVsZXRlPFQ+KHVybDogc3RyaW5nLCBvcHRpb25zPzoge1xuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyB8IHtcbiAgICAgICAgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgfTtcbiAgICBvYnNlcnZlPzogJ2JvZHknO1xuICAgIHBhcmFtcz86IEh0dHBQYXJhbXMgfCB7XG4gICAgICAgIFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgfTtcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW47XG4gICAgcmVzcG9uc2VUeXBlPzogJ2pzb24nO1xuICAgIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XG4gIH0sIHNlcnZpY2VOYW1lPyA6IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlPFQ+KHRoaXMuZ2V0VXJsKHVybCwgc2VydmljZU5hbWUpLCBvcHRpb25zICE9IG51bGwgPyBvcHRpb25zIDogdGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIHBhdGNoPFQ+KHVybDogc3RyaW5nLCBib2R5OiBhbnkgfCBudWxsLCBvcHRpb25zPzoge1xuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyB8IHtcbiAgICAgICAgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgfTtcbiAgICBvYnNlcnZlPzogJ2JvZHknO1xuICAgIHBhcmFtcz86IEh0dHBQYXJhbXMgfCB7XG4gICAgICAgIFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgfTtcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW47XG4gICAgcmVzcG9uc2VUeXBlPzogJ2pzb24nO1xuICAgIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XG59LCBzZXJ2aWNlTmFtZSA/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBhdGNoPFQ+KHRoaXMuZ2V0VXJsKHVybCwgc2VydmljZU5hbWUpLCBib2R5LCBvcHRpb25zICE9IG51bGwgPyBvcHRpb25zIDogdGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIGVycm9ySGFuZGxlcihlcnJvcil7XG4gICAgdGhpcy5tc2dzID0gW107XG4gICAgdGhpcy5sb2dnZXIuZXJyb3IoJ2Vycm9yIC0tLS0+JywgZXJyb3IpO1xuICAgIHRoaXMuZXJyb3JNc2coZXJyb3IpO1xuICB9XG5cbiAgZ2V0RnVsbFVybChlbmRQb2ludCA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMuYmFzZVVybCgpICsgZW5kUG9pbnQ7XG4gIH1cblxuICBnZXRVcmwoZW5kUG9pbnQgOiBzdHJpbmcsIHNlcnZpY2VOYW1lIDogc3RyaW5nKXtcbiAgICBpZihzZXJ2aWNlTmFtZSl7XG4gICAgICB0aGlzLmJhc2VVcmwoKSArIExpYkNvbnN0YW50cy5mb3J3YXJkU2xhc2ggKyBzZXJ2aWNlTmFtZSArIExpYkNvbnN0YW50cy5mb3J3YXJkU2xhc2ggKyBlbmRQb2ludDtcbiAgICB9ZWxzZXtcbiAgICAgIHJldHVybiB0aGlzLmJhc2VVcmwoKSArIChMaWJDb25zdGFudHMuY29udGV4dCA9PSAnJyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gTGliQ29uc3RhbnRzLmZvcndhcmRTbGFzaCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogTGliQ29uc3RhbnRzLmZvcndhcmRTbGFzaCArIExpYkNvbnN0YW50cy5jb250ZXh0ICsgTGliQ29uc3RhbnRzLmZvcndhcmRTbGFzaCkgKyBlbmRQb2ludDtcbiAgICB9XG4gIH1cblxuYXN5bmMgc2hvd0xvYWRlcigpIHtcbiAgdGhpcy5zcGlubmVyLnNob3coKVxufVxuXG4gIGFzeW5jIGhpZGVMb2FkZXIoKXtcbiAgICB0aGlzLnNwaW5uZXIuaGlkZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZWNyaXB0aW9uIFRoaXMgbWV0aG9kIHdpbGwgZmluZCBkaWZmZXJlbmNlIG9mIGRhdGVzIGJ5IHNwZWNpZmllZCBpbnRlcnZhbFxuICAgKiBAYXV0aG9yIFByZXJhayBUaXdhcmlcbiAgICogQHZlcnNpb24gMS4wXG4gICAqIEBwYXJhbSBmcm9tRGF0ZSBpbiBtaWxpc2Vjb25kc1xuICAgKiBAcGFyYW0gdG9kYXRlIGluIG1pbGlzZWNvbmRzXG4gICAqIEBwYXJhbSBpbnRlcnZhbCA6IHZhbGlkIHZhbHVlcyBhcmUgLS0+IFwieWVhcnNcIiwgXCJtb250aHNcIiwgXCJ3ZWVrc1wiLCBcImRheXNcIiwgXCJob3Vyc1wiLCBcIm1pbnV0ZXNcIiwgXCJzZWNvbmRzXCJcbiAgICogQHJldHVybnMgZGlmZmVyZW5jZSBvZiBkYXRlIGFzIHBlciBpbnRlcnZhbCBzcGVjaWZpZWQuXG4gICAqKi9cbiAgZmluZERpZmZlcmVuY2VJbmRhdGUoZnJvbURhdGUsdG9kYXRlLGludGVydmFsKXtcbiAgICBsZXQgc2Vjb25kPTEwMDAsIG1pbnV0ZT1zZWNvbmQqNjAsIGhvdXI9bWludXRlKjYwLCBkYXk9aG91cioyNCwgd2Vlaz1kYXkqNztcbiAgICBsZXQgdGltZWRpZmYgPSB0b2RhdGUgLSBmcm9tRGF0ZTtcbiAgICBcbiAgICBpZiAoaXNOYU4odGltZWRpZmYpKSBcbiAgICAgIHJldHVybiBOYU47XG4gICAgXG4gICAgc3dpdGNoIChpbnRlcnZhbCkge1xuICAgICAgICBjYXNlIFwieWVhcnNcIjogcmV0dXJuIHRvZGF0ZS5nZXRGdWxsWWVhcigpIC0gZnJvbURhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgY2FzZSBcIm1vbnRoc1wiOiByZXR1cm4gKFxuICAgICAgICAgICAgKCB0b2RhdGUuZ2V0RnVsbFllYXIoKSAqIDEyICsgdG9kYXRlLmdldE1vbnRoKCkgKVxuICAgICAgICAgICAgLVxuICAgICAgICAgICAgKCBmcm9tRGF0ZS5nZXRGdWxsWWVhcigpICogMTIgKyBmcm9tRGF0ZS5nZXRNb250aCgpIClcbiAgICAgICAgKTtcbiAgICAgICAgY2FzZSBcIndlZWtzXCIgIDogcmV0dXJuIE1hdGgucm91bmQodGltZWRpZmYgLyB3ZWVrKTtcbiAgICAgICAgY2FzZSBcImRheXNcIiAgIDogcmV0dXJuIE1hdGgucm91bmQodGltZWRpZmYgLyBkYXkpOyBcbiAgICAgICAgY2FzZSBcImhvdXJzXCIgIDogcmV0dXJuIE1hdGgucm91bmQodGltZWRpZmYgLyBob3VyKTsgXG4gICAgICAgIGNhc2UgXCJtaW51dGVzXCI6IHJldHVybiBNYXRoLnJvdW5kKHRpbWVkaWZmIC8gbWludXRlKTtcbiAgICAgICAgY2FzZSBcInNlY29uZHNcIjogcmV0dXJuIE1hdGgucm91bmQodGltZWRpZmYgLyBzZWNvbmQpO1xuICAgICAgICBkZWZhdWx0OiByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVjcmlwdGlvbiBUaGlzIG1ldGhvZCB3aWxsIHJldHVybiBkYXRlIGluIGRkTU15eXl5IGZvcm1hdC5cbiAgICogQGF1dGhvciBQcmVyYWsgVGl3YXJpXG4gICAqIEB2ZXJzaW9uIDEuMFxuICAgKiBAcmV0dXJucyBzdHJpbmdcbiAgICoqL1xuICBnZXREYXRlSW5NTUREWVlZWUZvcm1hdChkYXRlIDogRGF0ZSl7XG4gICAgbGV0IGRkID0gZGF0ZS5nZXREYXRlKCk7XG4gICAgbGV0IE1NID0gZGF0ZS5nZXRNb250aCgpICsgMTtcbiAgICBsZXQgeXl5eSA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICBcbiAgICBsZXQgZGF0ZVRvUmV0dXJuID0gIE1NICsgJy8nICsgZGQgKyAnLycgKyB5eXl5O1xuICAgIHJldHVybiBkYXRlVG9SZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogQGRlY3JpcHRpb24gVGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gRGF0ZSBvYmplY3QgKGZvciB5eXl5L01NL2RkKVxuICAgKiBAYXV0aG9yIFByZXJhayBUaXdhcmlcbiAgICogQHZlcnNpb24gMS4wXG4gICAqIEBwYXJhbSB2YWx1ZSA6IGRhdGUgc2VwYXJhdGVkIHdpdGggJy0nXG4gICAqIEByZXR1cm5zIERhdGVcbiAgICoqL1xuICBnZXRFbnRlcmVkRGF0ZSh2YWx1ZSl7XG4gICAgdmFyIGRhdGVBcnJheSA9IHZhbHVlLnNwbGl0KFwiLVwiKTtcbiAgICB2YXIgZGQgPSBwYXJzZUludCh0aGlzLnByZXBlZFplcm9JZlNpbmdsZURpZ2l0KGRhdGVBcnJheVsyXSkpO1xuICAgIHZhciBNTSA9IHBhcnNlSW50KHRoaXMucHJlcGVkWmVyb0lmU2luZ2xlRGlnaXQoZGF0ZUFycmF5WzFdKSkgLSAxO1xuICAgIHZhciB5eXl5ID0gcGFyc2VJbnQodGhpcy5wcmVwZWRaZXJvSWZTaW5nbGVEaWdpdChkYXRlQXJyYXlbMF0pKTtcbiAgICByZXR1cm4gbmV3IERhdGUoeXl5eSxNTSxkZCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlY3JpcHRpb24gVGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gRGF0ZSBvYmplY3QgKGZvciBNTS9kZC95eXl5KS5cbiAgICogQGF1dGhvciBQcmVyYWsgVGl3YXJpXG4gICAqIEB2ZXJzaW9uIDEuMFxuICAgKiBAcGFyYW0gdmFsdWUgOiBkYXRlIHNlcGFyYXRlZCB3aXRoICctJ1xuICAgKiBAcmV0dXJucyBEYXRlXG4gICAqKi9cbiAgZ2V0RGF0ZUZyb21TdHJpbmcodmFsdWUpe1xuICAgIHZhciBkYXRlQXJyYXkgPSB2YWx1ZS5zcGxpdChcIi1cIik7XG4gICAgdmFyIGRkID0gcGFyc2VJbnQodGhpcy5wcmVwZWRaZXJvSWZTaW5nbGVEaWdpdChkYXRlQXJyYXlbMl0pKTtcbiAgICB2YXIgTU0gPSBwYXJzZUludCh0aGlzLnByZXBlZFplcm9JZlNpbmdsZURpZ2l0KGRhdGVBcnJheVsxXSkpIC0gMTtcbiAgICB2YXIgeXl5eSA9IHBhcnNlSW50KHRoaXMucHJlcGVkWmVyb0lmU2luZ2xlRGlnaXQoZGF0ZUFycmF5WzBdKSk7XG4gICAgcmV0dXJuIG5ldyBEYXRlKHl5eXksTU0sZGQpO1xuICB9XG5cbiAgZ2V0RW50ZXJlZERhdGVGcm9tU3RyaW5nKHZhbHVlKXtcbiAgICB2YXIgZGF0ZUFycmF5ID0gdmFsdWUuc3BsaXQoXCIvXCIpO1xuICAgIHZhciBNTSA9IHBhcnNlSW50KHRoaXMucHJlcGVkWmVyb0lmU2luZ2xlRGlnaXQoZGF0ZUFycmF5WzBdKSkgLSAxO1xuICAgIHZhciBkZCA9IHBhcnNlSW50KHRoaXMucHJlcGVkWmVyb0lmU2luZ2xlRGlnaXQoZGF0ZUFycmF5WzFdKSk7XG4gICAgdmFyIHl5eXkgPSBwYXJzZUludCh0aGlzLnByZXBlZFplcm9JZlNpbmdsZURpZ2l0KGRhdGVBcnJheVsyXSkpO1xuICAgIHJldHVybiBuZXcgRGF0ZSh5eXl5LE1NLGRkKTtcbiAgfVxuXG4gIGdldERhdGVJbk1NRERZWVlZKHZhbHVlKXtcbiAgICB2YXIgZGF0ZUFycmF5ID0gdmFsdWUuc3BsaXQoXCItXCIpO1xuICAgIHZhciBkZCA9IHBhcnNlSW50KHRoaXMucHJlcGVkWmVyb0lmU2luZ2xlRGlnaXQoZGF0ZUFycmF5WzJdKSk7XG4gICAgdmFyIE1NID0gcGFyc2VJbnQodGhpcy5wcmVwZWRaZXJvSWZTaW5nbGVEaWdpdChkYXRlQXJyYXlbMV0pKTtcbiAgICB2YXIgeXl5eSA9IHBhcnNlSW50KHRoaXMucHJlcGVkWmVyb0lmU2luZ2xlRGlnaXQoZGF0ZUFycmF5WzBdKSk7XG4gICAgcmV0dXJuIE1NICsgJy8nICsgZGQgKyAnLycgKyB5eXl5O1xuICB9XG5cbiAgcHJlcGVkWmVyb0lmU2luZ2xlRGlnaXQobnVtYmVyKXtcbiAgICBudW1iZXIgPSBudW1iZXIgKyBMaWJDb25zdGFudHMuYmxhbmtTdHJpbmc7XG4gICAgaWYobnVtYmVyLmxlbmd0aCA8IDIpe1xuICAgICAgbnVtYmVyID0gXCIwXCIgKyBudW1iZXI7XG4gICAgfVxuICAgIHJldHVybiBudW1iZXI7XG4gIH1cblxuICAvKipcbiAgKiBAZGVjcmlwdGlvbiBUaGlzIG1ldGhvZCBjaGVjayBpZiBlbnRlcmVkIG51bWJlciBpcyB2YWxpZCBvciBub3QuXG4gICogQGF1dGhvciBQcmVyYWsgVGl3YXJpXG4gICogQHZlcnNpb24gMS4wXG4gICogQHJldHVybnMgdHJ1ZSA6IG51bWJlciBpcyB2YWxpZCA8L2JyPiBmYWxzZSA6IG51bWJlciBpcyBpbnZhbGlkXG4gICovXG4gIHZhbGlkYXRlTnVtYmVyKG51bWJlcikge1xuICAgIHZhciByZWcgPSBuZXcgUmVnRXhwKFwiXlswLTldKiRcIik7IFxuICAgIHJldHVybiByZWcudGVzdChudW1iZXIpO1xuICB9XG5cbiAgLyoqXG4gICogQGRlY3JpcHRpb24gVGhpcyBtZXRob2QgY2hlY2sgaWYgZW50ZXJlZCBudW1iZXIgaXMgdmFsaWQgb3Igbm90LlxuICAqIEBhdXRob3IgUHJlcmFrIFRpd2FyaVxuICAqIEB2ZXJzaW9uIDEuMFxuICAqIEByZXR1cm5zIHRydWUgOiBudW1iZXIgaXMgdmFsaWQgPC9icj4gZmFsc2UgOiBudW1iZXIgaXMgaW52YWxpZFxuICAqL1xuICB2YWxpZGF0ZUVtYWlsKGVtYWlsKSB7XG4gICAgdmFyIHJlZyA9IG5ldyBSZWdFeHAoJy9eKChbXjw+KClcXFtcXF1cXFxcLiw7Olxcc0BcIl0rKFxcLltePD4oKVxcW1xcXVxcXFwuLDs6XFxzQFwiXSspKil8KFwiLitcIikpQCgoXFxbWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XFwuWzAtOV17MSwzfV0pfCgoW2EtekEtWlxcLTAtOV0rXFwuKStbYS16QS1aXXsyLH0pKSQvJyk7IFxuICAgIHJldHVybiByZWcudGVzdChlbWFpbCk7XG4gIH1cblxuICBzZXRWYWxpZGF0aW9uKGNvbnRyb2wgOiBBYnN0cmFjdENvbnRyb2wsIG5ld1ZhbGlkYXRvciA6IFZhbGlkYXRvckZuICB8IFZhbGlkYXRvckZuW10gfCBudWxsKXtcbiAgICBjb250cm9sLnNldFZhbGlkYXRvcnMobmV3VmFsaWRhdG9yKTtcbiAgICBjb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIGNsZWFyVmFsaWRhdGlvbihjb250cm9sIDogQWJzdHJhY3RDb250cm9sKXtcbiAgICBjb250cm9sLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgc2V0UmVxdWlyZWRWYWxpZGF0b3IoY29udHJvbCA6IEFic3RyYWN0Q29udHJvbCl7XG4gICAgdGhpcy5zZXRWYWxpZGF0aW9uKGNvbnRyb2wsIFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICB9XG5cbiAgLy8gQGR5bmFtaWNcbiAgc3RhdGljIHBhdHRlcm5WYWxpZGF0b3IocmVnZXg6IFJlZ0V4cCwgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMpOiBWYWxpZGF0b3JGbiB7XG4gICAgY29uc3QgcmVzID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPT4ge1xuICAgICAgaWYgKCFjb250cm9sLnZhbHVlKSB7XG4gICAgICAgIC8vIGlmIGNvbnRyb2wgaXMgZW1wdHkgcmV0dXJuIG5vIGVycm9yXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICBcbiAgICAgIC8vIHRlc3QgdGhlIHZhbHVlIG9mIHRoZSBjb250cm9sIGFnYWluc3QgdGhlIHJlZ2V4cCBzdXBwbGllZFxuICAgICAgY29uc3QgdmFsaWQgPSByZWdleC50ZXN0KGNvbnRyb2wudmFsdWUpO1xuICBcbiAgICAgIC8vIGlmIHRydWUsIHJldHVybiBubyBlcnJvciAobm8gZXJyb3IpLCBlbHNlIHJldHVybiBlcnJvciBwYXNzZWQgaW4gdGhlIHNlY29uZCBwYXJhbWV0ZXJcbiAgICAgIHJldHVybiB2YWxpZCA/IG51bGwgOiBlcnJvcjtcbiAgICB9O1xuICAgIHJldHVybiByZXM7XG4gIH1cblxuICBzdGF0aWMgcGFzc3dvcmRNYXRjaFZhbGlkYXRvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICBjb25zdCBwYXNzd29yZDogc3RyaW5nID0gY29udHJvbC5nZXQoJ3Bhc3N3b3JkJykudmFsdWU7IC8vIGdldCBwYXNzd29yZCBmcm9tIG91ciBwYXNzd29yZCBmb3JtIGNvbnRyb2xcbiAgICBjb25zdCBjb25maXJtUGFzc3dvcmQ6IHN0cmluZyA9IGNvbnRyb2wuZ2V0KCdjb25maXJtUGFzc3dvcmQnKS52YWx1ZTsgLy8gZ2V0IHBhc3N3b3JkIGZyb20gb3VyIGNvbmZpcm1QYXNzd29yZCBmb3JtIGNvbnRyb2xcbiAgICAvLyBjb21wYXJlIGlzIHRoZSBwYXNzd29yZCBtYXRoXG4gICAgaWYgKHBhc3N3b3JkICE9PSBjb25maXJtUGFzc3dvcmQpIHtcbiAgICAgIC8vIGlmIHRoZXkgZG9uJ3QgbWF0Y2gsIHNldCBhbiBlcnJvciBpbiBvdXIgY29uZmlybVBhc3N3b3JkIGZvcm0gY29udHJvbFxuICAgICAgY29udHJvbC5nZXQoJ2NvbmZpcm1QYXNzd29yZCcpLnNldEVycm9ycyh7IE5vUGFzc3N3b3JkTWF0Y2g6IHRydWUgfSk7XG4gICAgfVxuICB9XG5cbiAgZm9ybWF0U3NuKHNzbiA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHNzbi5zdWJzdHIoMCwgMykgKyAnLScgKyBzc24uc3Vic3RyKDMsIDIpICsgJy0nICsgc3NuLnN1YnN0cig1LCA0KVxuICB9XG5cbiAgbWFza1Nzbihzc24gOiBzdHJpbmcpe1xuICAgIHJldHVybiAnWFhYLVhYLScgKyBzc24uc3Vic3RyKDUsIDQpXG4gIH1cblxuICBtYXNrKHZhbHVlIDogc3RyaW5nLCBjaGFyVG9IaWRlIDogbnVtYmVyKXtcbiAgICBpZighdmFsdWUpe1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZih2YWx1ZS5sZW5ndGggPiBjaGFyVG9IaWRlKXtcbiAgICAgIHZhciB4eHggPSAnJztcbiAgICAgIGZvcih2YXIgY291bnQgPSAxIDsgY291bnQgPD0gY2hhclRvSGlkZSA7IGNvdW50Kyspe1xuICAgICAgICB4eHggPSAnWCcgKyB4eHg7XG4gICAgICB9XG4gICAgICByZXR1cm4geHh4ICsgdmFsdWUuc3Vic3RyKHZhbHVlLmxlbmd0aCAtIGNoYXJUb0hpZGUgKyAxLCBjaGFyVG9IaWRlKVxuICAgIH1lbHNle1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyTWVzc2FnZXMoKXtcbiAgICB0aGlzLm1zZ3MgPSBbXTtcbiAgfVxuXG4gIGlzU3RhdGUoc3RhdGUgOiBzdHJpbmcpIDogYm9vbGVhbntcbiAgICByZXR1cm4gdGhpcy5nZXRTdGF0ZUxvd2VyY2FzZSgpID09IHN0YXRlLnRvTG93ZXJDYXNlKCk7XG4gIH1cblxuICBnZXRTdGF0ZSgpe1xuICAgIHJldHVybiBMaWJDb25zdGFudHMuU1RBVEU7XG4gIH1cblxuICBnZXRTdGF0ZUxvd2VyY2FzZSgpe1xuICAgIHJldHVybiBMaWJDb25zdGFudHMuc3RhdGU7XG4gIH1cblxuICBwdWJsaWMgc2V0dXBOYXZpZ2F0aW9uQmFzZWRFdmVudHMoKSB7XG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShcbiAgICAgIHZhbCA9PiB7XG4gICAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcbiAgICAgICAgICB0aGlzLm1zZ3MgPSBbXTtcbiAgICAgICAgICB0aGlzLm1zZ1NlcnZpY2UuY2xlYXIoKTsgLy9DbGVhciBFcnJvci9TdWNjZXNzIE1lc3NhZ2VzXG4gICAgICAgICAgdGhpcy50b3VyU2VydmljZS5zZXRDdXJyZW50U3RlcHNDb3VudCgyMCk7IC8vSm95cmlkZSBTZXR1cFxuICAgICAgICB9XG4gICAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgICAgZ3RhZygnY29uZmlnJywgTGliQ29uc3RhbnRzLmdhSWQsIHsgJ3BhZ2VfcGF0aCc6IHZhbC51cmxBZnRlclJlZGlyZWN0cyB9KTsgLy9TZW5kIHRvIEdvb2xlIEFuYWx5dGljc1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBBY3RpdmF0aW9uRW5kKSB7XG4gICAgICAgICAgdGhpcy5zZXRQYWdlVGl0bGUodmFsLnNuYXBzaG90KTsgLy9TZXQgUGFnZSBUaXRsZVxuICAgICAgICAgIHRoaXMudG91clNlcnZpY2Uuc2V0U2V0cHNDb3VudCh2YWwuc25hcHNob3QuZGF0YVsncGFnZUlkJ10pO1xuICAgICAgICAgIHRoaXMuaGlkZUxvYWRlcigpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRQYWdlVGl0bGUoc25hcHNob3QpIHtcbiAgICBsZXQgdGl0bGUgPSBzbmFwc2hvdC5kYXRhWyd0aXRsZSddO1xuICAgIGlmICh0aXRsZSkge1xuICAgICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0VGl0bGUodGl0bGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBcIlBsZWFzZSBzcGVjaWZ5IHBhZ2UgdGl0bGUgaW4gYXBwLXJvdXRpbmcubW9kdWxlLnRzIGZpbGUgZm9yIHBhZ2UgOjogXCIgKyB0aGlzLmFyLmZpcnN0Q2hpbGQuc25hcHNob3QudXJsO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVjcmlwdGlvbiBUaGlzIG1ldGhvZCB3aWxsIHJldHVybiBjb250ZXh0IHJvb3Qgb2YgdGhlIGFwcGxpY2F0aW9uXG4gICAqIEBhdXRob3IgUHJlcmFrIFRpd2FyaVxuICAgKiBAdmVyc2lvbiAxLjBcbiAgICogQHBhcmFtIHZhbHVlIDogY29udGV4dCByb290IG9mIGFwcGxpY2F0aW9uLiBlLmcgaWYgYXBwbGljYXRpb24gaXMgcnVubmluZyBvbiAnaHR0cDovL2xvY2FsaG9zdDo5MDgwL2NwL3BhZ2UnIHRoZW4gdGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gJ2NwJ1xuICAgKiBAcmV0dXJucyBTdHJpbmdcbiAgICoqL1xuICBnZXRDb250ZXh0Um9vdCgpIDogc3RyaW5ne1xuICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3Vic3RyaW5nKDAsIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5pbmRleE9mKFwiL1wiLDIpKTtcbiAgfVxuXG4gIGdldENsYWltYW50QXBwQ29udGV4dFJvb3QoKSA6IHN0cmluZ3tcbiAgICByZXR1cm4gXCIvY3BcIjtcbiAgfVxuXG4gIGdldFNlY3VyaXR5QXBwQ29udGV4dFJvb3QoKSA6IHN0cmluZ3tcbiAgICByZXR1cm4gXCIvc3NcIjtcbiAgfVxuXG5cbiAgb3BlblBhZ2VCeUNvbnRleHRSb290KGNvbnRleHQ6IHN0cmluZywgdXJpOiBzdHJpbmcsIG5hdj86IE5hdkNvbnRyb2xsZXIpe1xuICAgIGlmKCFjb250ZXh0LnN0YXJ0c1dpdGgoJy8nKSl7XG4gICAgICBjb250ZXh0ID0gJy8nICsgY29udGV4dDtcbiAgICB9XG4gICAgaWYobmF2ICYmIGNvbnRleHQuaW5jbHVkZXModGhpcy5nZXRDb250ZXh0Um9vdCgpKSl7XG4gICAgICBuYXYubmF2aWdhdGVSb290KHVyaSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHdpbmRvdy5vcGVuKGxvY2F0aW9uLm9yaWdpbiArIGAke2NvbnRleHR9LyR7dXJpfWAgLCAnX3NlbGYnKTtcbiAgICB9XG4gIH1cblxuICBvcGVuUGFnZUJ5Q29udGV4dFJvb3RXaXRoRGF0YUFuZFR4bklkKGNvbnRleHQ6IHN0cmluZywgdXJpOiBzdHJpbmcsIGRhdGEsIHRyYW5zYWN0aW9uSWQsIG5hdj86IE5hdkNvbnRyb2xsZXIpe1xuICAgIGlmKCFjb250ZXh0LnN0YXJ0c1dpdGgoJy8nKSl7XG4gICAgICBjb250ZXh0ID0gJy8nICsgY29udGV4dDtcbiAgICB9XG4gICAgbGV0IHNlcGFyYXRvciA9ICcmJztcbiAgICBpZighdXJpLmluY2x1ZGVzKCc/Jykpe1xuICAgICAgc2VwYXJhdG9yID0gXCI/XCI7XG4gICAgfVxuICAgIGlmKGRhdGEpe1xuICAgICAgY29uc29sZS5sb2coJ2hlcmUgd2l0aCBkYXRhJyk7XG4gICAgICBpZihuYXYgJiYgY29udGV4dC5pbmNsdWRlcyh0aGlzLmdldENvbnRleHRSb290KCkpKXtcbiAgICAgICAgbmF2Lm5hdmlnYXRlRm9yd2FyZChgJHt1cml9JHtzZXBhcmF0b3J9ZGF0YT0ke2J0b2EoSlNPTi5zdHJpbmdpZnkoZGF0YSkpfSZ0eG5pZD0ke2J0b2EodHJhbnNhY3Rpb25JZCl9YCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB3aW5kb3cub3Blbihsb2NhdGlvbi5vcmlnaW4gKyBgJHtjb250ZXh0fS8ke3VyaX0ke3NlcGFyYXRvcn1kYXRhPSR7YnRvYShKU09OLnN0cmluZ2lmeShkYXRhKSl9JnR4bmlkPSR7YnRvYSh0cmFuc2FjdGlvbklkKX1gLCdfc2VsZicpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZygnb3IgaGVyZSB3aXRoIG5vIGRhdGEnKVxuICAgICAgaWYobmF2ICYmIGNvbnRleHQuaW5jbHVkZXModGhpcy5nZXRDb250ZXh0Um9vdCgpKSl7XG4gICAgICAgIG5hdi5uYXZpZ2F0ZUZvcndhcmQoYCR7dXJpfSR7c2VwYXJhdG9yfXR4bmlkPSR7YnRvYSh0cmFuc2FjdGlvbklkKX1gKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHdpbmRvdy5vcGVuKGxvY2F0aW9uLm9yaWdpbiArIGAke2NvbnRleHR9LyR7dXJpfSR7c2VwYXJhdG9yfXR4bmlkPSR7YnRvYSh0cmFuc2FjdGlvbklkKX1gLCdfc2VsZicpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9wZW5QYWdlQnlDb250ZXh0Um9vdFdpdGhEYXRhKGNvbnRleHQ6IHN0cmluZywgdXJpOiBzdHJpbmcsIGRhdGEsIG5hdj86IE5hdkNvbnRyb2xsZXIpe1xuICAgIGlmKCFjb250ZXh0LnN0YXJ0c1dpdGgoJy8nKSl7XG4gICAgICBjb250ZXh0ID0gJy8nICsgY29udGV4dDtcbiAgICB9XG4gICAgbGV0IHNlcGFyYXRvciA9ICcmJztcbiAgICBpZighdXJpLmluY2x1ZGVzKCc/Jykpe1xuICAgICAgc2VwYXJhdG9yID0gXCI/XCI7XG4gICAgfVxuICAgIGlmKG5hdiAmJiBjb250ZXh0LmluY2x1ZGVzKHRoaXMuZ2V0Q29udGV4dFJvb3QoKSkpe1xuICAgICAgbmF2Lm5hdmlnYXRlRm9yd2FyZChgJHt1cml9JHtzZXBhcmF0b3J9ZGF0YT0ke2J0b2EoSlNPTi5zdHJpbmdpZnkoZGF0YSkpfWApO1xuICAgIH0gZWxzZSB7XG4gICAgICB3aW5kb3cub3Blbihsb2NhdGlvbi5vcmlnaW4gKyBgJHtjb250ZXh0fS8ke3VyaX0ke3NlcGFyYXRvcn1kYXRhPSR7YnRvYShKU09OLnN0cmluZ2lmeShkYXRhKSl9YCwnX3NlbGYnKTtcbiAgICB9XG4gIH1cblxuICBtYXNrRXhjZXB0Rmlyc3RBbmRMYXN0Q2hhcih2YWx1ZSA6IHN0cmluZykge1xuICAgICAgcmV0dXJuIHZhbHVlWzBdICsgXCIqXCIucmVwZWF0KHZhbHVlLmxlbmd0aCAtIDIpICsgdmFsdWUuc2xpY2UoLTEpO1xuICB9XG5cbiAgbWFza0VtYWlsKGVtYWlsIDogc3RyaW5nKXtcbiAgICB2YXIgcGFydHMgPSBlbWFpbC5zcGxpdChcIkBcIik7XG4gICAgaWYocGFydHMubGVuZ3RoID09IDIpe1xuICAgICAgcmV0dXJuIHRoaXMubWFza0V4Y2VwdEZpcnN0QW5kTGFzdENoYXIocGFydHNbMF0pICsgXCJAXCIgKyB0aGlzLm1hc2tFeGNlcHRGaXJzdEFuZExhc3RDaGFyKHBhcnRzWzFdKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubWFza0V4Y2VwdEZpcnN0QW5kTGFzdENoYXIocGFydHNbMF0pO1xuICB9XG5cbiAgaXNQbGF5Zm9ybUNhcGFjaXRvcigpe1xuICAgIHJldHVybiB0aGlzLnBsYXRmb3JtLmlzKCdjYXBhY2l0b3InKTtcbiAgfVxuXG4gIGlzTmV3UGFzc3dvcmRQb2xpY3lFbmFibGVkKCkgOiBib29sZWFuIHtcbiAgICByZXR1cm4gTGliQ29uc3RhbnRzLmlzTmV3UGFzc3dvcmRQb2xpY3lFbmFibGVkID09ICd0cnVlJztcbiAgfVxuXG4gIGlzU2FtZVN5bWJvbFBvbGljeUZvckNsYWltYW50QW5kQWdlbmN5KCkgOiBib29sZWFuIHtcbiAgICByZXR1cm4gTGliQ29uc3RhbnRzLmlzU2FtZVN5bWJvbFBvbGljeUZvckNsYWltYW50QW5kQWdlbmN5ID09ICd0cnVlJztcbiAgfVxuXG4gIGZvY3VzT25TdWJtaXQoZWw6IEVsZW1lbnRSZWYpe1xuICAgIHZhciBlbGVtZW50ID0gZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgdGhpcy5mb2N1c2FibGVzLm1hcCh4ID0+IGAke3h9Lm5nLWludmFsaWRgKS5qb2luKFwiLFwiKVxuICAgICk7XG5cbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgdmFyIHByaW1lTmdDb21wb25lbnQgPSBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgIHRoaXMuZm9jdXNhYmxlcy5tYXAoeCA9PiBgJHt4fS5wLWNvbXBvbmVudGApLmpvaW4oXCIsXCIpXG4gICAgICApO1xuICAgICAgaWYgKHByaW1lTmdDb21wb25lbnQpIHtcbiAgICAgICAgcHJpbWVOZ0NvbXBvbmVudC5mb2N1cygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZWxlbWVudC5mb2N1cygpO1xuICAgICAgfVxuXG4gICAgICAvL0Jsb2NrIGZvciBSYWRpbyBCdXR0b24gU3RhcnRcbiAgICAgIHZhciBwcmltZU5nQ29tcG9uZW50MSA9IGVsZW1lbnQucXVlcnlTZWxlY3RvcihcImRpdi5wLXNlbGVjdGJ1dHRvblwiKTtcbiAgICAgIGlmIChwcmltZU5nQ29tcG9uZW50MSkge1xuICAgICAgICB2YXIgcHJpbWVOZ0NvbXBvbmVudDIgPSBwcmltZU5nQ29tcG9uZW50MS5xdWVyeVNlbGVjdG9yKFwiZGl2LnAtY29tcG9uZW50XCIpO1xuICAgICAgICBpZiAocHJpbWVOZ0NvbXBvbmVudDIpIHtcbiAgICAgICAgICBwcmltZU5nQ29tcG9uZW50Mi5mb2N1cygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvL0Jsb2NrIGZvciBSYWRpbyBCdXR0b24gRW5kXG4gICAgfVxuICB9XG5cbiAgZ2VuZXJhdGVSYW5kb21LZXkoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMjU2KTtcbiAgfVxuXG4gIGJhc2U2NFVybEVuY29kZShpbnB1dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYnRvYShpbnB1dClcbiAgICAgIC5yZXBsYWNlKC9cXCsvZywgJy0nKVxuICAgICAgLnJlcGxhY2UoL1xcLy9nLCAnXycpXG4gICAgICAucmVwbGFjZSgvPSskLywgJycpO1xuICB9XG5cbiAgeG9yRW5jcnlwdChpbnB1dDogc3RyaW5nLCBrZXk6IG51bWJlcik6IHN0cmluZyB7XG4gIGNvbnN0IGNoYXJzID0gaW5wdXRcbiAgICAuc3BsaXQoJycpXG4gICAgLm1hcChjID0+IFN0cmluZy5mcm9tQ2hhckNvZGUoYy5jaGFyQ29kZUF0KDApIF4ga2V5KSlcbiAgICAuam9pbignJyk7XG4gIHJldHVybiB0aGlzLmJhc2U2NFVybEVuY29kZShjaGFycyk7XG59XG5cbmJhc2U2NFVybERlY29kZShpbnB1dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgaW5wdXQgPSBpbnB1dC5yZXBsYWNlKC8tL2csICcrJykucmVwbGFjZSgvXy9nLCAnLycpO1xuICB3aGlsZSAoaW5wdXQubGVuZ3RoICUgNCkgaW5wdXQgKz0gJz0nO1xuICByZXR1cm4gYXRvYihpbnB1dCk7XG59XG5cbnhvckRlY3J5cHQoZW5jb2RlZDogc3RyaW5nLCBrZXk6IG51bWJlcik6IHN0cmluZyB7XG4gIGNvbnN0IGRlY29kZWQgPSB0aGlzLmJhc2U2NFVybERlY29kZShlbmNvZGVkKTtcbiAgcmV0dXJuIGRlY29kZWRcbiAgICAuc3BsaXQoJycpXG4gICAgLm1hcChjID0+IFN0cmluZy5mcm9tQ2hhckNvZGUoYy5jaGFyQ29kZUF0KDApIF4ga2V5KSlcbiAgICAuam9pbignJyk7XG59XG5cbn1cbiJdfQ==
450
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZELE9BQU8sRUFBYyxXQUFXLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUUzRSxPQUFPLEVBQWdDLFVBQVUsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUs1RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVyRSxPQUFPLEVBQWtCLGFBQWEsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFVLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7O0FBU3hHLE1BQU0sT0FBTyxXQUFXO0lBV3RCLFlBQW1CLGVBQWdDLEVBQVMsVUFBc0IsRUFBUyxFQUFzQixFQUM5RixlQUFnQyxFQUFTLFVBQTBCLEVBQVUsT0FBMEIsRUFDdkcsTUFBeUIsRUFBVSxNQUFxQixFQUFVLE1BQWMsRUFDL0UsWUFBbUIsRUFBVSxFQUFrQixFQUFVLFdBQXdCLEVBQ2pGLFFBQWtCO1FBSm5CLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUFTLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBUyxPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUM5RixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBUyxlQUFVLEdBQVYsVUFBVSxDQUFnQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBQ3ZHLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDL0UsaUJBQVksR0FBWixZ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aUJBQWlCLEdBQUcsaUJBQWlCLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUM7Z0JBQzNFLElBQUksaUJBQWlCLEVBQUU7b0JBQ3JCLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO2lCQUMzQjthQUNGO1lBQ0QsNEJBQTRCO1NBQzdCO0lBQ0gsQ0FBQzs0RUF6aEJVLFdBQVc7dUVBQVgsV0FBVyxXQUFYLFdBQVcsbUJBRlYsTUFBTTs7aUZBRVAsV0FBVztjQUh2QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFsZXJ0Q29udHJvbGxlciwgTG9hZGluZ0NvbnRyb2xsZXIsIE5hdkNvbnRyb2xsZXIsIFBsYXRmb3JtLCBUb2FzdENvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7TWVzc2FnZX0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQge01lc3NhZ2VTZXJ2aWNlfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IE5neFNwaW5uZXJTZXJ2aWNlIH0gZnJvbSBcIm5neC1zcGlubmVyXCI7XHJcbmltcG9ydCB7IExvYWRpbmdCYXJTZXJ2aWNlIH0gZnJvbSAnQG5neC1sb2FkaW5nLWJhci9jb3JlJztcclxuaW1wb3J0IHsgRXJyb3JNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9FcnJvck1vZGVsJztcclxuaW1wb3J0IHsgZ2V0QmFzZVVybCwgTGliQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0xpYkNvbnN0YW50cyc7XHJcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgQWN0aXZhdGlvbkVuZCwgTmF2aWdhdGlvbkVuZCwgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBUb3VyU2VydmljZSB9IGZyb20gJy4uL3RvdXIvdG91ci5zZXJ2aWNlJztcclxuXHJcbmRlY2xhcmUgbGV0IGd0YWc6IGFueTtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFV0aWxTZXJ2aWNlIHtcclxuXHJcbiAgZm9jdXNhYmxlcyA9IFtcInBpbnB1dHRleHRcIiwgXCJwLWlucHV0bWFza1wiLCBcImlucHV0XCIsIFwic2VsZWN0XCIsIFwidGV4dGFyZWFcIiwgXCJwLWNhbGVuZGFyXCIsIFwicmFkaW9cIiwgXCJwLWRyb3Bkb3duXCIsIFwicC1zZWxlY3RCdXR0b25cIiwgXCJwLWF1dG9jb21wbGV0ZVwiLCBcInAtcGFzc3dvcmRcIixcInAtY2hlY2tib3hcIiwgXCJwLWlucHV0dGV4dGFyZWFcIl07XHJcblxyXG4gIC8qVG8gZGlzcGxheSB2YXJpb3VzIG1lc3NhZ2VzKi9cclxuICBwdWJsaWMgbXNnczogTWVzc2FnZVtdID0gW107XHJcblxyXG4gIG9wdGlvbnMgPSB7fTtcclxuXHJcbiAgbG9hZGluZyAgPSBudWxsO1xyXG4gIFxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBhbGVydENvbnRyb2xsZXI6IEFsZXJ0Q29udHJvbGxlciwgcHVibGljIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsIHB1YmxpYyBsYyA6IExvYWRpbmdDb250cm9sbGVyLCBcclxuICAgICAgICAgICAgICBwdWJsaWMgdG9hc3RDb250cm9sbGVyOiBUb2FzdENvbnRyb2xsZXIsIHB1YmxpYyBtc2dTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSwgcHJpdmF0ZSBzcGlubmVyOiBOZ3hTcGlubmVyU2VydmljZSxcclxuICAgICAgICAgICAgICBwdWJsaWMgbG9hZGVyOiBMb2FkaW5nQmFyU2VydmljZSwgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgdGl0bGVTZXJ2aWNlOiBUaXRsZSwgcHJpdmF0ZSBhcjogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgdG91clNlcnZpY2U6IFRvdXJTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgcGxhdGZvcm06IFBsYXRmb3JtKSB7IFxyXG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gICAgICBcIkFjY2VwdFwiOiAnYXBwbGljYXRpb24vanNvbid9KTtcclxuICAgIHRoaXMub3B0aW9ucyA9IHsgaGVhZGVyczogaGVhZGVycyB9O1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgdG9hc3QobXNnIDogc3RyaW5nKXtcclxuICAgIGNvbnN0IHRvYXN0ID0gYXdhaXQgdGhpcy50b2FzdENvbnRyb2xsZXIuY3JlYXRlKHtcclxuICAgICAgbWVzc2FnZTogbXNnLFxyXG4gICAgICBwb3NpdGlvbjogJ2JvdHRvbScsXHJcbiAgICAgIGR1cmF0aW9uOiAyMDAwLFxyXG4gICAgICBrZXlib2FyZENsb3NlOiB0cnVlLFxyXG4gICAgICBidXR0b25zOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdGV4dDogJ0RvbmUnLFxyXG4gICAgICAgICAgcm9sZTogJ2NhbmNlbCcsXHJcbiAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9KTtcclxuICAgIHRvYXN0LnByZXNlbnQoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHByZXNlbnRUb2FzdChtc2cgOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHRvYXN0ID0gYXdhaXQgdGhpcy50b2FzdENvbnRyb2xsZXIuY3JlYXRlKHtcclxuICAgICAgbWVzc2FnZTogbXNnLFxyXG4gICAgICBjb2xvcjogJ2RhbmdlcicsXHJcbiAgICAgIGR1cmF0aW9uOiAzMDAwLFxyXG4gICAgICBrZXlib2FyZENsb3NlOiB0cnVlLFxyXG4gICAgICBidXR0b25zOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdGV4dDogJ0RvbmUnLFxyXG4gICAgICAgICAgcm9sZTogJ2NhbmNlbCcsXHJcbiAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9KTtcclxuICAgIHRvYXN0LnByZXNlbnQoKTtcclxuICB9XHJcblxyXG4gIGJhc2VVcmwoKSA6IHN0cmluZ3tcclxuICAgIHJldHVybiBnZXRCYXNlVXJsKCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBwcmVzZW50QWxlcnQoaGVhZGVyLCBzdWJNc2csIGVyckR0bCkge1xyXG4gICAgY29uc3QgYWxlcnQgPSBhd2FpdCB0aGlzLmFsZXJ0Q29udHJvbGxlci5jcmVhdGUoe1xyXG4gICAgICBoZWFkZXI6IGhlYWRlcixcclxuICAgICAgc3ViSGVhZGVyOiBzdWJNc2csXHJcbiAgICAgIG1lc3NhZ2U6IGVyckR0bCxcclxuICAgICAgYnV0dG9uczogWydPSyddXHJcbiAgICB9KTtcclxuXHJcbiAgICBhd2FpdCBhbGVydC5wcmVzZW50KCk7XHJcbiAgfVxyXG5cclxuICBlcnJvcihoZWFkZXIsIHN1Yk1zZywgZXJyRHRsKXtcclxuICAgIHRoaXMucHJlc2VudEFsZXJ0KGhlYWRlciwgc3ViTXNnLCBlcnJEdGwpO1xyXG4gIH1cclxuXHJcbiAgc2hvd0Vycm9yKG1zZyA6IHN0cmluZyl7XHJcbiAgICBsZXQgZXJyRHRsIDogRXJyb3JNb2RlbCA9IG5ldyBFcnJvck1vZGVsKCk7XHJcbiAgICBlcnJEdGwubXNnID0gbXNnO1xyXG4gICAgdGhpcy5lcnJvck1zZyhlcnJEdGwpO1xyXG4gIH1cclxuXHJcbiAgZXJyb3JNc2coZXJyRHRsIDogRXJyb3JNb2RlbCl7XHJcbiAgICB0aGlzLm1zZ3MucHVzaCh7c2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnkgOiAnRXJyb3InLCBkZXRhaWwgOiBlcnJEdGwubXNnfSk7XHJcbiAgICB0aGlzLm1zZ1NlcnZpY2UuY2xlYXIoKTtcclxuICAgIGlmKGVyckR0bC5lcnJvcklkKXtcclxuICAgICAgLy90aGlzLm1zZ1NlcnZpY2UuYWRkKHtzZXZlcml0eTonZXJyb3InLCBzdW1tYXJ5OidFcnJvcicsIGRldGFpbDogZXJyRHRsLm1zZyArIGAoIGVycm9yIGlkIDogJHtlcnJEdGwuZXJyb3JJZH0pYCwgbGlmZTogNzAwMCwgaWQgOiBlcnJEdGwuZXJyb3JJZH0pO1xyXG4gICAgICB0aGlzLm1zZ1NlcnZpY2UuYWRkKHtzZXZlcml0eTonZXJyb3InLCBzdW1tYXJ5OidFcnJvcicsIGRldGFpbDogZXJyRHRsLm1zZywgbGlmZTogNzAwMCwgaWQgOiBlcnJEdGwuZXJyb3JJZH0pO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMubXNnU2VydmljZS5hZGQoe3NldmVyaXR5OidlcnJvcicsIHN1bW1hcnk6J0Vycm9yJywgZGV0YWlsOiBlcnJEdGwubXNnLCBsaWZlOiA3MDAwLCBpZCA6IGVyckR0bC5lcnJvcklkfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBzdWNjZXNzKG1zZyl7XHJcbiAgICB0aGlzLm1zZ3MgPSBbXTtcclxuICAgIHRoaXMubXNncy5wdXNoKHtzZXZlcml0eTogJ3N1Y2Nlc3MnLCBzdW1tYXJ5IDogJ1N1Y2Nlc3MnLCBkZXRhaWwgOiBtc2d9KTtcclxuXHJcbiAgICB0aGlzLm1zZ1NlcnZpY2UuY2xlYXIoKTtcclxuICAgIHRoaXMubXNnU2VydmljZS5hZGQoe3NldmVyaXR5OidzdWNjZXNzJywgc3VtbWFyeTonU3VjY2VzcycsIGRldGFpbDogbXNnLCBsaWZlOiA3MDAwfSk7XHJcbiAgfVxyXG5cclxuICBpbmZvKG1zZyl7XHJcbiAgICB0aGlzLnByZXNlbnRBbGVydCgnSW5mbycsICcnLCBtc2cpO1xyXG4gIH1cclxuXHJcbiAgZ2V0PFQ+KGVuZFBvaW50IDogc3RyaW5nLCBvcHRpb25zPzoge1xyXG4gICAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMgfCB7XHJcbiAgICAgICAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgICAgfTtcclxuICAgICAgb2JzZXJ2ZT86ICdib2R5JztcclxuICAgICAgcGFyYW1zPzogSHR0cFBhcmFtcyB8IHtcclxuICAgICAgICAgIFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgICAgIH07XHJcbiAgICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcclxuICAgICAgcmVzcG9uc2VUeXBlPzogJ2pzb24nO1xyXG4gICAgICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xyXG4gIH0sIHNlcnZpY2VOYW1lPyA6IHN0cmluZyk6IE9ic2VydmFibGU8VD57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxUPih0aGlzLmdldFVybChlbmRQb2ludCwgc2VydmljZU5hbWUpLCBvcHRpb25zICE9IG51bGwgPyBvcHRpb25zIDogdGhpcy5vcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHBvc3Q8VD4odXJsOiBzdHJpbmcsIGJvZHk6IGFueSB8IG51bGwsIG9wdGlvbnM/OiB7XHJcbiAgICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyB8IHtcclxuICAgICAgICAgIFtoZWFkZXI6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gICAgICB9O1xyXG4gICAgICBvYnNlcnZlPzogJ2JvZHknO1xyXG4gICAgICBwYXJhbXM/OiBIdHRwUGFyYW1zIHwge1xyXG4gICAgICAgICAgW3BhcmFtOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgICAgfTtcclxuICAgICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuO1xyXG4gICAgICByZXNwb25zZVR5cGU/OiAnanNvbic7XHJcbiAgICAgIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XHJcbiAgICB9LCBzZXJ2aWNlTmFtZT8gOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxUPih0aGlzLmdldFVybCh1cmwsIHNlcnZpY2VOYW1lKSwgSlNPTi5zdHJpbmdpZnkoYm9keSksIG9wdGlvbnMgIT0gbnVsbCA/IG9wdGlvbnMgOiB0aGlzLm9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgcG9zdEZvcm1EYXRhPFQ+KHVybDogc3RyaW5nLCBib2R5OiBhbnkgfCBudWxsLCBvcHRpb25zPzoge1xyXG4gICAgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwge1xyXG4gICAgICAgIFtoZWFkZXI6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gICAgfTtcclxuICAgIG9ic2VydmU/OiAnYm9keSc7XHJcbiAgICBwYXJhbXM/OiBIdHRwUGFyYW1zIHwge1xyXG4gICAgICAgIFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgICB9O1xyXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuO1xyXG4gICAgcmVzcG9uc2VUeXBlPzogJ2pzb24nO1xyXG4gICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcclxuICB9LCBzZXJ2aWNlTmFtZT8gOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgLy8gYWxlcnQodGhpcy5nZXRGdWxsVXJsKHVybCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PFQ+KHRoaXMuZ2V0VXJsKHVybCwgc2VydmljZU5hbWUpLCBib2R5LCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZTxUPih1cmw6IHN0cmluZywgb3B0aW9ucz86IHtcclxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyB8IHtcclxuICAgICAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgIH07XHJcbiAgICBvYnNlcnZlPzogJ2JvZHknO1xyXG4gICAgcGFyYW1zPzogSHR0cFBhcmFtcyB8IHtcclxuICAgICAgICBbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gICAgfTtcclxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcclxuICAgIHJlc3BvbnNlVHlwZT86ICdqc29uJztcclxuICAgIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XHJcbiAgfSwgc2VydmljZU5hbWU/IDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmRlbGV0ZTxUPih0aGlzLmdldFVybCh1cmwsIHNlcnZpY2VOYW1lKSwgb3B0aW9ucyAhPSBudWxsID8gb3B0aW9ucyA6IHRoaXMub3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBwYXRjaDxUPih1cmw6IHN0cmluZywgYm9keTogYW55IHwgbnVsbCwgb3B0aW9ucz86IHtcclxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyB8IHtcclxuICAgICAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgIH07XHJcbiAgICBvYnNlcnZlPzogJ2JvZHknO1xyXG4gICAgcGFyYW1zPzogSHR0cFBhcmFtcyB8IHtcclxuICAgICAgICBbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gICAgfTtcclxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcclxuICAgIHJlc3BvbnNlVHlwZT86ICdqc29uJztcclxuICAgIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XHJcbn0sIHNlcnZpY2VOYW1lID86IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wYXRjaDxUPih0aGlzLmdldFVybCh1cmwsIHNlcnZpY2VOYW1lKSwgYm9keSwgb3B0aW9ucyAhPSBudWxsID8gb3B0aW9ucyA6IHRoaXMub3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBlcnJvckhhbmRsZXIoZXJyb3Ipe1xyXG4gICAgdGhpcy5tc2dzID0gW107XHJcbiAgICB0aGlzLmxvZ2dlci5lcnJvcignZXJyb3IgLS0tLT4nLCBlcnJvcik7XHJcbiAgICB0aGlzLmVycm9yTXNnKGVycm9yKTtcclxuICB9XHJcblxyXG4gIGdldEZ1bGxVcmwoZW5kUG9pbnQgOiBzdHJpbmcpe1xyXG4gICAgcmV0dXJuIHRoaXMuYmFzZVVybCgpICsgZW5kUG9pbnQ7XHJcbiAgfVxyXG5cclxuICBnZXRVcmwoZW5kUG9pbnQgOiBzdHJpbmcsIHNlcnZpY2VOYW1lIDogc3RyaW5nKXtcclxuICAgIGlmKHNlcnZpY2VOYW1lKXtcclxuICAgICAgdGhpcy5iYXNlVXJsKCkgKyBMaWJDb25zdGFudHMuZm9yd2FyZFNsYXNoICsgc2VydmljZU5hbWUgKyBMaWJDb25zdGFudHMuZm9yd2FyZFNsYXNoICsgZW5kUG9pbnQ7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgcmV0dXJuIHRoaXMuYmFzZVVybCgpICsgKExpYkNvbnN0YW50cy5jb250ZXh0ID09ICcnIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IExpYkNvbnN0YW50cy5mb3J3YXJkU2xhc2ggXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogTGliQ29uc3RhbnRzLmZvcndhcmRTbGFzaCArIExpYkNvbnN0YW50cy5jb250ZXh0ICsgTGliQ29uc3RhbnRzLmZvcndhcmRTbGFzaCkgKyBlbmRQb2ludDtcclxuICAgIH1cclxuICB9XHJcblxyXG5hc3luYyBzaG93TG9hZGVyKCkge1xyXG4gIHRoaXMuc3Bpbm5lci5zaG93KClcclxufVxyXG5cclxuICBhc3luYyBoaWRlTG9hZGVyKCl7XHJcbiAgICB0aGlzLnNwaW5uZXIuaGlkZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGRlY3JpcHRpb24gVGhpcyBtZXRob2Qgd2lsbCBmaW5kIGRpZmZlcmVuY2Ugb2YgZGF0ZXMgYnkgc3BlY2lmaWVkIGludGVydmFsXHJcbiAgICogQGF1dGhvciBQcmVyYWsgVGl3YXJpXHJcbiAgICogQHZlcnNpb24gMS4wXHJcbiAgICogQHBhcmFtIGZyb21EYXRlIGluIG1pbGlzZWNvbmRzXHJcbiAgICogQHBhcmFtIHRvZGF0ZSBpbiBtaWxpc2Vjb25kc1xyXG4gICAqIEBwYXJhbSBpbnRlcnZhbCA6IHZhbGlkIHZhbHVlcyBhcmUgLS0+IFwieWVhcnNcIiwgXCJtb250aHNcIiwgXCJ3ZWVrc1wiLCBcImRheXNcIiwgXCJob3Vyc1wiLCBcIm1pbnV0ZXNcIiwgXCJzZWNvbmRzXCJcclxuICAgKiBAcmV0dXJucyBkaWZmZXJlbmNlIG9mIGRhdGUgYXMgcGVyIGludGVydmFsIHNwZWNpZmllZC5cclxuICAgKiovXHJcbiAgZmluZERpZmZlcmVuY2VJbmRhdGUoZnJvbURhdGUsdG9kYXRlLGludGVydmFsKXtcclxuICAgIGxldCBzZWNvbmQ9MTAwMCwgbWludXRlPXNlY29uZCo2MCwgaG91cj1taW51dGUqNjAsIGRheT1ob3VyKjI0LCB3ZWVrPWRheSo3O1xyXG4gICAgbGV0IHRpbWVkaWZmID0gdG9kYXRlIC0gZnJvbURhdGU7XHJcbiAgICBcclxuICAgIGlmIChpc05hTih0aW1lZGlmZikpIFxyXG4gICAgICByZXR1cm4gTmFOO1xyXG4gICAgXHJcbiAgICBzd2l0Y2ggKGludGVydmFsKSB7XHJcbiAgICAgICAgY2FzZSBcInllYXJzXCI6IHJldHVybiB0b2RhdGUuZ2V0RnVsbFllYXIoKSAtIGZyb21EYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICAgICAgY2FzZSBcIm1vbnRoc1wiOiByZXR1cm4gKFxyXG4gICAgICAgICAgICAoIHRvZGF0ZS5nZXRGdWxsWWVhcigpICogMTIgKyB0b2RhdGUuZ2V0TW9udGgoKSApXHJcbiAgICAgICAgICAgIC1cclxuICAgICAgICAgICAgKCBmcm9tRGF0ZS5nZXRGdWxsWWVhcigpICogMTIgKyBmcm9tRGF0ZS5nZXRNb250aCgpIClcclxuICAgICAgICApO1xyXG4gICAgICAgIGNhc2UgXCJ3ZWVrc1wiICA6IHJldHVybiBNYXRoLnJvdW5kKHRpbWVkaWZmIC8gd2Vlayk7XHJcbiAgICAgICAgY2FzZSBcImRheXNcIiAgIDogcmV0dXJuIE1hdGgucm91bmQodGltZWRpZmYgLyBkYXkpOyBcclxuICAgICAgICBjYXNlIFwiaG91cnNcIiAgOiByZXR1cm4gTWF0aC5yb3VuZCh0aW1lZGlmZiAvIGhvdXIpOyBcclxuICAgICAgICBjYXNlIFwibWludXRlc1wiOiByZXR1cm4gTWF0aC5yb3VuZCh0aW1lZGlmZiAvIG1pbnV0ZSk7XHJcbiAgICAgICAgY2FzZSBcInNlY29uZHNcIjogcmV0dXJuIE1hdGgucm91bmQodGltZWRpZmYgLyBzZWNvbmQpO1xyXG4gICAgICAgIGRlZmF1bHQ6IHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAZGVjcmlwdGlvbiBUaGlzIG1ldGhvZCB3aWxsIHJldHVybiBkYXRlIGluIGRkTU15eXl5IGZvcm1hdC5cclxuICAgKiBAYXV0aG9yIFByZXJhayBUaXdhcmlcclxuICAgKiBAdmVyc2lvbiAxLjBcclxuICAgKiBAcmV0dXJucyBzdHJpbmdcclxuICAgKiovXHJcbiAgZ2V0RGF0ZUluTU1ERFlZWVlGb3JtYXQoZGF0ZSA6IERhdGUpe1xyXG4gICAgbGV0IGRkID0gZGF0ZS5nZXREYXRlKCk7XHJcbiAgICBsZXQgTU0gPSBkYXRlLmdldE1vbnRoKCkgKyAxO1xyXG4gICAgbGV0IHl5eXkgPSBkYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICBcclxuICAgIGxldCBkYXRlVG9SZXR1cm4gPSAgTU0gKyAnLycgKyBkZCArICcvJyArIHl5eXk7XHJcbiAgICByZXR1cm4gZGF0ZVRvUmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGRlY3JpcHRpb24gVGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gRGF0ZSBvYmplY3QgKGZvciB5eXl5L01NL2RkKVxyXG4gICAqIEBhdXRob3IgUHJlcmFrIFRpd2FyaVxyXG4gICAqIEB2ZXJzaW9uIDEuMFxyXG4gICAqIEBwYXJhbSB2YWx1ZSA6IGRhdGUgc2VwYXJhdGVkIHdpdGggJy0nXHJcbiAgICogQHJldHVybnMgRGF0ZVxyXG4gICAqKi9cclxuICBnZXRFbnRlcmVkRGF0ZSh2YWx1ZSl7XHJcbiAgICB2YXIgZGF0ZUFycmF5ID0gdmFsdWUuc3BsaXQoXCItXCIpO1xyXG4gICAgdmFyIGRkID0gcGFyc2VJbnQodGhpcy5wcmVwZWRaZXJvSWZTaW5nbGVEaWdpdChkYXRlQXJyYXlbMl0pKTtcclxuICAgIHZhciBNTSA9IHBhcnNlSW50KHRoaXMucHJlcGVkWmVyb0lmU2luZ2xlRGlnaXQoZGF0ZUFycmF5WzFdKSkgLSAxO1xyXG4gICAgdmFyIHl5eXkgPSBwYXJzZUludCh0aGlzLnByZXBlZFplcm9JZlNpbmdsZURpZ2l0KGRhdGVBcnJheVswXSkpO1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKHl5eXksTU0sZGQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGRlY3JpcHRpb24gVGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gRGF0ZSBvYmplY3QgKGZvciBNTS9kZC95eXl5KS5cclxuICAgKiBAYXV0aG9yIFByZXJhayBUaXdhcmlcclxuICAgKiBAdmVyc2lvbiAxLjBcclxuICAgKiBAcGFyYW0gdmFsdWUgOiBkYXRlIHNlcGFyYXRlZCB3aXRoICctJ1xyXG4gICAqIEByZXR1cm5zIERhdGVcclxuICAgKiovXHJcbiAgZ2V0RGF0ZUZyb21TdHJpbmcodmFsdWUpe1xyXG4gICAgdmFyIGRhdGVBcnJheSA9IHZhbHVlLnNwbGl0KFwiLVwiKTtcclxuICAgIHZhciBkZCA9IHBhcnNlSW50KHRoaXMucHJlcGVkWmVyb0lmU2luZ2xlRGlnaXQoZGF0ZUFycmF5WzJdKSk7XHJcbiAgICB2YXIgTU0gPSBwYXJzZUludCh0aGlzLnByZXBlZFplcm9JZlNpbmdsZURpZ2l0KGRhdGVBcnJheVsxXSkpIC0gMTtcclxuICAgIHZhciB5eXl5ID0gcGFyc2VJbnQodGhpcy5wcmVwZWRaZXJvSWZTaW5nbGVEaWdpdChkYXRlQXJyYXlbMF0pKTtcclxuICAgIHJldHVybiBuZXcgRGF0ZSh5eXl5LE1NLGRkKTtcclxuICB9XHJcblxyXG4gIGdldEVudGVyZWREYXRlRnJvbVN0cmluZyh2YWx1ZSl7XHJcbiAgICB2YXIgZGF0ZUFycmF5ID0gdmFsdWUuc3BsaXQoXCIvXCIpO1xyXG4gICAgdmFyIE1NID0gcGFyc2VJbnQodGhpcy5wcmVwZWRaZXJvSWZTaW5nbGVEaWdpdChkYXRlQXJyYXlbMF0pKSAtIDE7XHJcbiAgICB2YXIgZGQgPSBwYXJzZUludCh0aGlzLnByZXBlZFplcm9JZlNpbmdsZURpZ2l0KGRhdGVBcnJheVsxXSkpO1xyXG4gICAgdmFyIHl5eXkgPSBwYXJzZUludCh0aGlzLnByZXBlZFplcm9JZlNpbmdsZURpZ2l0KGRhdGVBcnJheVsyXSkpO1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKHl5eXksTU0sZGQpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGF0ZUluTU1ERFlZWVkodmFsdWUpe1xyXG4gICAgdmFyIGRhdGVBcnJheSA9IHZhbHVlLnNwbGl0KFwiLVwiKTtcclxuICAgIHZhciBkZCA9IHBhcnNlSW50KHRoaXMucHJlcGVkWmVyb0lmU2luZ2xlRGlnaXQoZGF0ZUFycmF5WzJdKSk7XHJcbiAgICB2YXIgTU0gPSBwYXJzZUludCh0aGlzLnByZXBlZFplcm9JZlNpbmdsZURpZ2l0KGRhdGVBcnJheVsxXSkpO1xyXG4gICAgdmFyIHl5eXkgPSBwYXJzZUludCh0aGlzLnByZXBlZFplcm9JZlNpbmdsZURpZ2l0KGRhdGVBcnJheVswXSkpO1xyXG4gICAgcmV0dXJuIE1NICsgJy8nICsgZGQgKyAnLycgKyB5eXl5O1xyXG4gIH1cclxuXHJcbiAgcHJlcGVkWmVyb0lmU2luZ2xlRGlnaXQobnVtYmVyKXtcclxuICAgIG51bWJlciA9IG51bWJlciArIExpYkNvbnN0YW50cy5ibGFua1N0cmluZztcclxuICAgIGlmKG51bWJlci5sZW5ndGggPCAyKXtcclxuICAgICAgbnVtYmVyID0gXCIwXCIgKyBudW1iZXI7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVtYmVyO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgKiBAZGVjcmlwdGlvbiBUaGlzIG1ldGhvZCBjaGVjayBpZiBlbnRlcmVkIG51bWJlciBpcyB2YWxpZCBvciBub3QuXHJcbiAgKiBAYXV0aG9yIFByZXJhayBUaXdhcmlcclxuICAqIEB2ZXJzaW9uIDEuMFxyXG4gICogQHJldHVybnMgdHJ1ZSA6IG51bWJlciBpcyB2YWxpZCA8L2JyPiBmYWxzZSA6IG51bWJlciBpcyBpbnZhbGlkXHJcbiAgKi9cclxuICB2YWxpZGF0ZU51bWJlcihudW1iZXIpIHtcclxuICAgIHZhciByZWcgPSBuZXcgUmVnRXhwKFwiXlswLTldKiRcIik7IFxyXG4gICAgcmV0dXJuIHJlZy50ZXN0KG51bWJlcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAqIEBkZWNyaXB0aW9uIFRoaXMgbWV0aG9kIGNoZWNrIGlmIGVudGVyZWQgbnVtYmVyIGlzIHZhbGlkIG9yIG5vdC5cclxuICAqIEBhdXRob3IgUHJlcmFrIFRpd2FyaVxyXG4gICogQHZlcnNpb24gMS4wXHJcbiAgKiBAcmV0dXJucyB0cnVlIDogbnVtYmVyIGlzIHZhbGlkIDwvYnI+IGZhbHNlIDogbnVtYmVyIGlzIGludmFsaWRcclxuICAqL1xyXG4gIHZhbGlkYXRlRW1haWwoZW1haWwpIHtcclxuICAgIHZhciByZWcgPSBuZXcgUmVnRXhwKCcvXigoW148PigpXFxbXFxdXFxcXC4sOzpcXHNAXCJdKyhcXC5bXjw+KClcXFtcXF1cXFxcLiw7Olxcc0BcIl0rKSopfChcIi4rXCIpKUAoKFxcW1swLTldezEsM31cXC5bMC05XXsxLDN9XFwuWzAtOV17MSwzfVxcLlswLTldezEsM31dKXwoKFthLXpBLVpcXC0wLTldK1xcLikrW2EtekEtWl17Mix9KSkkLycpOyBcclxuICAgIHJldHVybiByZWcudGVzdChlbWFpbCk7XHJcbiAgfVxyXG5cclxuICBzZXRWYWxpZGF0aW9uKGNvbnRyb2wgOiBBYnN0cmFjdENvbnRyb2wsIG5ld1ZhbGlkYXRvciA6IFZhbGlkYXRvckZuICB8IFZhbGlkYXRvckZuW10gfCBudWxsKXtcclxuICAgIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyhuZXdWYWxpZGF0b3IpO1xyXG4gICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgfVxyXG5cclxuICBjbGVhclZhbGlkYXRpb24oY29udHJvbCA6IEFic3RyYWN0Q29udHJvbCl7XHJcbiAgICBjb250cm9sLmNsZWFyVmFsaWRhdG9ycygpO1xyXG4gICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgfVxyXG5cclxuICBzZXRSZXF1aXJlZFZhbGlkYXRvcihjb250cm9sIDogQWJzdHJhY3RDb250cm9sKXtcclxuICAgIHRoaXMuc2V0VmFsaWRhdGlvbihjb250cm9sLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICB9XHJcblxyXG4gIC8vIEBkeW5hbWljXHJcbiAgc3RhdGljIHBhdHRlcm5WYWxpZGF0b3IocmVnZXg6IFJlZ0V4cCwgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICBjb25zdCByZXMgPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9PiB7XHJcbiAgICAgIGlmICghY29udHJvbC52YWx1ZSkge1xyXG4gICAgICAgIC8vIGlmIGNvbnRyb2wgaXMgZW1wdHkgcmV0dXJuIG5vIGVycm9yXHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICBcclxuICAgICAgLy8gdGVzdCB0aGUgdmFsdWUgb2YgdGhlIGNvbnRyb2wgYWdhaW5zdCB0aGUgcmVnZXhwIHN1cHBsaWVkXHJcbiAgICAgIGNvbnN0IHZhbGlkID0gcmVnZXgudGVzdChjb250cm9sLnZhbHVlKTtcclxuICBcclxuICAgICAgLy8gaWYgdHJ1ZSwgcmV0dXJuIG5vIGVycm9yIChubyBlcnJvciksIGVsc2UgcmV0dXJuIGVycm9yIHBhc3NlZCBpbiB0aGUgc2Vjb25kIHBhcmFtZXRlclxyXG4gICAgICByZXR1cm4gdmFsaWQgPyBudWxsIDogZXJyb3I7XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHJlcztcclxuICB9XHJcblxyXG4gIHN0YXRpYyBwYXNzd29yZE1hdGNoVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xyXG4gICAgY29uc3QgcGFzc3dvcmQ6IHN0cmluZyA9IGNvbnRyb2wuZ2V0KCdwYXNzd29yZCcpLnZhbHVlOyAvLyBnZXQgcGFzc3dvcmQgZnJvbSBvdXIgcGFzc3dvcmQgZm9ybSBjb250cm9sXHJcbiAgICBjb25zdCBjb25maXJtUGFzc3dvcmQ6IHN0cmluZyA9IGNvbnRyb2wuZ2V0KCdjb25maXJtUGFzc3dvcmQnKS52YWx1ZTsgLy8gZ2V0IHBhc3N3b3JkIGZyb20gb3VyIGNvbmZpcm1QYXNzd29yZCBmb3JtIGNvbnRyb2xcclxuICAgIC8vIGNvbXBhcmUgaXMgdGhlIHBhc3N3b3JkIG1hdGhcclxuICAgIGlmIChwYXNzd29yZCAhPT0gY29uZmlybVBhc3N3b3JkKSB7XHJcbiAgICAgIC8vIGlmIHRoZXkgZG9uJ3QgbWF0Y2gsIHNldCBhbiBlcnJvciBpbiBvdXIgY29uZmlybVBhc3N3b3JkIGZvcm0gY29udHJvbFxyXG4gICAgICBjb250cm9sLmdldCgnY29uZmlybVBhc3N3b3JkJykuc2V0RXJyb3JzKHsgTm9QYXNzc3dvcmRNYXRjaDogdHJ1ZSB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvcm1hdFNzbihzc24gOiBzdHJpbmcpe1xyXG4gICAgcmV0dXJuIHNzbi5zdWJzdHIoMCwgMykgKyAnLScgKyBzc24uc3Vic3RyKDMsIDIpICsgJy0nICsgc3NuLnN1YnN0cig1LCA0KVxyXG4gIH1cclxuXHJcbiAgbWFza1Nzbihzc24gOiBzdHJpbmcpe1xyXG4gICAgcmV0dXJuICdYWFgtWFgtJyArIHNzbi5zdWJzdHIoNSwgNClcclxuICB9XHJcblxyXG4gIG1hc2sodmFsdWUgOiBzdHJpbmcsIGNoYXJUb0hpZGUgOiBudW1iZXIpe1xyXG4gICAgaWYoIXZhbHVlKXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYodmFsdWUubGVuZ3RoID4gY2hhclRvSGlkZSl7XHJcbiAgICAgIHZhciB4eHggPSAnJztcclxuICAgICAgZm9yKHZhciBjb3VudCA9IDEgOyBjb3VudCA8PSBjaGFyVG9IaWRlIDsgY291bnQrKyl7XHJcbiAgICAgICAgeHh4ID0gJ1gnICsgeHh4O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB4eHggKyB2YWx1ZS5zdWJzdHIodmFsdWUubGVuZ3RoIC0gY2hhclRvSGlkZSArIDEsIGNoYXJUb0hpZGUpXHJcbiAgICB9ZWxzZXtcclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXJNZXNzYWdlcygpe1xyXG4gICAgdGhpcy5tc2dzID0gW107XHJcbiAgfVxyXG5cclxuICBpc1N0YXRlKHN0YXRlIDogc3RyaW5nKSA6IGJvb2xlYW57XHJcbiAgICByZXR1cm4gdGhpcy5nZXRTdGF0ZUxvd2VyY2FzZSgpID09IHN0YXRlLnRvTG93ZXJDYXNlKCk7XHJcbiAgfVxyXG5cclxuICBnZXRTdGF0ZSgpe1xyXG4gICAgcmV0dXJuIExpYkNvbnN0YW50cy5TVEFURTtcclxuICB9XHJcblxyXG4gIGdldFN0YXRlTG93ZXJjYXNlKCl7XHJcbiAgICByZXR1cm4gTGliQ29uc3RhbnRzLnN0YXRlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldHVwTmF2aWdhdGlvbkJhc2VkRXZlbnRzKCkge1xyXG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShcclxuICAgICAgdmFsID0+IHtcclxuICAgICAgICBpZiAodmFsIGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XHJcbiAgICAgICAgICB0aGlzLm1zZ3MgPSBbXTtcclxuICAgICAgICAgIHRoaXMubXNnU2VydmljZS5jbGVhcigpOyAvL0NsZWFyIEVycm9yL1N1Y2Nlc3MgTWVzc2FnZXNcclxuICAgICAgICAgIHRoaXMudG91clNlcnZpY2Uuc2V0Q3VycmVudFN0ZXBzQ291bnQoMjApOyAvL0pveXJpZGUgU2V0dXBcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHZhbCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcclxuICAgICAgICAgIGd0YWcoJ2NvbmZpZycsIExpYkNvbnN0YW50cy5nYUlkLCB7ICdwYWdlX3BhdGgnOiB2YWwudXJsQWZ0ZXJSZWRpcmVjdHMgfSk7IC8vU2VuZCB0byBHb29sZSBBbmFseXRpY3NcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHZhbCBpbnN0YW5jZW9mIEFjdGl2YXRpb25FbmQpIHtcclxuICAgICAgICAgIHRoaXMuc2V0UGFnZVRpdGxlKHZhbC5zbmFwc2hvdCk7IC8vU2V0IFBhZ2UgVGl0bGVcclxuICAgICAgICAgIHRoaXMudG91clNlcnZpY2Uuc2V0U2V0cHNDb3VudCh2YWwuc25hcHNob3QuZGF0YVsncGFnZUlkJ10pO1xyXG4gICAgICAgICAgdGhpcy5oaWRlTG9hZGVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFBhZ2VUaXRsZShzbmFwc2hvdCkge1xyXG4gICAgbGV0IHRpdGxlID0gc25hcHNob3QuZGF0YVsndGl0bGUnXTtcclxuICAgIGlmICh0aXRsZSkge1xyXG4gICAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRUaXRsZSh0aXRsZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aHJvdyBcIlBsZWFzZSBzcGVjaWZ5IHBhZ2UgdGl0bGUgaW4gYXBwLXJvdXRpbmcubW9kdWxlLnRzIGZpbGUgZm9yIHBhZ2UgOjogXCIgKyB0aGlzLmFyLmZpcnN0Q2hpbGQuc25hcHNob3QudXJsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGRlY3JpcHRpb24gVGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gY29udGV4dCByb290IG9mIHRoZSBhcHBsaWNhdGlvblxyXG4gICAqIEBhdXRob3IgUHJlcmFrIFRpd2FyaVxyXG4gICAqIEB2ZXJzaW9uIDEuMFxyXG4gICAqIEBwYXJhbSB2YWx1ZSA6IGNvbnRleHQgcm9vdCBvZiBhcHBsaWNhdGlvbi4gZS5nIGlmIGFwcGxpY2F0aW9uIGlzIHJ1bm5pbmcgb24gJ2h0dHA6Ly9sb2NhbGhvc3Q6OTA4MC9jcC9wYWdlJyB0aGVuIHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuICdjcCdcclxuICAgKiBAcmV0dXJucyBTdHJpbmdcclxuICAgKiovXHJcbiAgZ2V0Q29udGV4dFJvb3QoKSA6IHN0cmluZ3tcclxuICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3Vic3RyaW5nKDAsIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5pbmRleE9mKFwiL1wiLDIpKTtcclxuICB9XHJcblxyXG4gIGdldENsYWltYW50QXBwQ29udGV4dFJvb3QoKSA6IHN0cmluZ3tcclxuICAgIHJldHVybiBcIi9jcFwiO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VjdXJpdHlBcHBDb250ZXh0Um9vdCgpIDogc3RyaW5ne1xyXG4gICAgcmV0dXJuIFwiL3NzXCI7XHJcbiAgfVxyXG5cclxuXHJcbiAgb3BlblBhZ2VCeUNvbnRleHRSb290KGNvbnRleHQ6IHN0cmluZywgdXJpOiBzdHJpbmcsIG5hdj86IE5hdkNvbnRyb2xsZXIpe1xyXG4gICAgaWYoIWNvbnRleHQuc3RhcnRzV2l0aCgnLycpKXtcclxuICAgICAgY29udGV4dCA9ICcvJyArIGNvbnRleHQ7XHJcbiAgICB9XHJcbiAgICBpZihuYXYgJiYgY29udGV4dC5pbmNsdWRlcyh0aGlzLmdldENvbnRleHRSb290KCkpKXtcclxuICAgICAgbmF2Lm5hdmlnYXRlRm9yd2FyZCh1cmkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgd2luZG93Lm9wZW4obG9jYXRpb24ub3JpZ2luICsgYCR7Y29udGV4dH0vJHt1cml9YCAsICdfc2VsZicpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3BlblBhZ2VCeUNvbnRleHRSb290V2l0aERhdGEoY29udGV4dDogc3RyaW5nLCB1cmk6IHN0cmluZywgZGF0YSwgbmF2PzogTmF2Q29udHJvbGxlcil7XHJcbiAgICBpZighY29udGV4dC5zdGFydHNXaXRoKCcvJykpe1xyXG4gICAgICBjb250ZXh0ID0gJy8nICsgY29udGV4dDtcclxuICAgIH1cclxuICAgIGxldCBzZXBhcmF0b3IgPSAnJic7XHJcbiAgICBpZighdXJpLmluY2x1ZGVzKCc/Jykpe1xyXG4gICAgICBzZXBhcmF0b3IgPSBcIj9cIjtcclxuICAgIH1cclxuICAgIGlmKG5hdiAmJiBjb250ZXh0LmluY2x1ZGVzKHRoaXMuZ2V0Q29udGV4dFJvb3QoKSkpe1xyXG4gICAgICBuYXYubmF2aWdhdGVGb3J3YXJkKGAke3VyaX0ke3NlcGFyYXRvcn1kYXRhPSR7YnRvYShKU09OLnN0cmluZ2lmeShkYXRhKSl9YCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB3aW5kb3cub3Blbihsb2NhdGlvbi5vcmlnaW4gKyBgJHtjb250ZXh0fS8ke3VyaX0ke3NlcGFyYXRvcn1kYXRhPSR7YnRvYShKU09OLnN0cmluZ2lmeShkYXRhKSl9YCwnX3NlbGYnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG1hc2tFeGNlcHRGaXJzdEFuZExhc3RDaGFyKHZhbHVlIDogc3RyaW5nKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZVswXSArIFwiKlwiLnJlcGVhdCh2YWx1ZS5sZW5ndGggLSAyKSArIHZhbHVlLnNsaWNlKC0xKTtcclxuICB9XHJcblxyXG4gIG1hc2tFbWFpbChlbWFpbCA6IHN0cmluZyl7XHJcbiAgICB2YXIgcGFydHMgPSBlbWFpbC5zcGxpdChcIkBcIik7XHJcbiAgICBpZihwYXJ0cy5sZW5ndGggPT0gMil7XHJcbiAgICAgIHJldHVybiB0aGlzLm1hc2tFeGNlcHRGaXJzdEFuZExhc3RDaGFyKHBhcnRzWzBdKSArIFwiQFwiICsgdGhpcy5tYXNrRXhjZXB0Rmlyc3RBbmRMYXN0Q2hhcihwYXJ0c1sxXSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5tYXNrRXhjZXB0Rmlyc3RBbmRMYXN0Q2hhcihwYXJ0c1swXSk7XHJcbiAgfVxyXG5cclxuICBpc1BsYXlmb3JtQ2FwYWNpdG9yKCl7XHJcbiAgICByZXR1cm4gdGhpcy5wbGF0Zm9ybS5pcygnY2FwYWNpdG9yJyk7XHJcbiAgfVxyXG5cclxuICBpc05ld1Bhc3N3b3JkUG9saWN5RW5hYmxlZCgpIDogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gTGliQ29uc3RhbnRzLmlzTmV3UGFzc3dvcmRQb2xpY3lFbmFibGVkID09ICd0cnVlJztcclxuICB9XHJcblxyXG4gIGlzU2FtZVN5bWJvbFBvbGljeUZvckNsYWltYW50QW5kQWdlbmN5KCkgOiBib29sZWFuIHtcclxuICAgIHJldHVybiBMaWJDb25zdGFudHMuaXNTYW1lU3ltYm9sUG9saWN5Rm9yQ2xhaW1hbnRBbmRBZ2VuY3kgPT0gJ3RydWUnO1xyXG4gIH1cclxuXHJcbiAgZm9jdXNPblN1Ym1pdChlbDogRWxlbWVudFJlZil7XHJcbiAgICB2YXIgZWxlbWVudCA9IGVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcclxuICAgICAgdGhpcy5mb2N1c2FibGVzLm1hcCh4ID0+IGAke3h9Lm5nLWludmFsaWRgKS5qb2luKFwiLFwiKVxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAoZWxlbWVudCkge1xyXG4gICAgICB2YXIgcHJpbWVOZ0NvbXBvbmVudCA9IGVsZW1lbnQucXVlcnlTZWxlY3RvcihcclxuICAgICAgICB0aGlzLmZvY3VzYWJsZXMubWFwKHggPT4gYCR7eH0ucC1jb21wb25lbnRgKS5qb2luKFwiLFwiKVxyXG4gICAgICApO1xyXG4gICAgICBpZiAocHJpbWVOZ0NvbXBvbmVudCkge1xyXG4gICAgICAgIHByaW1lTmdDb21wb25lbnQuZm9jdXMoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBlbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vQmxvY2sgZm9yIFJhZGlvIEJ1dHRvbiBTdGFydFxyXG4gICAgICB2YXIgcHJpbWVOZ0NvbXBvbmVudDEgPSBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCJkaXYucC1zZWxlY3RidXR0b25cIik7XHJcbiAgICAgIGlmIChwcmltZU5nQ29tcG9uZW50MSkge1xyXG4gICAgICAgIHZhciBwcmltZU5nQ29tcG9uZW50MiA9IHByaW1lTmdDb21wb25lbnQxLnF1ZXJ5U2VsZWN0b3IoXCJkaXYucC1jb21wb25lbnRcIik7XHJcbiAgICAgICAgaWYgKHByaW1lTmdDb21wb25lbnQyKSB7XHJcbiAgICAgICAgICBwcmltZU5nQ29tcG9uZW50Mi5mb2N1cygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvL0Jsb2NrIGZvciBSYWRpbyBCdXR0b24gRW5kXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==