@hmcts/ccpay-web-component 6.0.0-beta9 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. package/esm2022/hmcts-ccpay-web-component.mjs +5 -0
  2. package/esm2022/lib/components/add-remission/add-remission.component.mjs +1189 -0
  3. package/esm2022/lib/components/allocate-payments/allocate-payments.component.mjs +407 -0
  4. package/esm2022/lib/components/card-details/card-details.component.mjs +32 -0
  5. package/esm2022/lib/components/case-transactions/case-transactions.component.mjs +798 -0
  6. package/esm2022/lib/components/contact-details/contact-details.component.mjs +338 -0
  7. package/esm2022/lib/components/error-banner/error-banner.component.mjs +18 -0
  8. package/esm2022/lib/components/fee-summary/fee-summary.component.mjs +247 -0
  9. package/esm2022/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.mjs +195 -0
  10. package/esm2022/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.mjs +255 -0
  11. package/esm2022/lib/components/notification-preview/notification-preview.component.mjs +79 -0
  12. package/esm2022/lib/components/page-not-found.component.mjs +17 -0
  13. package/esm2022/lib/components/payment-list/payment-list.component.mjs +36 -0
  14. package/esm2022/lib/components/payment-view/payment-view.component.mjs +416 -0
  15. package/esm2022/lib/components/pba-details/pba-details.component.mjs +18 -0
  16. package/esm2022/lib/components/pba-payment/pba-payment.component.mjs +151 -0
  17. package/esm2022/lib/components/process-refund/process-refund.component.mjs +417 -0
  18. package/esm2022/lib/components/processed-payments/processed-payments.component.mjs +37 -0
  19. package/esm2022/lib/components/refund-list/refund-list.component.mjs +73 -0
  20. package/esm2022/lib/components/refund-status/refund-status.component.mjs +453 -0
  21. package/esm2022/lib/components/reports/reports.component.mjs +291 -0
  22. package/esm2022/lib/components/service-request/service-request.component.mjs +456 -0
  23. package/esm2022/lib/components/status-history/status-history.component.mjs +33 -0
  24. package/esm2022/lib/components/table/table.component.mjs +128 -0
  25. package/esm2022/lib/components/unprocessed-payments/unprocessed-payments.component.mjs +236 -0
  26. package/esm2022/lib/interfaces/AddRemissionRequest.mjs +17 -0
  27. package/esm2022/lib/interfaces/AddRetroRemissionRequest.mjs +9 -0
  28. package/esm2022/lib/interfaces/AllocatePaymentRequest.mjs +41 -0
  29. package/esm2022/lib/interfaces/IAllocationPaymentsRequest.mjs +20 -0
  30. package/esm2022/lib/interfaces/IBSPayments.mjs +2 -0
  31. package/esm2022/lib/interfaces/ICardDetails.mjs +2 -0
  32. package/esm2022/lib/interfaces/IFee.mjs +2 -0
  33. package/esm2022/lib/interfaces/INotificationPreview.mjs +2 -0
  34. package/esm2022/lib/interfaces/IOrderReferenceFee.mjs +2 -0
  35. package/esm2022/lib/interfaces/IPatchRefundAction.mjs +2 -0
  36. package/esm2022/lib/interfaces/IPayment.mjs +2 -0
  37. package/esm2022/lib/interfaces/IPaymentFailure.mjs +2 -0
  38. package/esm2022/lib/interfaces/IPaymentGroup.mjs +2 -0
  39. package/esm2022/lib/interfaces/IPaymentStatus.mjs +12 -0
  40. package/esm2022/lib/interfaces/IPaymentView.mjs +2 -0
  41. package/esm2022/lib/interfaces/IPayments.mjs +2 -0
  42. package/esm2022/lib/interfaces/IPutNotificationRequest.mjs +13 -0
  43. package/esm2022/lib/interfaces/IRefundAction.mjs +2 -0
  44. package/esm2022/lib/interfaces/IRefundContactDetails.mjs +2 -0
  45. package/esm2022/lib/interfaces/IRefundFee.mjs +2 -0
  46. package/esm2022/lib/interfaces/IRefundList.mjs +2 -0
  47. package/esm2022/lib/interfaces/IRefundReasons.mjs +2 -0
  48. package/esm2022/lib/interfaces/IRefundRejectReason.mjs +2 -0
  49. package/esm2022/lib/interfaces/IRefundStatus.mjs +2 -0
  50. package/esm2022/lib/interfaces/IRefundStatusHistory.mjs +2 -0
  51. package/esm2022/lib/interfaces/IRefundsNotifications.mjs +2 -0
  52. package/esm2022/lib/interfaces/IRemission.mjs +2 -0
  53. package/esm2022/lib/interfaces/IResubmitRefundRequest.mjs +13 -0
  54. package/esm2022/lib/interfaces/IStatusHistories.mjs +2 -0
  55. package/esm2022/lib/interfaces/IStatusHistory.mjs +2 -0
  56. package/esm2022/lib/interfaces/IserviceRequestCardPayment.mjs +11 -0
  57. package/esm2022/lib/interfaces/IserviceRequestPbaPayment.mjs +15 -0
  58. package/esm2022/lib/interfaces/IssueRefundRequest.mjs +11 -0
  59. package/esm2022/lib/interfaces/NotificationPreviewRequest.mjs +45 -0
  60. package/esm2022/lib/interfaces/PayhubAntennaRequest.mjs +12 -0
  61. package/esm2022/lib/interfaces/PaymentToPayhubRequest.mjs +15 -0
  62. package/esm2022/lib/interfaces/PostIssueRefundRetroRemission.mjs +9 -0
  63. package/esm2022/lib/interfaces/PostRefundRetroRemission.mjs +18 -0
  64. package/esm2022/lib/interfaces/RefundsRequest.mjs +9 -0
  65. package/esm2022/lib/interfaces/UnidentifiedPaymentsRequest.mjs +16 -0
  66. package/esm2022/lib/interfaces/UnsolicitedPaymentsRequest.mjs +22 -0
  67. package/esm2022/lib/payment-lib.component.mjs +288 -0
  68. package/esm2022/lib/payment-lib.module.mjs +187 -0
  69. package/esm2022/lib/payment-lib.service.mjs +49 -0
  70. package/esm2022/lib/pipes/capitalize.pipe.mjs +18 -0
  71. package/esm2022/lib/pipes/ccd-hyphens.pipe.mjs +22 -0
  72. package/esm2022/lib/pipes/key-value.pipe.mjs +23 -0
  73. package/esm2022/lib/pipes/sanitize-html.pipe.mjs +20 -0
  74. package/esm2022/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.mjs +87 -0
  75. package/esm2022/lib/services/card-details/card-details.service.mjs +39 -0
  76. package/esm2022/lib/services/case-transactions/case-transactions.service.mjs +39 -0
  77. package/esm2022/lib/services/notification/notification.service.mjs +70 -0
  78. package/esm2022/lib/services/orderslist.service.mjs +154 -0
  79. package/esm2022/lib/services/payment-list/payment-list.service.mjs +40 -0
  80. package/esm2022/lib/services/payment-view/payment-view.service.mjs +152 -0
  81. package/esm2022/lib/services/refunds/refunds.service.mjs +117 -0
  82. package/esm2022/lib/services/shared/error-handler.service.mjs +96 -0
  83. package/esm2022/lib/services/shared/httpclient/webcomponent.http.client.mjs +64 -0
  84. package/esm2022/lib/services/shared/logger/console-logger.service.mjs +43 -0
  85. package/esm2022/lib/services/shared/logger/logger.service.mjs +23 -0
  86. package/{esm2015/lib/services/status-history/status-history.service.js → esm2022/lib/services/status-history/status-history.service.mjs} +13 -51
  87. package/esm2022/lib/services/xl-file/xl-file.service.mjs +153 -0
  88. package/esm2022/public_api.mjs +7 -0
  89. package/fesm2022/hmcts-ccpay-web-component.mjs +7874 -0
  90. package/fesm2022/hmcts-ccpay-web-component.mjs.map +1 -0
  91. package/index.d.ts +5 -0
  92. package/lib/components/add-remission/add-remission.component.d.ts +59 -7
  93. package/lib/components/allocate-payments/allocate-payments.component.d.ts +5 -6
  94. package/lib/components/card-details/card-details.component.d.ts +4 -1
  95. package/lib/components/case-transactions/case-transactions.component.d.ts +9 -7
  96. package/lib/components/contact-details/contact-details.component.d.ts +52 -0
  97. package/lib/components/error-banner/error-banner.component.d.ts +3 -0
  98. package/lib/components/fee-summary/fee-summary.component.d.ts +4 -3
  99. package/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.d.ts +4 -1
  100. package/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.d.ts +4 -1
  101. package/lib/components/notification-preview/notification-preview.component.d.ts +30 -0
  102. package/lib/components/page-not-found.component.d.ts +3 -0
  103. package/lib/components/payment-list/payment-list.component.d.ts +4 -1
  104. package/lib/components/payment-view/payment-view.component.d.ts +46 -12
  105. package/lib/components/pba-details/pba-details.component.d.ts +3 -0
  106. package/lib/components/pba-payment/pba-payment.component.d.ts +9 -1
  107. package/lib/components/process-refund/process-refund.component.d.ts +22 -2
  108. package/lib/components/processed-payments/processed-payments.component.d.ts +3 -0
  109. package/lib/components/refund-list/refund-list.component.d.ts +3 -0
  110. package/lib/components/refund-status/refund-status.component.d.ts +50 -10
  111. package/lib/components/reports/reports.component.d.ts +10 -5
  112. package/lib/components/service-request/service-request.component.d.ts +42 -14
  113. package/lib/components/status-history/status-history.component.d.ts +4 -1
  114. package/lib/components/table/table.component.d.ts +5 -1
  115. package/lib/components/unprocessed-payments/unprocessed-payments.component.d.ts +4 -5
  116. package/lib/interfaces/IFee.d.ts +6 -0
  117. package/lib/interfaces/INotificationPreview.d.ts +27 -0
  118. package/lib/interfaces/IPayment.d.ts +3 -0
  119. package/lib/interfaces/IPaymentFailure.d.ts +13 -0
  120. package/lib/interfaces/IPutNotificationRequest.d.ts +6 -0
  121. package/lib/interfaces/IRefundContactDetails.d.ts +9 -0
  122. package/lib/interfaces/IRefundFee.d.ts +7 -0
  123. package/lib/interfaces/IRefundList.d.ts +5 -0
  124. package/lib/interfaces/IRefundsNotifications.d.ts +16 -0
  125. package/lib/interfaces/IRemission.d.ts +3 -0
  126. package/lib/interfaces/IResubmitRefundRequest.d.ts +5 -1
  127. package/lib/interfaces/IserviceRequestPbaPayment.d.ts +2 -1
  128. package/lib/interfaces/NotificationPreviewRequest.d.ts +24 -0
  129. package/lib/interfaces/PostIssueRefundRetroRemission.d.ts +3 -1
  130. package/lib/interfaces/PostRefundRetroRemission.d.ts +7 -1
  131. package/lib/payment-lib.component.d.ts +7 -5
  132. package/lib/payment-lib.module.d.ts +40 -0
  133. package/lib/payment-lib.service.d.ts +9 -3
  134. package/lib/pipes/capitalize.pipe.d.ts +3 -0
  135. package/lib/pipes/ccd-hyphens.pipe.d.ts +3 -0
  136. package/lib/pipes/key-value.pipe.d.ts +3 -0
  137. package/lib/pipes/sanitize-html.pipe.d.ts +3 -0
  138. package/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.d.ts +4 -1
  139. package/lib/services/card-details/card-details.service.d.ts +3 -0
  140. package/lib/services/case-transactions/case-transactions.service.d.ts +4 -1
  141. package/lib/services/notification/notification.service.d.ts +21 -0
  142. package/lib/services/orderslist.service.d.ts +3 -0
  143. package/lib/services/payment-list/payment-list.service.d.ts +3 -0
  144. package/lib/services/payment-view/payment-view.service.d.ts +6 -1
  145. package/lib/services/refunds/refunds.service.d.ts +6 -1
  146. package/lib/services/shared/error-handler.service.d.ts +5 -2
  147. package/lib/services/shared/httpclient/webcomponent.http.client.d.ts +3 -0
  148. package/lib/services/shared/logger/console-logger.service.d.ts +6 -3
  149. package/lib/services/shared/logger/logger.service.d.ts +3 -0
  150. package/lib/services/status-history/status-history.service.d.ts +3 -0
  151. package/lib/services/xl-file/xl-file.service.d.ts +4 -0
  152. package/package.json +18 -14
  153. package/bundles/hmcts-ccpay-web-component.umd.js +0 -9664
  154. package/bundles/hmcts-ccpay-web-component.umd.js.map +0 -1
  155. package/bundles/hmcts-ccpay-web-component.umd.min.js +0 -2
  156. package/bundles/hmcts-ccpay-web-component.umd.min.js.map +0 -1
  157. package/esm2015/hmcts-ccpay-web-component.js +0 -48
  158. package/esm2015/lib/components/add-remission/add-remission.component.js +0 -1083
  159. package/esm2015/lib/components/allocate-payments/allocate-payments.component.js +0 -692
  160. package/esm2015/lib/components/card-details/card-details.component.js +0 -71
  161. package/esm2015/lib/components/case-transactions/case-transactions.component.js +0 -1298
  162. package/esm2015/lib/components/error-banner/error-banner.component.js +0 -30
  163. package/esm2015/lib/components/fee-summary/fee-summary.component.js +0 -482
  164. package/esm2015/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.js +0 -342
  165. package/esm2015/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.js +0 -436
  166. package/esm2015/lib/components/page-not-found.component.js +0 -15
  167. package/esm2015/lib/components/payment-list/payment-list.component.js +0 -75
  168. package/esm2015/lib/components/payment-view/payment-view.component.js +0 -514
  169. package/esm2015/lib/components/pba-details/pba-details.component.js +0 -30
  170. package/esm2015/lib/components/pba-payment/pba-payment.component.js +0 -205
  171. package/esm2015/lib/components/process-refund/process-refund.component.js +0 -455
  172. package/esm2015/lib/components/processed-payments/processed-payments.component.js +0 -72
  173. package/esm2015/lib/components/refund-list/refund-list.component.js +0 -127
  174. package/esm2015/lib/components/refund-status/refund-status.component.js +0 -497
  175. package/esm2015/lib/components/reports/reports.component.js +0 -357
  176. package/esm2015/lib/components/service-request/service-request.component.js +0 -626
  177. package/esm2015/lib/components/status-history/status-history.component.js +0 -68
  178. package/esm2015/lib/components/table/table.component.js +0 -196
  179. package/esm2015/lib/components/unprocessed-payments/unprocessed-payments.component.js +0 -385
  180. package/esm2015/lib/interfaces/AddRemissionRequest.js +0 -37
  181. package/esm2015/lib/interfaces/AddRetroRemissionRequest.js +0 -21
  182. package/esm2015/lib/interfaces/AllocatePaymentRequest.js +0 -68
  183. package/esm2015/lib/interfaces/IAllocationPaymentsRequest.js +0 -39
  184. package/esm2015/lib/interfaces/IBSPayments.js +0 -45
  185. package/esm2015/lib/interfaces/ICardDetails.js +0 -21
  186. package/esm2015/lib/interfaces/IFee.js +0 -53
  187. package/esm2015/lib/interfaces/IOrderReferenceFee.js +0 -25
  188. package/esm2015/lib/interfaces/IPatchRefundAction.js +0 -15
  189. package/esm2015/lib/interfaces/IPayment.js +0 -65
  190. package/esm2015/lib/interfaces/IPaymentGroup.js +0 -19
  191. package/esm2015/lib/interfaces/IPaymentStatus.js +0 -27
  192. package/esm2015/lib/interfaces/IPaymentView.js +0 -17
  193. package/esm2015/lib/interfaces/IPayments.js +0 -13
  194. package/esm2015/lib/interfaces/IRefundAction.js +0 -15
  195. package/esm2015/lib/interfaces/IRefundList.js +0 -29
  196. package/esm2015/lib/interfaces/IRefundReasons.js +0 -19
  197. package/esm2015/lib/interfaces/IRefundRejectReason.js +0 -15
  198. package/esm2015/lib/interfaces/IRefundStatus.js +0 -23
  199. package/esm2015/lib/interfaces/IRefundStatusHistory.js +0 -15
  200. package/esm2015/lib/interfaces/IRemission.js +0 -25
  201. package/esm2015/lib/interfaces/IResubmitRefundRequest.js +0 -21
  202. package/esm2015/lib/interfaces/IStatusHistories.js +0 -19
  203. package/esm2015/lib/interfaces/IStatusHistory.js +0 -21
  204. package/esm2015/lib/interfaces/IserviceRequestCardPayment.js +0 -23
  205. package/esm2015/lib/interfaces/IserviceRequestPbaPayment.js +0 -28
  206. package/esm2015/lib/interfaces/IssueRefundRequest.js +0 -25
  207. package/esm2015/lib/interfaces/PayhubAntennaRequest.js +0 -28
  208. package/esm2015/lib/interfaces/PaymentToPayhubRequest.js +0 -37
  209. package/esm2015/lib/interfaces/PostIssueRefundRetroRemission.js +0 -17
  210. package/esm2015/lib/interfaces/PostRefundRetroRemission.js +0 -21
  211. package/esm2015/lib/interfaces/RefundsRequest.js +0 -21
  212. package/esm2015/lib/interfaces/UnidentifiedPaymentsRequest.js +0 -31
  213. package/esm2015/lib/interfaces/UnsolicitedPaymentsRequest.js +0 -43
  214. package/esm2015/lib/payment-lib.component.js +0 -275
  215. package/esm2015/lib/payment-lib.module.js +0 -99
  216. package/esm2015/lib/payment-lib.service.js +0 -80
  217. package/esm2015/lib/pipes/capitalize.pipe.js +0 -24
  218. package/esm2015/lib/pipes/ccd-hyphens.pipe.js +0 -29
  219. package/esm2015/lib/pipes/key-value.pipe.js +0 -30
  220. package/esm2015/lib/pipes/sanitize-html.pipe.js +0 -36
  221. package/esm2015/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.js +0 -180
  222. package/esm2015/lib/services/card-details/card-details.service.js +0 -76
  223. package/esm2015/lib/services/case-transactions/case-transactions.service.js +0 -76
  224. package/esm2015/lib/services/orderslist.service.js +0 -403
  225. package/esm2015/lib/services/payment-list/payment-list.service.js +0 -79
  226. package/esm2015/lib/services/payment-view/payment-view.service.js +0 -285
  227. package/esm2015/lib/services/refunds/refunds.service.js +0 -203
  228. package/esm2015/lib/services/shared/error-handler.service.js +0 -108
  229. package/esm2015/lib/services/shared/httpclient/webcomponent.http.client.js +0 -124
  230. package/esm2015/lib/services/shared/logger/console-logger.service.js +0 -67
  231. package/esm2015/lib/services/shared/logger/logger.service.js +0 -49
  232. package/esm2015/lib/services/xl-file/xl-file.service.js +0 -181
  233. package/esm2015/public_api.js +0 -11
  234. package/esm5/hmcts-ccpay-web-component.js +0 -48
  235. package/esm5/lib/components/add-remission/add-remission.component.js +0 -1168
  236. package/esm5/lib/components/allocate-payments/allocate-payments.component.js +0 -745
  237. package/esm5/lib/components/card-details/card-details.component.js +0 -77
  238. package/esm5/lib/components/case-transactions/case-transactions.component.js +0 -1443
  239. package/esm5/lib/components/error-banner/error-banner.component.js +0 -36
  240. package/esm5/lib/components/fee-summary/fee-summary.component.js +0 -542
  241. package/esm5/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.js +0 -371
  242. package/esm5/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.js +0 -474
  243. package/esm5/lib/components/page-not-found.component.js +0 -17
  244. package/esm5/lib/components/payment-list/payment-list.component.js +0 -83
  245. package/esm5/lib/components/payment-view/payment-view.component.js +0 -602
  246. package/esm5/lib/components/pba-details/pba-details.component.js +0 -36
  247. package/esm5/lib/components/pba-payment/pba-payment.component.js +0 -222
  248. package/esm5/lib/components/process-refund/process-refund.component.js +0 -536
  249. package/esm5/lib/components/processed-payments/processed-payments.component.js +0 -83
  250. package/esm5/lib/components/refund-list/refund-list.component.js +0 -130
  251. package/esm5/lib/components/refund-status/refund-status.component.js +0 -558
  252. package/esm5/lib/components/reports/reports.component.js +0 -398
  253. package/esm5/lib/components/service-request/service-request.component.js +0 -702
  254. package/esm5/lib/components/status-history/status-history.component.js +0 -70
  255. package/esm5/lib/components/table/table.component.js +0 -229
  256. package/esm5/lib/components/unprocessed-payments/unprocessed-payments.component.js +0 -434
  257. package/esm5/lib/interfaces/AddRemissionRequest.js +0 -32
  258. package/esm5/lib/interfaces/AddRetroRemissionRequest.js +0 -19
  259. package/esm5/lib/interfaces/AllocatePaymentRequest.js +0 -63
  260. package/esm5/lib/interfaces/IAllocationPaymentsRequest.js +0 -34
  261. package/esm5/lib/interfaces/IBSPayments.js +0 -45
  262. package/esm5/lib/interfaces/ICardDetails.js +0 -21
  263. package/esm5/lib/interfaces/IFee.js +0 -53
  264. package/esm5/lib/interfaces/IOrderReferenceFee.js +0 -25
  265. package/esm5/lib/interfaces/IPatchRefundAction.js +0 -15
  266. package/esm5/lib/interfaces/IPayment.js +0 -65
  267. package/esm5/lib/interfaces/IPaymentGroup.js +0 -19
  268. package/esm5/lib/interfaces/IPaymentStatus.js +0 -31
  269. package/esm5/lib/interfaces/IPaymentView.js +0 -17
  270. package/esm5/lib/interfaces/IPayments.js +0 -13
  271. package/esm5/lib/interfaces/IRefundAction.js +0 -15
  272. package/esm5/lib/interfaces/IRefundList.js +0 -29
  273. package/esm5/lib/interfaces/IRefundReasons.js +0 -19
  274. package/esm5/lib/interfaces/IRefundRejectReason.js +0 -15
  275. package/esm5/lib/interfaces/IRefundStatus.js +0 -23
  276. package/esm5/lib/interfaces/IRefundStatusHistory.js +0 -15
  277. package/esm5/lib/interfaces/IRemission.js +0 -25
  278. package/esm5/lib/interfaces/IResubmitRefundRequest.js +0 -19
  279. package/esm5/lib/interfaces/IStatusHistories.js +0 -19
  280. package/esm5/lib/interfaces/IStatusHistory.js +0 -21
  281. package/esm5/lib/interfaces/IserviceRequestCardPayment.js +0 -22
  282. package/esm5/lib/interfaces/IserviceRequestPbaPayment.js +0 -25
  283. package/esm5/lib/interfaces/IssueRefundRequest.js +0 -22
  284. package/esm5/lib/interfaces/PayhubAntennaRequest.js +0 -25
  285. package/esm5/lib/interfaces/PaymentToPayhubRequest.js +0 -34
  286. package/esm5/lib/interfaces/PostIssueRefundRetroRemission.js +0 -16
  287. package/esm5/lib/interfaces/PostRefundRetroRemission.js +0 -19
  288. package/esm5/lib/interfaces/RefundsRequest.js +0 -19
  289. package/esm5/lib/interfaces/UnidentifiedPaymentsRequest.js +0 -28
  290. package/esm5/lib/interfaces/UnsolicitedPaymentsRequest.js +0 -37
  291. package/esm5/lib/payment-lib.component.js +0 -244
  292. package/esm5/lib/payment-lib.module.js +0 -103
  293. package/esm5/lib/payment-lib.service.js +0 -111
  294. package/esm5/lib/pipes/capitalize.pipe.js +0 -32
  295. package/esm5/lib/pipes/ccd-hyphens.pipe.js +0 -37
  296. package/esm5/lib/pipes/key-value.pipe.js +0 -37
  297. package/esm5/lib/pipes/sanitize-html.pipe.js +0 -39
  298. package/esm5/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.js +0 -218
  299. package/esm5/lib/services/card-details/card-details.service.js +0 -76
  300. package/esm5/lib/services/case-transactions/case-transactions.service.js +0 -76
  301. package/esm5/lib/services/orderslist.service.js +0 -531
  302. package/esm5/lib/services/payment-list/payment-list.service.js +0 -80
  303. package/esm5/lib/services/payment-view/payment-view.service.js +0 -385
  304. package/esm5/lib/services/refunds/refunds.service.js +0 -243
  305. package/esm5/lib/services/shared/error-handler.service.js +0 -119
  306. package/esm5/lib/services/shared/httpclient/webcomponent.http.client.js +0 -154
  307. package/esm5/lib/services/shared/logger/console-logger.service.js +0 -88
  308. package/esm5/lib/services/shared/logger/logger.service.js +0 -68
  309. package/esm5/lib/services/status-history/status-history.service.js +0 -80
  310. package/esm5/lib/services/xl-file/xl-file.service.js +0 -221
  311. package/esm5/public_api.js +0 -11
  312. package/fesm2015/hmcts-ccpay-web-component.js +0 -8525
  313. package/fesm2015/hmcts-ccpay-web-component.js.map +0 -1
  314. package/fesm5/hmcts-ccpay-web-component.js +0 -9773
  315. package/fesm5/hmcts-ccpay-web-component.js.map +0 -1
  316. package/hmcts-ccpay-web-component.d.ts +0 -43
  317. package/hmcts-ccpay-web-component.metadata.json +0 -1
