ng-easycommerce 0.1.1 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/README.md +14 -0
  2. package/assets/ec-i18n/ct.json +4 -0
  3. package/assets/ec-i18n/en.json +4 -0
  4. package/assets/ec-i18n/es.json +4 -0
  5. package/assets/ec-i18n/fr.json +4 -0
  6. package/assets/ec-i18n/gl.json +4 -0
  7. package/assets/ec-i18n/pr.json +4 -0
  8. package/bundles/ng-easycommerce.umd.js +5191 -3521
  9. package/bundles/ng-easycommerce.umd.js.map +1 -1
  10. package/bundles/ng-easycommerce.umd.min.js +1 -1
  11. package/bundles/ng-easycommerce.umd.min.js.map +1 -1
  12. package/esm2015/lib/api/connection.service.js +2 -2
  13. package/esm2015/lib/core.consts.js +4 -5
  14. package/esm2015/lib/ec-component/account-ec/order-ec/order-ec.component.js +2 -2
  15. package/esm2015/lib/ec-component/cart-bootstrap-navigation.js +27 -0
  16. package/esm2015/lib/ec-component/cart-ec/cart-ec.component.js +11 -1
  17. package/esm2015/lib/ec-component/checkout-ec/checkout-ec.component.js +28 -3
  18. package/esm2015/lib/ec-component/checkout-ec/dataform-ec/dataform-ec.component.js +185 -13
  19. package/esm2015/lib/ec-component/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.js +6 -2
  20. package/esm2015/lib/ec-component/checkout-ec/payment-ec/payment-ec.component.js +26 -9
  21. package/esm2015/lib/ec-component/checkout-ec/payment-ec-single/payment-ec-single.component.js +11 -3
  22. package/esm2015/lib/ec-component/checkout-ec/shipment-ec/shipment-ec.component.js +4 -2
  23. package/esm2015/lib/ec-component/coupon-ec/coupon-ec.component.js +6 -1
  24. package/esm2015/lib/guards/able-buyer-guard.service.js +2 -2
  25. package/esm2015/lib/guards/auth-guard.service.js +2 -2
  26. package/esm2015/lib/guards/checkout-ready.service.js +3 -3
  27. package/esm2015/lib/guards/loggedin-guard.service.js +2 -2
  28. package/esm2015/lib/guards/user-role-guard.service.js +2 -2
  29. package/esm2015/lib/interfaces/checkout-data.js +1 -1
  30. package/esm2015/lib/services/account/orders.service.js +6 -4
  31. package/esm2015/lib/services/auth.service.js +4 -3
  32. package/esm2015/lib/services/captcha.service.js +6 -4
  33. package/esm2015/lib/services/cart.service.js +1194 -74
  34. package/esm2015/lib/services/channel-config.service.js +4 -6
  35. package/esm2015/lib/services/checkout/addressing.service.js +65 -9
  36. package/esm2015/lib/services/checkout/checkout.service.js +58 -9
  37. package/esm2015/lib/services/checkout/error-handler.service.js +4 -3
  38. package/esm2015/lib/services/checkout/payment.service.js +35 -15
  39. package/esm2015/lib/services/checkout/shipment.service.js +54 -3
  40. package/esm2015/lib/services/concatenated-associations.service.js +4 -3
  41. package/esm2015/lib/services/currency.service.js +5 -3
  42. package/esm2015/lib/services/filters.service.js +2 -2
  43. package/esm2015/lib/services/footer/footer.service.js +4 -3
  44. package/esm2015/lib/services/gift-card.service.js +56 -5
  45. package/esm2015/lib/services/parameters.service.js +5 -3
  46. package/esm2015/lib/services/reviews.service.js +5 -4
  47. package/esm2015/lib/services/seo.service.js +4 -5
  48. package/esm2015/lib/services/stores.service.js +4 -3
  49. package/esm2015/lib/services/wishlist.service.js +3 -4
  50. package/esm2015/lib/utils/analytics/google-analytics.service.js +1 -1
  51. package/esm2015/lib/utils/order-util.service.js +22 -2
  52. package/esm2015/lib/utils/price-presentation.service.js +2 -3
  53. package/esm2015/lib/utils/shipping-price-display.service.js +2 -3
  54. package/esm5/lib/api/connection.service.js +2 -2
  55. package/esm5/lib/core.consts.js +4 -5
  56. package/esm5/lib/ec-component/account-ec/order-ec/order-ec.component.js +2 -2
  57. package/esm5/lib/ec-component/cart-bootstrap-navigation.js +27 -0
  58. package/esm5/lib/ec-component/cart-ec/cart-ec.component.js +11 -1
  59. package/esm5/lib/ec-component/checkout-ec/checkout-ec.component.js +28 -3
  60. package/esm5/lib/ec-component/checkout-ec/dataform-ec/dataform-ec.component.js +206 -12
  61. package/esm5/lib/ec-component/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.js +6 -2
  62. package/esm5/lib/ec-component/checkout-ec/payment-ec/payment-ec.component.js +31 -14
  63. package/esm5/lib/ec-component/checkout-ec/payment-ec-single/payment-ec-single.component.js +11 -3
  64. package/esm5/lib/ec-component/checkout-ec/shipment-ec/shipment-ec.component.js +5 -3
  65. package/esm5/lib/ec-component/coupon-ec/coupon-ec.component.js +6 -1
  66. package/esm5/lib/guards/able-buyer-guard.service.js +2 -2
  67. package/esm5/lib/guards/auth-guard.service.js +2 -2
  68. package/esm5/lib/guards/checkout-ready.service.js +3 -3
  69. package/esm5/lib/guards/loggedin-guard.service.js +2 -2
  70. package/esm5/lib/guards/user-role-guard.service.js +2 -2
  71. package/esm5/lib/interfaces/checkout-data.js +1 -1
  72. package/esm5/lib/services/account/orders.service.js +6 -4
  73. package/esm5/lib/services/auth.service.js +4 -3
  74. package/esm5/lib/services/captcha.service.js +6 -4
  75. package/esm5/lib/services/cart.service.js +1243 -94
  76. package/esm5/lib/services/channel-config.service.js +4 -6
  77. package/esm5/lib/services/checkout/addressing.service.js +65 -9
  78. package/esm5/lib/services/checkout/checkout.service.js +65 -13
  79. package/esm5/lib/services/checkout/error-handler.service.js +4 -3
  80. package/esm5/lib/services/checkout/payment.service.js +29 -11
  81. package/esm5/lib/services/checkout/shipment.service.js +58 -7
  82. package/esm5/lib/services/concatenated-associations.service.js +4 -3
  83. package/esm5/lib/services/currency.service.js +5 -3
  84. package/esm5/lib/services/filters.service.js +2 -2
  85. package/esm5/lib/services/footer/footer.service.js +4 -3
  86. package/esm5/lib/services/gift-card.service.js +59 -5
  87. package/esm5/lib/services/parameters.service.js +5 -3
  88. package/esm5/lib/services/reviews.service.js +5 -4
  89. package/esm5/lib/services/seo.service.js +4 -5
  90. package/esm5/lib/services/stores.service.js +4 -3
  91. package/esm5/lib/services/wishlist.service.js +3 -4
  92. package/esm5/lib/utils/analytics/google-analytics.service.js +1 -1
  93. package/esm5/lib/utils/order-util.service.js +22 -2
  94. package/esm5/lib/utils/price-presentation.service.js +2 -3
  95. package/esm5/lib/utils/shipping-price-display.service.js +2 -3
  96. package/fesm2015/ng-easycommerce.js +4360 -2745
  97. package/fesm2015/ng-easycommerce.js.map +1 -1
  98. package/fesm5/ng-easycommerce.js +5193 -3523
  99. package/fesm5/ng-easycommerce.js.map +1 -1
  100. package/lib/ec-component/cart-bootstrap-navigation.d.ts +7 -0
  101. package/lib/ec-component/cart-ec/cart-ec.component.d.ts +5 -2
  102. package/lib/ec-component/checkout-ec/checkout-ec.component.d.ts +6 -1
  103. package/lib/ec-component/checkout-ec/dataform-ec/dataform-ec.component.d.ts +27 -3
  104. package/lib/ec-component/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.d.ts +1 -1
  105. package/lib/ec-component/checkout-ec/payment-ec/payment-ec.component.d.ts +3 -0
  106. package/lib/ec-component/checkout-ec/payment-ec-single/payment-ec-single.component.d.ts +3 -0
  107. package/lib/interfaces/checkout-data.d.ts +6 -1
  108. package/lib/services/cart.service.d.ts +123 -7
  109. package/lib/services/checkout/addressing.service.d.ts +1 -1
  110. package/lib/services/checkout/checkout.service.d.ts +3 -0
  111. package/lib/services/checkout/shipment.service.d.ts +2 -2
  112. package/lib/services/gift-card.service.d.ts +1 -0
  113. package/lib/utils/order-util.service.d.ts +1 -0
  114. package/ng-easycommerce.metadata.json +1 -1
  115. package/package.json +1 -1
