@hmcts/ccpay-web-component 5.2.10-beta8 → 6.0.0-beta01
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.
- package/esm2022/hmcts-ccpay-web-component.mjs +5 -0
- package/esm2022/lib/components/add-remission/add-remission.component.mjs +1189 -0
- package/esm2022/lib/components/allocate-payments/allocate-payments.component.mjs +407 -0
- package/esm2022/lib/components/card-details/card-details.component.mjs +32 -0
- package/esm2022/lib/components/case-transactions/case-transactions.component.mjs +794 -0
- package/esm2022/lib/components/contact-details/contact-details.component.mjs +338 -0
- package/esm2022/lib/components/error-banner/error-banner.component.mjs +18 -0
- package/esm2022/lib/components/fee-summary/fee-summary.component.mjs +247 -0
- package/esm2022/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.mjs +195 -0
- package/esm2022/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.mjs +255 -0
- package/esm2022/lib/components/notification-preview/notification-preview.component.mjs +79 -0
- package/esm2022/lib/components/page-not-found.component.mjs +17 -0
- package/esm2022/lib/components/payment-list/payment-list.component.mjs +36 -0
- package/esm2022/lib/components/payment-view/payment-view.component.mjs +416 -0
- package/esm2022/lib/components/pba-details/pba-details.component.mjs +18 -0
- package/esm2022/lib/components/pba-payment/pba-payment.component.mjs +151 -0
- package/esm2022/lib/components/process-refund/process-refund.component.mjs +417 -0
- package/esm2022/lib/components/processed-payments/processed-payments.component.mjs +37 -0
- package/esm2022/lib/components/refund-list/refund-list.component.mjs +73 -0
- package/esm2022/lib/components/refund-status/refund-status.component.mjs +453 -0
- package/esm2022/lib/components/reports/reports.component.mjs +291 -0
- package/esm2022/lib/components/service-request/service-request.component.mjs +456 -0
- package/esm2022/lib/components/status-history/status-history.component.mjs +33 -0
- package/esm2022/lib/components/table/table.component.mjs +128 -0
- package/esm2022/lib/components/unprocessed-payments/unprocessed-payments.component.mjs +236 -0
- package/esm2022/lib/interfaces/AddRemissionRequest.mjs +17 -0
- package/esm2022/lib/interfaces/AddRetroRemissionRequest.mjs +9 -0
- package/esm2022/lib/interfaces/AllocatePaymentRequest.mjs +41 -0
- package/esm2022/lib/interfaces/IAllocationPaymentsRequest.mjs +20 -0
- package/esm2022/lib/interfaces/IPaymentStatus.mjs +12 -0
- package/esm2022/lib/interfaces/IPutNotificationRequest.mjs +13 -0
- package/esm2022/lib/interfaces/IResubmitRefundRequest.mjs +13 -0
- package/esm2022/lib/interfaces/IserviceRequestCardPayment.mjs +11 -0
- package/esm2022/lib/interfaces/IserviceRequestPbaPayment.mjs +15 -0
- package/esm2022/lib/interfaces/IssueRefundRequest.mjs +11 -0
- package/esm2022/lib/interfaces/NotificationPreviewRequest.mjs +45 -0
- package/esm2022/lib/interfaces/PayhubAntennaRequest.mjs +12 -0
- package/esm2022/lib/interfaces/PaymentToPayhubRequest.mjs +15 -0
- package/esm2022/lib/interfaces/PostIssueRefundRetroRemission.mjs +9 -0
- package/esm2022/lib/interfaces/PostRefundRetroRemission.mjs +18 -0
- package/esm2022/lib/interfaces/RefundsRequest.mjs +9 -0
- package/esm2022/lib/interfaces/UnidentifiedPaymentsRequest.mjs +16 -0
- package/esm2022/lib/interfaces/UnsolicitedPaymentsRequest.mjs +22 -0
- package/esm2022/lib/payment-lib.component.mjs +288 -0
- package/esm2022/lib/payment-lib.module.mjs +187 -0
- package/esm2022/lib/payment-lib.service.mjs +49 -0
- package/esm2022/lib/pipes/capitalize.pipe.mjs +18 -0
- package/esm2022/lib/pipes/ccd-hyphens.pipe.mjs +22 -0
- package/esm2022/lib/pipes/key-value.pipe.mjs +23 -0
- package/esm2022/lib/pipes/sanitize-html.pipe.mjs +20 -0
- package/esm2022/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.mjs +87 -0
- package/esm2022/lib/services/card-details/card-details.service.mjs +39 -0
- package/esm2022/lib/services/case-transactions/case-transactions.service.mjs +39 -0
- package/esm2022/lib/services/notification/notification.service.mjs +70 -0
- package/esm2022/lib/services/orderslist.service.mjs +154 -0
- package/esm2022/lib/services/payment-list/payment-list.service.mjs +40 -0
- package/esm2022/lib/services/payment-view/payment-view.service.mjs +152 -0
- package/esm2022/lib/services/refunds/refunds.service.mjs +117 -0
- package/{esm2015/lib/services/shared/error-handler.service.js → esm2022/lib/services/shared/error-handler.service.mjs} +9 -8
- package/esm2022/lib/services/shared/httpclient/webcomponent.http.client.mjs +64 -0
- package/esm2022/lib/services/shared/logger/console-logger.service.mjs +43 -0
- package/esm2022/lib/services/shared/logger/logger.service.mjs +23 -0
- package/esm2022/lib/services/status-history/status-history.service.mjs +41 -0
- package/esm2022/lib/services/xl-file/xl-file.service.mjs +153 -0
- package/fesm2022/hmcts-ccpay-web-component.mjs +7870 -0
- package/fesm2022/hmcts-ccpay-web-component.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/add-remission/add-remission.component.d.ts +5 -3
- package/lib/components/allocate-payments/allocate-payments.component.d.ts +5 -7
- package/lib/components/card-details/card-details.component.d.ts +3 -1
- package/lib/components/case-transactions/case-transactions.component.d.ts +5 -3
- package/lib/components/contact-details/contact-details.component.d.ts +4 -2
- package/lib/components/error-banner/error-banner.component.d.ts +3 -1
- package/lib/components/fee-summary/fee-summary.component.d.ts +4 -2
- package/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.d.ts +4 -2
- package/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.d.ts +4 -2
- package/lib/components/notification-preview/notification-preview.component.d.ts +4 -6
- package/lib/components/page-not-found.component.d.ts +3 -1
- package/lib/components/payment-list/payment-list.component.d.ts +4 -2
- package/lib/components/payment-view/payment-view.component.d.ts +4 -2
- package/lib/components/pba-details/pba-details.component.d.ts +3 -1
- package/lib/components/pba-payment/pba-payment.component.d.ts +4 -2
- package/lib/components/process-refund/process-refund.component.d.ts +4 -2
- package/lib/components/processed-payments/processed-payments.component.d.ts +3 -1
- package/lib/components/refund-list/refund-list.component.d.ts +3 -1
- package/lib/components/refund-status/refund-status.component.d.ts +4 -2
- package/lib/components/reports/reports.component.d.ts +4 -6
- package/lib/components/service-request/service-request.component.d.ts +5 -3
- package/lib/components/status-history/status-history.component.d.ts +4 -2
- package/lib/components/table/table.component.d.ts +4 -2
- package/lib/components/unprocessed-payments/unprocessed-payments.component.d.ts +4 -2
- package/lib/interfaces/AddRemissionRequest.d.ts +0 -1
- package/lib/interfaces/AddRetroRemissionRequest.d.ts +0 -1
- package/lib/interfaces/AllocatePaymentRequest.d.ts +0 -1
- package/lib/interfaces/IAllocationPaymentsRequest.d.ts +0 -1
- package/lib/interfaces/IBSPayments.d.ts +0 -1
- package/lib/interfaces/ICardDetails.d.ts +0 -1
- package/lib/interfaces/IFee.d.ts +0 -1
- package/lib/interfaces/INotificationPreview.d.ts +0 -1
- package/lib/interfaces/IOrderReferenceFee.d.ts +0 -1
- package/lib/interfaces/IPatchRefundAction.d.ts +0 -1
- package/lib/interfaces/IPayment.d.ts +0 -1
- package/lib/interfaces/IPaymentFailure.d.ts +0 -1
- package/lib/interfaces/IPaymentGroup.d.ts +0 -1
- package/lib/interfaces/IPaymentStatus.d.ts +0 -1
- package/lib/interfaces/IPaymentView.d.ts +0 -1
- package/lib/interfaces/IPayments.d.ts +0 -1
- package/lib/interfaces/IPutNotificationRequest.d.ts +0 -1
- package/lib/interfaces/IRefundAction.d.ts +0 -1
- package/lib/interfaces/IRefundContactDetails.d.ts +0 -1
- package/lib/interfaces/IRefundFee.d.ts +0 -1
- package/lib/interfaces/IRefundList.d.ts +0 -1
- package/lib/interfaces/IRefundReasons.d.ts +0 -1
- package/lib/interfaces/IRefundRejectReason.d.ts +0 -1
- package/lib/interfaces/IRefundStatus.d.ts +0 -1
- package/lib/interfaces/IRefundStatusHistory.d.ts +0 -1
- package/lib/interfaces/IRefundsNotifications.d.ts +0 -1
- package/lib/interfaces/IRemission.d.ts +0 -1
- package/lib/interfaces/IResubmitRefundRequest.d.ts +0 -1
- package/lib/interfaces/IStatusHistories.d.ts +0 -1
- package/lib/interfaces/IStatusHistory.d.ts +0 -1
- package/lib/interfaces/IserviceRequestCardPayment.d.ts +0 -1
- package/lib/interfaces/IserviceRequestPbaPayment.d.ts +0 -1
- package/lib/interfaces/IssueRefundRequest.d.ts +0 -1
- package/lib/interfaces/NotificationPreviewRequest.d.ts +0 -1
- package/lib/interfaces/PayhubAntennaRequest.d.ts +0 -1
- package/lib/interfaces/PaymentToPayhubRequest.d.ts +0 -1
- package/lib/interfaces/PostIssueRefundRetroRemission.d.ts +0 -1
- package/lib/interfaces/PostRefundRetroRemission.d.ts +0 -1
- package/lib/interfaces/RefundsRequest.d.ts +0 -1
- package/lib/interfaces/UnidentifiedPaymentsRequest.d.ts +0 -1
- package/lib/interfaces/UnsolicitedPaymentsRequest.d.ts +0 -1
- package/lib/payment-lib.component.d.ts +3 -1
- package/lib/payment-lib.module.d.ts +40 -1
- package/lib/payment-lib.service.d.ts +3 -1
- package/lib/pipes/capitalize.pipe.d.ts +3 -1
- package/lib/pipes/ccd-hyphens.pipe.d.ts +3 -1
- package/lib/pipes/key-value.pipe.d.ts +3 -1
- package/lib/pipes/sanitize-html.pipe.d.ts +3 -1
- package/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.d.ts +4 -2
- package/lib/services/card-details/card-details.service.d.ts +3 -1
- package/lib/services/case-transactions/case-transactions.service.d.ts +4 -2
- package/lib/services/notification/notification.service.d.ts +4 -2
- package/lib/services/orderslist.service.d.ts +3 -1
- package/lib/services/payment-list/payment-list.service.d.ts +3 -1
- package/lib/services/payment-view/payment-view.service.d.ts +3 -1
- package/lib/services/refunds/refunds.service.d.ts +4 -2
- package/lib/services/shared/error-handler.service.d.ts +3 -1
- package/lib/services/shared/httpclient/webcomponent.http.client.d.ts +3 -1
- package/lib/services/shared/logger/console-logger.service.d.ts +3 -1
- package/lib/services/shared/logger/logger.service.d.ts +3 -1
- package/lib/services/status-history/status-history.service.d.ts +3 -1
- package/lib/services/xl-file/xl-file.service.d.ts +3 -1
- package/package.json +17 -11
- package/public_api.d.ts +0 -1
- package/bundles/hmcts-ccpay-web-component.umd.js +0 -7550
- package/bundles/hmcts-ccpay-web-component.umd.js.map +0 -1
- package/bundles/hmcts-ccpay-web-component.umd.min.js +0 -2
- package/bundles/hmcts-ccpay-web-component.umd.min.js.map +0 -1
- package/esm2015/hmcts-ccpay-web-component.js +0 -47
- package/esm2015/lib/components/add-remission/add-remission.component.js +0 -1045
- package/esm2015/lib/components/allocate-payments/allocate-payments.component.js +0 -381
- package/esm2015/lib/components/card-details/card-details.component.js +0 -28
- package/esm2015/lib/components/case-transactions/case-transactions.component.js +0 -735
- package/esm2015/lib/components/contact-details/contact-details.component.js +0 -315
- package/esm2015/lib/components/error-banner/error-banner.component.js +0 -18
- package/esm2015/lib/components/fee-summary/fee-summary.component.js +0 -223
- package/esm2015/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.js +0 -184
- package/esm2015/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.js +0 -238
- package/esm2015/lib/components/notification-preview/notification-preview.component.js +0 -59
- package/esm2015/lib/components/page-not-found.component.js +0 -11
- package/esm2015/lib/components/payment-list/payment-list.component.js +0 -31
- package/esm2015/lib/components/payment-view/payment-view.component.js +0 -335
- package/esm2015/lib/components/pba-details/pba-details.component.js +0 -18
- package/esm2015/lib/components/pba-payment/pba-payment.component.js +0 -144
- package/esm2015/lib/components/process-refund/process-refund.component.js +0 -398
- package/esm2015/lib/components/processed-payments/processed-payments.component.js +0 -34
- package/esm2015/lib/components/refund-list/refund-list.component.js +0 -59
- package/esm2015/lib/components/refund-status/refund-status.component.js +0 -399
- package/esm2015/lib/components/reports/reports.component.js +0 -280
- package/esm2015/lib/components/service-request/service-request.component.js +0 -345
- package/esm2015/lib/components/status-history/status-history.component.js +0 -28
- package/esm2015/lib/components/table/table.component.js +0 -99
- package/esm2015/lib/components/unprocessed-payments/unprocessed-payments.component.js +0 -199
- package/esm2015/lib/interfaces/AddRemissionRequest.js +0 -10
- package/esm2015/lib/interfaces/AddRetroRemissionRequest.js +0 -7
- package/esm2015/lib/interfaces/AllocatePaymentRequest.js +0 -27
- package/esm2015/lib/interfaces/IAllocationPaymentsRequest.js +0 -14
- package/esm2015/lib/interfaces/IPaymentStatus.js +0 -3
- package/esm2015/lib/interfaces/IPutNotificationRequest.js +0 -11
- package/esm2015/lib/interfaces/IResubmitRefundRequest.js +0 -9
- package/esm2015/lib/interfaces/IserviceRequestCardPayment.js +0 -8
- package/esm2015/lib/interfaces/IserviceRequestPbaPayment.js +0 -10
- package/esm2015/lib/interfaces/IssueRefundRequest.js +0 -8
- package/esm2015/lib/interfaces/NotificationPreviewRequest.js +0 -37
- package/esm2015/lib/interfaces/PayhubAntennaRequest.js +0 -9
- package/esm2015/lib/interfaces/PaymentToPayhubRequest.js +0 -12
- package/esm2015/lib/interfaces/PostIssueRefundRetroRemission.js +0 -7
- package/esm2015/lib/interfaces/PostRefundRetroRemission.js +0 -11
- package/esm2015/lib/interfaces/RefundsRequest.js +0 -7
- package/esm2015/lib/interfaces/UnidentifiedPaymentsRequest.js +0 -12
- package/esm2015/lib/interfaces/UnsolicitedPaymentsRequest.js +0 -15
- package/esm2015/lib/payment-lib.component.js +0 -132
- package/esm2015/lib/payment-lib.module.js +0 -99
- package/esm2015/lib/payment-lib.service.js +0 -43
- package/esm2015/lib/pipes/capitalize.pipe.js +0 -14
- package/esm2015/lib/pipes/ccd-hyphens.pipe.js +0 -18
- package/esm2015/lib/pipes/key-value.pipe.js +0 -20
- package/esm2015/lib/pipes/sanitize-html.pipe.js +0 -17
- package/esm2015/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.js +0 -87
- package/esm2015/lib/services/card-details/card-details.service.js +0 -39
- package/esm2015/lib/services/case-transactions/case-transactions.service.js +0 -39
- package/esm2015/lib/services/notification/notification.service.js +0 -70
- package/esm2015/lib/services/orderslist.service.js +0 -154
- package/esm2015/lib/services/payment-list/payment-list.service.js +0 -39
- package/esm2015/lib/services/payment-view/payment-view.service.js +0 -150
- package/esm2015/lib/services/refunds/refunds.service.js +0 -117
- package/esm2015/lib/services/shared/httpclient/webcomponent.http.client.js +0 -61
- package/esm2015/lib/services/shared/logger/console-logger.service.js +0 -43
- package/esm2015/lib/services/shared/logger/logger.service.js +0 -17
- package/esm2015/lib/services/status-history/status-history.service.js +0 -41
- package/esm2015/lib/services/xl-file/xl-file.service.js +0 -151
- package/fesm2015/hmcts-ccpay-web-component.js +0 -6980
- package/fesm2015/hmcts-ccpay-web-component.js.map +0 -1
- package/hmcts-ccpay-web-component.d.ts +0 -47
- package/hmcts-ccpay-web-component.d.ts.map +0 -1
- package/hmcts-ccpay-web-component.metadata.json +0 -1
- package/lib/components/add-remission/add-remission.component.d.ts.map +0 -1
- package/lib/components/add-remission/add-remission.component.ngfactory.d.ts.map +0 -1
- package/lib/components/add-remission/add-remission.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/allocate-payments/allocate-payments.component.d.ts.map +0 -1
- package/lib/components/allocate-payments/allocate-payments.component.ngfactory.d.ts.map +0 -1
- package/lib/components/allocate-payments/allocate-payments.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/card-details/card-details.component.css.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/card-details/card-details.component.d.ts.map +0 -1
- package/lib/components/card-details/card-details.component.ngfactory.d.ts.map +0 -1
- package/lib/components/case-transactions/case-transactions.component.css.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/case-transactions/case-transactions.component.d.ts.map +0 -1
- package/lib/components/case-transactions/case-transactions.component.ngfactory.d.ts.map +0 -1
- package/lib/components/contact-details/contact-details.component.css.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/contact-details/contact-details.component.d.ts.map +0 -1
- package/lib/components/contact-details/contact-details.component.ngfactory.d.ts.map +0 -1
- package/lib/components/error-banner/error-banner.component.d.ts.map +0 -1
- package/lib/components/error-banner/error-banner.component.ngfactory.d.ts.map +0 -1
- package/lib/components/error-banner/error-banner.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/fee-summary/fee-summary.component.d.ts.map +0 -1
- package/lib/components/fee-summary/fee-summary.component.ngfactory.d.ts.map +0 -1
- package/lib/components/fee-summary/fee-summary.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.d.ts.map +0 -1
- package/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.ngfactory.d.ts.map +0 -1
- package/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.d.ts.map +0 -1
- package/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.ngfactory.d.ts.map +0 -1
- package/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/notification-preview/notification-preview.component.d.ts.map +0 -1
- package/lib/components/notification-preview/notification-preview.component.ngfactory.d.ts.map +0 -1
- package/lib/components/notification-preview/notification-preview.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/page-not-found.component.d.ts.map +0 -1
- package/lib/components/page-not-found.component.ngfactory.d.ts.map +0 -1
- package/lib/components/payment-list/payment-list.component.css.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/payment-list/payment-list.component.d.ts.map +0 -1
- package/lib/components/payment-list/payment-list.component.ngfactory.d.ts.map +0 -1
- package/lib/components/payment-view/payment-view.component.d.ts.map +0 -1
- package/lib/components/payment-view/payment-view.component.ngfactory.d.ts.map +0 -1
- package/lib/components/payment-view/payment-view.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/pba-details/pba-details.component.css.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/pba-details/pba-details.component.d.ts.map +0 -1
- package/lib/components/pba-details/pba-details.component.ngfactory.d.ts.map +0 -1
- package/lib/components/pba-payment/pba-payment.component.d.ts.map +0 -1
- package/lib/components/pba-payment/pba-payment.component.ngfactory.d.ts.map +0 -1
- package/lib/components/pba-payment/pba-payment.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/process-refund/process-refund.component.css.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/process-refund/process-refund.component.d.ts.map +0 -1
- package/lib/components/process-refund/process-refund.component.ngfactory.d.ts.map +0 -1
- package/lib/components/processed-payments/processed-payments.component.d.ts.map +0 -1
- package/lib/components/processed-payments/processed-payments.component.ngfactory.d.ts.map +0 -1
- package/lib/components/processed-payments/processed-payments.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/refund-list/refund-list.component.css.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/refund-list/refund-list.component.d.ts.map +0 -1
- package/lib/components/refund-list/refund-list.component.ngfactory.d.ts.map +0 -1
- package/lib/components/refund-status/refund-status.component.css.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/refund-status/refund-status.component.d.ts.map +0 -1
- package/lib/components/refund-status/refund-status.component.ngfactory.d.ts.map +0 -1
- package/lib/components/reports/reports.component.d.ts.map +0 -1
- package/lib/components/reports/reports.component.ngfactory.d.ts.map +0 -1
- package/lib/components/reports/reports.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/service-request/service-request.component.d.ts.map +0 -1
- package/lib/components/service-request/service-request.component.ngfactory.d.ts.map +0 -1
- package/lib/components/service-request/service-request.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/status-history/status-history.component.css.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/status-history/status-history.component.d.ts.map +0 -1
- package/lib/components/status-history/status-history.component.ngfactory.d.ts.map +0 -1
- package/lib/components/table/table.component.css.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/table/table.component.d.ts.map +0 -1
- package/lib/components/table/table.component.ngfactory.d.ts.map +0 -1
- package/lib/components/unprocessed-payments/unprocessed-payments.component.d.ts.map +0 -1
- package/lib/components/unprocessed-payments/unprocessed-payments.component.ngfactory.d.ts.map +0 -1
- package/lib/components/unprocessed-payments/unprocessed-payments.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/interfaces/AddRemissionRequest.d.ts.map +0 -1
- package/lib/interfaces/AddRetroRemissionRequest.d.ts.map +0 -1
- package/lib/interfaces/AllocatePaymentRequest.d.ts.map +0 -1
- package/lib/interfaces/IAllocationPaymentsRequest.d.ts.map +0 -1
- package/lib/interfaces/IBSPayments.d.ts.map +0 -1
- package/lib/interfaces/ICardDetails.d.ts.map +0 -1
- package/lib/interfaces/IFee.d.ts.map +0 -1
- package/lib/interfaces/INotificationPreview.d.ts.map +0 -1
- package/lib/interfaces/IOrderReferenceFee.d.ts.map +0 -1
- package/lib/interfaces/IPatchRefundAction.d.ts.map +0 -1
- package/lib/interfaces/IPayment.d.ts.map +0 -1
- package/lib/interfaces/IPaymentFailure.d.ts.map +0 -1
- package/lib/interfaces/IPaymentGroup.d.ts.map +0 -1
- package/lib/interfaces/IPaymentStatus.d.ts.map +0 -1
- package/lib/interfaces/IPaymentView.d.ts.map +0 -1
- package/lib/interfaces/IPayments.d.ts.map +0 -1
- package/lib/interfaces/IPutNotificationRequest.d.ts.map +0 -1
- package/lib/interfaces/IRefundAction.d.ts.map +0 -1
- package/lib/interfaces/IRefundContactDetails.d.ts.map +0 -1
- package/lib/interfaces/IRefundFee.d.ts.map +0 -1
- package/lib/interfaces/IRefundList.d.ts.map +0 -1
- package/lib/interfaces/IRefundReasons.d.ts.map +0 -1
- package/lib/interfaces/IRefundRejectReason.d.ts.map +0 -1
- package/lib/interfaces/IRefundStatus.d.ts.map +0 -1
- package/lib/interfaces/IRefundStatusHistory.d.ts.map +0 -1
- package/lib/interfaces/IRefundsNotifications.d.ts.map +0 -1
- package/lib/interfaces/IRemission.d.ts.map +0 -1
- package/lib/interfaces/IResubmitRefundRequest.d.ts.map +0 -1
- package/lib/interfaces/IStatusHistories.d.ts.map +0 -1
- package/lib/interfaces/IStatusHistory.d.ts.map +0 -1
- package/lib/interfaces/IserviceRequestCardPayment.d.ts.map +0 -1
- package/lib/interfaces/IserviceRequestPbaPayment.d.ts.map +0 -1
- package/lib/interfaces/IssueRefundRequest.d.ts.map +0 -1
- package/lib/interfaces/NotificationPreviewRequest.d.ts.map +0 -1
- package/lib/interfaces/PayhubAntennaRequest.d.ts.map +0 -1
- package/lib/interfaces/PaymentToPayhubRequest.d.ts.map +0 -1
- package/lib/interfaces/PostIssueRefundRetroRemission.d.ts.map +0 -1
- package/lib/interfaces/PostRefundRetroRemission.d.ts.map +0 -1
- package/lib/interfaces/RefundsRequest.d.ts.map +0 -1
- package/lib/interfaces/UnidentifiedPaymentsRequest.d.ts.map +0 -1
- package/lib/interfaces/UnsolicitedPaymentsRequest.d.ts.map +0 -1
- package/lib/payment-lib.component.d.ts.map +0 -1
- package/lib/payment-lib.component.ngfactory.d.ts.map +0 -1
- package/lib/payment-lib.module.d.ts.map +0 -1
- package/lib/payment-lib.module.ngfactory.d.ts.map +0 -1
- package/lib/payment-lib.service.d.ts.map +0 -1
- package/lib/payment-lib.service.ngfactory.d.ts.map +0 -1
- package/lib/pipes/capitalize.pipe.d.ts.map +0 -1
- package/lib/pipes/capitalize.pipe.ngfactory.d.ts.map +0 -1
- package/lib/pipes/ccd-hyphens.pipe.d.ts.map +0 -1
- package/lib/pipes/ccd-hyphens.pipe.ngfactory.d.ts.map +0 -1
- package/lib/pipes/key-value.pipe.d.ts.map +0 -1
- package/lib/pipes/key-value.pipe.ngfactory.d.ts.map +0 -1
- package/lib/pipes/sanitize-html.pipe.d.ts.map +0 -1
- package/lib/pipes/sanitize-html.pipe.ngfactory.d.ts.map +0 -1
- package/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.d.ts.map +0 -1
- package/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.ngfactory.d.ts.map +0 -1
- package/lib/services/card-details/card-details.service.d.ts.map +0 -1
- package/lib/services/card-details/card-details.service.ngfactory.d.ts.map +0 -1
- package/lib/services/case-transactions/case-transactions.service.d.ts.map +0 -1
- package/lib/services/case-transactions/case-transactions.service.ngfactory.d.ts.map +0 -1
- package/lib/services/notification/notification.service.d.ts.map +0 -1
- package/lib/services/notification/notification.service.ngfactory.d.ts.map +0 -1
- package/lib/services/orderslist.service.d.ts.map +0 -1
- package/lib/services/orderslist.service.ngfactory.d.ts.map +0 -1
- package/lib/services/payment-list/payment-list.service.d.ts.map +0 -1
- package/lib/services/payment-list/payment-list.service.ngfactory.d.ts.map +0 -1
- package/lib/services/payment-view/payment-view.service.d.ts.map +0 -1
- package/lib/services/payment-view/payment-view.service.ngfactory.d.ts.map +0 -1
- package/lib/services/refunds/refunds.service.d.ts.map +0 -1
- package/lib/services/refunds/refunds.service.ngfactory.d.ts.map +0 -1
- package/lib/services/shared/error-handler.service.d.ts.map +0 -1
- package/lib/services/shared/error-handler.service.ngfactory.d.ts.map +0 -1
- package/lib/services/shared/httpclient/webcomponent.http.client.d.ts.map +0 -1
- package/lib/services/shared/httpclient/webcomponent.http.client.ngfactory.d.ts.map +0 -1
- package/lib/services/shared/logger/console-logger.service.d.ts.map +0 -1
- package/lib/services/shared/logger/console-logger.service.ngfactory.d.ts.map +0 -1
- package/lib/services/shared/logger/logger.service.d.ts.map +0 -1
- package/lib/services/shared/logger/logger.service.ngfactory.d.ts.map +0 -1
- package/lib/services/status-history/status-history.service.d.ts.map +0 -1
- package/lib/services/status-history/status-history.service.ngfactory.d.ts.map +0 -1
- package/lib/services/xl-file/xl-file.service.d.ts.map +0 -1
- package/lib/services/xl-file/xl-file.service.ngfactory.d.ts.map +0 -1
- package/public_api.d.ts.map +0 -1
- /package/{esm2015/lib/interfaces/IBSPayments.js → esm2022/lib/interfaces/IBSPayments.mjs} +0 -0
- /package/{esm2015/lib/interfaces/ICardDetails.js → esm2022/lib/interfaces/ICardDetails.mjs} +0 -0
- /package/{esm2015/lib/interfaces/IFee.js → esm2022/lib/interfaces/IFee.mjs} +0 -0
- /package/{esm2015/lib/interfaces/INotificationPreview.js → esm2022/lib/interfaces/INotificationPreview.mjs} +0 -0
- /package/{esm2015/lib/interfaces/IOrderReferenceFee.js → esm2022/lib/interfaces/IOrderReferenceFee.mjs} +0 -0
- /package/{esm2015/lib/interfaces/IPatchRefundAction.js → esm2022/lib/interfaces/IPatchRefundAction.mjs} +0 -0
- /package/{esm2015/lib/interfaces/IPayment.js → esm2022/lib/interfaces/IPayment.mjs} +0 -0
- /package/{esm2015/lib/interfaces/IPaymentFailure.js → esm2022/lib/interfaces/IPaymentFailure.mjs} +0 -0
- /package/{esm2015/lib/interfaces/IPaymentGroup.js → esm2022/lib/interfaces/IPaymentGroup.mjs} +0 -0
- /package/{esm2015/lib/interfaces/IPaymentView.js → esm2022/lib/interfaces/IPaymentView.mjs} +0 -0
- /package/{esm2015/lib/interfaces/IPayments.js → esm2022/lib/interfaces/IPayments.mjs} +0 -0
- /package/{esm2015/lib/interfaces/IRefundAction.js → esm2022/lib/interfaces/IRefundAction.mjs} +0 -0
- /package/{esm2015/lib/interfaces/IRefundContactDetails.js → esm2022/lib/interfaces/IRefundContactDetails.mjs} +0 -0
- /package/{esm2015/lib/interfaces/IRefundFee.js → esm2022/lib/interfaces/IRefundFee.mjs} +0 -0
- /package/{esm2015/lib/interfaces/IRefundList.js → esm2022/lib/interfaces/IRefundList.mjs} +0 -0
- /package/{esm2015/lib/interfaces/IRefundReasons.js → esm2022/lib/interfaces/IRefundReasons.mjs} +0 -0
- /package/{esm2015/lib/interfaces/IRefundRejectReason.js → esm2022/lib/interfaces/IRefundRejectReason.mjs} +0 -0
- /package/{esm2015/lib/interfaces/IRefundStatus.js → esm2022/lib/interfaces/IRefundStatus.mjs} +0 -0
- /package/{esm2015/lib/interfaces/IRefundStatusHistory.js → esm2022/lib/interfaces/IRefundStatusHistory.mjs} +0 -0
- /package/{esm2015/lib/interfaces/IRefundsNotifications.js → esm2022/lib/interfaces/IRefundsNotifications.mjs} +0 -0
- /package/{esm2015/lib/interfaces/IRemission.js → esm2022/lib/interfaces/IRemission.mjs} +0 -0
- /package/{esm2015/lib/interfaces/IStatusHistories.js → esm2022/lib/interfaces/IStatusHistories.mjs} +0 -0
- /package/{esm2015/lib/interfaces/IStatusHistory.js → esm2022/lib/interfaces/IStatusHistory.mjs} +0 -0
- /package/{esm2015/public_api.js → esm2022/public_api.mjs} +0 -0
|
@@ -1,345 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter, ChangeDetectorRef } from '@angular/core';
|
|
2
|
-
import { PaymentLibComponent } from '../../payment-lib.component';
|
|
3
|
-
import { Router } from '@angular/router';
|
|
4
|
-
import { PaymentViewService } from '../../services/payment-view/payment-view.service';
|
|
5
|
-
import { NotificationService } from '../../services/notification/notification.service';
|
|
6
|
-
import { OrderslistService } from '../../services/orderslist.service';
|
|
7
|
-
import { PostRefundRetroRemission } from '../../interfaces/PostRefundRetroRemission';
|
|
8
|
-
export class ServiceRequestComponent {
|
|
9
|
-
constructor(paymentLibComponent, paymentViewService, OrderslistService, notificationService, cd, router) {
|
|
10
|
-
this.paymentLibComponent = paymentLibComponent;
|
|
11
|
-
this.paymentViewService = paymentViewService;
|
|
12
|
-
this.OrderslistService = OrderslistService;
|
|
13
|
-
this.notificationService = notificationService;
|
|
14
|
-
this.cd = cd;
|
|
15
|
-
this.router = router;
|
|
16
|
-
this.goToServiceRquestComponent = new EventEmitter();
|
|
17
|
-
this.paymentGroups = [];
|
|
18
|
-
this.payments = [];
|
|
19
|
-
this.nonPayments = [];
|
|
20
|
-
this.allPayments = [];
|
|
21
|
-
this.remissions = [];
|
|
22
|
-
this.isRefundRemission = true;
|
|
23
|
-
this.isAddFeeBtnEnabled = true;
|
|
24
|
-
this.isExceptionRecord = false;
|
|
25
|
-
this.isUnprocessedRecordSelected = false;
|
|
26
|
-
this.isAnyFeeGroupAvilable = true;
|
|
27
|
-
this.isHistoricGroupAvailable = false;
|
|
28
|
-
this.isRemoveBtnDisabled = false;
|
|
29
|
-
this.clAmountDue = 0;
|
|
30
|
-
this.isFeeRecordsExist = false;
|
|
31
|
-
this.isGrpOutstandingAmtPositive = false;
|
|
32
|
-
this.isAddRemissionEnable = false;
|
|
33
|
-
this.orderRemissionDetails = [];
|
|
34
|
-
this.orderLevelFees = [];
|
|
35
|
-
this.cpoDetails = [];
|
|
36
|
-
this.isPBA = false;
|
|
37
|
-
this.isIssueRefunfBtnEnable = false;
|
|
38
|
-
this.isAddRemissionBtnEnabled = false;
|
|
39
|
-
this.isRefundRemissionBtnEnable = false;
|
|
40
|
-
this.allowedRolesToAccessRefund = ['payments-refund-approver', 'payments-refund'];
|
|
41
|
-
this.isContinueBtnDisabled = true;
|
|
42
|
-
}
|
|
43
|
-
ngOnInit() {
|
|
44
|
-
this.isTurnOff = this.paymentLibComponent.ISTURNOFF;
|
|
45
|
-
this.isServiceRequest = 'false';
|
|
46
|
-
if (this.viewStatus === undefined) {
|
|
47
|
-
this.viewStatus = this.paymentLibComponent.viewName;
|
|
48
|
-
}
|
|
49
|
-
if (this.paymentLibComponent.isFromServiceRequestPage && this.paymentLibComponent.isFromPaymentDetailPage) {
|
|
50
|
-
this.OrderslistService.getorderRefs().subscribe((data) => this.orderRef = data);
|
|
51
|
-
this.OrderslistService.getorderCCDEvents().subscribe((data) => this.orderCCDEvent = data);
|
|
52
|
-
this.OrderslistService.getorderCreateds().subscribe((data) => this.orderCreated = data);
|
|
53
|
-
this.OrderslistService.getorderDetail().subscribe((data) => this.orderDetail = data);
|
|
54
|
-
this.OrderslistService.getorderPartys().subscribe((data) => this.orderParty = data);
|
|
55
|
-
this.OrderslistService.getorderRemissionTotals().subscribe((data) => this.orderRemissionTotal = data);
|
|
56
|
-
this.OrderslistService.getorderFeesTotals().subscribe((data) => this.orderFeesTotal = data);
|
|
57
|
-
this.OrderslistService.getoorderTotalPaymentss().subscribe((data) => this.orderTotalPayments = data);
|
|
58
|
-
}
|
|
59
|
-
if (this.paymentLibComponent.isFromServiceRequestPage && this.paymentLibComponent.TAKEPAYMENT) {
|
|
60
|
-
this.isServiceRequest = 'false';
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
goToServiceRequestPage() {
|
|
64
|
-
this.goToServiceRquestComponent.emit();
|
|
65
|
-
}
|
|
66
|
-
goToCaseTransationPage(event) {
|
|
67
|
-
event.preventDefault();
|
|
68
|
-
this.OrderslistService.setnavigationPage('servicerequestpage');
|
|
69
|
-
this.OrderslistService.setisFromServiceRequestPage(false);
|
|
70
|
-
this.paymentLibComponent.viewName = 'case-transactions';
|
|
71
|
-
this.paymentLibComponent.ISBSENABLE = true;
|
|
72
|
-
this.paymentLibComponent.isTakePayment = this.paymentLibComponent.TAKEPAYMENT;
|
|
73
|
-
if (this.takePayment) {
|
|
74
|
-
this.paymentLibComponent.isTakePayment = this.takePayment;
|
|
75
|
-
}
|
|
76
|
-
//this.paymentLibComponent.SERVICEREQUEST = "true";
|
|
77
|
-
this.paymentLibComponent.isFromServiceRequestPage = false;
|
|
78
|
-
if (this.isServiceRequest !== 'false') {
|
|
79
|
-
this.paymentLibComponent.isFromServiceRequestPage = true;
|
|
80
|
-
}
|
|
81
|
-
this.paymentLibComponent.isFromRefundStatusPage = false;
|
|
82
|
-
this.paymentLibComponent.viewName = 'case-transactions';
|
|
83
|
-
this.resetOrderData();
|
|
84
|
-
// Check we on XUI
|
|
85
|
-
if (this.router.url.startsWith('/cases/case-details/')) {
|
|
86
|
-
// Use ccpay-case-transactions component
|
|
87
|
-
this.viewStatus = 'case-transactions';
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
// Reload Paybubble case-transactions page.
|
|
91
|
-
let partUrl = this.paymentLibComponent.ISBSENABLE ? '&isBulkScanning=Enable' : '&isBulkScanning=Disable';
|
|
92
|
-
partUrl += this.paymentLibComponent.ISTURNOFF ? '&isTurnOff=Enable' : '&isTurnOff=Disable';
|
|
93
|
-
if (this.isServiceRequest === 'false') {
|
|
94
|
-
partUrl += this.paymentLibComponent.TAKEPAYMENT ? '&takePayment=true' : '&takePayment=false';
|
|
95
|
-
}
|
|
96
|
-
partUrl += this.isStrategicFixEnable ? '&isStFixEnable=Enable' : '&isStFixEnable=Disable';
|
|
97
|
-
partUrl += this.isServiceRequest !== 'false' ? '&servicerequest=true' : '&servicerequest=false';
|
|
98
|
-
partUrl += `&caseType=${this.paymentLibComponent.CASETYPE}`;
|
|
99
|
-
const url = `/payment-history/${this.paymentLibComponent.CCD_CASE_NUMBER}?view=case-transactions&selectedOption=${this.paymentLibComponent.SELECTED_OPTION}${partUrl}`;
|
|
100
|
-
this.router.routeReuseStrategy.shouldReuseRoute = () => false;
|
|
101
|
-
this.router.onSameUrlNavigation = 'reload';
|
|
102
|
-
this.router.navigateByUrl(url);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
addRemission(fee) {
|
|
106
|
-
if (this.chkIsAddRemissionBtnEnable(fee)) {
|
|
107
|
-
this.feeId = fee;
|
|
108
|
-
this.viewStatus = 'addremission';
|
|
109
|
-
this.payment = this.orderDetail[0].payments[0];
|
|
110
|
-
this.paymentViewService.getApportionPaymentDetails(this.orderDetail[0].payments[0].reference).subscribe(paymentGroup => {
|
|
111
|
-
this.paymentGroup = paymentGroup;
|
|
112
|
-
this.paymentGroup.payments = this.paymentGroup.payments.filter(paymentGroupObj => paymentGroupObj['reference'].includes(this.paymentLibComponent.paymentReference));
|
|
113
|
-
this.payment = this.paymentGroup.payments[0];
|
|
114
|
-
// const paymentAllocation = this.paymentGroup.payments[0].payment_allocation;
|
|
115
|
-
// this.isStatusAllocated = paymentAllocation.length > 0 && paymentAllocation[0].allocation_status === 'Allocated' || paymentAllocation.length === 0;
|
|
116
|
-
}, (error) => this.errorMessage = error.replace(/"/g, ""));
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
addRefundForRemission(payment, remission, fees) {
|
|
120
|
-
this.paymentLibComponent.isFromServiceRequestPage = true;
|
|
121
|
-
this.paymentViewService.getApportionPaymentDetails(payment.reference).subscribe(paymentGroup => {
|
|
122
|
-
this.paymentGroup = paymentGroup;
|
|
123
|
-
this.paymentGroup.payments = this.paymentGroup.payments.filter(paymentGroupObj => paymentGroupObj.reference === payment.reference);
|
|
124
|
-
this.payment = this.paymentGroup.payments[0];
|
|
125
|
-
this.remissions = remission;
|
|
126
|
-
this.remissionFeeAmt = fees.filter(data => data.code === this.remissions['fee_code'])[0].net_amount;
|
|
127
|
-
this.viewStatus = 'addrefundforremission';
|
|
128
|
-
// const paymentAllocation = this.paymentGroup.payments[0].payment_allocation;
|
|
129
|
-
// this.isStatusAllocated = paymentAllocation.length > 0 && paymentAllocation[0].allocation_status === 'Allocated' || paymentAllocation.length === 0;
|
|
130
|
-
}, (error) => this.errorMessage = error);
|
|
131
|
-
}
|
|
132
|
-
cancelRemoval() {
|
|
133
|
-
this.viewStatus = 'main';
|
|
134
|
-
}
|
|
135
|
-
removeFee(fee) {
|
|
136
|
-
this.isRemoveBtnDisabled = true;
|
|
137
|
-
this.paymentViewService.deleteFeeFromPaymentGroup(fee).subscribe((success) => {
|
|
138
|
-
window.location.reload();
|
|
139
|
-
}, (error) => {
|
|
140
|
-
this.errorMessage = error;
|
|
141
|
-
this.isRemoveBtnDisabled = false;
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
issueRefund(payment) {
|
|
145
|
-
if (payment !== null && payment !== undefined) {
|
|
146
|
-
if (this.chkIsIssueRefundBtnEnable(payment)) {
|
|
147
|
-
this.paymentViewService.getApportionPaymentDetails(payment.reference).subscribe(paymentGroup => {
|
|
148
|
-
paymentGroup.payments = paymentGroup.payments.filter(paymentGroupObj => paymentGroupObj['reference'].includes(payment.reference));
|
|
149
|
-
if (payment.over_payment > 0) {
|
|
150
|
-
this.viewStatus = '';
|
|
151
|
-
this.payment = payment;
|
|
152
|
-
this.paymentGroupList = paymentGroup;
|
|
153
|
-
this.viewCompStatus = 'overpayment';
|
|
154
|
-
}
|
|
155
|
-
else {
|
|
156
|
-
this.viewStatus = 'issuerefund';
|
|
157
|
-
this.viewCompStatus = '';
|
|
158
|
-
this.paymentFees = paymentGroup.fees;
|
|
159
|
-
this.payment = payment;
|
|
160
|
-
this.paymentLibComponent.isFromServiceRequestPage = true;
|
|
161
|
-
this.isRefundRemission = true;
|
|
162
|
-
}
|
|
163
|
-
}, (error) => this.errorMessage = error);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
goToPayementView(paymentGroupReference, paymentReference, paymentMethod) {
|
|
168
|
-
this.goToPaymentViewComponent({ paymentGroupReference, paymentReference, paymentMethod });
|
|
169
|
-
}
|
|
170
|
-
goToPaymentViewComponent(paymentGroup) {
|
|
171
|
-
this.paymentLibComponent.paymentMethod = paymentGroup.paymentMethod;
|
|
172
|
-
this.paymentLibComponent.isFromServiceRequestPage = true;
|
|
173
|
-
this.paymentLibComponent.paymentGroupReference = paymentGroup.paymentGroupReference;
|
|
174
|
-
this.paymentLibComponent.paymentReference = paymentGroup.paymentReference;
|
|
175
|
-
this.OrderslistService.setOrderRef(this.orderRef);
|
|
176
|
-
this.OrderslistService.setorderCCDEvent(this.orderCCDEvent);
|
|
177
|
-
this.OrderslistService.setorderCreated(this.orderCreated);
|
|
178
|
-
this.OrderslistService.setorderDetail(this.orderDetail);
|
|
179
|
-
this.OrderslistService.setorderParty(this.orderParty);
|
|
180
|
-
this.OrderslistService.setorderTotalPayments(this.orderTotalPayments);
|
|
181
|
-
this.OrderslistService.setorderRemissionTotal(this.orderRemissionTotal);
|
|
182
|
-
this.OrderslistService.setorderFeesTotal(this.orderFeesTotal);
|
|
183
|
-
this.viewStatus = 'payment-view';
|
|
184
|
-
}
|
|
185
|
-
chkIsIssueRefundBtnEnable(payment) {
|
|
186
|
-
if (payment !== null && payment !== undefined) {
|
|
187
|
-
return payment.issue_refund && payment.refund_enable;
|
|
188
|
-
}
|
|
189
|
-
else {
|
|
190
|
-
return false;
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
chkIsAddRefundBtnEnable(remission) {
|
|
194
|
-
if (remission !== null && remission !== undefined) {
|
|
195
|
-
return remission.add_refund;
|
|
196
|
-
}
|
|
197
|
-
else {
|
|
198
|
-
return false;
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
chkIsAddRemissionBtnEnable(fee) {
|
|
202
|
-
if (fee !== null && fee !== undefined) {
|
|
203
|
-
return fee.add_remission && fee.remission_enable;
|
|
204
|
-
}
|
|
205
|
-
else {
|
|
206
|
-
return false;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
resetOrderData() {
|
|
210
|
-
this.OrderslistService.setOrderRef(null);
|
|
211
|
-
this.OrderslistService.setorderCCDEvent(null);
|
|
212
|
-
this.OrderslistService.setorderCreated(null);
|
|
213
|
-
this.OrderslistService.setorderDetail(null);
|
|
214
|
-
this.OrderslistService.setorderParty(null);
|
|
215
|
-
this.OrderslistService.setorderTotalPayments(null);
|
|
216
|
-
this.OrderslistService.setorderRemissionTotal(null);
|
|
217
|
-
this.OrderslistService.setorderFeesTotal(null);
|
|
218
|
-
}
|
|
219
|
-
selectPymentOption(paymentType) {
|
|
220
|
-
this.paymentType = paymentType;
|
|
221
|
-
this.isContinueBtnDisabled = false;
|
|
222
|
-
}
|
|
223
|
-
goToPaymentViewComp() {
|
|
224
|
-
this.viewCompStatus = '';
|
|
225
|
-
this.viewStatus = 'paymentview';
|
|
226
|
-
}
|
|
227
|
-
continuePayment(paymentgrp) {
|
|
228
|
-
if (this.paymentType === 'op') {
|
|
229
|
-
this.isFullyRefund = false;
|
|
230
|
-
this.viewStatus = '';
|
|
231
|
-
this.viewCompStatus = 'overPaymentAddressCapture';
|
|
232
|
-
}
|
|
233
|
-
else if (this.paymentType === 'fp') {
|
|
234
|
-
this.isFullyRefund = true;
|
|
235
|
-
this.paymentGroupList = paymentgrp;
|
|
236
|
-
this.viewStatus = 'issuerefund';
|
|
237
|
-
this.viewCompStatus = "";
|
|
238
|
-
this.isRefundRemission = true;
|
|
239
|
-
this.paymentLibComponent.isFromPaymentDetailPage = true;
|
|
240
|
-
this.isFromPaymentDetailPage = true;
|
|
241
|
-
this.isFromServiceRequestPage = this.paymentLibComponent.isFromServiceRequestPage;
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
getContactDetails(obj) {
|
|
245
|
-
this.contactDetailsObj = obj;
|
|
246
|
-
this.viewStatus = '';
|
|
247
|
-
this.viewCompStatus = 'overpaymentcheckandanswer';
|
|
248
|
-
this.getTemplateInstructionType(this.paymentGroupList.payments[0]);
|
|
249
|
-
this.notificationPreview = false;
|
|
250
|
-
}
|
|
251
|
-
gotoPaymentSelectPage(event) {
|
|
252
|
-
event.preventDefault();
|
|
253
|
-
this.viewStatus = '';
|
|
254
|
-
this.viewCompStatus = 'overpayment';
|
|
255
|
-
}
|
|
256
|
-
gotoAddressPage(note) {
|
|
257
|
-
if (note) {
|
|
258
|
-
this.notification = { contact_details: note, notification_type: note.notification_type };
|
|
259
|
-
}
|
|
260
|
-
this.errorMessage = '';
|
|
261
|
-
this.viewStatus = '';
|
|
262
|
-
this.viewCompStatus = 'overPaymentAddressCapture';
|
|
263
|
-
}
|
|
264
|
-
processRefund() {
|
|
265
|
-
this.isConfirmationBtnDisabled = true;
|
|
266
|
-
this.errorMessage = '';
|
|
267
|
-
const obj = this.paymentGroupList.fees[0];
|
|
268
|
-
this.fees = [{ id: obj.id,
|
|
269
|
-
code: obj.code,
|
|
270
|
-
version: obj.version,
|
|
271
|
-
apportion_amount: obj.apportion_amount,
|
|
272
|
-
calculated_amount: obj.calculated_amount,
|
|
273
|
-
updated_volume: obj.updated_volume ? obj.updated_volume : obj.volume,
|
|
274
|
-
volume: obj.volume,
|
|
275
|
-
refund_amount: this.getOverPaymentValue() }];
|
|
276
|
-
const requestBody = new PostRefundRetroRemission(this.contactDetailsObj, this.fees, this.paymentGroupList.payments[0].reference, 'RR037', this.getOverPaymentValue(), 'op');
|
|
277
|
-
this.paymentViewService.postRefundsReason(requestBody).subscribe(response => {
|
|
278
|
-
if (JSON.parse(response)) {
|
|
279
|
-
this.viewCompStatus = '';
|
|
280
|
-
this.viewStatus = 'refundconfirmationpage';
|
|
281
|
-
this.refundReference = JSON.parse(response).refund_reference;
|
|
282
|
-
this.refundAmount = JSON.parse(response).refund_amount;
|
|
283
|
-
}
|
|
284
|
-
}, (error) => {
|
|
285
|
-
this.errorMessage = error;
|
|
286
|
-
this.isConfirmationBtnDisabled = false;
|
|
287
|
-
this.cd.detectChanges();
|
|
288
|
-
});
|
|
289
|
-
}
|
|
290
|
-
getOverPaymentValue() {
|
|
291
|
-
let feesOverPayment = 0;
|
|
292
|
-
this.paymentGroupList.fees.forEach(fee => {
|
|
293
|
-
feesOverPayment += fee.over_payment;
|
|
294
|
-
});
|
|
295
|
-
return feesOverPayment > 0 ? feesOverPayment : this.paymentGroupList.payments[0].over_payment;
|
|
296
|
-
}
|
|
297
|
-
getTemplateInstructionType(payment) {
|
|
298
|
-
if (payment == undefined || payment == null) {
|
|
299
|
-
this.templateInstructionType = 'Template';
|
|
300
|
-
}
|
|
301
|
-
else {
|
|
302
|
-
this.templateInstructionType = this.notificationService.getNotificationInstructionType(payment.channel, payment.method);
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
showNotificationPreview() {
|
|
306
|
-
this.notificationPreview = true;
|
|
307
|
-
}
|
|
308
|
-
hideNotificationPreview() {
|
|
309
|
-
this.notificationPreview = false;
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
ServiceRequestComponent.decorators = [
|
|
313
|
-
{ type: Component, args: [{
|
|
314
|
-
selector: 'ccpay-service-request',
|
|
315
|
-
template: "<!-- Order Full View Details-->\n<ng-container *ngIf=\"viewStatus === 'order-full-view'\">\n <div class=\"govuk-breadcrumbs\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\" *ngIf=\"isServiceRequest === 'false'\">\n <a href=\"javascript:void(0)\" (click)=\"goToCaseTransationPage($event)\" class=\"govuk-back-link\">Back</a>\n </li>\n <li class=\"govuk-breadcrumbs__list-item\" *ngIf=\"isServiceRequest !== 'false'\">\n <a href=\"javascript:void(0)\" (click)=\"goToServiceRequestPage()\" id=\"bckLnksize\" class=\"govuk-back-link\">Back</a>\n </li>\n </ol>\n </div>\n <div class=\"govuk-grid-column-full\">\n <div class=\"column\">\n <h1 class=\"heading-large govuk-!-margin-top-0\">Service request</h1>\n </div>\n <table >\n <tbody>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Service request reference</td>\n <td>{{orderRef}}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Status</td>\n <td>{{orderStatus}}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Date created</td>\n <td>{{orderCreated | date:'dd MMMM yyyy'}}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Party</td>\n <td>{{orderParty}}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">CCD event</td>\n <td>{{orderCCDEvent}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <div class=\"govuk-grid-column-full order-class\">\n <div class=\"column\">\n <table class=\"govuk-table \">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-51\" scope=\"col\" *ngIf=\"isServiceRequest === 'false'\">Fee</td>\n <td class=\"govuk-table__header col-51\" scope=\"col\" colspan=\"2\" *ngIf=\"isServiceRequest !== 'false'\">Fee</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Total</td>\n <td class=\"govuk-table__header\" scope=\"col\" *ngIf=\"isServiceRequest === 'false'\"></td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngFor=\"let order of orderDetail;\">\n <tr class=\"govuk-table__row\" *ngFor=\"let fee of order.fees; let i = index;\">\n <td class=\"govuk-table__cell col-60 whitespace-inherit\" *ngIf=\"isServiceRequest === 'false'\">{{fee.description}}</td>\n <td class=\"govuk-table__cell col-60 whitespace-inherit\" colspan=\"2\" *ngIf=\"isServiceRequest !== 'false'\">{{fee.description}}</td>\n <td class=\"govuk-table__cell\">{{fee.volume? fee.volume : '-'}} X {{ fee.calculated_amount/fee.volume| currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"govuk-table__cell\">{{ fee?.net_amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"govuk-table__cell alignright\" *ngIf=\"isServiceRequest === 'false'\">\n <button [disabled]=\"!chkIsAddRemissionBtnEnable(fee)\" (click)=\"addRemission(fee)\" class=\"govuk-button govuk-button--secondary\"> Add remission</button>\n </td>\n\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngFor=\"let order of orderDetail;\">\n <tr class=\"govuk-table__row\" *ngIf=\"order.fees?.length === 0\" >\n <td class=\"govuk-table__cell alignleft\" colspan=\"7\">No fees recorded</td>\n </tr>\n </tbody>\n </table>\n\n </div>\n <div class=\"maxwidth\">\n <p class=\"totalfees\">Total fees: {{orderFeesTotal | currency:'GBP':'symbol-narrow':'1.2-2' }}</p>\n </div>\n </div>\n <!-- remissions -->\n<ng-container *ngFor=\"let order of orderDetail;\" >\n <div class=\"govuk-grid-column-full order-class\" *ngIf=\"order.remissions\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-24 whitespace-inherit\" scope=\"col\">Help with fees or remission code</td>\n <td class=\"govuk-table__header col-27 whitespace-inherit\" scope=\"col\">Reference</td>\n <td class=\"govuk-table__header whitespace-inherit\" scope=\"col\">Fee</td>\n <td class=\"govuk-table__header whitespace-inherit\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header whitespace-inherit refundBtn\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody *ngIf=\"order.remissions?.length > 0\" class=\"govuk-table__body\" >\n <tr class=\"govuk-table__row\" *ngFor=\"let remission of order.remissions\">\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission?.hwf_reference }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission?.remission_reference }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission?.fee_code }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission?.hwf_amount | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n <td class=\"govuk-table__cell refundBtn whitespace-inherit\" >\n <button [disabled]=\"!chkIsAddRefundBtnEnable(remission)\" (click)=\"addRefundForRemission(order.payments[0],remission,order.fees)\" class=\"govuk-button govuk-button--secondary\"> Add refund</button>\n </td>\n <!-- <td class=\"govuk-table__cell refundBtn whitespace-inherit\" >\n\n </td> -->\n </tr>\n </tbody>\n\n\n </table>\n <div *ngIf=\"order.remissions?.length === 0\">\n <span >No help with fees or remissions.</span>\n </div>\n <div class=\"summarypagealign\">\n <p>Total reductions: {{orderRemissionTotal | currency:'GBP':'symbol-narrow':'1.2-2' }}</p>\n </div>\n <div class=\"summarypagealign\">\n <p class=\"summarypage\">Total fees to pay: {{(orderFeesTotal - orderRemissionTotal) | currency:'GBP':'symbol-narrow':'1.2-2' }}</p>\n </div>\n </div>\n\n</ng-container>\n\n <!--Payments-->\n <ng-container *ngFor=\"let order of orderDetail;\" >\n <div class=\"govuk-grid-column-full\" *ngIf=\"order.payments\">\n <h3 class=\"heading-medium\">Payments</h3>\n <table class=\"govuk-table \">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-25\" scope=\"col\"></td>\n <td class=\"govuk-table__header\" scope=\"col\">Date created</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody *ngIf=\"order.payments?.length > 0\" class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\" *ngFor=\"let payment of order.payments\">\n <td class=\"govuk-table__cell whitespace-inherit\">\n <a href=\"javascript:void(0)\" (click)=\"goToPayementView(payment.paymentGroupReference, payment.reference, payment.method)\">Review</a>\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment?.date_created | date:'dd MMM yyyy' }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment?.amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"govuk-table__cell alignright\">\n <button [disabled]=\"!chkIsIssueRefundBtnEnable(payment)\" (click)=\"issueRefund(payment)\" class=\"govuk-button govuk-button--secondary\">Issue refund</button>\n </td>\n <!-- <td *ngIf=\"!chkIssueRefundBtnEnable(payment)\" class=\"govuk-table__cell\" style=\"text-align: right;\">\n </td> -->\n </tr>\n </tbody>\n </table>\n\n <div *ngIf=\"order.payments === undefined || order.payments === null\">\n <!-- <h3 class=\"heading-medium mar-17\">Payments</h3> -->\n <span class=\"mar-17\" >No Payments recorded</span>\n </div>\n</div>\n</ng-container>\n<div *ngIf=\"isServiceRequest === 'false'\">\n <div *ngIf=\"((orderFeesTotal - orderRemissionTotal)- orderTotalPayments) > 0\" >\n <p class=\"totalPay\">Total left to pay: <b>{{((orderFeesTotal - orderRemissionTotal)- orderTotalPayments )| currency:'GBP':'symbol-narrow':'1.2-2' }}</b> </p>\n </div>\n <div *ngIf=\"((orderFeesTotal - orderRemissionTotal)- orderTotalPayments) < 0\" >\n <p class=\"totalPay\">Total left to pay: <b>0</b> </p>\n </div>\n</div>\n</ng-container>\n\n<ccpay-add-remission *ngIf=\"viewStatus === 'addremission' && feeId\"\n[isTurnOff]=\"isTurnOff\"\n[isStrategicFixEnable]=\"isStrategicFixEnable\"\n[viewCompStatus]= \"viewStatus\"\n[fee]=\"feeId\"\n[orderStatus] =\"orderStatus\"\n[paidAmount]= \"orderTotalPayments\"\n[isRefundRemission]=\"isRefundRemission\"\n[caseType]=\"caseType\"\n[isServiceRequest] = \"isServiceRequest\"\n[paymentGroupRef]=\"orderRef\"\n[isFromServiceRequestPage] = \"true\"\n[payment] = \"payment\"\n[ccdCaseNumber]=\"ccdCaseNumber\"\n[orderRef] = \"orderRef\"\n[orderStatus] = \"orderStatus\"\n[orderCreated] = \"orderCreated\"\n[orderParty] = \"orderParty\"\n[orderCCDEvent] = \"orderCCDEvent\"\n[orderDetail] = \"orderDetail\"\n[LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"\n[takepayment] = \"takePayment\"\n[orderFeesTotal] = \"orderFeesTotal\"\n[orderTotalPayments] = \"orderTotalPayments\"\n[orderRemissionTotal] = \"orderRemissionTotal\"\n></ccpay-add-remission>\n<ccpay-add-remission *ngIf=\"viewStatus === 'issuerefund' && payment\"\n[isTurnOff]=\"isTurnOff\"\n[isStrategicFixEnable]=\"isStrategicFixEnable\"\n[viewCompStatus]= \"viewStatus\"\n[isFromServiceRequestPage]=\"isFromServiceRequestPage\"\n[isFromPaymentDetailPage] = \"isFromPaymentDetailPage\"\n[payment]=\"payment\"\n[orderStatus] =\"orderStatus\"\n[paidAmount]= \"orderTotalPayments\"\n[isRefundRemission]=\"isRefundRemission\"\n[caseType]=\"caseType\"\n[paymentGroupRef]=\"orderRef\"\n[ccdCaseNumber]=\"ccdCaseNumber\"\n[orderRef] = \"orderRef\"\n[orderStatus] = \"orderStatus\"\n[orderCreated] = \"orderCreated\"\n[orderParty] = \"orderParty\"\n[orderCCDEvent] = \"orderCCDEvent\"\n[orderDetail] = \"orderDetail\"\n[isFullyRefund] = \"isFullyRefund\"\n[fees] = \"paymentFees\"\n[LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"\n[isFromRefundListPage] = \"false\"\n[takepayment] = \"takePayment\"\n[orderFeesTotal] = \"orderFeesTotal\"\n[orderTotalPayments] = \"orderTotalPayments\"\n[orderRemissionTotal] = \"orderRemissionTotal\"></ccpay-add-remission>\n\n<ccpay-add-remission *ngIf=\"viewStatus === 'addrefundforremission' && payment\"\n[isTurnOff]=\"isTurnOff\"\n[isStrategicFixEnable]=\"isStrategicFixEnable\"\n[viewCompStatus]= \"viewStatus\"\n[payment]=\"payment\"\n[orderStatus] =\"orderStatus\"\n[paidAmount]= \"orderTotalPayments\"\n[isRefundRemission]=\"isRefundRemission\"\n[caseType]=\"caseType\"\n[feeamount]=\"remissionFeeAmt\"\n[remission] = \"remissions\"\n[isFromServiceRequestPage]=\"isServiceRequest\"\n[ccdCaseNumber]=\"ccdCaseNumber\"\n[orderRef] = \"orderRef\"\n[orderStatus] = \"orderStatus\"\n[orderCreated] = \"orderCreated\"\n[orderParty] = \"orderParty\"\n[orderCCDEvent] = \"orderCCDEvent\"\n[orderDetail] = \"orderDetail\"\n[LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"\n[takepayment] = \"takePayment\"\n[orderFeesTotal] = \"orderFeesTotal\"\n[orderTotalPayments] = \"orderTotalPayments\"\n[orderRemissionTotal] = \"orderRemissionTotal\"></ccpay-add-remission>\n\n<ccpay-payment-view *ngIf=\"viewStatus === 'payment-view'\"\n[LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"\n[isTurnOff] = \"isTurnOff\"\n[isTakePayment] = \"takePayment\"\n[caseType] = \"caseType\"\n[orderRef] = \"orderRef\"\n[orderStatus] = \"orderStatus\"\n[orderCreated] = \"orderCreated\"\n[orderParty] = \"orderParty\"\n[orderCCDEvent] = \"orderCCDEvent\"\n[orderDetail] = \"orderDetail\"\n[orderFeesTotal] = \"orderFeesTotal\"\n[orderTotalPayments] = \"orderTotalPayments\"\n[orderRemissionTotal] = \"orderRemissionTotal\"\n[isServiceRequest] = \"isServiceRequest\">\n</ccpay-payment-view>\n\n<ng-container *ngIf=\"viewStatus === 'feeRemovalConfirmation'\">\n<div class=\"govuk-warning-text\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">Warning</span>\n Are you sure you want to delete this fee?\n </strong>\n</div>\n<div class=\"govuk-button-grb\">\n <form novalidate>\n <button type=\"submit\" class=\"button govuk-button--secondary\" (click)=\"cancelRemoval()\">\n Cancel\n </button>\n <button type=\"submit\" class=\"button\"\n [disabled]=\"isRemoveBtnDisabled\"\n [ngClass]='isRemoveBtnDisabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'\n (click)=\"removeFee(feeId)\">\n Remove\n </button>\n </form>\n</div>\n</ng-container>\n\n<div class=\"over-payment\">\n <ng-container *ngIf=\"viewCompStatus === 'overpayment'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='OVERPAYMENTPAGE'>\n <h1 class=\"heading-large\">Issue refund</h1>\n <h1 class=\"heading-medium\">Case reference: {{ccdCaseNumber | ccdHyphens }}</h1>\n <span id=\"how-contacted-conditional-hint govuk-font19px\" class=\"form-hint\">\n Payment reference: {{paymentGroupList?.payments[0]?.reference}}\n </span>\n <div class=\"govuk-form-group\">\n <fieldset class=\"govuk-fieldset\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--l\">\n <h1 class=\"heading-medium\">Select payment to refund</h1>\n </legend>\n <div class=\"govuk-radios\" data-module=\"govuk-radios\">\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"over-payment\" name=\"over-payment\" type=\"radio\" (click)=\"selectPymentOption('op')\" value=\"op\">\n <label class=\"govuk-label govuk-radios__label govuk-font19px\" for=\"where-do-you-live\">\n Over payment \u00A3{{getOverPaymentValue() | number:'.2'}}\n </label>\n </div>\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"full-payment\" name=\"over-payment\" type=\"radio\" (click)=\"selectPymentOption('fp')\" value=\"fp\">\n <label class=\"govuk-label govuk-radios__label govuk-font19px\" for=\"where-do-you-live-2\">\n Full payment \u00A3{{paymentGroupList?.payments[0]?.amount | number:'.2'}}\n </label>\n </div>\n </div>\n <button class=\"govuk-button govuk-button--secondary over-payment-alignment govuk-font19px\"\n (click)=\"goToPaymentViewComp()\"> Previous</button>\n <button\n (click)=\"continuePayment(paymentGroupList)\"\n [disabled]=\"isContinueBtnDisabled\"\n [ngClass]='isContinueBtnDisabled ? \"button button--disabled govuk-!-margin-right-1 govuk-font19px\" : \"button govuk-!-margin-right-1 govuk-font19px\"'\n class=\"govuk-button\"> Continue</button>\n </fieldset>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"viewCompStatus === 'overPaymentAddressCapture'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='OVERPAYMENTADDRESSCAPTUREPAGE'>\n <h1 class=\"govuk-heading-l\">Issue refund</h1>\n <h2 class=\"govuk-heading-m govuk-font19px\">Case reference: {{ccdCaseNumber | ccdHyphens }}</h2>\n <span id=\"how-contacted-conditional-hint\" class=\"govuk-hint govuk-font19px\">\n Payment reference: {{paymentGroupList?.payments[0]?.reference}}\n </span>\n <ccpay-contact-details\n [addressObj] = notification\n (assignContactDetails)=\"getContactDetails($event)\"\n (redirectToIssueRefund)=\"gotoPaymentSelectPage($event)\" ></ccpay-contact-details>\n <p>\n <a (click)=\"goToCaseTransationPage($event)\" class=\"govuk-link\" data-module=\"govuk-button\">\n Cancel\n </a>\n </p>\n </ng-container>\n\n <ng-container *ngIf=\"viewCompStatus === 'overpaymentcheckandanswer'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='ADDREFUNDFORREMISSION'>\n <div class=\"govuk-warning-text\">\n\n <h1 class=\"heading-large\"> Check your answers</h1>\n </div>\n <table class=\"govuk-table govuk-table-mb\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment reference</td>\n <td class=\"govuk-table__cell\">{{paymentGroupList.payments[0].reference}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment amount</td>\n <td class=\"govuk-table__cell\">{{paymentGroupList.payments[0].amount | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Fee amount</td>\n <td class=\"govuk-table__cell\">{{paymentGroupList?.fees[0]?.net_amount | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Refund amount</td>\n <td class=\"govuk-table__cell\">{{getOverPaymentValue() | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Refund reason</td>\n <td class=\"govuk-table__cell\">Over payment</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Send to</td>\n <td class=\"govuk-table__cell\">{{orderParty}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Send via</td>\n <td class=\"govuk-table__cell whitespace-inherit\">\n <div *ngIf=\"contactDetailsObj?.notification_type === 'EMAIL'\" class=\"contactDetails-width\">\n <strong>Email</strong>\n <br/>\n {{contactDetailsObj?.email?.trim()}}\n </div>\n <div *ngIf=\"contactDetailsObj?.notification_type === 'LETTER'\" class=\"contactDetails-width\">\n <strong>Post</strong>\n <br/>\n {{contactDetailsObj?.address_line?.trim()}} {{contactDetailsObj?.city?.trim()}} {{contactDetailsObj?.county?.trim()}} {{contactDetailsObj?.country?.trim()}} {{contactDetailsObj?.postal_code?.trim()}}\n </div>\n <a (click)=\"gotoAddressPage(contactDetailsObj)\" class=\"govuk-link right\" >Change</a>\n </td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Notification</td>\n <td class=\"govuk-table__cell\">{{templateInstructionType}}\n <a *ngIf=\"!notificationPreview\" href=\"Javascript:void(0)\" class=\"govuk-link right\" (click)=\"showNotificationPreview()\">\n Preview\n </a>\n <a *ngIf=\"notificationPreview\" href=\"Javascript:void(0)\" class=\"govuk-link right\" (click)=\"hideNotificationPreview()\">\n Hide Preview\n </a>\n </td>\n </tr>\n </table>\n\n <app-notification-preview *ngIf=\"notificationPreview\"\n [payment]=\"paymentGroupList.payments[0]\"\n [contactDetails]=\"contactDetailsObj\"\n [refundReason]=\"'RR037'\"\n [refundAmount]=\"getOverPaymentValue()\"></app-notification-preview>\n\n\n <button type=\"submit\" class=\"button govuk-button--secondary over-payment-alignment govuk-font19px\" (click)=\"gotoAddressPage(contactDetailsObj)\">Previous</button>\n <button type=\"submit\"\n [ngClass]='isContinueBtnDisabled ? \"button button--disabled govuk-!-margin-right-1 govuk-font19px\" : \"button govuk-!-margin-right-1 govuk-font19px\"'\n (click)=\"processRefund()\">\n Submit refund\n </button>\n <p>\n <a href=\"javascript:void(0)\" (click)=\"goToCaseTransationPage($event)\" class=\"govuk-link govuk-font19px\" data-module=\"govuk-button\">\n Cancel\n </a>\n </p>\n\n </ng-container>\n <ng-container *ngIf=\"viewStatus === 'refundconfirmationpage' && viewCompStatus !== 'overpayment' && viewCompStatus !== 'overPaymentAddressCapture' && viewCompStatus !== 'overpaymentcheckandanswer'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='RETROREMISSIONREFUNDCONFIRMATIONPAGE'>\n <div class=\"govuk-grid-row pagesize\">\n <div >\n <div class=\"govuk-panel govuk-panel--confirmation\">\n <h1 class=\"govuk-panel__title\">\n Refund submitted\n </h1>\n\n <div class=\"govuk-panel__body\">\n <p class=\"govuk-body white\"><strong>Refund reference: {{refundReference}}</strong></p>\n </div>\n\n </div>\n <h2 class=\"govuk-heading-l\">What happens next</h2>\n <p class=\"govuk-body\">\n A refund request for {{refundAmount | currency:'GBP':'symbol-narrow':'1.2-2' }} has been created and will be passed to a team leader to approve.\n </p>\n <p class=\"govuk-body\">\n <a href=\"javascript:void(0)\" (click)=\"goToCaseTransationPage($event)\" class=\"govuk-link pointer\" data-module=\"govuk-button\">\n Return to case\n </a>\n </p>\n </div>\n </div>\n\n </ng-container>\n </div>\n\n<ccpay-case-transactions *ngIf=\"viewStatus === 'case-transactions'\"\n[isFromServiceRequestPage]=\"isServiceRequest\"\n[LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"\n[isTakePayment] = \"takePayment\">\n</ccpay-case-transactions>\n",
|
|
316
|
-
styles: [".govuk-grid-column-full--gr{position:relative;margin-bottom:10px}.disable{text-decoration:none;cursor:default;color:#fff;background-color:grey;pointer-events:none}.pagesize{margin:2em;width:97%}.govuk-grid__surplus-payments{margin:20px 0}.govuk-grid__surplus-payments>.govuk-grid-column-full{padding:0}.govuk-grid__surplus-payments-col1{margin-bottom:10px}.govuk-inset-text__no-border{border-left:0}.govuk-hidetext{font-size:22px;padding-bottom:10px}.lowercase{text-transform:lowercase}.channel:first-letter{text-transform:uppercase}.govuk-heading-xl{font-size:48px;margin-bottom:1px}.govuk-section-break--visible{border-bottom:2px solid #000}.totalpayments.govuk-table__row{border-bottom:2px solid #000!important}.govuk-inset-text{margin-left:1em}.govuk-button{font-size:19px;margin-bottom:0!important}.govuk-table__cell.govuk-table__cell--col6.govuk-table__custom--col6,.groupamount.govuk-table__header{text-align:right}.feeclass{padding-left:.7em}.align-center{text-align:center}details summary{display:list-item}.case-transaction__color{color:#a71414;font-weight:700;text-align:center}.capitalize:first-letter{text-transform:uppercase}.govuk-inset-text__no-left-margin{margin-left:0;padding-left:0}.whitespace-inherit{white-space:inherit!important}.govuk-section-records-break{margin:10px;border-bottom:2px solid #000!important}.exisitng-fees{margin-left:12px}.add-telephony-payment{margin-top:-2em;margin-left:-2em}.govuk-table__header--custom{text-align:center}.disable-link{cursor:default;pointer-events:none;color:#8e8c8c}.panel-no--style{border-left-style:none}.col-28{width:28%!important}.col-8{width:8%!important}.col-60{width:60%!important}.col-32{width:32%!important}.col-34{width:34%!important}#bckLnksize{font-size:16px!important}.col-15{width:15%!important;padding-right:0!important;padding-left:0!important}.col-16{width:16%!important}.col-14{width:14%!important}.col-17{width:17%!important}.col-12{width:12%!important}.col-9{width:9%!important}.col-10{width:10%!important}.col-11{width:11%!important}.col-13{width:13%!important}.col-21{width:21%!important}.col-20{width:20%!important}.col-24{width:24%!important}.govuk-table__cell,.govuk-table__header{padding:10px 10px 10px 0}.col-27{width:27%!important}td{white-space:nowrap;overflow:hidden!important}.col-19{width:19%!important}.col-18,.col-19{padding-left:0!important}.col-18{width:18%!important;padding-right:0!important}.col-37{width:37%!important}.col-55{width:55%!important}.govuk-table{margin-bottom:1px}.hmcts-banner>.hmcts-banner__message{font-size:19px;line-height:1.25}.summary-table-font{font-size:36px}.order-class{padding-top:3em}.govuk-table__header:last-child{text-align:right}.govuk-table__cell:last-child{text-align:right}.govuk-grid-column-two-thirds{width:64%!important;padding:0!important}.govuk-heading-l{font-size:36px;margin-bottom:10px}.paymentrequest{margin-top:1em}.mar-17{margin-left:17px}.col-61{width:61px!important;padding:0!important}.error{width:960px;margin:auto}.summarypage{padding-left:36em;margin-top:2em}.summarypagealign{width:100%;text-align:right;margin-top:2em}.govuk-inset-text{font-size:2.1875rem}table{table-layout:fixed;width:100%}td,th{word-wrap:break-word}.totalPay{padding-right:14px;float:right;margin-top:2em}.govuk-back-link{font-size:1.5rem!important}.totalfees{float:right;margin-top:2em}.refundBtn{text-align:right;width:18%}.col-25{width:25%!important}.col-51{width:51%!important}.alignright{text-align:right}.alignleft{text-align:left}.alignself{align-self:flex-end}.maxwidth{width:100%}.over-payment .govuk-table-mb{margin-bottom:20px}.over-payment .contactDetails-width{width:70%}.over-payment .margin-top10px{margin-top:20px}.over-payment .govuk-font19px{font-size:19px!important}.over-payment .margin-top--size{margin-top:-30px}.over-payment .over-payment-alignment{margin-right:10px}.over-payment .govuk-button{font-size:19px;float:left;margin-top:2em}.over-payment td.govuk-table__cell{width:50%;text-align:left}.over-payment .govuk-label--s,.over-payment .govuk-warning-text__text,.over-payment .hmcts-currency-input__symbol{font-size:19px;font-weight:400}.over-payment .inline-error-class{outline:3px solid #a71414;outline-offset:0;border-color:#a71414}.over-payment .inline-error-message{color:#a71414;border-color:#a71414;font-weight:700;margin-top:10px;font-size:20px}.over-payment .govuk-button-group{padding-top:2em}.over-payment .heading-medium{margin-top:.875em}.over-payment .heading-large{margin-top:.25em}.over-payment .govuk-panel--confirmation{color:#fff;background:#00703c}.over-payment .govuk-panel__title{font-size:5rem}.over-payment .govuk-body,.over-payment .govuk-body-m{font-size:2.1875rem}.over-payment .govuk-link{cursor:pointer}.over-payment .govuk-radios__conditional{padding-top:12px!important}.over-payment .right{float:right;cursor:pointer}.over-payment .radio{float:right}.over-payment .white{color:#fff}"]
|
|
317
|
-
},] }
|
|
318
|
-
];
|
|
319
|
-
ServiceRequestComponent.ctorParameters = () => [
|
|
320
|
-
{ type: PaymentLibComponent },
|
|
321
|
-
{ type: PaymentViewService },
|
|
322
|
-
{ type: OrderslistService },
|
|
323
|
-
{ type: NotificationService },
|
|
324
|
-
{ type: ChangeDetectorRef },
|
|
325
|
-
{ type: Router }
|
|
326
|
-
];
|
|
327
|
-
ServiceRequestComponent.propDecorators = {
|
|
328
|
-
LOGGEDINUSERROLES: [{ type: Input, args: ['LOGGEDINUSERROLES',] }],
|
|
329
|
-
viewStatus: [{ type: Input, args: ['viewStatus',] }],
|
|
330
|
-
orderDetail: [{ type: Input, args: ['orderDetail',] }],
|
|
331
|
-
orderRef: [{ type: Input, args: ['orderRef',] }],
|
|
332
|
-
orderStatus: [{ type: Input, args: ['orderStatus',] }],
|
|
333
|
-
orderParty: [{ type: Input, args: ['orderParty',] }],
|
|
334
|
-
orderCreated: [{ type: Input, args: ['orderCreated',] }],
|
|
335
|
-
orderCCDEvent: [{ type: Input, args: ['orderCCDEvent',] }],
|
|
336
|
-
orderFeesTotal: [{ type: Input, args: ['orderFeesTotal',] }],
|
|
337
|
-
orderTotalPayments: [{ type: Input, args: ['orderTotalPayments',] }],
|
|
338
|
-
orderRemissionTotal: [{ type: Input, args: ['orderRemissionTotal',] }],
|
|
339
|
-
paymentGroupList: [{ type: Input, args: ['paymentGroupList',] }],
|
|
340
|
-
takePayment: [{ type: Input, args: ['takePayment',] }],
|
|
341
|
-
ccdCaseNumber: [{ type: Input, args: ['ccdCaseNumber',] }],
|
|
342
|
-
isServiceRequest: [{ type: Input, args: ["isServiceRequest",] }],
|
|
343
|
-
goToServiceRquestComponent: [{ type: Output }]
|
|
344
|
-
};
|
|
345
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1yZXF1ZXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvY29tcG9uZW50cy9zZXJ2aWNlLXJlcXVlc3Qvc2VydmljZS1yZXF1ZXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBT2xFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV0RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQU9yRixNQUFNLE9BQU8sdUJBQXVCO0lBdUZsQyxZQUNVLG1CQUF3QyxFQUN4QyxrQkFBc0MsRUFDdEMsaUJBQW9DLEVBQ3BDLG1CQUF3QyxFQUN4QyxFQUFxQixFQUNyQixNQUFjO1FBTGQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBN0VkLCtCQUEwQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBTTdFLGtCQUFhLEdBQVUsRUFBRSxDQUFDO1FBQzFCLGFBQVEsR0FBZSxFQUFFLENBQUM7UUFDMUIsZ0JBQVcsR0FBZSxFQUFFLENBQUM7UUFDN0IsZ0JBQVcsR0FBZSxFQUFFLENBQUM7UUFDN0IsZUFBVSxHQUFpQixFQUFFLENBQUM7UUFZOUIsc0JBQWlCLEdBQVksSUFBSSxDQUFDO1FBRWxDLHVCQUFrQixHQUFZLElBQUksQ0FBQztRQUNuQyxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFDbkMsZ0NBQTJCLEdBQVksS0FBSyxDQUFDO1FBRTdDLDBCQUFxQixHQUFZLElBQUksQ0FBQztRQUN0Qyw2QkFBd0IsR0FBWSxLQUFLLENBQUM7UUFHMUMsd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBRXJDLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBRXhCLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUNuQyxnQ0FBMkIsR0FBWSxLQUFLLENBQUM7UUFVN0MseUJBQW9CLEdBQVksS0FBSyxDQUFDO1FBQ3RDLDBCQUFxQixHQUFVLEVBQUUsQ0FBQztRQUNsQyxtQkFBYyxHQUF5QixFQUFFLENBQUM7UUFDMUMsZUFBVSxHQUFVLEVBQUUsQ0FBQztRQVF2QixVQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLDJCQUFzQixHQUFZLEtBQUssQ0FBQztRQUN4Qyw2QkFBd0IsR0FBWSxLQUFLLENBQUM7UUFDMUMsK0JBQTBCLEdBQVksS0FBSyxDQUFDO1FBQzVDLCtCQUEwQixHQUFHLENBQUMsMEJBQTBCLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUk3RSwwQkFBcUIsR0FBWSxJQUFJLENBQUM7SUFXVixDQUFDO0lBRTdCLFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUM7UUFDcEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQztRQUNoQyxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssU0FBUyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQztTQUNyRDtRQUNELElBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHdCQUF3QixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx1QkFBdUIsRUFBRTtZQUN4RyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQ2hGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUMxRixJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFDeEYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUNyRixJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQ3BGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxDQUFDO1lBQ3RHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUM1RixJQUFJLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsQ0FBQztTQUN0RztRQUNELElBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHdCQUF3QixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUU7WUFDNUYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQztTQUNqQztJQUVILENBQUM7SUFDRCxzQkFBc0I7UUFDcEIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxLQUFVO1FBQy9CLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQztRQUN4RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUMzQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUM7UUFDOUUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUMzRDtRQUNELG1EQUFtRDtRQUNuRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsd0JBQXdCLEdBQUcsS0FBSyxDQUFDO1FBQzFELElBQUcsSUFBSSxDQUFDLGdCQUFnQixLQUFLLE9BQU8sRUFBRTtZQUNwQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDO1NBQzFEO1FBQ0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHNCQUFzQixHQUFHLEtBQUssQ0FBQztRQUN4RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxHQUFHLG1CQUFtQixDQUFDO1FBQ3hELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV0QixrQkFBa0I7UUFDbEIsSUFBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsRUFBRTtZQUNyRCx3Q0FBd0M7WUFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQztTQUN2QzthQUFNO1lBQ0wsMkNBQTJDO1lBQzNDLElBQUssT0FBTyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQztZQUMxRyxPQUFPLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDO1lBQzNGLElBQUcsSUFBSSxDQUFDLGdCQUFnQixLQUFLLE9BQU8sRUFBRTtnQkFDcEMsT0FBTyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQzthQUM5RjtZQUNELE9BQU8sSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQztZQUMxRixPQUFPLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDO1lBQ2hHLE9BQU8sSUFBSSxhQUFhLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1RCxNQUFNLEdBQUcsR0FBRyxvQkFBb0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsMENBQTBDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLEdBQUcsT0FBTyxFQUFFLENBQUM7WUFDdkssSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDOUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsR0FBRyxRQUFRLENBQUM7WUFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQVM7UUFDcEIsSUFBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDekMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7WUFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxjQUFjLENBQUM7WUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUNyRyxZQUFZLENBQUMsRUFBRTtnQkFDYixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztnQkFFakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUMzRCxlQUFlLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztnQkFDeEcsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFFM0MsK0VBQStFO2dCQUMvRSxzSkFBc0o7WUFFMUosQ0FBQyxFQUNELENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFDLEVBQUUsQ0FBQyxDQUMzRCxDQUFDO1NBQ0g7SUFDRCxDQUFDO0lBRUQscUJBQXFCLENBQUMsT0FBaUIsRUFBRSxTQUF1QixFQUFDLElBQVE7UUFDdkUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQztRQUN6RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsMEJBQTBCLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FDN0UsWUFBWSxDQUFDLEVBQUU7WUFDYixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztZQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQzNELGVBQWUsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLFNBQVMsS0FBSyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdkUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3QyxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztZQUM1QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFBLEVBQUUsQ0FBQSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7WUFDbEcsSUFBSSxDQUFDLFVBQVUsR0FBRyx1QkFBdUIsQ0FBQztZQUMxQyw4RUFBOEU7WUFDOUUscUpBQXFKO1FBQ3ZKLENBQUMsRUFDRCxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQzFDLENBQUM7SUFDSixDQUFDO0lBQ0QsYUFBYTtRQUNYLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO0lBQzNCLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBUTtRQUNoQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQzlELENBQUMsT0FBWSxFQUFFLEVBQUU7WUFDZixNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzNCLENBQUMsRUFDRCxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQ2IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztRQUNuQyxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBaUI7UUFDM0IsSUFBSSxPQUFPLEtBQUssSUFBSSxJQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUU7WUFDN0MsSUFBSSxJQUFJLENBQUMseUJBQXlCLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUMvRSxZQUFZLENBQUMsRUFBRTtvQkFDYixZQUFZLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUNuRCxlQUFlLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7b0JBQzlFLElBQUcsT0FBTyxDQUFDLFlBQVksR0FBRyxDQUFDLEVBQUU7d0JBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO3dCQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQzt3QkFDdkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFlBQVksQ0FBQzt3QkFDckMsSUFBSSxDQUFDLGNBQWMsR0FBSSxhQUFhLENBQUM7cUJBQ3RDO3lCQUFNO3dCQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDO3dCQUNoQyxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQzt3QkFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDO3dCQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQzt3QkFDdkIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQzt3QkFDekQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztxQkFDL0I7Z0JBQ0gsQ0FBQyxFQUNELENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FDeEMsQ0FBQzthQUNIO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMscUJBQTZCLEVBQUUsZ0JBQXdCLEVBQUUsYUFBcUI7UUFDN0YsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQsd0JBQXdCLENBQUMsWUFBaUI7UUFDeEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDO1FBQ3BFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUM7UUFDekQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHFCQUFxQixHQUFHLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQztRQUNwRixJQUFJLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLGdCQUFnQixDQUFDO1FBQzFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxVQUFVLEdBQUcsY0FBYyxDQUFDO0lBQ25DLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxPQUFpQjtRQUN6QyxJQUFJLE9BQU8sS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLFNBQVMsRUFBRTtZQUM3QyxPQUFPLE9BQU8sQ0FBQyxZQUFZLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQTtTQUNyRDthQUFNO1lBQ0wsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxTQUFxQjtRQUMzQyxJQUFJLFNBQVMsS0FBSyxJQUFJLElBQUksU0FBUyxLQUFLLFNBQVMsRUFBRTtZQUNqRCxPQUFPLFNBQVMsQ0FBQyxVQUFVLENBQUM7U0FDN0I7YUFBTTtZQUNMLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDO0lBRUQsMEJBQTBCLENBQUMsR0FBUztRQUNsQyxJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRTtZQUNyQyxPQUFPLEdBQUcsQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDO1NBQ2xEO2FBQU07WUFDTCxPQUFPLEtBQUssQ0FBQTtTQUNiO0lBQ0gsQ0FBQztJQUNELGNBQWM7UUFDWixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsV0FBbUI7UUFDcEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBQ0QsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQyxjQUFjLEdBQUksRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDO0lBQ2xDLENBQUM7SUFDRCxlQUFlLENBQUMsVUFBeUI7UUFFdkMsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLElBQUksRUFBRTtZQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQTtZQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsY0FBYyxHQUFJLDJCQUEyQixDQUFDO1NBQ3BEO2FBQU0sSUFBRyxJQUFJLENBQUMsV0FBVyxLQUFLLElBQUksRUFBRTtZQUNuQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQTtZQUN6QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDO1lBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7WUFDOUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQztZQUN4RCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDO1lBQ3BDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsd0JBQXdCLENBQUM7U0FDbkY7SUFDSCxDQUFDO0lBQ0QsaUJBQWlCLENBQUMsR0FBeUI7UUFDekMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEdBQUcsQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsY0FBYyxHQUFHLDJCQUEyQixDQUFDO1FBQ2xELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztJQUNuQyxDQUFDO0lBQ0QscUJBQXFCLENBQUMsS0FBWTtRQUNoQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGNBQWMsR0FBSSxhQUFhLENBQUM7SUFDdkMsQ0FBQztJQUNELGVBQWUsQ0FBQyxJQUE0QjtRQUMxQyxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQzFGO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGNBQWMsR0FBRywyQkFBMkIsQ0FBQztJQUNwRCxDQUFDO0lBQ0QsYUFBYTtRQUNYLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUM7UUFDdEMsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsSUFBSSxHQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUU7Z0JBQ3hCLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSTtnQkFDZCxPQUFPLEVBQUMsR0FBRyxDQUFDLE9BQU87Z0JBQ25CLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxnQkFBZ0I7Z0JBQ3RDLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxpQkFBaUI7Z0JBQ3hDLGNBQWMsRUFBRSxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTTtnQkFDcEUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNO2dCQUNsQixhQUFhLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sV0FBVyxHQUFHLElBQUksd0JBQXdCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUN2SSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUMsU0FBUyxDQUM5RCxRQUFRLENBQUMsRUFBRTtZQUNQLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBSSxFQUFFLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsd0JBQXdCLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDN0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLGFBQWEsQ0FBQzthQUN4RDtRQUNMLENBQUMsRUFDRCxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQ2IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLHlCQUF5QixHQUFHLEtBQUssQ0FBQztZQUN2QyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLGVBQWUsR0FBRyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdkMsZUFBZSxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLGVBQWUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7SUFFaEcsQ0FBQztJQUVELDBCQUEwQixDQUFDLE9BQWlCO1FBRTFDLElBQUksT0FBTyxJQUFJLFNBQVMsSUFBSSxPQUFPLElBQUksSUFBSSxFQUFFO1lBQzNDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxVQUFVLENBQUM7U0FDM0M7YUFBTTtZQUNMLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsOEJBQThCLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDekg7SUFFSCxDQUFDO0lBRUQsdUJBQXVCO1FBQ3JCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7SUFDbEMsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7OztZQWxaRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMsZ2tyQkFBK0M7O2FBRWhEOzs7WUFsQlEsbUJBQW1CO1lBUW5CLGtCQUFrQjtZQUVsQixpQkFBaUI7WUFEakIsbUJBQW1CO1lBVjZCLGlCQUFpQjtZQVFqRSxNQUFNOzs7Z0NBYVosS0FBSyxTQUFDLG1CQUFtQjt5QkFDekIsS0FBSyxTQUFDLFlBQVk7MEJBQ2xCLEtBQUssU0FBQyxhQUFhO3VCQUNuQixLQUFLLFNBQUMsVUFBVTswQkFDaEIsS0FBSyxTQUFDLGFBQWE7eUJBQ25CLEtBQUssU0FBQyxZQUFZOzJCQUNsQixLQUFLLFNBQUMsY0FBYzs0QkFDcEIsS0FBSyxTQUFDLGVBQWU7NkJBQ3JCLEtBQUssU0FBQyxnQkFBZ0I7aUNBQ3RCLEtBQUssU0FBQyxvQkFBb0I7a0NBQzFCLEtBQUssU0FBQyxxQkFBcUI7K0JBQzNCLEtBQUssU0FBQyxrQkFBa0I7MEJBQ3hCLEtBQUssU0FBQyxhQUFhOzRCQUNuQixLQUFLLFNBQUMsZUFBZTsrQkFDckIsS0FBSyxTQUFDLGtCQUFrQjt5Q0FDeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRISVNfRVhQUiB9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyL3NyYy9vdXRwdXQvb3V0cHV0X2FzdCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGF5bWVudExpYkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BheW1lbnQtbGliLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJUGF5bWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVBheW1lbnQnO1xuaW1wb3J0IHsgSVJlbWlzc2lvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVJlbWlzc2lvbic7XG5pbXBvcnQgeyBJUGF5bWVudFZpZXcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50Vmlldyc7XG5pbXBvcnQgeyBJT3JkZXJSZWZlcmVuY2VGZWUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lPcmRlclJlZmVyZW5jZUZlZSc7XG5pbXBvcnQgeyBJRmVlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JRmVlJztcbmltcG9ydCB7IElQYXltZW50R3JvdXAgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50R3JvdXAnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFBheW1lbnRWaWV3U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BheW1lbnQtdmlldy9wYXltZW50LXZpZXcuc2VydmljZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IE9yZGVyc2xpc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb3JkZXJzbGlzdC5zZXJ2aWNlJztcbmltcG9ydCB7IElSZWZ1bmRDb250YWN0RGV0YWlscyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVJlZnVuZENvbnRhY3REZXRhaWxzJztcbmltcG9ydCB7IFBvc3RSZWZ1bmRSZXRyb1JlbWlzc2lvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvUG9zdFJlZnVuZFJldHJvUmVtaXNzaW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NwYXktc2VydmljZS1yZXF1ZXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlcnZpY2UtcmVxdWVzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlcnZpY2UtcmVxdWVzdC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlcnZpY2VSZXF1ZXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCdMT0dHRURJTlVTRVJST0xFUycpIExPR0dFRElOVVNFUlJPTEVTOiBzdHJpbmdbXTtcbiAgQElucHV0KCd2aWV3U3RhdHVzJykgdmlld1N0YXR1czogc3RyaW5nO1xuICBASW5wdXQoJ29yZGVyRGV0YWlsJykgb3JkZXJEZXRhaWw6IGFueVtdO1xuICBASW5wdXQoJ29yZGVyUmVmJykgb3JkZXJSZWY6IHN0cmluZztcbiAgQElucHV0KCdvcmRlclN0YXR1cycpIG9yZGVyU3RhdHVzOiBzdHJpbmc7XG4gIEBJbnB1dCgnb3JkZXJQYXJ0eScpIG9yZGVyUGFydHk6IHN0cmluZztcbiAgQElucHV0KCdvcmRlckNyZWF0ZWQnKSBvcmRlckNyZWF0ZWQ6IERhdGU7XG4gIEBJbnB1dCgnb3JkZXJDQ0RFdmVudCcpIG9yZGVyQ0NERXZlbnQ6IHN0cmluZztcbiAgQElucHV0KCdvcmRlckZlZXNUb3RhbCcpIG9yZGVyRmVlc1RvdGFsOiBudW1iZXI7XG4gIEBJbnB1dCgnb3JkZXJUb3RhbFBheW1lbnRzJykgb3JkZXJUb3RhbFBheW1lbnRzOiBudW1iZXI7XG4gIEBJbnB1dCgnb3JkZXJSZW1pc3Npb25Ub3RhbCcpIG9yZGVyUmVtaXNzaW9uVG90YWw6IG51bWJlcjtcbiAgQElucHV0KCdwYXltZW50R3JvdXBMaXN0JykgcGF5bWVudEdyb3VwTGlzdDogSVBheW1lbnRHcm91cDtcbiAgQElucHV0KCd0YWtlUGF5bWVudCcpIHRha2VQYXltZW50OiBib29sZWFuO1xuICBASW5wdXQoJ2NjZENhc2VOdW1iZXInKSBjY2RDYXNlTnVtYmVyOiBib29sZWFuO1xuICBASW5wdXQoXCJpc1NlcnZpY2VSZXF1ZXN0XCIpIGlzU2VydmljZVJlcXVlc3Q6IHN0cmluZztcbiAgQE91dHB1dCgpIGdvVG9TZXJ2aWNlUnF1ZXN0Q29tcG9uZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICB2aWV3Q29tcFN0YXR1cztcbiAgc2VydmljZXJlcXVlc3Q6IHN0cmluZztcbiAgcGF5bWVudFR5cGU6IHN0cmluZztcbiAgZXhjUmVmZXJlbmNlOiBzdHJpbmc7XG4gIHBheW1lbnRHcm91cHM6IGFueVtdID0gW107XG4gIHBheW1lbnRzOiBJUGF5bWVudFtdID0gW107XG4gIG5vblBheW1lbnRzOiBJUGF5bWVudFtdID0gW107XG4gIGFsbFBheW1lbnRzOiBJUGF5bWVudFtdID0gW107XG4gIHJlbWlzc2lvbnM6IElSZW1pc3Npb25bXSA9IFtdO1xuICBwYXltZW50RmVlczogSUZlZVtdO1xuICBmZWVzOiBhbnk7XG4gIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuICB0b3RhbEZlZXM6IG51bWJlcjtcbiAgdG90YWxQYXltZW50czogbnVtYmVyO1xuICB0b3RhbE5vbk9mZlBheW1lbnRzOiBudW1iZXI7XG4gIHRvdGFsUmVtaXNzaW9uczogbnVtYmVyO1xuICBzZWxlY3RlZE9wdGlvbjogc3RyaW5nO1xuICBkY25OdW1iZXI6IHN0cmluZztcbiAgcGF5bWVudFJlZjogc3RyaW5nO1xuICBpc1R1cm5PZmY6IGJvb2xlYW47XG4gIGlzUmVmdW5kUmVtaXNzaW9uOiBib29sZWFuID0gdHJ1ZTtcbiAgaXNTdHJhdGVnaWNGaXhFbmFibGU6IGJvb2xlYW47XG4gIGlzQWRkRmVlQnRuRW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XG4gIGlzRXhjZXB0aW9uUmVjb3JkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzVW5wcm9jZXNzZWRSZWNvcmRTZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBleGNlcHRpb25SZWNvcmRSZWZlcmVuY2U6IHN0cmluZztcbiAgaXNBbnlGZWVHcm91cEF2aWxhYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgaXNIaXN0b3JpY0dyb3VwQXZhaWxhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIGlzQnVsa1NjYW5FbmFibGU7XG4gIGlzUmVtaXNzaW9uc01hdGNoOiBib29sZWFuO1xuICBpc1JlbW92ZUJ0bkRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIGZlZUlkOiBJRmVlO1xuICBjbEFtb3VudER1ZTogbnVtYmVyID0gMDtcbiAgdW5wcm9jZXNzZWRSZWNvcmRDb3VudDogbnVtYmVyO1xuICBpc0ZlZVJlY29yZHNFeGlzdDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc0dycE91dHN0YW5kaW5nQW10UG9zaXRpdmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgdG90YWxSZWZ1bmRBbW91bnQ6IE51bWJlcjtcbiAgY2FzZVR5cGU6IFN0cmluZztcbiAgaXNDb25maXJtYXRpb25CdG5EaXNhYmxlZDogYm9vbGVhbjtcbiAgcmVmdW5kUmVmZXJlbmNlOiBzdHJpbmc7XG4gIHJlZnVuZEFtb3VudDogc3RyaW5nO1xuICBwYXltZW50OiBJUGF5bWVudDtcbiAgcGF5bWVudEdyb3VwOiBJUGF5bWVudEdyb3VwO1xuICBwYXltZW50VmlldzogSVBheW1lbnRWaWV3O1xuXG4gIGlzQWRkUmVtaXNzaW9uRW5hYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIG9yZGVyUmVtaXNzaW9uRGV0YWlsczogYW55W10gPSBbXTtcbiAgb3JkZXJMZXZlbEZlZXM6IElPcmRlclJlZmVyZW5jZUZlZVtdID0gW107XG4gIGNwb0RldGFpbHM6IGFueSBbXT0gW107XG4gIHNlcnZpY2VSZXF1ZXN0VmFsdWU6IHN0cmluZztcbiAgb3JkZXJBZGRCdG5FbmFibGU6IGJvb2xlYW47XG4gIGlzRnJvbVBheW1lbnREZXRhaWxQYWdlOiBib29sZWFuO1xuICBjb250YWN0RGV0YWlsc09iajogSVJlZnVuZENvbnRhY3REZXRhaWxzXG4gIG5vdGlmaWNhdGlvbjogYW55O1xuICBpc0NQT0Rvd246IGJvb2xlYW47XG4gIHRlc3Q6IGJvb2xlYW47XG4gIGlzUEJBOiBib29sZWFuID0gZmFsc2U7XG4gIGlzSXNzdWVSZWZ1bmZCdG5FbmFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNBZGRSZW1pc3Npb25CdG5FbmFibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzUmVmdW5kUmVtaXNzaW9uQnRuRW5hYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIGFsbG93ZWRSb2xlc1RvQWNjZXNzUmVmdW5kID0gWydwYXltZW50cy1yZWZ1bmQtYXBwcm92ZXInLCAncGF5bWVudHMtcmVmdW5kJ107XG4gIGlzRnJvbVNlcnZpY2VSZXF1ZXN0UGFnZTogYm9vbGVhbjtcbiAgbmF2aWdhdGlvbnBhZ2U6IHN0cmluZztcbiAgcmVtaXNzaW9uRmVlQW10OiBudW1iZXI7XG4gIGlzQ29udGludWVCdG5EaXNhYmxlZDogYm9vbGVhbiA9IHRydWU7XG4gIGlzRnVsbHlSZWZ1bmQ6IGJvb2xlYW47XG4gIHRlbXBsYXRlSW5zdHJ1Y3Rpb25UeXBlOiBzdHJpbmc7XG4gIG5vdGlmaWNhdGlvblByZXZpZXc6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwYXltZW50TGliQ29tcG9uZW50OiBQYXltZW50TGliQ29tcG9uZW50LFxuICAgIHByaXZhdGUgcGF5bWVudFZpZXdTZXJ2aWNlOiBQYXltZW50Vmlld1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBPcmRlcnNsaXN0U2VydmljZTogT3JkZXJzbGlzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaXNUdXJuT2ZmID0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTVFVSTk9GRjtcbiAgICB0aGlzLmlzU2VydmljZVJlcXVlc3QgPSAnZmFsc2UnO1xuICAgIGlmICh0aGlzLnZpZXdTdGF0dXMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy52aWV3U3RhdHVzID0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnZpZXdOYW1lO1xuICAgIH1cbiAgICBpZih0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNGcm9tU2VydmljZVJlcXVlc3RQYWdlICYmIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5pc0Zyb21QYXltZW50RGV0YWlsUGFnZSkge1xuICAgICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5nZXRvcmRlclJlZnMoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHRoaXMub3JkZXJSZWYgPSBkYXRhKTtcbiAgICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2UuZ2V0b3JkZXJDQ0RFdmVudHMoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHRoaXMub3JkZXJDQ0RFdmVudCA9IGRhdGEpO1xuICAgICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5nZXRvcmRlckNyZWF0ZWRzKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB0aGlzLm9yZGVyQ3JlYXRlZCA9IGRhdGEpO1xuICAgICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5nZXRvcmRlckRldGFpbCgpLnN1YnNjcmliZSgoZGF0YSkgPT4gdGhpcy5vcmRlckRldGFpbCA9IGRhdGEpO1xuICAgICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5nZXRvcmRlclBhcnR5cygpLnN1YnNjcmliZSgoZGF0YSkgPT4gdGhpcy5vcmRlclBhcnR5ID0gZGF0YSk7XG4gICAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLmdldG9yZGVyUmVtaXNzaW9uVG90YWxzKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB0aGlzLm9yZGVyUmVtaXNzaW9uVG90YWwgPSBkYXRhKTtcbiAgICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2UuZ2V0b3JkZXJGZWVzVG90YWxzKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB0aGlzLm9yZGVyRmVlc1RvdGFsID0gZGF0YSk7XG4gICAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLmdldG9vcmRlclRvdGFsUGF5bWVudHNzKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB0aGlzLm9yZGVyVG90YWxQYXltZW50cyA9IGRhdGEpO1xuICAgIH1cbiAgICBpZih0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNGcm9tU2VydmljZVJlcXVlc3RQYWdlICYmIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVCkge1xuICAgICAgdGhpcy5pc1NlcnZpY2VSZXF1ZXN0ID0gJ2ZhbHNlJztcbiAgICB9XG5cbiAgfVxuICBnb1RvU2VydmljZVJlcXVlc3RQYWdlKCkge1xuICAgIHRoaXMuZ29Ub1NlcnZpY2VScXVlc3RDb21wb25lbnQuZW1pdCgpO1xuICB9XG5cbiAgZ29Ub0Nhc2VUcmFuc2F0aW9uUGFnZShldmVudDogYW55KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldG5hdmlnYXRpb25QYWdlKCdzZXJ2aWNlcmVxdWVzdHBhZ2UnKTtcbiAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldGlzRnJvbVNlcnZpY2VSZXF1ZXN0UGFnZShmYWxzZSk7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnZpZXdOYW1lID0gJ2Nhc2UtdHJhbnNhY3Rpb25zJztcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuSVNCU0VOQUJMRSA9IHRydWU7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzVGFrZVBheW1lbnQgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuVEFLRVBBWU1FTlQ7XG4gICAgaWYgKHRoaXMudGFrZVBheW1lbnQpIHtcbiAgICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5pc1Rha2VQYXltZW50ID0gdGhpcy50YWtlUGF5bWVudDtcbiAgICB9XG4gICAgLy90aGlzLnBheW1lbnRMaWJDb21wb25lbnQuU0VSVklDRVJFUVVFU1QgPSBcInRydWVcIjtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNGcm9tU2VydmljZVJlcXVlc3RQYWdlID0gZmFsc2U7XG4gICAgaWYodGhpcy5pc1NlcnZpY2VSZXF1ZXN0ICE9PSAnZmFsc2UnKSB7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNGcm9tU2VydmljZVJlcXVlc3RQYWdlID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzRnJvbVJlZnVuZFN0YXR1c1BhZ2UgPSBmYWxzZTtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAnY2FzZS10cmFuc2FjdGlvbnMnO1xuICAgIHRoaXMucmVzZXRPcmRlckRhdGEoKTtcblxuICAgIC8vIENoZWNrIHdlIG9uIFhVSVxuICAgIGlmKHRoaXMucm91dGVyLnVybC5zdGFydHNXaXRoKCcvY2FzZXMvY2FzZS1kZXRhaWxzLycpKSB7XG4gICAgICAvLyBVc2UgY2NwYXktY2FzZS10cmFuc2FjdGlvbnMgY29tcG9uZW50XG4gICAgICB0aGlzLnZpZXdTdGF0dXMgPSAnY2FzZS10cmFuc2FjdGlvbnMnO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBSZWxvYWQgUGF5YnViYmxlIGNhc2UtdHJhbnNhY3Rpb25zIHBhZ2UuXG4gICAgICBsZXQgIHBhcnRVcmwgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuSVNCU0VOQUJMRSA/ICcmaXNCdWxrU2Nhbm5pbmc9RW5hYmxlJyA6ICcmaXNCdWxrU2Nhbm5pbmc9RGlzYWJsZSc7XG4gICAgICBwYXJ0VXJsICs9IHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5JU1RVUk5PRkYgPyAnJmlzVHVybk9mZj1FbmFibGUnIDogJyZpc1R1cm5PZmY9RGlzYWJsZSc7XG4gICAgICBpZih0aGlzLmlzU2VydmljZVJlcXVlc3QgPT09ICdmYWxzZScpIHtcbiAgICAgICAgcGFydFVybCArPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuVEFLRVBBWU1FTlQgPyAnJnRha2VQYXltZW50PXRydWUnIDogJyZ0YWtlUGF5bWVudD1mYWxzZSc7XG4gICAgICB9XG4gICAgICBwYXJ0VXJsICs9IHRoaXMuaXNTdHJhdGVnaWNGaXhFbmFibGUgPyAnJmlzU3RGaXhFbmFibGU9RW5hYmxlJyA6ICcmaXNTdEZpeEVuYWJsZT1EaXNhYmxlJztcbiAgICAgIHBhcnRVcmwgKz0gdGhpcy5pc1NlcnZpY2VSZXF1ZXN0ICE9PSAnZmFsc2UnID8gJyZzZXJ2aWNlcmVxdWVzdD10cnVlJyA6ICcmc2VydmljZXJlcXVlc3Q9ZmFsc2UnO1xuICAgICAgcGFydFVybCArPSBgJmNhc2VUeXBlPSR7dGhpcy5wYXltZW50TGliQ29tcG9uZW50LkNBU0VUWVBFfWA7XG4gICAgICBjb25zdCB1cmwgPSBgL3BheW1lbnQtaGlzdG9yeS8ke3RoaXMucGF5bWVudExpYkNvbXBvbmVudC5DQ0RfQ0FTRV9OVU1CRVJ9P3ZpZXc9Y2FzZS10cmFuc2FjdGlvbnMmc2VsZWN0ZWRPcHRpb249JHt0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuU0VMRUNURURfT1BUSU9OfSR7cGFydFVybH1gO1xuICAgICAgdGhpcy5yb3V0ZXIucm91dGVSZXVzZVN0cmF0ZWd5LnNob3VsZFJldXNlUm91dGUgPSAoKSA9PiBmYWxzZTtcbiAgICAgIHRoaXMucm91dGVyLm9uU2FtZVVybE5hdmlnYXRpb24gPSAncmVsb2FkJztcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodXJsKTtcbiAgICB9XG4gIH1cblxuICBhZGRSZW1pc3Npb24oZmVlOiBJRmVlKSB7XG4gICAgaWYodGhpcy5jaGtJc0FkZFJlbWlzc2lvbkJ0bkVuYWJsZShmZWUpKSB7XG4gICAgdGhpcy5mZWVJZCA9IGZlZTtcbiAgICB0aGlzLnZpZXdTdGF0dXMgPSAnYWRkcmVtaXNzaW9uJztcbiAgICB0aGlzLnBheW1lbnQgPSB0aGlzLm9yZGVyRGV0YWlsWzBdLnBheW1lbnRzWzBdO1xuICAgIHRoaXMucGF5bWVudFZpZXdTZXJ2aWNlLmdldEFwcG9ydGlvblBheW1lbnREZXRhaWxzKHRoaXMub3JkZXJEZXRhaWxbMF0ucGF5bWVudHNbMF0ucmVmZXJlbmNlKS5zdWJzY3JpYmUoXG4gICAgICBwYXltZW50R3JvdXAgPT4ge1xuICAgICAgICB0aGlzLnBheW1lbnRHcm91cCA9IHBheW1lbnRHcm91cDtcblxuICAgICAgICB0aGlzLnBheW1lbnRHcm91cC5wYXltZW50cyA9IHRoaXMucGF5bWVudEdyb3VwLnBheW1lbnRzLmZpbHRlclxuICAgICAgICAgIChwYXltZW50R3JvdXBPYmogPT4gcGF5bWVudEdyb3VwT2JqWydyZWZlcmVuY2UnXS5pbmNsdWRlcyh0aGlzLnBheW1lbnRMaWJDb21wb25lbnQucGF5bWVudFJlZmVyZW5jZSkpO1xuICAgICAgICB0aGlzLnBheW1lbnQgPSB0aGlzLnBheW1lbnRHcm91cC5wYXltZW50c1swXTtcblxuICAgICAgICAgIC8vICBjb25zdCBwYXltZW50QWxsb2NhdGlvbiA9IHRoaXMucGF5bWVudEdyb3VwLnBheW1lbnRzWzBdLnBheW1lbnRfYWxsb2NhdGlvbjtcbiAgICAgICAgICAvLyAgdGhpcy5pc1N0YXR1c0FsbG9jYXRlZCA9IHBheW1lbnRBbGxvY2F0aW9uLmxlbmd0aCA+IDAgJiYgcGF5bWVudEFsbG9jYXRpb25bMF0uYWxsb2NhdGlvbl9zdGF0dXMgPT09ICdBbGxvY2F0ZWQnIHx8IHBheW1lbnRBbGxvY2F0aW9uLmxlbmd0aCA9PT0gMDtcblxuICAgICAgfSxcbiAgICAgIChlcnJvcjogYW55KSA9PiB0aGlzLmVycm9yTWVzc2FnZSA9IGVycm9yLnJlcGxhY2UoL1wiL2csXCJcIilcbiAgICApO1xuICB9XG4gIH1cblxuICBhZGRSZWZ1bmRGb3JSZW1pc3Npb24ocGF5bWVudDogSVBheW1lbnQsIHJlbWlzc2lvbjogSVJlbWlzc2lvbltdLGZlZXM6YW55KSB7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzRnJvbVNlcnZpY2VSZXF1ZXN0UGFnZSA9IHRydWU7XG4gICAgdGhpcy5wYXltZW50Vmlld1NlcnZpY2UuZ2V0QXBwb3J0aW9uUGF5bWVudERldGFpbHMocGF5bWVudC5yZWZlcmVuY2UpLnN1YnNjcmliZShcbiAgICAgIHBheW1lbnRHcm91cCA9PiB7XG4gICAgICAgIHRoaXMucGF5bWVudEdyb3VwID0gcGF5bWVudEdyb3VwO1xuICAgICAgICB0aGlzLnBheW1lbnRHcm91cC5wYXltZW50cyA9IHRoaXMucGF5bWVudEdyb3VwLnBheW1lbnRzLmZpbHRlclxuICAgICAgICAgIChwYXltZW50R3JvdXBPYmogPT4gcGF5bWVudEdyb3VwT2JqLnJlZmVyZW5jZSA9PT0gcGF5bWVudC5yZWZlcmVuY2UpO1xuICAgICAgICB0aGlzLnBheW1lbnQgPSB0aGlzLnBheW1lbnRHcm91cC5wYXltZW50c1swXTtcbiAgICAgICAgdGhpcy5yZW1pc3Npb25zID0gcmVtaXNzaW9uO1xuICAgICAgICB0aGlzLnJlbWlzc2lvbkZlZUFtdCA9IGZlZXMuZmlsdGVyKGRhdGE9PmRhdGEuY29kZSA9PT0gdGhpcy5yZW1pc3Npb25zWydmZWVfY29kZSddKVswXS5uZXRfYW1vdW50O1xuICAgICAgICB0aGlzLnZpZXdTdGF0dXMgPSAnYWRkcmVmdW5kZm9ycmVtaXNzaW9uJztcbiAgICAgICAgLy8gY29uc3QgcGF5bWVudEFsbG9jYXRpb24gPSB0aGlzLnBheW1lbnRHcm91cC5wYXltZW50c1swXS5wYXltZW50X2FsbG9jYXRpb247XG4gICAgICAgIC8vIHRoaXMuaXNTdGF0dXNBbGxvY2F0ZWQgPSBwYXltZW50QWxsb2NhdGlvbi5sZW5ndGggPiAwICYmIHBheW1lbnRBbGxvY2F0aW9uWzBdLmFsbG9jYXRpb25fc3RhdHVzID09PSAnQWxsb2NhdGVkJyB8fCBwYXltZW50QWxsb2NhdGlvbi5sZW5ndGggPT09IDA7XG4gICAgICB9LFxuICAgICAgKGVycm9yOiBhbnkpID0+IHRoaXMuZXJyb3JNZXNzYWdlID0gZXJyb3JcbiAgICApO1xuICB9XG4gIGNhbmNlbFJlbW92YWwoKSB7XG4gICAgdGhpcy52aWV3U3RhdHVzID0gJ21haW4nO1xuICB9XG5cbiAgcmVtb3ZlRmVlKGZlZTogYW55KSB7XG4gICAgdGhpcy5pc1JlbW92ZUJ0bkRpc2FibGVkID0gdHJ1ZTtcbiAgICB0aGlzLnBheW1lbnRWaWV3U2VydmljZS5kZWxldGVGZWVGcm9tUGF5bWVudEdyb3VwKGZlZSkuc3Vic2NyaWJlKFxuICAgICAgKHN1Y2Nlc3M6IGFueSkgPT4ge1xuICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgICB9LFxuICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBlcnJvcjtcbiAgICAgICAgdGhpcy5pc1JlbW92ZUJ0bkRpc2FibGVkID0gZmFsc2U7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIGlzc3VlUmVmdW5kKHBheW1lbnQ6IElQYXltZW50KSB7XG4gICAgaWYgKHBheW1lbnQgIT09IG51bGwgJiYgcGF5bWVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiggdGhpcy5jaGtJc0lzc3VlUmVmdW5kQnRuRW5hYmxlKHBheW1lbnQpKSB7XG4gICAgICAgIHRoaXMucGF5bWVudFZpZXdTZXJ2aWNlLmdldEFwcG9ydGlvblBheW1lbnREZXRhaWxzKHBheW1lbnQucmVmZXJlbmNlKS5zdWJzY3JpYmUoXG4gICAgICAgIHBheW1lbnRHcm91cCA9PiB7XG4gICAgICAgICAgcGF5bWVudEdyb3VwLnBheW1lbnRzID0gcGF5bWVudEdyb3VwLnBheW1lbnRzLmZpbHRlclxuICAgICAgICAgIChwYXltZW50R3JvdXBPYmogPT4gcGF5bWVudEdyb3VwT2JqWydyZWZlcmVuY2UnXS5pbmNsdWRlcyhwYXltZW50LnJlZmVyZW5jZSkpO1xuICAgICAgICAgIGlmKHBheW1lbnQub3Zlcl9wYXltZW50ID4gMCkge1xuICAgICAgICAgICAgdGhpcy52aWV3U3RhdHVzID0gJyc7XG4gICAgICAgICAgICB0aGlzLnBheW1lbnQgPSBwYXltZW50O1xuICAgICAgICAgICAgdGhpcy5wYXltZW50R3JvdXBMaXN0ID0gcGF5bWVudEdyb3VwO1xuICAgICAgICAgICAgdGhpcy52aWV3Q29tcFN0YXR1cyAgPSAnb3ZlcnBheW1lbnQnO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdTdGF0dXMgPSAnaXNzdWVyZWZ1bmQnO1xuICAgICAgICAgICAgdGhpcy52aWV3Q29tcFN0YXR1cyA9ICcnO1xuICAgICAgICAgICAgdGhpcy5wYXltZW50RmVlcyA9IHBheW1lbnRHcm91cC5mZWVzO1xuICAgICAgICAgICAgdGhpcy5wYXltZW50ID0gcGF5bWVudDtcbiAgICAgICAgICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5pc0Zyb21TZXJ2aWNlUmVxdWVzdFBhZ2UgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5pc1JlZnVuZFJlbWlzc2lvbiA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoZXJyb3I6IGFueSkgPT4gdGhpcy5lcnJvck1lc3NhZ2UgPSBlcnJvclxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdvVG9QYXllbWVudFZpZXcocGF5bWVudEdyb3VwUmVmZXJlbmNlOiBzdHJpbmcsIHBheW1lbnRSZWZlcmVuY2U6IHN0cmluZywgcGF5bWVudE1ldGhvZDogc3RyaW5nKSB7XG4gICAgdGhpcy5nb1RvUGF5bWVudFZpZXdDb21wb25lbnQoeyBwYXltZW50R3JvdXBSZWZlcmVuY2UsIHBheW1lbnRSZWZlcmVuY2UsIHBheW1lbnRNZXRob2QgfSk7XG4gIH1cblxuICBnb1RvUGF5bWVudFZpZXdDb21wb25lbnQocGF5bWVudEdyb3VwOiBhbnkpIHtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQucGF5bWVudE1ldGhvZCA9IHBheW1lbnRHcm91cC5wYXltZW50TWV0aG9kO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5pc0Zyb21TZXJ2aWNlUmVxdWVzdFBhZ2UgPSB0cnVlO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5wYXltZW50R3JvdXBSZWZlcmVuY2UgPSBwYXltZW50R3JvdXAucGF5bWVudEdyb3VwUmVmZXJlbmNlO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5wYXltZW50UmVmZXJlbmNlID0gcGF5bWVudEdyb3VwLnBheW1lbnRSZWZlcmVuY2U7XG4gICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRPcmRlclJlZih0aGlzLm9yZGVyUmVmKTtcbiAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldG9yZGVyQ0NERXZlbnQodGhpcy5vcmRlckNDREV2ZW50KTtcbiAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldG9yZGVyQ3JlYXRlZCh0aGlzLm9yZGVyQ3JlYXRlZCk7XG4gICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRvcmRlckRldGFpbCh0aGlzLm9yZGVyRGV0YWlsKTtcbiAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldG9yZGVyUGFydHkodGhpcy5vcmRlclBhcnR5KTtcbiAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldG9yZGVyVG90YWxQYXltZW50cyh0aGlzLm9yZGVyVG90YWxQYXltZW50cyk7XG4gICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRvcmRlclJlbWlzc2lvblRvdGFsKHRoaXMub3JkZXJSZW1pc3Npb25Ub3RhbCk7XG4gICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRvcmRlckZlZXNUb3RhbCh0aGlzLm9yZGVyRmVlc1RvdGFsKTtcbiAgICB0aGlzLnZpZXdTdGF0dXMgPSAncGF5bWVudC12aWV3JztcbiAgfVxuXG4gIGNoa0lzSXNzdWVSZWZ1bmRCdG5FbmFibGUocGF5bWVudDogSVBheW1lbnQpOiBib29sZWFuIHtcbiAgICBpZiAocGF5bWVudCAhPT0gbnVsbCAmJiBwYXltZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBwYXltZW50Lmlzc3VlX3JlZnVuZCAmJiBwYXltZW50LnJlZnVuZF9lbmFibGVcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGNoa0lzQWRkUmVmdW5kQnRuRW5hYmxlKHJlbWlzc2lvbjogSVJlbWlzc2lvbik6IGJvb2xlYW4ge1xuICAgIGlmIChyZW1pc3Npb24gIT09IG51bGwgJiYgcmVtaXNzaW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiByZW1pc3Npb24uYWRkX3JlZnVuZDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGNoa0lzQWRkUmVtaXNzaW9uQnRuRW5hYmxlKGZlZTogSUZlZSk6IGJvb2xlYW4ge1xuICAgIGlmIChmZWUgIT09IG51bGwgJiYgZmVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmZWUuYWRkX3JlbWlzc2lvbiAmJiBmZWUucmVtaXNzaW9uX2VuYWJsZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICB9XG4gIHJlc2V0T3JkZXJEYXRhKCkge1xuICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2Uuc2V0T3JkZXJSZWYobnVsbCk7XG4gICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRvcmRlckNDREV2ZW50KG51bGwpO1xuICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2Uuc2V0b3JkZXJDcmVhdGVkKG51bGwpO1xuICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2Uuc2V0b3JkZXJEZXRhaWwobnVsbCk7XG4gICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRvcmRlclBhcnR5KG51bGwpO1xuICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2Uuc2V0b3JkZXJUb3RhbFBheW1lbnRzKG51bGwpO1xuICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2Uuc2V0b3JkZXJSZW1pc3Npb25Ub3RhbChudWxsKTtcbiAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldG9yZGVyRmVlc1RvdGFsKG51bGwpO1xuICB9XG5cbiAgc2VsZWN0UHltZW50T3B0aW9uKHBheW1lbnRUeXBlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnBheW1lbnRUeXBlID0gcGF5bWVudFR5cGU7XG4gICAgdGhpcy5pc0NvbnRpbnVlQnRuRGlzYWJsZWQgPSBmYWxzZTtcbiAgfVxuICBnb1RvUGF5bWVudFZpZXdDb21wKCkge1xuICAgIHRoaXMudmlld0NvbXBTdGF0dXMgID0gJyc7XG4gICAgdGhpcy52aWV3U3RhdHVzID0gJ3BheW1lbnR2aWV3JztcbiAgfVxuICBjb250aW51ZVBheW1lbnQocGF5bWVudGdycDogSVBheW1lbnRHcm91cCkge1xuXG4gICAgaWYgKHRoaXMucGF5bWVudFR5cGUgPT09ICdvcCcpIHtcbiAgICAgIHRoaXMuaXNGdWxseVJlZnVuZCA9IGZhbHNlXG4gICAgICB0aGlzLnZpZXdTdGF0dXMgPSAnJztcbiAgICAgIHRoaXMudmlld0NvbXBTdGF0dXMgID0gJ292ZXJQYXltZW50QWRkcmVzc0NhcHR1cmUnO1xuICAgIH0gZWxzZSBpZih0aGlzLnBheW1lbnRUeXBlID09PSAnZnAnKSB7XG4gICAgICB0aGlzLmlzRnVsbHlSZWZ1bmQgPSB0cnVlXG4gICAgICB0aGlzLnBheW1lbnRHcm91cExpc3QgPSBwYXltZW50Z3JwO1xuICAgICAgdGhpcy52aWV3U3RhdHVzID0gJ2lzc3VlcmVmdW5kJztcbiAgICAgIHRoaXMudmlld0NvbXBTdGF0dXMgPSBcIlwiO1xuICAgICAgdGhpcy5pc1JlZnVuZFJlbWlzc2lvbiA9IHRydWU7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNGcm9tUGF5bWVudERldGFpbFBhZ2UgPSB0cnVlO1xuICAgICAgdGhpcy5pc0Zyb21QYXltZW50RGV0YWlsUGFnZSA9IHRydWU7XG4gICAgICB0aGlzLmlzRnJvbVNlcnZpY2VSZXF1ZXN0UGFnZSA9IHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5pc0Zyb21TZXJ2aWNlUmVxdWVzdFBhZ2U7XG4gICAgfVxuICB9XG4gIGdldENvbnRhY3REZXRhaWxzKG9iajpJUmVmdW5kQ29udGFjdERldGFpbHMpIHtcbiAgICB0aGlzLmNvbnRhY3REZXRhaWxzT2JqID0gb2JqO1xuICAgIHRoaXMudmlld1N0YXR1cyA9ICcnO1xuICAgIHRoaXMudmlld0NvbXBTdGF0dXMgPSAnb3ZlcnBheW1lbnRjaGVja2FuZGFuc3dlcic7XG4gICAgdGhpcy5nZXRUZW1wbGF0ZUluc3RydWN0aW9uVHlwZSh0aGlzLnBheW1lbnRHcm91cExpc3QucGF5bWVudHNbMF0pO1xuICAgIHRoaXMubm90aWZpY2F0aW9uUHJldmlldyA9IGZhbHNlO1xuICB9XG4gIGdvdG9QYXltZW50U2VsZWN0UGFnZShldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMudmlld1N0YXR1cyA9ICcnO1xuICAgIHRoaXMudmlld0NvbXBTdGF0dXMgID0gJ292ZXJwYXltZW50JztcbiAgfVxuICBnb3RvQWRkcmVzc1BhZ2Uobm90ZT86IElSZWZ1bmRDb250YWN0RGV0YWlscykge1xuICAgIGlmIChub3RlKSB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbiA9IHsgY29udGFjdF9kZXRhaWxzOiBub3RlLCBub3RpZmljYXRpb25fdHlwZTogbm90ZS5ub3RpZmljYXRpb25fdHlwZSB9O1xuICAgIH1cbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICcnO1xuICAgIHRoaXMudmlld1N0YXR1cyA9ICcnO1xuICAgIHRoaXMudmlld0NvbXBTdGF0dXMgPSAnb3ZlclBheW1lbnRBZGRyZXNzQ2FwdHVyZSc7XG4gIH1cbiAgcHJvY2Vzc1JlZnVuZCgpIHtcbiAgICB0aGlzLmlzQ29uZmlybWF0aW9uQnRuRGlzYWJsZWQgPSB0cnVlO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJyc7XG4gICAgY29uc3Qgb2JqID0gdGhpcy5wYXltZW50R3JvdXBMaXN0LmZlZXNbMF07XG4gICAgdGhpcy5mZWVzICA9IFt7IGlkOiBvYmouaWQsXG4gICAgICBjb2RlOiBvYmouY29kZSxcbiAgICAgIHZlcnNpb246b2JqLnZlcnNpb24sXG4gICAgICBhcHBvcnRpb25fYW1vdW50OiBvYmouYXBwb3J0aW9uX2Ftb3VudCxcbiAgICAgIGNhbGN1bGF0ZWRfYW1vdW50OiBvYmouY2FsY3VsYXRlZF9hbW91bnQsXG4gICAgICB1cGRhdGVkX3ZvbHVtZTogb2JqLnVwZGF0ZWRfdm9sdW1lID8gb2JqLnVwZGF0ZWRfdm9sdW1lIDogb2JqLnZvbHVtZSxcbiAgICAgIHZvbHVtZTogb2JqLnZvbHVtZSxcbiAgICAgIHJlZnVuZF9hbW91bnQ6IHRoaXMuZ2V0T3ZlclBheW1lbnRWYWx1ZSgpIH1dO1xuICAgIGNvbnN0IHJlcXVlc3RCb2R5ID0gbmV3IFBvc3RSZWZ1bmRSZXRyb1JlbWlzc2lvbih0aGlzLmNvbnRhY3REZXRhaWxzT2JqLHRoaXMuZmVlcywgdGhpcy5wYXltZW50R3JvdXBMaXN0LnBheW1lbnRzWzBdLnJlZmVyZW5jZSwgJ1JSMDM3JyxcbiAgICB0aGlzLmdldE92ZXJQYXltZW50VmFsdWUoKSwgJ29wJyk7XG4gICAgdGhpcy5wYXltZW50Vmlld1NlcnZpY2UucG9zdFJlZnVuZHNSZWFzb24ocmVxdWVzdEJvZHkpLnN1YnNjcmliZShcbiAgICAgIHJlc3BvbnNlID0+IHtcbiAgICAgICAgICBpZiAoSlNPTi5wYXJzZShyZXNwb25zZSkpIHtcbiAgICAgICAgICAgIHRoaXMudmlld0NvbXBTdGF0dXMgID0gJyc7XG4gICAgICAgICAgICB0aGlzLnZpZXdTdGF0dXMgPSAncmVmdW5kY29uZmlybWF0aW9ucGFnZSc7XG4gICAgICAgICAgICB0aGlzLnJlZnVuZFJlZmVyZW5jZSA9IEpTT04ucGFyc2UocmVzcG9uc2UpLnJlZnVuZF9yZWZlcmVuY2U7XG4gICAgICAgICAgICB0aGlzLnJlZnVuZEFtb3VudCA9IEpTT04ucGFyc2UocmVzcG9uc2UpLnJlZnVuZF9hbW91bnQ7XG4gICAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gZXJyb3I7XG4gICAgICAgIHRoaXMuaXNDb25maXJtYXRpb25CdG5EaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pXG4gIH1cblxuICBnZXRPdmVyUGF5bWVudFZhbHVlKCkge1xuICAgIGxldCBmZWVzT3ZlclBheW1lbnQgPSAwO1xuICAgIHRoaXMucGF5bWVudEdyb3VwTGlzdC5mZWVzLmZvckVhY2goZmVlID0+IHtcbiAgICAgIGZlZXNPdmVyUGF5bWVudCArPSBmZWUub3Zlcl9wYXltZW50O1xuICAgIH0pO1xuICAgIHJldHVybiBmZWVzT3ZlclBheW1lbnQgPiAwID8gZmVlc092ZXJQYXltZW50IDogdGhpcy5wYXltZW50R3JvdXBMaXN0LnBheW1lbnRzWzBdLm92ZXJfcGF5bWVudDtcblxuICB9XG5cbiAgZ2V0VGVtcGxhdGVJbnN0cnVjdGlvblR5cGUocGF5bWVudDogSVBheW1lbnQpOiB2b2lkIHtcblxuICAgIGlmIChwYXltZW50ID09IHVuZGVmaW5lZCB8fCBwYXltZW50ID09IG51bGwpIHtcbiAgICAgIHRoaXMudGVtcGxhdGVJbnN0cnVjdGlvblR5cGUgPSAnVGVtcGxhdGUnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRlbXBsYXRlSW5zdHJ1Y3Rpb25UeXBlID0gdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmdldE5vdGlmaWNhdGlvbkluc3RydWN0aW9uVHlwZShwYXltZW50LmNoYW5uZWwsIHBheW1lbnQubWV0aG9kKTtcbiAgICB9XG5cbiAgfVxuXG4gIHNob3dOb3RpZmljYXRpb25QcmV2aWV3KCk6IHZvaWQge1xuICAgIHRoaXMubm90aWZpY2F0aW9uUHJldmlldyA9IHRydWU7XG4gIH1cblxuICBoaWRlTm90aWZpY2F0aW9uUHJldmlldygpOiB2b2lkIHtcbiAgICB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXcgPSBmYWxzZTtcbiAgfVxufVxuIl19
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { StatusHistoryService } from '../../services/status-history/status-history.service';
|
|
3
|
-
import { PaymentLibComponent } from '../../payment-lib.component';
|
|
4
|
-
export class StatusHistoryComponent {
|
|
5
|
-
constructor(statusHistoryService, paymentLibComponent) {
|
|
6
|
-
this.statusHistoryService = statusHistoryService;
|
|
7
|
-
this.paymentLibComponent = paymentLibComponent;
|
|
8
|
-
this.pageTitle = 'Payment status history';
|
|
9
|
-
}
|
|
10
|
-
ngOnInit() {
|
|
11
|
-
this.statusHistoryService.getPaymentStatusesByReference(this.paymentLibComponent.paymentReference, this.paymentLibComponent.paymentMethod).subscribe(statuses => this.statuses = statuses, (error) => this.errorMessage = error.replace(/"/g, ""));
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
StatusHistoryComponent.decorators = [
|
|
15
|
-
{ type: Component, args: [{
|
|
16
|
-
selector: 'ccpay-payment-statuses',
|
|
17
|
-
template: "<div class=\"column\">\n <h2 class=\"heading-medium\">{{ pageTitle }}</h2>\n</div>\n\n\n<div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\" *ngIf=\"errorMessage\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Payment status history could not be retrieved\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n</div>\n\n<div *ngIf=\"!errorMessage && statuses\">\n <table>\n <thead>\n <tr>\n <th>Status</th>\n <th *ngIf=\"isTakePayment\">Amount</th>\n <th>Date and time</th>\n </tr>\n </thead> \n <tbody>\n <tr *ngFor=\"let status of statuses.status_histories\">\n <td>{{ status.status }}</td>\n <td *ngIf=\"isTakePayment\">\u00A3{{ statuses.amount | number:'.2' }}</td>\n <td>{{ status.date_created | date:'dd MMMM yyyy HH:mm:ss'}}</td>\n </tr>\n </tbody>\n </table>\n</div>\n",
|
|
18
|
-
styles: [""]
|
|
19
|
-
},] }
|
|
20
|
-
];
|
|
21
|
-
StatusHistoryComponent.ctorParameters = () => [
|
|
22
|
-
{ type: StatusHistoryService },
|
|
23
|
-
{ type: PaymentLibComponent }
|
|
24
|
-
];
|
|
25
|
-
StatusHistoryComponent.propDecorators = {
|
|
26
|
-
isTakePayment: [{ type: Input }]
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWhpc3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3N0YXR1cy1oaXN0b3J5L3N0YXR1cy1oaXN0b3J5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQU9sRSxNQUFNLE9BQU8sc0JBQXNCO0lBTWpDLFlBQW9CLG9CQUEwQyxFQUMxQyxtQkFBd0M7UUFEeEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBTDVELGNBQVMsR0FBVyx3QkFBd0IsQ0FBQztJQUttQixDQUFDO0lBRWpFLFFBQVE7UUFDTixJQUFJLENBQUMsb0JBQW9CLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsQ0FBQyxTQUFTLENBQ2xKLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLEVBQ3BDLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFRLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFDLEVBQUUsQ0FBQyxDQUNoRSxDQUFDO0lBRUosQ0FBQzs7O1lBcEJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQywyZ0NBQThDOzthQUUvQzs7O1lBUFEsb0JBQW9CO1lBQ3BCLG1CQUFtQjs7OzRCQVF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJU3RhdHVzSGlzdG9yaWVzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JU3RhdHVzSGlzdG9yaWVzJztcbmltcG9ydCB7IFN0YXR1c0hpc3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3RhdHVzLWhpc3Rvcnkvc3RhdHVzLWhpc3Rvcnkuc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50TGliQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGF5bWVudC1saWIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NwYXktcGF5bWVudC1zdGF0dXNlcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdGF0dXMtaGlzdG9yeS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0YXR1cy1oaXN0b3J5LmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTdGF0dXNIaXN0b3J5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgaXNUYWtlUGF5bWVudDogYm9vbGVhbjtcbiAgcGFnZVRpdGxlOiBzdHJpbmcgPSAnUGF5bWVudCBzdGF0dXMgaGlzdG9yeSc7XG4gIHN0YXR1c2VzOiBJU3RhdHVzSGlzdG9yaWVzO1xuICBlcnJvck1lc3NhZ2U6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0YXR1c0hpc3RvcnlTZXJ2aWNlOiBTdGF0dXNIaXN0b3J5U2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBwYXltZW50TGliQ29tcG9uZW50OiBQYXltZW50TGliQ29tcG9uZW50KSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnN0YXR1c0hpc3RvcnlTZXJ2aWNlLmdldFBheW1lbnRTdGF0dXNlc0J5UmVmZXJlbmNlKHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5wYXltZW50UmVmZXJlbmNlLCB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQucGF5bWVudE1ldGhvZCkuc3Vic2NyaWJlKFxuICAgICAgc3RhdHVzZXMgPT4gdGhpcy5zdGF0dXNlcyA9IHN0YXR1c2VzLFxuICAgICAgKGVycm9yOiBhbnkpID0+IHRoaXMuZXJyb3JNZXNzYWdlID0gPGFueT5lcnJvci5yZXBsYWNlKC9cIi9nLFwiXCIpXG4gICAgKTtcbiAgICBcbiAgfVxuXG59XG4iXX0=
|