@@ -0,0 +1,18 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class PbaDetailsComponent {
5
+ payment;
6
+ constructor() { }
7
+ ngOnInit() {
8
+ }
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: PbaDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: PbaDetailsComponent, selector: "ccpay-pba-details", inputs: { payment: "payment" }, ngImport: i0, template: "\n <h2 class=\"heading-large\">Payment method</h2>\n <table>\n <tbody>\n <tr>\n <td class=\"bold tb-col-w\">Method</td>\n <td class=\"capitalize\">{{ payment.method | lowercase}}</td>\n </tr>\n <tr>\n <td class=\"bold tb-col-w\">Type</td>\n <td>Credit</td>\n </tr>\n <tr *ngIf=\"payment.organisation_name\">\n <td class=\"bold tb-col-w\">PBA account name</td>\n <td>{{ payment.organisation_name }}</td>\n </tr>\n <tr *ngIf=\"payment.account_number\">\n <td class=\"bold tb-col-w\">PBA number</td>\n <td>{{ payment.account_number }}</td>\n </tr>\n <tr *ngIf=\"payment.customer_reference\">\n <td class=\"bold tb-col-w\">Customer internal reference</td>\n <td>{{ payment.customer_reference }}</td>\n </tr>\n </tbody>\n </table>\n", styles: [".capitalize:first-letter{text-transform:uppercase}.tb-col-w{width:330px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.LowerCasePipe, name: "lowercase" }] });
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: PbaDetailsComponent, decorators: [{
13
+ type: Component,
14
+ args: [{ selector: 'ccpay-pba-details', template: "\n <h2 class=\"heading-large\">Payment method</h2>\n <table>\n <tbody>\n <tr>\n <td class=\"bold tb-col-w\">Method</td>\n <td class=\"capitalize\">{{ payment.method | lowercase}}</td>\n </tr>\n <tr>\n <td class=\"bold tb-col-w\">Type</td>\n <td>Credit</td>\n </tr>\n <tr *ngIf=\"payment.organisation_name\">\n <td class=\"bold tb-col-w\">PBA account name</td>\n <td>{{ payment.organisation_name }}</td>\n </tr>\n <tr *ngIf=\"payment.account_number\">\n <td class=\"bold tb-col-w\">PBA number</td>\n <td>{{ payment.account_number }}</td>\n </tr>\n <tr *ngIf=\"payment.customer_reference\">\n <td class=\"bold tb-col-w\">Customer internal reference</td>\n <td>{{ payment.customer_reference }}</td>\n </tr>\n </tbody>\n </table>\n", styles: [".capitalize:first-letter{text-transform:uppercase}.tb-col-w{width:330px}\n"] }]
15
+ }], ctorParameters: function () { return []; }, propDecorators: { payment: [{
16
+ type: Input
17
+ }] } });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGJhLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3BiYS1kZXRhaWxzL3BiYS1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvY29tcG9uZW50cy9wYmEtZGV0YWlscy9wYmEtZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBUXpELE1BQU0sT0FBTyxtQkFBbUI7SUFDckIsT0FBTyxDQUFXO0lBRTNCLGdCQUFnQixDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDO3VHQU5VLG1CQUFtQjsyRkFBbkIsbUJBQW1CLHlGQ1JoQyxrekJBMEJBOzsyRkRsQmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLG1CQUFtQjswRUFLcEIsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJUGF5bWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVBheW1lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY3BheS1wYmEtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYmEtZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BiYS1kZXRhaWxzLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQYmFEZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcGF5bWVudDogSVBheW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG59XG4iLCJcbiAgPGgyIGNsYXNzPVwiaGVhZGluZy1sYXJnZVwiPlBheW1lbnQgbWV0aG9kPC9oMj5cbiAgPHRhYmxlPlxuICAgIDx0Ym9keT5cbiAgICA8dHI+XG4gICAgICA8dGQgY2xhc3M9XCJib2xkIHRiLWNvbC13XCI+TWV0aG9kPC90ZD5cbiAgICAgIDx0ZCBjbGFzcz1cImNhcGl0YWxpemVcIj57eyBwYXltZW50Lm1ldGhvZCB8IGxvd2VyY2FzZX19PC90ZD5cbiAgICA8L3RyPlxuICAgIDx0cj5cbiAgICAgIDx0ZCBjbGFzcz1cImJvbGQgdGItY29sLXdcIj5UeXBlPC90ZD5cbiAgICAgIDx0ZD5DcmVkaXQ8L3RkPlxuICAgIDwvdHI+XG4gICAgPHRyICpuZ0lmPVwicGF5bWVudC5vcmdhbmlzYXRpb25fbmFtZVwiPlxuICAgICAgPHRkIGNsYXNzPVwiYm9sZCB0Yi1jb2wtd1wiPlBCQSBhY2NvdW50IG5hbWU8L3RkPlxuICAgICAgPHRkPnt7IHBheW1lbnQub3JnYW5pc2F0aW9uX25hbWUgfX08L3RkPlxuICAgIDwvdHI+XG4gICAgPHRyICpuZ0lmPVwicGF5bWVudC5hY2NvdW50X251bWJlclwiPlxuICAgICAgPHRkIGNsYXNzPVwiYm9sZCB0Yi1jb2wtd1wiPlBCQSBudW1iZXI8L3RkPlxuICAgICAgPHRkPnt7IHBheW1lbnQuYWNjb3VudF9udW1iZXIgfX08L3RkPlxuICAgIDwvdHI+XG4gICAgPHRyICpuZ0lmPVwicGF5bWVudC5jdXN0b21lcl9yZWZlcmVuY2VcIj5cbiAgICAgIDx0ZCBjbGFzcz1cImJvbGQgdGItY29sLXdcIj5DdXN0b21lciBpbnRlcm5hbCByZWZlcmVuY2U8L3RkPlxuICAgICAgPHRkPnt7IHBheW1lbnQuY3VzdG9tZXJfcmVmZXJlbmNlIH19PC90ZD5cbiAgICA8L3RyPlxuICAgIDwvdGJvZHk+XG4gIDwvdGFibGU+XG4iXX0=
@@ -0,0 +1,151 @@
1
+ import { Component, Input, Inject } from '@angular/core';
2
+ import { PaymentViewService } from '../../services/payment-view/payment-view.service';
3
+ import { IserviceRequestCardPayment } from '../../interfaces/IserviceRequestCardPayment';
4
+ import { IserviceRequestPbaPayment } from '../../interfaces/IserviceRequestPbaPayment';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../services/payment-view/payment-view.service";
7
+ import * as i2 from "@angular/common";
8
+ import * as i3 from "@angular/forms";
9
+ const BS_ENABLE_FLAG = 'bulk-scan-enabling-fe';
10
+ export class PbaPaymentComponent {
11
+ paymentLibComponent;
12
+ paymentViewService;
13
+ pbaPayOrderRef;
14
+ viewStatus;
15
+ pbaAccountList;
16
+ isPBAAccountHold = false;
17
+ errorMsg;
18
+ isCardPaymentSuccess = true;
19
+ isInSufficiantFund = false;
20
+ isPBAAccountNotExist = false;
21
+ isPBAServerError = false;
22
+ isGetPBAAccountSucceed = false;
23
+ selectedPbaAccount = '';
24
+ pbaAccountRef = '';
25
+ isPbaAccountSelected = false;
26
+ isCardPaymentSelected = false;
27
+ isPBADropdownSelected = false;
28
+ isContinueButtondisabled = true;
29
+ isPBAAccountPaymentSuccess = false;
30
+ pbaAccountrPaymentResult;
31
+ orgName = '';
32
+ constructor(paymentLibComponent, paymentViewService) {
33
+ this.paymentLibComponent = paymentLibComponent;
34
+ this.paymentViewService = paymentViewService;
35
+ }
36
+ ngOnInit() {
37
+ this.pbaPayOrderRef = this.paymentLibComponent.pbaPayOrderRef;
38
+ this.viewStatus = 'pba-payment';
39
+ this.errorMsg = null;
40
+ this.paymentViewService.getPBAaccountDetails()
41
+ .subscribe(result => {
42
+ this.isGetPBAAccountSucceed = true;
43
+ this.orgName = result.organisationEntityResponse.name;
44
+ this.pbaAccountList = result.organisationEntityResponse.paymentAccount;
45
+ }, error => {
46
+ this.errorMsg = error;
47
+ });
48
+ }
49
+ selectpbaaccount(args) {
50
+ if (args.currentTarget.id === 'pbaAccountNumber') {
51
+ this.isPBADropdownSelected = true;
52
+ this.selectedPbaAccount = args.target.value;
53
+ }
54
+ if (args.currentTarget.id === 'pbaAccountRef') {
55
+ this.pbaAccountRef = args.target.value;
56
+ }
57
+ if (this.selectedPbaAccount !== '' && this.pbaAccountRef !== "") {
58
+ this.isContinueButtondisabled = false;
59
+ }
60
+ else {
61
+ this.isContinueButtondisabled = true;
62
+ }
63
+ }
64
+ saveAndContinue() {
65
+ if (this.isPbaAccountSelected) {
66
+ this.isInSufficiantFund = false;
67
+ this.isPBAAccountNotExist = false;
68
+ this.isPBAServerError = false;
69
+ this.isPBAAccountPaymentSuccess = false;
70
+ this.isContinueButtondisabled = true;
71
+ if (this.pbaAccountList.indexOf(this.selectedPbaAccount) !== -1) {
72
+ const requestBody = new IserviceRequestPbaPayment(this.selectedPbaAccount, this.pbaPayOrderRef.orderTotalFees, this.pbaAccountRef, this.orgName);
73
+ setTimeout(() => {
74
+ this.paymentViewService.postPBAaccountPayment(this.pbaPayOrderRef.orderRefId, requestBody)
75
+ .subscribe(r => {
76
+ try {
77
+ this.pbaAccountrPaymentResult = JSON.parse(r);
78
+ }
79
+ catch (e) {
80
+ this.pbaAccountrPaymentResult = r;
81
+ }
82
+ this.isPBAAccountPaymentSuccess = true;
83
+ }, e => {
84
+ if (e.status == '402') {
85
+ this.isInSufficiantFund = true;
86
+ }
87
+ else if (e.status == '410') {
88
+ this.isPBAAccountNotExist = true;
89
+ }
90
+ else if (e.status == '412') {
91
+ this.isPBAAccountHold = true;
92
+ }
93
+ else {
94
+ this.isPBAServerError = true;
95
+ }
96
+ });
97
+ }, 5000);
98
+ }
99
+ else {
100
+ this.isPBAServerError = true;
101
+ }
102
+ }
103
+ else if (this.isCardPaymentSelected) {
104
+ this.cardPayment();
105
+ }
106
+ }
107
+ cardPayment() {
108
+ this.isCardPaymentSuccess = true;
109
+ const requestBody = new IserviceRequestCardPayment(this.pbaPayOrderRef.orderTotalFees);
110
+ this.paymentViewService.postWays2PayCardPayment(this.pbaPayOrderRef.orderRefId, requestBody)
111
+ .subscribe(result => {
112
+ const paymentUrl = JSON.parse(result).next_url;
113
+ window.location.href = paymentUrl;
114
+ }, error => {
115
+ this.isCardPaymentSuccess = false;
116
+ });
117
+ }
118
+ selectPaymentMethod(type) {
119
+ if (type === 'PBA') {
120
+ this.isPbaAccountSelected = true;
121
+ this.isCardPaymentSelected = false;
122
+ this.isPBADropdownSelected = false;
123
+ this.isContinueButtondisabled = true;
124
+ this.selectedPbaAccount = null;
125
+ }
126
+ else if (type === 'CARD') {
127
+ this.isPbaAccountSelected = false;
128
+ this.isCardPaymentSelected = true;
129
+ this.isPBADropdownSelected = false;
130
+ this.isContinueButtondisabled = false;
131
+ }
132
+ }
133
+ gotoCasetransationPage() {
134
+ this.paymentLibComponent.viewName = 'case-transactions';
135
+ this.paymentLibComponent.TAKEPAYMENT = false;
136
+ this.paymentLibComponent.ISBSENABLE = true;
137
+ this.paymentLibComponent.isFromServiceRequestPage = true;
138
+ }
139
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: PbaPaymentComponent, deps: [{ token: 'PAYMENT_LIB' }, { token: i1.PaymentViewService }], target: i0.ɵɵFactoryTarget.Component });
140
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: PbaPaymentComponent, selector: "ccpay-pba-payment", inputs: { pbaPayOrderRef: "pbaPayOrderRef" }, ngImport: i0, template: "<ng-container *ngIf=\"viewStatus === 'pba-payment'\">\n\n <div class=\"govuk-breadcrumbs\" *ngIf=\"!errorMsg && !isPBAAccountPaymentSuccess && !isCardPaymentSuccess\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\">\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPage()\" class=\"govuk-back-link pba-payments-16-font\">Back</a>\n </li>\n </ol>\n </div>\n <div class=\"pba-payment\" *ngIf=\"(pbaAccountList?.length > 0 || errorMsg) && !isInSufficiantFund && !isPBAAccountNotExist && !isPBAServerError && !isPBAAccountHold && !isPBAAccountPaymentSuccess && isCardPaymentSuccess\">\n \n <div *ngIf=\"errorMsg\" class=\"govuk-error-summary pba-payments-error-box--size\" aria-labelledby=\"error-summary-title\" >\n <h2 class=\"govuk-error-summary__title govuk-error-summary__title-custom pba-payments-24-font\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li class=\"pba-payments-error-16-font\">\n Your PBA account cannot be found.\n </li>\n <li class=\"pba-payments-error-16-font\">\n If you know your organisation has a PBA, try again.\n </li>\n <li class=\"pba-payments-error-16-font\">\n You can also pay by credit or debit card.\n </li>\n </ul>\n </div>\n </div>\n <!-- <h1 class=\"heading-medium margin-top-10-px\">Pay fee using Payment by Account (PBA)</h1> -->\n <div class=\"govuk-form-group margin-top-10-px\">\n <label class=\"govuk-label pba-payments-govuk__label pba-payments-19-font\">\n Amount to pay \n </label>\n <span class=\"pba-payments-19-font\">{{pbaPayOrderRef.orderTotalFees | currency :'GBP':'symbol':'1.2-2'}}</span>\n </div>\n\n <div class=\"govuk-form-group\" *ngIf=\"!errorMsg\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"contact-hint\">\n <div class=\"govuk-radios\" data-module=\"govuk-radios\">\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"pbaAccount\" name=\"paymentSelection\" type=\"radio\" value=\"PBA\" (click)=\"selectPaymentMethod('PBA')\" data-aria-controls=\"pba-account\">\n <label class=\"govuk-label govuk-radios__label pba-payments-19-font pba-payments-font-bld\" for=\"pbaAccount\">\n Pay fee using Payment by Account (PBA)\n </label>\n </div>\n <div class=\"govuk-radios__conditional\" id=\"conditional-contact\" *ngIf=\"isPbaAccountSelected\">\n <div class=\"govuk-form-group pba-payments-select-box--size\">\n <label class=\"govuk-label pba-payments-govuk__label pba-payments-19-font\" for=\"pbaAccountNumber\">\n Select a PBA \n </label>\n <select class=\"form-control short-input\" id=\"pbaAccountNumber\" (change)=\"selectpbaaccount($event)\">\n <option value=\"\" selected='selected'>Select option</option>\n <option *ngFor=\"let pbaAccount of pbaAccountList;\" value=\"{{pbaAccount}}\">{{pbaAccount}}</option>\n </select>\n </div>\n <div class=\"govuk-form-group\" *ngIf=\"!errorMsg && selectedPbaAccount\">\n <label class=\"govuk-label pba-payments-govuk__label pba-payments-24-font\" for=\"pbaAccountNumber\">\n Enter a reference for your PBA account statements \n </label>\n <div id=\"event-name-hint\" class=\"govuk-hint pba-payments-19-font pba-payment-width\">\n This should be your own unique reference to identify the case. It will appear on your statements.\n </div>\n <input class=\"govuk-input pba-payments-ref-box--size pba-payments-19-font\" id=\"pbaAccountRef\" (change)=\"selectpbaaccount($event)\" name=\"pbaAccountRef\" type=\"text\" aria-describedby=\"pbaAccountRef-hint\">\n </div>\n \n </div>\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"cardPayment\" name=\"paymentSelection\" type=\"radio\" value=\"card\" (click)=\"selectPaymentMethod('CARD')\" data-aria-controls=\"card-payment\">\n <label class=\"govuk-label govuk-radios__label pba-payments-19-font pba-payments-font-bld\" for=\"cardPayment\">\n Pay by credit or debit card\n </label>\n </div>\n </div>\n </fieldset>\n </div>\n\n <div class=\"govuk-button--group\" *ngIf=\"errorMsg\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n View Service Request\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n Pay by card\n </button>\n </div>\n <div class=\"govuk-button--group\" *ngIf=\"!errorMsg\">\n <button type=\"submit\" [disabled]=\"isContinueButtondisabled\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"saveAndContinue()\">\n <span *ngIf=\"!isPBADropdownSelected\" class=\"white\">Continue</span>\n <span *ngIf=\"isPBADropdownSelected\" class=\"white\">Confirm payment</span>\n </button>\n </div>\n </div>\n<ng-container *ngIf=\"pbaAccountList?.length <= 0 && !errorMsg && isGetPBAAccountSucceed && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\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 <h2 class=\"warning-heading-m\">You don\u2019t have a registered PBA.</h2>\n </strong>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">Pay by credit or debit card</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n We recommend that you apply to get a new PBA to pay for fees.\n </p>\n <p class=\"govuk-bod ypba-payments-19-font\">\n you can also pay by credit or debit card if you need to pay now\n </p>\n <p class=\"govuk-body\">\n <button type=\"submit\" (click)=\"cardPayment()\" class=\"button pba-payments-19-font pba-payments-20-margin\">\n Pay by card\n </button>\n </p>\n \n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">Register an existing PBA with MyHMCTS</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n You may find it easier in future to pay by PBA, your organisation administrator will need to \n email <a href=\"mailto: MyHMCTSsupport@justice.gov.uk\">MyHMCTSsupport@justice.gov.uk</a> to ask for your PBA to be registered with your \n MyHMCTS account. You should include your organisation name and PBA number.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n It can then take up to 3 days for your account to be updated. You\u2019ll need to start your claim \n again to pay the fee.\n </p>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">Apply to get a new PBA </h2>\n <p class=\"govuk-body pba-payments-19-font\">\n You\u2019ll need to provide details for you and your organisation, including the required credit\n limit for your account.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n Once your account has been registered, you\u2019ll need to start your claim again to pay the fee.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n Read more information on <a target=\"_blank\" href=\"https://www.gov.uk/guidance/hmcts-payment-by-account-for-online-services\">registering for PBA</a>.\n </p>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"isInSufficiantFund && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-error-summary pba-payments-error-box--size\" aria-labelledby=\"error-summary-title\">\n <h2 class=\"govuk-error-summary__title govuk-error-summary__title-custom pba-payments-24-font\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li class=\"pba-payments-error-16-font\">\n You don't have enough funds in your PBA account to pay for this fee.\n </li>\n <li class=\"pba-payments-error-16-font\">\n If you have already topped up your PBA account, wait up to 24 hours for the new balance to become available.\n </li>\n </ul>\n </div>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">Should you need any further advice</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n Email <a href=\"mailto:MiddleOffice.DDservices@liberata.com\">MiddleOffice.DDservices@liberata.com</a> or call <a href=\"tel:01633-652-125\">01633 652 125</a> (option 3) to try to fix the issue.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n you can also pay by credit or debit card.\n </p>\n <div class=\"govuk-button--group\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n View Service Request\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n Pay by card\n </button>\n </div>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n<ng-container *ngIf=\"isPBAAccountNotExist && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-error-summary pba-payments-error-box--size\" aria-labelledby=\"error-summary-title\">\n <h2 class=\"govuk-error-summary__title govuk-error-summary__title-custom pba-payments-24-font\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li class=\"pba-payments-error-16-font\">\n Your PBA account ({{selectedPbaAccount}}) no longer exists.\n </li>\n </ul>\n </div>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">Should you need any further advice</h2>\n <p class=\"govuk-body pba-payments-19-font govuk-body-width\">\n Email <a href=\"mailto:MiddleOffice.DDservices@liberata.com\">MiddleOffice.DDservices@liberata.com</a> or call <a href=\"tel:01633-652-125\">01633 652 125</a> (option 3) to try to fix the issue.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n you can also pay by credit or debit card.\n </p>\n <div class=\"govuk-button--group\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n View Service Request\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n Pay by card\n </button>\n </div>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n<ng-container *ngIf=\"isPBAAccountHold && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-error-summary pba-payments-error-box--size\" aria-labelledby=\"error-summary-title\">\n <h2 class=\"govuk-error-summary__title govuk-error-summary__title-custom pba-payments-24-font\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li class=\"pba-payments-error-16-font\">\n Your PBA account ({{selectedPbaAccount}}) has been put on hold.\n </li>\n </ul>\n </div>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">Should you need any further advice</h2>\n <p class=\"govuk-body pba-payments-19-font govuk-body-width\">\n Email <a href=\"mailto:MiddleOffice.DDservices@liberata.com\">MiddleOffice.DDservices@liberata.com</a> or call <a href=\"tel:01633-652-125\">01633 652 125</a> (option 3) to try to fix the issue.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n you can also pay by credit or debit card.\n </p>\n <div class=\"govuk-button--group\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n View Service Request\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n Pay by card\n </button>\n </div>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n<ng-container *ngIf=\"isPBAServerError && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"pba-payments-heading-lg\">Sorry, there is a problem with the service</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n Try again later.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n you can also pay by credit or debit card.\n </p>\n <div class=\"govuk-button--group\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n View Service Request\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n Pay by card\n </button>\n </div>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"isPBAAccountPaymentSuccess && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-panel govuk-panel--confirmation pba-payments--confirmation\">\n <h1 class=\"govuk-panel__title pba-payments--title white\">\n Payment successful\n </h1>\n <div class=\"govuk-panel__body pba-payments__body white\">\n Your payment reference is <br><strong class=\"white\">{{pbaAccountrPaymentResult.payment_reference}}</strong>\n </div>\n </div>\n <p class=\"govuk-body pba-payments-19-font\">\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPage()\">View service requests</a>\n </p>\n </div>\n </main>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"!isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"pba-payments-heading-lg\">Sorry, there is a problem with the service</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n Try again later.\n </p>\n <!-- <p class=\"govuk-body pba-payments-19-font\">\n you can also <a href=\"javascript:void(0)\" (click)=\"cardPayment()\" >pay by credit or debit card</a>.\n </p> -->\n <p class=\"govuk-body pba-payments-19-font\">\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPage()\">View service requests</a>\n </p>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n</ng-container>\n\n\n\n", styles: [".pba-payments-govuk__label{font-weight:700;line-height:1.31578947}.pba-payments-19-font{font-size:19px}.pba-payments-font-bld{font-weight:700}.pba-payments-16-font{font-size:16px}.pba-payments-24-font{font-size:24px}.pba-payments-20-margin{margin-bottom:20px}.pba-payments-select-box--size{width:40%}.pba-payments-error-box--size{width:80%}.pba-payments-ref-box--size{width:60%}.pba-payments-error-16-font{font-size:16px;line-height:34px}.pba-payments-margin-10{margin-right:10px}.pba-payments-margin-top-10{margin-top:15px}.pba-payments-heading-lg{font-size:40px;font-weight:700;line-height:72px}.pba-payments--confirmation{background:#00703c!important}.pba-payments__body{font-size:36px!important}.pba-payments--title{font-size:48px!important}.warning-heading-m{font-size:29px;font-weight:700}.pba-payment-width{width:75%}.margin-top-10-px{margin-top:10px}.govuk-error-summary:focus{outline:3px solid #ffdd00}.govuk-body-width{width:750px}.white{color:#fff}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "pipe", type: i2.CurrencyPipe, name: "currency" }] });
141
+ }
142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: PbaPaymentComponent, decorators: [{
143
+ type: Component,
144
+ args: [{ selector: 'ccpay-pba-payment', template: "<ng-container *ngIf=\"viewStatus === 'pba-payment'\">\n\n <div class=\"govuk-breadcrumbs\" *ngIf=\"!errorMsg && !isPBAAccountPaymentSuccess && !isCardPaymentSuccess\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\">\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPage()\" class=\"govuk-back-link pba-payments-16-font\">Back</a>\n </li>\n </ol>\n </div>\n <div class=\"pba-payment\" *ngIf=\"(pbaAccountList?.length > 0 || errorMsg) && !isInSufficiantFund && !isPBAAccountNotExist && !isPBAServerError && !isPBAAccountHold && !isPBAAccountPaymentSuccess && isCardPaymentSuccess\">\n \n <div *ngIf=\"errorMsg\" class=\"govuk-error-summary pba-payments-error-box--size\" aria-labelledby=\"error-summary-title\" >\n <h2 class=\"govuk-error-summary__title govuk-error-summary__title-custom pba-payments-24-font\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li class=\"pba-payments-error-16-font\">\n Your PBA account cannot be found.\n </li>\n <li class=\"pba-payments-error-16-font\">\n If you know your organisation has a PBA, try again.\n </li>\n <li class=\"pba-payments-error-16-font\">\n You can also pay by credit or debit card.\n </li>\n </ul>\n </div>\n </div>\n <!-- <h1 class=\"heading-medium margin-top-10-px\">Pay fee using Payment by Account (PBA)</h1> -->\n <div class=\"govuk-form-group margin-top-10-px\">\n <label class=\"govuk-label pba-payments-govuk__label pba-payments-19-font\">\n Amount to pay \n </label>\n <span class=\"pba-payments-19-font\">{{pbaPayOrderRef.orderTotalFees | currency :'GBP':'symbol':'1.2-2'}}</span>\n </div>\n\n <div class=\"govuk-form-group\" *ngIf=\"!errorMsg\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"contact-hint\">\n <div class=\"govuk-radios\" data-module=\"govuk-radios\">\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"pbaAccount\" name=\"paymentSelection\" type=\"radio\" value=\"PBA\" (click)=\"selectPaymentMethod('PBA')\" data-aria-controls=\"pba-account\">\n <label class=\"govuk-label govuk-radios__label pba-payments-19-font pba-payments-font-bld\" for=\"pbaAccount\">\n Pay fee using Payment by Account (PBA)\n </label>\n </div>\n <div class=\"govuk-radios__conditional\" id=\"conditional-contact\" *ngIf=\"isPbaAccountSelected\">\n <div class=\"govuk-form-group pba-payments-select-box--size\">\n <label class=\"govuk-label pba-payments-govuk__label pba-payments-19-font\" for=\"pbaAccountNumber\">\n Select a PBA \n </label>\n <select class=\"form-control short-input\" id=\"pbaAccountNumber\" (change)=\"selectpbaaccount($event)\">\n <option value=\"\" selected='selected'>Select option</option>\n <option *ngFor=\"let pbaAccount of pbaAccountList;\" value=\"{{pbaAccount}}\">{{pbaAccount}}</option>\n </select>\n </div>\n <div class=\"govuk-form-group\" *ngIf=\"!errorMsg && selectedPbaAccount\">\n <label class=\"govuk-label pba-payments-govuk__label pba-payments-24-font\" for=\"pbaAccountNumber\">\n Enter a reference for your PBA account statements \n </label>\n <div id=\"event-name-hint\" class=\"govuk-hint pba-payments-19-font pba-payment-width\">\n This should be your own unique reference to identify the case. It will appear on your statements.\n </div>\n <input class=\"govuk-input pba-payments-ref-box--size pba-payments-19-font\" id=\"pbaAccountRef\" (change)=\"selectpbaaccount($event)\" name=\"pbaAccountRef\" type=\"text\" aria-describedby=\"pbaAccountRef-hint\">\n </div>\n \n </div>\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"cardPayment\" name=\"paymentSelection\" type=\"radio\" value=\"card\" (click)=\"selectPaymentMethod('CARD')\" data-aria-controls=\"card-payment\">\n <label class=\"govuk-label govuk-radios__label pba-payments-19-font pba-payments-font-bld\" for=\"cardPayment\">\n Pay by credit or debit card\n </label>\n </div>\n </div>\n </fieldset>\n </div>\n\n <div class=\"govuk-button--group\" *ngIf=\"errorMsg\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n View Service Request\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n Pay by card\n </button>\n </div>\n <div class=\"govuk-button--group\" *ngIf=\"!errorMsg\">\n <button type=\"submit\" [disabled]=\"isContinueButtondisabled\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"saveAndContinue()\">\n <span *ngIf=\"!isPBADropdownSelected\" class=\"white\">Continue</span>\n <span *ngIf=\"isPBADropdownSelected\" class=\"white\">Confirm payment</span>\n </button>\n </div>\n </div>\n<ng-container *ngIf=\"pbaAccountList?.length <= 0 && !errorMsg && isGetPBAAccountSucceed && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\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 <h2 class=\"warning-heading-m\">You don\u2019t have a registered PBA.</h2>\n </strong>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">Pay by credit or debit card</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n We recommend that you apply to get a new PBA to pay for fees.\n </p>\n <p class=\"govuk-bod ypba-payments-19-font\">\n you can also pay by credit or debit card if you need to pay now\n </p>\n <p class=\"govuk-body\">\n <button type=\"submit\" (click)=\"cardPayment()\" class=\"button pba-payments-19-font pba-payments-20-margin\">\n Pay by card\n </button>\n </p>\n \n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">Register an existing PBA with MyHMCTS</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n You may find it easier in future to pay by PBA, your organisation administrator will need to \n email <a href=\"mailto: MyHMCTSsupport@justice.gov.uk\">MyHMCTSsupport@justice.gov.uk</a> to ask for your PBA to be registered with your \n MyHMCTS account. You should include your organisation name and PBA number.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n It can then take up to 3 days for your account to be updated. You\u2019ll need to start your claim \n again to pay the fee.\n </p>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">Apply to get a new PBA </h2>\n <p class=\"govuk-body pba-payments-19-font\">\n You\u2019ll need to provide details for you and your organisation, including the required credit\n limit for your account.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n Once your account has been registered, you\u2019ll need to start your claim again to pay the fee.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n Read more information on <a target=\"_blank\" href=\"https://www.gov.uk/guidance/hmcts-payment-by-account-for-online-services\">registering for PBA</a>.\n </p>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"isInSufficiantFund && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-error-summary pba-payments-error-box--size\" aria-labelledby=\"error-summary-title\">\n <h2 class=\"govuk-error-summary__title govuk-error-summary__title-custom pba-payments-24-font\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li class=\"pba-payments-error-16-font\">\n You don't have enough funds in your PBA account to pay for this fee.\n </li>\n <li class=\"pba-payments-error-16-font\">\n If you have already topped up your PBA account, wait up to 24 hours for the new balance to become available.\n </li>\n </ul>\n </div>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">Should you need any further advice</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n Email <a href=\"mailto:MiddleOffice.DDservices@liberata.com\">MiddleOffice.DDservices@liberata.com</a> or call <a href=\"tel:01633-652-125\">01633 652 125</a> (option 3) to try to fix the issue.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n you can also pay by credit or debit card.\n </p>\n <div class=\"govuk-button--group\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n View Service Request\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n Pay by card\n </button>\n </div>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n<ng-container *ngIf=\"isPBAAccountNotExist && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-error-summary pba-payments-error-box--size\" aria-labelledby=\"error-summary-title\">\n <h2 class=\"govuk-error-summary__title govuk-error-summary__title-custom pba-payments-24-font\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li class=\"pba-payments-error-16-font\">\n Your PBA account ({{selectedPbaAccount}}) no longer exists.\n </li>\n </ul>\n </div>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">Should you need any further advice</h2>\n <p class=\"govuk-body pba-payments-19-font govuk-body-width\">\n Email <a href=\"mailto:MiddleOffice.DDservices@liberata.com\">MiddleOffice.DDservices@liberata.com</a> or call <a href=\"tel:01633-652-125\">01633 652 125</a> (option 3) to try to fix the issue.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n you can also pay by credit or debit card.\n </p>\n <div class=\"govuk-button--group\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n View Service Request\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n Pay by card\n </button>\n </div>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n<ng-container *ngIf=\"isPBAAccountHold && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-error-summary pba-payments-error-box--size\" aria-labelledby=\"error-summary-title\">\n <h2 class=\"govuk-error-summary__title govuk-error-summary__title-custom pba-payments-24-font\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li class=\"pba-payments-error-16-font\">\n Your PBA account ({{selectedPbaAccount}}) has been put on hold.\n </li>\n </ul>\n </div>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">Should you need any further advice</h2>\n <p class=\"govuk-body pba-payments-19-font govuk-body-width\">\n Email <a href=\"mailto:MiddleOffice.DDservices@liberata.com\">MiddleOffice.DDservices@liberata.com</a> or call <a href=\"tel:01633-652-125\">01633 652 125</a> (option 3) to try to fix the issue.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n you can also pay by credit or debit card.\n </p>\n <div class=\"govuk-button--group\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n View Service Request\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n Pay by card\n </button>\n </div>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n<ng-container *ngIf=\"isPBAServerError && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"pba-payments-heading-lg\">Sorry, there is a problem with the service</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n Try again later.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n you can also pay by credit or debit card.\n </p>\n <div class=\"govuk-button--group\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n View Service Request\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n Pay by card\n </button>\n </div>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"isPBAAccountPaymentSuccess && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-panel govuk-panel--confirmation pba-payments--confirmation\">\n <h1 class=\"govuk-panel__title pba-payments--title white\">\n Payment successful\n </h1>\n <div class=\"govuk-panel__body pba-payments__body white\">\n Your payment reference is <br><strong class=\"white\">{{pbaAccountrPaymentResult.payment_reference}}</strong>\n </div>\n </div>\n <p class=\"govuk-body pba-payments-19-font\">\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPage()\">View service requests</a>\n </p>\n </div>\n </main>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"!isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"pba-payments-heading-lg\">Sorry, there is a problem with the service</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n Try again later.\n </p>\n <!-- <p class=\"govuk-body pba-payments-19-font\">\n you can also <a href=\"javascript:void(0)\" (click)=\"cardPayment()\" >pay by credit or debit card</a>.\n </p> -->\n <p class=\"govuk-body pba-payments-19-font\">\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPage()\">View service requests</a>\n </p>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n</ng-container>\n\n\n\n", styles: [".pba-payments-govuk__label{font-weight:700;line-height:1.31578947}.pba-payments-19-font{font-size:19px}.pba-payments-font-bld{font-weight:700}.pba-payments-16-font{font-size:16px}.pba-payments-24-font{font-size:24px}.pba-payments-20-margin{margin-bottom:20px}.pba-payments-select-box--size{width:40%}.pba-payments-error-box--size{width:80%}.pba-payments-ref-box--size{width:60%}.pba-payments-error-16-font{font-size:16px;line-height:34px}.pba-payments-margin-10{margin-right:10px}.pba-payments-margin-top-10{margin-top:15px}.pba-payments-heading-lg{font-size:40px;font-weight:700;line-height:72px}.pba-payments--confirmation{background:#00703c!important}.pba-payments__body{font-size:36px!important}.pba-payments--title{font-size:48px!important}.warning-heading-m{font-size:29px;font-weight:700}.pba-payment-width{width:75%}.margin-top-10-px{margin-top:10px}.govuk-error-summary:focus{outline:3px solid #ffdd00}.govuk-body-width{width:750px}.white{color:#fff}\n"] }]
145
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
146
+ type: Inject,
147
+ args: ['PAYMENT_LIB']
148
+ }] }, { type: i1.PaymentViewService }]; }, propDecorators: { pbaPayOrderRef: [{
149
+ type: Input
150
+ }] } });
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGJhLXBheW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3BiYS1wYXltZW50L3BiYS1wYXltZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvY29tcG9uZW50cy9wYmEtcGF5bWVudC9wYmEtcGF5bWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFFdEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDekYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7O0FBRXZGLE1BQU0sY0FBYyxHQUFHLHVCQUF1QixDQUFDO0FBTy9DLE1BQU0sT0FBTyxtQkFBbUI7SUFxQmE7SUFDakM7SUFyQkQsY0FBYyxDQUFNO0lBQzdCLFVBQVUsQ0FBUztJQUNuQixjQUFjLENBQVc7SUFDekIsZ0JBQWdCLEdBQVksS0FBSyxDQUFDO0lBQ2xDLFFBQVEsQ0FBTTtJQUNkLG9CQUFvQixHQUFZLElBQUksQ0FBQztJQUNyQyxrQkFBa0IsR0FBWSxLQUFLLENBQUM7SUFDcEMsb0JBQW9CLEdBQVksS0FBSyxDQUFDO0lBQ3RDLGdCQUFnQixHQUFZLEtBQUssQ0FBQztJQUNsQyxzQkFBc0IsR0FBWSxLQUFLLENBQUM7SUFDeEMsa0JBQWtCLEdBQVcsRUFBRSxDQUFDO0lBQ2hDLGFBQWEsR0FBVyxFQUFFLENBQUM7SUFDM0Isb0JBQW9CLEdBQVksS0FBSyxDQUFDO0lBQ3RDLHFCQUFxQixHQUFZLEtBQUssQ0FB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QUFhOzJGQXJCdEIsbUJBQW1CLHVHQ2JoQyx1b2lCQTRVQTs7MkZEL1RhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxtQkFBbUI7OzBCQXlCaEIsTUFBTTsyQkFBQyxhQUFhOzZFQXBCeEIsY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYXltZW50Vmlld1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wYXltZW50LXZpZXcvcGF5bWVudC12aWV3LnNlcnZpY2UnO1xuaW1wb3J0IHR5cGUgeyBQYXltZW50TGliQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGF5bWVudC1saWIuY29tcG9uZW50JztcbmltcG9ydCB7IElzZXJ2aWNlUmVxdWVzdENhcmRQYXltZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Jc2VydmljZVJlcXVlc3RDYXJkUGF5bWVudCc7XG5pbXBvcnQgeyBJc2VydmljZVJlcXVlc3RQYmFQYXltZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Jc2VydmljZVJlcXVlc3RQYmFQYXltZW50JztcblxuY29uc3QgQlNfRU5BQkxFX0ZMQUcgPSAnYnVsay1zY2FuLWVuYWJsaW5nLWZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NwYXktcGJhLXBheW1lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGJhLXBheW1lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYmEtcGF5bWVudC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBiYVBheW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwYmFQYXlPcmRlclJlZjogYW55O1xuICB2aWV3U3RhdHVzOiBzdHJpbmc7XG4gIHBiYUFjY291bnRMaXN0OiBzdHJpbmdbXTtcbiAgaXNQQkFBY2NvdW50SG9sZDogYm9vbGVhbiA9IGZhbHNlO1xuICBlcnJvck1zZzogYW55O1xuICBpc0NhcmRQYXltZW50U3VjY2VzczogYm9vbGVhbiA9IHRydWU7XG4gIGlzSW5TdWZmaWNpYW50RnVuZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1BCQUFjY291bnROb3RFeGlzdDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1BCQVNlcnZlckVycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIGlzR2V0UEJBQWNjb3VudFN1Y2NlZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2VsZWN0ZWRQYmFBY2NvdW50OiBzdHJpbmcgPSAnJztcbiAgcGJhQWNjb3VudFJlZjogc3RyaW5nID0gJyc7XG4gIGlzUGJhQWNjb3VudFNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzQ2FyZFBheW1lbnRTZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1BCQURyb3Bkb3duU2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNDb250aW51ZUJ1dHRvbmRpc2FibGVkOiBib29sZWFuID0gdHJ1ZTtcbiAgaXNQQkFBY2NvdW50UGF5bWVudFN1Y2Nlc3M6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcGJhQWNjb3VudHJQYXltZW50UmVzdWx0OiBhbnk7XG4gIG9yZ05hbWU6IHN0cmluZyA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoJ1BBWU1FTlRfTElCJykgcHJpdmF0ZSBwYXltZW50TGliQ29tcG9uZW50OiBQYXltZW50TGliQ29tcG9uZW50LFxuICAgIHByaXZhdGUgcGF5bWVudFZpZXdTZXJ2aWNlOiBQYXltZW50Vmlld1NlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucGJhUGF5T3JkZXJSZWYgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQucGJhUGF5T3JkZXJSZWY7XG4gICAgdGhpcy52aWV3U3RhdHVzID0gJ3BiYS1wYXltZW50JztcbiAgICB0aGlzLmVycm9yTXNnID0gbnVsbDtcbiAgICB0aGlzLnBheW1lbnRWaWV3U2VydmljZS5nZXRQQkFhY2NvdW50RGV0YWlscygpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICByZXN1bHQgPT4ge1xuICAgICAgICAgIHRoaXMuaXNHZXRQQkFBY2NvdW50U3VjY2VlZCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5vcmdOYW1lID0gcmVzdWx0Lm9yZ2FuaXNhdGlvbkVudGl0eVJlc3BvbnNlLm5hbWU7XG4gICAgICAgICAgdGhpcy5wYmFBY2NvdW50TGlzdCA9IHJlc3VsdC5vcmdhbmlzYXRpb25FbnRpdHlSZXNwb25zZS5wYXltZW50QWNjb3VudDtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3JNc2cgPSBlcnJvcjtcbiAgICAgICAgfVxuICAgICAgKTtcblxuICB9XG4gIHNlbGVjdHBiYWFjY291bnQoYXJncykge1xuICAgIGlmIChhcmdzLmN1cnJlbnRUYXJnZXQuaWQgPT09ICdwYmFBY2NvdW50TnVtYmVyJykge1xuICAgICAgdGhpcy5pc1BCQURyb3Bkb3duU2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5zZWxlY3RlZFBiYUFjY291bnQgPSBhcmdzLnRhcmdldC52YWx1ZTtcbiAgICB9XG4gICAgaWYgKGFyZ3MuY3VycmVudFRhcmdldC5pZCA9PT0gJ3BiYUFjY291bnRSZWYnKSB7XG4gICAgICB0aGlzLnBiYUFjY291bnRSZWYgPSBhcmdzLnRhcmdldC52YWx1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRQYmFBY2NvdW50ICE9PSAnJyAmJiB0aGlzLnBiYUFjY291bnRSZWYgIT09IFwiXCIpIHtcbiAgICAgIHRoaXMuaXNDb250aW51ZUJ1dHRvbmRpc2FibGVkID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNDb250aW51ZUJ1dHRvbmRpc2FibGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBzYXZlQW5kQ29udGludWUoKSB7XG5cbiAgICBpZiAodGhpcy5pc1BiYUFjY291bnRTZWxlY3RlZCkge1xuICAgICAgdGhpcy5pc0luU3VmZmljaWFudEZ1bmQgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNQQkFBY2NvdW50Tm90RXhpc3QgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNQQkFTZXJ2ZXJFcnJvciA9IGZhbHNlO1xuICAgICAgdGhpcy5pc1BCQUFjY291bnRQYXltZW50U3VjY2VzcyA9IGZhbHNlO1xuICAgICAgdGhpcy5pc0NvbnRpbnVlQnV0dG9uZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgaWYgKHRoaXMucGJhQWNjb3VudExpc3QuaW5kZXhPZih0aGlzLnNlbGVjdGVkUGJhQWNjb3VudCkgIT09IC0xKSB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3RCb2R5ID0gbmV3IElzZXJ2aWNlUmVxdWVzdFBiYVBheW1lbnQoXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFBiYUFjY291bnQsIHRoaXMucGJhUGF5T3JkZXJSZWYub3JkZXJUb3RhbEZlZXMsIHRoaXMucGJhQWNjb3VudFJlZiwgdGhpcy5vcmdOYW1lKTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLnBheW1lbnRWaWV3U2VydmljZS5wb3N0UEJBYWNjb3VudFBheW1lbnQodGhpcy5wYmFQYXlPcmRlclJlZi5vcmRlclJlZklkLCByZXF1ZXN0Qm9keSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgIHIgPT4ge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLnBiYUFjY291bnRyUGF5bWVudFJlc3VsdCA9IEpTT04ucGFyc2Uocik7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgdGhpcy5wYmFBY2NvdW50clBheW1lbnRSZXN1bHQgPSByO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmlzUEJBQWNjb3VudFBheW1lbnRTdWNjZXNzID0gdHJ1ZTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgZSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGUuc3RhdHVzID09ICc0MDInKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLmlzSW5TdWZmaWNpYW50RnVuZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChlLnN0YXR1cyA9PSAnNDEwJykge1xuICAgICAgICAgICAgICAgICAgdGhpcy5pc1BCQUFjY291bnROb3RFeGlzdCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChlLnN0YXR1cyA9PSAnNDEyJykge1xuICAgICAgICAgICAgICAgICAgdGhpcy5pc1BCQUFjY291bnRIb2xkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgdGhpcy5pc1BCQVNlcnZlckVycm9yID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgfSwgNTAwMCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlzUEJBU2VydmVyRXJyb3IgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5pc0NhcmRQYXltZW50U2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuY2FyZFBheW1lbnQoKTtcbiAgICB9XG5cbiAgfVxuICBjYXJkUGF5bWVudCgpIHtcbiAgICB0aGlzLmlzQ2FyZFBheW1lbnRTdWNjZXNzID0gdHJ1ZTtcbiAgICBjb25zdCByZXF1ZXN0Qm9keSA9IG5ldyBJc2VydmljZVJlcXVlc3RDYXJkUGF5bWVudChcbiAgICAgIHRoaXMucGJhUGF5T3JkZXJSZWYub3JkZXJUb3RhbEZlZXMpO1xuICAgIHRoaXMucGF5bWVudFZpZXdTZXJ2aWNlLnBvc3RXYXlzMlBheUNhcmRQYXltZW50KHRoaXMucGJhUGF5T3JkZXJSZWYub3JkZXJSZWZJZCwgcmVxdWVzdEJvZHkpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICByZXN1bHQgPT4ge1xuICAgICAgICAgIGNvbnN0IHBheW1lbnRVcmwgPSBKU09OLnBhcnNlKHJlc3VsdCkubmV4dF91cmw7XG4gICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBwYXltZW50VXJsO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5pc0NhcmRQYXltZW50U3VjY2VzcyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICApO1xuXG4gIH1cbiAgc2VsZWN0UGF5bWVudE1ldGhvZCh0eXBlOiBzdHJpbmcpIHtcbiAgICBpZiAodHlwZSA9PT0gJ1BCQScpIHtcbiAgICAgIHRoaXMuaXNQYmFBY2NvdW50U2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5pc0NhcmRQYXltZW50U2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNQQkFEcm9wZG93blNlbGVjdGVkID0gZmFsc2VcbiAgICAgIHRoaXMuaXNDb250aW51ZUJ1dHRvbmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRQYmFBY2NvdW50ID0gbnVsbDtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdDQVJEJykge1xuICAgICAgdGhpcy5pc1BiYUFjY291bnRTZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5pc0NhcmRQYXltZW50U2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5pc1BCQURyb3Bkb3duU2VsZWN0ZWQgPSBmYWxzZVxuICAgICAgdGhpcy5pc0NvbnRpbnVlQnV0dG9uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cbiAgZ290b0Nhc2V0cmFuc2F0aW9uUGFnZSgpIHtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAnY2FzZS10cmFuc2FjdGlvbnMnO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVCA9IGZhbHNlO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5JU0JTRU5BQkxFID0gdHJ1ZTtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNGcm9tU2VydmljZVJlcXVlc3RQYWdlID0gdHJ1ZTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInZpZXdTdGF0dXMgPT09ICdwYmEtcGF5bWVudCdcIj5cblxuICA8ZGl2IGNsYXNzPVwiZ292dWstYnJlYWRjcnVtYnNcIiAqbmdJZj1cIiFlcnJvck1zZyAmJiAhaXNQQkFBY2NvdW50UGF5bWVudFN1Y2Nlc3MgJiYgIWlzQ2FyZFBheW1lbnRTdWNjZXNzXCI+XG4gICAgPG9sIGNsYXNzPVwiZ292dWstYnJlYWRjcnVtYnNfX2xpc3RcIj5cbiAgICAgIDxsaSBjbGFzcz1cImdvdnVrLWJyZWFkY3J1bWJzX19saXN0LWl0ZW1cIj5cbiAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJnb3RvQ2FzZXRyYW5zYXRpb25QYWdlKClcIiBjbGFzcz1cImdvdnVrLWJhY2stbGluayBwYmEtcGF5bWVudHMtMTYtZm9udFwiPkJhY2s8L2E+XG4gICAgICA8L2xpPlxuICAgIDwvb2w+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicGJhLXBheW1lbnRcIiAqbmdJZj1cIihwYmFBY2NvdW50TGlzdD8ubGVuZ3RoID4gMCB8fCBlcnJvck1zZykgJiYgIWlzSW5TdWZmaWNpYW50RnVuZCAmJiAhaXNQQkFBY2NvdW50Tm90RXhpc3QgJiYgIWlzUEJBU2VydmVyRXJyb3IgJiYgIWlzUEJBQWNjb3VudEhvbGQgJiYgIWlzUEJBQWNjb3VudFBheW1lbnRTdWNjZXNzICYmIGlzQ2FyZFBheW1lbnRTdWNjZXNzXCI+XG4gICAgXG4gICAgPGRpdiAqbmdJZj1cImVycm9yTXNnXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5IHBiYS1wYXltZW50cy1lcnJvci1ib3gtLXNpemVcIiBhcmlhLWxhYmVsbGVkYnk9XCJlcnJvci1zdW1tYXJ5LXRpdGxlXCIgPlxuICAgICAgPGgyIGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeV9fdGl0bGUgZ292dWstZXJyb3Itc3VtbWFyeV9fdGl0bGUtY3VzdG9tIHBiYS1wYXltZW50cy0yNC1mb250XCIgaWQ9XCJlcnJvci1zdW1tYXJ5LXRpdGxlXCI+XG4gICAgICAgIFRoZXJlIGlzIGEgcHJvYmxlbVxuICAgICAgPC9oMj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5X19ib2R5XCI+XG4gICAgICAgIDx1bCBjbGFzcz1cImdvdnVrLWxpc3QgZ292dWstZXJyb3Itc3VtbWFyeV9fbGlzdFwiPlxuICAgICAgICAgIDxsaSBjbGFzcz1cInBiYS1wYXltZW50cy1lcnJvci0xNi1mb250XCI+XG4gICAgICAgICAgICBZb3VyIFBCQSBhY2NvdW50IGNhbm5vdCBiZSBmb3VuZC5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDxsaSBjbGFzcz1cInBiYS1wYXltZW50cy1lcnJvci0xNi1mb250XCI+XG4gICAgICAgICAgICBJZiB5b3Uga25vdyB5b3VyIG9yZ2FuaXNhdGlvbiBoYXMgYSBQQkEsIHRyeSBhZ2Fpbi5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDxsaSBjbGFzcz1cInBiYS1wYXltZW50cy1lcnJvci0xNi1mb250XCI+XG4gICAgICAgICAgICBZb3UgY2FuIGFsc28gcGF5IGJ5IGNyZWRpdCBvciBkZWJpdCBjYXJkLlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIDxoMSBjbGFzcz1cImhlYWRpbmctbWVkaXVtIG1hcmdpbi10b3AtMTAtcHhcIj5QYXkgZmVlIHVzaW5nIFBheW1lbnQgYnkgQWNjb3VudCAoUEJBKTwvaDE+IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwIG1hcmdpbi10b3AtMTAtcHhcIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIHBiYS1wYXltZW50cy1nb3Z1a19fbGFiZWwgcGJhLXBheW1lbnRzLTE5LWZvbnRcIj5cbiAgICAgICAgQW1vdW50IHRvIHBheSBcbiAgICAgIDwvbGFiZWw+XG4gICAgICA8c3BhbiBjbGFzcz1cInBiYS1wYXltZW50cy0xOS1mb250XCI+e3twYmFQYXlPcmRlclJlZi5vcmRlclRvdGFsRmVlcyB8IGN1cnJlbmN5IDonR0JQJzonc3ltYm9sJzonMS4yLTInfX08L3NwYW4+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiICpuZ0lmPVwiIWVycm9yTXNnXCI+XG4gICAgICA8ZmllbGRzZXQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldFwiIGFyaWEtZGVzY3JpYmVkYnk9XCJjb250YWN0LWhpbnRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc1wiIGRhdGEtbW9kdWxlPVwiZ292dWstcmFkaW9zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiPlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIGlkPVwicGJhQWNjb3VudFwiIG5hbWU9XCJwYXltZW50U2VsZWN0aW9uXCIgdHlwZT1cInJhZGlvXCIgdmFsdWU9XCJQQkFcIiAoY2xpY2spPVwic2VsZWN0UGF5bWVudE1ldGhvZCgnUEJBJylcIiBkYXRhLWFyaWEtY29udHJvbHM9XCJwYmEtYWNjb3VudFwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbCBwYmEtcGF5bWVudHMtMTktZm9udCBwYmEtcGF5bWVudHMtZm9udC1ibGRcIiBmb3I9XCJwYmFBY2NvdW50XCI+XG4gICAgICAgICAgICAgIFBheSBmZWUgdXNpbmcgUGF5bWVudCBieSBBY2NvdW50IChQQkEpXG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2NvbmRpdGlvbmFsXCIgaWQ9XCJjb25kaXRpb25hbC1jb250YWN0XCIgKm5nSWY9XCJpc1BiYUFjY291bnRTZWxlY3RlZFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXAgcGJhLXBheW1lbnRzLXNlbGVjdC1ib3gtLXNpemVcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgcGJhLXBheW1lbnRzLWdvdnVrX19sYWJlbCBwYmEtcGF5bWVudHMtMTktZm9udFwiIGZvcj1cInBiYUFjY291bnROdW1iZXJcIj5cbiAgICAgICAgICAgICAgICBTZWxlY3QgYSBQQkEgIFxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sIHNob3J0LWlucHV0XCIgaWQ9XCJwYmFBY2NvdW50TnVtYmVyXCIgKGNoYW5nZSk9XCJzZWxlY3RwYmFhY2NvdW50KCRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiXCIgc2VsZWN0ZWQ9J3NlbGVjdGVkJz5TZWxlY3Qgb3B0aW9uPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgPG9wdGlvbiAgKm5nRm9yPVwibGV0IHBiYUFjY291bnQgb2YgcGJhQWNjb3VudExpc3Q7XCIgdmFsdWU9XCJ7e3BiYUFjY291bnR9fVwiPnt7cGJhQWNjb3VudH19PC9vcHRpb24+XG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiICpuZ0lmPVwiIWVycm9yTXNnICYmIHNlbGVjdGVkUGJhQWNjb3VudFwiPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBwYmEtcGF5bWVudHMtZ292dWtfX2xhYmVsIHBiYS1wYXltZW50cy0yNC1mb250XCIgZm9yPVwicGJhQWNjb3VudE51bWJlclwiPlxuICAgICAgICAgICAgICAgIEVudGVyIGEgcmVmZXJlbmNlIGZvciB5b3VyIFBCQSBhY2NvdW50IHN0YXRlbWVudHMgXG4gICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDxkaXYgaWQ9XCJldmVudC1uYW1lLWhpbnRcIiBjbGFzcz1cImdvdnVrLWhpbnQgcGJhLXBheW1lbnRzLTE5LWZvbnQgcGJhLXBheW1lbnQtd2lkdGhcIj5cbiAgICAgICAgICAgICAgICBUaGlzIHNob3VsZCBiZSB5b3VyIG93biB1bmlxdWUgcmVmZXJlbmNlIHRvIGlkZW50aWZ5IHRoZSBjYXNlLiBJdCB3aWxsIGFwcGVhciBvbiB5b3VyIHN0YXRlbWVudHMuXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWlucHV0IHBiYS1wYXltZW50cy1yZWYtYm94LS1zaXplIHBiYS1wYXltZW50cy0xOS1mb250XCIgaWQ9XCJwYmFBY2NvdW50UmVmXCIgKGNoYW5nZSk9XCJzZWxlY3RwYmFhY2NvdW50KCRldmVudClcIiBuYW1lPVwicGJhQWNjb3VudFJlZlwiIHR5cGU9XCJ0ZXh0XCIgYXJpYS1kZXNjcmliZWRieT1cInBiYUFjY291bnRSZWYtaGludFwiPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiPlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIGlkPVwiY2FyZFBheW1lbnRcIiBuYW1lPVwicGF5bWVudFNlbGVjdGlvblwiIHR5cGU9XCJyYWRpb1wiIHZhbHVlPVwiY2FyZFwiIChjbGljayk9XCJzZWxlY3RQYXltZW50TWV0aG9kKCdDQVJEJylcIiBkYXRhLWFyaWEtY29udHJvbHM9XCJjYXJkLXBheW1lbnRcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLXJhZGlvc19fbGFiZWwgcGJhLXBheW1lbnRzLTE5LWZvbnQgcGJhLXBheW1lbnRzLWZvbnQtYmxkXCIgZm9yPVwiY2FyZFBheW1lbnRcIj5cbiAgICAgICAgICAgICAgUGF5IGJ5IGNyZWRpdCBvciBkZWJpdCBjYXJkXG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZmllbGRzZXQ+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstYnV0dG9uLS1ncm91cFwiICAqbmdJZj1cImVycm9yTXNnXCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ1dHRvbiBwYmEtcGF5bWVudHMtMTktZm9udCBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSBwYmEtcGF5bWVudHMtbWFyZ2luLTEwXCIgKGNsaWNrKT1cImdvdG9DYXNldHJhbnNhdGlvblBhZ2UoKVwiPlxuICAgICAgICBWaWV3IFNlcnZpY2UgUmVxdWVzdFxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ1dHRvbiBwYmEtcGF5bWVudHMtMTktZm9udCBwYmEtcGF5bWVudHMtMjAtbWFyZ2luXCIgKGNsaWNrKT1cImNhcmRQYXltZW50KClcIj5cbiAgICAgICAgUGF5IGJ5IGNhcmRcbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1idXR0b24tLWdyb3VwXCIgICpuZ0lmPVwiIWVycm9yTXNnXCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBbZGlzYWJsZWRdPVwiaXNDb250aW51ZUJ1dHRvbmRpc2FibGVkXCIgY2xhc3M9XCJidXR0b24gcGJhLXBheW1lbnRzLTE5LWZvbnQgcGJhLXBheW1lbnRzLTIwLW1hcmdpblwiIChjbGljayk9XCJzYXZlQW5kQ29udGludWUoKVwiPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFpc1BCQURyb3Bkb3duU2VsZWN0ZWRcIiBjbGFzcz1cIndoaXRlXCI+Q29udGludWU8L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiaXNQQkFEcm9wZG93blNlbGVjdGVkXCIgY2xhc3M9XCJ3aGl0ZVwiPkNvbmZpcm0gcGF5bWVudDwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJwYmFBY2NvdW50TGlzdD8ubGVuZ3RoIDw9IDAgJiYgIWVycm9yTXNnICYmIGlzR2V0UEJBQWNjb3VudFN1Y2NlZWQgJiYgaXNDYXJkUGF5bWVudFN1Y2Nlc3NcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXdpZHRoLWNvbnRhaW5lclwiPlxuICAgIDxtYWluIGNsYXNzPVwiZ292dWstbWFpbi13cmFwcGVyIGdvdnVrLW1haW4td3JhcHBlci0tbFwiIGlkPVwibWFpbi1jb250ZW50XCIgcm9sZT1cIm1haW5cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0XCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRfX2ljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj4hPC9zcGFuPlxuICAgICAgICAgIDxzdHJvbmcgY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRfX3RleHRcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X19hc3Npc3RpdmVcIj5XYXJuaW5nPC9zcGFuPlxuICAgICAgICAgICAgPGgyIGNsYXNzPVwid2FybmluZy1oZWFkaW5nLW1cIj5Zb3UgZG9u4oCZdCBoYXZlIGEgcmVnaXN0ZXJlZCBQQkEuPC9oMj5cbiAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYmEtcGF5bWVudHMtbWFyZ2luLXRvcC0xMFwiPlxuICAgICAgICAgIDxoMiBjbGFzcz1cImhlYWRpbmctbWVkaXVtXCI+UGF5IGJ5IGNyZWRpdCBvciBkZWJpdCBjYXJkPC9oMj5cbiAgICAgICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHkgcGJhLXBheW1lbnRzLTE5LWZvbnRcIj5cbiAgICAgICAgICAgIFdlIHJlY29tbWVuZCB0aGF0IHlvdSBhcHBseSB0byBnZXQgYSBuZXcgUEJBIHRvIHBheSBmb3IgZmVlcy5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2QgeXBiYS1wYXltZW50cy0xOS1mb250XCI+XG4gICAgICAgICAgICB5b3UgY2FuIGFsc28gcGF5IGJ5IGNyZWRpdCBvciBkZWJpdCBjYXJkIGlmIHlvdSBuZWVkIHRvIHBheSBub3dcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiAoY2xpY2spPVwiY2FyZFBheW1lbnQoKVwiIGNsYXNzPVwiYnV0dG9uIHBiYS1wYXltZW50cy0xOS1mb250IHBiYS1wYXltZW50cy0yMC1tYXJnaW5cIj5cbiAgICAgICAgICAgICAgUGF5IGJ5IGNhcmRcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICBcbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYmEtcGF5bWVudHMtbWFyZ2luLXRvcC0xMFwiPlxuICAgICAgICAgIDxoMiBjbGFzcz1cImhlYWRpbmctbWVkaXVtXCI+UmVnaXN0ZXIgYW4gZXhpc3RpbmcgUEJBIHdpdGggTXlITUNUUzwvaDI+XG4gICAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5IHBiYS1wYXltZW50cy0xOS1mb250XCI+XG4gICAgICAgICAgICBZb3UgbWF5IGZpbmQgaXQgZWFzaWVyIGluIGZ1dHVyZSB0byBwYXkgYnkgUEJBLCB5b3VyIG9yZ2FuaXNhdGlvbiBhZG1pbmlzdHJhdG9yIHdpbGwgbmVlZCB0byBcbiAgICAgICAgICAgIGVtYWlsIDxhIGhyZWY9XCJtYWlsdG86IE15SE1DVFNzdXBwb3J0QGp1c3RpY2UuZ292LnVrXCI+TXlITUNUU3N1cHBvcnRAanVzdGljZS5nb3YudWs8L2E+IHRvIGFzayBmb3IgeW91ciBQQkEgdG8gYmUgcmVnaXN0ZXJlZCB3aXRoIHlvdXIgXG4gICAgICAgICAgICBNeUhNQ1RTIGFjY291bnQuIFlvdSBzaG91bGQgaW5jbHVkZSB5b3VyIG9yZ2FuaXNhdGlvbiBuYW1lIGFuZCBQQkEgbnVtYmVyLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHkgcGJhLXBheW1lbnRzLTE5LWZvbnRcIj5cbiAgICAgICAgICAgIEl0IGNhbiB0aGVuIHRha2UgdXAgdG8gMyBkYXlzIGZvciB5b3VyIGFjY291bnQgdG8gYmUgdXBkYXRlZC4gWW914oCZbGwgbmVlZCB0byBzdGFydCB5b3VyIGNsYWltIFxuICAgICAgICAgICAgYWdhaW4gdG8gcGF5IHRoZSBmZWUuXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBiYS1wYXltZW50cy1tYXJnaW4tdG9wLTEwXCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwiaGVhZGluZy1tZWRpdW1cIj5BcHBseSB0byBnZXQgYSBuZXcgUEJBIDwvaDI+XG4gICAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5IHBiYS1wYXltZW50cy0xOS1mb250XCI+XG4gICAgICAgICAgICBZb3XigJlsbCBuZWVkIHRvIHByb3ZpZGUgZGV0YWlscyBmb3IgeW91IGFuZCB5b3VyIG9yZ2FuaXNhdGlvbiwgaW5jbHVkaW5nIHRoZSByZXF1aXJlZCBjcmVkaXRcbiAgICAgICAgICAgICBsaW1pdCBmb3IgeW91ciBhY2NvdW50LlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHkgcGJhLXBheW1lbnRzLTE5LWZvbnRcIj5cbiAgICAgICAgICAgIE9uY2UgeW91ciBhY2NvdW50IGhhcyBiZWVuIHJlZ2lzdGVyZWQsIHlvdeKAmWxsIG5lZWQgdG8gc3RhcnQgeW91ciBjbGFpbSBhZ2FpbiB0byBwYXkgdGhlIGZlZS5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5IHBiYS1wYXltZW50cy0xOS1mb250XCI+XG4gICAgICAgICAgICBSZWFkIG1vcmUgaW5mb3JtYXRpb24gb24gPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vd3d3Lmdvdi51ay9ndWlkYW5jZS9obWN0cy1wYXltZW50LWJ5LWFjY291bnQtZm9yLW9ubGluZS1zZXJ2aWNlc1wiPnJlZ2lzdGVyaW5nIGZvciBQQkE8L2E+LlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L21haW4+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJpc0luU3VmZmljaWFudEZ1bmQgJiYgaXNDYXJkUGF5bWVudFN1Y2Nlc3NcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXdpZHRoLWNvbnRhaW5lclwiPlxuICAgIDxtYWluIGNsYXNzPVwiZ292dWstbWFpbi13cmFwcGVyIGdvdnVrLW1haW4td3JhcHBlci0tbFwiIGlkPVwibWFpbi1jb250ZW50XCIgcm9sZT1cIm1haW5cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeSBwYmEtcGF5bWVudHMtZXJyb3ItYm94LS1zaXplXCIgYXJpYS1sYWJlbGxlZGJ5PVwiZXJyb3Itc3VtbWFyeS10aXRsZVwiPlxuICAgICAgICAgIDxoMiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlfX3RpdGxlIGdvdnVrLWVycm9yLXN1bW1hcnlfX3RpdGxlLWN1c3RvbSBwYmEtcGF5bWVudHMtMjQtZm9udFwiIGlkPVwiZXJyb3Itc3VtbWFyeS10aXRsZVwiPlxuICAgICAgICAgICAgVGhlcmUgaXMgYSBwcm9ibGVtXG4gICAgICAgICAgPC9oMj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeV9fYm9keVwiPlxuICAgICAgICAgICAgPHVsIGNsYXNzPVwiZ292dWstbGlzdCBnb3Z1ay1lcnJvci1zdW1tYXJ5X19saXN0XCI+XG4gICAgICAgICAgICAgIDxsaSBjbGFzcz1cInBiYS1wYXltZW50cy1lcnJvci0xNi1mb250XCI+XG4gICAgICAgICAgICAgICAgWW91IGRvbid0IGhhdmUgZW5vdWdoIGZ1bmRzIGluIHlvdXIgUEJBIGFjY291bnQgdG8gcGF5IGZvciB0aGlzIGZlZS5cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgPGxpIGNsYXNzPVwicGJhLXBheW1lbnRzLWVycm9yLTE2LWZvbnRcIj5cbiAgICAgICAgICAgICAgICBJZiB5b3UgaGF2ZSBhbHJlYWR5IHRvcHBlZCB1cCB5b3VyIFBCQSBhY2NvdW50LCB3YWl0IHVwIHRvIDI0IGhvdXJzIGZvciB0aGUgbmV3IGJhbGFuY2UgdG8gYmVjb21lIGF2YWlsYWJsZS5cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicGJhLXBheW1lbnRzLW1hcmdpbi10b3AtMTBcIj5cbiAgICAgICAgICA8aDIgY2xhc3M9XCJoZWFkaW5nLW1lZGl1bVwiPlNob3VsZCB5b3UgbmVlZCBhbnkgZnVydGhlciBhZHZpY2U8L2gyPlxuICAgICAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keSBwYmEtcGF5bWVudHMtMTktZm9udFwiPlxuICAgICAgICAgICAgRW1haWwgPGEgaHJlZj1cIm1haWx0bzpNaWRkbGVPZmZpY2UuRERzZXJ2aWNlc0BsaWJlcmF0YS5jb21cIj5NaWRkbGVPZmZpY2UuRERzZXJ2aWNlc0BsaWJlcmF0YS5jb208L2E+IG9yIGNhbGwgPGEgaHJlZj1cInRlbDowMTYzMy02NTItMTI1XCI+MDE2MzMgNjUyIDEyNTwvYT4gKG9wdGlvbiAzKSB0byB0cnkgdG8gZml4IHRoZSBpc3N1ZS5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5IHBiYS1wYXltZW50cy0xOS1mb250XCI+XG4gICAgICAgICAgICB5b3UgY2FuIGFsc28gcGF5IGJ5IGNyZWRpdCBvciBkZWJpdCBjYXJkLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstYnV0dG9uLS1ncm91cFwiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidXR0b24gcGJhLXBheW1lbnRzLTE5LWZvbnQgZ292dWstYnV0dG9uLS1zZWNvbmRhcnkgcGJhLXBheW1lbnRzLW1hcmdpbi0xMFwiIChjbGljayk9XCJnb3RvQ2FzZXRyYW5zYXRpb25QYWdlKClcIj5cbiAgICAgICAgICAgICAgVmlldyBTZXJ2aWNlIFJlcXVlc3RcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidXR0b24gcGJhLXBheW1lbnRzLTE5LWZvbnQgcGJhLXBheW1lbnRzLTIwLW1hcmdpblwiIChjbGljayk9XCJjYXJkUGF5bWVudCgpXCI+XG4gICAgICAgICAgICAgIFBheSBieSBjYXJkXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L21haW4+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG48bmctY29udGFpbmVyICpuZ0lmPVwiaXNQQkFBY2NvdW50Tm90RXhpc3QgJiYgaXNDYXJkUGF5bWVudFN1Y2Nlc3NcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXdpZHRoLWNvbnRhaW5lclwiPlxuICAgIDxtYWluIGNsYXNzPVwiZ292dWstbWFpbi13cmFwcGVyIGdvdnVrLW1haW4td3JhcHBlci0tbFwiIGlkPVwibWFpbi1jb250ZW50XCIgcm9sZT1cIm1haW5cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeSBwYmEtcGF5bWVudHMtZXJyb3ItYm94LS1zaXplXCIgYXJpYS1sYWJlbGxlZGJ5PVwiZXJyb3Itc3VtbWFyeS10aXRsZVwiPlxuICAgICAgICAgIDxoMiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlfX3RpdGxlIGdvdnVrLWVycm9yLXN1bW1hcnlfX3RpdGxlLWN1c3RvbSBwYmEtcGF5bWVudHMtMjQtZm9udFwiIGlkPVwiZXJyb3Itc3VtbWFyeS10aXRsZVwiPlxuICAgICAgICAgICAgVGhlcmUgaXMgYSBwcm9ibGVtXG4gICAgICAgICAgPC9oMj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeV9fYm9keVwiPlxuICAgICAgICAgICAgPHVsIGNsYXNzPVwiZ292dWstbGlzdCBnb3Z1ay1lcnJvci1zdW1tYXJ5X19saXN0XCI+XG4gICAgICAgICAgICAgIDxsaSBjbGFzcz1cInBiYS1wYXltZW50cy1lcnJvci0xNi1mb250XCI+XG4gICAgICAgICAgICAgICAgWW91ciBQQkEgYWNjb3VudCAoe3tzZWxlY3RlZFBiYUFjY291bnR9fSkgbm8gbG9uZ2VyIGV4aXN0cy5cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicGJhLXBheW1lbnRzLW1hcmdpbi10b3AtMTBcIj5cbiAgICAgICAgICA8aDIgY2xhc3M9XCJoZWFkaW5nLW1lZGl1bVwiPlNob3VsZCB5b3UgbmVlZCBhbnkgZnVydGhlciBhZHZpY2U8L2gyPlxuICAgICAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keSBwYmEtcGF5bWVudHMtMTktZm9udCBnb3Z1ay1ib2R5LXdpZHRoXCI+XG4gICAgICAgICAgICBFbWFpbCA8YSBocmVmPVwibWFpbHRvOk1pZGRsZU9mZmljZS5ERHNlcnZpY2VzQGxpYmVyYXRhLmNvbVwiPk1pZGRsZU9mZmljZS5ERHNlcnZpY2VzQGxpYmVyYXRhLmNvbTwvYT4gb3IgY2FsbCA8YSBocmVmPVwidGVsOjAxNjMzLTY1Mi0xMjVcIj4wMTYzMyA2NTIgMTI1PC9hPiAob3B0aW9uIDMpIHRvIHRyeSB0byBmaXggdGhlIGlzc3VlLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHkgcGJhLXBheW1lbnRzLTE5LWZvbnRcIj5cbiAgICAgICAgICAgIHlvdSBjYW4gYWxzbyBwYXkgYnkgY3JlZGl0IG9yIGRlYml0IGNhcmQuXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1idXR0b24tLWdyb3VwXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ1dHRvbiBwYmEtcGF5bWVudHMtMTktZm9udCBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSBwYmEtcGF5bWVudHMtbWFyZ2luLTEwXCIgKGNsaWNrKT1cImdvdG9DYXNldHJhbnNhdGlvblBhZ2UoKVwiPlxuICAgICAgICAgICAgICBWaWV3IFNlcnZpY2UgUmVxdWVzdFxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ1dHRvbiBwYmEtcGF5bWVudHMtMTktZm9udCBwYmEtcGF5bWVudHMtMjAtbWFyZ2luXCIgKGNsaWNrKT1cImNhcmRQYXltZW50KClcIj5cbiAgICAgICAgICAgICAgUGF5IGJ5IGNhcmRcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWFpbj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJpc1BCQUFjY291bnRIb2xkICYmIGlzQ2FyZFBheW1lbnRTdWNjZXNzXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay13aWR0aC1jb250YWluZXJcIj5cbiAgICA8bWFpbiBjbGFzcz1cImdvdnVrLW1haW4td3JhcHBlciBnb3Z1ay1tYWluLXdyYXBwZXItLWxcIiBpZD1cIm1haW4tY29udGVudFwiIHJvbGU9XCJtYWluXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1yb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnkgcGJhLXBheW1lbnRzLWVycm9yLWJveC0tc2l6ZVwiIGFyaWEtbGFiZWxsZWRieT1cImVycm9yLXN1bW1hcnktdGl0bGVcIj5cbiAgICAgICAgICA8aDIgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5X190aXRsZSBnb3Z1ay1lcnJvci1zdW1tYXJ5X190aXRsZS1jdXN0b20gcGJhLXBheW1lbnRzLTI0LWZvbnRcIiBpZD1cImVycm9yLXN1bW1hcnktdGl0bGVcIj5cbiAgICAgICAgICAgIFRoZXJlIGlzIGEgcHJvYmxlbVxuICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlfX2JvZHlcIj5cbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImdvdnVrLWxpc3QgZ292dWstZXJyb3Itc3VtbWFyeV9fbGlzdFwiPlxuICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJwYmEtcGF5bWVudHMtZXJyb3ItMTYtZm9udFwiPlxuICAgICAgICAgICAgICAgIFlvdXIgUEJBIGFjY291bnQgKHt7c2VsZWN0ZWRQYmFBY2NvdW50fX0pIGhhcyBiZWVuIHB1dCBvbiBob2xkLlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYmEtcGF5bWVudHMtbWFyZ2luLXRvcC0xMFwiPlxuICAgICAgICAgIDxoMiBjbGFzcz1cImhlYWRpbmctbWVkaXVtXCI+U2hvdWxkIHlvdSBuZWVkIGFueSBmdXJ0aGVyIGFkdmljZTwvaDI+XG4gICAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5IHBiYS1wYXltZW50cy0xOS1mb250IGdvdnVrLWJvZHktd2lkdGhcIj5cbiAgICAgICAgICAgIEVtYWlsIDxhIGhyZWY9XCJtYWlsdG86TWlkZGxlT2ZmaWNlLkREc2VydmljZXNAbGliZXJhdGEuY29tXCI+TWlkZGxlT2ZmaWNlLkREc2VydmljZXNAbGliZXJhdGEuY29tPC9hPiBvciBjYWxsIDxhIGhyZWY9XCJ0ZWw6MDE2MzMtNjUyLTEyNVwiPjAxNjMzIDY1MiAxMjU8L2E+IChvcHRpb24gMykgdG8gdHJ5IHRvIGZpeCB0aGUgaXNzdWUuXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keSBwYmEtcGF5bWVudHMtMTktZm9udFwiPlxuICAgICAgICAgICAgeW91IGNhbiBhbHNvIHBheSBieSBjcmVkaXQgb3IgZGViaXQgY2FyZC5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi0tZ3JvdXBcIj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnV0dG9uIHBiYS1wYXltZW50cy0xOS1mb250IGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IHBiYS1wYXltZW50cy1tYXJnaW4tMTBcIiAoY2xpY2spPVwiZ290b0Nhc2V0cmFuc2F0aW9uUGFnZSgpXCI+XG4gICAgICAgICAgICAgIFZpZXcgU2VydmljZSBSZXF1ZXN0XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnV0dG9uIHBiYS1wYXltZW50cy0xOS1mb250IHBiYS1wYXltZW50cy0yMC1tYXJnaW5cIiAoY2xpY2spPVwiY2FyZFBheW1lbnQoKVwiPlxuICAgICAgICAgICAgICBQYXkgYnkgY2FyZFxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9tYWluPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzUEJBU2VydmVyRXJyb3IgJiYgaXNDYXJkUGF5bWVudFN1Y2Nlc3NcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXdpZHRoLWNvbnRhaW5lclwiPlxuICAgIDxtYWluIGNsYXNzPVwiZ292dWstbWFpbi13cmFwcGVyIGdvdnVrLW1haW4td3JhcHBlci0tbFwiIGlkPVwibWFpbi1jb250ZW50XCIgcm9sZT1cIm1haW5cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicGJhLXBheW1lbnRzLW1hcmdpbi10b3AtMTBcIj5cbiAgICAgICAgICA8aDIgY2xhc3M9XCJwYmEtcGF5bWVudHMtaGVhZGluZy1sZ1wiPlNvcnJ5LCB0aGVyZSBpcyBhIHByb2JsZW0gd2l0aCB0aGUgc2VydmljZTwvaDI+XG4gICAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5IHBiYS1wYXltZW50cy0xOS1mb250XCI+XG4gICAgICAgICAgICBUcnkgYWdhaW4gbGF0ZXIuXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keSBwYmEtcGF5bWVudHMtMTktZm9udFwiPlxuICAgICAgICAgICAgeW91IGNhbiBhbHNvIHBheSBieSBjcmVkaXQgb3IgZGViaXQgY2FyZC5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi0tZ3JvdXBcIj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnV0dG9uIHBiYS1wYXltZW50cy0xOS1mb250IGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IHBiYS1wYXltZW50cy1tYXJnaW4tMTBcIiAoY2xpY2spPVwiZ290b0Nhc2V0cmFuc2F0aW9uUGFnZSgpXCI+XG4gICAgICAgICAgICAgIFZpZXcgU2VydmljZSBSZXF1ZXN0XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnV0dG9uIHBiYS1wYXltZW50cy0xOS1mb250IHBiYS1wYXltZW50cy0yMC1tYXJnaW5cIiAoY2xpY2spPVwiY2FyZFBheW1lbnQoKVwiPlxuICAgICAgICAgICAgICBQYXkgYnkgY2FyZFxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9tYWluPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiaXNQQkFBY2NvdW50UGF5bWVudFN1Y2Nlc3MgJiYgaXNDYXJkUGF5bWVudFN1Y2Nlc3NcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXdpZHRoLWNvbnRhaW5lclwiPlxuICAgIDxtYWluIGNsYXNzPVwiZ292dWstbWFpbi13cmFwcGVyIGdvdnVrLW1haW4td3JhcHBlci0tbFwiIGlkPVwibWFpbi1jb250ZW50XCIgcm9sZT1cIm1haW5cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcGFuZWwgZ292dWstcGFuZWwtLWNvbmZpcm1hdGlvbiBwYmEtcGF5bWVudHMtLWNvbmZpcm1hdGlvblwiPlxuICAgICAgICAgIDxoMSBjbGFzcz1cImdvdnVrLXBhbmVsX190aXRsZSBwYmEtcGF5bWVudHMtLXRpdGxlIHdoaXRlXCI+XG4gICAgICAgICAgICAgIFBheW1lbnQgc3VjY2Vzc2Z1bFxuICAgICAgICAgIDwvaDE+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXBhbmVsX19ib2R5IHBiYS1wYXltZW50c19fYm9keSB3aGl0ZVwiPlxuICAgICAgICAgICAgICBZb3VyIHBheW1lbnQgcmVmZXJlbmNlIGlzIDxicj48c3Ryb25nIGNsYXNzPVwid2hpdGVcIj57e3BiYUFjY291bnRyUGF5bWVudFJlc3VsdC5wYXltZW50X3JlZmVyZW5jZX19PC9zdHJvbmc+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keSBwYmEtcGF5bWVudHMtMTktZm9udFwiPlxuICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cImdvdG9DYXNldHJhbnNhdGlvblBhZ2UoKVwiPlZpZXcgc2VydmljZSByZXF1ZXN0czwvYT5cbiAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWFpbj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0NhcmRQYXltZW50U3VjY2Vzc1wiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstd2lkdGgtY29udGFpbmVyXCI+XG4gICAgPG1haW4gY2xhc3M9XCJnb3Z1ay1tYWluLXdyYXBwZXIgZ292dWstbWFpbi13cmFwcGVyLS1sXCIgaWQ9XCJtYWluLWNvbnRlbnRcIiByb2xlPVwibWFpblwiPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtcm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYmEtcGF5bWVudHMtbWFyZ2luLXRvcC0xMFwiPlxuICAgICAgICAgIDxoMiBjbGFzcz1cInBiYS1wYXltZW50cy1oZWFkaW5nLWxnXCI+U29ycnksIHRoZXJlIGlzIGEgcHJvYmxlbSB3aXRoIHRoZSBzZXJ2aWNlPC9oMj5cbiAgICAgICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHkgcGJhLXBheW1lbnRzLTE5LWZvbnRcIj5cbiAgICAgICAgICAgIFRyeSBhZ2FpbiBsYXRlci5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPCEtLSA8cCBjbGFzcz1cImdvdnVrLWJvZHkgcGJhLXBheW1lbnRzLTE5LWZvbnRcIj5cbiAgICAgICAgICAgIHlvdSBjYW4gYWxzbyA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cImNhcmRQYXltZW50KClcIiA+cGF5IGJ5IGNyZWRpdCBvciBkZWJpdCBjYXJkPC9hPi5cbiAgICAgICAgICA8L3A+IC0tPlxuICAgICAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keSBwYmEtcGF5bWVudHMtMTktZm9udFwiPlxuICAgICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJnb3RvQ2FzZXRyYW5zYXRpb25QYWdlKClcIj5WaWV3IHNlcnZpY2UgcmVxdWVzdHM8L2E+XG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWFpbj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG5cblxuIl19