@@ -17,6 +17,8 @@ var PaymentEcSingleComponent = /** @class */ (function () {
17
17
  this.balanceMethodRejected = false;
18
18
  this.methods = [];
19
19
  this.totalAmount = null;
20
+ this.getPaymentMethodAdjustmentPreview = function () { return null; };
21
+ this.getPaymentMethodAdjustmentPreviewSign = function () { return ''; };
20
22
  this.isMethodDisabled = function () { return false; };
21
23
  this.isMP = function () { return false; };
22
24
  this.isMPTarjetaDeCredito = function () { return false; };
@@ -79,6 +81,12 @@ var PaymentEcSingleComponent = /** @class */ (function () {
79
81
  __decorate([
80
82
  Input()
81
83
  ], PaymentEcSingleComponent.prototype, "totalAmount", void 0);
84
+ __decorate([
85
+ Input()
86
+ ], PaymentEcSingleComponent.prototype, "getPaymentMethodAdjustmentPreview", void 0);
87
+ __decorate([
88
+ Input()
89
+ ], PaymentEcSingleComponent.prototype, "getPaymentMethodAdjustmentPreviewSign", void 0);
82
90
  __decorate([
83
91
  Input()
84
92
  ], PaymentEcSingleComponent.prototype, "isMethodDisabled", void 0);
@@ -154,11 +162,11 @@ var PaymentEcSingleComponent = /** @class */ (function () {
154
162
  PaymentEcSingleComponent = __decorate([
155
163
  Component({
156
164
  selector: 'app-payment-ec-single',
157
- template: "<div *ngIf=\"methods?.length\">\n <div class=\"payment-compact payment-compact-flat payment-step-surface\">\n <div class=\"single-step-overlay\" *ngIf=\"loadingInternalMp\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n <div class=\"card-body\">\n <div class=\"payment-lock-message\" *ngIf=\"paymentLocked\">\n {{ 'shipment-method-required' | translate }}\n </div>\n <div class=\"payment-options\" [class.is-locked]=\"paymentLocked\">\n <ng-container *ngFor=\"let method of methods\">\n <label class=\"payment-option\"\n [class.is-selected]=\"selectedMethodCode === method.code\"\n [class.is-disabled]=\"isMethodDisabled(method)\">\n <input class=\"payment-option-input\" type=\"radio\" name=\"payment-option\"\n [checked]=\"selectedMethodCode === method.code\"\n [disabled]=\"paymentLocked || isMethodDisabled(method)\"\n (click)=\"selectMethod.emit(method)\">\n <span class=\"payment-option-title\">{{ method.name | translate }}</span>\n <span class=\"payment-option-logos\" *ngIf=\"method.images?.length\">\n <img class=\"payment-option-logo\"\n *ngFor=\"let logo of getVisibleImages(method.images)\"\n [src]=\"getImageUrl ? getImageUrl(logo) : (logo?.path || logo?.url || logo?.src || logo)\"\n [alt]=\"logo?.name || (method.name || '')\"\n [title]=\"logo?.name || (method.name || '')\">\n <span class=\"payment-option-more\"\n *ngIf=\"method.images.length > 4\"\n [tooltip]=\"hiddenImagesTpl\"\n placement=\"top\"\n container=\"body\"\n triggers=\"hover\">\n +{{ method.images.length - 3 }}\n </span>\n <ng-template #hiddenImagesTpl>\n <span class=\"payment-tooltip-logos\">\n <img class=\"payment-tooltip-logo\"\n *ngFor=\"let logo of getHiddenImages(method.images)\"\n [src]=\"getImageUrl ? getImageUrl(logo) : (logo?.path || logo?.url || logo?.src || logo)\"\n [alt]=\"logo?.name || ''\">\n </span>\n </ng-template>\n </span>\n </label>\n <div class=\"payment-option-details\" *ngIf=\"selectedMethodCode === method.code\">\n <ng-container *ngIf=\"validatingMethodCode === method.code; else methodContent\">\n <div class=\"d-flex justify-content-center py-2\">\n <app-loading-inline-ec></app-loading-inline-ec>\n </div>\n </ng-container>\n <ng-template #methodContent>\n <ng-container *ngIf=\"!showMethodError && currentMethod?.code === method.code\">\n <div class=\"method-container text-dark\" *ngIf=\"isMP(method.code)\">\n <p id=\"faqs\" class=\"qt px-5 \">{{ method.description }}</p>\n <p class=\"px-5\">{{ method.instructions }}</p>\n <app-mp-redirect-ec (ready)=\"verifyValidate.emit($event)\" [method]=\"method\"\n [paymentServiceInst]=\"paymentServiceInst\"\n [allData]=\"allData()\"></app-mp-redirect-ec>\n </div>\n <div class=\"method-container text-dark text-left\"\n *ngIf=\"isMPTarjetaDeCredito(method.code)\">\n <div class=\"row\">\n <div class=\"col-12\">\n <p id=\"faqs\" class=\"qt px-5 \">{{ method.description }}</p>\n <p class=\"px-5\">{{ method.instructions }}</p>\n <div app-mp-credit-ec (ready)=\"verifyValidate.emit()\"\n [public_key]=\"getPK(method)\" [user_data]=\"allData()\"\n [total_amount]=\"totalAmount\">\n </div>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\"\n *ngIf=\"isRedirectRedsys(method.code)\">\n <div class=\"row\">\n <div class=\"col-12\">\n <ng-container\n *ngIf=\"!method.code.includes('bizum') && !method.code.includes('_out_')\">\n <app-redsys-redirect-ec (ready)=\"verifyValidate.emit($event)\"\n [method]=\"method\" [user_data]=\"allData()\">\n </app-redsys-redirect-ec>\n </ng-container>\n <ng-container\n *ngIf=\"method.code.includes('bizum') || method.code.includes('_out_')\">\n <app-redsys-redirect-out-ec (ready)=\"verifyValidate.emit($event)\"\n [method]=\"method\" [user_data]=\"allData()\">\n </app-redsys-redirect-out-ec>\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\"\n *ngIf=\"isRedirectCecaBank(method.code)\">\n <div class=\"row\">\n <div class=\"col-12\">\n <app-ceca-redirect-ec (ready)=\"verifyValidate.emit($event)\" [method]=\"method\"\n [user_data]=\"allData()\">\n </app-ceca-redirect-ec>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\" *ngIf=\"isPeyPalExpress(method.code)\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col-12\">\n <app-paypal-express-ec (ready)=\"verifyValidate.emit($event)\"\n [method]=\"method\" [user_data]=\"allData()\"\n [total_amount]=\"totalAmount\">\n </app-paypal-express-ec>\n </div>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\" *ngIf=\"isMobbex(method.code)\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col-12\">\n <app-mobbex-ec (ready)=\"verifyValidate.emit($event)\" [method]=\"method\"\n [user_data]=\"allData()\" [paymentServiceInst]=\"paymentServiceInst\"\n [total_amount]=\"totalAmount\">\n </app-mobbex-ec>\n </div>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\" *ngIf=\"isBancard(method.code)\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col-12\">\n <app-bancard-ec (ready)=\"verifyValidate.emit($event)\" [method]=\"method\"\n [user_data]=\"allData()\" [paymentServiceInst]=\"paymentServiceInst\"\n [total_amount]=\"totalAmount\">\n </app-bancard-ec>\n </div>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\" *ngIf=\"isDecidir(method.code)\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col-12\">\n <app-decidir-ec (ready)=\"verifyValidate.emit($event)\" [method]=\"method\"\n [user_data]=\"allData()\" [paymentServiceInst]=\"paymentServiceInst\"\n [total_amount]=\"totalAmount\">\n </app-decidir-ec>\n </div>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark\" *ngIf=\"isMethodOffline(method.code)\">\n <p id=\"faqs\" class=\"qt px-5\">{{ method.description }}</p>\n <p class=\"px-5\">{{ method.instructions }}</p>\n <div class=\"end-button\">\n <button class=\"btn comprar\" (click)=\"setLoading.emit(); verifyValidate.emit()\">{{\n ('pay-with-offline'| translate) }}</button>\n </div>\n <ng-container *ngIf=\"loadingInternal\">\n <div class=\"mt-2\">\n <app-loading-inline-ec></app-loading-inline-ec>\n </div>\n </ng-container>\n </div>\n <div class=\"method-container text-dark text-start\" *ngIf=\"isCulqi(method.code)\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col-12\">\n <app-culqi-ec [apiKey]=\"getPKCulqi(method)\" [method]=\"method\"\n [amount]=\"totalAmount\" [customStyle]=\"true\"\n (ready)=\"verifyValidate.emit()\"></app-culqi-ec>\n </div>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\" *ngIf=\"isCatastro(method.code)\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col-12\">\n <app-bancard-catastro-ec (ready)=\"verifyValidate.emit($event)\"\n [method]=\"method\" [user_data]=\"allData()\"\n [paymentServiceInst]=\"paymentServiceInst\"\n [total_amount]=\"totalAmount\"></app-bancard-catastro-ec>\n </div>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\" *ngIf=\"isBamboo(method.code)\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col-12\">\n <app-bamboo-ec (ready)=\"verifyValidate.emit($event)\" [method]=\"method\"\n [user_data]=\"allData()\" [paymentServiceInst]=\"paymentServiceInst\"\n [total_amount]=\"totalAmount\"></app-bamboo-ec>\n </div>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark\" *ngIf=\"isBankTransfer(method.code)\">\n <div class=\"row px-0 description-cont\">\n <ng-container\n *ngFor=\"let line of method.description.split('\\r\\n'); let i=index\">\n <p [id]=\"'faqs-'+i\" [class]=\"'qt px-5 m-0 line-'+i\">{{ line }}</p>\n </ng-container>\n </div>\n <hr *ngIf=\"method.instructions\">\n <div *ngIf=\"method.instructions\" class=\"row px-0 instructions-cont mb-1\">\n <h5 class=\"instructions-title\">{{ ('instructions' | translate) }}</h5>\n <ng-container\n *ngFor=\"let line of method.instructions.split('\\r\\n'); let i=index\">\n <p [class]=\"'px-5 m-0 instructions-text line-'+i \">{{ line }}</p>\n </ng-container>\n </div>\n\n <div class=\"end-button\">\n <button class=\"btn comprar\" (click)=\"setLoading.emit(); verifyValidate.emit()\">{{\n ('pay-with-transfer'\n | translate) }}</button>\n </div>\n <ng-container *ngIf=\"loadingInternal\">\n <div class=\"mt-2\">\n <app-loading-inline-ec></app-loading-inline-ec>\n </div>\n </ng-container>\n </div>\n <div class=\"method-container text-dark\" *ngIf=\"isPlaceToPay(method.code)\">\n <p id=\"faqs\" *ngIf=\"method.description\" class=\"qt px-5 \">{{ method.description }}\n </p>\n <p class=\"px-5\" *ngIf=\"method.instructions\">{{ method.instructions }}</p>\n <app-place-to-pay-ec (ready)=\"verifyValidate.emit($event)\" [method]=\"method\"\n [paymentServiceInst]=\"paymentServiceInst\" [allData]=\"allData()\">\n </app-place-to-pay-ec>\n </div>\n </ng-container>\n <ng-container *ngIf=\"showMethodError\">\n <div class=\"text-danger mt-2 px-3 fw-bold\">\n {{ 'this-payment-method-cannot-be-used' | translate }}\n </div>\n </ng-container>\n <div class=\"method-container text-dark\"\n *ngIf=\"currentMethod?.code === method.code && isBalanceInAccount(method.code) && !showMethodError\">\n <div class=\"row px-0 description-cont\" *ngIf=\"method.description\">\n <ng-container *ngFor=\"let line of method.description.split('\\r\\n'); let i = index\">\n <p [id]=\"'cc-desc-'+i\" [class]=\"'qt px-5 m-0 line-'+i\">{{ line }}</p>\n </ng-container>\n </div>\n\n <hr *ngIf=\"method.instructions\">\n\n <div *ngIf=\"method.instructions\" class=\"row px-0 instructions-cont mb-1\">\n <h5 class=\"instructions-title\">{{ ('instructions' | translate) }}</h5>\n <ng-container *ngFor=\"let line of method.instructions.split('\\r\\n'); let i = index\">\n <p [class]=\"'px-5 m-0 instructions-text line-'+i \">{{ line }}</p>\n </ng-container>\n </div>\n\n <ng-container *ngIf=\"!balanceMethodRejected; else showCreditError\">\n <div class=\"end-button\">\n <button class=\"btn comprar\" (click)=\"setLoading.emit(); verifyValidate.emit()\">\n {{ 'pay-with' | translate }} {{ method.name }}\n </button>\n </div>\n </ng-container>\n\n <ng-template #showCreditError>\n <div class=\"text-danger mt-2 px-3 fw-bold\">\n {{ 'not-enough-credits-to-complete' | translate }}\n </div>\n </ng-template>\n <ng-container *ngIf=\"loadingInternal\">\n <div class=\"mt-2\">\n <app-loading-inline-ec></app-loading-inline-ec>\n </div>\n </ng-container>\n </div>\n </ng-template>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n",
158
- styles: [".payment-compact{border:1px solid var(--ec-border,#e3e3e3);border-radius:6px;width:100%}.payment-compact-flat{border:0;background:0 0;width:100%}.payment-compact-flat .card-body{padding:0}.payment-step-surface{position:relative}.single-step-overlay{position:absolute;inset:0;background:rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;z-index:5}.payment-options{display:-ms-grid;display:grid;gap:0;border:1px solid var(--ec-border,#e3e3e3);border-radius:6px;overflow:visible;background:var(--ec-surface,#fff);width:100%}.payment-option{display:-ms-grid;display:grid;-ms-grid-columns:auto 1fr auto;grid-template-columns:auto 1fr auto;gap:.75rem;padding:.75rem;border-top:1px solid var(--ec-border,#e3e3e3);cursor:pointer;align-items:center;background:var(--ec-surface,#fff);transition:border-color .2s,box-shadow .2s;margin:0}.payment-option:first-child{border-top:0}.payment-option.is-selected{border-color:var(--ec-accent,#2563eb);background:var(--ec-accent-soft,#f5f8ff);box-shadow:inset 0 0 0 1px var(--ec-accent,#2563eb)}.payment-option.is-disabled{opacity:.6;cursor:not-allowed}.payment-option-input{margin-top:.1rem}.payment-option-title{font-weight:600}.payment-option-logos{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.payment-option-logo{width:44px;height:28px;-o-object-fit:contain;object-fit:contain;background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 1px 2px rgba(15,23,42,.08);padding:3px;filter:saturate(.96) contrast(1.02)}.payment-option-more{width:44px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:6px;font-size:12px;font-weight:600;color:#475569;box-shadow:0 1px 2px rgba(15,23,42,.08)}.payment-tooltip-logos{display:flex;gap:.5rem;align-items:center;padding:.25rem .4rem}.payment-tooltip-logo{width:44px;height:28px;-o-object-fit:contain;object-fit:contain;background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 1px 2px rgba(15,23,42,.08);padding:3px}.payment-option-details{border-top:1px solid var(--ec-border,#e3e3e3);padding:1rem;background:var(--ec-surface-alt,#fafafa)}.payment-option-details .method-container{padding:0 .5rem .5rem}.payment-option-details .container,.payment-option-details .row{margin-left:0;margin-right:0}.payment-option-details .px-5{padding-left:.75rem!important;padding-right:.75rem!important}.payment-option-details .end-button{padding:0 .75rem .5rem}.payment-option-details .instructions-text,.payment-option-details .instructions-title{padding-left:.75rem;padding-right:.75rem}.payment-compact-flat .comprar{font-size:14px;padding:8px 16px;border-radius:6px}.comprar{background:var(--ec-accent,#000);color:var(--ec-accent-contrast,#fff);display:inline-block;font-weight:600;text-decoration:none;text-transform:uppercase;border:0}.payment-lock-message{background:#fff7e6;border:1px solid #f0c36d;color:#8a5a00;padding:.75rem 1rem;border-radius:8px;margin-bottom:.75rem;font-weight:600}.payment-options.is-locked{opacity:.55;filter:grayscale(.2)}"]
165
+ template: "<div *ngIf=\"methods?.length\">\n <div class=\"payment-compact payment-compact-flat payment-step-surface\">\n <div class=\"single-step-overlay\" *ngIf=\"loadingInternalMp\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n <div class=\"card-body\">\n <div class=\"payment-lock-message\" *ngIf=\"paymentLocked\">\n {{ 'shipment-method-required' | translate }}\n </div>\n <div class=\"payment-options\" [class.is-locked]=\"paymentLocked\">\n <ng-container *ngFor=\"let method of methods\">\n <label class=\"payment-option\"\n [class.is-selected]=\"selectedMethodCode === method.code\"\n [class.is-disabled]=\"isMethodDisabled(method)\">\n <input class=\"payment-option-input\" type=\"radio\" name=\"payment-option\"\n [checked]=\"selectedMethodCode === method.code\"\n [disabled]=\"paymentLocked || isMethodDisabled(method)\"\n (click)=\"selectMethod.emit(method)\">\n <span class=\"payment-option-info\">\n <span class=\"payment-option-title\">{{ method.name | translate }}</span>\n <span class=\"payment-option-adjustment\"\n *ngIf=\"getPaymentMethodAdjustmentPreview(method) as adjustmentPreview\">\n <ng-container *ngIf=\"adjustmentPreview.type === 'percentage'; else fixedAdjustment\">\n {{ getPaymentMethodAdjustmentPreviewSign(adjustmentPreview.value) }}{{ adjustmentPreview.value }}%\n </ng-container>\n <ng-template #fixedAdjustment>\n {{ getPaymentMethodAdjustmentPreviewSign(adjustmentPreview.value) }}{{ adjustmentPreview.value | ecCurrencySymbol:'alwaysShowDecimals' }}\n </ng-template>\n </span>\n </span>\n <span class=\"payment-option-logos\" *ngIf=\"method.images?.length\">\n <img class=\"payment-option-logo\"\n *ngFor=\"let logo of getVisibleImages(method.images)\"\n [src]=\"getImageUrl ? getImageUrl(logo) : (logo?.path || logo?.url || logo?.src || logo)\"\n [alt]=\"logo?.name || (method.name || '')\"\n [title]=\"logo?.name || (method.name || '')\">\n <span class=\"payment-option-more\"\n *ngIf=\"method.images.length > 4\"\n [tooltip]=\"hiddenImagesTpl\"\n placement=\"top\"\n container=\"body\"\n triggers=\"hover\">\n +{{ method.images.length - 3 }}\n </span>\n <ng-template #hiddenImagesTpl>\n <span class=\"payment-tooltip-logos\">\n <img class=\"payment-tooltip-logo\"\n *ngFor=\"let logo of getHiddenImages(method.images)\"\n [src]=\"getImageUrl ? getImageUrl(logo) : (logo?.path || logo?.url || logo?.src || logo)\"\n [alt]=\"logo?.name || ''\">\n </span>\n </ng-template>\n </span>\n </label>\n <div class=\"payment-option-details\" *ngIf=\"selectedMethodCode === method.code\">\n <ng-container *ngIf=\"validatingMethodCode === method.code; else methodContent\">\n <div class=\"d-flex justify-content-center py-2\">\n <app-loading-inline-ec></app-loading-inline-ec>\n </div>\n </ng-container>\n <ng-template #methodContent>\n <ng-container *ngIf=\"!showMethodError && currentMethod?.code === method.code\">\n <div class=\"method-container text-dark\" *ngIf=\"isMP(method.code)\">\n <p id=\"faqs\" class=\"qt px-5 \">{{ method.description }}</p>\n <p class=\"px-5\">{{ method.instructions }}</p>\n <app-mp-redirect-ec (ready)=\"verifyValidate.emit($event)\" [method]=\"method\"\n [paymentServiceInst]=\"paymentServiceInst\"\n [allData]=\"allData()\"></app-mp-redirect-ec>\n </div>\n <div class=\"method-container text-dark text-left\"\n *ngIf=\"isMPTarjetaDeCredito(method.code)\">\n <div class=\"row\">\n <div class=\"col-12\">\n <p id=\"faqs\" class=\"qt px-5 \">{{ method.description }}</p>\n <p class=\"px-5\">{{ method.instructions }}</p>\n <div app-mp-credit-ec (ready)=\"verifyValidate.emit()\"\n [public_key]=\"getPK(method)\" [user_data]=\"allData()\"\n [total_amount]=\"totalAmount\">\n </div>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\"\n *ngIf=\"isRedirectRedsys(method.code)\">\n <div class=\"row\">\n <div class=\"col-12\">\n <ng-container\n *ngIf=\"!method.code.includes('bizum') && !method.code.includes('_out_')\">\n <app-redsys-redirect-ec (ready)=\"verifyValidate.emit($event)\"\n [method]=\"method\" [user_data]=\"allData()\">\n </app-redsys-redirect-ec>\n </ng-container>\n <ng-container\n *ngIf=\"method.code.includes('bizum') || method.code.includes('_out_')\">\n <app-redsys-redirect-out-ec (ready)=\"verifyValidate.emit($event)\"\n [method]=\"method\" [user_data]=\"allData()\">\n </app-redsys-redirect-out-ec>\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\"\n *ngIf=\"isRedirectCecaBank(method.code)\">\n <div class=\"row\">\n <div class=\"col-12\">\n <app-ceca-redirect-ec (ready)=\"verifyValidate.emit($event)\" [method]=\"method\"\n [user_data]=\"allData()\">\n </app-ceca-redirect-ec>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\" *ngIf=\"isPeyPalExpress(method.code)\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col-12\">\n <app-paypal-express-ec (ready)=\"verifyValidate.emit($event)\"\n [method]=\"method\" [user_data]=\"allData()\"\n [total_amount]=\"totalAmount\">\n </app-paypal-express-ec>\n </div>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\" *ngIf=\"isMobbex(method.code)\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col-12\">\n <app-mobbex-ec (ready)=\"verifyValidate.emit($event)\" [method]=\"method\"\n [user_data]=\"allData()\" [paymentServiceInst]=\"paymentServiceInst\"\n [total_amount]=\"totalAmount\">\n </app-mobbex-ec>\n </div>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\" *ngIf=\"isBancard(method.code)\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col-12\">\n <app-bancard-ec (ready)=\"verifyValidate.emit($event)\" [method]=\"method\"\n [user_data]=\"allData()\" [paymentServiceInst]=\"paymentServiceInst\"\n [total_amount]=\"totalAmount\">\n </app-bancard-ec>\n </div>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\" *ngIf=\"isDecidir(method.code)\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col-12\">\n <app-decidir-ec (ready)=\"verifyValidate.emit($event)\" [method]=\"method\"\n [user_data]=\"allData()\" [paymentServiceInst]=\"paymentServiceInst\"\n [total_amount]=\"totalAmount\">\n </app-decidir-ec>\n </div>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark\" *ngIf=\"isMethodOffline(method.code)\">\n <p id=\"faqs\" class=\"qt px-5\">{{ method.description }}</p>\n <p class=\"px-5\">{{ method.instructions }}</p>\n <div class=\"end-button\">\n <button class=\"btn comprar\" (click)=\"setLoading.emit(); verifyValidate.emit()\">{{\n ('pay-with-offline'| translate) }}</button>\n </div>\n <ng-container *ngIf=\"loadingInternal\">\n <div class=\"mt-2\">\n <app-loading-inline-ec></app-loading-inline-ec>\n </div>\n </ng-container>\n </div>\n <div class=\"method-container text-dark text-start\" *ngIf=\"isCulqi(method.code)\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col-12\">\n <app-culqi-ec [apiKey]=\"getPKCulqi(method)\" [method]=\"method\"\n [amount]=\"totalAmount\" [customStyle]=\"true\"\n (ready)=\"verifyValidate.emit()\"></app-culqi-ec>\n </div>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\" *ngIf=\"isCatastro(method.code)\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col-12\">\n <app-bancard-catastro-ec (ready)=\"verifyValidate.emit($event)\"\n [method]=\"method\" [user_data]=\"allData()\"\n [paymentServiceInst]=\"paymentServiceInst\"\n [total_amount]=\"totalAmount\"></app-bancard-catastro-ec>\n </div>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark text-start\" *ngIf=\"isBamboo(method.code)\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col-12\">\n <app-bamboo-ec (ready)=\"verifyValidate.emit($event)\" [method]=\"method\"\n [user_data]=\"allData()\" [paymentServiceInst]=\"paymentServiceInst\"\n [total_amount]=\"totalAmount\"></app-bamboo-ec>\n </div>\n </div>\n </div>\n </div>\n <div class=\"method-container text-dark\" *ngIf=\"isBankTransfer(method.code)\">\n <div class=\"row px-0 description-cont\">\n <ng-container\n *ngFor=\"let line of method.description.split('\\r\\n'); let i=index\">\n <p [id]=\"'faqs-'+i\" [class]=\"'qt px-5 m-0 line-'+i\">{{ line }}</p>\n </ng-container>\n </div>\n <hr *ngIf=\"method.instructions\">\n <div *ngIf=\"method.instructions\" class=\"row px-0 instructions-cont mb-1\">\n <h5 class=\"instructions-title\">{{ ('instructions' | translate) }}</h5>\n <ng-container\n *ngFor=\"let line of method.instructions.split('\\r\\n'); let i=index\">\n <p [class]=\"'px-5 m-0 instructions-text line-'+i \">{{ line }}</p>\n </ng-container>\n </div>\n\n <div class=\"end-button\">\n <button class=\"btn comprar\" (click)=\"setLoading.emit(); verifyValidate.emit()\">{{\n ('pay-with-transfer'\n | translate) }}</button>\n </div>\n <ng-container *ngIf=\"loadingInternal\">\n <div class=\"mt-2\">\n <app-loading-inline-ec></app-loading-inline-ec>\n </div>\n </ng-container>\n </div>\n <div class=\"method-container text-dark\" *ngIf=\"isPlaceToPay(method.code)\">\n <p id=\"faqs\" *ngIf=\"method.description\" class=\"qt px-5 \">{{ method.description }}\n </p>\n <p class=\"px-5\" *ngIf=\"method.instructions\">{{ method.instructions }}</p>\n <app-place-to-pay-ec (ready)=\"verifyValidate.emit($event)\" [method]=\"method\"\n [paymentServiceInst]=\"paymentServiceInst\" [allData]=\"allData()\">\n </app-place-to-pay-ec>\n </div>\n </ng-container>\n <ng-container *ngIf=\"showMethodError\">\n <div class=\"text-danger mt-2 px-3 fw-bold\">\n {{ 'this-payment-method-cannot-be-used' | translate }}\n </div>\n </ng-container>\n <div class=\"method-container text-dark\"\n *ngIf=\"currentMethod?.code === method.code && isBalanceInAccount(method.code) && !showMethodError\">\n <div class=\"row px-0 description-cont\" *ngIf=\"method.description\">\n <ng-container *ngFor=\"let line of method.description.split('\\r\\n'); let i = index\">\n <p [id]=\"'cc-desc-'+i\" [class]=\"'qt px-5 m-0 line-'+i\">{{ line }}</p>\n </ng-container>\n </div>\n\n <hr *ngIf=\"method.instructions\">\n\n <div *ngIf=\"method.instructions\" class=\"row px-0 instructions-cont mb-1\">\n <h5 class=\"instructions-title\">{{ ('instructions' | translate) }}</h5>\n <ng-container *ngFor=\"let line of method.instructions.split('\\r\\n'); let i = index\">\n <p [class]=\"'px-5 m-0 instructions-text line-'+i \">{{ line }}</p>\n </ng-container>\n </div>\n\n <ng-container *ngIf=\"!balanceMethodRejected; else showCreditError\">\n <div class=\"end-button\">\n <button class=\"btn comprar\" (click)=\"setLoading.emit(); verifyValidate.emit()\">\n {{ 'pay-with' | translate }} {{ method.name }}\n </button>\n </div>\n </ng-container>\n\n <ng-template #showCreditError>\n <div class=\"text-danger mt-2 px-3 fw-bold\">\n {{ 'not-enough-credits-to-complete' | translate }}\n </div>\n </ng-template>\n <ng-container *ngIf=\"loadingInternal\">\n <div class=\"mt-2\">\n <app-loading-inline-ec></app-loading-inline-ec>\n </div>\n </ng-container>\n </div>\n </ng-template>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n",
166
+ styles: [".payment-compact{border:1px solid var(--ec-border,#e3e3e3);border-radius:6px;width:100%}.payment-compact-flat{border:0;background:0 0;width:100%}.payment-compact-flat .card-body{padding:0}.payment-step-surface{position:relative}.single-step-overlay{position:absolute;inset:0;background:rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;z-index:5}.payment-options{display:-ms-grid;display:grid;gap:0;border:1px solid var(--ec-border,#e3e3e3);border-radius:6px;overflow:visible;background:var(--ec-surface,#fff);width:100%}.payment-option{display:-ms-grid;display:grid;-ms-grid-columns:auto 1fr auto;grid-template-columns:auto 1fr auto;gap:.75rem;padding:.75rem;border-top:1px solid var(--ec-border,#e3e3e3);cursor:pointer;align-items:center;background:var(--ec-surface,#fff);transition:border-color .2s,box-shadow .2s;margin:0}.payment-option:first-child{border-top:0}.payment-option.is-selected{border-color:var(--ec-accent,#2563eb);background:var(--ec-accent-soft,#f5f8ff);box-shadow:inset 0 0 0 1px var(--ec-accent,#2563eb)}.payment-option.is-disabled{opacity:.6;cursor:not-allowed}.payment-option-input{margin-top:.1rem}.payment-option-title{font-weight:600}.payment-option-info{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:0}.payment-option-adjustment{color:#dc3545;font-weight:700;white-space:nowrap}.payment-option-logos{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.payment-option-logo{width:44px;height:28px;-o-object-fit:contain;object-fit:contain;background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 1px 2px rgba(15,23,42,.08);padding:3px;filter:saturate(.96) contrast(1.02)}.payment-option-more{width:44px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:6px;font-size:12px;font-weight:600;color:#475569;box-shadow:0 1px 2px rgba(15,23,42,.08)}.payment-tooltip-logos{display:flex;gap:.5rem;align-items:center;padding:.25rem .4rem}.payment-tooltip-logo{width:44px;height:28px;-o-object-fit:contain;object-fit:contain;background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 1px 2px rgba(15,23,42,.08);padding:3px}.payment-option-details{border-top:1px solid var(--ec-border,#e3e3e3);padding:1rem;background:var(--ec-surface-alt,#fafafa)}.payment-option-details .method-container{padding:0 .5rem .5rem}.payment-option-details .container,.payment-option-details .row{margin-left:0;margin-right:0}.payment-option-details .px-5{padding-left:.75rem!important;padding-right:.75rem!important}.payment-option-details .end-button{padding:0 .75rem .5rem}.payment-option-details .instructions-text,.payment-option-details .instructions-title{padding-left:.75rem;padding-right:.75rem}.payment-compact-flat .comprar{font-size:14px;padding:8px 16px;border-radius:6px}.comprar{background:var(--ec-accent,#000);color:var(--ec-accent-contrast,#fff);display:inline-block;font-weight:600;text-decoration:none;text-transform:uppercase;border:0}.payment-lock-message{background:#fff7e6;border:1px solid #f0c36d;color:#8a5a00;padding:.75rem 1rem;border-radius:8px;margin-bottom:.75rem;font-weight:600}.payment-options.is-locked{opacity:.55;filter:grayscale(.2)}"]
159
167
  })
160
168
  ], PaymentEcSingleComponent);
161
169
  return PaymentEcSingleComponent;
162
170
  }());
163
171
  export { PaymentEcSingleComponent };
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1lYy1zaW5nbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9jaGVja291dC1lYy9wYXltZW50LWVjLXNpbmdsZS9wYXltZW50LWVjLXNpbmdsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU92RTtJQUFBO1FBQ2Esb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLHlCQUFvQixHQUFrQixJQUFJLENBQUM7UUFDM0MsdUJBQWtCLEdBQWtCLElBQUksQ0FBQztRQUN6QyxrQkFBYSxHQUFRLElBQUksQ0FBQztRQUMxQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QiwwQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFDOUIsWUFBTyxHQUFVLEVBQUUsQ0FBQztRQUNwQixnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFDbEMscUJBQWdCLEdBQTZCLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSyxDQUFDO1FBQ3pELFNBQUksR0FBOEIsY0FBTSxPQUFBLEtBQUssRUFBTCxDQUFLLENBQUM7UUFDOUMseUJBQW9CLEdBQThCLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSyxDQUFDO1FBQzlELHFCQUFnQixHQUE4QixjQUFNLE9BQUEsS0FBSyxFQUFMLENBQUssQ0FBQztRQUMxRCx1QkFBa0IsR0FBOEIsY0FBTSxPQUFBLEtBQUssRUFBTCxDQUFLLENBQUM7UUFDNUQsb0JBQWUsR0FBOEIsY0FBTSxPQUFBLEtBQUssRUFBTCxDQUFLLENBQUM7UUFDekQsYUFBUSxHQUE4QixjQUFNLE9BQUEsS0FBSyxFQUFMLENBQUss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S0FBSyxFQUFFO3dFQUE2RDtJQUM1RDtRQUFSLEtBQUssRUFBRTsyREFBMkM7SUFDMUM7UUFBUixLQUFLLEVBQUU7Z0VBQWdEO0lBQy9DO1FBQVIsS0FBSyxFQUFFO2lFQUFxRDtJQUNwRDtRQUFSLEtBQUssRUFBRTs2REFBaUM7SUFDaEM7UUFBUixLQUFLLEVBQUU7d0VBQXlCO0lBRXZCO1FBQVQsTUFBTSxFQUFFO2tFQUF3QztJQUN2QztRQUFULE1BQU0sRUFBRTtvRUFBMEM7SUFDekM7UUFBVCxNQUFNLEVBQUU7Z0VBQXVDO0lBbkN2Qyx3QkFBd0I7UUFMcEMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLHVCQUF1QjtZQUNqQyx5OG5CQUFpRDs7U0FFcEQsQ0FBQztPQUNXLHdCQUF3QixDQXdDcEM7SUFBRCwrQkFBQztDQUFBLEFBeENELElBd0NDO1NBeENZLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLXBheW1lbnQtZWMtc2luZ2xlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGF5bWVudC1lYy1zaW5nbGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3BheW1lbnQtZWMtc2luZ2xlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUGF5bWVudEVjU2luZ2xlQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBsb2FkaW5nSW50ZXJuYWwgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBsb2FkaW5nSW50ZXJuYWxNcCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHBheW1lbnRMb2NrZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSB2YWxpZGF0aW5nTWV0aG9kQ29kZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgc2VsZWN0ZWRNZXRob2RDb2RlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSBjdXJyZW50TWV0aG9kOiBhbnkgPSBudWxsO1xuICAgIEBJbnB1dCgpIHNob3dNZXRob2RFcnJvciA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGJhbGFuY2VNZXRob2RSZWplY3RlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIG1ldGhvZHM6IGFueVtdID0gW107XG4gICAgQElucHV0KCkgdG90YWxBbW91bnQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIGlzTWV0aG9kRGlzYWJsZWQ6IChtZXRob2Q6IGFueSkgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzTVA6IChjb2RlOiBzdHJpbmcpID0+IGJvb2xlYW4gPSAoKSA9PiBmYWxzZTtcbiAgICBASW5wdXQoKSBpc01QVGFyamV0YURlQ3JlZGl0bzogKGNvZGU6IHN0cmluZykgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzUmVkaXJlY3RSZWRzeXM6IChjb2RlOiBzdHJpbmcpID0+IGJvb2xlYW4gPSAoKSA9PiBmYWxzZTtcbiAgICBASW5wdXQoKSBpc1JlZGlyZWN0Q2VjYUJhbms6IChjb2RlOiBzdHJpbmcpID0+IGJvb2xlYW4gPSAoKSA9PiBmYWxzZTtcbiAgICBASW5wdXQoKSBpc1BleVBhbEV4cHJlc3M6IChjb2RlOiBzdHJpbmcpID0+IGJvb2xlYW4gPSAoKSA9PiBmYWxzZTtcbiAgICBASW5wdXQoKSBpc01vYmJleDogKGNvZGU6IHN0cmluZykgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzQmFuY2FyZDogKGNvZGU6IHN0cmluZykgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzRGVjaWRpcjogKGNvZGU6IHN0cmluZykgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzTWV0aG9kT2ZmbGluZTogKGNvZGU6IHN0cmluZykgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzQ3VscWk6IChjb2RlOiBzdHJpbmcpID0+IGJvb2xlYW4gPSAoKSA9PiBmYWxzZTtcbiAgICBASW5wdXQoKSBpc0NhdGFzdHJvOiAoY29kZTogc3RyaW5nKSA9PiBib29sZWFuID0gKCkgPT4gZmFsc2U7XG4gICAgQElucHV0KCkgaXNCYW1ib286IChjb2RlOiBzdHJpbmcpID0+IGJvb2xlYW4gPSAoKSA9PiBmYWxzZTtcbiAgICBASW5wdXQoKSBpc0JhbmtUcmFuc2ZlcjogKGNvZGU6IHN0cmluZykgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzUGxhY2VUb1BheTogKGNvZGU6IHN0cmluZykgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzQmFsYW5jZUluQWNjb3VudDogKGNvZGU6IHN0cmluZykgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlO1xuICAgIEBJbnB1dCgpIGdldFBLOiAobWV0aG9kOiBhbnkpID0+IHN0cmluZyA9ICgpID0+ICcnO1xuICAgIEBJbnB1dCgpIGdldFBLQ3VscWk6IChtZXRob2Q6IGFueSkgPT4gc3RyaW5nID0gKCkgPT4gJyc7XG4gICAgQElucHV0KCkgZ2V0SW1hZ2VVcmw6ICgoaW1hZ2U6IGFueSkgPT4gc3RyaW5nKSB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIGFsbERhdGE6ICgpID0+IGFueSA9ICgpID0+ICh7fSk7XG4gICAgQElucHV0KCkgcGF5bWVudFNlcnZpY2VJbnN0OiBhbnk7XG5cbiAgICBAT3V0cHV0KCkgc2VsZWN0TWV0aG9kID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHZlcmlmeVZhbGlkYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHNldExvYWRpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBnZXRWaXNpYmxlSW1hZ2VzID0gKGltYWdlczogYW55W10gPSBbXSkgPT4gaW1hZ2VzLnNsaWNlKDAsIGltYWdlcy5sZW5ndGggPiA0ID8gMyA6IDQpO1xuXG4gICAgZ2V0SGlkZGVuSW1hZ2VzID0gKGltYWdlczogYW55W10gPSBbXSkgPT4gKGltYWdlcy5sZW5ndGggPiA0ID8gaW1hZ2VzLnNsaWNlKDMpIDogW10pO1xufVxuIl19
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1lYy1zaW5nbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9jaGVja291dC1lYy9wYXltZW50LWVjLXNpbmdsZS9wYXltZW50LWVjLXNpbmdsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVF2RTtJQUFBO1FBQ2Esb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLHlCQUFvQixHQUFrQixJQUFJLENBQUM7UUFDM0MsdUJBQWtCLEdBQWtCLElBQUksQ0FBQztRQUN6QyxrQkFBYSxHQUFRLElBQUksQ0FBQztRQUMxQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QiwwQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFDOUIsWUFBTyxHQUFVLEVBQUUsQ0FBQztRQUNwQixnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFDbEMsc0NBQWlDLEdBQTJELGNBQU0sT0FBQSxJQUFJLEVBQUosQ0FBSSxDQUFDO1FBQ3ZHLDBDQUFxQyxHQUFnQyxjQUFNLE9BQUEsRUFBRSxFQUFGLENBQUUsQ0FBQztRQUM5RSxxQkFBZ0IsR0FBNkIsY0FBTSxPQUFBLEtBQUssRUFBTCxDQUFLLENBQUM7UUFDekQsU0FBSSxHQUE4QixjQUFNLE9BQUEsS0FBSyxFQUFMLENBQUssQ0FBQztRQUM5Qyx5QkFBb0IsR0FBOEIsY0FBTSxPQUFBLEtBQUssRUFBTCxDQUFLLENBQUM7UUFDOUQscUJBQWdCLEdBQThCLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSyxDQUFDO1FBQzFELHVCQUFrQixHQUE4QixjQUFNLE9BQUEsS0FBSyxFQUFMLENB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MEQ7SUFDekQ7UUFBUixLQUFLLEVBQUU7NkRBQWtEO0lBQ2pEO1FBQVIsS0FBSyxFQUFFO2dFQUFxRDtJQUNwRDtRQUFSLEtBQUssRUFBRTs4REFBbUQ7SUFDbEQ7UUFBUixLQUFLLEVBQUU7b0VBQXlEO0lBQ3hEO1FBQVIsS0FBSyxFQUFFO2tFQUF1RDtJQUN0RDtRQUFSLEtBQUssRUFBRTt3RUFBNkQ7SUFDNUQ7UUFBUixLQUFLLEVBQUU7MkRBQTJDO0lBQzFDO1FBQVIsS0FBSyxFQUFFO2dFQUFnRDtJQUMvQztRQUFSLEtBQUssRUFBRTtpRUFBcUQ7SUFDcEQ7UUFBUixLQUFLLEVBQUU7NkRBQWlDO0lBQ2hDO1FBQVIsS0FBSyxFQUFFO3dFQUF5QjtJQUV2QjtRQUFULE1BQU0sRUFBRTtrRUFBd0M7SUFDdkM7UUFBVCxNQUFNLEVBQUU7b0VBQTBDO0lBQ3pDO1FBQVQsTUFBTSxFQUFFO2dFQUF1QztJQXJDdkMsd0JBQXdCO1FBTHBDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSx1QkFBdUI7WUFDakMsKzNwQkFBaUQ7O1NBRXBELENBQUM7T0FDVyx3QkFBd0IsQ0EwQ3BDO0lBQUQsK0JBQUM7Q0FBQSxBQTFDRCxJQTBDQztTQTFDWSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGF5bWVudE1ldGhvZEFkanVzdG1lbnRQcmV2aWV3IH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9jaGVja291dC1kYXRhJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtcGF5bWVudC1lYy1zaW5nbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wYXltZW50LWVjLXNpbmdsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcGF5bWVudC1lYy1zaW5nbGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQYXltZW50RWNTaW5nbGVDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGxvYWRpbmdJbnRlcm5hbCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGxvYWRpbmdJbnRlcm5hbE1wID0gZmFsc2U7XG4gICAgQElucHV0KCkgcGF5bWVudExvY2tlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHZhbGlkYXRpbmdNZXRob2RDb2RlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSBzZWxlY3RlZE1ldGhvZENvZGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIGN1cnJlbnRNZXRob2Q6IGFueSA9IG51bGw7XG4gICAgQElucHV0KCkgc2hvd01ldGhvZEVycm9yID0gZmFsc2U7XG4gICAgQElucHV0KCkgYmFsYW5jZU1ldGhvZFJlamVjdGVkID0gZmFsc2U7XG4gICAgQElucHV0KCkgbWV0aG9kczogYW55W10gPSBbXTtcbiAgICBASW5wdXQoKSB0b3RhbEFtb3VudDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgZ2V0UGF5bWVudE1ldGhvZEFkanVzdG1lbnRQcmV2aWV3OiAobWV0aG9kOiBhbnkpID0+IFBheW1lbnRNZXRob2RBZGp1c3RtZW50UHJldmlldyB8IG51bGwgPSAoKSA9PiBudWxsO1xuICAgIEBJbnB1dCgpIGdldFBheW1lbnRNZXRob2RBZGp1c3RtZW50UHJldmlld1NpZ246ICh2YWx1ZTogbnVtYmVyKSA9PiAnKycgfCAnJyA9ICgpID0+ICcnO1xuICAgIEBJbnB1dCgpIGlzTWV0aG9kRGlzYWJsZWQ6IChtZXRob2Q6IGFueSkgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzTVA6IChjb2RlOiBzdHJpbmcpID0+IGJvb2xlYW4gPSAoKSA9PiBmYWxzZTtcbiAgICBASW5wdXQoKSBpc01QVGFyamV0YURlQ3JlZGl0bzogKGNvZGU6IHN0cmluZykgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzUmVkaXJlY3RSZWRzeXM6IChjb2RlOiBzdHJpbmcpID0+IGJvb2xlYW4gPSAoKSA9PiBmYWxzZTtcbiAgICBASW5wdXQoKSBpc1JlZGlyZWN0Q2VjYUJhbms6IChjb2RlOiBzdHJpbmcpID0+IGJvb2xlYW4gPSAoKSA9PiBmYWxzZTtcbiAgICBASW5wdXQoKSBpc1BleVBhbEV4cHJlc3M6IChjb2RlOiBzdHJpbmcpID0+IGJvb2xlYW4gPSAoKSA9PiBmYWxzZTtcbiAgICBASW5wdXQoKSBpc01vYmJleDogKGNvZGU6IHN0cmluZykgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzQmFuY2FyZDogKGNvZGU6IHN0cmluZykgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzRGVjaWRpcjogKGNvZGU6IHN0cmluZykgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzTWV0aG9kT2ZmbGluZTogKGNvZGU6IHN0cmluZykgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzQ3VscWk6IChjb2RlOiBzdHJpbmcpID0+IGJvb2xlYW4gPSAoKSA9PiBmYWxzZTtcbiAgICBASW5wdXQoKSBpc0NhdGFzdHJvOiAoY29kZTogc3RyaW5nKSA9PiBib29sZWFuID0gKCkgPT4gZmFsc2U7XG4gICAgQElucHV0KCkgaXNCYW1ib286IChjb2RlOiBzdHJpbmcpID0+IGJvb2xlYW4gPSAoKSA9PiBmYWxzZTtcbiAgICBASW5wdXQoKSBpc0JhbmtUcmFuc2ZlcjogKGNvZGU6IHN0cmluZykgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzUGxhY2VUb1BheTogKGNvZGU6IHN0cmluZykgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzQmFsYW5jZUluQWNjb3VudDogKGNvZGU6IHN0cmluZykgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlO1xuICAgIEBJbnB1dCgpIGdldFBLOiAobWV0aG9kOiBhbnkpID0+IHN0cmluZyA9ICgpID0+ICcnO1xuICAgIEBJbnB1dCgpIGdldFBLQ3VscWk6IChtZXRob2Q6IGFueSkgPT4gc3RyaW5nID0gKCkgPT4gJyc7XG4gICAgQElucHV0KCkgZ2V0SW1hZ2VVcmw6ICgoaW1hZ2U6IGFueSkgPT4gc3RyaW5nKSB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIGFsbERhdGE6ICgpID0+IGFueSA9ICgpID0+ICh7fSk7XG4gICAgQElucHV0KCkgcGF5bWVudFNlcnZpY2VJbnN0OiBhbnk7XG5cbiAgICBAT3V0cHV0KCkgc2VsZWN0TWV0aG9kID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHZlcmlmeVZhbGlkYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHNldExvYWRpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBnZXRWaXNpYmxlSW1hZ2VzID0gKGltYWdlczogYW55W10gPSBbXSkgPT4gaW1hZ2VzLnNsaWNlKDAsIGltYWdlcy5sZW5ndGggPiA0ID8gMyA6IDQpO1xuXG4gICAgZ2V0SGlkZGVuSW1hZ2VzID0gKGltYWdlczogYW55W10gPSBbXSkgPT4gKGltYWdlcy5sZW5ndGggPiA0ID8gaW1hZ2VzLnNsaWNlKDMpIDogW10pO1xufVxuIl19
@@ -243,7 +243,7 @@ var ShipmentEcComponent = /** @class */ (function (_super) {
243
243
  });
244
244
  }); };
245
245
  _this.selectSingleOption = function (option) { return __awaiter(_this, void 0, void 0, function () {
246
- var contractData, initialContractName, legacyContractData, contractType, contractName, shippingMethodContract, shippingMethodBranchCode, sanitizedContractData, requestPayload, stepData, methodLabel, contractLabel, groupLabel, label, detail, error_1;
246
+ var contractData, initialContractName, legacyContractData, contractType, contractName, shippingMethodContract, shippingMethodBranchCode, sanitizedContractData, requestPayload, stepData, applied, methodLabel, contractLabel, groupLabel, label, detail, error_1;
247
247
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
248
248
  return __generator(this, function (_k) {
249
249
  switch (_k.label) {
@@ -283,7 +283,9 @@ var ShipmentEcComponent = /** @class */ (function (_super) {
283
283
  stepData = __assign(__assign({}, requestPayload), { originalPrice: this.shippingPriceDisplay.normalizePriceValue(contractData.originalPrice), method_name: (_e = option.method) === null || _e === void 0 ? void 0 : _e.name, contract_name: contractName });
284
284
  return [4 /*yield*/, this.shipmentService.setShippingOption(requestPayload, stepData)];
285
285
  case 4:
286
- _k.sent();
286
+ applied = _k.sent();
287
+ if (!applied)
288
+ return [2 /*return*/];
287
289
  methodLabel = ((_f = option.method) === null || _f === void 0 ? void 0 : _f.name) ? this.translateService.instant(option.method.name)
288
290
  : '';
289
291
  contractLabel = ((_g = option.contract) === null || _g === void 0 ? void 0 : _g.name) ? this.translateService.instant(option.contract.name)
@@ -480,4 +482,4 @@ var ShipmentEcComponent = /** @class */ (function (_super) {
480
482
  return ShipmentEcComponent;
481
483
  }(ComponentHelper));
482
484
  export { ShipmentEcComponent };
483
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpcG1lbnQtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9jaGVja291dC1lYy9zaGlwbWVudC1lYy9zaGlwbWVudC1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQVE1RjtJQUF5Qyx1Q0FBZTtJQXlCcEQsNkJBQW1CLGVBQWdDLEVBQVksYUFBMkIsRUFDL0UsZUFBZ0MsRUFBUyxlQUFnQyxFQUN4RSxnQkFBa0MsRUFDbEMsb0JBQWlEO1FBSDdELFlBSUksaUJBQU8sU0FFVjtRQU5rQixxQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBWSxtQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMvRSxxQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBUyxxQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDeEUsc0JBQWdCLEdB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LEdBQUcsb0JBQUUsWUFBWSwwQ0FBRyxDQUFDLDJDQUFHLE1BQU0sMENBQUUsSUFBSSxDQUFDO2dCQUNuRSxPQUFPLEVBQUUsWUFBWTthQUN4QixDQUFDLENBQUE7U0FBQSxDQUFDLENBQUM7SUFDUixDQUFDO0lBRU8sK0NBQWlCLEdBQXpCLFVBQTBCLFFBQW1DLEVBQUUsVUFBbUI7UUFDOUUsSUFBSSxRQUFRLEVBQUU7WUFDVixJQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDMUMsSUFBSSxVQUFVLEtBQUssaUJBQWlCO2dCQUFFLE9BQU8sb0JBQW9CLENBQUM7WUFDbEUsSUFBSSxVQUFVLEtBQUssZUFBZTtnQkFBRSxPQUFPLG1CQUFtQixDQUFDO1NBQ2xFO1FBQ0QsT0FBTyxVQUFVLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7Z0JBNVJtQyxlQUFlO2dCQUEyQixZQUFZO2dCQUM5RCxlQUFlO2dCQUEwQixlQUFlO2dCQUN0RCxnQkFBZ0I7Z0JBQ1osMkJBQTJCOztJQTFCcEQ7UUFBUixLQUFLLEVBQUU7d0RBQVM7SUFDUjtRQUFSLEtBQUssRUFBRTtvRUFBc0M7SUFDcEM7UUFBVCxNQUFNLEVBQUU7OERBQXlFO0lBQ3hFO1FBQVQsTUFBTSxFQUFFOzREQUF3QztJQUx4QyxtQkFBbUI7UUFOL0IsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQiw0L1BBQTJDO1lBRTNDLFNBQVMsRUFBRSxDQUFDLGVBQWUsQ0FBQzs7U0FDL0IsQ0FBQztPQUNXLG1CQUFtQixDQXVUL0I7SUFBRCwwQkFBQztDQUFBLEFBdlRELENBQXlDLGVBQWUsR0F1VHZEO1NBdlRZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy1jb21wYXQvb3BlcmF0b3IvbWFwJztcbmltcG9ydCB7IENvbXBvbmVudEhlbHBlciB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlcic7XG5pbXBvcnQgeyBDaGVja291dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jaGVja291dC9jaGVja291dC5zZXJ2aWNlJztcbmltcG9ydCB7IFNoaXBtZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NoZWNrb3V0L3NoaXBtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcHJvZHVjdHMvcHJvZHVjdHMuc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91dGlscy90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFNoaXBwaW5nUHJpY2VEaXNwbGF5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3NoaXBwaW5nLXByaWNlLWRpc3BsYXkuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLXNoaXBtZW50LWVjJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2hpcG1lbnQtZWMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NoaXBtZW50LWVjLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbU2hpcG1lbnRTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBTaGlwbWVudEVjQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50SGVscGVyIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gICAgQElucHV0KCkgc3RlcF9pZDtcbiAgICBASW5wdXQoKSBjb21wYWN0U2hpcG1lbnRWaWV3OiBib29sZWFuID0gZmFsc2U7XG4gICAgQE91dHB1dCgpIHN1bW1hcnlDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHsgbGFiZWw/OiBzdHJpbmc7IGRldGFpbD86IHN0cmluZyB9PigpO1xuICAgIEBPdXRwdXQoKSBhZHZhbmNlU3RlcCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBwdWJsaWMgbWV0aG9kc19saXN0OiBhbnlbXTtcbiAgICBwdWJsaWMgbWV0aG9kU2VsZWN0OiBhbnk7XG4gICAgcHVibGljIGxvYWRpbmdfaW50ZXJuYWwgPSBmYWxzZTtcbiAgICBwdWJsaWMgcG9pbnRzOiBhbnlbXSA9IFtdO1xuICAgIHB1YmxpYyBzZWxlY3RlZF9maW5hbDtcbiAgICBwdWJsaWMgY29zdG9zID0gbnVsbFxuICAgIHB1YmxpYyBjb3N0cyA9ICBbXVxuICAgIHB1YmxpYyBtb3JlSW5mb0luTWV0aG9kOiBhbnlcbiAgICBidXR0b25zRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIGxhc3RBZGRyZXNzS2V5OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBwdWJsaWMgc2hpcG1lbnRFcnJvcktleTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgcHVibGljIHNpbmdsZU9wdGlvbnM6IGFueVtdID0gW107XG4gICAgcHVibGljIGxvYWRpbmdfcHJlbG9hZCA9IGZhbHNlO1xuICAgIHB1YmxpYyBzZWxlY3RlZE9wdGlvbklkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBwdWJsaWMgdW5hdmFpbGFibGVNZXRob2RzOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiA9IHt9O1xuICAgIHB1YmxpYyBncm91cGVkT3B0aW9uczogeyBrZXk6IHN0cmluZzsgbGFiZWw6IHN0cmluZzsgb3B0aW9uczogYW55W10gfVtdID0gW107XG5cbiAgICBjb250cmFjdHMgPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBzaGlwbWVudFNlcnZpY2U6IFNoaXBtZW50U2VydmljZSwgcHJvdGVjdGVkIHRvYXN0clNlcnZpY2U6IFRvYXN0U2VydmljZSxcbiAgICAgICAgcHVibGljIHByb2R1Y3RzU2VydmljZTogUHJvZHVjdHNTZXJ2aWNlLCBwdWJsaWMgY2hlY2tvdXRTZXJ2aWNlOiBDaGVja291dFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBzaGlwcGluZ1ByaWNlRGlzcGxheTogU2hpcHBpbmdQcmljZURpc3BsYXlTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZWNPbkNvbnN0cnVjdCgpXG4gICAgfVxuXG4gICAgZW1pdFJlc3VsdCA9IChtZXRob2RfbmFtZSwgY29udHJhY3RfZGF0YSkgPT4ge1xuICAgICAgICBjb250cmFjdF9kYXRhID0ge1xuICAgICAgICAgICAgLi4uY29udHJhY3RfZGF0YSxcbiAgICAgICAgICAgIHNoaXBwaW5nX21ldGhvZF9jb250cmFjdDogbWV0aG9kX25hbWUgKyAnXycgKyBjb250cmFjdF9kYXRhLm5hbWUsXG4gICAgICAgICAgICBzaGlwcGluZ19tZXRob2RfYnJhbmNoX2NvZGU6IG1ldGhvZF9uYW1lID09IFwiYnJhbmNoX2RlbGl2ZXJ5XCIgPyBjb250cmFjdF9kYXRhLnN1Y3Vyc2FsX2lkIDogY29udHJhY3RfZGF0YS5uYW1lLFxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnNoaXBtZW50U2VydmljZS5zZXRDb250cmFjdChjb250cmFjdF9kYXRhKTtcbiAgICB9XG5cbiAgICB2ZXJpZnlWYWxpZGF0ZSA9IChjb250cmFjdCwgZGF0YSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jb21wYWN0U2hpcG1lbnRWaWV3IHx8ICF0aGlzLmNvc3RzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZW1pdFJlc3VsdChjb250cmFjdCwgZGF0YSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuY29zdHMuZm9yRWFjaChjb3N0ID0+IGNvc3QuY29udHJhY3RzLmZvckVhY2goY28gPT4gY28uc2VsZWN0ZWQgPSBmYWxzZSkpXG4gICAgICAgICAgICB0aGlzLmNvc3RzLmZpbmQoY29zdCA9PiBjb3N0Lm5hbWUgPT0gY29udHJhY3QpLmNvbnRyYWN0cy5maW5kKGNvbnRyYSA9PiBjb250cmEubmFtZSA9PSBkYXRhLm5hbWUpLnNlbGVjdGVkID0gdHJ1ZVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJlcnJvciBhbCBidXNjYXIgY29udHJhdG9cIiwgZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmVtaXRSZXN1bHQoY29udHJhY3QsIGRhdGEpO1xuICAgIH07XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5zaGlwbWVudFNlcnZpY2UuaW5pdGlhbGl6ZSh0aGlzLnN0ZXBfaWQpO1xuICAgICAgICBpZiAoIXRoaXMuY29tcGFjdFNoaXBtZW50Vmlldykge1xuICAgICAgICAgICAgdGhpcy5zaGlwbWVudFNlcnZpY2UuZ2V0U2hpcG1lbnRNZXRob2RzKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jaGVja291dFNlcnZpY2UuYXNvY2lhdGVkRGF0YSQuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICAgICAgdGhpcy5jb3N0b3MgPSBkYXRhICYmIGRhdGEuZmluZCh2YWx1ZSA9PiB2YWx1ZS50eXBlID09IFwic2hpcG1lbnRcIikgfHwgbnVsbFxuICAgICAgICB9KVxuICAgICAgICB0aGlzLnNoaXBtZW50U2VydmljZS5jb3N0cy5zdWJzY3JpYmUoY29zID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbXBhY3RTaGlwbWVudFZpZXcpIHJldHVybjtcbiAgICAgICAgICAgIHRoaXMuY29zdHMgPSBjb3MubWFwKGNvc3QgPT4geyByZXR1cm4geyAuLi5jb3N0LCBjb250cmFjdHM6IGNvc3QuY29udHJhY3RzLm1hcChjbyA9PiB7IHJldHVybiB7IC4uLmNvLCBzZWxlY3RlZDogZmFsc2UgfSB9ICkgfSB9KVxuICAgICAgICAgICAgaWYgKHRoaXMuY29zdHMubGVuZ3RoICYmIHRoaXMuY29zdHNbMF0/Lm5hbWUgJiYgdGhpcy5jb3N0c1swXT8uY29udHJhY3RzWzBdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52ZXJpZnlWYWxpZGF0ZSh0aGlzLmNvc3RzWzBdLm5hbWUsIHRoaXMuY29zdHNbMF0uY29udHJhY3RzWzBdKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICB0aGlzLnNoaXBtZW50U2VydmljZS5lcnJvciQuc3Vic2NyaWJlKGVycm9yS2V5ID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hpcG1lbnRFcnJvcktleSA9IGVycm9yS2V5O1xuICAgICAgICB9KVxuICAgICAgICB0aGlzLm1vcmVJbmZvSW5NZXRob2QgPSB0cnVlIC8vU2hpcG1lbnRTZXJ2aWNlLm1vcmVJbmZvSW5NZXRob2Q7XG4gICAgICAgIHRoaXMuY2hlY2tvdXRTZXJ2aWNlLnN0YXRlJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmNvbXBhY3RTaGlwbWVudFZpZXcpIHJldHVybjtcbiAgICAgICAgICAgIGNvbnN0IGFkZHJlc3NEYXRhID0gdGhpcy5jaGVja291dFNlcnZpY2UuZ2V0U3RlcERhdGEoJ2FkZHJlc3MnKTtcbiAgICAgICAgICAgIGlmICghYWRkcmVzc0RhdGEpIHJldHVybjtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IEpTT04uc3RyaW5naWZ5KGFkZHJlc3NEYXRhKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmxhc3RBZGRyZXNzS2V5ID09PSBrZXkpIHJldHVybjtcbiAgICAgICAgICAgIHRoaXMubGFzdEFkZHJlc3NLZXkgPSBrZXk7XG4gICAgICAgICAgICB0aGlzLnNoaXBtZW50U2VydmljZS5yZXN0YXJ0U3RlcCgpO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbklkID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuc3VtbWFyeUNoYW5nZS5lbWl0KHt9KTtcbiAgICAgICAgICAgIHRoaXMucHJlbG9hZFNpbmdsZU9wdGlvbnMoKTtcbiAgICAgICAgICAgIHRoaXMuY29zdHMgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuZ3JvdXBlZE9wdGlvbnMgPSBbXTtcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5lY09uSW5pdCgpXG5cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbXBhY3RTaGlwbWVudFZpZXcpIHtcbiAgICAgICAgICAgIHRoaXMuc2hpcG1lbnRTZXJ2aWNlLmdldFNoaXBtZW50TWV0aG9kcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9UcmFkdWNpYmxlID0gKG5hbWUpID0+IG5hbWUucmVwbGFjZSgvXy9nLCAnLScpO1xuXG4gICAgZGVsZXRlVVBTID0gKG1ldGhvZHMpID0+IG1ldGhvZHMuZmlsdGVyKG1ldGhvZCA9PiBtZXRob2QubmFtZSAhPSAnVVBTJyk7XG5cbiAgICAgc2V0TWV0aG9kID0gKG1ldGhvZCkgPT4ge1xuICAgICAgICAgdGhpcy5tZXRob2RTZWxlY3QgPSBtZXRob2Q7XG4gICAgICAgICB0aGlzLmxvYWRpbmdfaW50ZXJuYWwgPSB0cnVlO1xuICAgICAgICAgdGhpcy5zaGlwbWVudEVycm9yS2V5ID0gbnVsbDtcbiAgICAgICAgIHRoaXMuc2hpcG1lbnRTZXJ2aWNlLnJlc3RhcnRTdGVwKCk7XG5cbiAgICAgICAgIC8vIERlc2hhYmlsaXRhciB0b2RvcyBsb3MgYm90b25lc1xuICAgICAgICAgdGhpcy5idXR0b25zRGlzYWJsZWQgPSB0cnVlO1xuXG4gICAgIC8vICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICB0aGlzLnNoaXBtZW50U2VydmljZS5zZXRNZXRob2QobWV0aG9kLmNvZGUpLnRoZW4ocmVzID0+IHtcbiAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nX2ludGVybmFsID0gZmFsc2U7XG5cbiAgICAgICAgICAgICAgICAgLy8gSGFiaWxpdGFyIHRvZG9zIGxvcyBib3RvbmVzXG4gICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge3RoaXMuYnV0dG9uc0Rpc2FibGVkID0gZmFsc2U7fSwgMTAwMCk7XG4gICAgICAgICAgICAgfSkuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAvLyBFbiBjYXNvIGRlIGVycm9yLCB0YW1iacOpbiBoYWJpbGl0YXIgbG9zIGJvdG9uZXNcbiAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nX2ludGVybmFsID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgIHRoaXMuYnV0dG9uc0Rpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgIHRoaXMuc2hpcG1lbnRFcnJvcktleSA9ICdvcGVyYXRpb24tZXJyb3InO1xuICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3I6XCIsIGVycm9yKTtcbiAgICAgICAgICAgICB9KTtcbiAgICAgLy8gICAgIH0sIDEwMDApO1xuICAgICB9XG5cbiAgICAgcHJlbG9hZFNpbmdsZU9wdGlvbnMgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICB0aGlzLmxvYWRpbmdfcHJlbG9hZCA9IHRydWU7XG4gICAgICAgICB0aGlzLnNpbmdsZU9wdGlvbnMgPSBbXTtcbiAgICAgICAgIHRoaXMuZ3JvdXBlZE9wdGlvbnMgPSBbXTtcbiAgICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25JZCA9IG51bGw7XG4gICAgICAgICB0aGlzLnVuYXZhaWxhYmxlTWV0aG9kcyA9IHt9O1xuICAgICAgICAgdGhpcy5zaGlwbWVudEVycm9yS2V5ID0gbnVsbDtcbiAgICAgICAgIGNvbnN0IG1ldGhvZE9wdGlvbnMgPSBhd2FpdCB0aGlzLnNoaXBtZW50U2VydmljZS5nZXRTaGlwcGluZ09wdGlvbnMoKTtcbiAgICAgICAgIGlmICghbWV0aG9kT3B0aW9ucyB8fCAhbWV0aG9kT3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgICB0aGlzLmxvYWRpbmdfcHJlbG9hZCA9IGZhbHNlO1xuICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgIH1cbiAgICAgICAgIGxldCBvcHRpb25JbmRleCA9IDA7XG4gICAgICAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIG1ldGhvZE9wdGlvbnMpIHtcbiAgICAgICAgICAgICBjb25zdCBtZXRob2QgPSBlbnRyeT8ubWV0aG9kO1xuICAgICAgICAgICAgIGlmICghbWV0aG9kIHx8IG1ldGhvZC5uYW1lID09PSAnVVBTJykgY29udGludWU7XG4gICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IGVudHJ5Py5vcHRpb25zIHx8IFtdO1xuICAgICAgICAgICAgIGxldCBoYXNDb250cmFjdHMgPSBmYWxzZTtcbiAgICAgICAgICAgICBvcHRpb25zLmZvckVhY2gob3B0aW9uID0+IHtcbiAgICAgICAgICAgICAgICAgY29uc3QgY29udHJhY3RzID0gb3B0aW9uPy5jb250cmFjdHMgfHwgW107XG4gICAgICAgICAgICAgICAgIGlmICghY29udHJhY3RzLmxlbmd0aCkgcmV0dXJuO1xuICAgICAgICAgICAgICAgICBoYXNDb250cmFjdHMgPSB0cnVlO1xuICAgICAgICAgICAgICAgICBjb250cmFjdHMuZm9yRWFjaChjb250cmFjdCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICBjb25zdCBub3JtYWxpemVkQ29udHJhY3QgPSB7IC4uLmNvbnRyYWN0IH07XG4gICAgICAgICAgICAgICAgICAgICBpZiAoIW5vcm1hbGl6ZWRDb250cmFjdC5jb250cmFjdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWRDb250cmFjdC5jb250cmFjdCA9IG9wdGlvbi5uYW1lO1xuICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgb3B0aW9uSW5kZXggKz0gMTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaW5nbGVPcHRpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBgJHttZXRob2QuY29kZX0tJHtvcHRpb24ubmFtZX0tJHtjb250cmFjdC5uYW1lfS0ke29wdGlvbkluZGV4fWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kLFxuICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3ROYW1lOiBvcHRpb24ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICBjb250cmFjdDogbm9ybWFsaXplZENvbnRyYWN0XG4gICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgaWYgKCFoYXNDb250cmFjdHMpIHtcbiAgICAgICAgICAgICAgICAgdGhpcy51bmF2YWlsYWJsZU1ldGhvZHNbbWV0aG9kLmNvZGVdID0gdHJ1ZTtcbiAgICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICAgICB0aGlzLmdyb3VwZWRPcHRpb25zID0gdGhpcy5idWlsZEdyb3VwZWRPcHRpb25zKHRoaXMuc2luZ2xlT3B0aW9ucyk7XG4gICAgICAgICBpZiAoIXRoaXMuc2luZ2xlT3B0aW9ucy5sZW5ndGggJiYgT2JqZWN0LmtleXModGhpcy51bmF2YWlsYWJsZU1ldGhvZHMpLmxlbmd0aCkge1xuICAgICAgICAgICAgIHRoaXMuc2hpcG1lbnRFcnJvcktleSA9ICdvcGVyYXRpb24tZXJyb3InO1xuICAgICAgICAgfVxuICAgICAgICAgdGhpcy5sb2FkaW5nX3ByZWxvYWQgPSBmYWxzZTtcbiAgICAgfVxuXG4gICAgc2VsZWN0U2luZ2xlT3B0aW9uID0gYXN5bmMgKG9wdGlvbikgPT4ge1xuICAgICAgICBpZiAoIW9wdGlvbikgcmV0dXJuO1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE9wdGlvbklkID09PSBvcHRpb24uaWQgJiYgIXRoaXMubG9hZGluZ19pbnRlcm5hbCkgcmV0dXJuO1xuICAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbklkID0gb3B0aW9uLmlkO1xuICAgICAgICAgdGhpcy5sb2FkaW5nX2ludGVybmFsID0gdHJ1ZTtcbiAgICAgICAgIHRoaXMuc2hpcG1lbnRFcnJvcktleSA9IG51bGw7XG4gICAgICAgICB0cnkge1xuICAgICAgICAgICAgbGV0IGNvbnRyYWN0RGF0YSA9IHsgLi4uKG9wdGlvbi5jb250cmFjdCB8fCB7fSkgfTtcbiAgICAgICAgICAgIGNvbnN0IGluaXRpYWxDb250cmFjdE5hbWUgPSBjb250cmFjdERhdGEubmFtZSB8fCBvcHRpb24uY29udHJhY3Q/Lm5hbWU7XG4gICAgICAgICAgICBpZiAodGhpcy5zaG91bGRFbnJpY2hGcm9tTGVnYWN5KG9wdGlvbikpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBsZWdhY3lDb250cmFjdERhdGEgPSBhd2FpdCB0aGlzLmdldExlZ2FjeUNvbnRyYWN0RGF0YShcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uLm1ldGhvZD8uY29kZSxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uLmNvc3ROYW1lLFxuICAgICAgICAgICAgICAgICAgICBpbml0aWFsQ29udHJhY3ROYW1lXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBpZiAobGVnYWN5Q29udHJhY3REYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRyYWN0RGF0YSA9IHsgLi4uY29udHJhY3REYXRhLCAuLi5sZWdhY3lDb250cmFjdERhdGEgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBjb250cmFjdFR5cGUgPSBjb250cmFjdERhdGEuY29udHJhY3QgfHwgb3B0aW9uLmNvc3ROYW1lO1xuICAgICAgICAgICAgY29uc3QgY29udHJhY3ROYW1lID0gY29udHJhY3REYXRhLm5hbWUgfHwgb3B0aW9uLmNvbnRyYWN0Py5uYW1lO1xuICAgICAgICAgICAgY29uc3Qgc2hpcHBpbmdNZXRob2RDb250cmFjdCA9IGAke29wdGlvbi5jb3N0TmFtZX1fJHtjb250cmFjdE5hbWV9YDtcbiAgICAgICAgICAgIGNvbnN0IHNoaXBwaW5nTWV0aG9kQnJhbmNoQ29kZSA9IG9wdGlvbi5jb3N0TmFtZSA9PT0gJ2JyYW5jaF9kZWxpdmVyeSdcbiAgICAgICAgICAgICAgICA/IChjb250cmFjdERhdGEuc3VjdXJzYWxfaWQgfHwgY29udHJhY3REYXRhLm51bWJlciB8fCBjb250cmFjdERhdGEuYnJhbmNoX3Byb3BlcnR5Py5udW1iZXIgfHwgY29udHJhY3ROYW1lKVxuICAgICAgICAgICAgICAgIDogY29udHJhY3ROYW1lO1xuICAgICAgICAgICAgY29uc3Qgc2FuaXRpemVkQ29udHJhY3REYXRhID0geyAuLi5jb250cmFjdERhdGEgfTtcbiAgICAgICAgICAgIGRlbGV0ZSBzYW5pdGl6ZWRDb250cmFjdERhdGEuYnJhbmNoX3Byb3BlcnR5O1xuICAgICAgICAgICAgZGVsZXRlIHNhbml0aXplZENvbnRyYWN0RGF0YS5vcmlnaW5hbFByaWNlO1xuICAgICAgICAgICAgZGVsZXRlIHNhbml0aXplZENvbnRyYWN0RGF0YS5vcHRpb247XG4gICAgICAgICAgICBjb25zdCByZXF1ZXN0UGF5bG9hZCA9IHtcbiAgICAgICAgICAgICAgICAuLi5zYW5pdGl6ZWRDb250cmFjdERhdGEsXG4gICAgICAgICAgICAgICAgc2hpcHBpbmdJZDogb3B0aW9uLm1ldGhvZC5jb2RlLFxuICAgICAgICAgICAgICAgIG1ldGhvZDogb3B0aW9uLm1ldGhvZC5jb2RlLFxuICAgICAgICAgICAgICAgIG9wdGlvbjogb3B0aW9uLmNvc3ROYW1lLFxuICAgICAgICAgICAgICAgIGNvbnRyYWN0OiBjb250cmFjdFR5cGUsXG4gICAgICAgICAgICAgICAgbmFtZTogY29udHJhY3ROYW1lLFxuICAgICAgICAgICAgICAgIHByaWNlOiBjb250cmFjdERhdGEucHJpY2UsXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgc2hpcHBpbmdfbWV0aG9kX2NvbnRyYWN0OiBzaGlwcGluZ01ldGhvZENvbnRyYWN0LFxuICAgICAgICAgICAgICAgIHNoaXBwaW5nX21ldGhvZF9icmFuY2hfY29kZTogc2hpcHBpbmdNZXRob2RCcmFuY2hDb2RlXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3Qgc3RlcERhdGEgPSB7XG4gICAgICAgICAgICAgICAgLi4ucmVxdWVzdFBheWxvYWQsXG4gICAgICAgICAgICAgICAgb3JpZ2luYWxQcmljZTogdGhpcy5zaGlwcGluZ1ByaWNlRGlzcGxheS5ub3JtYWxpemVQcmljZVZhbHVlKGNvbnRyYWN0RGF0YS5vcmlnaW5hbFByaWNlKSxcbiAgICAgICAgICAgICAgICBtZXRob2RfbmFtZTogb3B0aW9uLm1ldGhvZD8ubmFtZSxcbiAgICAgICAgICAgICAgICBjb250cmFjdF9uYW1lOiBjb250cmFjdE5hbWVcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnNoaXBtZW50U2VydmljZS5zZXRTaGlwcGluZ09wdGlvbihyZXF1ZXN0UGF5bG9hZCwgc3RlcERhdGEpO1xuICAgICAgICAgICAgY29uc3QgbWV0aG9kTGFiZWwgPSBvcHRpb24ubWV0aG9kPy5uYW1lXG4gICAgICAgICAgICAgICAgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChvcHRpb24ubWV0aG9kLm5hbWUpXG4gICAgICAgICAgICAgICAgOiAnJztcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyYWN0TGFiZWwgPSBvcHRpb24uY29udHJhY3Q/Lm5hbWVcbiAgICAgICAgICAgICAgICA/IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KG9wdGlvbi5jb250cmFjdC5uYW1lKVxuICAgICAgICAgICAgICAgIDogJyc7XG4gICAgICAgICAgICBjb25zdCBncm91cExhYmVsID0gb3B0aW9uLmNvc3ROYW1lXG4gICAgICAgICAgICAgICAgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0aGlzLnJlc29sdmVHcm91cExhYmVsKG9wdGlvbi5jb3N0TmFtZSkpXG4gICAgICAgICAgICAgICAgOiAnJztcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gW2dyb3VwTGFiZWwsIG1ldGhvZExhYmVsLCBjb250cmFjdExhYmVsXS5maWx0ZXIoQm9vbGVhbikuam9pbignIMK3ICcpO1xuICAgICAgICAgICAgY29uc3QgZGV0YWlsID0gb3B0aW9uLmNvbnRyYWN0Py5jb21wdXRlZCB8fCBvcHRpb24uY29udHJhY3Q/LmRldGFpbCB8fCAnJztcbiAgICAgICAgICAgIHRoaXMuc3VtbWFyeUNoYW5nZS5lbWl0KHtcbiAgICAgICAgICAgICAgICBsYWJlbDogbGFiZWwgfHwgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIGRldGFpbDogZGV0YWlsIHx8IHVuZGVmaW5lZFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgaWYgKHRoaXMuY29tcGFjdFNoaXBtZW50Vmlldykge1xuICAgICAgICAgICAgICAgICB0aGlzLmFkdmFuY2VTdGVwLmVtaXQoKTtcbiAgICAgICAgICAgICB9XG4gICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgIHRoaXMuc2hpcG1lbnRFcnJvcktleSA9ICdvcGVyYXRpb24tZXJyb3InO1xuICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgICB0aGlzLmxvYWRpbmdfaW50ZXJuYWwgPSBmYWxzZTtcbiAgICAgICAgIH1cbiAgICAgfVxuXG4gICAgcHJpdmF0ZSBzaG91bGRFbnJpY2hGcm9tTGVnYWN5KG9wdGlvbjogYW55KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghb3B0aW9uIHx8IG9wdGlvbi5jb3N0TmFtZSAhPT0gJ2JyYW5jaF9kZWxpdmVyeScpIHJldHVybiBmYWxzZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRMZWdhY3lDb250cmFjdERhdGEgPSBhc3luYyAoXG4gICAgICAgIG1ldGhvZENvZGU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICAgICAgY29zdE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICAgICAgY29udHJhY3ROYW1lOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgICApID0+IHtcbiAgICAgICAgaWYgKCFtZXRob2RDb2RlIHx8ICFjb3N0TmFtZSB8fCAhY29udHJhY3ROYW1lKSByZXR1cm4gbnVsbDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGNvc3RzID0gYXdhaXQgdGhpcy5zaGlwbWVudFNlcnZpY2UuZ2V0Q29zdHNGb3JNZXRob2QobWV0aG9kQ29kZSk7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZENvc3QgPSAoY29zdHMgfHwgW10pLmZpbmQoY29zdCA9PiBTdHJpbmcoY29zdD8ubmFtZSB8fCAnJykgPT09IFN0cmluZyhjb3N0TmFtZSkpO1xuICAgICAgICAgICAgaWYgKCFzZWxlY3RlZENvc3Q/LmNvbnRyYWN0cz8ubGVuZ3RoKSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkQ29udHJhY3QgPSBzZWxlY3RlZENvc3QuY29udHJhY3RzLmZpbmQoY29udHJhY3QgPT5cbiAgICAgICAgICAgICAgICBTdHJpbmcoY29udHJhY3Q/Lm5hbWUgfHwgJycpID09PSBTdHJpbmcoY29udHJhY3ROYW1lKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiBzZWxlY3RlZENvbnRyYWN0IHx8IG51bGw7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICBzZXRBY3RpdmUoZSkge1xuICAgICAgICBjb25zdCBwYXJlbnQgPSBlLnRhcmdldC5wYXJlbnRFbGVtZW50LmNoaWxkcmVuO1xuICAgICAgICBmb3IgKGNvbnN0IGJ1dHRvbiBvZiBwYXJlbnQpIHtcbiAgICAgICAgICAgIGlmIChidXR0b24uY2xhc3NMaXN0LmNvbnRhaW5zKCdhY3RpdmUnKSkge1xuICAgICAgICAgICAgICAgIGJ1dHRvbi5jbGFzc0xpc3QucmVtb3ZlKCdhY3RpdmUnKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGUudGFyZ2V0LmNsYXNzTGlzdC5hZGQoXCJhY3RpdmVcIilcbiAgICB9XG5cbiAgICB2YWxpZE5hbWUgPSAobmFtZSkgPT4gaXNOYU4obmFtZSk7XG5cbiAgICBnZXRDb250cmFjdFByaWNlVmlldyA9IChjb250cmFjdDogYW55KSA9PlxuICAgICAgICB0aGlzLnNoaXBwaW5nUHJpY2VEaXNwbGF5LmdldENvbnRyYWN0Vmlldyhjb250cmFjdCk7XG5cbiAgICBwcml2YXRlIGJ1aWxkR3JvdXBlZE9wdGlvbnMob3B0aW9uczogYW55W10pIHtcbiAgICAgICAgaWYgKCFvcHRpb25zPy5sZW5ndGgpIHJldHVybiBbXTtcbiAgICAgICAgY29uc3QgZ3JvdXBzID0gbmV3IE1hcDxzdHJpbmcsIGFueVtdPigpO1xuICAgICAgICBvcHRpb25zLmZvckVhY2gob3B0aW9uID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IG9wdGlvbj8uY29zdE5hbWUgfHwgJ2RlZmF1bHQnO1xuICAgICAgICAgICAgaWYgKCFncm91cHMuaGFzKGtleSkpIGdyb3Vwcy5zZXQoa2V5LCBbXSk7XG4gICAgICAgICAgICBncm91cHMuZ2V0KGtleSk/LnB1c2gob3B0aW9uKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKGdyb3Vwcy5lbnRyaWVzKCkpLm1hcCgoW2tleSwgZ3JvdXBPcHRpb25zXSkgPT4gKHtcbiAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnJlc29sdmVHcm91cExhYmVsKGtleSwgZ3JvdXBPcHRpb25zPy5bMF0/Lm1ldGhvZD8ubmFtZSksXG4gICAgICAgICAgICBvcHRpb25zOiBncm91cE9wdGlvbnNcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzb2x2ZUdyb3VwTGFiZWwoY29zdE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGwsIG1ldGhvZE5hbWU/OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKGNvc3ROYW1lKSB7XG4gICAgICAgICAgICBjb25zdCBub3JtYWxpemVkID0gY29zdE5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgIGlmIChub3JtYWxpemVkID09PSAnYnJhbmNoX2RlbGl2ZXJ5JykgcmV0dXJuICdSZXRpcm8gZW4gc3VjdXJzYWwnO1xuICAgICAgICAgICAgaWYgKG5vcm1hbGl6ZWQgPT09ICdob21lX2RlbGl2ZXJ5JykgcmV0dXJuICdFbnbDrW8gYSBkb21pY2lsaW8nO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtZXRob2ROYW1lIHx8IChjb3N0TmFtZSB8fCAnJyk7XG4gICAgfVxuXG59XG4iXX0=
485
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpcG1lbnQtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9jaGVja291dC1lYy9zaGlwbWVudC1lYy9zaGlwbWVudC1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQVE1RjtJQUF5Qyx1Q0FBZTtJQXlCcEQsNkJBQW1CLGVBQWdDLEVBQVksYUFBMkIsRUFDL0UsZUFBZ0MsRUFBUyxlQUFnQyxFQUN4RSxnQkFBa0MsRUFDbEMsb0JBQWlEO1FBSDdELFlBSUksaUJBQU8sU0FFVjtRQU5rQixxQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBWSxtQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMvRSxxQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBUyxxQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDeEUsc0JBQWdCLEdB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O2dCQUNILEtBQUssRUFBRSxLQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxvQkFBRSxZQUFZLDBDQUFHLENBQUMsMkNBQUcsTUFBTSwwQ0FBRSxJQUFJLENBQUM7Z0JBQ25FLE9BQU8sRUFBRSxZQUFZO2FBQ3hCLENBQUMsQ0FBQTtTQUFBLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFTywrQ0FBaUIsR0FBekIsVUFBMEIsUUFBbUMsRUFBRSxVQUFtQjtRQUM5RSxJQUFJLFFBQVEsRUFBRTtZQUNWLElBQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMxQyxJQUFJLFVBQVUsS0FBSyxpQkFBaUI7Z0JBQUUsT0FBTyxvQkFBb0IsQ0FBQztZQUNsRSxJQUFJLFVBQVUsS0FBSyxlQUFlO2dCQUFFLE9BQU8sbUJBQW1CLENBQUM7U0FDbEU7UUFDRCxPQUFPLFVBQVUsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDOztnQkE3Um1DLGVBQWU7Z0JBQTJCLFlBQVk7Z0JBQzlELGVBQWU7Z0JBQTBCLGVBQWU7Z0JBQ3RELGdCQUFnQjtnQkFDWiwyQkFBMkI7O0lBMUJwRDtRQUFSLEtBQUssRUFBRTt3REFBUztJQUNSO1FBQVIsS0FBSyxFQUFFO29FQUFzQztJQUNwQztRQUFULE1BQU0sRUFBRTs4REFBeUU7SUFDeEU7UUFBVCxNQUFNLEVBQUU7NERBQXdDO0lBTHhDLG1CQUFtQjtRQU4vQixTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLDQvUEFBMkM7WUFFM0MsU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDOztTQUMvQixDQUFDO09BQ1csbUJBQW1CLENBd1QvQjtJQUFELDBCQUFDO0NBQUEsQUF4VEQsQ0FBeUMsZUFBZSxHQXdUdkQ7U0F4VFksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzLWNvbXBhdC9vcGVyYXRvci9tYXAnO1xuaW1wb3J0IHsgQ29tcG9uZW50SGVscGVyIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9jb21wb25lbnQtaGVscGVyJztcbmltcG9ydCB7IENoZWNrb3V0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NoZWNrb3V0L2NoZWNrb3V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2hpcG1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY2hlY2tvdXQvc2hpcG1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9kdWN0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wcm9kdWN0cy9wcm9kdWN0cy5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgU2hpcHBpbmdQcmljZURpc3BsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvc2hpcHBpbmctcHJpY2UtZGlzcGxheS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtc2hpcG1lbnQtZWMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zaGlwbWVudC1lYy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2hpcG1lbnQtZWMuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtTaGlwbWVudFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFNoaXBtZW50RWNDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRIZWxwZXIgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgICBASW5wdXQoKSBzdGVwX2lkO1xuICAgIEBJbnB1dCgpIGNvbXBhY3RTaGlwbWVudFZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBAT3V0cHV0KCkgc3VtbWFyeUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBsYWJlbD86IHN0cmluZzsgZGV0YWlsPzogc3RyaW5nIH0+KCk7XG4gICAgQE91dHB1dCgpIGFkdmFuY2VTdGVwID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIHB1YmxpYyBtZXRob2RzX2xpc3Q6IGFueVtdO1xuICAgIHB1YmxpYyBtZXRob2RTZWxlY3Q6IGFueTtcbiAgICBwdWJsaWMgbG9hZGluZ19pbnRlcm5hbCA9IGZhbHNlO1xuICAgIHB1YmxpYyBwb2ludHM6IGFueVtdID0gW107XG4gICAgcHVibGljIHNlbGVjdGVkX2ZpbmFsO1xuICAgIHB1YmxpYyBjb3N0b3MgPSBudWxsXG4gICAgcHVibGljIGNvc3RzID0gIFtdXG4gICAgcHVibGljIG1vcmVJbmZvSW5NZXRob2Q6IGFueVxuICAgIGJ1dHRvbnNEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgbGFzdEFkZHJlc3NLZXk6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIHB1YmxpYyBzaGlwbWVudEVycm9yS2V5OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBwdWJsaWMgc2luZ2xlT3B0aW9uczogYW55W10gPSBbXTtcbiAgICBwdWJsaWMgbG9hZGluZ19wcmVsb2FkID0gZmFsc2U7XG4gICAgcHVibGljIHNlbGVjdGVkT3B0aW9uSWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIHB1YmxpYyB1bmF2YWlsYWJsZU1ldGhvZHM6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+ID0ge307XG4gICAgcHVibGljIGdyb3VwZWRPcHRpb25zOiB7IGtleTogc3RyaW5nOyBsYWJlbDogc3RyaW5nOyBvcHRpb25zOiBhbnlbXSB9W10gPSBbXTtcblxuICAgIGNvbnRyYWN0cyA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIHNoaXBtZW50U2VydmljZTogU2hpcG1lbnRTZXJ2aWNlLCBwcm90ZWN0ZWQgdG9hc3RyU2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgcHJvZHVjdHNTZXJ2aWNlOiBQcm9kdWN0c1NlcnZpY2UsIHB1YmxpYyBjaGVja291dFNlcnZpY2U6IENoZWNrb3V0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHNoaXBwaW5nUHJpY2VEaXNwbGF5OiBTaGlwcGluZ1ByaWNlRGlzcGxheVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5lY09uQ29uc3RydWN0KClcbiAgICB9XG5cbiAgICBlbWl0UmVzdWx0ID0gKG1ldGhvZF9uYW1lLCBjb250cmFjdF9kYXRhKSA9PiB7XG4gICAgICAgIGNvbnRyYWN0X2RhdGEgPSB7XG4gICAgICAgICAgICAuLi5jb250cmFjdF9kYXRhLFxuICAgICAgICAgICAgc2hpcHBpbmdfbWV0aG9kX2NvbnRyYWN0OiBtZXRob2RfbmFtZSArICdfJyArIGNvbnRyYWN0X2RhdGEubmFtZSxcbiAgICAgICAgICAgIHNoaXBwaW5nX21ldGhvZF9icmFuY2hfY29kZTogbWV0aG9kX25hbWUgPT0gXCJicmFuY2hfZGVsaXZlcnlcIiA/IGNvbnRyYWN0X2RhdGEuc3VjdXJzYWxfaWQgOiBjb250cmFjdF9kYXRhLm5hbWUsXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuc2hpcG1lbnRTZXJ2aWNlLnNldENvbnRyYWN0KGNvbnRyYWN0X2RhdGEpO1xuICAgIH1cblxuICAgIHZlcmlmeVZhbGlkYXRlID0gKGNvbnRyYWN0LCBkYXRhKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmNvbXBhY3RTaGlwbWVudFZpZXcgfHwgIXRoaXMuY29zdHM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5lbWl0UmVzdWx0KGNvbnRyYWN0LCBkYXRhKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5jb3N0cy5mb3JFYWNoKGNvc3QgPT4gY29zdC5jb250cmFjdHMuZm9yRWFjaChjbyA9PiBjby5zZWxlY3RlZCA9IGZhbHNlKSlcbiAgICAgICAgICAgIHRoaXMuY29zdHMuZmluZChjb3N0ID0+IGNvc3QubmFtZSA9PSBjb250cmFjdCkuY29udHJhY3RzLmZpbmQoY29udHJhID0+IGNvbnRyYS5uYW1lID09IGRhdGEubmFtZSkuc2VsZWN0ZWQgPSB0cnVlXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yIGFsIGJ1c2NhciBjb250cmF0b1wiLCBlcnJvcik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZW1pdFJlc3VsdChjb250cmFjdCwgZGF0YSk7XG4gICAgfTtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnNoaXBtZW50U2VydmljZS5pbml0aWFsaXplKHRoaXMuc3RlcF9pZCk7XG4gICAgICAgIGlmICghdGhpcy5jb21wYWN0U2hpcG1lbnRWaWV3KSB7XG4gICAgICAgICAgICB0aGlzLnNoaXBtZW50U2VydmljZS5nZXRTaGlwbWVudE1ldGhvZHMoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNoZWNrb3V0U2VydmljZS5hc29jaWF0ZWREYXRhJC5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNvc3RvcyA9IGRhdGEgJiYgZGF0YS5maW5kKHZhbHVlID0+IHZhbHVlLnR5cGUgPT0gXCJzaGlwbWVudFwiKSB8fCBudWxsXG4gICAgICAgIH0pXG4gICAgICAgIHRoaXMuc2hpcG1lbnRTZXJ2aWNlLmNvc3RzLnN1YnNjcmliZShjb3MgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29tcGFjdFNoaXBtZW50VmlldykgcmV0dXJuO1xuICAgICAgICAgICAgdGhpcy5jb3N0cyA9IGNvcy5tYXAoY29zdCA9PiB7IHJldHVybiB7IC4uLmNvc3QsIGNvbnRyYWN0czogY29zdC5jb250cmFjdHMubWFwKGNvID0+IHsgcmV0dXJuIHsgLi4uY28sIHNlbGVjdGVkOiBmYWxzZSB9IH0gKSB9IH0pXG4gICAgICAgICAgICBpZiAodGhpcy5jb3N0cy5sZW5ndGggJiYgdGhpcy5jb3N0c1swXT8ubmFtZSAmJiB0aGlzLmNvc3RzWzBdPy5jb250cmFjdHNbMF0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZlcmlmeVZhbGlkYXRlKHRoaXMuY29zdHNbMF0ubmFtZSwgdGhpcy5jb3N0c1swXS5jb250cmFjdHNbMF0pXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIHRoaXMuc2hpcG1lbnRTZXJ2aWNlLmVycm9yJC5zdWJzY3JpYmUoZXJyb3JLZXkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zaGlwbWVudEVycm9yS2V5ID0gZXJyb3JLZXk7XG4gICAgICAgIH0pXG4gICAgICAgIHRoaXMubW9yZUluZm9Jbk1ldGhvZCA9IHRydWUgLy9TaGlwbWVudFNlcnZpY2UubW9yZUluZm9Jbk1ldGhvZDtcbiAgICAgICAgdGhpcy5jaGVja291dFNlcnZpY2Uuc3RhdGUkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuY29tcGFjdFNoaXBtZW50VmlldykgcmV0dXJuO1xuICAgICAgICAgICAgY29uc3QgYWRkcmVzc0RhdGEgPSB0aGlzLmNoZWNrb3V0U2VydmljZS5nZXRTdGVwRGF0YSgnYWRkcmVzcycpO1xuICAgICAgICAgICAgaWYgKCFhZGRyZXNzRGF0YSkgcmV0dXJuO1xuICAgICAgICAgICAgY29uc3Qga2V5ID0gSlNPTi5zdHJpbmdpZnkoYWRkcmVzc0RhdGEpO1xuICAgICAgICAgICAgaWYgKHRoaXMubGFzdEFkZHJlc3NLZXkgPT09IGtleSkgcmV0dXJuO1xuICAgICAgICAgICAgdGhpcy5sYXN0QWRkcmVzc0tleSA9IGtleTtcbiAgICAgICAgICAgIHRoaXMuc2hpcG1lbnRTZXJ2aWNlLnJlc3RhcnRTdGVwKCk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uSWQgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5zdW1tYXJ5Q2hhbmdlLmVtaXQoe30pO1xuICAgICAgICAgICAgdGhpcy5wcmVsb2FkU2luZ2xlT3B0aW9ucygpO1xuICAgICAgICAgICAgdGhpcy5jb3N0cyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5ncm91cGVkT3B0aW9ucyA9IFtdO1xuICAgICAgICB9KVxuICAgICAgICB0aGlzLmVjT25Jbml0KClcblxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKCkge1xuICAgICAgICBpZiAoIXRoaXMuY29tcGFjdFNoaXBtZW50Vmlldykge1xuICAgICAgICAgICAgdGhpcy5zaGlwbWVudFNlcnZpY2UuZ2V0U2hpcG1lbnRNZXRob2RzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0b1RyYWR1Y2libGUgPSAobmFtZSkgPT4gbmFtZS5yZXBsYWNlKC9fL2csICctJyk7XG5cbiAgICBkZWxldGVVUFMgPSAobWV0aG9kcykgPT4gbWV0aG9kcy5maWx0ZXIobWV0aG9kID0+IG1ldGhvZC5uYW1lICE9ICdVUFMnKTtcblxuICAgICBzZXRNZXRob2QgPSAobWV0aG9kKSA9PiB7XG4gICAgICAgICB0aGlzLm1ldGhvZFNlbGVjdCA9IG1ldGhvZDtcbiAgICAgICAgIHRoaXMubG9hZGluZ19pbnRlcm5hbCA9IHRydWU7XG4gICAgICAgICB0aGlzLnNoaXBtZW50RXJyb3JLZXkgPSBudWxsO1xuICAgICAgICAgdGhpcy5zaGlwbWVudFNlcnZpY2UucmVzdGFydFN0ZXAoKTtcblxuICAgICAgICAgLy8gRGVzaGFiaWxpdGFyIHRvZG9zIGxvcyBib3RvbmVzXG4gICAgICAgICB0aGlzLmJ1dHRvbnNEaXNhYmxlZCA9IHRydWU7XG5cbiAgICAgLy8gICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgIHRoaXMuc2hpcG1lbnRTZXJ2aWNlLnNldE1ldGhvZChtZXRob2QuY29kZSkudGhlbihyZXMgPT4ge1xuICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmdfaW50ZXJuYWwgPSBmYWxzZTtcblxuICAgICAgICAgICAgICAgICAvLyBIYWJpbGl0YXIgdG9kb3MgbG9zIGJvdG9uZXNcbiAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7dGhpcy5idXR0b25zRGlzYWJsZWQgPSBmYWxzZTt9LCAxMDAwKTtcbiAgICAgICAgICAgICB9KS5jYXRjaChlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgIC8vIEVuIGNhc28gZGUgZXJyb3IsIHRhbWJpw6luIGhhYmlsaXRhciBsb3MgYm90b25lc1xuICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmdfaW50ZXJuYWwgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgdGhpcy5idXR0b25zRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgdGhpcy5zaGlwbWVudEVycm9yS2V5ID0gJ29wZXJhdGlvbi1lcnJvcic7XG4gICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvcjpcIiwgZXJyb3IpO1xuICAgICAgICAgICAgIH0pO1xuICAgICAvLyAgICAgfSwgMTAwMCk7XG4gICAgIH1cblxuICAgICBwcmVsb2FkU2luZ2xlT3B0aW9ucyA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgIHRoaXMubG9hZGluZ19wcmVsb2FkID0gdHJ1ZTtcbiAgICAgICAgIHRoaXMuc2luZ2xlT3B0aW9ucyA9IFtdO1xuICAgICAgICAgdGhpcy5ncm91cGVkT3B0aW9ucyA9IFtdO1xuICAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbklkID0gbnVsbDtcbiAgICAgICAgIHRoaXMudW5hdmFpbGFibGVNZXRob2RzID0ge307XG4gICAgICAgICB0aGlzLnNoaXBtZW50RXJyb3JLZXkgPSBudWxsO1xuICAgICAgICAgY29uc3QgbWV0aG9kT3B0aW9ucyA9IGF3YWl0IHRoaXMuc2hpcG1lbnRTZXJ2aWNlLmdldFNoaXBwaW5nT3B0aW9ucygpO1xuICAgICAgICAgaWYgKCFtZXRob2RPcHRpb25zIHx8ICFtZXRob2RPcHRpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgIHRoaXMubG9hZGluZ19wcmVsb2FkID0gZmFsc2U7XG4gICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgfVxuICAgICAgICAgbGV0IG9wdGlvbkluZGV4ID0gMDtcbiAgICAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgbWV0aG9kT3B0aW9ucykge1xuICAgICAgICAgICAgIGNvbnN0IG1ldGhvZCA9IGVudHJ5Py5tZXRob2Q7XG4gICAgICAgICAgICAgaWYgKCFtZXRob2QgfHwgbWV0aG9kLm5hbWUgPT09ICdVUFMnKSBjb250aW51ZTtcbiAgICAgICAgICAgICBjb25zdCBvcHRpb25zID0gZW50cnk/Lm9wdGlvbnMgfHwgW107XG4gICAgICAgICAgICAgbGV0IGhhc0NvbnRyYWN0cyA9IGZhbHNlO1xuICAgICAgICAgICAgIG9wdGlvbnMuZm9yRWFjaChvcHRpb24gPT4ge1xuICAgICAgICAgICAgICAgICBjb25zdCBjb250cmFjdHMgPSBvcHRpb24/LmNvbnRyYWN0cyB8fCBbXTtcbiAgICAgICAgICAgICAgICAgaWYgKCFjb250cmFjdHMubGVuZ3RoKSByZXR1cm47XG4gICAgICAgICAgICAgICAgIGhhc0NvbnRyYWN0cyA9IHRydWU7XG4gICAgICAgICAgICAgICAgIGNvbnRyYWN0cy5mb3JFYWNoKGNvbnRyYWN0ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRDb250cmFjdCA9IHsgLi4uY29udHJhY3QgfTtcbiAgICAgICAgICAgICAgICAgICAgIGlmICghbm9ybWFsaXplZENvbnRyYWN0LmNvbnRyYWN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsaXplZENvbnRyYWN0LmNvbnRyYWN0ID0gb3B0aW9uLm5hbWU7XG4gICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICBvcHRpb25JbmRleCArPSAxO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNpbmdsZU9wdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGAke21ldGhvZC5jb2RlfS0ke29wdGlvbi5uYW1lfS0ke2NvbnRyYWN0Lm5hbWV9LSR7b3B0aW9uSW5kZXh9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgY29zdE5hbWU6IG9wdGlvbi5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyYWN0OiBub3JtYWxpemVkQ29udHJhY3RcbiAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICBpZiAoIWhhc0NvbnRyYWN0cykge1xuICAgICAgICAgICAgICAgICB0aGlzLnVuYXZhaWxhYmxlTWV0aG9kc1ttZXRob2QuY29kZV0gPSB0cnVlO1xuICAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgICAgIHRoaXMuZ3JvdXBlZE9wdGlvbnMgPSB0aGlzLmJ1aWxkR3JvdXBlZE9wdGlvbnModGhpcy5zaW5nbGVPcHRpb25zKTtcbiAgICAgICAgIGlmICghdGhpcy5zaW5nbGVPcHRpb25zLmxlbmd0aCAmJiBPYmplY3Qua2V5cyh0aGlzLnVuYXZhaWxhYmxlTWV0aG9kcykubGVuZ3RoKSB7XG4gICAgICAgICAgICAgdGhpcy5zaGlwbWVudEVycm9yS2V5ID0gJ29wZXJhdGlvbi1lcnJvcic7XG4gICAgICAgICB9XG4gICAgICAgICB0aGlzLmxvYWRpbmdfcHJlbG9hZCA9IGZhbHNlO1xuICAgICB9XG5cbiAgICBzZWxlY3RTaW5nbGVPcHRpb24gPSBhc3luYyAob3B0aW9uKSA9PiB7XG4gICAgICAgIGlmICghb3B0aW9uKSByZXR1cm47XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkT3B0aW9uSWQgPT09IG9wdGlvbi5pZCAmJiAhdGhpcy5sb2FkaW5nX2ludGVybmFsKSByZXR1cm47XG4gICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uSWQgPSBvcHRpb24uaWQ7XG4gICAgICAgICB0aGlzLmxvYWRpbmdfaW50ZXJuYWwgPSB0cnVlO1xuICAgICAgICAgdGhpcy5zaGlwbWVudEVycm9yS2V5ID0gbnVsbDtcbiAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBsZXQgY29udHJhY3REYXRhID0geyAuLi4ob3B0aW9uLmNvbnRyYWN0IHx8IHt9KSB9O1xuICAgICAgICAgICAgY29uc3QgaW5pdGlhbENvbnRyYWN0TmFtZSA9IGNvbnRyYWN0RGF0YS5uYW1lIHx8IG9wdGlvbi5jb250cmFjdD8ubmFtZTtcbiAgICAgICAgICAgIGlmICh0aGlzLnNob3VsZEVucmljaEZyb21MZWdhY3kob3B0aW9uKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxlZ2FjeUNvbnRyYWN0RGF0YSA9IGF3YWl0IHRoaXMuZ2V0TGVnYWN5Q29udHJhY3REYXRhKFxuICAgICAgICAgICAgICAgICAgICBvcHRpb24ubWV0aG9kPy5jb2RlLFxuICAgICAgICAgICAgICAgICAgICBvcHRpb24uY29zdE5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGluaXRpYWxDb250cmFjdE5hbWVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChsZWdhY3lDb250cmFjdERhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udHJhY3REYXRhID0geyAuLi5jb250cmFjdERhdGEsIC4uLmxlZ2FjeUNvbnRyYWN0RGF0YSB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGNvbnRyYWN0VHlwZSA9IGNvbnRyYWN0RGF0YS5jb250cmFjdCB8fCBvcHRpb24uY29zdE5hbWU7XG4gICAgICAgICAgICBjb25zdCBjb250cmFjdE5hbWUgPSBjb250cmFjdERhdGEubmFtZSB8fCBvcHRpb24uY29udHJhY3Q/Lm5hbWU7XG4gICAgICAgICAgICBjb25zdCBzaGlwcGluZ01ldGhvZENvbnRyYWN0ID0gYCR7b3B0aW9uLmNvc3ROYW1lfV8ke2NvbnRyYWN0TmFtZX1gO1xuICAgICAgICAgICAgY29uc3Qgc2hpcHBpbmdNZXRob2RCcmFuY2hDb2RlID0gb3B0aW9uLmNvc3ROYW1lID09PSAnYnJhbmNoX2RlbGl2ZXJ5J1xuICAgICAgICAgICAgICAgID8gKGNvbnRyYWN0RGF0YS5zdWN1cnNhbF9pZCB8fCBjb250cmFjdERhdGEubnVtYmVyIHx8IGNvbnRyYWN0RGF0YS5icmFuY2hfcHJvcGVydHk/Lm51bWJlciB8fCBjb250cmFjdE5hbWUpXG4gICAgICAgICAgICAgICAgOiBjb250cmFjdE5hbWU7XG4gICAgICAgICAgICBjb25zdCBzYW5pdGl6ZWRDb250cmFjdERhdGEgPSB7IC4uLmNvbnRyYWN0RGF0YSB9O1xuICAgICAgICAgICAgZGVsZXRlIHNhbml0aXplZENvbnRyYWN0RGF0YS5icmFuY2hfcHJvcGVydHk7XG4gICAgICAgICAgICBkZWxldGUgc2FuaXRpemVkQ29udHJhY3REYXRhLm9yaWdpbmFsUHJpY2U7XG4gICAgICAgICAgICBkZWxldGUgc2FuaXRpemVkQ29udHJhY3REYXRhLm9wdGlvbjtcbiAgICAgICAgICAgIGNvbnN0IHJlcXVlc3RQYXlsb2FkID0ge1xuICAgICAgICAgICAgICAgIC4uLnNhbml0aXplZENvbnRyYWN0RGF0YSxcbiAgICAgICAgICAgICAgICBzaGlwcGluZ0lkOiBvcHRpb24ubWV0aG9kLmNvZGUsXG4gICAgICAgICAgICAgICAgbWV0aG9kOiBvcHRpb24ubWV0aG9kLmNvZGUsXG4gICAgICAgICAgICAgICAgb3B0aW9uOiBvcHRpb24uY29zdE5hbWUsXG4gICAgICAgICAgICAgICAgY29udHJhY3Q6IGNvbnRyYWN0VHlwZSxcbiAgICAgICAgICAgICAgICBuYW1lOiBjb250cmFjdE5hbWUsXG4gICAgICAgICAgICAgICAgcHJpY2U6IGNvbnRyYWN0RGF0YS5wcmljZSxcbiAgICAgICAgICAgICAgICBzZWxlY3RlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzaGlwcGluZ19tZXRob2RfY29udHJhY3Q6IHNoaXBwaW5nTWV0aG9kQ29udHJhY3QsXG4gICAgICAgICAgICAgICAgc2hpcHBpbmdfbWV0aG9kX2JyYW5jaF9jb2RlOiBzaGlwcGluZ01ldGhvZEJyYW5jaENvZGVcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCBzdGVwRGF0YSA9IHtcbiAgICAgICAgICAgICAgICAuLi5yZXF1ZXN0UGF5bG9hZCxcbiAgICAgICAgICAgICAgICBvcmlnaW5hbFByaWNlOiB0aGlzLnNoaXBwaW5nUHJpY2VEaXNwbGF5Lm5vcm1hbGl6ZVByaWNlVmFsdWUoY29udHJhY3REYXRhLm9yaWdpbmFsUHJpY2UpLFxuICAgICAgICAgICAgICAgIG1ldGhvZF9uYW1lOiBvcHRpb24ubWV0aG9kPy5uYW1lLFxuICAgICAgICAgICAgICAgIGNvbnRyYWN0X25hbWU6IGNvbnRyYWN0TmFtZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IGFwcGxpZWQgPSBhd2FpdCB0aGlzLnNoaXBtZW50U2VydmljZS5zZXRTaGlwcGluZ09wdGlvbihyZXF1ZXN0UGF5bG9hZCwgc3RlcERhdGEpO1xuICAgICAgICAgICAgaWYgKCFhcHBsaWVkKSByZXR1cm47XG4gICAgICAgICAgICBjb25zdCBtZXRob2RMYWJlbCA9IG9wdGlvbi5tZXRob2Q/Lm5hbWVcbiAgICAgICAgICAgICAgICA/IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KG9wdGlvbi5tZXRob2QubmFtZSlcbiAgICAgICAgICAgICAgICA6ICcnO1xuICAgICAgICAgICAgY29uc3QgY29udHJhY3RMYWJlbCA9IG9wdGlvbi5jb250cmFjdD8ubmFtZVxuICAgICAgICAgICAgICAgID8gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQob3B0aW9uLmNvbnRyYWN0Lm5hbWUpXG4gICAgICAgICAgICAgICAgOiAnJztcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwTGFiZWwgPSBvcHRpb24uY29zdE5hbWVcbiAgICAgICAgICAgICAgICA/IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHRoaXMucmVzb2x2ZUdyb3VwTGFiZWwob3B0aW9uLmNvc3ROYW1lKSlcbiAgICAgICAgICAgICAgICA6ICcnO1xuICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBbZ3JvdXBMYWJlbCwgbWV0aG9kTGFiZWwsIGNvbnRyYWN0TGFiZWxdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgwrcgJyk7XG4gICAgICAgICAgICBjb25zdCBkZXRhaWwgPSBvcHRpb24uY29udHJhY3Q/LmNvbXB1dGVkIHx8IG9wdGlvbi5jb250cmFjdD8uZGV0YWlsIHx8ICcnO1xuICAgICAgICAgICAgdGhpcy5zdW1tYXJ5Q2hhbmdlLmVtaXQoe1xuICAgICAgICAgICAgICAgIGxhYmVsOiBsYWJlbCB8fCB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgZGV0YWlsOiBkZXRhaWwgfHwgdW5kZWZpbmVkXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICBpZiAodGhpcy5jb21wYWN0U2hpcG1lbnRWaWV3KSB7XG4gICAgICAgICAgICAgICAgIHRoaXMuYWR2YW5jZVN0ZXAuZW1pdCgpO1xuICAgICAgICAgICAgIH1cbiAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgdGhpcy5zaGlwbWVudEVycm9yS2V5ID0gJ29wZXJhdGlvbi1lcnJvcic7XG4gICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgIHRoaXMubG9hZGluZ19pbnRlcm5hbCA9IGZhbHNlO1xuICAgICAgICAgfVxuICAgICB9XG5cbiAgICBwcml2YXRlIHNob3VsZEVucmljaEZyb21MZWdhY3kob3B0aW9uOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFvcHRpb24gfHwgb3B0aW9uLmNvc3ROYW1lICE9PSAnYnJhbmNoX2RlbGl2ZXJ5JykgcmV0dXJuIGZhbHNlO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldExlZ2FjeUNvbnRyYWN0RGF0YSA9IGFzeW5jIChcbiAgICAgICAgbWV0aG9kQ29kZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgICAgICBjb3N0TmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgICAgICBjb250cmFjdE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZFxuICAgICkgPT4ge1xuICAgICAgICBpZiAoIW1ldGhvZENvZGUgfHwgIWNvc3ROYW1lIHx8ICFjb250cmFjdE5hbWUpIHJldHVybiBudWxsO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgY29zdHMgPSBhd2FpdCB0aGlzLnNoaXBtZW50U2VydmljZS5nZXRDb3N0c0Zvck1ldGhvZChtZXRob2RDb2RlKTtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkQ29zdCA9IChjb3N0cyB8fCBbXSkuZmluZChjb3N0ID0+IFN0cmluZyhjb3N0Py5uYW1lIHx8ICcnKSA9PT0gU3RyaW5nKGNvc3ROYW1lKSk7XG4gICAgICAgICAgICBpZiAoIXNlbGVjdGVkQ29zdD8uY29udHJhY3RzPy5sZW5ndGgpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRDb250cmFjdCA9IHNlbGVjdGVkQ29zdC5jb250cmFjdHMuZmluZChjb250cmFjdCA9PlxuICAgICAgICAgICAgICAgIFN0cmluZyhjb250cmFjdD8ubmFtZSB8fCAnJykgPT09IFN0cmluZyhjb250cmFjdE5hbWUpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGVkQ29udHJhY3QgfHwgbnVsbDtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgIHNldEFjdGl2ZShlKSB7XG4gICAgICAgIGNvbnN0IHBhcmVudCA9IGUudGFyZ2V0LnBhcmVudEVsZW1lbnQuY2hpbGRyZW47XG4gICAgICAgIGZvciAoY29uc3QgYnV0dG9uIG9mIHBhcmVudCkge1xuICAgICAgICAgICAgaWYgKGJ1dHRvbi5jbGFzc0xpc3QuY29udGFpbnMoJ2FjdGl2ZScpKSB7XG4gICAgICAgICAgICAgICAgYnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoJ2FjdGl2ZScpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZS50YXJnZXQuY2xhc3NMaXN0LmFkZChcImFjdGl2ZVwiKVxuICAgIH1cblxuICAgIHZhbGlkTmFtZSA9IChuYW1lKSA9PiBpc05hTihuYW1lKTtcblxuICAgIGdldENvbnRyYWN0UHJpY2VWaWV3ID0gKGNvbnRyYWN0OiBhbnkpID0+XG4gICAgICAgIHRoaXMuc2hpcHBpbmdQcmljZURpc3BsYXkuZ2V0Q29udHJhY3RWaWV3KGNvbnRyYWN0KTtcblxuICAgIHByaXZhdGUgYnVpbGRHcm91cGVkT3B0aW9ucyhvcHRpb25zOiBhbnlbXSkge1xuICAgICAgICBpZiAoIW9wdGlvbnM/Lmxlbmd0aCkgcmV0dXJuIFtdO1xuICAgICAgICBjb25zdCBncm91cHMgPSBuZXcgTWFwPHN0cmluZywgYW55W10+KCk7XG4gICAgICAgIG9wdGlvbnMuZm9yRWFjaChvcHRpb24gPT4ge1xuICAgICAgICAgICAgY29uc3Qga2V5ID0gb3B0aW9uPy5jb3N0TmFtZSB8fCAnZGVmYXVsdCc7XG4gICAgICAgICAgICBpZiAoIWdyb3Vwcy5oYXMoa2V5KSkgZ3JvdXBzLnNldChrZXksIFtdKTtcbiAgICAgICAgICAgIGdyb3Vwcy5nZXQoa2V5KT8ucHVzaChvcHRpb24pO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oZ3JvdXBzLmVudHJpZXMoKSkubWFwKChba2V5LCBncm91cE9wdGlvbnNdKSA9PiAoe1xuICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMucmVzb2x2ZUdyb3VwTGFiZWwoa2V5LCBncm91cE9wdGlvbnM/LlswXT8ubWV0aG9kPy5uYW1lKSxcbiAgICAgICAgICAgIG9wdGlvbnM6IGdyb3VwT3B0aW9uc1xuICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNvbHZlR3JvdXBMYWJlbChjb3N0TmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCwgbWV0aG9kTmFtZT86IHN0cmluZykge1xuICAgICAgICBpZiAoY29zdE5hbWUpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSBjb3N0TmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgaWYgKG5vcm1hbGl6ZWQgPT09ICdicmFuY2hfZGVsaXZlcnknKSByZXR1cm4gJ1JldGlybyBlbiBzdWN1cnNhbCc7XG4gICAgICAgICAgICBpZiAobm9ybWFsaXplZCA9PT0gJ2hvbWVfZGVsaXZlcnknKSByZXR1cm4gJ0VudsOtbyBhIGRvbWljaWxpbyc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1ldGhvZE5hbWUgfHwgKGNvc3ROYW1lIHx8ICcnKTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -32,6 +32,11 @@ var CouponEcComponent = /** @class */ (function (_super) {
32
32
  _this.loading = false;
33
33
  _this.addCoupon = function () {
34
34
  _this.validCoupon() && _this.cartService.addCoupon(_this.coupon_value).then(function (res) {
35
+ var _a;
36
+ if (((_a = res) === null || _a === void 0 ? void 0 : _a.message) === 'cart-not-active') {
37
+ _this.loading = false;
38
+ return;
39
+ }
35
40
  res.error ? _this.invalidCoupon() : _this.applyCoupon();
36
41
  });
37
42
  };
@@ -68,4 +73,4 @@ var CouponEcComponent = /** @class */ (function (_super) {
68
73
  return CouponEcComponent;
69
74
  }(ComponentHelper));
70
75
  export { CouponEcComponent };
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cG9uLWVjLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9lYy1jb21wb25lbnQvY291cG9uLWVjL2NvdXBvbi1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFPekQ7SUFBdUMscUNBQWU7SUFNakQsMkJBQW1CLFdBQXdCLEVBQVksTUFBb0I7UUFBM0UsWUFDRyxpQkFBTyxTQUVUO1FBSGtCLGlCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVksWUFBTSxHQUFOLE1BQU0sQ0FBYztRQUpwRSxrQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUNsQixZQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsYUFBTyxHQUFHLEtBQUssQ0FBQztRQVd2QixlQUFTLEdBQUc7WUFDUCxLQUFJLENBQUMsV0FBVyxFQUFFLElBQUksS0FBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsS0FBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FDbkUsVUFBQSxHQUFHO2dCQUNFLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzNELENBQUMsQ0FDTCxDQUFBO1FBQ04sQ0FBQyxDQUFBO1FBRUQsbUJBQWEsR0FBRztZQUNYLEtBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDbkMsS0FBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7WUFDdkIsS0FBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDMUIsQ0FBQyxDQUFBO1FBRUQsaUJBQVcsR0FBRztZQUNULEtBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLEtBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQzFCLENBQUMsQ0FBQTtRQUVELGdCQUFVLEdBQUcsY0FBTSxPQUFBLEtBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxFQUFuQixDQUFtQixDQUFDO1FBRXZDLGlCQUFXLEdBQUc7WUFDVCxPQUFBLEtBQUksQ0FBQyxZQUFZLElBQUksdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxZQUFZLENBQUM7UUFBcEUsQ0FBb0UsQ0FBQztRQTdCdkUsS0FBSSxDQUFDLGFBQWEsRUFBRSxDQUFBOztJQUN2QixDQUFDO0lBRUQsb0NBQVEsR0FBUjtRQUNHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNuQixDQUFDOztnQkFQZ0MsV0FBVztnQkFBb0IsWUFBWTs7SUFObkUsaUJBQWlCO1FBTDdCLFNBQVMsQ0FBQztZQUNOLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLDhvQkFBdUM7O1NBRTNDLENBQUM7T0FDVyxpQkFBaUIsQ0FzQzdCO0lBQUQsd0JBQUM7Q0FBQSxBQXRDRCxDQUF1QyxlQUFlLEdBc0NyRDtTQXRDWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50SGVscGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9jb21wb25lbnQtaGVscGVyJztcbmltcG9ydCB7IENhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2FydC5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL3RvYXN0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAgc2VsZWN0b3I6ICdhcHAtY291cG9uLWVjJyxcbiAgICAgdGVtcGxhdGVVcmw6ICdjb3Vwb24tZWMuY29tcG9uZW50Lmh0bWwnLFxuICAgICBzdHlsZVVybHM6IFsnY291cG9uLWVjLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ291cG9uRWNDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRIZWxwZXIge1xuXG4gICAgIHB1YmxpYyBjb3Vwb25fdmFsdWUgPSBcIlwiO1xuICAgICBwdWJsaWMgYXBsaWVkID0gZmFsc2U7XG4gICAgIHB1YmxpYyBsb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgY29uc3RydWN0b3IocHVibGljIGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSwgcHJvdGVjdGVkIHRvYXN0cjogVG9hc3RTZXJ2aWNlKSB7IFxuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKVxuICAgICB9XG4gICAgIFxuICAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5lY09uSW5pdCgpXG4gICAgfVxuXG4gICAgIGFkZENvdXBvbiA9ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnZhbGlkQ291cG9uKCkgJiYgdGhpcy5jYXJ0U2VydmljZS5hZGRDb3Vwb24odGhpcy5jb3Vwb25fdmFsdWUpLnRoZW4oXG4gICAgICAgICAgICAgICByZXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXMuZXJyb3IgPyB0aGlzLmludmFsaWRDb3Vwb24oKSA6IHRoaXMuYXBwbHlDb3Vwb24oKTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICApXG4gICAgIH1cblxuICAgICBpbnZhbGlkQ291cG9uID0gKCkgPT4ge1xuICAgICAgICAgIHRoaXMudG9hc3RyLnNob3coJ2ludmFsaWQtY291cG9uJyk7XG4gICAgICAgICAgdGhpcy5jb3Vwb25fdmFsdWUgPSAnJztcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgfVxuXG4gICAgIGFwcGx5Q291cG9uID0gKCkgPT4ge1xuICAgICAgICAgIHRoaXMuYXBsaWVkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgfVxuXG4gICAgIHNldExvYWRpbmcgPSAoKSA9PiB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuXG4gICAgIHZhbGlkQ291cG9uID0gKCk6IGJvb2xlYW4gPT4gXG4gICAgICAgICAgdGhpcy5jb3Vwb25fdmFsdWUgJiYgL14oW0EtWmEtelxcLTAtOV0qKVxcdyskLy50ZXN0KHRoaXMuY291cG9uX3ZhbHVlKTtcbn0iXX0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cG9uLWVjLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9lYy1jb21wb25lbnQvY291cG9uLWVjL2NvdXBvbi1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFPekQ7SUFBdUMscUNBQWU7SUFNakQsMkJBQW1CLFdBQXdCLEVBQVksTUFBb0I7UUFBM0UsWUFDRyxpQkFBTyxTQUVUO1FBSGtCLGlCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVksWUFBTSxHQUFOLE1BQU0sQ0FBYztRQUpwRSxrQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUNsQixZQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsYUFBTyxHQUFHLEtBQUssQ0FBQztRQVd2QixlQUFTLEdBQUc7WUFDUCxLQUFJLENBQUMsV0FBVyxFQUFFLElBQUksS0FBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsS0FBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FDbkUsVUFBQSxHQUFHOztnQkFDRSxJQUFJLE9BQUEsR0FBRywwQ0FBRSxPQUFPLE1BQUssaUJBQWlCLEVBQUU7b0JBQ25DLEtBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO29CQUNyQixPQUFPO2lCQUNYO2dCQUNELEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzNELENBQUMsQ0FDTCxDQUFBO1FBQ04sQ0FBQyxDQUFBO1FBRUQsbUJBQWEsR0FBRztZQUNYLEtBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDbkMsS0FBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7WUFDdkIsS0FBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDMUIsQ0FBQyxDQUFBO1FBRUQsaUJBQVcsR0FBRztZQUNULEtBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLEtBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQzFCLENBQUMsQ0FBQTtRQUVELGdCQUFVLEdBQUcsY0FBTSxPQUFBLEtBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxFQUFuQixDQUFtQixDQUFDO1FBRXZDLGlCQUFXLEdBQUc7WUFDVCxPQUFBLEtBQUksQ0FBQyxZQUFZLElBQUksdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxZQUFZLENBQUM7UUFBcEUsQ0FBb0UsQ0FBQztRQWpDdkUsS0FBSSxDQUFDLGFBQWEsRUFBRSxDQUFBOztJQUN2QixDQUFDO0lBRUQsb0NBQVEsR0FBUjtRQUNHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNuQixDQUFDOztnQkFQZ0MsV0FBVztnQkFBb0IsWUFBWTs7SUFObkUsaUJBQWlCO1FBTDdCLFNBQVMsQ0FBQztZQUNOLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLDhvQkFBdUM7O1NBRTNDLENBQUM7T0FDVyxpQkFBaUIsQ0EwQzdCO0lBQUQsd0JBQUM7Q0FBQSxBQTFDRCxDQUF1QyxlQUFlLEdBMENyRDtTQTFDWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50SGVscGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9jb21wb25lbnQtaGVscGVyJztcbmltcG9ydCB7IENhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2FydC5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL3RvYXN0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAgc2VsZWN0b3I6ICdhcHAtY291cG9uLWVjJyxcbiAgICAgdGVtcGxhdGVVcmw6ICdjb3Vwb24tZWMuY29tcG9uZW50Lmh0bWwnLFxuICAgICBzdHlsZVVybHM6IFsnY291cG9uLWVjLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ291cG9uRWNDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRIZWxwZXIge1xuXG4gICAgIHB1YmxpYyBjb3Vwb25fdmFsdWUgPSBcIlwiO1xuICAgICBwdWJsaWMgYXBsaWVkID0gZmFsc2U7XG4gICAgIHB1YmxpYyBsb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgY29uc3RydWN0b3IocHVibGljIGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSwgcHJvdGVjdGVkIHRvYXN0cjogVG9hc3RTZXJ2aWNlKSB7IFxuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKVxuICAgICB9XG4gICAgIFxuICAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5lY09uSW5pdCgpXG4gICAgfVxuXG4gICAgIGFkZENvdXBvbiA9ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnZhbGlkQ291cG9uKCkgJiYgdGhpcy5jYXJ0U2VydmljZS5hZGRDb3Vwb24odGhpcy5jb3Vwb25fdmFsdWUpLnRoZW4oXG4gICAgICAgICAgICAgICByZXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzPy5tZXNzYWdlID09PSAnY2FydC1ub3QtYWN0aXZlJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXMuZXJyb3IgPyB0aGlzLmludmFsaWRDb3Vwb24oKSA6IHRoaXMuYXBwbHlDb3Vwb24oKTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICApXG4gICAgIH1cblxuICAgICBpbnZhbGlkQ291cG9uID0gKCkgPT4ge1xuICAgICAgICAgIHRoaXMudG9hc3RyLnNob3coJ2ludmFsaWQtY291cG9uJyk7XG4gICAgICAgICAgdGhpcy5jb3Vwb25fdmFsdWUgPSAnJztcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgfVxuXG4gICAgIGFwcGx5Q291cG9uID0gKCkgPT4ge1xuICAgICAgICAgIHRoaXMuYXBsaWVkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgfVxuXG4gICAgIHNldExvYWRpbmcgPSAoKSA9PiB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuXG4gICAgIHZhbGlkQ291cG9uID0gKCk6IGJvb2xlYW4gPT4gXG4gICAgICAgICAgdGhpcy5jb3Vwb25fdmFsdWUgJiYgL14oW0EtWmEtelxcLTAtOV0qKVxcdyskLy50ZXN0KHRoaXMuY291cG9uX3ZhbHVlKTtcbn1cbiJdfQ==
@@ -8,7 +8,7 @@ import { Injectable } from '@angular/core';
8
8
  import { Router, CanActivate, ActivatedRouteSnapshot } from '@angular/router';
9
9
  import { AuthService } from '../services/auth.service';
10
10
  import * as i0 from "@angular/core";
11
- import * as i1 from "../../public-api";
11
+ import * as i1 from "../services/auth.service";
12
12
  import * as i2 from "@angular/router";
13
13
  var AbleBuyerGuardService = /** @class */ (function () {
14
14
  function AbleBuyerGuardService(auth, router) {
@@ -25,7 +25,7 @@ var AbleBuyerGuardService = /** @class */ (function () {
25
25
  { type: AuthService },
26
26
  { type: Router }
27
27
  ]; };
28
- AbleBuyerGuardService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AbleBuyerGuardService_Factory() { return new i1.AbleBuyerGuardService(i0.ɵɵinject(i1.AuthService), i0.ɵɵinject(i2.Router)); }, token: i1.AbleBuyerGuardService, providedIn: "root" });
28
+ AbleBuyerGuardService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AbleBuyerGuardService_Factory() { return new AbleBuyerGuardService(i0.ɵɵinject(i1.AuthService), i0.ɵɵinject(i2.Router)); }, token: AbleBuyerGuardService, providedIn: "root" });
29
29
  AbleBuyerGuardService = __decorate([
30
30
  Injectable({
31
31
  providedIn: 'root'
@@ -8,7 +8,7 @@ import { Injectable } from '@angular/core';
8
8
  import { Router, CanActivate, ActivatedRouteSnapshot } from '@angular/router';
9
9
  import { AuthService } from '../services/auth.service';
10
10
  import * as i0 from "@angular/core";
11
- import * as i1 from "../../public-api";
11
+ import * as i1 from "../services/auth.service";
12
12
  import * as i2 from "@angular/router";
13
13
  var AuthGuardService = /** @class */ (function () {
14
14
  function AuthGuardService(auth, router) {
@@ -25,7 +25,7 @@ var AuthGuardService = /** @class */ (function () {
25
25
  { type: AuthService },
26
26
  { type: Router }
27
27
  ]; };
28
- AuthGuardService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new i1.AuthGuardService(i0.ɵɵinject(i1.AuthService), i0.ɵɵinject(i2.Router)); }, token: i1.AuthGuardService, providedIn: "root" });
28
+ AuthGuardService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new AuthGuardService(i0.ɵɵinject(i1.AuthService), i0.ɵɵinject(i2.Router)); }, token: AuthGuardService, providedIn: "root" });
29
29
  AuthGuardService = __decorate([
30
30
  Injectable({
31
31
  providedIn: 'root'
@@ -8,8 +8,8 @@ import { Injectable } from '@angular/core';
8
8
  import { Router, CanActivate } from '@angular/router';
9
9
  import { CheckoutService } from '../services/checkout/checkout.service';
10
10
  import * as i0 from "@angular/core";
11
- import * as i1 from "../../public-api";
12
- import * as i2 from "@angular/router";
11
+ import * as i1 from "@angular/router";
12
+ import * as i2 from "../services/checkout/checkout.service";
13
13
  var CheckoutReadyGuard = /** @class */ (function () {
14
14
  function CheckoutReadyGuard(router, checkoutService) {
15
15
  this.router = router;
@@ -25,7 +25,7 @@ var CheckoutReadyGuard = /** @class */ (function () {
25
25
  { type: Router },
26
26
  { type: CheckoutService }
27
27
  ]; };
28
- CheckoutReadyGuard.ɵprov = i0.ɵɵdefineInjectable({ factory: function CheckoutReadyGuard_Factory() { return new i1.CheckoutReadyGuard(i0.ɵɵinject(i2.Router), i0.ɵɵinject(i1.CheckoutService)); }, token: i1.CheckoutReadyGuard, providedIn: "root" });
28
+ CheckoutReadyGuard.ɵprov = i0.ɵɵdefineInjectable({ factory: function CheckoutReadyGuard_Factory() { return new CheckoutReadyGuard(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i2.CheckoutService)); }, token: CheckoutReadyGuard, providedIn: "root" });
29
29
  CheckoutReadyGuard = __decorate([
30
30
  Injectable({
31
31
  providedIn: 'root'
@@ -8,7 +8,7 @@ import { Injectable } from '@angular/core';
8
8
  import { Router, CanActivate } from '@angular/router';
9
9
  import { AuthService } from '../services/auth.service';
10
10
  import * as i0 from "@angular/core";
11
- import * as i1 from "../../public-api";
11
+ import * as i1 from "../services/auth.service";
12
12
  import * as i2 from "@angular/router";
13
13
  var LoggedInGuard = /** @class */ (function () {
14
14
  function LoggedInGuard(auth, router) {
@@ -25,7 +25,7 @@ var LoggedInGuard = /** @class */ (function () {
25
25
  { type: AuthService },
26
26
  { type: Router }
27
27
  ]; };
28
- LoggedInGuard.ɵprov = i0.ɵɵdefineInjectable({ factory: function LoggedInGuard_Factory() { return new i1.LoggedInGuard(i0.ɵɵinject(i1.AuthService), i0.ɵɵinject(i2.Router)); }, token: i1.LoggedInGuard, providedIn: "root" });
28
+ LoggedInGuard.ɵprov = i0.ɵɵdefineInjectable({ factory: function LoggedInGuard_Factory() { return new LoggedInGuard(i0.ɵɵinject(i1.AuthService), i0.ɵɵinject(i2.Router)); }, token: LoggedInGuard, providedIn: "root" });
29
29
  LoggedInGuard = __decorate([
30
30
  Injectable({
31
31
  providedIn: 'root'
@@ -8,7 +8,7 @@ import { Injectable } from '@angular/core';
8
8
  import { Router, CanActivate, ActivatedRouteSnapshot } from '@angular/router';
9
9
  import { AuthService } from '../services/auth.service';
10
10
  import * as i0 from "@angular/core";
11
- import * as i1 from "../../public-api";
11
+ import * as i1 from "../services/auth.service";
12
12
  import * as i2 from "@angular/router";
13
13
  var UserRoleGuardService = /** @class */ (function () {
14
14
  function UserRoleGuardService(auth, router) {
@@ -27,7 +27,7 @@ var UserRoleGuardService = /** @class */ (function () {
27
27
  { type: AuthService },
28
28
  { type: Router }
29
29
  ]; };
30
- UserRoleGuardService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserRoleGuardService_Factory() { return new i1.UserRoleGuardService(i0.ɵɵinject(i1.AuthService), i0.ɵɵinject(i2.Router)); }, token: i1.UserRoleGuardService, providedIn: "root" });
30
+ UserRoleGuardService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserRoleGuardService_Factory() { return new UserRoleGuardService(i0.ɵɵinject(i1.AuthService), i0.ɵɵinject(i2.Router)); }, token: UserRoleGuardService, providedIn: "root" });
31
31
  UserRoleGuardService = __decorate([
32
32
  Injectable({
33
33
  providedIn: 'root'
@@ -1 +1 @@
1
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmZhY2VzL2NoZWNrb3V0LWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIENoZWNrb3V0RGF0YVR5cGUgPSAndG90YWwnIHwgJ3N1YnRvdGFsJyB8ICdwcm9kdWN0c0JlZm9yZURpc2NvdW50cycgfCAnc2hpcG1lbnQnIHwgJ2NvdXBvbicgfCAnZGlzY291bnQnIHwgJ2xpbmVEaXNjb3VudCcgfCAndGF4ZXMnIHwgJ2NsaWVudFRheGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBDaGVja291dERhdGEge1xuICAgICB0eXBlOiBDaGVja291dERhdGFUeXBlLFxuICAgICBhbW91bnQ6IG51bWJlcixcbiAgICAgbmFtZTogc3RyaW5nLFxuICAgICB0YXhlc0luY2x1ZGVkSW5Ub3RhbD86IGJvb2xlYW5cbn1cbiJdfQ==
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmZhY2VzL2NoZWNrb3V0LWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIENoZWNrb3V0RGF0YVR5cGUgPSAndG90YWwnIHwgJ3N1YnRvdGFsJyB8ICdwcm9kdWN0c0JlZm9yZURpc2NvdW50cycgfCAnc2hpcG1lbnQnIHwgJ2NvdXBvbicgfCAnZGlzY291bnQnIHwgJ3BheW1lbnRNZXRob2RBZGp1c3RtZW50JyB8ICdsaW5lRGlzY291bnQnIHwgJ3RheGVzJyB8ICdjbGllbnRUYXhlcyc7XG5cbmV4cG9ydCB0eXBlIFBheW1lbnRNZXRob2RDaGFyZ2VUeXBlID0gJ3BlcmNlbnRhZ2UnIHwgJ2ZpeGVkJztcblxuZXhwb3J0IGludGVyZmFjZSBQYXltZW50TWV0aG9kQWRqdXN0bWVudFByZXZpZXcge1xuICAgIHR5cGU6IFBheW1lbnRNZXRob2RDaGFyZ2VUeXBlO1xuICAgIHZhbHVlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tvdXREYXRhIHtcbiAgICAgdHlwZTogQ2hlY2tvdXREYXRhVHlwZSxcbiAgICAgYW1vdW50OiBudW1iZXIsXG4gICAgIG5hbWU6IHN0cmluZyxcbiAgICAgdGF4ZXNJbmNsdWRlZEluVG90YWw/OiBib29sZWFuXG59XG4iXX0=