@hmcts/ccpay-web-component 5.0.8-beta12 → 5.0.8-beta14

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 (389) hide show
  1. package/bundles/hmcts-ccpay-web-component.umd.js +1423 -1096
  2. package/bundles/hmcts-ccpay-web-component.umd.js.map +1 -1
  3. package/bundles/hmcts-ccpay-web-component.umd.min.js +15 -1
  4. package/bundles/hmcts-ccpay-web-component.umd.min.js.map +1 -1
  5. package/esm2015/hmcts-ccpay-web-component.js +1 -1
  6. package/esm2015/lib/components/add-remission/add-remission.component.js +136 -42
  7. package/esm2015/lib/components/allocate-payments/allocate-payments.component.js +28 -15
  8. package/esm2015/lib/components/card-details/card-details.component.js +14 -10
  9. package/esm2015/lib/components/case-transactions/case-transactions.component.js +26 -14
  10. package/esm2015/lib/components/error-banner/error-banner.component.js +16 -13
  11. package/esm2015/lib/components/fee-summary/fee-summary.component.js +34 -16
  12. package/esm2015/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.js +21 -14
  13. package/esm2015/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.js +21 -14
  14. package/esm2015/lib/components/page-not-found.component.js +10 -8
  15. package/esm2015/lib/components/payment-list/payment-list.component.js +14 -10
  16. package/esm2015/lib/components/payment-view/payment-view.component.js +80 -28
  17. package/esm2015/lib/components/pba-details/pba-details.component.js +16 -13
  18. package/esm2015/lib/components/pba-payment/pba-payment.component.js +18 -13
  19. package/esm2015/lib/components/process-refund/process-refund.component.js +27 -15
  20. package/esm2015/lib/components/processed-payments/processed-payments.component.js +22 -14
  21. package/esm2015/lib/components/refund-list/refund-list.component.js +25 -15
  22. package/esm2015/lib/components/refund-status/refund-status.component.js +39 -18
  23. package/esm2015/lib/components/reports/reports.component.js +22 -14
  24. package/esm2015/lib/components/service-request/service-request.component.js +76 -27
  25. package/esm2015/lib/components/status-history/status-history.component.js +18 -13
  26. package/esm2015/lib/components/table/table.component.js +37 -17
  27. package/esm2015/lib/components/unprocessed-payments/unprocessed-payments.component.js +57 -22
  28. package/esm2015/lib/interfaces/AddRemissionRequest.js +1 -1
  29. package/esm2015/lib/interfaces/AddRetroRemissionRequest.js +1 -1
  30. package/esm2015/lib/interfaces/AllocatePaymentRequest.js +1 -1
  31. package/esm2015/lib/interfaces/IAllocationPaymentsRequest.js +1 -1
  32. package/esm2015/lib/interfaces/IBSPayments.js +1 -2
  33. package/esm2015/lib/interfaces/ICardDetails.js +1 -2
  34. package/esm2015/lib/interfaces/IFee.js +1 -2
  35. package/esm2015/lib/interfaces/IOrderReferenceFee.js +1 -2
  36. package/esm2015/lib/interfaces/IPatchRefundAction.js +1 -2
  37. package/esm2015/lib/interfaces/IPayment.js +1 -2
  38. package/esm2015/lib/interfaces/IPaymentFailure.js +1 -2
  39. package/esm2015/lib/interfaces/IPaymentGroup.js +1 -2
  40. package/esm2015/lib/interfaces/IPaymentStatus.js +1 -1
  41. package/esm2015/lib/interfaces/IPaymentView.js +1 -2
  42. package/esm2015/lib/interfaces/IPayments.js +1 -2
  43. package/esm2015/lib/interfaces/IRefundAction.js +1 -2
  44. package/esm2015/lib/interfaces/IRefundList.js +1 -2
  45. package/esm2015/lib/interfaces/IRefundReasons.js +1 -2
  46. package/esm2015/lib/interfaces/IRefundRejectReason.js +1 -2
  47. package/esm2015/lib/interfaces/IRefundStatus.js +1 -2
  48. package/esm2015/lib/interfaces/IRefundStatusHistory.js +1 -2
  49. package/esm2015/lib/interfaces/IRemission.js +1 -2
  50. package/esm2015/lib/interfaces/IResubmitRefundRequest.js +1 -1
  51. package/esm2015/lib/interfaces/IStatusHistories.js +1 -2
  52. package/esm2015/lib/interfaces/IStatusHistory.js +1 -2
  53. package/esm2015/lib/interfaces/IserviceRequestCardPayment.js +1 -1
  54. package/esm2015/lib/interfaces/IserviceRequestPbaPayment.js +1 -1
  55. package/esm2015/lib/interfaces/IssueRefundRequest.js +1 -1
  56. package/esm2015/lib/interfaces/PayhubAntennaRequest.js +1 -1
  57. package/esm2015/lib/interfaces/PaymentToPayhubRequest.js +1 -1
  58. package/esm2015/lib/interfaces/PostIssueRefundRetroRemission.js +1 -1
  59. package/esm2015/lib/interfaces/PostRefundRetroRemission.js +1 -1
  60. package/esm2015/lib/interfaces/RefundsRequest.js +1 -1
  61. package/esm2015/lib/interfaces/UnidentifiedPaymentsRequest.js +1 -1
  62. package/esm2015/lib/interfaces/UnsolicitedPaymentsRequest.js +1 -1
  63. package/esm2015/lib/payment-lib.component.js +120 -42
  64. package/esm2015/lib/payment-lib.module.js +55 -53
  65. package/esm2015/lib/payment-lib.service.js +11 -9
  66. package/esm2015/lib/pipes/capitalize.pipe.js +11 -9
  67. package/esm2015/lib/pipes/ccd-hyphens.pipe.js +11 -9
  68. package/esm2015/lib/pipes/key-value.pipe.js +11 -9
  69. package/esm2015/lib/pipes/sanitize-html.pipe.js +10 -7
  70. package/esm2015/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.js +15 -9
  71. package/esm2015/lib/services/card-details/card-details.service.js +15 -9
  72. package/esm2015/lib/services/case-transactions/case-transactions.service.js +15 -9
  73. package/esm2015/lib/services/orderslist.service.js +11 -9
  74. package/esm2015/lib/services/payment-list/payment-list.service.js +15 -9
  75. package/esm2015/lib/services/payment-view/payment-view.service.js +17 -10
  76. package/esm2015/lib/services/refunds/refunds.service.js +16 -9
  77. package/esm2015/lib/services/shared/error-handler.service.js +11 -9
  78. package/esm2015/lib/services/shared/httpclient/webcomponent.http.client.js +10 -6
  79. package/esm2015/lib/services/shared/logger/console-logger.service.js +10 -8
  80. package/esm2015/lib/services/shared/logger/logger.service.js +10 -8
  81. package/esm2015/lib/services/status-history/status-history.service.js +15 -9
  82. package/esm2015/lib/services/xl-file/xl-file.service.js +9 -7
  83. package/esm2015/public_api.js +1 -1
  84. package/esm5/hmcts-ccpay-web-component.js +44 -0
  85. package/esm5/lib/components/add-remission/add-remission.component.js +790 -0
  86. package/esm5/lib/components/allocate-payments/allocate-payments.component.js +401 -0
  87. package/esm5/lib/components/card-details/card-details.component.js +38 -0
  88. package/esm5/lib/components/case-transactions/case-transactions.component.js +754 -0
  89. package/esm5/lib/components/error-banner/error-banner.component.js +23 -0
  90. package/esm5/lib/components/fee-summary/fee-summary.component.js +254 -0
  91. package/esm5/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.js +194 -0
  92. package/esm5/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.js +249 -0
  93. package/esm5/lib/components/page-not-found.component.js +14 -0
  94. package/esm5/lib/components/payment-list/payment-list.component.js +37 -0
  95. package/esm5/lib/components/payment-view/payment-view.component.js +368 -0
  96. package/esm5/lib/components/pba-details/pba-details.component.js +23 -0
  97. package/esm5/lib/components/pba-payment/pba-payment.component.js +150 -0
  98. package/esm5/lib/components/process-refund/process-refund.component.js +310 -0
  99. package/esm5/lib/components/processed-payments/processed-payments.component.js +43 -0
  100. package/esm5/lib/components/refund-list/refund-list.component.js +71 -0
  101. package/esm5/lib/components/refund-status/refund-status.component.js +291 -0
  102. package/esm5/lib/components/reports/reports.component.js +289 -0
  103. package/esm5/lib/components/service-request/service-request.component.js +351 -0
  104. package/esm5/lib/components/status-history/status-history.component.js +35 -0
  105. package/esm5/lib/components/table/table.component.js +120 -0
  106. package/esm5/lib/components/unprocessed-payments/unprocessed-payments.component.js +235 -0
  107. package/esm5/lib/interfaces/AddRemissionRequest.js +12 -0
  108. package/esm5/lib/interfaces/AddRetroRemissionRequest.js +9 -0
  109. package/esm5/lib/interfaces/AllocatePaymentRequest.js +29 -0
  110. package/esm5/lib/interfaces/IAllocationPaymentsRequest.js +16 -0
  111. package/esm5/lib/interfaces/IBSPayments.js +1 -0
  112. package/esm5/lib/interfaces/ICardDetails.js +1 -0
  113. package/esm5/lib/interfaces/IFee.js +1 -0
  114. package/esm5/lib/interfaces/IOrderReferenceFee.js +1 -0
  115. package/esm5/lib/interfaces/IPatchRefundAction.js +1 -0
  116. package/esm5/lib/interfaces/IPayment.js +1 -0
  117. package/esm5/lib/interfaces/IPaymentFailure.js +1 -0
  118. package/esm5/lib/interfaces/IPaymentGroup.js +1 -0
  119. package/esm5/lib/interfaces/IPaymentStatus.js +7 -0
  120. package/esm5/lib/interfaces/IPaymentView.js +1 -0
  121. package/esm5/lib/interfaces/IPayments.js +1 -0
  122. package/esm5/lib/interfaces/IRefundAction.js +1 -0
  123. package/esm5/lib/interfaces/IRefundList.js +1 -0
  124. package/esm5/lib/interfaces/IRefundReasons.js +1 -0
  125. package/esm5/lib/interfaces/IRefundRejectReason.js +1 -0
  126. package/esm5/lib/interfaces/IRefundStatus.js +1 -0
  127. package/esm5/lib/interfaces/IRefundStatusHistory.js +1 -0
  128. package/esm5/lib/interfaces/IRemission.js +1 -0
  129. package/esm5/lib/interfaces/IResubmitRefundRequest.js +9 -0
  130. package/esm5/lib/interfaces/IStatusHistories.js +1 -0
  131. package/esm5/lib/interfaces/IStatusHistory.js +1 -0
  132. package/esm5/lib/interfaces/IserviceRequestCardPayment.js +10 -0
  133. package/esm5/lib/interfaces/IserviceRequestPbaPayment.js +12 -0
  134. package/esm5/lib/interfaces/IssueRefundRequest.js +10 -0
  135. package/esm5/lib/interfaces/PayhubAntennaRequest.js +11 -0
  136. package/esm5/lib/interfaces/PaymentToPayhubRequest.js +14 -0
  137. package/esm5/lib/interfaces/PostIssueRefundRetroRemission.js +8 -0
  138. package/esm5/lib/interfaces/PostRefundRetroRemission.js +9 -0
  139. package/esm5/lib/interfaces/RefundsRequest.js +9 -0
  140. package/esm5/lib/interfaces/UnidentifiedPaymentsRequest.js +14 -0
  141. package/esm5/lib/interfaces/UnsolicitedPaymentsRequest.js +17 -0
  142. package/esm5/lib/payment-lib.component.js +168 -0
  143. package/esm5/lib/payment-lib.module.js +100 -0
  144. package/esm5/lib/payment-lib.service.js +41 -0
  145. package/esm5/lib/pipes/capitalize.pipe.js +18 -0
  146. package/esm5/lib/pipes/ccd-hyphens.pipe.js +22 -0
  147. package/esm5/lib/pipes/key-value.pipe.js +24 -0
  148. package/esm5/lib/pipes/sanitize-html.pipe.js +21 -0
  149. package/esm5/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.js +94 -0
  150. package/esm5/lib/services/card-details/card-details.service.js +46 -0
  151. package/esm5/lib/services/case-transactions/case-transactions.service.js +46 -0
  152. package/esm5/lib/services/orderslist.service.js +157 -0
  153. package/esm5/lib/services/payment-list/payment-list.service.js +46 -0
  154. package/esm5/lib/services/payment-view/payment-view.service.js +150 -0
  155. package/esm5/lib/services/refunds/refunds.service.js +122 -0
  156. package/esm5/lib/services/shared/error-handler.service.js +101 -0
  157. package/esm5/lib/services/shared/httpclient/webcomponent.http.client.js +66 -0
  158. package/esm5/lib/services/shared/logger/console-logger.service.js +60 -0
  159. package/esm5/lib/services/shared/logger/logger.service.js +26 -0
  160. package/esm5/lib/services/status-history/status-history.service.js +48 -0
  161. package/esm5/lib/services/xl-file/xl-file.service.js +155 -0
  162. package/esm5/public_api.js +7 -0
  163. package/fesm2015/hmcts-ccpay-web-component.js +1051 -596
  164. package/fesm2015/hmcts-ccpay-web-component.js.map +1 -1
  165. package/fesm5/hmcts-ccpay-web-component.js +6381 -0
  166. package/fesm5/hmcts-ccpay-web-component.js.map +1 -0
  167. package/hmcts-ccpay-web-component.d.ts +0 -1
  168. package/hmcts-ccpay-web-component.metadata.json +1 -1
  169. package/lib/components/add-remission/add-remission.component.d.ts +0 -1
  170. package/lib/components/allocate-payments/allocate-payments.component.d.ts +0 -1
  171. package/lib/components/card-details/card-details.component.d.ts +0 -1
  172. package/lib/components/case-transactions/case-transactions.component.d.ts +1 -2
  173. package/lib/components/error-banner/error-banner.component.d.ts +0 -1
  174. package/lib/components/fee-summary/fee-summary.component.d.ts +0 -1
  175. package/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.d.ts +0 -1
  176. package/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.d.ts +0 -1
  177. package/lib/components/page-not-found.component.d.ts +0 -1
  178. package/lib/components/payment-list/payment-list.component.d.ts +0 -1
  179. package/lib/components/payment-view/payment-view.component.d.ts +0 -1
  180. package/lib/components/pba-details/pba-details.component.d.ts +0 -1
  181. package/lib/components/pba-payment/pba-payment.component.d.ts +0 -1
  182. package/lib/components/process-refund/process-refund.component.d.ts +0 -1
  183. package/lib/components/processed-payments/processed-payments.component.d.ts +0 -1
  184. package/lib/components/refund-list/refund-list.component.d.ts +0 -1
  185. package/lib/components/refund-status/refund-status.component.d.ts +0 -1
  186. package/lib/components/reports/reports.component.d.ts +0 -1
  187. package/lib/components/service-request/service-request.component.d.ts +0 -1
  188. package/lib/components/status-history/status-history.component.d.ts +0 -1
  189. package/lib/components/table/table.component.d.ts +0 -1
  190. package/lib/components/unprocessed-payments/unprocessed-payments.component.d.ts +0 -1
  191. package/lib/interfaces/AddRemissionRequest.d.ts +0 -1
  192. package/lib/interfaces/AddRetroRemissionRequest.d.ts +0 -1
  193. package/lib/interfaces/AllocatePaymentRequest.d.ts +0 -1
  194. package/lib/interfaces/IAllocationPaymentsRequest.d.ts +0 -1
  195. package/lib/interfaces/IBSPayments.d.ts +0 -1
  196. package/lib/interfaces/ICardDetails.d.ts +0 -1
  197. package/lib/interfaces/IFee.d.ts +0 -1
  198. package/lib/interfaces/IOrderReferenceFee.d.ts +0 -1
  199. package/lib/interfaces/IPatchRefundAction.d.ts +0 -1
  200. package/lib/interfaces/IPayment.d.ts +0 -1
  201. package/lib/interfaces/IPaymentFailure.d.ts +0 -1
  202. package/lib/interfaces/IPaymentGroup.d.ts +0 -1
  203. package/lib/interfaces/IPaymentStatus.d.ts +0 -1
  204. package/lib/interfaces/IPaymentView.d.ts +0 -1
  205. package/lib/interfaces/IPayments.d.ts +0 -1
  206. package/lib/interfaces/IRefundAction.d.ts +0 -1
  207. package/lib/interfaces/IRefundList.d.ts +0 -1
  208. package/lib/interfaces/IRefundReasons.d.ts +0 -1
  209. package/lib/interfaces/IRefundRejectReason.d.ts +0 -1
  210. package/lib/interfaces/IRefundStatus.d.ts +0 -1
  211. package/lib/interfaces/IRefundStatusHistory.d.ts +0 -1
  212. package/lib/interfaces/IRemission.d.ts +0 -1
  213. package/lib/interfaces/IResubmitRefundRequest.d.ts +0 -1
  214. package/lib/interfaces/IStatusHistories.d.ts +0 -1
  215. package/lib/interfaces/IStatusHistory.d.ts +0 -1
  216. package/lib/interfaces/IserviceRequestCardPayment.d.ts +0 -1
  217. package/lib/interfaces/IserviceRequestPbaPayment.d.ts +0 -1
  218. package/lib/interfaces/IssueRefundRequest.d.ts +0 -1
  219. package/lib/interfaces/PayhubAntennaRequest.d.ts +0 -1
  220. package/lib/interfaces/PaymentToPayhubRequest.d.ts +0 -1
  221. package/lib/interfaces/PostIssueRefundRetroRemission.d.ts +0 -1
  222. package/lib/interfaces/PostRefundRetroRemission.d.ts +0 -1
  223. package/lib/interfaces/RefundsRequest.d.ts +0 -1
  224. package/lib/interfaces/UnidentifiedPaymentsRequest.d.ts +0 -1
  225. package/lib/interfaces/UnsolicitedPaymentsRequest.d.ts +0 -1
  226. package/lib/payment-lib.component.d.ts +0 -1
  227. package/lib/payment-lib.module.d.ts +0 -1
  228. package/lib/payment-lib.service.d.ts +0 -1
  229. package/lib/pipes/capitalize.pipe.d.ts +0 -1
  230. package/lib/pipes/ccd-hyphens.pipe.d.ts +0 -1
  231. package/lib/pipes/key-value.pipe.d.ts +0 -1
  232. package/lib/pipes/sanitize-html.pipe.d.ts +0 -1
  233. package/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.d.ts +0 -1
  234. package/lib/services/card-details/card-details.service.d.ts +0 -1
  235. package/lib/services/case-transactions/case-transactions.service.d.ts +0 -1
  236. package/lib/services/orderslist.service.d.ts +0 -1
  237. package/lib/services/payment-list/payment-list.service.d.ts +0 -1
  238. package/lib/services/payment-view/payment-view.service.d.ts +0 -1
  239. package/lib/services/refunds/refunds.service.d.ts +0 -1
  240. package/lib/services/shared/error-handler.service.d.ts +0 -1
  241. package/lib/services/shared/httpclient/webcomponent.http.client.d.ts +0 -1
  242. package/lib/services/shared/logger/console-logger.service.d.ts +0 -1
  243. package/lib/services/shared/logger/logger.service.d.ts +0 -1
  244. package/lib/services/status-history/status-history.service.d.ts +0 -1
  245. package/lib/services/xl-file/xl-file.service.d.ts +0 -1
  246. package/package.json +6 -4
  247. package/public_api.d.ts +0 -1
  248. package/hmcts-ccpay-web-component.d.ts.map +0 -1
  249. package/lib/components/add-remission/add-remission.component.d.ts.map +0 -1
  250. package/lib/components/add-remission/add-remission.component.ngfactory.d.ts.map +0 -1
  251. package/lib/components/add-remission/add-remission.component.scss.shim.ngstyle.d.ts.map +0 -1
  252. package/lib/components/allocate-payments/allocate-payments.component.d.ts.map +0 -1
  253. package/lib/components/allocate-payments/allocate-payments.component.ngfactory.d.ts.map +0 -1
  254. package/lib/components/allocate-payments/allocate-payments.component.scss.shim.ngstyle.d.ts.map +0 -1
  255. package/lib/components/card-details/card-details.component.css.shim.ngstyle.d.ts.map +0 -1
  256. package/lib/components/card-details/card-details.component.d.ts.map +0 -1
  257. package/lib/components/card-details/card-details.component.ngfactory.d.ts.map +0 -1
  258. package/lib/components/case-transactions/case-transactions.component.css.shim.ngstyle.d.ts.map +0 -1
  259. package/lib/components/case-transactions/case-transactions.component.d.ts.map +0 -1
  260. package/lib/components/case-transactions/case-transactions.component.ngfactory.d.ts.map +0 -1
  261. package/lib/components/error-banner/error-banner.component.d.ts.map +0 -1
  262. package/lib/components/error-banner/error-banner.component.ngfactory.d.ts.map +0 -1
  263. package/lib/components/error-banner/error-banner.component.scss.shim.ngstyle.d.ts.map +0 -1
  264. package/lib/components/fee-summary/fee-summary.component.d.ts.map +0 -1
  265. package/lib/components/fee-summary/fee-summary.component.ngfactory.d.ts.map +0 -1
  266. package/lib/components/fee-summary/fee-summary.component.scss.shim.ngstyle.d.ts.map +0 -1
  267. package/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.d.ts.map +0 -1
  268. package/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.ngfactory.d.ts.map +0 -1
  269. package/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.scss.shim.ngstyle.d.ts.map +0 -1
  270. package/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.d.ts.map +0 -1
  271. package/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.ngfactory.d.ts.map +0 -1
  272. package/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.scss.shim.ngstyle.d.ts.map +0 -1
  273. package/lib/components/page-not-found.component.d.ts.map +0 -1
  274. package/lib/components/page-not-found.component.ngfactory.d.ts.map +0 -1
  275. package/lib/components/payment-list/payment-list.component.css.shim.ngstyle.d.ts.map +0 -1
  276. package/lib/components/payment-list/payment-list.component.d.ts.map +0 -1
  277. package/lib/components/payment-list/payment-list.component.ngfactory.d.ts.map +0 -1
  278. package/lib/components/payment-view/payment-view.component.css.shim.ngstyle.d.ts.map +0 -1
  279. package/lib/components/payment-view/payment-view.component.d.ts.map +0 -1
  280. package/lib/components/payment-view/payment-view.component.ngfactory.d.ts.map +0 -1
  281. package/lib/components/pba-details/pba-details.component.css.shim.ngstyle.d.ts.map +0 -1
  282. package/lib/components/pba-details/pba-details.component.d.ts.map +0 -1
  283. package/lib/components/pba-details/pba-details.component.ngfactory.d.ts.map +0 -1
  284. package/lib/components/pba-payment/pba-payment.component.d.ts.map +0 -1
  285. package/lib/components/pba-payment/pba-payment.component.ngfactory.d.ts.map +0 -1
  286. package/lib/components/pba-payment/pba-payment.component.scss.shim.ngstyle.d.ts.map +0 -1
  287. package/lib/components/process-refund/process-refund.component.css.shim.ngstyle.d.ts.map +0 -1
  288. package/lib/components/process-refund/process-refund.component.d.ts.map +0 -1
  289. package/lib/components/process-refund/process-refund.component.ngfactory.d.ts.map +0 -1
  290. package/lib/components/processed-payments/processed-payments.component.d.ts.map +0 -1
  291. package/lib/components/processed-payments/processed-payments.component.ngfactory.d.ts.map +0 -1
  292. package/lib/components/processed-payments/processed-payments.component.scss.shim.ngstyle.d.ts.map +0 -1
  293. package/lib/components/refund-list/refund-list.component.css.shim.ngstyle.d.ts.map +0 -1
  294. package/lib/components/refund-list/refund-list.component.d.ts.map +0 -1
  295. package/lib/components/refund-list/refund-list.component.ngfactory.d.ts.map +0 -1
  296. package/lib/components/refund-status/refund-status.component.css.shim.ngstyle.d.ts.map +0 -1
  297. package/lib/components/refund-status/refund-status.component.d.ts.map +0 -1
  298. package/lib/components/refund-status/refund-status.component.ngfactory.d.ts.map +0 -1
  299. package/lib/components/reports/reports.component.d.ts.map +0 -1
  300. package/lib/components/reports/reports.component.ngfactory.d.ts.map +0 -1
  301. package/lib/components/reports/reports.component.scss.shim.ngstyle.d.ts.map +0 -1
  302. package/lib/components/service-request/service-request.component.css.shim.ngstyle.d.ts.map +0 -1
  303. package/lib/components/service-request/service-request.component.d.ts.map +0 -1
  304. package/lib/components/service-request/service-request.component.ngfactory.d.ts.map +0 -1
  305. package/lib/components/status-history/status-history.component.css.shim.ngstyle.d.ts.map +0 -1
  306. package/lib/components/status-history/status-history.component.d.ts.map +0 -1
  307. package/lib/components/status-history/status-history.component.ngfactory.d.ts.map +0 -1
  308. package/lib/components/table/table.component.css.shim.ngstyle.d.ts.map +0 -1
  309. package/lib/components/table/table.component.d.ts.map +0 -1
  310. package/lib/components/table/table.component.ngfactory.d.ts.map +0 -1
  311. package/lib/components/unprocessed-payments/unprocessed-payments.component.d.ts.map +0 -1
  312. package/lib/components/unprocessed-payments/unprocessed-payments.component.ngfactory.d.ts.map +0 -1
  313. package/lib/components/unprocessed-payments/unprocessed-payments.component.scss.shim.ngstyle.d.ts.map +0 -1
  314. package/lib/interfaces/AddRemissionRequest.d.ts.map +0 -1
  315. package/lib/interfaces/AddRetroRemissionRequest.d.ts.map +0 -1
  316. package/lib/interfaces/AllocatePaymentRequest.d.ts.map +0 -1
  317. package/lib/interfaces/IAllocationPaymentsRequest.d.ts.map +0 -1
  318. package/lib/interfaces/IBSPayments.d.ts.map +0 -1
  319. package/lib/interfaces/ICardDetails.d.ts.map +0 -1
  320. package/lib/interfaces/IFee.d.ts.map +0 -1
  321. package/lib/interfaces/IOrderReferenceFee.d.ts.map +0 -1
  322. package/lib/interfaces/IPatchRefundAction.d.ts.map +0 -1
  323. package/lib/interfaces/IPayment.d.ts.map +0 -1
  324. package/lib/interfaces/IPaymentFailure.d.ts.map +0 -1
  325. package/lib/interfaces/IPaymentGroup.d.ts.map +0 -1
  326. package/lib/interfaces/IPaymentStatus.d.ts.map +0 -1
  327. package/lib/interfaces/IPaymentView.d.ts.map +0 -1
  328. package/lib/interfaces/IPayments.d.ts.map +0 -1
  329. package/lib/interfaces/IRefundAction.d.ts.map +0 -1
  330. package/lib/interfaces/IRefundList.d.ts.map +0 -1
  331. package/lib/interfaces/IRefundReasons.d.ts.map +0 -1
  332. package/lib/interfaces/IRefundRejectReason.d.ts.map +0 -1
  333. package/lib/interfaces/IRefundStatus.d.ts.map +0 -1
  334. package/lib/interfaces/IRefundStatusHistory.d.ts.map +0 -1
  335. package/lib/interfaces/IRemission.d.ts.map +0 -1
  336. package/lib/interfaces/IResubmitRefundRequest.d.ts.map +0 -1
  337. package/lib/interfaces/IStatusHistories.d.ts.map +0 -1
  338. package/lib/interfaces/IStatusHistory.d.ts.map +0 -1
  339. package/lib/interfaces/IserviceRequestCardPayment.d.ts.map +0 -1
  340. package/lib/interfaces/IserviceRequestPbaPayment.d.ts.map +0 -1
  341. package/lib/interfaces/IssueRefundRequest.d.ts.map +0 -1
  342. package/lib/interfaces/PayhubAntennaRequest.d.ts.map +0 -1
  343. package/lib/interfaces/PaymentToPayhubRequest.d.ts.map +0 -1
  344. package/lib/interfaces/PostIssueRefundRetroRemission.d.ts.map +0 -1
  345. package/lib/interfaces/PostRefundRetroRemission.d.ts.map +0 -1
  346. package/lib/interfaces/RefundsRequest.d.ts.map +0 -1
  347. package/lib/interfaces/UnidentifiedPaymentsRequest.d.ts.map +0 -1
  348. package/lib/interfaces/UnsolicitedPaymentsRequest.d.ts.map +0 -1
  349. package/lib/payment-lib.component.d.ts.map +0 -1
  350. package/lib/payment-lib.component.ngfactory.d.ts.map +0 -1
  351. package/lib/payment-lib.module.d.ts.map +0 -1
  352. package/lib/payment-lib.module.ngfactory.d.ts.map +0 -1
  353. package/lib/payment-lib.service.d.ts.map +0 -1
  354. package/lib/payment-lib.service.ngfactory.d.ts.map +0 -1
  355. package/lib/pipes/capitalize.pipe.d.ts.map +0 -1
  356. package/lib/pipes/capitalize.pipe.ngfactory.d.ts.map +0 -1
  357. package/lib/pipes/ccd-hyphens.pipe.d.ts.map +0 -1
  358. package/lib/pipes/ccd-hyphens.pipe.ngfactory.d.ts.map +0 -1
  359. package/lib/pipes/key-value.pipe.d.ts.map +0 -1
  360. package/lib/pipes/key-value.pipe.ngfactory.d.ts.map +0 -1
  361. package/lib/pipes/sanitize-html.pipe.d.ts.map +0 -1
  362. package/lib/pipes/sanitize-html.pipe.ngfactory.d.ts.map +0 -1
  363. package/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.d.ts.map +0 -1
  364. package/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.ngfactory.d.ts.map +0 -1
  365. package/lib/services/card-details/card-details.service.d.ts.map +0 -1
  366. package/lib/services/card-details/card-details.service.ngfactory.d.ts.map +0 -1
  367. package/lib/services/case-transactions/case-transactions.service.d.ts.map +0 -1
  368. package/lib/services/case-transactions/case-transactions.service.ngfactory.d.ts.map +0 -1
  369. package/lib/services/orderslist.service.d.ts.map +0 -1
  370. package/lib/services/orderslist.service.ngfactory.d.ts.map +0 -1
  371. package/lib/services/payment-list/payment-list.service.d.ts.map +0 -1
  372. package/lib/services/payment-list/payment-list.service.ngfactory.d.ts.map +0 -1
  373. package/lib/services/payment-view/payment-view.service.d.ts.map +0 -1
  374. package/lib/services/payment-view/payment-view.service.ngfactory.d.ts.map +0 -1
  375. package/lib/services/refunds/refunds.service.d.ts.map +0 -1
  376. package/lib/services/refunds/refunds.service.ngfactory.d.ts.map +0 -1
  377. package/lib/services/shared/error-handler.service.d.ts.map +0 -1
  378. package/lib/services/shared/error-handler.service.ngfactory.d.ts.map +0 -1
  379. package/lib/services/shared/httpclient/webcomponent.http.client.d.ts.map +0 -1
  380. package/lib/services/shared/httpclient/webcomponent.http.client.ngfactory.d.ts.map +0 -1
  381. package/lib/services/shared/logger/console-logger.service.d.ts.map +0 -1
  382. package/lib/services/shared/logger/console-logger.service.ngfactory.d.ts.map +0 -1
  383. package/lib/services/shared/logger/logger.service.d.ts.map +0 -1
  384. package/lib/services/shared/logger/logger.service.ngfactory.d.ts.map +0 -1
  385. package/lib/services/status-history/status-history.service.d.ts.map +0 -1
  386. package/lib/services/status-history/status-history.service.ngfactory.d.ts.map +0 -1
  387. package/lib/services/xl-file/xl-file.service.d.ts.map +0 -1
  388. package/lib/services/xl-file/xl-file.service.ngfactory.d.ts.map +0 -1
  389. package/public_api.d.ts.map +0 -1
@@ -0,0 +1,194 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Component, Input } from '@angular/core';
3
+ import { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';
4
+ import { PaymentLibComponent } from '../../payment-lib.component';
5
+ import { PaymentViewService } from '../../services/payment-view/payment-view.service';
6
+ import { BulkScaningPaymentService } from '../../services/bulk-scaning-payment/bulk-scaning-payment.service';
7
+ import { UnidentifiedPaymentsRequest } from '../../interfaces/UnidentifiedPaymentsRequest';
8
+ import { AllocatePaymentRequest } from '../../interfaces/AllocatePaymentRequest';
9
+ var MarkUnidentifiedPaymentComponent = /** @class */ (function () {
10
+ function MarkUnidentifiedPaymentComponent(formBuilder, paymentViewService, paymentLibComponent, bulkScaningPaymentService) {
11
+ this.formBuilder = formBuilder;
12
+ this.paymentViewService = paymentViewService;
13
+ this.paymentLibComponent = paymentLibComponent;
14
+ this.bulkScaningPaymentService = bulkScaningPaymentService;
15
+ this.isInvesticationDetailEmpty = false;
16
+ this.investicationDetailHasError = false;
17
+ this.investicationDetailMinHasError = false;
18
+ this.investicationDetailMaxHasError = false;
19
+ this.errorMessage = this.getErrorMessage(false);
20
+ this.siteID = null;
21
+ this.isConfirmButtondisabled = false;
22
+ this.ccdReference = null;
23
+ this.exceptionReference = null;
24
+ this.isStrategicFixEnable = true;
25
+ }
26
+ MarkUnidentifiedPaymentComponent.prototype.ngOnInit = function () {
27
+ this.viewStatus = 'mainForm';
28
+ this.ccdCaseNumber = this.paymentLibComponent.CCD_CASE_NUMBER;
29
+ this.bspaymentdcn = this.paymentLibComponent.bspaymentdcn;
30
+ this.isStrategicFixEnable = this.paymentLibComponent.ISSFENABLE;
31
+ this.getUnassignedPayment();
32
+ this.markPaymentUnidentifiedForm = this.formBuilder.group({
33
+ investicationDetail: new FormControl('', Validators.compose([
34
+ Validators.required,
35
+ Validators.minLength(3),
36
+ Validators.maxLength(255),
37
+ Validators.pattern('^([a-zA-Z0-9\\s,\\.]*)$')
38
+ ]))
39
+ });
40
+ };
41
+ MarkUnidentifiedPaymentComponent.prototype.getUnassignedPayment = function () {
42
+ var _this = this;
43
+ this.bulkScaningPaymentService.getBSPaymentsByDCN(this.bspaymentdcn).subscribe(function (unassignedPayments) {
44
+ _this.errorMessage = _this.getErrorMessage(false);
45
+ _this.unassignedRecord = unassignedPayments['data'].payments.filter(function (payment) {
46
+ return payment && payment.dcn_reference == _this.bspaymentdcn;
47
+ })[0];
48
+ _this.siteID = unassignedPayments['data'].responsible_service_id;
49
+ var beCcdNumber = unassignedPayments['data'].ccd_reference, beExceptionNumber = unassignedPayments['data'].exception_record_reference, exceptionReference = beCcdNumber ? beCcdNumber === _this.ccdCaseNumber ? null : _this.ccdCaseNumber : _this.ccdCaseNumber;
50
+ _this.ccdReference = beCcdNumber ? beCcdNumber : null;
51
+ _this.exceptionReference = beExceptionNumber ? beExceptionNumber : exceptionReference;
52
+ }, function (error) {
53
+ _this.errorMessage = _this.getErrorMessage(true);
54
+ });
55
+ };
56
+ MarkUnidentifiedPaymentComponent.prototype.trimUnderscore = function (method) {
57
+ return this.bulkScaningPaymentService.removeUnwantedString(method, ' ');
58
+ };
59
+ MarkUnidentifiedPaymentComponent.prototype.saveAndContinue = function () {
60
+ this.resetForm([false, false, false, false]);
61
+ var investicationField = this.markPaymentUnidentifiedForm.controls.investicationDetail;
62
+ var formerror = investicationField.errors;
63
+ if (this.markPaymentUnidentifiedForm.dirty && this.markPaymentUnidentifiedForm.valid) {
64
+ this.investigationComment = this.markPaymentUnidentifiedForm.controls.investicationDetail.value;
65
+ this.viewStatus = 'unidentifiedContinueConfirm';
66
+ }
67
+ else {
68
+ if (investicationField.value == '') {
69
+ this.resetForm([true, false, false, false]);
70
+ }
71
+ if (investicationField.value != '' && investicationField.invalid) {
72
+ this.resetForm([false, true, false, false]);
73
+ }
74
+ if (formerror && formerror.minlength && formerror.minlength.actualLength < 3) {
75
+ this.resetForm([false, false, true, false]);
76
+ }
77
+ if (formerror && formerror.maxlength && formerror.maxlength.actualLength > 255) {
78
+ this.resetForm([false, false, false, true]);
79
+ }
80
+ }
81
+ };
82
+ MarkUnidentifiedPaymentComponent.prototype.resetForm = function (val) {
83
+ this.isInvesticationDetailEmpty = val[0];
84
+ this.investicationDetailHasError = val[1];
85
+ this.investicationDetailMinHasError = val[2];
86
+ this.investicationDetailMaxHasError = val[3];
87
+ };
88
+ MarkUnidentifiedPaymentComponent.prototype.confirmPayments = function () {
89
+ var _this = this;
90
+ this.isConfirmButtondisabled = true;
91
+ var reason = this.markPaymentUnidentifiedForm.get('investicationDetail').value;
92
+ if (!this.isStrategicFixEnable) {
93
+ var allocatedRequest = {
94
+ allocation_status: 'Unidentified',
95
+ payment_allocation_status: {
96
+ description: '',
97
+ name: 'Unidentified'
98
+ },
99
+ unidentified_reason: reason,
100
+ user_id: this.caseType,
101
+ };
102
+ var postStrategicBody = new AllocatePaymentRequest(this.ccdReference, this.unassignedRecord, this.caseType, this.exceptionReference, allocatedRequest);
103
+ this.bulkScaningPaymentService.postBSWoPGStrategic(postStrategicBody).subscribe(function (res) {
104
+ _this.errorMessage = _this.getErrorMessage(false);
105
+ var response = JSON.parse(res);
106
+ if (response.success) {
107
+ _this.gotoCasetransationPage();
108
+ }
109
+ }, function (error) {
110
+ _this.errorMessage = _this.getErrorMessage(true);
111
+ _this.isConfirmButtondisabled = false;
112
+ });
113
+ }
114
+ else {
115
+ this.bulkScaningPaymentService.patchBSChangeStatus(this.unassignedRecord.dcn_reference, 'PROCESSED').subscribe(function (res1) {
116
+ _this.errorMessage = _this.getErrorMessage(false);
117
+ var requestBody = new AllocatePaymentRequest(_this.ccdReference, _this.unassignedRecord, _this.siteID, _this.exceptionReference);
118
+ _this.paymentViewService.postBSPayments(requestBody).subscribe(function (res2) {
119
+ _this.errorMessage = _this.getErrorMessage(false);
120
+ var response2 = JSON.parse(res2), reqBody = new UnidentifiedPaymentsRequest(response2['data'].payment_group_reference, response2['data'].reference, reason);
121
+ if (response2.success) {
122
+ _this.paymentViewService.postBSUnidentifiedPayments(reqBody).subscribe(function (res3) {
123
+ _this.errorMessage = _this.getErrorMessage(false);
124
+ var response3 = JSON.parse(res3);
125
+ if (response3.success) {
126
+ _this.gotoCasetransationPage();
127
+ }
128
+ }, function (error) {
129
+ _this.bulkScaningPaymentService.patchBSChangeStatus(_this.unassignedRecord.dcn_reference, 'COMPLETE').subscribe();
130
+ _this.errorMessage = _this.getErrorMessage(true);
131
+ _this.isConfirmButtondisabled = false;
132
+ });
133
+ }
134
+ }, function (error) {
135
+ _this.bulkScaningPaymentService.patchBSChangeStatus(_this.unassignedRecord.dcn_reference, 'COMPLETE').subscribe();
136
+ _this.errorMessage = _this.getErrorMessage(true);
137
+ _this.isConfirmButtondisabled = false;
138
+ });
139
+ }, function (error) {
140
+ _this.errorMessage = _this.getErrorMessage(true);
141
+ _this.isConfirmButtondisabled = false;
142
+ });
143
+ }
144
+ };
145
+ MarkUnidentifiedPaymentComponent.prototype.cancelMarkUnidentifiedPayments = function (type) {
146
+ if (type && type === 'cancel') {
147
+ if (this.markPaymentUnidentifiedForm.get('investicationDetail').value !== "") {
148
+ this.viewStatus = 'unidentifiedCancelConfirm';
149
+ }
150
+ else {
151
+ this.gotoCasetransationPage();
152
+ }
153
+ }
154
+ else {
155
+ this.viewStatus = 'mainForm';
156
+ }
157
+ };
158
+ MarkUnidentifiedPaymentComponent.prototype.gotoCasetransationPage = function () {
159
+ this.paymentLibComponent.viewName = 'case-transactions';
160
+ this.paymentLibComponent.TAKEPAYMENT = true;
161
+ this.paymentLibComponent.ISBSENABLE = true;
162
+ };
163
+ MarkUnidentifiedPaymentComponent.prototype.getErrorMessage = function (isErrorExist) {
164
+ return {
165
+ title: "There is a problem with the service",
166
+ body: "Try again later",
167
+ showError: isErrorExist
168
+ };
169
+ };
170
+ MarkUnidentifiedPaymentComponent.ctorParameters = function () { return [
171
+ { type: FormBuilder },
172
+ { type: PaymentViewService },
173
+ { type: PaymentLibComponent },
174
+ { type: BulkScaningPaymentService }
175
+ ]; };
176
+ __decorate([
177
+ Input(),
178
+ __metadata("design:type", String)
179
+ ], MarkUnidentifiedPaymentComponent.prototype, "caseType", void 0);
180
+ MarkUnidentifiedPaymentComponent = __decorate([
181
+ Component({
182
+ selector: 'app-mark-unidentified-payment',
183
+ template: "<div class=\"mkpay-unidentified\" >\n <div *ngIf=\"viewStatus === 'mainForm'\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='MARKUNIDENTIFIED'>\n <h1 class=\"heading-large\">Mark payment as unidentified</h1>\n\n <div class=\"govuk-grid-column-full govuk-!-padding-bottom-3\">\n <hr class=\"govuk-section-break govuk-section-break--visible\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Payment asset number (DCN)</td>\n <td class=\"govuk-table__header\" scope=\"col\">Banked date</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Method</td>\n \n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\">{{unassignedRecord.dcn_reference}}</td>\n <td class=\"govuk-table__cell\"> {{unassignedRecord.date_banked | date:'dd MMM yyyy'}}</td>\n <td class=\"govuk-table__cell\"> {{unassignedRecord.amount | currency :'GBP':'symbol':'1.2-2'}}</td>\n <td class=\"capitalize govuk-table__cell\"> {{trimUnderscore(unassignedRecord.payment_method) | lowercase}} </td>\n </tr>\n </tbody>\n </table>\n </div>\n <form [formGroup]=\"markPaymentUnidentifiedForm\" novalidate>\n <div class=\"govuk-form-group\">\n <p class=\"unidentifiedSubText\">\n Give a reason for marking this payment as unidentified.\n <br/>\n Include any investigations you've made.\n </p>\n <label class=\"heading-small\" for=\"investicationDetail\">\n\n </label>\n <textarea class=\"form-control form-control-3-4\" [ngClass]=\"{'inline-error-class': isInvesticationDetailEmpty || investicationDetailHasError || investicationDetailMinHasError || investicationDetailMaxHasError}\" name=\"investicationDetail\" id=\"investicationDetail\" rows=\"5\" formControlName=\"investicationDetail\">\n </textarea>\n <p class=\"inline-error-message\" *ngIf=\"isInvesticationDetailEmpty || investicationDetailHasError || investicationDetailMinHasError || investicationDetailMaxHasError\">\n <span *ngIf=\"isInvesticationDetailEmpty\">Enter a reason for marking this payment as unidentified.</span>\n <span *ngIf=\"investicationDetailHasError\">Enter a vaild reason</span>\n <span *ngIf=\"investicationDetailMinHasError\">Reason should be at least 3 characters.</span>\n <span *ngIf=\"investicationDetailMaxHasError\">Reason should be 255 characters or under.</span>\n </p>\n </div>\n <div class=\"govuk-button--group\">\n <button type=\"submit\" class=\"button\" (click)=\"saveAndContinue()\">\n Continue\n </button>\n <button type=\"button\" class=\"button govuk-button--secondary\" (click)=\"cancelMarkUnidentifiedPayments('cancel')\">\n Cancel\n </button>\n </div>\n </form>\n </div>\n <ng-container *ngIf=\"viewStatus === 'unidentifiedContinueConfirm'\">\n <ccpay-error-banner *ngIf=\"errorMessage.showError\" [errorMessage]=\"errorMessage\"></ccpay-error-banner>\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='UNIDENTIFIEDCONFIRMATION'>\n <div class=\"govuk-warning-text\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">Warning</span>\n <h1 class=\"heading-small\"> Are you sure you want to mark this payment as unidentified? </h1>\n \n </strong>\n\n <div class=\"govuk-grid-column-full govuk-!-padding-bottom-3\">\n <hr class=\"govuk-section-break govuk-section-break--visible\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Investigations</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\">{{investigationComment}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n </div>\n <div class=\"govuk-button--group\">\n <button type=\"submit\" class=\"button\" [disabled]=\"isConfirmButtondisabled\" (click)=\"confirmPayments()\">\n Confirm\n </button>\n <button type=\"button\" class=\"button govuk-button--secondary\" (click)=\"cancelMarkUnidentifiedPayments()\">\n Cancel\n </button>\n </div>\n </ng-container>\n <ng-container *ngIf=\"viewStatus === 'unidentifiedCancelConfirm'\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='CANCELUNIDENTIFIED'>\n <div class=\"govuk-warning-text\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">Warning</span>\n Are you sure you want to cancel?\n </strong>\n </div>\n <div class=\"govuk-button--group\">\n <button type=\"submit\" class=\"button\" (click)=\"gotoCasetransationPage()\">\n Yes\n </button>\n <button type=\"button\" class=\"button govuk-button--secondary\" (click)=\"cancelMarkUnidentifiedPayments()\">\n No\n </button>\n </div>\n </ng-container>\n</div>\n",
184
+ styles: [".mkpay-unidentified{margin:10px 0 20px}.mkpay-unidentified .govuk-button--group .govuk-button--secondary{margin-left:10px;background-color:#b3b8bdf2}.mkpay-unidentified .inline-error-class{outline:#a71414 solid 3px;outline-offset:0}.mkpay-unidentified .inline-error-message{color:#a71414;font-weight:700;margin-top:10px}.govuk-grid-column-full{padding:0}.unidentifiedSubText{line-height:45px}.govuk-warning-text__text{font-size:19px}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}"]
185
+ }),
186
+ __metadata("design:paramtypes", [FormBuilder,
187
+ PaymentViewService,
188
+ PaymentLibComponent,
189
+ BulkScaningPaymentService])
190
+ ], MarkUnidentifiedPaymentComponent);
191
+ return MarkUnidentifiedPaymentComponent;
192
+ }());
193
+ export { MarkUnidentifiedPaymentComponent };
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFyay11bmlkZW50aWZpZWQtcGF5bWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvY2NwYXktd2ViLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL21hcmstdW5pZGVudGlmaWVkLXBheW1lbnQvbWFyay11bmlkZW50aWZpZWQtcGF5bWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUUzRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQU9qRjtJQW1CRSwwQ0FBb0IsV0FBd0IsRUFDcEMsa0JBQXNDLEVBQ3RDLG1CQUF3QyxFQUN4Qyx5QkFBb0Q7UUFIeEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDcEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFoQjVELCtCQUEwQixHQUFZLEtBQUssQ0FBQztRQUM1QyxnQ0FBMkIsR0FBWSxLQUFLLENBQUM7UUFDN0MsbUNBQThCLEdBQVksS0FBSyxDQUFDO1FBQ2hELG1DQUE4QixHQUFZLEtBQUssQ0FBQztRQUNoRCxpQkFBWSxHQUFHLElBQUksQ0FB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U0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLCtCQUErQjtZQUN6Qyx3b0xBQXlEOztTQUUxRCxDQUFDO3lDQW9CaUMsV0FBVztZQUNoQixrQkFBa0I7WUFDakIsbUJBQW1CO1lBQ2IseUJBQXlCO09BdEJqRCxnQ0FBZ0MsQ0F5TDVDO0lBQUQsdUNBQUM7Q0FBQSxBQXpMRCxJQXlMQztTQXpMWSxnQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUGF5bWVudExpYkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BheW1lbnQtbGliLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYXltZW50Vmlld1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wYXltZW50LXZpZXcvcGF5bWVudC12aWV3LnNlcnZpY2UnO1xuaW1wb3J0IHtCdWxrU2NhbmluZ1BheW1lbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9idWxrLXNjYW5pbmctcGF5bWVudC9idWxrLXNjYW5pbmctcGF5bWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IElCU1BheW1lbnRzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JQlNQYXltZW50cyc7XG5pbXBvcnQgeyBVbmlkZW50aWZpZWRQYXltZW50c1JlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1VuaWRlbnRpZmllZFBheW1lbnRzUmVxdWVzdCc7XG5pbXBvcnQgeyBBbGxvY2F0ZVBheW1lbnRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9BbGxvY2F0ZVBheW1lbnRSZXF1ZXN0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLW1hcmstdW5pZGVudGlmaWVkLXBheW1lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFyay11bmlkZW50aWZpZWQtcGF5bWVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hcmstdW5pZGVudGlmaWVkLXBheW1lbnQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBNYXJrVW5pZGVudGlmaWVkUGF5bWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGNhc2VUeXBlOiBzdHJpbmc7XG4gIG1hcmtQYXltZW50VW5pZGVudGlmaWVkRm9ybTogRm9ybUdyb3VwO1xuICB2aWV3U3RhdHVzOiBzdHJpbmc7XG4gIGNjZENhc2VOdW1iZXI6IHN0cmluZztcbiAgYnNwYXltZW50ZGNuOiBzdHJpbmc7XG4gIGlzSW52ZXN0aWNhdGlvbkRldGFpbEVtcHR5OiBib29sZWFuID0gZmFsc2U7XG4gIGludmVzdGljYXRpb25EZXRhaWxIYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBpbnZlc3RpY2F0aW9uRGV0YWlsTWluSGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaW52ZXN0aWNhdGlvbkRldGFpbE1heEhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIGVycm9yTWVzc2FnZSA9IHRoaXMuZ2V0RXJyb3JNZXNzYWdlKGZhbHNlKTtcbiAgdW5hc3NpZ25lZFJlY29yZDpJQlNQYXltZW50cztcbiAgc2l0ZUlEOiBzdHJpbmcgPSBudWxsO1xuICBpbnZlc3RpZ2F0aW9uQ29tbWVudDogc3RyaW5nO1xuICBpc0NvbmZpcm1CdXR0b25kaXNhYmxlZDpCb29sZWFuID0gZmFsc2U7XG4gIGNjZFJlZmVyZW5jZTogc3RyaW5nID0gbnVsbDtcbiAgZXhjZXB0aW9uUmVmZXJlbmNlOiBzdHJpbmcgPSBudWxsO1xuICBpc1N0cmF0ZWdpY0ZpeEVuYWJsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gIHByaXZhdGUgcGF5bWVudFZpZXdTZXJ2aWNlOiBQYXltZW50Vmlld1NlcnZpY2UsXG4gIHByaXZhdGUgcGF5bWVudExpYkNvbXBvbmVudDogUGF5bWVudExpYkNvbXBvbmVudCxcbiAgcHJpdmF0ZSBidWxrU2NhbmluZ1BheW1lbnRTZXJ2aWNlOiBCdWxrU2NhbmluZ1BheW1lbnRTZXJ2aWNlKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnZpZXdTdGF0dXMgPSAnbWFpbkZvcm0nO1xuICAgIHRoaXMuY2NkQ2FzZU51bWJlciA9IHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5DQ0RfQ0FTRV9OVU1CRVI7XG4gICAgdGhpcy5ic3BheW1lbnRkY24gPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuYnNwYXltZW50ZGNuO1xuICAgIHRoaXMuaXNTdHJhdGVnaWNGaXhFbmFibGUgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuSVNTRkVOQUJMRTtcbiAgICB0aGlzLmdldFVuYXNzaWduZWRQYXltZW50KCk7XG5cbiAgICB0aGlzLm1hcmtQYXltZW50VW5pZGVudGlmaWVkRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgaW52ZXN0aWNhdGlvbkRldGFpbDogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICBWYWxpZGF0b3JzLm1pbkxlbmd0aCgzKSxcbiAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU1KSxcbiAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKCdeKFthLXpBLVowLTlcXFxccyxcXFxcLl0qKSQnKVxuICAgICAgXSkpXG4gICAgfSk7XG4gIH1cbiBnZXRVbmFzc2lnbmVkUGF5bWVudCgpIHtcbiAgICB0aGlzLmJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2UuZ2V0QlNQYXltZW50c0J5RENOKHRoaXMuYnNwYXltZW50ZGNuKS5zdWJzY3JpYmUoXG4gICAgICB1bmFzc2lnbmVkUGF5bWVudHMgPT4ge1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZ2V0RXJyb3JNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgdGhpcy51bmFzc2lnbmVkUmVjb3JkID0gdW5hc3NpZ25lZFBheW1lbnRzWydkYXRhJ10ucGF5bWVudHMuZmlsdGVyKHBheW1lbnQgPT4ge1xuICAgICAgICAgIHJldHVybiBwYXltZW50ICYmIHBheW1lbnQuZGNuX3JlZmVyZW5jZSA9PSB0aGlzLmJzcGF5bWVudGRjbjtcbiAgICAgICAgfSlbMF07XG4gICAgICAgIHRoaXMuc2l0ZUlEID0gdW5hc3NpZ25lZFBheW1lbnRzWydkYXRhJ10ucmVzcG9uc2libGVfc2VydmljZV9pZDtcbiAgICAgICAgY29uc3QgYmVDY2ROdW1iZXIgPSB1bmFzc2lnbmVkUGF5bWVudHNbJ2RhdGEnXS5jY2RfcmVmZXJlbmNlLFxuICAgICAgICAgIGJlRXhjZXB0aW9uTnVtYmVyID0gdW5hc3NpZ25lZFBheW1lbnRzWydkYXRhJ10uZXhjZXB0aW9uX3JlY29yZF9yZWZlcmVuY2UsXG4gICAgICAgICAgZXhjZXB0aW9uUmVmZXJlbmNlID0gYmVDY2ROdW1iZXIgPyBiZUNjZE51bWJlciA9PT0gdGhpcy5jY2RDYXNlTnVtYmVyID8gbnVsbCA6IHRoaXMuY2NkQ2FzZU51bWJlciA6IHRoaXMuY2NkQ2FzZU51bWJlcjtcbiAgICAgICAgdGhpcy5jY2RSZWZlcmVuY2UgPSBiZUNjZE51bWJlciA/IGJlQ2NkTnVtYmVyIDogbnVsbDtcbiAgICAgICAgdGhpcy5leGNlcHRpb25SZWZlcmVuY2UgPSBiZUV4Y2VwdGlvbk51bWJlciA/IGJlRXhjZXB0aW9uTnVtYmVyIDogZXhjZXB0aW9uUmVmZXJlbmNlO1xuICAgICAgfSxcbiAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5nZXRFcnJvck1lc3NhZ2UodHJ1ZSk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuICB0cmltVW5kZXJzY29yZShtZXRob2Q6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMuYnVsa1NjYW5pbmdQYXltZW50U2VydmljZS5yZW1vdmVVbndhbnRlZFN0cmluZyhtZXRob2QsJyAnKTtcbiAgfVxuIHNhdmVBbmRDb250aW51ZSgpIHtcbiAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSk7XG4gIGNvbnN0IGludmVzdGljYXRpb25GaWVsZCA9IHRoaXMubWFya1BheW1lbnRVbmlkZW50aWZpZWRGb3JtLmNvbnRyb2xzLmludmVzdGljYXRpb25EZXRhaWw7XG4gIGNvbnN0IGZvcm1lcnJvciA9IGludmVzdGljYXRpb25GaWVsZC5lcnJvcnM7XG4gICAgaWYgKHRoaXMubWFya1BheW1lbnRVbmlkZW50aWZpZWRGb3JtLmRpcnR5ICYmIHRoaXMubWFya1BheW1lbnRVbmlkZW50aWZpZWRGb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLmludmVzdGlnYXRpb25Db21tZW50ID0gdGhpcy5tYXJrUGF5bWVudFVuaWRlbnRpZmllZEZvcm0uY29udHJvbHMuaW52ZXN0aWNhdGlvbkRldGFpbC52YWx1ZTtcbiAgICAgIHRoaXMudmlld1N0YXR1cyA9ICd1bmlkZW50aWZpZWRDb250aW51ZUNvbmZpcm0nO1xuICAgIH1lbHNlIHtcbiAgICAgIGlmKGludmVzdGljYXRpb25GaWVsZC52YWx1ZSA9PSAnJyApIHtcbiAgICAgICAgdGhpcy5yZXNldEZvcm0oW3RydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2VdKTtcbiAgICAgIH1cbiAgICAgIGlmKGludmVzdGljYXRpb25GaWVsZC52YWx1ZSAhPSAnJyAmJiBpbnZlc3RpY2F0aW9uRmllbGQuaW52YWxpZCApIHtcbiAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2VdKTtcbiAgICAgIH1cbiAgICAgIGlmKGZvcm1lcnJvciAmJiBmb3JtZXJyb3IubWlubGVuZ3RoICYmIGZvcm1lcnJvci5taW5sZW5ndGguYWN0dWFsTGVuZ3RoIDwgMyApIHtcbiAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2VdKTtcbiAgICAgIH1cbiAgICAgIGlmKGZvcm1lcnJvciAmJiBmb3JtZXJyb3IubWF4bGVuZ3RoICYmIGZvcm1lcnJvci5tYXhsZW5ndGguYWN0dWFsTGVuZ3RoID4gMjU1ICkge1xuICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZV0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXNldEZvcm0odmFsKSB7XG4gICAgICB0aGlzLmlzSW52ZXN0aWNhdGlvbkRldGFpbEVtcHR5ID0gdmFsWzBdO1xuICAgICAgdGhpcy5pbnZlc3RpY2F0aW9uRGV0YWlsSGFzRXJyb3IgPSB2YWxbMV07XG4gICAgICB0aGlzLmludmVzdGljYXRpb25EZXRhaWxNaW5IYXNFcnJvciA9IHZhbFsyXTtcbiAgICAgIHRoaXMuaW52ZXN0aWNhdGlvbkRldGFpbE1heEhhc0Vycm9yID0gdmFsWzNdO1xuICB9XG4gIGNvbmZpcm1QYXltZW50cygpIHtcbiAgICB0aGlzLmlzQ29uZmlybUJ1dHRvbmRpc2FibGVkID0gdHJ1ZTtcbiAgICBjb25zdCByZWFzb24gPSB0aGlzLm1hcmtQYXltZW50VW5pZGVudGlmaWVkRm9ybS5nZXQoJ2ludmVzdGljYXRpb25EZXRhaWwnKS52YWx1ZTtcblxuICAgIGlmKCF0aGlzLmlzU3RyYXRlZ2ljRml4RW5hYmxlKSB7XG4gICAgICBsZXQgYWxsb2NhdGVkUmVxdWVzdCA9IHtcbiAgICAgICAgYWxsb2NhdGlvbl9zdGF0dXM6J1VuaWRlbnRpZmllZCcsXG4gICAgICAgIHBheW1lbnRfYWxsb2NhdGlvbl9zdGF0dXM6IHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJycsXG4gICAgICAgICAgbmFtZTogJ1VuaWRlbnRpZmllZCdcbiAgICAgICAgfSxcbiAgICAgICAgdW5pZGVudGlmaWVkX3JlYXNvbjogcmVhc29uLFxuICAgICAgICB1c2VyX2lkOiB0aGlzLmNhc2VUeXBlLFxuICAgICAgfVxuICAgICAgY29uc3QgcG9zdFN0cmF0ZWdpY0JvZHkgPSBuZXcgQWxsb2NhdGVQYXltZW50UmVxdWVzdFxuICAgICAgKHRoaXMuY2NkUmVmZXJlbmNlLCB0aGlzLnVuYXNzaWduZWRSZWNvcmQsIHRoaXMuY2FzZVR5cGUsIHRoaXMuZXhjZXB0aW9uUmVmZXJlbmNlLCBhbGxvY2F0ZWRSZXF1ZXN0KTtcbiAgICAgIHRoaXMuYnVsa1NjYW5pbmdQYXltZW50U2VydmljZS5wb3N0QlNXb1BHU3RyYXRlZ2ljKHBvc3RTdHJhdGVnaWNCb2R5KS5zdWJzY3JpYmUoXG4gICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmdldEVycm9yTWVzc2FnZShmYWxzZSk7XG4gICAgICAgICAgbGV0IHJlc3BvbnNlID0gSlNPTi5wYXJzZShyZXMpO1xuICAgICAgICAgIGlmIChyZXNwb25zZS5zdWNjZXNzKSB7XG4gICAgICAgICAgdGhpcy5nb3RvQ2FzZXRyYW5zYXRpb25QYWdlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5nZXRFcnJvck1lc3NhZ2UodHJ1ZSk7XG4gICAgICAgICAgdGhpcy5pc0NvbmZpcm1CdXR0b25kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYnVsa1NjYW5pbmdQYXltZW50U2VydmljZS5wYXRjaEJTQ2hhbmdlU3RhdHVzKHRoaXMudW5hc3NpZ25lZFJlY29yZC5kY25fcmVmZXJlbmNlLCAnUFJPQ0VTU0VEJykuc3Vic2NyaWJlKFxuICAgICAgICAgIHJlczEgPT4ge1xuICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmdldEVycm9yTWVzc2FnZShmYWxzZSk7XG4gICAgICAgICAgICBjb25zdCByZXF1ZXN0Qm9keSA9IG5ldyBBbGxvY2F0ZVBheW1lbnRSZXF1ZXN0XG4gICAgICAgICAgICAodGhpcy5jY2RSZWZlcmVuY2UsIHRoaXMudW5hc3NpZ25lZFJlY29yZCwgdGhpcy5zaXRlSUQsIHRoaXMuZXhjZXB0aW9uUmVmZXJlbmNlKVxuICAgICAgICAgICAgdGhpcy5wYXltZW50Vmlld1NlcnZpY2UucG9zdEJTUGF5bWVudHMocmVxdWVzdEJvZHkpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgcmVzMiA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmdldEVycm9yTWVzc2FnZShmYWxzZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UyID0gSlNPTi5wYXJzZShyZXMyKSxcbiAgICAgICAgICAgICAgICAgIHJlcUJvZHkgPSBuZXcgVW5pZGVudGlmaWVkUGF5bWVudHNSZXF1ZXN0XG4gICAgICAgICAgICAgICAgICAocmVzcG9uc2UyWydkYXRhJ10ucGF5bWVudF9ncm91cF9yZWZlcmVuY2UsIHJlc3BvbnNlMlsnZGF0YSddLnJlZmVyZW5jZSwgcmVhc29uKTtcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UyLnN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMucGF5bWVudFZpZXdTZXJ2aWNlLnBvc3RCU1VuaWRlbnRpZmllZFBheW1lbnRzKHJlcUJvZHkpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAgICAgcmVzMyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmdldEVycm9yTWVzc2FnZShmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UzID0gSlNPTi5wYXJzZShyZXMzKTtcbiAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UzLnN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ290b0Nhc2V0cmFuc2F0aW9uUGFnZSgpO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2UucGF0Y2hCU0NoYW5nZVN0YXR1cyh0aGlzLnVuYXNzaWduZWRSZWNvcmQuZGNuX3JlZmVyZW5jZSwgJ0NPTVBMRVRFJykuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmdldEVycm9yTWVzc2FnZSh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQ29uZmlybUJ1dHRvbmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYnVsa1NjYW5pbmdQYXltZW50U2VydmljZS5wYXRjaEJTQ2hhbmdlU3RhdHVzKHRoaXMudW5hc3NpZ25lZFJlY29yZC5kY25fcmVmZXJlbmNlLCAnQ09NUExFVEUnKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZ2V0RXJyb3JNZXNzYWdlKHRydWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNDb25maXJtQnV0dG9uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZ2V0RXJyb3JNZXNzYWdlKHRydWUpO1xuICAgICAgICAgICAgdGhpcy5pc0NvbmZpcm1CdXR0b25kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgfVxuICBjYW5jZWxNYXJrVW5pZGVudGlmaWVkUGF5bWVudHModHlwZT86c3RyaW5nKXtcbiAgICBpZih0eXBlICYmIHR5cGUgPT09ICdjYW5jZWwnKSB7XG4gICAgICAgIGlmKHRoaXMubWFya1BheW1lbnRVbmlkZW50aWZpZWRGb3JtLmdldCgnaW52ZXN0aWNhdGlvbkRldGFpbCcpLnZhbHVlIT09XCJcIil7XG4gICAgICAgICAgdGhpcy52aWV3U3RhdHVzID0gJ3VuaWRlbnRpZmllZENhbmNlbENvbmZpcm0nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZ290b0Nhc2V0cmFuc2F0aW9uUGFnZSgpO1xuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmlld1N0YXR1cyA9ICdtYWluRm9ybSc7XG4gICAgfVxuICB9XG5cbiAgZ290b0Nhc2V0cmFuc2F0aW9uUGFnZSgpIHtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAnY2FzZS10cmFuc2FjdGlvbnMnO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVCA9IHRydWU7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTQlNFTkFCTEUgPSB0cnVlO1xuICB9XG4gIGdldEVycm9yTWVzc2FnZShpc0Vycm9yRXhpc3QpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6IFwiVGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggdGhlIHNlcnZpY2VcIixcbiAgICAgIGJvZHk6IFwiVHJ5IGFnYWluIGxhdGVyXCIsXG4gICAgICBzaG93RXJyb3I6IGlzRXJyb3JFeGlzdFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,249 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Component, Input } from '@angular/core';
3
+ import { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';
4
+ import { PaymentLibComponent } from '../../payment-lib.component';
5
+ import { BulkScaningPaymentService } from '../../services/bulk-scaning-payment/bulk-scaning-payment.service';
6
+ import { UnsolicitedPaymentsRequest } from '../../interfaces/UnsolicitedPaymentsRequest';
7
+ import { PaymentViewService } from '../../services/payment-view/payment-view.service';
8
+ import { AllocatePaymentRequest } from '../../interfaces/AllocatePaymentRequest';
9
+ var MarkUnsolicitedPaymentComponent = /** @class */ (function () {
10
+ function MarkUnsolicitedPaymentComponent(formBuilder, paymentViewService, paymentLibComponent, bulkScaningPaymentService) {
11
+ this.formBuilder = formBuilder;
12
+ this.paymentViewService = paymentViewService;
13
+ this.paymentLibComponent = paymentLibComponent;
14
+ this.bulkScaningPaymentService = bulkScaningPaymentService;
15
+ this.reasonHasError = false;
16
+ this.isReasonEmpty = false;
17
+ this.reasonMinHasError = false;
18
+ this.reasonMaxHasError = false;
19
+ this.responsibleOfficeHasError = false;
20
+ this.isResponsibleOfficeEmpty = false;
21
+ this.errorMessage = this.getErrorMessage(false);
22
+ this.siteID = null;
23
+ this.isConfirmButtondisabled = false;
24
+ this.isContinueButtondisabled = false;
25
+ this.ccdReference = null;
26
+ this.exceptionReference = null;
27
+ this.isStrategicFixEnable = true;
28
+ }
29
+ MarkUnsolicitedPaymentComponent.prototype.ngOnInit = function () {
30
+ var _this = this;
31
+ this.resetForm([false, false, false, false, false, false], 'all');
32
+ this.viewStatus = 'mainForm';
33
+ this.ccdCaseNumber = this.paymentLibComponent.CCD_CASE_NUMBER;
34
+ this.bspaymentdcn = this.paymentLibComponent.bspaymentdcn;
35
+ this.isStrategicFixEnable = this.paymentLibComponent.ISSFENABLE;
36
+ this.getUnassignedPayment();
37
+ this.paymentViewService.getSiteID().subscribe(function (siteids) {
38
+ _this.isContinueButtondisabled = false;
39
+ _this.errorMessage = _this.getErrorMessage(false);
40
+ _this.siteIDList = JSON.parse(siteids);
41
+ }, function (err) {
42
+ window.scrollTo(0, 0);
43
+ _this.isContinueButtondisabled = true;
44
+ _this.errorMessage = _this.getErrorMessage(true);
45
+ });
46
+ this.markPaymentUnsolicitedForm = this.formBuilder.group({
47
+ reason: new FormControl('', Validators.compose([
48
+ Validators.required,
49
+ Validators.minLength(3),
50
+ Validators.maxLength(255),
51
+ Validators.pattern('^([a-zA-Z0-9\\s,\\.]*)$')
52
+ ])),
53
+ responsibleOffice: new FormControl('', Validators.compose([
54
+ Validators.required,
55
+ Validators.pattern('^([a-zA-Z0-9\\s\\n,\\.-:]*)$')
56
+ ])),
57
+ responsiblePerson: new FormControl(''),
58
+ emailId: new FormControl('')
59
+ });
60
+ };
61
+ MarkUnsolicitedPaymentComponent.prototype.trimUnderscore = function (method) {
62
+ return this.bulkScaningPaymentService.removeUnwantedString(method, ' ');
63
+ };
64
+ MarkUnsolicitedPaymentComponent.prototype.confirmPayments = function () {
65
+ var _this = this;
66
+ this.isConfirmButtondisabled = true;
67
+ var controls = this.markPaymentUnsolicitedForm.controls;
68
+ if (!this.isStrategicFixEnable) {
69
+ var allocatedRequest = {
70
+ allocation_status: 'Transferred',
71
+ payment_allocation_status: {
72
+ description: '',
73
+ name: 'Transferred'
74
+ },
75
+ unidentified_reason: controls.reason.value,
76
+ receiving_office: this.selectedSiteId,
77
+ user_id: this.caseType,
78
+ };
79
+ var postStrategicBody = new AllocatePaymentRequest(this.ccdReference, this.unassignedRecord, this.caseType, this.exceptionReference, allocatedRequest);
80
+ this.bulkScaningPaymentService.postBSWoPGStrategic(postStrategicBody).subscribe(function (res) {
81
+ _this.errorMessage = _this.getErrorMessage(false);
82
+ var response = JSON.parse(res);
83
+ if (response.success) {
84
+ _this.gotoCasetransationPage();
85
+ }
86
+ }, function (error) {
87
+ _this.errorMessage = _this.getErrorMessage(true);
88
+ _this.isConfirmButtondisabled = false;
89
+ });
90
+ }
91
+ else {
92
+ // controls.responsibleOffice.setValue('P219');
93
+ this.bulkScaningPaymentService.patchBSChangeStatus(this.unassignedRecord.dcn_reference, 'PROCESSED').subscribe(function (res1) {
94
+ _this.errorMessage = _this.getErrorMessage(false);
95
+ var response1 = JSON.parse(res1), requestBody = new AllocatePaymentRequest(_this.ccdReference, _this.unassignedRecord, _this.siteID, _this.exceptionReference);
96
+ _this.paymentViewService.postBSPayments(requestBody).subscribe(function (res2) {
97
+ _this.errorMessage = _this.getErrorMessage(false);
98
+ var response2 = JSON.parse(res2), reqBody = new UnsolicitedPaymentsRequest(response2['data'].payment_group_reference, response2['data'].reference, controls.reason.value, _this.selectedSiteId, controls.responsiblePerson.value, controls.emailId.value);
99
+ if (response2.success) {
100
+ _this.paymentViewService.postBSUnsolicitedPayments(reqBody).subscribe(function (res3) {
101
+ _this.errorMessage = _this.getErrorMessage(false);
102
+ var response3 = JSON.parse(res3);
103
+ if (response3.success) {
104
+ _this.gotoCasetransationPage();
105
+ }
106
+ }, function (error) {
107
+ _this.bulkScaningPaymentService.patchBSChangeStatus(_this.unassignedRecord.dcn_reference, 'COMPLETE').subscribe();
108
+ _this.errorMessage = _this.getErrorMessage(true);
109
+ _this.isConfirmButtondisabled = false;
110
+ });
111
+ }
112
+ }, function (error) {
113
+ _this.bulkScaningPaymentService.patchBSChangeStatus(_this.unassignedRecord.dcn_reference, 'COMPLETE').subscribe();
114
+ _this.errorMessage = _this.getErrorMessage(true);
115
+ _this.isConfirmButtondisabled = false;
116
+ });
117
+ }, function (error) {
118
+ _this.errorMessage = _this.getErrorMessage(true);
119
+ _this.isConfirmButtondisabled = false;
120
+ });
121
+ }
122
+ };
123
+ MarkUnsolicitedPaymentComponent.prototype.saveAndContinue = function () {
124
+ this.resetForm([false, false, false, false, false, false], 'all');
125
+ var formerror = this.markPaymentUnsolicitedForm.controls.reason.errors;
126
+ var reasonField = this.markPaymentUnsolicitedForm.controls.reason;
127
+ //const officeIdField = this.selectedSiteId;
128
+ var officeIdField = this.markPaymentUnsolicitedForm.controls.responsibleOffice;
129
+ if (this.markPaymentUnsolicitedForm.dirty && this.markPaymentUnsolicitedForm.valid) {
130
+ var controls = this.markPaymentUnsolicitedForm.controls;
131
+ this.emailId = controls.emailId.value;
132
+ this.responsibleOffice = officeIdField.value;
133
+ this.responsiblePerson = controls.responsiblePerson.value;
134
+ this.reason = controls.reason.value;
135
+ this.viewStatus = 'unsolicitedContinueConfirm';
136
+ }
137
+ else {
138
+ if (reasonField.value == '') {
139
+ this.resetForm([true, false, false, false, false, false], 'reason');
140
+ }
141
+ if (reasonField.value != '' && this.markPaymentUnsolicitedForm.controls.reason.invalid) {
142
+ this.resetForm([false, true, false, false, false, false], 'reason');
143
+ }
144
+ if (formerror && formerror.minlength && formerror.minlength.actualLength < 3) {
145
+ this.resetForm([false, false, true, false, false, false], 'reason');
146
+ }
147
+ if (formerror && formerror.maxlength && formerror.maxlength.actualLength > 255) {
148
+ this.resetForm([false, false, false, true, false, false], 'reason');
149
+ }
150
+ if (officeIdField.value == '') {
151
+ this.resetForm([false, false, false, false, true, false], 'responsibleOffice');
152
+ }
153
+ if (officeIdField.value != '' && officeIdField.invalid) {
154
+ this.resetForm([false, false, false, false, false, true], 'responsibleOffice');
155
+ }
156
+ }
157
+ };
158
+ MarkUnsolicitedPaymentComponent.prototype.resetForm = function (val, field) {
159
+ if (field === 'reason' || field === 'all') {
160
+ this.isReasonEmpty = val[0];
161
+ this.reasonHasError = val[1];
162
+ this.reasonMinHasError = val[2];
163
+ this.reasonMaxHasError = val[3];
164
+ }
165
+ if (field === 'responsibleOffice' || field === 'all') {
166
+ this.isResponsibleOfficeEmpty = val[4];
167
+ this.responsibleOfficeHasError = val[5];
168
+ }
169
+ };
170
+ MarkUnsolicitedPaymentComponent.prototype.cancelMarkUnsolicitedPayments = function (type) {
171
+ if (type && type === 'cancel') {
172
+ if (this.checkingFormValue()) {
173
+ this.viewStatus = 'unsolicitedCancelConfirm';
174
+ }
175
+ else {
176
+ this.gotoCasetransationPage();
177
+ }
178
+ }
179
+ else {
180
+ this.markPaymentUnsolicitedForm.controls.responsibleOffice.setValue('');
181
+ this.viewStatus = 'mainForm';
182
+ }
183
+ };
184
+ MarkUnsolicitedPaymentComponent.prototype.checkingFormValue = function () {
185
+ var formFields = this.markPaymentUnsolicitedForm.value;
186
+ var valueExists = false;
187
+ for (var field in formFields) {
188
+ if (formFields.hasOwnProperty(field) && formFields[field] !== "") {
189
+ valueExists = true;
190
+ break;
191
+ }
192
+ }
193
+ return valueExists;
194
+ };
195
+ MarkUnsolicitedPaymentComponent.prototype.gotoCasetransationPage = function () {
196
+ this.paymentLibComponent.viewName = 'case-transactions';
197
+ this.paymentLibComponent.TAKEPAYMENT = true;
198
+ this.paymentLibComponent.ISBSENABLE = true;
199
+ };
200
+ MarkUnsolicitedPaymentComponent.prototype.getUnassignedPayment = function () {
201
+ var _this = this;
202
+ this.bulkScaningPaymentService.getBSPaymentsByDCN(this.bspaymentdcn).subscribe(function (unassignedPayments) {
203
+ _this.unassignedRecord = unassignedPayments['data'].payments.filter(function (payment) {
204
+ return payment && payment.dcn_reference == _this.bspaymentdcn;
205
+ })[0];
206
+ _this.siteID = unassignedPayments['data'].responsible_service_id;
207
+ var beCcdNumber = unassignedPayments['data'].ccd_reference, beExceptionNumber = unassignedPayments['data'].exception_record_reference, exceptionReference = beCcdNumber ? beCcdNumber === _this.ccdCaseNumber ? null : _this.ccdCaseNumber : _this.ccdCaseNumber;
208
+ _this.ccdReference = beCcdNumber ? beCcdNumber : null;
209
+ _this.exceptionReference = beExceptionNumber ? beExceptionNumber : exceptionReference;
210
+ }, function (error) {
211
+ _this.errorMessage = _this.getErrorMessage(true);
212
+ });
213
+ };
214
+ MarkUnsolicitedPaymentComponent.prototype.getErrorMessage = function (isErrorExist) {
215
+ return {
216
+ title: "Something went wrong.",
217
+ body: "Please try again later.",
218
+ showError: isErrorExist
219
+ };
220
+ };
221
+ MarkUnsolicitedPaymentComponent.prototype.selectchange = function (args) {
222
+ this.selectedSiteId = args.target.value;
223
+ this.selectedSiteName = args.target.options[args.target.selectedIndex].text;
224
+ };
225
+ MarkUnsolicitedPaymentComponent.ctorParameters = function () { return [
226
+ { type: FormBuilder },
227
+ { type: PaymentViewService },
228
+ { type: PaymentLibComponent },
229
+ { type: BulkScaningPaymentService }
230
+ ]; };
231
+ __decorate([
232
+ Input(),
233
+ __metadata("design:type", String)
234
+ ], MarkUnsolicitedPaymentComponent.prototype, "caseType", void 0);
235
+ MarkUnsolicitedPaymentComponent = __decorate([
236
+ Component({
237
+ selector: 'app-mark-unsolicited-payment',
238
+ template: "<div class=\"mkpay-unidentified\">\n <div *ngIf=\"viewStatus === 'mainForm'\">\n <ccpay-error-banner *ngIf=\"errorMessage.showError\" [errorMessage]=\"errorMessage\"></ccpay-error-banner>\n <h1 class=\"heading-large\">Mark payment as transferred</h1>\n <div class=\"govuk-grid-column-full govuk-!-padding-bottom-3\">\n <hr class=\"govuk-section-break govuk-section-break--visible\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Payment asset number (DCN)</td>\n <td class=\"govuk-table__header\" scope=\"col\">Banked date</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Method</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\">{{unassignedRecord.dcn_reference}}</td>\n <td class=\"govuk-table__cell\"> {{unassignedRecord.date_banked | date:'dd MMM yyyy'}}</td>\n <td class=\"govuk-table__cell\"> {{unassignedRecord.amount | currency :'GBP':'symbol':'1.2-2'}}</td>\n <td class=\"capitalize govuk-table__cell\"> {{trimUnderscore(unassignedRecord.payment_method) | lowercase}} </td>\n </tr>\n </tbody>\n </table>\n </div>\n \n <form [formGroup]=\"markPaymentUnsolicitedForm\" novalidate>\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='MARKTRANSFERRED'>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label custom-govuk-label custom-govuk-label\" for=\"reason\">\n Reason for payment being marked as transferred \n </label>\n <textarea class=\"form-control form-control-3-4\" [ngClass]=\"{'inline-error-class': reasonHasError || reasonMinHasError || reasonMaxHasError}\" name=\"reason\" id=\"reason\" rows=\"5\" formControlName=\"reason\">\n </textarea>\n <p class=\"inline-error-message\" *ngIf=\"isReasonEmpty || reasonHasError || reasonMinHasError || reasonMaxHasError\">\n <span *ngIf=\"isReasonEmpty\">Enter a reason for marking this payment as transferred.</span>\n <span *ngIf=\"reasonHasError\">Enter a valid reason</span>\n <span *ngIf=\"reasonMinHasError\">Reason should be at least 3 characters.</span>\n <span *ngIf=\"reasonMaxHasError\">Reason should be 255 characters or under.</span>\n </p>\n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label custom-govuk-label\" for=\"responsibleOffice\">\n Receiving Site ID (Receiving court/Bulk centre site ID) \n </label>\n <select class=\"form-control short-input\" id=\"responsibleOffice\" formControlName=\"responsibleOffice\" (change)=\"selectchange($event)\">\n <option value=\"\" selected='selected'>Please select</option>\n <option *ngFor=\"let siteID of siteIDList;\" value=\"{{siteID.siteId}}\">{{siteID.siteName}} ({{siteID.siteId}})</option>\n </select>\n <p class=\"inline-error-message\" *ngIf=\"isResponsibleOfficeEmpty || responsibleOfficeHasError\">\n <span *ngIf=\"isResponsibleOfficeEmpty\">Please select Receiving Site ID</span>\n <span *ngIf=\"responsibleOfficeHasError\">Please select a valid Receiving Site ID</span>\n </p>\n </div>\n <div class=\"govuk-button--group\">\n <button type=\"submit\" [disabled]=\"isContinueButtondisabled\" class=\"button\" (click)=\"saveAndContinue()\">\n Confirm\n </button>\n <button type=\"button\" class=\"button govuk-button--secondary\" (click)=\"cancelMarkUnsolicitedPayments('cancel')\">\n Cancel\n </button>\n </div>\n </form>\n \n</div>\n <ng-container *ngIf=\"viewStatus === 'unsolicitedContinueConfirm'\">\n <ccpay-error-banner *ngIf=\"errorMessage.showError\" [errorMessage]=\"errorMessage\"></ccpay-error-banner>\n <div class=\"govuk-warning-text\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">Warning</span>\n <h1 class=\"heading-small\"> Are you sure you want to mark this payment as transferred? </h1>\n </strong>\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='TRANSFERREDCONFIRMATION'>\n <div class=\"govuk-grid-column-full govuk-!-padding-bottom-3\">\n <hr class=\"govuk-section-break govuk-section-break--visible\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Reason</td>\n <td class=\"govuk-table__header\" scope=\"col\">Receiving site ID</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\">{{reason}}</td>\n <td class=\"govuk-table__cell\">{{selectedSiteName}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n </div>\n <div class=\"govuk-button--group\">\n <button type=\"submit\" class=\"button\" [disabled]=\"isConfirmButtondisabled\" (click)=\"confirmPayments()\">\n Confirm\n </button>\n <button type=\"button\" class=\"button govuk-button--secondary\" (click)=\"cancelMarkUnsolicitedPayments()\">\n Cancel\n </button>\n </div>\n </ng-container>\n <ng-container *ngIf=\"viewStatus === 'unsolicitedCancelConfirm'\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='CANCELTRANSFERRED'>\n <div class=\"govuk-warning-text\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">Warning</span>\n Are you sure you want to cancel?\n </strong>\n </div>\n <div class=\"govuk-button--group\">\n <button type=\"submit\" class=\"button\" (click)=\"gotoCasetransationPage()\">\n Yes\n </button>\n <button type=\"button\" class=\"button govuk-button--secondary\" (click)=\"cancelMarkUnsolicitedPayments()\">\n No\n </button>\n </div>\n </ng-container>\n</div>",
239
+ styles: [".mkpay-unidentified{margin:10px 0 20px}.mkpay-unidentified .govuk-button--secondary{margin-left:10px;background-color:#b3b8bdf2}.mkpay-unidentified .inline-error-class{outline:#a71414 solid 3px;outline-offset:0}.mkpay-unidentified .inline-error-message{color:#a71414;font-weight:700;margin-top:10px}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.custom-govuk-label,.govuk-warning-text__text{font-size:19px}#responsibleOffice{color:#000;width:75%;font-weight:#fff}select option{background:#fff}"]
240
+ }),
241
+ __metadata("design:paramtypes", [FormBuilder,
242
+ PaymentViewService,
243
+ PaymentLibComponent,
244
+ BulkScaningPaymentService])
245
+ ], MarkUnsolicitedPaymentComponent);
246
+ return MarkUnsolicitedPaymentComponent;
247
+ }());
248
+ export { MarkUnsolicitedPaymentComponent };
249
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFyay11bnNvbGljaXRlZC1wYXltZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9jY3BheS13ZWItY29tcG9uZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbWFyay11bnNvbGljaXRlZC1wYXltZW50L21hcmstdW5zb2xpY2l0ZWQtcGF5bWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUU3RyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN6RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQVNqRjtJQTRCRSx5Q0FBb0IsV0FBd0IsRUFDcEMsa0JBQXNDLEVBQ3RDLG1CQUF3QyxFQUN4Qyx5QkFBb0Q7UUFIeEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDcEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUEzQjVELG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUNuQyxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFDbkMsOEJBQXlCLEdBQVksS0FBSyxDQUFDO1FBQzNDLDZCQUF3QixHQUFZLEtBQUssQ0FBQztRQUMxQyxpQkFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFJM0MsV0FBTSxHQUFXLElBQUksQ0FBQztRQUt0Qiw0QkFBdUIsR0FBWSxLQUFLLENBQUM7UUFDekMsNkJBQXdCLEdBQVksS0FBSyxDQUFDO1FBQzFDLGlCQUFZLEdBQVcsSUFBSSxDQUFDO1FBQzVCLHVCQUFrQixHQUFXLElBQUksQ0FBQztRQUdsQyx5QkFBb0IsR0FBWSxJQUFJLENBQUM7SUFNMkIsQ0FBQztJQUVqRSxrREFBUSxHQUFSO1FBQUEsaUJBbUNDO1FBbENDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQztRQUM5RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUM7UUFDMUQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUM7UUFDaEUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFFNUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxDQUFDLFNBQVMsQ0FDM0MsVUFBQSxPQUFPO1lBQ0wsS0FBSSxDQUFDLHdCQUF3QixHQUFHLEtBQUssQ0FBQztZQUN0QyxLQUFJLENBQUMsWUFBWSxHQUFHLEtBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEQsS0FBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hDLENBQUMsRUFDRCxVQUFBLEdBQUc7WUFDRCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN0QixLQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDO1lBQ3JDLEtBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUN2RCxNQUFNLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUM7Z0JBQzdDLFVBQVUsQ0FBQyxRQUFRO2dCQUNuQixVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDdkIsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7Z0JBQ3pCLFVBQVUsQ0FBQyxPQUFPLENBQUMseUJBQXlCLENBQUM7YUFDOUMsQ0FBQyxDQUFDO1lBQ0gsaUJBQWlCLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUM7Z0JBQ3hELFVBQVUsQ0FBQyxRQUFRO2dCQUNuQixVQUFVLENBQUMsT0FBTyxDQUFDLDhCQUE4QixDQUFDO2FBQ25ELENBQUMsQ0FBQztZQUNILGlCQUFpQixFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUN0QyxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDO1NBQzdCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCx3REFBYyxHQUFkLFVBQWUsTUFBYztRQUMzQixPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUMsR0FBRyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUNELHlEQUFlLEdBQWY7UUFBQSxpQkF3RUM7UUF2RUMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQztRQUNwQyxJQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsUUFBUSxDQUFDO1FBQzFELElBQUcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDN0IsSUFBSSxnQkFBZ0IsR0FBRztnQkFDckIsaUJBQWlCLEVBQUMsYUFBYTtnQkFDL0IseUJBQXlCLEVBQUU7b0JBQ3pCLFdBQVcsRUFBRSxFQUFFO29CQUNmLElBQUksRUFBRSxhQUFhO2lCQUNwQjtnQkFDRCxtQkFBbUIsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUs7Z0JBQzFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxjQUFjO2dCQUNyQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVE7YUFDdkIsQ0FBQTtZQUNELElBQU0saUJBQWlCLEdBQUcsSUFBSSxzQkFBc0IsQ0FDbkQsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztZQUNyRyxJQUFJLENBQUMseUJBQXlCLENBQUMsbUJBQW1CLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxTQUFTLENBQzdFLFVBQUEsR0FBRztnQkFDRCxLQUFJLENBQUMsWUFBWSxHQUFHLEtBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hELElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQy9CLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRTtvQkFDckIsS0FBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7aUJBQzlCO1lBQ0gsQ0FBQyxFQUNELFVBQUMsS0FBVTtnQkFDVCxLQUFJLENBQUMsWUFBWSxHQUFHLEtBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQy9DLEtBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUM7WUFDdkMsQ0FBQyxDQUFDLENBQUM7U0FDTjthQUFNO1lBQ1AsK0NBQStDO1lBQy9DLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FDNUcsVUFBQSxJQUFJO2dCQUNGLEtBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDaEQsSUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFDakMsV0FBVyxHQUFHLElBQUksc0JBQXNCLENBQ3ZDLEtBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSSxDQUFDLGdCQUFnQixFQUFFLEtBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSSxDQUFDLGtCQUFrQixDQUFDLENBQUE7Z0JBQ2pGLEtBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsU0FBUyxDQUMzRCxVQUFBLElBQUk7b0JBQ0YsS0FBSSxDQUFDLFlBQVksR0FBRyxLQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNoRCxJQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUNsQyxPQUFPLEdBQUcsSUFBSSwwQkFBMEIsQ0FDdkMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLHVCQUF1QixFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSSxDQUFDLGNBQWMsRUFBRSxRQUFRLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQzlLLElBQUksU0FBUyxDQUFDLE9BQU8sRUFBRTt3QkFDdEIsS0FBSSxDQUFDLGtCQUFrQixDQUFDLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FDbEUsVUFBQSxJQUFJOzRCQUNGLEtBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQzs0QkFDaEQsSUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQzs0QkFDbkMsSUFBSSxTQUFTLENBQUMsT0FBTyxFQUFFO2dDQUNyQixLQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQzs2QkFDL0I7d0JBQ0gsQ0FBQyxFQUNELFVBQUMsS0FBVTs0QkFDVCxLQUFJLENBQUMseUJBQXlCLENBQUMsbUJBQW1CLENBQUMsS0FBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQzs0QkFDaEgsS0FBSSxDQUFDLFlBQVksR0FBRyxLQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDOzRCQUMvQyxLQUFJLENBQUMsdUJBQXVCLEdBQUcsS0FBSyxDQUFDO3dCQUN2QyxDQUFDLENBQ0YsQ0FBQztxQkFDSDtnQkFDSCxDQUFDLEVBQ0QsVUFBQyxLQUFVO29CQUNULEtBQUksQ0FBQyx5QkFBeUIsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUNoSCxLQUFJLENBQUMsWUFBWSxHQUFHLEtBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQy9DLEtBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUM7Z0JBQ3ZDLENBQUMsQ0FDRixDQUFDO1lBQ0osQ0FBQyxFQUNELFVBQUMsS0FBVTtnQkFDVCxLQUFJLENBQUMsWUFBWSxHQUFHLEtBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQy9DLEtBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUM7WUFDdkMsQ0FBQyxDQUNGLENBQUM7U0FDRDtJQUNILENBQUM7SUFDRix5REFBZSxHQUFmO1FBQ0csSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDekQsSUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQ3pFLElBQU0sV0FBVyxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ3BFLDRDQUE0QztRQUM1QyxJQUFNLGFBQWEsR0FBSSxJQUFJLENBQUMsMEJBQTBCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDO1FBQ3RGLElBQUksSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsMEJBQTBCLENBQUMsS0FBSyxFQUFFO1lBQ2xGLElBQU0sUUFBUSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUM7WUFDMUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUN0QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQztZQUM3QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQztZQUMxRCxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsNEJBQTRCLENBQUM7U0FDaEQ7YUFBSztZQUNKLElBQUksV0FBVyxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUc7Z0JBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2FBQ2hFO1lBQ0QsSUFBRyxXQUFXLENBQUMsS0FBSyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsMEJBQTBCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUc7Z0JBQ3RGLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUMsSUFBSSxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2FBQ2hFO1lBQ0QsSUFBRyxTQUFTLElBQUksU0FBUyxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxDQUFDLEVBQUc7Z0JBQzVFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLElBQUksRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2FBQ2hFO1lBQ0QsSUFBRyxTQUFTLElBQUksU0FBUyxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxHQUFHLEVBQUc7Z0JBQzlFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUMsS0FBSyxFQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2FBQ2hFO1lBQ0QsSUFBRyxhQUFhLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBRTtnQkFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUMsS0FBSyxDQUFDLEVBQUUsbUJBQW1CLENBQUMsQ0FBQzthQUMzRTtZQUNELElBQUcsYUFBYSxDQUFDLEtBQUssSUFBSSxFQUFFLElBQUksYUFBYSxDQUFDLE9BQU8sRUFBRTtnQkFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsSUFBSSxDQUFDLEVBQUMsbUJBQW1CLENBQUMsQ0FBQzthQUMxRTtTQUNGO0lBQ0gsQ0FBQztJQUNELG1EQUFTLEdBQVQsVUFBVSxHQUFHLEVBQUUsS0FBSztRQUNsQixJQUFHLEtBQUssS0FBRyxRQUFRLElBQUksS0FBSyxLQUFHLEtBQUssRUFBRTtZQUNwQyxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDakM7UUFDRCxJQUFHLEtBQUssS0FBRyxtQkFBbUIsSUFBSSxLQUFLLEtBQUcsS0FBSyxFQUFFO1lBQy9DLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLHlCQUF5QixHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN6QztJQUNILENBQUM7SUFFSCx1RUFBNkIsR0FBN0IsVUFBOEIsSUFBWTtRQUN0QyxJQUFHLElBQUksSUFBSSxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzVCLElBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUM7Z0JBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsMEJBQTBCLENBQUM7YUFDOUM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7YUFDL0I7U0FDRjthQUFNO1lBQ0wsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDeEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBQ0QsMkRBQWlCLEdBQWpCO1FBQ0UsSUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssQ0FBQztRQUN6RCxJQUFJLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFFeEIsS0FBSyxJQUFJLEtBQUssSUFBSSxVQUFVLEVBQUU7WUFDNUIsSUFBSSxVQUFVLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSSxFQUFFLEVBQUU7Z0JBQy9ELFdBQVcsR0FBRyxJQUFJLENBQUM7Z0JBQ25CLE1BQU07YUFDUDtTQUNGO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUNELGdFQUFzQixHQUF0QjtRQUNFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEdBQUcsbUJBQW1CLENBQUM7UUFDeEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDNUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDN0MsQ0FBQztJQUNBLDhEQUFvQixHQUFwQjtRQUFBLGlCQWtCQTtRQWpCQyxJQUFJLENBQUMseUJBQXlCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FDNUUsVUFBQSxrQkFBa0I7WUFFbEIsS0FBSSxDQUFDLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBQSxPQUFPO2dCQUN4RSxPQUFPLE9BQU8sSUFBSSxPQUFPLENBQUMsYUFBYSxJQUFJLEtBQUksQ0FBQyxZQUFZLENBQUM7WUFDL0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDTCxLQUFJLENBQUMsTUFBTSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLHNCQUFzQixDQUFDO1lBQy9ELElBQU0sV0FBVyxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLGFBQWEsRUFDM0QsaUJBQWlCLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsMEJBQTBCLEVBQ3pFLGtCQUFrQixHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxLQUFLLEtBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLGFBQWEsQ0FBQztZQUN4SCxLQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDckQsS0FBSSxDQUFDLGtCQUFrQixHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUM7UUFDekYsQ0FBQyxFQUNDLFVBQUMsS0FBVTtZQUNULEtBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCx5REFBZSxHQUFmLFVBQWdCLFlBQVk7UUFDMUIsT0FBTztZQUNMLEtBQUssRUFBRSx1QkFBdUI7WUFDOUIsSUFBSSxFQUFFLHlCQUF5QjtZQUMvQixTQUFTLEVBQUUsWUFBWTtTQUN4QixDQUFDO0lBQ0osQ0FBQztJQUVELHNEQUFZLEdBQVosVUFBYSxJQUFJO1FBQ2YsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUN4QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDOUUsQ0FBQzs7Z0JBaE9nQyxXQUFXO2dCQUNoQixrQkFBa0I7Z0JBQ2pCLG1CQUFtQjtnQkFDYix5QkFBeUI7O0lBOUJuRDtRQUFSLEtBQUssRUFBRTs7cUVBQWtCO0lBRGYsK0JBQStCO1FBTDNDLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSw4QkFBOEI7WUFDeEMscTVNQUF3RDs7U0FFekQsQ0FBQzt5Q0E2QmlDLFdBQVc7WUFDaEIsa0JBQWtCO1lBQ2pCLG1CQUFtQjtZQUNiLHlCQUF5QjtPQS9CakQsK0JBQStCLENBOFAzQztJQUFELHNDQUFDO0NBQUEsQUE5UEQsSUE4UEM7U0E5UFksK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFBheW1lbnRMaWJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYXltZW50LWxpYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnVsa1NjYW5pbmdQYXltZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2J1bGstc2NhbmluZy1wYXltZW50L2J1bGstc2NhbmluZy1wYXltZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgSUJTUGF5bWVudHMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lCU1BheW1lbnRzJztcbmltcG9ydCB7IFVuc29saWNpdGVkUGF5bWVudHNSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9VbnNvbGljaXRlZFBheW1lbnRzUmVxdWVzdCc7XG5pbXBvcnQgeyBQYXltZW50Vmlld1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wYXltZW50LXZpZXcvcGF5bWVudC12aWV3LnNlcnZpY2UnO1xuaW1wb3J0IHsgQWxsb2NhdGVQYXltZW50UmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQWxsb2NhdGVQYXltZW50UmVxdWVzdCc7XG5pbXBvcnQgeyBFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2hhcmVkL2Vycm9yLWhhbmRsZXIuc2VydmljZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLW1hcmstdW5zb2xpY2l0ZWQtcGF5bWVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXJrLXVuc29saWNpdGVkLXBheW1lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXJrLXVuc29saWNpdGVkLXBheW1lbnQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBNYXJrVW5zb2xpY2l0ZWRQYXltZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgY2FzZVR5cGU6IHN0cmluZztcbiAgbWFya1BheW1lbnRVbnNvbGljaXRlZEZvcm06IEZvcm1Hcm91cDtcbiAgdmlld1N0YXR1czogc3RyaW5nO1xuICByZWFzb25IYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1JlYXNvbkVtcHR5OiBib29sZWFuID0gZmFsc2U7XG4gIHJlYXNvbk1pbkhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIHJlYXNvbk1heEhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIHJlc3BvbnNpYmxlT2ZmaWNlSGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNSZXNwb25zaWJsZU9mZmljZUVtcHR5OiBib29sZWFuID0gZmFsc2U7XG4gIGVycm9yTWVzc2FnZSA9IHRoaXMuZ2V0RXJyb3JNZXNzYWdlKGZhbHNlKTtcbiAgY2NkQ2FzZU51bWJlcjogc3RyaW5nO1xuICBic3BheW1lbnRkY246IHN0cmluZztcbiAgdW5hc3NpZ25lZFJlY29yZDogSUJTUGF5bWVudHM7XG4gIHNpdGVJRDogc3RyaW5nID0gbnVsbDtcbiAgcmVhc29uOiBzdHJpbmc7XG4gIHJlc3BvbnNpYmxlUGVyc29uOiBzdHJpbmc7XG4gIHJlc3BvbnNpYmxlT2ZmaWNlOiBzdHJpbmc7XG4gIGVtYWlsSWQ6IHN0cmluZztcbiAgaXNDb25maXJtQnV0dG9uZGlzYWJsZWQ6IEJvb2xlYW4gPSBmYWxzZTtcbiAgaXNDb250aW51ZUJ1dHRvbmRpc2FibGVkOiBCb29sZWFuID0gZmFsc2U7XG4gIGNjZFJlZmVyZW5jZTogc3RyaW5nID0gbnVsbDtcbiAgZXhjZXB0aW9uUmVmZXJlbmNlOiBzdHJpbmcgPSBudWxsO1xuICBzZWxlY3RlZFNpdGVJZDogc3RyaW5nO1xuICBzZWxlY3RlZFNpdGVOYW1lOiBzdHJpbmc7XG4gIGlzU3RyYXRlZ2ljRml4RW5hYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgc2l0ZUlETGlzdDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgcHJpdmF0ZSBwYXltZW50Vmlld1NlcnZpY2U6IFBheW1lbnRWaWV3U2VydmljZSxcbiAgcHJpdmF0ZSBwYXltZW50TGliQ29tcG9uZW50OiBQYXltZW50TGliQ29tcG9uZW50LFxuICBwcml2YXRlIGJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2U6IEJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZV0sICdhbGwnKTtcbiAgICB0aGlzLnZpZXdTdGF0dXMgPSAnbWFpbkZvcm0nO1xuICAgIHRoaXMuY2NkQ2FzZU51bWJlciA9IHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5DQ0RfQ0FTRV9OVU1CRVI7XG4gICAgdGhpcy5ic3BheW1lbnRkY24gPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuYnNwYXltZW50ZGNuO1xuICAgIHRoaXMuaXNTdHJhdGVnaWNGaXhFbmFibGUgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuSVNTRkVOQUJMRTtcbiAgICB0aGlzLmdldFVuYXNzaWduZWRQYXltZW50KCk7XG5cbiAgICB0aGlzLnBheW1lbnRWaWV3U2VydmljZS5nZXRTaXRlSUQoKS5zdWJzY3JpYmUoXG4gICAgICBzaXRlaWRzID0+IHtcbiAgICAgICAgdGhpcy5pc0NvbnRpbnVlQnV0dG9uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmdldEVycm9yTWVzc2FnZShmYWxzZSk7XG4gICAgICAgIHRoaXMuc2l0ZUlETGlzdCA9IEpTT04ucGFyc2Uoc2l0ZWlkcyk7XG4gICAgICB9LFxuICAgICAgZXJyID0+IHtcbiAgICAgICAgd2luZG93LnNjcm9sbFRvKDAsIDApO1xuICAgICAgICB0aGlzLmlzQ29udGludWVCdXR0b25kaXNhYmxlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5nZXRFcnJvck1lc3NhZ2UodHJ1ZSk7XG4gICAgICB9XG4gICAgKTtcbiAgICBcbiAgICB0aGlzLm1hcmtQYXltZW50VW5zb2xpY2l0ZWRGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICByZWFzb246IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgVmFsaWRhdG9ycy5taW5MZW5ndGgoMyksXG4gICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NSksXG4gICAgICAgIFZhbGlkYXRvcnMucGF0dGVybignXihbYS16QS1aMC05XFxcXHMsXFxcXC5dKikkJylcbiAgICAgIF0pKSxcbiAgICAgIHJlc3BvbnNpYmxlT2ZmaWNlOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMucGF0dGVybignXihbYS16QS1aMC05XFxcXHNcXFxcbixcXFxcLi06XSopJCcpXG4gICAgICBdKSksXG4gICAgICByZXNwb25zaWJsZVBlcnNvbjogbmV3IEZvcm1Db250cm9sKCcnKSxcbiAgICAgIGVtYWlsSWQ6IG5ldyBGb3JtQ29udHJvbCgnJylcbiAgICB9KTtcbiAgfVxuICB0cmltVW5kZXJzY29yZShtZXRob2Q6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMuYnVsa1NjYW5pbmdQYXltZW50U2VydmljZS5yZW1vdmVVbndhbnRlZFN0cmluZyhtZXRob2QsJyAnKTtcbiAgfVxuICBjb25maXJtUGF5bWVudHMoKSB7XG4gICAgdGhpcy5pc0NvbmZpcm1CdXR0b25kaXNhYmxlZCA9IHRydWU7XG4gICAgY29uc3QgY29udHJvbHMgPSB0aGlzLm1hcmtQYXltZW50VW5zb2xpY2l0ZWRGb3JtLmNvbnRyb2xzO1xuICAgIGlmKCF0aGlzLmlzU3RyYXRlZ2ljRml4RW5hYmxlKSB7XG4gICAgICBsZXQgYWxsb2NhdGVkUmVxdWVzdCA9IHtcbiAgICAgICAgYWxsb2NhdGlvbl9zdGF0dXM6J1RyYW5zZmVycmVkJyxcbiAgICAgICAgcGF5bWVudF9hbGxvY2F0aW9uX3N0YXR1czoge1xuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICAgICAgICBuYW1lOiAnVHJhbnNmZXJyZWQnXG4gICAgICAgIH0sXG4gICAgICAgIHVuaWRlbnRpZmllZF9yZWFzb246IGNvbnRyb2xzLnJlYXNvbi52YWx1ZSxcbiAgICAgICAgcmVjZWl2aW5nX29mZmljZTogdGhpcy5zZWxlY3RlZFNpdGVJZCxcbiAgICAgICAgdXNlcl9pZDogdGhpcy5jYXNlVHlwZSxcbiAgICAgIH1cbiAgICAgIGNvbnN0IHBvc3RTdHJhdGVnaWNCb2R5ID0gbmV3IEFsbG9jYXRlUGF5bWVudFJlcXVlc3RcbiAgICAgICh0aGlzLmNjZFJlZmVyZW5jZSwgdGhpcy51bmFzc2lnbmVkUmVjb3JkLCB0aGlzLmNhc2VUeXBlLCB0aGlzLmV4Y2VwdGlvblJlZmVyZW5jZSwgYWxsb2NhdGVkUmVxdWVzdCk7XG4gICAgICB0aGlzLmJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2UucG9zdEJTV29QR1N0cmF0ZWdpYyhwb3N0U3RyYXRlZ2ljQm9keSkuc3Vic2NyaWJlKFxuICAgICAgICByZXMgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5nZXRFcnJvck1lc3NhZ2UoZmFsc2UpO1xuICAgICAgICAgIGxldCByZXNwb25zZSA9IEpTT04ucGFyc2UocmVzKTtcbiAgICAgICAgICBpZiAocmVzcG9uc2Uuc3VjY2Vzcykge1xuICAgICAgICAgICB0aGlzLmdvdG9DYXNldHJhbnNhdGlvblBhZ2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmdldEVycm9yTWVzc2FnZSh0cnVlKTtcbiAgICAgICAgICB0aGlzLmlzQ29uZmlybUJ1dHRvbmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgLy8gY29udHJvbHMucmVzcG9uc2libGVPZmZpY2Uuc2V0VmFsdWUoJ1AyMTknKTtcbiAgICB0aGlzLmJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2UucGF0Y2hCU0NoYW5nZVN0YXR1cyh0aGlzLnVuYXNzaWduZWRSZWNvcmQuZGNuX3JlZmVyZW5jZSwgJ1BST0NFU1NFRCcpLnN1YnNjcmliZShcbiAgICAgIHJlczEgPT4ge1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZ2V0RXJyb3JNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UxID0gSlNPTi5wYXJzZShyZXMxKSxcbiAgICAgICAgIHJlcXVlc3RCb2R5ID0gbmV3IEFsbG9jYXRlUGF5bWVudFJlcXVlc3RcbiAgICAgICAgICh0aGlzLmNjZFJlZmVyZW5jZSwgdGhpcy51bmFzc2lnbmVkUmVjb3JkLCB0aGlzLnNpdGVJRCwgdGhpcy5leGNlcHRpb25SZWZlcmVuY2UpXG4gICAgICAgIHRoaXMucGF5bWVudFZpZXdTZXJ2aWNlLnBvc3RCU1BheW1lbnRzKHJlcXVlc3RCb2R5KS5zdWJzY3JpYmUoXG4gICAgICAgICAgcmVzMiA9PiB7XG4gICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZ2V0RXJyb3JNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlMiA9IEpTT04ucGFyc2UocmVzMiksXG4gICAgICAgICAgICByZXFCb2R5ID0gbmV3IFVuc29saWNpdGVkUGF5bWVudHNSZXF1ZXN0XG4gICAgICAgICAgICAocmVzcG9uc2UyWydkYXRhJ10ucGF5bWVudF9ncm91cF9yZWZlcmVuY2UsIHJlc3BvbnNlMlsnZGF0YSddLnJlZmVyZW5jZSwgY29udHJvbHMucmVhc29uLnZhbHVlLCB0aGlzLnNlbGVjdGVkU2l0ZUlkLCBjb250cm9scy5yZXNwb25zaWJsZVBlcnNvbi52YWx1ZSwgY29udHJvbHMuZW1haWxJZC52YWx1ZSk7XG4gICAgICAgICAgICAgaWYgKHJlc3BvbnNlMi5zdWNjZXNzKSB7XG4gICAgICAgICAgICAgIHRoaXMucGF5bWVudFZpZXdTZXJ2aWNlLnBvc3RCU1Vuc29saWNpdGVkUGF5bWVudHMocmVxQm9keSkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIHJlczMgPT4ge1xuICAgICAgICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmdldEVycm9yTWVzc2FnZShmYWxzZSk7XG4gICAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZTMgPSBKU09OLnBhcnNlKHJlczMpO1xuICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlMy5zdWNjZXNzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ290b0Nhc2V0cmFuc2F0aW9uUGFnZSgpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuYnVsa1NjYW5pbmdQYXltZW50U2VydmljZS5wYXRjaEJTQ2hhbmdlU3RhdHVzKHRoaXMudW5hc3NpZ25lZFJlY29yZC5kY25fcmVmZXJlbmNlLCAnQ09NUExFVEUnKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5nZXRFcnJvck1lc3NhZ2UodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICB0aGlzLmlzQ29uZmlybUJ1dHRvbmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYnVsa1NjYW5pbmdQYXltZW50U2VydmljZS5wYXRjaEJTQ2hhbmdlU3RhdHVzKHRoaXMudW5hc3NpZ25lZFJlY29yZC5kY25fcmVmZXJlbmNlLCAnQ09NUExFVEUnKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5nZXRFcnJvck1lc3NhZ2UodHJ1ZSk7XG4gICAgICAgICAgICB0aGlzLmlzQ29uZmlybUJ1dHRvbmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5nZXRFcnJvck1lc3NhZ2UodHJ1ZSk7XG4gICAgICAgIHRoaXMuaXNDb25maXJtQnV0dG9uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICApO1xuICAgIH1cbiAgfVxuIHNhdmVBbmRDb250aW51ZSgpIHtcbiAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2VdLCAnYWxsJyk7XG4gICAgICAgIGNvbnN0IGZvcm1lcnJvciA9IHRoaXMubWFya1BheW1lbnRVbnNvbGljaXRlZEZvcm0uY29udHJvbHMucmVhc29uLmVycm9ycztcbiAgICAgICAgY29uc3QgcmVhc29uRmllbGQgPSB0aGlzLm1hcmtQYXltZW50VW5zb2xpY2l0ZWRGb3JtLmNvbnRyb2xzLnJlYXNvbjtcbiAgICAgICAgLy9jb25zdCBvZmZpY2VJZEZpZWxkID0gdGhpcy5zZWxlY3RlZFNpdGVJZDtcbiAgICAgICAgY29uc3Qgb2ZmaWNlSWRGaWVsZCAgPSB0aGlzLm1hcmtQYXltZW50VW5zb2xpY2l0ZWRGb3JtLmNvbnRyb2xzLnJlc3BvbnNpYmxlT2ZmaWNlO1xuICAgIGlmICh0aGlzLm1hcmtQYXltZW50VW5zb2xpY2l0ZWRGb3JtLmRpcnR5ICYmIHRoaXMubWFya1BheW1lbnRVbnNvbGljaXRlZEZvcm0udmFsaWQpIHtcbiAgICAgIGNvbnN0IGNvbnRyb2xzID0gdGhpcy5tYXJrUGF5bWVudFVuc29saWNpdGVkRm9ybS5jb250cm9scztcbiAgICAgIHRoaXMuZW1haWxJZCA9IGNvbnRyb2xzLmVtYWlsSWQudmFsdWU7XG4gICAgICB0aGlzLnJlc3BvbnNpYmxlT2ZmaWNlID0gb2ZmaWNlSWRGaWVsZC52YWx1ZTtcbiAgICAgIHRoaXMucmVzcG9uc2libGVQZXJzb24gPSBjb250cm9scy5yZXNwb25zaWJsZVBlcnNvbi52YWx1ZTtcbiAgICAgIHRoaXMucmVhc29uID0gY29udHJvbHMucmVhc29uLnZhbHVlO1xuICAgICAgdGhpcy52aWV3U3RhdHVzID0gJ3Vuc29saWNpdGVkQ29udGludWVDb25maXJtJztcbiAgICB9ZWxzZSB7XG4gICAgICBpZiggcmVhc29uRmllbGQudmFsdWUgPT0gJycgKSB7XG4gICAgICAgIHRoaXMucmVzZXRGb3JtKFt0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlXSwgJ3JlYXNvbicpO1xuICAgICAgfVxuICAgICAgaWYocmVhc29uRmllbGQudmFsdWUgIT0gJycgJiYgdGhpcy5tYXJrUGF5bWVudFVuc29saWNpdGVkRm9ybS5jb250cm9scy5yZWFzb24uaW52YWxpZCApIHtcbiAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2VdLCAncmVhc29uJyk7XG4gICAgICB9XG4gICAgICBpZihmb3JtZXJyb3IgJiYgZm9ybWVycm9yLm1pbmxlbmd0aCAmJiBmb3JtZXJyb3IubWlubGVuZ3RoLmFjdHVhbExlbmd0aCA8IDMgKSB7XG4gICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlXSwgJ3JlYXNvbicpO1xuICAgICAgfVxuICAgICAgaWYoZm9ybWVycm9yICYmIGZvcm1lcnJvci5tYXhsZW5ndGggJiYgZm9ybWVycm9yLm1heGxlbmd0aC5hY3R1YWxMZW5ndGggPiAyNTUgKSB7XG4gICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlXSwgJ3JlYXNvbicpO1xuICAgICAgfVxuICAgICAgaWYob2ZmaWNlSWRGaWVsZC52YWx1ZSA9PSAnJykge1xuICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZV0sICdyZXNwb25zaWJsZU9mZmljZScpO1xuICAgICAgfVxuICAgICAgaWYob2ZmaWNlSWRGaWVsZC52YWx1ZSAhPSAnJyAmJiBvZmZpY2VJZEZpZWxkLmludmFsaWQpIHtcbiAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLHRydWVdLCdyZXNwb25zaWJsZU9mZmljZScpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXNldEZvcm0odmFsLCBmaWVsZCkge1xuICAgIGlmKGZpZWxkPT09J3JlYXNvbicgfHwgZmllbGQ9PT0nYWxsJykge1xuICAgICAgdGhpcy5pc1JlYXNvbkVtcHR5ID0gdmFsWzBdO1xuICAgICAgdGhpcy5yZWFzb25IYXNFcnJvciA9IHZhbFsxXTtcbiAgICAgIHRoaXMucmVhc29uTWluSGFzRXJyb3IgPSB2YWxbMl07XG4gICAgICB0aGlzLnJlYXNvbk1heEhhc0Vycm9yID0gdmFsWzNdO1xuICAgIH1cbiAgICBpZihmaWVsZD09PSdyZXNwb25zaWJsZU9mZmljZScgfHwgZmllbGQ9PT0nYWxsJykge1xuICAgICAgdGhpcy5pc1Jlc3BvbnNpYmxlT2ZmaWNlRW1wdHkgPSB2YWxbNF07XG4gICAgICB0aGlzLnJlc3BvbnNpYmxlT2ZmaWNlSGFzRXJyb3IgPSB2YWxbNV07XG4gICAgfVxuICB9XG5cbmNhbmNlbE1hcmtVbnNvbGljaXRlZFBheW1lbnRzKHR5cGU/OnN0cmluZyl7XG4gICAgaWYodHlwZSAmJiB0eXBlID09PSAnY2FuY2VsJykge1xuICAgICAgaWYodGhpcy5jaGVja2luZ0Zvcm1WYWx1ZSgpKXtcbiAgICAgICAgdGhpcy52aWV3U3RhdHVzID0gJ3Vuc29saWNpdGVkQ2FuY2VsQ29uZmlybSc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmdvdG9DYXNldHJhbnNhdGlvblBhZ2UoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tYXJrUGF5bWVudFVuc29saWNpdGVkRm9ybS5jb250cm9scy5yZXNwb25zaWJsZU9mZmljZS5zZXRWYWx1ZSgnJyk7XG4gICAgICB0aGlzLnZpZXdTdGF0dXMgPSAnbWFpbkZvcm0nO1xuICAgIH1cbiAgfVxuICBjaGVja2luZ0Zvcm1WYWx1ZSgpe1xuICAgIGNvbnN0IGZvcm1GaWVsZHMgPSB0aGlzLm1hcmtQYXltZW50VW5zb2xpY2l0ZWRGb3JtLnZhbHVlO1xuICAgIGxldCB2YWx1ZUV4aXN0cyA9IGZhbHNlO1xuXG4gICAgZm9yICh2YXIgZmllbGQgaW4gZm9ybUZpZWxkcykge1xuICAgICAgaWYgKGZvcm1GaWVsZHMuaGFzT3duUHJvcGVydHkoZmllbGQpICYmIGZvcm1GaWVsZHNbZmllbGRdICE9PVwiXCIpIHtcbiAgICAgICAgdmFsdWVFeGlzdHMgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlRXhpc3RzO1xuICB9XG4gIGdvdG9DYXNldHJhbnNhdGlvblBhZ2UoKSB7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnZpZXdOYW1lID0gJ2Nhc2UtdHJhbnNhY3Rpb25zJztcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuVEFLRVBBWU1FTlQgPSB0cnVlO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5JU0JTRU5BQkxFID0gdHJ1ZTtcbiAgfVxuICAgZ2V0VW5hc3NpZ25lZFBheW1lbnQoKSB7XG4gICAgdGhpcy5idWxrU2NhbmluZ1BheW1lbnRTZXJ2aWNlLmdldEJTUGF5bWVudHNCeURDTih0aGlzLmJzcGF5bWVudGRjbikuc3Vic2NyaWJlKFxuICAgICAgdW5hc3NpZ25lZFBheW1lbnRzID0+IHtcbiAgICAgICAgXG4gICAgICB0aGlzLnVuYXNzaWduZWRSZWNvcmQgPSB1bmFzc2lnbmVkUGF5bWVudHNbJ2RhdGEnXS5wYXltZW50cy5maWx0ZXIocGF5bWVudCA9PiB7XG4gICAgICAgIHJldHVybiBwYXltZW50ICYmIHBheW1lbnQuZGNuX3JlZmVyZW5jZSA9PSB0aGlzLmJzcGF5bWVudGRjbjtcbiAgICAgIH0pWzBdO1xuICAgICAgIHRoaXMuc2l0ZUlEID0gdW5hc3NpZ25lZFBheW1lbnRzWydkYXRhJ10ucmVzcG9uc2libGVfc2VydmljZV9pZDtcbiAgICAgICAgY29uc3QgYmVDY2ROdW1iZXIgPSB1bmFzc2lnbmVkUGF5bWVudHNbJ2RhdGEnXS5jY2RfcmVmZXJlbmNlLFxuICAgICAgICAgYmVFeGNlcHRpb25OdW1iZXIgPSB1bmFzc2lnbmVkUGF5bWVudHNbJ2RhdGEnXS5leGNlcHRpb25fcmVjb3JkX3JlZmVyZW5jZSxcbiAgICAgICAgIGV4Y2VwdGlvblJlZmVyZW5jZSA9IGJlQ2NkTnVtYmVyID8gYmVDY2ROdW1iZXIgPT09IHRoaXMuY2NkQ2FzZU51bWJlciA/IG51bGwgOiB0aGlzLmNjZENhc2VOdW1iZXIgOiB0aGlzLmNjZENhc2VOdW1iZXI7XG4gICAgICAgIHRoaXMuY2NkUmVmZXJlbmNlID0gYmVDY2ROdW1iZXIgPyBiZUNjZE51bWJlciA6IG51bGw7XG4gICAgICAgIHRoaXMuZXhjZXB0aW9uUmVmZXJlbmNlID0gYmVFeGNlcHRpb25OdW1iZXIgPyBiZUV4Y2VwdGlvbk51bWJlciA6IGV4Y2VwdGlvblJlZmVyZW5jZTtcbiAgICB9LFxuICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmdldEVycm9yTWVzc2FnZSh0cnVlKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgZ2V0RXJyb3JNZXNzYWdlKGlzRXJyb3JFeGlzdCkge1xuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogXCJTb21ldGhpbmcgd2VudCB3cm9uZy5cIixcbiAgICAgIGJvZHk6IFwiUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci5cIixcbiAgICAgIHNob3dFcnJvcjogaXNFcnJvckV4aXN0XG4gICAgfTtcbiAgfVxuXG4gIHNlbGVjdGNoYW5nZShhcmdzKXsgXG4gICAgdGhpcy5zZWxlY3RlZFNpdGVJZCA9IGFyZ3MudGFyZ2V0LnZhbHVlOyBcbiAgICB0aGlzLnNlbGVjdGVkU2l0ZU5hbWUgPSBhcmdzLnRhcmdldC5vcHRpb25zW2FyZ3MudGFyZ2V0LnNlbGVjdGVkSW5kZXhdLnRleHQ7IFxuICB9IFxuXG59XG4iXX0=
@@ -0,0 +1,14 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component } from '@angular/core';
3
+ var PageNotFoundComponent = /** @class */ (function () {
4
+ function PageNotFoundComponent() {
5
+ }
6
+ PageNotFoundComponent = __decorate([
7
+ Component({
8
+ template: "\n <h1>This is not the page you were looking for!</h1>\n "
9
+ })
10
+ ], PageNotFoundComponent);
11
+ return PageNotFoundComponent;
12
+ }());
13
+ export { PageNotFoundComponent };
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1ub3QtZm91bmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9wYWdlLW5vdC1mb3VuZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPMUM7SUFBQTtJQUFxQyxDQUFDO0lBQXpCLHFCQUFxQjtRQUxqQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsaUVBRVQ7U0FDSixDQUFDO09BQ1cscUJBQXFCLENBQUk7SUFBRCw0QkFBQztDQUFBLEFBQXRDLElBQXNDO1NBQXpCLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZTogYFxuICAgIDxoMT5UaGlzIGlzIG5vdCB0aGUgcGFnZSB5b3Ugd2VyZSBsb29raW5nIGZvciE8L2gxPlxuICAgIGBcbn0pXG5leHBvcnQgY2xhc3MgUGFnZU5vdEZvdW5kQ29tcG9uZW50IHsgfVxuIl19