ng-easycommerce 0.0.691 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -0
- package/assets/ec-i18n/ct.json +3 -0
- package/assets/ec-i18n/en.json +3 -0
- package/assets/ec-i18n/es.json +3 -0
- package/assets/ec-i18n/fr.json +3 -0
- package/assets/ec-i18n/gl.json +3 -0
- package/assets/ec-i18n/pr.json +3 -0
- package/bundles/ng-easycommerce.umd.js +1219 -653
- package/bundles/ng-easycommerce.umd.js.map +1 -1
- package/bundles/ng-easycommerce.umd.min.js +1 -1
- package/bundles/ng-easycommerce.umd.min.js.map +1 -1
- package/esm2015/lib/ec-component/account-ec/order-ec/order-ec.component.js +103 -5
- package/esm2015/lib/ec-component/cart-ec/cart-ec.component.js +22 -8
- package/esm2015/lib/ec-component/checkout-ec/checkout-ec.component.js +34 -11
- package/esm2015/lib/ec-component/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.js +18 -7
- package/esm2015/lib/ec-component/sidebar-ec/sidebar-ec.component.js +12 -3
- package/esm2015/lib/interfaces/cart-item.js +1 -1
- package/esm2015/lib/interfaces/cart-totals.js +1 -0
- package/esm2015/lib/interfaces/channel.js +1 -0
- package/esm2015/lib/interfaces/checkout-data.js +1 -1
- package/esm2015/lib/interfaces/product.js +1 -1
- package/esm2015/lib/services/account/orders.service.js +18 -3
- package/esm2015/lib/services/cart.service.js +138 -23
- package/esm2015/lib/services/checkout/checkout.service.js +34 -4
- package/esm2015/lib/utils/order-util.service.js +99 -7
- package/esm2015/lib/utils/price-presentation.service.js +127 -0
- package/esm2015/public-api.js +2 -1
- package/esm5/lib/ec-component/account-ec/order-ec/order-ec.component.js +111 -5
- package/esm5/lib/ec-component/cart-ec/cart-ec.component.js +35 -8
- package/esm5/lib/ec-component/checkout-ec/checkout-ec.component.js +36 -13
- package/esm5/lib/ec-component/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.js +18 -7
- package/esm5/lib/ec-component/sidebar-ec/sidebar-ec.component.js +12 -3
- package/esm5/lib/interfaces/cart-item.js +1 -1
- package/esm5/lib/interfaces/cart-totals.js +1 -0
- package/esm5/lib/interfaces/channel.js +1 -0
- package/esm5/lib/interfaces/checkout-data.js +1 -1
- package/esm5/lib/interfaces/product.js +1 -1
- package/esm5/lib/services/account/orders.service.js +18 -3
- package/esm5/lib/services/cart.service.js +154 -23
- package/esm5/lib/services/checkout/checkout.service.js +30 -4
- package/esm5/lib/utils/order-util.service.js +99 -7
- package/esm5/lib/utils/price-presentation.service.js +130 -0
- package/esm5/public-api.js +2 -1
- package/fesm2015/ng-easycommerce.js +1181 -652
- package/fesm2015/ng-easycommerce.js.map +1 -1
- package/fesm5/ng-easycommerce.js +1219 -654
- package/fesm5/ng-easycommerce.js.map +1 -1
- package/lib/ec-component/account-ec/order-ec/order-ec.component.d.ts +15 -0
- package/lib/ec-component/cart-ec/cart-ec.component.d.ts +8 -1
- package/lib/ec-component/checkout-ec/checkout-ec.component.d.ts +1 -1
- package/lib/ec-component/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.d.ts +2 -2
- package/lib/interfaces/cart-item.d.ts +27 -2
- package/lib/interfaces/cart-totals.d.ts +19 -0
- package/lib/interfaces/channel.d.ts +15 -0
- package/lib/interfaces/checkout-data.d.ts +2 -1
- package/lib/interfaces/product.d.ts +48 -1
- package/lib/services/account/orders.service.d.ts +5 -0
- package/lib/services/cart.service.d.ts +26 -5
- package/lib/utils/order-util.service.d.ts +22 -0
- package/lib/utils/price-presentation.service.d.ts +56 -0
- package/ng-easycommerce.metadata.json +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +3 -0
|
@@ -28,8 +28,10 @@ let DetailCheckoutBlockEcComponent = class DetailCheckoutBlockEcComponent extend
|
|
|
28
28
|
switch (data_item.type) {
|
|
29
29
|
case 'coupon': return 'fas fa-ticket-alt fa-2x';
|
|
30
30
|
case 'discount': return 'fas fa-tags fa-2x';
|
|
31
|
+
case 'lineDiscount': return 'fas fa-tags fa-2x';
|
|
31
32
|
case 'shipment': return 'fas fa-shipping-fast fa-2x';
|
|
32
33
|
case 'subtotal': return 'fas fa-boxes fa-2x';
|
|
34
|
+
case 'productsBeforeDiscounts': return 'fas fa-boxes fa-2x';
|
|
33
35
|
case 'taxes': return 'fas fa-file-invoice-dollar fa-2x';
|
|
34
36
|
case 'total': return 'fas fa-shopping-basket fa-2x';
|
|
35
37
|
default: return 'fas fa-tags fa-2x';
|
|
@@ -81,17 +83,26 @@ let DetailCheckoutBlockEcComponent = class DetailCheckoutBlockEcComponent extend
|
|
|
81
83
|
.reduce((acc, curr) => acc + curr.amount, 0);
|
|
82
84
|
}
|
|
83
85
|
}
|
|
84
|
-
getTypeLabel(type) {
|
|
86
|
+
getTypeLabel(type, item) {
|
|
85
87
|
if (type === 'taxes') {
|
|
88
|
+
if (item && item.taxesIncludedInTotal === true)
|
|
89
|
+
return 'taxes-included-in-total';
|
|
90
|
+
if (item && item.taxesIncludedInTotal === false)
|
|
91
|
+
return 'taxes';
|
|
86
92
|
return this.showTaxLegend ? 'national-taxes' : 'taxes';
|
|
87
93
|
}
|
|
94
|
+
if (type === 'productsBeforeDiscounts')
|
|
95
|
+
return 'products-before-discounts';
|
|
88
96
|
return type;
|
|
89
97
|
}
|
|
90
|
-
shouldShowItem(type) {
|
|
91
|
-
|
|
98
|
+
shouldShowItem(type, item) {
|
|
99
|
+
var _a;
|
|
100
|
+
if (type === 'productsBeforeDiscounts' || type === 'lineDiscount')
|
|
101
|
+
return false;
|
|
102
|
+
if (type === 'discount' || type === 'coupon' || type === 'clientTaxes')
|
|
92
103
|
return false;
|
|
93
104
|
if (type === 'taxes')
|
|
94
|
-
return !this.hideTaxes;
|
|
105
|
+
return !this.hideTaxes && ((_a = item) === null || _a === void 0 ? void 0 : _a.taxesIncludedInTotal) !== true;
|
|
95
106
|
return true;
|
|
96
107
|
}
|
|
97
108
|
shouldHideSubtotal(item) {
|
|
@@ -125,9 +136,9 @@ __decorate([
|
|
|
125
136
|
DetailCheckoutBlockEcComponent = __decorate([
|
|
126
137
|
Component({
|
|
127
138
|
selector: 'app-detail-checkout-block-ec',
|
|
128
|
-
template: "<div id=\"appDetailCheckoutBlockEc\" class=\"d-flex flex-row w-100 justify-content-center flex-wrap\"\n *ngIf=\"data && (creditAccountShowPrices !== null ? creditAccountShowPrices : true)\">\n <ng-container *ngFor=\"let item of data; let i = index\">\n <ng-container *ngIf=\"shouldShowItem(item.type) && !shouldHideSubtotal(item)\">\n <div class=\"d-flex flex-column justify-content-center mx-sm-3 mx-2 text-center mb-4 resumen\">\n <i ngClass=\"mb-2 colorIconoCheckout\" [class]=\"getIcon(item)\"></i>\n <strong class=\"text-center w-100 font-brandon font-md mb-1\">\n {{ getTypeLabel(item.type) | translate }}\n </strong>\n <ng-container *ngIf=\"getAmountView(item) as priceView\">\n <span class=\"text-center w-100 font-brandon font-md text-gray resumen-price\"\n [class.resumen-price--discounted]=\"priceView.showOriginalPrice\"\n [class.resumen-price--free]=\"priceView.isFree\">\n <del *ngIf=\"priceView.showOriginalPrice\">\n {{ priceView.originalPrice | ecCurrencySymbol:'alwaysShowDecimals' }}\n </del>\n <strong>\n <ng-container *ngIf=\"priceView.isFree; else resumenPriceValue\">\n {{ 'free' | translate }}\n </ng-container>\n <ng-template #resumenPriceValue>\n {{ priceView.finalPrice | ecCurrencySymbol:'alwaysShowDecimals' }}\n </ng-template>\n </strong>\n </span>\n </ng-container>\n </div>\n </ng-container>\n\n\n <!-- Mostrar total de descuentos -->\n <div class=\"d-flex flex-column justify-content-center mx-sm-3 mx-2 text-center mb-4 resumen\"\n *ngIf=\"!hideDiscounts && this.discountTotal != 0 && i === 1\">\n <i ngClass=\"mb-2 colorIconoCheckout\" [class]=\"getIcon2('discount')\"></i>\n <strong class=\"text-center w-100 font-brandon font-md mb-1\">Descuento</strong>\n <span class=\"text-center w-100 font-brandon font-md text-gray\">{{ (this.discountTotal | ecCurrencySymbol:'alwaysShowDecimals')\n }}</span>\n </div>\n\n <!-- Mostrar total de cupones -->\n <div class=\"d-flex flex-column justify-content-center mx-sm-3 mx-2 text-center mb-4 resumen\"\n *ngIf=\"!hideDiscounts && this.couponTotal != 0 && i === 1\">\n <i ngClass=\"mb-2 colorIconoCheckout\" [class]=\"getIcon2('coupon')\"></i>\n <strong class=\"text-center w-100 font-brandon font-md mb-1\">Cupon</strong>\n <span class=\"text-center w-100 font-brandon font-md text-gray\">{{(this.couponTotal| ecCurrencySymbol:'alwaysShowDecimals')\n }}</span>\n </div>\n <div class=\"d-flex flex-column justify-content-center mx-sm-3 mx-2 text-center mb-4 resumen\"\n *ngIf=\"!hideTaxes && this.clientTaxes != 0 && i === 1\">\n <i ngClass=\"mb-2 colorIconoCheckout\" [class]=\"getIcon2('clienTaxe')\"></i>\n <strong class=\"text-center w-100 font-brandon font-md mb-1\">{{ 'clientTaxes' | translate }}</strong>\n <span class=\"text-center w-100 font-brandon font-md text-gray\">{{(this.clientTaxes | ecCurrencySymbol:'alwaysShowDecimals')\n }}</span>\n </div>\n </ng-container>\n</div>\n",
|
|
129
|
-
styles: [".resumen-price{display:inline-flex;flex-direction:column;align-items:center;gap:.15rem}.resumen-price del{color:#888;font-weight:500;text-decoration-thickness:1px}.resumen-price strong{font-weight:700}.resumen-price--free strong{color:var(--ec-success,#198754)}"]
|
|
139
|
+
template: "<div id=\"appDetailCheckoutBlockEc\" class=\"d-flex flex-row w-100 justify-content-center flex-wrap\"\n *ngIf=\"data && (creditAccountShowPrices !== null ? creditAccountShowPrices : true)\">\n <ng-container *ngFor=\"let item of data; let i = index\">\n <ng-container *ngIf=\"shouldShowItem(item.type, item) && !shouldHideSubtotal(item)\">\n <div class=\"d-flex flex-column justify-content-center mx-sm-3 mx-2 text-center mb-4 resumen\">\n <i ngClass=\"mb-2 colorIconoCheckout\" [class]=\"getIcon(item)\"></i>\n <strong class=\"text-center w-100 font-brandon font-md mb-1\">\n {{ getTypeLabel(item.type, item) | translate }}\n </strong>\n <ng-container *ngIf=\"getAmountView(item) as priceView\">\n <span class=\"text-center w-100 font-brandon font-md text-gray resumen-price\"\n [class.resumen-price--discounted]=\"priceView.showOriginalPrice\"\n [class.resumen-price--free]=\"priceView.isFree\">\n <del *ngIf=\"priceView.showOriginalPrice\">\n {{ priceView.originalPrice | ecCurrencySymbol:'alwaysShowDecimals' }}\n </del>\n <strong>\n <ng-container *ngIf=\"priceView.isFree; else resumenPriceValue\">\n {{ 'free' | translate }}\n </ng-container>\n <ng-template #resumenPriceValue>\n {{ priceView.finalPrice | ecCurrencySymbol:'alwaysShowDecimals' }}\n </ng-template>\n </strong>\n </span>\n </ng-container>\n </div>\n </ng-container>\n\n\n <!-- Mostrar total de descuentos -->\n <div class=\"d-flex flex-column justify-content-center mx-sm-3 mx-2 text-center mb-4 resumen\"\n *ngIf=\"!hideDiscounts && this.discountTotal != 0 && i === 1\">\n <i ngClass=\"mb-2 colorIconoCheckout\" [class]=\"getIcon2('discount')\"></i>\n <strong class=\"text-center w-100 font-brandon font-md mb-1\">Descuento</strong>\n <span class=\"text-center w-100 font-brandon font-md text-gray\">{{ (this.discountTotal | ecCurrencySymbol:'alwaysShowDecimals')\n }}</span>\n </div>\n\n <!-- Mostrar total de cupones -->\n <div class=\"d-flex flex-column justify-content-center mx-sm-3 mx-2 text-center mb-4 resumen\"\n *ngIf=\"!hideDiscounts && this.couponTotal != 0 && i === 1\">\n <i ngClass=\"mb-2 colorIconoCheckout\" [class]=\"getIcon2('coupon')\"></i>\n <strong class=\"text-center w-100 font-brandon font-md mb-1\">Cupon</strong>\n <span class=\"text-center w-100 font-brandon font-md text-gray\">{{(this.couponTotal| ecCurrencySymbol:'alwaysShowDecimals')\n }}</span>\n </div>\n <div class=\"d-flex flex-column justify-content-center mx-sm-3 mx-2 text-center mb-4 resumen\"\n *ngIf=\"!hideTaxes && this.clientTaxes != 0 && i === 1\">\n <i ngClass=\"mb-2 colorIconoCheckout\" [class]=\"getIcon2('clienTaxe')\"></i>\n <strong class=\"text-center w-100 font-brandon font-md mb-1\">{{ 'clientTaxes' | translate }}</strong>\n <span class=\"text-center w-100 font-brandon font-md text-gray\">{{(this.clientTaxes | ecCurrencySymbol:'alwaysShowDecimals')\n }}</span>\n </div>\n </ng-container>\n <ng-container *ngFor=\"let item of data\">\n <div class=\"checkout-tax-info\"\n *ngIf=\"item.type === 'taxes' && item.taxesIncludedInTotal === true && !hideTaxes\">\n <span>{{ getTypeLabel(item.type, item) | translate }}</span>\n <span>{{ item.amount | ecCurrencySymbol:'alwaysShowDecimals' }}</span>\n </div>\n </ng-container>\n</div>\n",
|
|
140
|
+
styles: [".resumen-price{display:inline-flex;flex-direction:column;align-items:center;gap:.15rem}.resumen-price del{color:#888;font-weight:500;text-decoration-thickness:1px}.resumen-price strong{font-weight:700}.resumen-price--free strong{color:var(--ec-success,#198754)}.checkout-tax-info{flex:0 0 100%;display:flex;justify-content:center;gap:.75rem;margin:-.5rem 0 1rem;padding-top:.75rem;border-top:1px solid #e5e7eb;color:#6b7280;font-size:.82rem;font-weight:400}.checkout-tax-info span:last-child{white-space:nowrap}"]
|
|
130
141
|
})
|
|
131
142
|
], DetailCheckoutBlockEcComponent);
|
|
132
143
|
export { DetailCheckoutBlockEcComponent };
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLWNoZWNrb3V0LWJsb2NrLWVjLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9lYy1jb21wb25lbnQvY2hlY2tvdXQtZWMvZGV0YWlsLWNoZWNrb3V0LWJsb2NrLWVjL2RldGFpbC1jaGVja291dC1ibG9jay1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBaUMsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUluRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQU81RixJQUFhLDhCQUE4QixHQUEzQyxNQUFhLDhCQUErQixTQUFRLGVBQWU7SUFZL0QsWUFBbUIsZUFBZ0MsRUFBVSxXQUF3QixFQUFTLG9CQUEwQyxFQUM1SCxvQkFBaUQ7UUFDekQsS0FBSyxFQUFFLENBQUM7UUFGTyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFTLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDNUgseUJBQW9CLEdBQXBCLG9CQUFvQixDQUE2QjtRQVZ0RCxTQUFJLEdBQUcsSUFBSSxDQUFBO1FBQ1gsa0JBQWEsR0FBRyxDQUFDLENBQUE7UUFDakIsZ0JBQVcsR0FBRyxDQUFDLENBQUE7UUFDZiw0QkFBdUIsR0FBbUIsSUFBSSxDQUFDO1FBQy9DLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLGNBQVMsR0FBWSxLQUFLLENBQUM7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QXNCLEdBQUcsT0FBQSxJQUFJLDBDQUFFLElBQUksTUFBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDbkcsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsY0FBYyxPQUFDLElBQUksMENBQUUsTUFBTSxFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVPLHlCQUF5Qjs7UUFDN0IsTUFBTSxZQUFZLEdBQVEsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsVUFBaUIsQ0FBQyxDQUFDO1FBQzlFLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLG1CQUFtQix5QkFDaEQsWUFBWSwwQ0FBRSxhQUFhLG1EQUMzQixZQUFZLDBDQUFFLFFBQVEsMENBQUUsYUFBYSwyREFDckMsWUFBWSwwQ0FBRSxRQUFRLDBDQUFFLFFBQVEsMENBQUUsYUFBYSx5Q0FDL0MsSUFBSSxHQUNQLENBQUM7SUFDTixDQUFDO0NBUUosQ0FBQTs7WUE5R3VDLGVBQWU7WUFBdUIsV0FBVztZQUErQixvQkFBb0I7WUFDdEcsMkJBQTJCOztBQVhwRDtJQUFSLEtBQUssRUFBRTtxRUFBYztBQUZiLDhCQUE4QjtJQUwxQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsOEJBQThCO1FBQ3hDLHNpSEFBd0Q7O0tBRTNELENBQUM7R0FDVyw4QkFBOEIsQ0EwSDFDO1NBMUhZLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIElucHV0LCBSZW5kZXJlcjIsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWV0YSwgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbXBvbmVudEhlbHBlciB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlcic7XG5pbXBvcnQgeyBDaGVja291dERhdGEgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2NoZWNrb3V0LWRhdGEnO1xuaW1wb3J0IHsgQ2hlY2tvdXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY2hlY2tvdXQvY2hlY2tvdXQuc2VydmljZSc7XG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBDaGFubmVsQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NoYW5uZWwtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2hpcHBpbmdQcmljZURpc3BsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvc2hpcHBpbmctcHJpY2UtZGlzcGxheS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtZGV0YWlsLWNoZWNrb3V0LWJsb2NrLWVjJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGV0YWlsLWNoZWNrb3V0LWJsb2NrLWVjLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kZXRhaWwtY2hlY2tvdXQtYmxvY2stZWMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGV0YWlsQ2hlY2tvdXRCbG9ja0VjQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50SGVscGVyIGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIEBJbnB1dCgpIGFzb2NpYXRlZERhdGFcbiAgICBwdWJsaWMgZGF0YSA9IG51bGxcbiAgICBwdWJsaWMgZGlzY291bnRUb3RhbCA9IDBcbiAgICBwdWJsaWMgY291cG9uVG90YWwgPSAwXG4gICAgcHVibGljIGNyZWRpdEFjY291bnRTaG93UHJpY2VzOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XG4gICAgcHVibGljIGhpZGVEaXNjb3VudHM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgaGlkZVRheGVzOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIHNob3dUYXhMZWdlbmQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgY2xpZW50VGF4ZXM6IG51bWJlcjtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBjaGVja291dFNlcnZpY2U6IENoZWNrb3V0U2VydmljZSwgcHJpdmF0ZSBjYXJ0U2VydmljZTogQ2FydFNlcnZpY2UsIHB1YmxpYyBjaGFubmVsQ29uZmlnU2VydmljZTogQ2hhbm5lbENvbmZpZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgc2hpcHBpbmdQcmljZURpc3BsYXk6IFNoaXBwaW5nUHJpY2VEaXNwbGF5U2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYXNvY2lhdGVkRGF0YSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhID0gdGhpcy5hc29jaWF0ZWREYXRhO1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhclRvdGFsZXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tvdXRTZXJ2aWNlLmFzb2NpYXRlZERhdGEkLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgICAgICAgICAgICAgIHRoaXMuY2FsY3VsYXJUb3RhbGVzKCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWNPbkluaXQoKVxuICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLnNob3dQcmljZSQuc3Vic2NyaWJlKChzaG93UHJpY2UpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY3JlZGl0QWNjb3VudFNob3dQcmljZXMgPSBzaG93UHJpY2U7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLmdldENsaWVudFRheGVzKCkuc3Vic2NyaWJlKCh0YXhlcykgPT4ge1xuICAgICAgICAgICAgdGhpcy5jbGllbnRUYXhlcyA9IHRheGVzO1xuICAgICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNoYW5uZWxDb25maWdTZXJ2aWNlLmNoYW5uZWxDb25maWckLnN1YnNjcmliZShjaGFubmVsID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGlkZURpc2NvdW50cyA9IGNoYW5uZWw/LmhpZGVEaXNjb3VudHMgPz8gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmhpZGVUYXhlcyA9IGNoYW5uZWw/LmhpZGVUYXhlcyA/PyBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuc2hvd1RheExlZ2VuZCA9IGNoYW5uZWw/LnNob3dUYXhMZWdlbmQgPz8gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNhbGN1bGFyVG90YWxlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNjb3VudFRvdGFsID0gMDtcbiAgICAgICAgdGhpcy5jb3Vwb25Ub3RhbCA9IDA7XG4gICAgICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzY291bnRUb3RhbCA9IHRoaXMuZGF0YVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoaXRlbSA9PiBpdGVtLnR5cGUgPT09ICdkaXNjb3VudCcpXG4gICAgICAgICAgICAgICAgLnJlZHVjZSgoYWNjLCBjdXJyKSA9PiBhY2MgKyBjdXJyLmFtb3VudCwgMCk7XG5cbiAgICAgICAgICAgIHRoaXMuY291cG9uVG90YWwgPSB0aGlzLmRhdGFcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGl0ZW0gPT4gaXRlbS50eXBlID09PSAnY291cG9uJylcbiAgICAgICAgICAgICAgICAucmVkdWNlKChhY2MsIGN1cnIpID0+IGFjYyArIGN1cnIuYW1vdW50LCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEljb24gPSAoZGF0YV9pdGVtOiBDaGVja291dERhdGEpID0+IHtcblxuICAgICAgICBzd2l0Y2ggKGRhdGFfaXRlbS50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdjb3Vwb24nOiByZXR1cm4gJ2ZhcyBmYS10aWNrZXQtYWx0IGZhLTJ4JztcbiAgICAgICAgICAgIGNhc2UgJ2Rpc2NvdW50JzogcmV0dXJuICdmYXMgZmEtdGFncyBmYS0yeCc7XG4gICAgICAgICAgICBjYXNlICdzaGlwbWVudCc6IHJldHVybiAnZmFzIGZhLXNoaXBwaW5nLWZhc3QgZmEtMngnO1xuICAgICAgICAgICAgY2FzZSAnc3VidG90YWwnOiByZXR1cm4gJ2ZhcyBmYS1ib3hlcyBmYS0yeCc7XG4gICAgICAgICAgICBjYXNlICd0YXhlcyc6IHJldHVybiAnZmFzIGZhLWZpbGUtaW52b2ljZS1kb2xsYXIgZmEtMngnO1xuICAgICAgICAgICAgY2FzZSAndG90YWwnOiByZXR1cm4gJ2ZhcyBmYS1zaG9wcGluZy1iYXNrZXQgZmEtMngnO1xuICAgICAgICAgICAgZGVmYXVsdDogcmV0dXJuICdmYXMgZmEtdGFncyBmYS0yeCc7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIGdldEljb24yID0gKGRhdGFfdHlwZSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKGRhdGFfdHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnY291cG9uJzogcmV0dXJuICdmYXMgZmEtdGlja2V0LWFsdCBmYS0yeCc7XG4gICAgICAgICAgICBjYXNlICdkaXNjb3VudCc6IHJldHVybiAnZmFzIGZhLXRhZ3MgZmEtMngnO1xuICAgICAgICAgICAgY2FzZSAnY2xpZW5UYXhlJzogcmV0dXJuICdmYXMgZmEtcGVyY2VudCBmYS0yeCc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRUeXBlTGFiZWwodHlwZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHR5cGUgPT09ICd0YXhlcycpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNob3dUYXhMZWdlbmQgPyAnbmF0aW9uYWwtdGF4ZXMnOiAndGF4ZXMnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0eXBlO1xuICAgIH1cblxuICAgIHNob3VsZFNob3dJdGVtKHR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodHlwZSA9PT0gJ2Rpc2NvdW50JyB8fCB0eXBlID09PSAnY291cG9uJykgcmV0dXJuIGZhbHNlO1xuICAgICAgICBpZiAodHlwZSA9PT0gJ3RheGVzJykgcmV0dXJuICF0aGlzLmhpZGVUYXhlcztcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgc2hvdWxkSGlkZVN1YnRvdGFsKGl0ZW06IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoaXRlbS50eXBlICE9PSAnc3VidG90YWwnKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGNvbnN0IHRvdGFsSXRlbSA9IHRoaXMuZGF0YT8uZmluZChkYXRhSXRlbSA9PiBkYXRhSXRlbS50eXBlID09PSAndG90YWwnKTtcbiAgICAgICAgXG4gICAgICAgIHJldHVybiB0b3RhbEl0ZW0gJiYgaXRlbS5hbW91bnQgPT09IHRvdGFsSXRlbS5hbW91bnQ7XG4gICAgfVxuXG4gICAgZ2V0QW1vdW50VmlldyhpdGVtOiBDaGVja291dERhdGEpIHtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxTaGlwbWVudEFtb3VudCA9IGl0ZW0/LnR5cGUgPT09ICdzaGlwbWVudCcgPyB0aGlzLmdldFNoaXBtZW50T3JpZ2luYWxBbW91bnQoKSA6IG51bGw7XG4gICAgICAgIHJldHVybiB0aGlzLnNoaXBwaW5nUHJpY2VEaXNwbGF5LmJ1aWxkVmlld01vZGVsKGl0ZW0/LmFtb3VudCwgb3JpZ2luYWxTaGlwbWVudEFtb3VudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTaGlwbWVudE9yaWdpbmFsQW1vdW50KCk6IG51bWJlciB8IG51bGwge1xuICAgICAgICBjb25zdCBzaGlwbWVudERhdGE6IGFueSA9IHRoaXMuY2hlY2tvdXRTZXJ2aWNlLmdldFN0ZXBEYXRhKCdzaGlwbWVudCcgYXMgYW55KTtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hpcHBpbmdQcmljZURpc3BsYXkubm9ybWFsaXplUHJpY2VWYWx1ZShcbiAgICAgICAgICAgIHNoaXBtZW50RGF0YT8ub3JpZ2luYWxQcmljZSA/P1xuICAgICAgICAgICAgc2hpcG1lbnREYXRhPy5jb250cmFjdD8ub3JpZ2luYWxQcmljZSA/P1xuICAgICAgICAgICAgc2hpcG1lbnREYXRhPy5zZWxlY3RlZD8uY29udHJhY3Q/Lm9yaWdpbmFsUHJpY2UgPz9cbiAgICAgICAgICAgIG51bGxcbiAgICAgICAgKTtcbiAgICB9XG4gICAgLy8gY2FzZSAnY291cG9uJzogcmV0dXJuICdhc3NldHMvaW1hZ2VzL2ljb25vc2RldGFpbGNoZWNrb3V0L3RpY2tldC1hbHQuc3ZnJztcbiAgICAvLyBjYXNlICdkaXNjb3VudCc6IHJldHVybiAnYXNzZXRzL2ltYWdlcy9pY29ub3NkZXRhaWxjaGVja291dC90YWdzLnN2Zyc7XG4gICAgLy8gY2FzZSAnc2hpcG1lbnQnOiByZXR1cm4gJ2Fzc2V0cy9pbWFnZXMvaWNvbm9zZGV0YWlsY2hlY2tvdXQvc2hpcHBpbmctZmFzdC5zdmcnO1xuICAgIC8vIGNhc2UgJ3N1YnRvdGFsJzogcmV0dXJuICdhc3NldHMvaW1hZ2VzL2ljb25vc2RldGFpbGNoZWNrb3V0L2JveGVzLnN2Zyc7XG4gICAgLy8gY2FzZSAndGF4ZXMnOiByZXR1cm4gJ2Fzc2V0cy9pbWFnZXMvaWNvbm9zZGV0YWlsY2hlY2tvdXQvZmlsZS1pbnZvaWNlLWRvbGxhci5zdmcnO1xuICAgIC8vIGNhc2UgJ3RvdGFsJzogcmV0dXJuICdhc3NldHMvaW1hZ2VzL2ljb25vc2RldGFpbGNoZWNrb3V0L3Nob3BwaW5nLWJhc2tldC5zdmcnO1xuICAgIC8vIGRlZmF1bHQ6IHJldHVybiAnYXNzZXRzL2ltYWdlcy9pY29ub3NkZXRhaWxjaGVja291dC9zaG9wcGluZy1iYXNrZXQuc3ZnJztcbn1cbiJdfQ==
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLWNoZWNrb3V0LWJsb2NrLWVjLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9lYy1jb21wb25lbnQvY2hlY2tvdXQtZWMvZGV0YWlsLWNoZWNrb3V0LWJsb2NrLWVjL2RldGFpbC1jaGVja291dC1ibG9jay1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBaUMsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUluRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQU81RixJQUFhLDhCQUE4QixHQUEzQyxNQUFhLDhCQUErQixTQUFRLGVBQWU7SUFZL0QsWUFBbUIsZUFBZ0MsRUFBVSxXQUF3QixFQUFTLG9CQUEwQyxFQUM1SCxvQkFBaUQ7UUFDekQsS0FBSyxFQUFFLENBQUM7UUFGTyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFTLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDNUgseUJBQW9CLEdBQXBCLG9CQUFvQixDQUE2QjtRQVZ0RCxTQUFJLEdBQUcsSUFBSSxDQUFBO1FBQ1gsa0JBQWEsR0FBRyxDQUFDLENBQUE7UUFDakIsZ0JBQVcsR0FBRyxDQUFDLENBQUE7UUFDZiw0QkFBdUIsR0FBbUIsSUFBSSxDQUFDO1FBQy9DLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLGNBQVMsR0FBWSxLQUFLLENBQUM7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WUFBdUIsV0FBVztZQUErQixvQkFBb0I7WUFDdEcsMkJBQTJCOztBQVhwRDtJQUFSLEtBQUssRUFBRTtxRUFBYztBQUZiLDhCQUE4QjtJQUwxQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsOEJBQThCO1FBQ3hDLGk3SEFBd0Q7O0tBRTNELENBQUM7R0FDVyw4QkFBOEIsQ0FnSTFDO1NBaElZLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIElucHV0LCBSZW5kZXJlcjIsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWV0YSwgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbXBvbmVudEhlbHBlciB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlcic7XG5pbXBvcnQgeyBDaGVja291dERhdGEgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2NoZWNrb3V0LWRhdGEnO1xuaW1wb3J0IHsgQ2hlY2tvdXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY2hlY2tvdXQvY2hlY2tvdXQuc2VydmljZSc7XG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBDaGFubmVsQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NoYW5uZWwtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2hpcHBpbmdQcmljZURpc3BsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvc2hpcHBpbmctcHJpY2UtZGlzcGxheS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtZGV0YWlsLWNoZWNrb3V0LWJsb2NrLWVjJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGV0YWlsLWNoZWNrb3V0LWJsb2NrLWVjLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kZXRhaWwtY2hlY2tvdXQtYmxvY2stZWMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGV0YWlsQ2hlY2tvdXRCbG9ja0VjQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50SGVscGVyIGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIEBJbnB1dCgpIGFzb2NpYXRlZERhdGFcbiAgICBwdWJsaWMgZGF0YSA9IG51bGxcbiAgICBwdWJsaWMgZGlzY291bnRUb3RhbCA9IDBcbiAgICBwdWJsaWMgY291cG9uVG90YWwgPSAwXG4gICAgcHVibGljIGNyZWRpdEFjY291bnRTaG93UHJpY2VzOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XG4gICAgcHVibGljIGhpZGVEaXNjb3VudHM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgaGlkZVRheGVzOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIHNob3dUYXhMZWdlbmQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgY2xpZW50VGF4ZXM6IG51bWJlcjtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBjaGVja291dFNlcnZpY2U6IENoZWNrb3V0U2VydmljZSwgcHJpdmF0ZSBjYXJ0U2VydmljZTogQ2FydFNlcnZpY2UsIHB1YmxpYyBjaGFubmVsQ29uZmlnU2VydmljZTogQ2hhbm5lbENvbmZpZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgc2hpcHBpbmdQcmljZURpc3BsYXk6IFNoaXBwaW5nUHJpY2VEaXNwbGF5U2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYXNvY2lhdGVkRGF0YSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhID0gdGhpcy5hc29jaWF0ZWREYXRhO1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhclRvdGFsZXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tvdXRTZXJ2aWNlLmFzb2NpYXRlZERhdGEkLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgICAgICAgICAgICAgIHRoaXMuY2FsY3VsYXJUb3RhbGVzKCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWNPbkluaXQoKVxuICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLnNob3dQcmljZSQuc3Vic2NyaWJlKChzaG93UHJpY2UpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY3JlZGl0QWNjb3VudFNob3dQcmljZXMgPSBzaG93UHJpY2U7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLmdldENsaWVudFRheGVzKCkuc3Vic2NyaWJlKCh0YXhlcykgPT4ge1xuICAgICAgICAgICAgdGhpcy5jbGllbnRUYXhlcyA9IHRheGVzO1xuICAgICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNoYW5uZWxDb25maWdTZXJ2aWNlLmNoYW5uZWxDb25maWckLnN1YnNjcmliZShjaGFubmVsID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGlkZURpc2NvdW50cyA9IGNoYW5uZWw/LmhpZGVEaXNjb3VudHMgPz8gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmhpZGVUYXhlcyA9IGNoYW5uZWw/LmhpZGVUYXhlcyA/PyBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuc2hvd1RheExlZ2VuZCA9IGNoYW5uZWw/LnNob3dUYXhMZWdlbmQgPz8gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNhbGN1bGFyVG90YWxlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNjb3VudFRvdGFsID0gMDtcbiAgICAgICAgdGhpcy5jb3Vwb25Ub3RhbCA9IDA7XG4gICAgICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzY291bnRUb3RhbCA9IHRoaXMuZGF0YVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoaXRlbSA9PiBpdGVtLnR5cGUgPT09ICdkaXNjb3VudCcpXG4gICAgICAgICAgICAgICAgLnJlZHVjZSgoYWNjLCBjdXJyKSA9PiBhY2MgKyBjdXJyLmFtb3VudCwgMCk7XG5cbiAgICAgICAgICAgIHRoaXMuY291cG9uVG90YWwgPSB0aGlzLmRhdGFcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGl0ZW0gPT4gaXRlbS50eXBlID09PSAnY291cG9uJylcbiAgICAgICAgICAgICAgICAucmVkdWNlKChhY2MsIGN1cnIpID0+IGFjYyArIGN1cnIuYW1vdW50LCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEljb24gPSAoZGF0YV9pdGVtOiBDaGVja291dERhdGEpID0+IHtcblxuICAgICAgICBzd2l0Y2ggKGRhdGFfaXRlbS50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdjb3Vwb24nOiByZXR1cm4gJ2ZhcyBmYS10aWNrZXQtYWx0IGZhLTJ4JztcbiAgICAgICAgICAgIGNhc2UgJ2Rpc2NvdW50JzogcmV0dXJuICdmYXMgZmEtdGFncyBmYS0yeCc7XG4gICAgICAgICAgICBjYXNlICdsaW5lRGlzY291bnQnOiByZXR1cm4gJ2ZhcyBmYS10YWdzIGZhLTJ4JztcbiAgICAgICAgICAgIGNhc2UgJ3NoaXBtZW50JzogcmV0dXJuICdmYXMgZmEtc2hpcHBpbmctZmFzdCBmYS0yeCc7XG4gICAgICAgICAgICBjYXNlICdzdWJ0b3RhbCc6IHJldHVybiAnZmFzIGZhLWJveGVzIGZhLTJ4JztcbiAgICAgICAgICAgIGNhc2UgJ3Byb2R1Y3RzQmVmb3JlRGlzY291bnRzJzogcmV0dXJuICdmYXMgZmEtYm94ZXMgZmEtMngnO1xuICAgICAgICAgICAgY2FzZSAndGF4ZXMnOiByZXR1cm4gJ2ZhcyBmYS1maWxlLWludm9pY2UtZG9sbGFyIGZhLTJ4JztcbiAgICAgICAgICAgIGNhc2UgJ3RvdGFsJzogcmV0dXJuICdmYXMgZmEtc2hvcHBpbmctYmFza2V0IGZhLTJ4JztcbiAgICAgICAgICAgIGRlZmF1bHQ6IHJldHVybiAnZmFzIGZhLXRhZ3MgZmEtMngnO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBnZXRJY29uMiA9IChkYXRhX3R5cGUpID0+IHtcbiAgICAgICAgc3dpdGNoIChkYXRhX3R5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ2NvdXBvbic6IHJldHVybiAnZmFzIGZhLXRpY2tldC1hbHQgZmEtMngnO1xuICAgICAgICAgICAgY2FzZSAnZGlzY291bnQnOiByZXR1cm4gJ2ZhcyBmYS10YWdzIGZhLTJ4JztcbiAgICAgICAgICAgIGNhc2UgJ2NsaWVuVGF4ZSc6IHJldHVybiAnZmFzIGZhLXBlcmNlbnQgZmEtMngnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0VHlwZUxhYmVsKHR5cGU6IHN0cmluZywgaXRlbT86IENoZWNrb3V0RGF0YSk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0eXBlID09PSAndGF4ZXMnKSB7XG4gICAgICAgICAgICBpZiAoaXRlbSAmJiBpdGVtLnRheGVzSW5jbHVkZWRJblRvdGFsID09PSB0cnVlKSByZXR1cm4gJ3RheGVzLWluY2x1ZGVkLWluLXRvdGFsJztcbiAgICAgICAgICAgIGlmIChpdGVtICYmIGl0ZW0udGF4ZXNJbmNsdWRlZEluVG90YWwgPT09IGZhbHNlKSByZXR1cm4gJ3RheGVzJztcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNob3dUYXhMZWdlbmQgPyAnbmF0aW9uYWwtdGF4ZXMnIDogJ3RheGVzJztcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZSA9PT0gJ3Byb2R1Y3RzQmVmb3JlRGlzY291bnRzJykgcmV0dXJuICdwcm9kdWN0cy1iZWZvcmUtZGlzY291bnRzJztcbiAgICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfVxuXG4gICAgc2hvdWxkU2hvd0l0ZW0odHlwZTogc3RyaW5nLCBpdGVtPzogQ2hlY2tvdXREYXRhKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0eXBlID09PSAncHJvZHVjdHNCZWZvcmVEaXNjb3VudHMnIHx8IHR5cGUgPT09ICdsaW5lRGlzY291bnQnKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGlmICh0eXBlID09PSAnZGlzY291bnQnIHx8IHR5cGUgPT09ICdjb3Vwb24nIHx8IHR5cGUgPT09ICdjbGllbnRUYXhlcycpIHJldHVybiBmYWxzZTtcbiAgICAgICAgaWYgKHR5cGUgPT09ICd0YXhlcycpIHJldHVybiAhdGhpcy5oaWRlVGF4ZXMgJiYgaXRlbT8udGF4ZXNJbmNsdWRlZEluVG90YWwgIT09IHRydWU7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHNob3VsZEhpZGVTdWJ0b3RhbChpdGVtOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKGl0ZW0udHlwZSAhPT0gJ3N1YnRvdGFsJykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBjb25zdCB0b3RhbEl0ZW0gPSB0aGlzLmRhdGE/LmZpbmQoZGF0YUl0ZW0gPT4gZGF0YUl0ZW0udHlwZSA9PT0gJ3RvdGFsJyk7XG4gICAgICAgIFxuICAgICAgICByZXR1cm4gdG90YWxJdGVtICYmIGl0ZW0uYW1vdW50ID09PSB0b3RhbEl0ZW0uYW1vdW50O1xuICAgIH1cblxuICAgIGdldEFtb3VudFZpZXcoaXRlbTogQ2hlY2tvdXREYXRhKSB7XG4gICAgICAgIGNvbnN0IG9yaWdpbmFsU2hpcG1lbnRBbW91bnQgPSBpdGVtPy50eXBlID09PSAnc2hpcG1lbnQnID8gdGhpcy5nZXRTaGlwbWVudE9yaWdpbmFsQW1vdW50KCkgOiBudWxsO1xuICAgICAgICByZXR1cm4gdGhpcy5zaGlwcGluZ1ByaWNlRGlzcGxheS5idWlsZFZpZXdNb2RlbChpdGVtPy5hbW91bnQsIG9yaWdpbmFsU2hpcG1lbnRBbW91bnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2hpcG1lbnRPcmlnaW5hbEFtb3VudCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgY29uc3Qgc2hpcG1lbnREYXRhOiBhbnkgPSB0aGlzLmNoZWNrb3V0U2VydmljZS5nZXRTdGVwRGF0YSgnc2hpcG1lbnQnIGFzIGFueSk7XG4gICAgICAgIHJldHVybiB0aGlzLnNoaXBwaW5nUHJpY2VEaXNwbGF5Lm5vcm1hbGl6ZVByaWNlVmFsdWUoXG4gICAgICAgICAgICBzaGlwbWVudERhdGE/Lm9yaWdpbmFsUHJpY2UgPz9cbiAgICAgICAgICAgIHNoaXBtZW50RGF0YT8uY29udHJhY3Q/Lm9yaWdpbmFsUHJpY2UgPz9cbiAgICAgICAgICAgIHNoaXBtZW50RGF0YT8uc2VsZWN0ZWQ/LmNvbnRyYWN0Py5vcmlnaW5hbFByaWNlID8/XG4gICAgICAgICAgICBudWxsXG4gICAgICAgICk7XG4gICAgfVxuICAgIC8vIGNhc2UgJ2NvdXBvbic6IHJldHVybiAnYXNzZXRzL2ltYWdlcy9pY29ub3NkZXRhaWxjaGVja291dC90aWNrZXQtYWx0LnN2Zyc7XG4gICAgLy8gY2FzZSAnZGlzY291bnQnOiByZXR1cm4gJ2Fzc2V0cy9pbWFnZXMvaWNvbm9zZGV0YWlsY2hlY2tvdXQvdGFncy5zdmcnO1xuICAgIC8vIGNhc2UgJ3NoaXBtZW50JzogcmV0dXJuICdhc3NldHMvaW1hZ2VzL2ljb25vc2RldGFpbGNoZWNrb3V0L3NoaXBwaW5nLWZhc3Quc3ZnJztcbiAgICAvLyBjYXNlICdzdWJ0b3RhbCc6IHJldHVybiAnYXNzZXRzL2ltYWdlcy9pY29ub3NkZXRhaWxjaGVja291dC9ib3hlcy5zdmcnO1xuICAgIC8vIGNhc2UgJ3RheGVzJzogcmV0dXJuICdhc3NldHMvaW1hZ2VzL2ljb25vc2RldGFpbGNoZWNrb3V0L2ZpbGUtaW52b2ljZS1kb2xsYXIuc3ZnJztcbiAgICAvLyBjYXNlICd0b3RhbCc6IHJldHVybiAnYXNzZXRzL2ltYWdlcy9pY29ub3NkZXRhaWxjaGVja291dC9zaG9wcGluZy1iYXNrZXQuc3ZnJztcbiAgICAvLyBkZWZhdWx0OiByZXR1cm4gJ2Fzc2V0cy9pbWFnZXMvaWNvbm9zZGV0YWlsY2hlY2tvdXQvc2hvcHBpbmctYmFza2V0LnN2Zyc7XG59XG4iXX0=
|
|
@@ -105,7 +105,10 @@ let SidebarEcComponent = class SidebarEcComponent {
|
|
|
105
105
|
*/
|
|
106
106
|
this.getDisplayedItemStrikeThroughTotal = (item) => {
|
|
107
107
|
var _a, _b;
|
|
108
|
-
const
|
|
108
|
+
const presentation = this.cartService.getCartItemPricePresentation(item);
|
|
109
|
+
const strikePrice = presentation.source === 'linePricing'
|
|
110
|
+
? Number(presentation.previous || 0)
|
|
111
|
+
: Number(((_a = this.cartService.getItemPricing(item)) === null || _a === void 0 ? void 0 : _a.strikePrice) || 0);
|
|
109
112
|
const quantity = Number(((_b = item) === null || _b === void 0 ? void 0 : _b.quantity) || 0);
|
|
110
113
|
if (strikePrice <= 0 || quantity <= 0) {
|
|
111
114
|
return 0;
|
|
@@ -118,7 +121,13 @@ let SidebarEcComponent = class SidebarEcComponent {
|
|
|
118
121
|
* @param item Ítem del carrito.
|
|
119
122
|
* @returns Monto total del renglón.
|
|
120
123
|
*/
|
|
121
|
-
this.getDisplayedItemTotal = (item) => {
|
|
124
|
+
this.getDisplayedItemTotal = (item) => {
|
|
125
|
+
var _a, _b;
|
|
126
|
+
const presentation = this.cartService.getCartItemPricePresentation(item);
|
|
127
|
+
return presentation.source === 'linePricing'
|
|
128
|
+
? presentation.subtotal
|
|
129
|
+
: Number((_b = (_a = item) === null || _a === void 0 ? void 0 : _a.total, (_b !== null && _b !== void 0 ? _b : 0)));
|
|
130
|
+
};
|
|
122
131
|
this.mediaUrl = this.consts.mediaUrl();
|
|
123
132
|
this.summaryPromotionAmount$ = this.cartService.getSummaryPromotionAmount();
|
|
124
133
|
this.hasAppliedCoupon$ = this.cartService.hasAppliedCoupon();
|
|
@@ -226,4 +235,4 @@ SidebarEcComponent = __decorate([
|
|
|
226
235
|
})
|
|
227
236
|
], SidebarEcComponent);
|
|
228
237
|
export { SidebarEcComponent };
|
|
229
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1lYXN5Y29tbWVyY2UvIiwic291cmNlcyI6WyJsaWIvZWMtY29tcG9uZW50L3NpZGViYXItZWMvc2lkZWJhci1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBNEMsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFLakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUkxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFLMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBVzdFLElBQWEsa0JBQWtCLEdBQS9CLE1BQWEsa0JBQWtCO0lBZTNCLFlBQ1csV0FBd0IsRUFDeEIsTUFBaUIsRUFDakIsV0FBd0IsRUFDeEIsTUFBYyxFQUNkLGFBQTJCLEVBQzNCLG9CQUEwQztRQUwxQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBbkI5QyxTQUFJLEdBQVMsSUFBSSxDQUFBO1FBRWpCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsbUJBQWMsR0FBYSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM5QyxrQkFBYSxHQUFZLEtBQUssQ0FB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S0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxTQUFTLElBQUksS0FBSyxJQUFJLFNBQVMsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRTtZQUN4RixPQUFPLEVBQUUsQ0FBQztTQUNiO1FBQ0QsSUFBSSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDekUsSUFBSSxlQUFlLEdBQUcsR0FBRyxrQkFBa0IsT0FBTyxDQUFDO1FBQ25ELE9BQU8sZUFBZSxDQUFDO0lBQzNCLENBQUM7Q0EyREosQ0FBQTs7WUFqTjJCLFdBQVc7WUFDaEIsU0FBUztZQUNKLFdBQVc7WUFDaEIsTUFBTTtZQUNDLFlBQVk7WUFDTCxvQkFBb0I7O0FBckI1QyxrQkFBa0I7SUFOOUIsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGdCQUFnQjtRQUMxQixZQUEwQzs7S0FFN0MsQ0FBQztHQUVXLGtCQUFrQixDQWlPOUI7U0FqT1ksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIFJlbmRlcmVyMiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIsIEV2ZW50LCBOYXZpZ2F0aW9uU3RhcnQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVEhJU19FWFBSIH0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXIvc3JjL291dHB1dC9vdXRwdXRfYXN0JztcbmltcG9ydCB7IE1lbnUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL25hdmJhci1pdGVtcyc7XG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICcuLi8uLi9jb3JlLmNvbnN0cyc7XG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBPcHRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29wdGlvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BhcmFtZXRlcnMuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9kdWN0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wcm9kdWN0cy9wcm9kdWN0cy5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbXBvbmVudEhlbHBlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBDdXJyZW5jeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jdXJyZW5jeS5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tIFwiLi4vLi4vY2xhc3Nlcy91c2VyXCI7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IENoYW5uZWxDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2hhbm5lbC1jb25maWcuc2VydmljZSc7XG5cblxuZGVjbGFyZSB2YXIgJDogYW55XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLXNpZGViYXItZWMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zaWRlYmFyLWVjLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zaWRlYmFyLWVjLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5cbmV4cG9ydCBjbGFzcyBTaWRlYmFyRWNDb21wb25lbnQge1xuXG4gICAgcHVibGljIHVzZXI6IFVzZXIgPSBudWxsXG4gICAgcHVibGljIG1lZGlhVXJsOiBzdHJpbmc7XG4gICAgcHVibGljIHByb21vdGlvbnMgPSBbXTtcbiAgICBwdWJsaWMgdmFyaWFudHNUb1Nob3c6IHN0cmluZ1tdID0gWydUQUxMRScsICdDT0xPUiddO1xuICAgIHB1YmxpYyBoaWRlRGlzY291bnRzOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGhpZGVUYXhlczogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBjcmVkaXRBY2NvdW50U2hvd1ByaWNlczogYm9vbGVhbiB8IG51bGwgPSBudWxsO1xuICAgIHB1YmxpYyBzaG93VGF4TGVnZW5kOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGNhcnRMb2FkaW5nID0gZmFsc2U7XG4gICAgcHVibGljIGVuYWJsZUZpZWxkTm90ZXNJbkFydGljbGVGaWxlOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIHN1bW1hcnlQcm9tb3Rpb25BbW91bnQkO1xuICAgIHB1YmxpYyBoYXNBcHBsaWVkQ291cG9uJDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgY2FydFNlcnZpY2U6IENhcnRTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgY29uc3RzOiBDb25zdGFudHMsXG4gICAgICAgIHB1YmxpYyBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHVibGljIHRvYXN0clNlcnZpY2U6IFRvYXN0U2VydmljZSxcbiAgICAgICAgcHVibGljIGNoYW5uZWxDb25maWdTZXJ2aWNlOiBDaGFubmVsQ29uZmlnU2VydmljZSkge1xuICAgICAgICB0aGlzLm1lZGlhVXJsID0gdGhpcy5jb25zdHMubWVkaWFVcmwoKTtcbiAgICAgICAgdGhpcy5zdW1tYXJ5UHJvbW90aW9uQW1vdW50JCA9IHRoaXMuY2FydFNlcnZpY2UuZ2V0U3VtbWFyeVByb21vdGlvbkFtb3VudCgpO1xuICAgICAgICB0aGlzLmhhc0FwcGxpZWRDb3Vwb24kID0gdGhpcy5jYXJ0U2VydmljZS5oYXNBcHBsaWVkQ291cG9uKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuY2FydFNlcnZpY2UucHJvbW90aW9ucy5zdWJzY3JpYmUocHJvbW90aW9ucyA9PiB0aGlzLnByb21vdGlvbnMgPSBwcm9tb3Rpb25zKTtcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRVc2VyUHJvZmlsZSgpLnN1YnNjcmliZSh1ID0+IHtcbiAgICAgICAgICAgIHRoaXMudXNlciA9IHVcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5jaGFubmVsQ29uZmlnU2VydmljZS5jaGFubmVsQ29uZmlnJC5zdWJzY3JpYmUoY2hhbm5lbCA9PiB7XG4gICAgICAgICAgICB0aGlzLmhpZGVEaXNjb3VudHMgPSBjaGFubmVsPy5oaWRlRGlzY291bnRzID8/IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5oaWRlVGF4ZXMgPSBjaGFubmVsPy5oaWRlVGF4ZXMgPz8gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnNob3dUYXhMZWdlbmQgPSBjaGFubmVsPy5zaG93VGF4TGVnZW5kID8/IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5lbmFibGVGaWVsZE5vdGVzSW5BcnRpY2xlRmlsZSA9IGNoYW5uZWw/LmVuYWJsZUZpZWxkTm90ZXNJbkFydGljbGVGaWxlID8/IGZhbHNlO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLnNob3dQcmljZSQuc3Vic2NyaWJlKChzaG93UHJpY2UpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY3JlZGl0QWNjb3VudFNob3dQcmljZXMgPSBzaG93UHJpY2U7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLmxvYWRpbmcuc3Vic2NyaWJlKGlzTG9hZGluZyA9PiB7XG4gICAgICAgICAgICB0aGlzLmNhcnRMb2FkaW5nID0gaXNMb2FkaW5nO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWN0dWFsaXphckNhbnRpZGFkKGl0ZW06IGFueSwgY2FudGlkYWQ6IG51bWJlciB8IHN0cmluZywgc3RvY2s6IG51bWJlciwgaWQ/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY2FydExvYWRpbmcpIHsgICAgICAgICAgICBcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtdWx0aXBsZVF1YW50aXR5ID0gaXRlbS5wcm9kdWN0Py52YXJpYW50cyAmJiBpdGVtLnByb2R1Y3QudmFyaWFudHMubGVuZ3RoID4gMCA/IGl0ZW0ucHJvZHVjdC52YXJpYW50c1swXS5tdWx0aXBsZVF1YW50aXR5IDogMDtcbiAgICAgICAgY29uc3Qgc3RlcCA9IG11bHRpcGxlUXVhbnRpdHkgJiYgbXVsdGlwbGVRdWFudGl0eSA+IDAgPyBtdWx0aXBsZVF1YW50aXR5IDogMTtcblxuICAgICAgICBsZXQgbmV3UXVhbnRpdHk6IG51bWJlcjtcblxuICAgICAgICBpZiAodHlwZW9mIGNhbnRpZGFkID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgbmV3UXVhbnRpdHkgPSBwYXJzZUludChjYW50aWRhZCwgMTApO1xuICAgICAgICAgICAgaWYgKG5ld1F1YW50aXR5ICUgc3RlcCAhPT0gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyU2VydmljZS5zaG93KCdtdXN0LWJlLW11bHRpcGxlJywge3F1YW50aXR5OiBzdGVwfSk7XG4gICAgICAgICAgICAgICAgbmV3UXVhbnRpdHkgPSBNYXRoLnJvdW5kKG5ld1F1YW50aXR5IC8gc3RlcCkgKiBzdGVwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3UXVhbnRpdHkgPSBjYW50aWRhZDtcbiAgICAgICAgICAgIGlmIChuZXdRdWFudGl0eSAlIHN0ZXAgIT09IDApIHtcbiAgICAgICAgICAgICAgICBuZXdRdWFudGl0eSA9IE1hdGgucm91bmQobmV3UXVhbnRpdHkgLyBzdGVwKSAqIHN0ZXA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBrZWVwU2FtZUNvbW1lbnQgPSBpdGVtPy5jb21tZW50cyA/PyB1bmRlZmluZWQ7XG4gICAgICAgIFxuICAgICAgICBpZiAoaWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW0gPSAoPEhUTUxJbnB1dEVsZW1lbnQ+ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpKTtcbiAgICAgICAgICAgIGlmIChlbGVtKSB7XG4gICAgICAgICAgICAgICAgZWxlbS5kaXNhYmxlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChuZXdRdWFudGl0eSA+IDAgJiYgbmV3UXVhbnRpdHkgPD0gc3RvY2spIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLnVwZGF0ZUl0ZW1RdWFudGl0eShpdGVtLCBuZXdRdWFudGl0eSwga2VlcFNhbWVDb21tZW50KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnNob3coJ291dC1vZi1zdG9jay1hY3R1YWxseScpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZWxlbSkge1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBlbGVtLmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSwgMTAwMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAobmV3UXVhbnRpdHkgPiAwICYmIG5ld1F1YW50aXR5IDw9IHN0b2NrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXJ0U2VydmljZS51cGRhdGVJdGVtUXVhbnRpdHkoaXRlbSwgbmV3UXVhbnRpdHksIGtlZXBTYW1lQ29tbWVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmVkaXJlY3REZXRhaWxQcm9kdWN0KHByb2R1Y3QpIHtcbiAgICAgICAgbGV0IHZhcmlhbnQgPSBwcm9kdWN0LnZhcmlhbnRzWzBdXG4gICAgICAgIGxldCBwYXRoID0gJy9wcm9kdWN0LydcbiAgICAgICAgcGF0aCArPSB2YXJpYW50LmNvZGVcbiAgICAgICAgcGF0aCArPSB2YXJpYW50Lm9wdGlvbnMubGVuZ3RoID8gXCI/dmFyaWFudD10cnVlXCIgOiBcIlwiXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwocGF0aClcbiAgICB9XG5cblxuXG4gICAgZ2V0VmFyaWFudHMgPSBwcm9kdWN0ID0+IHtcblxuICAgICAgICBsZXQgaXRlbSA9IHByb2R1Y3QucHJvZHVjdFxuXG4gICAgICAgIGlmIChpdGVtLnZhcmlhbnRzICYmIGl0ZW0udmFyaWFudHMubGVuZ3RoICYmIGl0ZW0udmFyaWFudHNbMF0ub3B0aW9ucyAmJiBpdGVtLnZhcmlhbnRzWzBdLm9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICBsZXQgb3B0aW9ucyA9IGl0ZW0udmFyaWFudHNbMF0ub3B0aW9uc1xuICAgICAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMuZmlsdGVyKG9wdGlvbiA9PiB0aGlzLnZhcmlhbnRzVG9TaG93LmZpbmQobmFtZSA9PiBvcHRpb24uaGFzT3duUHJvcGVydHkobmFtZSkpKVxuICAgICAgICAgICAgbGV0IG9wdGlvbnNNYXAgPSBbXVxuICAgICAgICAgICAgb3B0aW9ucy5tYXAob3B0aW9uID0+IHtcbiAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhvcHRpb24pLmZvckVhY2goKGVudHJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBvcHRpb25BZGRlZCA9IGZhbHNlOyAgLy8gVmFyaWFibGUgcGFyYSBldml0YXIgbcO6bHRpcGxlcyBpbnNlcmNpb25lc1xuXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0ub3B0aW9ucy5mb3JFYWNoKG9wdGlvbjIgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbjIuY29kZSA9PSAnQ09MT1InKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uMi52YWx1ZXMuZm9yRWFjaChjb2xvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb2xvci5jb2RlID09IG9wdGlvbltlbnRyeV0gJiYgIW9wdGlvbkFkZGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zTWFwLnB1c2goeyBuYW1lOiBlbnRyeSwgdmFsdWU6IG9wdGlvbltlbnRyeV0sIGltYWdlOiBjb2xvci5pbWFnZSwgbW9iaWxlSW1hZ2U6IGNvbG9yLm1vYmlsZUltYWdlIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uQWRkZWQgPSB0cnVlOyAvLyBNYXJjYXIgb3BjacOzbiBhZ3JlZ2FkYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAvLyBTaSBubyBzZSBhw7FhZGnDsyBsYSBvcGNpw7NuIGRlIENPTE9SLCBtYW5lamFyIG90cmFzIG9wY2lvbmVzXG4gICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9uQWRkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub3B0aW9ucy5mb3JFYWNoKG9wdGlvbjIgPT4ge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbjIuY29kZSAhPT0gJ0NPTE9SJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zTWFwLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogZW50cnksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogb3B0aW9uW2VudHJ5XVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25BZGRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uc01hcDtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gb3B0aW9uc01hcDtcblxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgfVxuXG4gICAgfVxuICAgIC8qKlxuICAgICAqIENvbnN0cnV5ZSBlbCBiYWRnZSBgJSBPRkZgIGxlZ2FjeSBhIHBhcnRpciBkZSBgcHJpY2VgIHkgYHNhbGVwcmljZWAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc2FsZXByaWNlIFByZWNpbyBkZSB2ZW50YSBhY3R1YWwuXG4gICAgICogQHBhcmFtIHByaWNlIFByZWNpbyBvcmlnaW5hbCB0YWNoYWRvLlxuICAgICAqIEByZXR1cm5zIFRleHRvIGRlbCBiYWRnZSBvIHN0cmluZyB2YWPDrW8gY3VhbmRvIG5vIGNvcnJlc3BvbmRlIG1vc3RyYXIgZGVzY3VlbnRvLlxuICAgICAqL1xuICAgIGNyZWF0ZURpc2NvdW50TWVzc2FnZShzYWxlcHJpY2U6IG51bWJlciwgcHJpY2U6IG51bWJlcik6IHN0cmluZyB7XG5cbiAgICAgICAgaWYgKGlzTmFOKHNhbGVwcmljZSkgfHwgaXNOYU4ocHJpY2UpIHx8IHNhbGVwcmljZSA+PSBwcmljZSB8fCBzYWxlcHJpY2UgPD0gMCB8fCBwcmljZSA8PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGRpc2NvdW50UGVyY2VudGFnZSA9IE1hdGgucm91bmQoKChwcmljZSAtIHNhbGVwcmljZSkgLyBwcmljZSkgKiAxMDApO1xuICAgICAgICBsZXQgZGlzY291bnRNZXNzYWdlID0gYCR7ZGlzY291bnRQZXJjZW50YWdlfSUgT0ZGYDtcbiAgICAgICAgcmV0dXJuIGRpc2NvdW50TWVzc2FnZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXZ1ZWx2ZSBlbCBwb3JjZW50YWplIGRlIGRlc2N1ZW50byBhIG1vc3RyYXIgcGFyYSB1biDDrXRlbSBkZWwgc2lkZWJhci5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtIMONdGVtIGRlbCBjYXJyaXRvLlxuICAgICAqIEByZXR1cm5zIFBvcmNlbnRhamUgZW50ZXJvIGRlIGRlc2N1ZW50by5cbiAgICAgKi9cbiAgICBnZXRJdGVtRGlzY291bnQgPSAoaXRlbSk6IG51bWJlciA9PiBOdW1iZXIodGhpcy5jYXJ0U2VydmljZS5nZXRJdGVtUHJpY2luZyhpdGVtKT8uZGlzY291bnRQZXJjZW50IHx8IDApO1xuXG4gICAgLyoqXG4gICAgICogRGV2dWVsdmUgZWwgcG9yY2VudGFqZSBlZmVjdGl2byB0b3RhbCBkZWwgw610ZW0sIGNvbnNpZGVyYW5kbyBwcm9tb2Npb25lcyB1bml0YXJpYXMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaXRlbSDDjXRlbSBkZWwgY2Fycml0by5cbiAgICAgKiBAcmV0dXJucyBQb3JjZW50YWplIGVudGVybyBjYWxjdWxhZG8gY29udHJhIGVsIHByZWNpbyBkZSByZWZlcmVuY2lhIGRlbCDDrXRlbS5cbiAgICAgKlxuICAgICAqIEByZW1hcmtzXG4gICAgICogU2kgZWwgZnJvbnRlbmQgbXVlc3RyYSBlbCBwcmVjaW8gZmluYWwgdW5pdGFyaW8ganVudG8gY29uIHVuIHByZWNpbyB0YWNoYWRvIGxlZ2FjeSxcbiAgICAgKiBlc3RlIGhlbHBlciBldml0YSBpbmNvbnNpc3RlbmNpYXMgdmlzdWFsZXMgZW4gZWwgYmFkZ2UgYCUgT0ZGYC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgdHNcbiAgICAgKiAvLyBzdHJpa2VQcmljZSAyNDAwMDAsIGZpbmFsUHJpY2UgNDUwMDAgPT4gODFcbiAgICAgKiB0aGlzLmdldEl0ZW1FZmZlY3RpdmVEaXNjb3VudChpdGVtKTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBnZXRJdGVtRWZmZWN0aXZlRGlzY291bnQgPSAoaXRlbSk6IG51bWJlciA9PiBOdW1iZXIodGhpcy5jYXJ0U2VydmljZS5nZXRJdGVtUHJpY2luZyhpdGVtKT8uZWZmZWN0aXZlRGlzY291bnRQZXJjZW50IHx8IDApO1xuXG4gICAgLyoqXG4gICAgICogRGV2dWVsdmUgZWwgcHJlY2lvIHRhY2hhZG8gZGVsIHJlbmdsw7NuIGNvbXBsZXRvLCBlc2NhbGFkbyBwb3IgY2FudGlkYWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaXRlbSDDjXRlbSBkZWwgY2Fycml0by5cbiAgICAgKiBAcmV0dXJucyBUb3RhbCB0YWNoYWRvIGRlbCByZW5nbMOzbiBvIGAwYCBjdWFuZG8gbm8gY29ycmVzcG9uZGUgbW9zdHJhcmxvLlxuICAgICAqXG4gICAgICogQHJlbWFya3NcbiAgICAgKiBFc3RlIGhlbHBlciBlcyDDunRpbCBlbiBzaWRlYmFycyBxdWUgcmVuZGVyaXphbiBwcmVjaW9zIHBvciByZW5nbMOzbiwgbm8gdW5pdGFyaW9zLlxuICAgICAqIEVqZW1wbG86IHNpIGVsIHByZWNpbyB0YWNoYWRvIHVuaXRhcmlvIGVzIGAxNTAwMGAgeSBsYSBjYW50aWRhZCBlcyBgMmAsXG4gICAgICogZWwgdmFsb3IgbW9zdHJhZG8gZGViZSBzZXIgYDMwMDAwYC5cbiAgICAgKi9cbiAgICBnZXREaXNwbGF5ZWRJdGVtU3RyaWtlVGhyb3VnaFRvdGFsID0gKGl0ZW0pOiBudW1iZXIgPT4ge1xuICAgICAgICBjb25zdCBzdHJpa2VQcmljZSA9IE51bWJlcih0aGlzLmNhcnRTZXJ2aWNlLmdldEl0ZW1QcmljaW5nKGl0ZW0pPy5zdHJpa2VQcmljZSB8fCAwKTtcbiAgICAgICAgY29uc3QgcXVhbnRpdHkgPSBOdW1iZXIoaXRlbT8ucXVhbnRpdHkgfHwgMCk7XG5cbiAgICAgICAgaWYgKHN0cmlrZVByaWNlIDw9IDAgfHwgcXVhbnRpdHkgPD0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc3RyaWtlUHJpY2UgKiBxdWFudGl0eTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXZ1ZWx2ZSBlbCBzdWJ0b3RhbCBhY3R1YWwgZGVsIHJlbmdsw7NuIHNlZ8O6biBiYWNrZW5kLlxuICAgICAqXG4gICAgICogQHBhcmFtIGl0ZW0gw410ZW0gZGVsIGNhcnJpdG8uXG4gICAgICogQHJldHVybnMgTW9udG8gdG90YWwgZGVsIHJlbmdsw7NuLlxuICAgICAqL1xuICAgIGdldERpc3BsYXllZEl0ZW1Ub3RhbCA9IChpdGVtKTogbnVtYmVyID0+IE51bWJlcihpdGVtPy50b3RhbCA/PyAwKTtcblxuXG59XG4iXX0=
|
|
238
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1lYXN5Y29tbWVyY2UvIiwic291cmNlcyI6WyJsaWIvZWMtY29tcG9uZW50L3NpZGViYXItZWMvc2lkZWJhci1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBNEMsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFLakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUkxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFLMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBVzdFLElBQWEsa0JBQWtCLEdBQS9CLE1BQWEsa0JBQWtCO0lBZTNCLFlBQ1csV0FBd0IsRUFDeEIsTUFBaUIsRUFDakIsV0FBd0IsRUFDeEIsTUFBYyxFQUNkLGFBQTJCLEVBQzNCLG9CQUEwQztRQUwxQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBbkI5QyxTQUFJLEdBQVMsSUFBSSxDQUFBO1FBRWpCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsbUJBQWMsR0FBYSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM5QyxrQkFBYSxHQUFZLEtBQUssQ0FB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LEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNqQyxJQUFJLElBQUksR0FBRyxXQUFXLENBQUE7UUFDdEIsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUE7UUFDcEIsSUFBSSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtRQUNyRCxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0lBbUREOzs7Ozs7T0FNRztJQUNILHFCQUFxQixDQUFDLFNBQWlCLEVBQUUsS0FBYTtRQUVsRCxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksU0FBUyxJQUFJLEtBQUssSUFBSSxTQUFTLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDeEYsT0FBTyxFQUFFLENBQUM7U0FDYjtRQUNELElBQUksa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3pFLElBQUksZUFBZSxHQUFHLEdBQUcsa0JBQWtCLE9BQU8sQ0FBQztRQUNuRCxPQUFPLGVBQWUsQ0FBQztJQUMzQixDQUFDO0NBbUVKLENBQUE7O1lBek4yQixXQUFXO1lBQ2hCLFNBQVM7WUFDSixXQUFXO1lBQ2hCLE1BQU07WUFDQyxZQUFZO1lBQ0wsb0JBQW9COztBQXJCNUMsa0JBQWtCO0lBTjlCLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxnQkFBZ0I7UUFDMUIsWUFBMEM7O0tBRTdDLENBQUM7R0FFVyxrQkFBa0IsQ0F5TzlCO1NBek9ZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25Jbml0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBFdmVudCwgTmF2aWdhdGlvblN0YXJ0IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRISVNfRVhQUiB9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyL3NyYy9vdXRwdXQvb3V0cHV0X2FzdCc7XG5pbXBvcnQgeyBNZW51IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9uYXZiYXItaXRlbXMnO1xuaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vY29yZS5jb25zdHMnO1xuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgT3B0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vcHRpb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGFyYW1ldGVyc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wYXJhbWV0ZXJzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvZHVjdHMvcHJvZHVjdHMuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBDb21wb25lbnRIZWxwZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2NvbXBvbmVudC1oZWxwZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQ3VycmVuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY3VycmVuY3kuc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSBcIi4uLy4uL2NsYXNzZXMvdXNlclwiO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvdG9hc3Quc2VydmljZSc7XG5pbXBvcnQgeyBDaGFubmVsQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NoYW5uZWwtY29uZmlnLnNlcnZpY2UnO1xuXG5cbmRlY2xhcmUgdmFyICQ6IGFueVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1zaWRlYmFyLWVjJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2lkZWJhci1lYy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2lkZWJhci1lYy5jb21wb25lbnQuc2NzcyddXG59KVxuXG5leHBvcnQgY2xhc3MgU2lkZWJhckVjQ29tcG9uZW50IHtcblxuICAgIHB1YmxpYyB1c2VyOiBVc2VyID0gbnVsbFxuICAgIHB1YmxpYyBtZWRpYVVybDogc3RyaW5nO1xuICAgIHB1YmxpYyBwcm9tb3Rpb25zID0gW107XG4gICAgcHVibGljIHZhcmlhbnRzVG9TaG93OiBzdHJpbmdbXSA9IFsnVEFMTEUnLCAnQ09MT1InXTtcbiAgICBwdWJsaWMgaGlkZURpc2NvdW50czogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBoaWRlVGF4ZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgY3JlZGl0QWNjb3VudFNob3dQcmljZXM6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcbiAgICBwdWJsaWMgc2hvd1RheExlZ2VuZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBjYXJ0TG9hZGluZyA9IGZhbHNlO1xuICAgIHB1YmxpYyBlbmFibGVGaWVsZE5vdGVzSW5BcnRpY2xlRmlsZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBzdW1tYXJ5UHJvbW90aW9uQW1vdW50JDtcbiAgICBwdWJsaWMgaGFzQXBwbGllZENvdXBvbiQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSxcbiAgICAgICAgcHVibGljIGNvbnN0czogQ29uc3RhbnRzLFxuICAgICAgICBwdWJsaWMgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHB1YmxpYyB0b2FzdHJTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBjaGFubmVsQ29uZmlnU2VydmljZTogQ2hhbm5lbENvbmZpZ1NlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5tZWRpYVVybCA9IHRoaXMuY29uc3RzLm1lZGlhVXJsKCk7XG4gICAgICAgIHRoaXMuc3VtbWFyeVByb21vdGlvbkFtb3VudCQgPSB0aGlzLmNhcnRTZXJ2aWNlLmdldFN1bW1hcnlQcm9tb3Rpb25BbW91bnQoKTtcbiAgICAgICAgdGhpcy5oYXNBcHBsaWVkQ291cG9uJCA9IHRoaXMuY2FydFNlcnZpY2UuaGFzQXBwbGllZENvdXBvbigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLnByb21vdGlvbnMuc3Vic2NyaWJlKHByb21vdGlvbnMgPT4gdGhpcy5wcm9tb3Rpb25zID0gcHJvbW90aW9ucyk7XG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0VXNlclByb2ZpbGUoKS5zdWJzY3JpYmUodSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVzZXIgPSB1XG4gICAgICAgIH0pXG4gICAgICAgIHRoaXMuY2hhbm5lbENvbmZpZ1NlcnZpY2UuY2hhbm5lbENvbmZpZyQuc3Vic2NyaWJlKGNoYW5uZWwgPT4ge1xuICAgICAgICAgICAgdGhpcy5oaWRlRGlzY291bnRzID0gY2hhbm5lbD8uaGlkZURpc2NvdW50cyA/PyBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuaGlkZVRheGVzID0gY2hhbm5lbD8uaGlkZVRheGVzID8/IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5zaG93VGF4TGVnZW5kID0gY2hhbm5lbD8uc2hvd1RheExlZ2VuZCA/PyBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlRmllbGROb3Rlc0luQXJ0aWNsZUZpbGUgPSBjaGFubmVsPy5lbmFibGVGaWVsZE5vdGVzSW5BcnRpY2xlRmlsZSA/PyBmYWxzZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jYXJ0U2VydmljZS5zaG93UHJpY2UkLnN1YnNjcmliZSgoc2hvd1ByaWNlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNyZWRpdEFjY291bnRTaG93UHJpY2VzID0gc2hvd1ByaWNlO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jYXJ0U2VydmljZS5sb2FkaW5nLnN1YnNjcmliZShpc0xvYWRpbmcgPT4ge1xuICAgICAgICAgICAgdGhpcy5jYXJ0TG9hZGluZyA9IGlzTG9hZGluZztcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFjdHVhbGl6YXJDYW50aWRhZChpdGVtOiBhbnksIGNhbnRpZGFkOiBudW1iZXIgfCBzdHJpbmcsIHN0b2NrOiBudW1iZXIsIGlkPzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNhcnRMb2FkaW5nKSB7ICAgICAgICAgICAgXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbXVsdGlwbGVRdWFudGl0eSA9IGl0ZW0ucHJvZHVjdD8udmFyaWFudHMgJiYgaXRlbS5wcm9kdWN0LnZhcmlhbnRzLmxlbmd0aCA+IDAgPyBpdGVtLnByb2R1Y3QudmFyaWFudHNbMF0ubXVsdGlwbGVRdWFudGl0eSA6IDA7XG4gICAgICAgIGNvbnN0IHN0ZXAgPSBtdWx0aXBsZVF1YW50aXR5ICYmIG11bHRpcGxlUXVhbnRpdHkgPiAwID8gbXVsdGlwbGVRdWFudGl0eSA6IDE7XG5cbiAgICAgICAgbGV0IG5ld1F1YW50aXR5OiBudW1iZXI7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBjYW50aWRhZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIG5ld1F1YW50aXR5ID0gcGFyc2VJbnQoY2FudGlkYWQsIDEwKTtcbiAgICAgICAgICAgIGlmIChuZXdRdWFudGl0eSAlIHN0ZXAgIT09IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRvYXN0clNlcnZpY2Uuc2hvdygnbXVzdC1iZS1tdWx0aXBsZScsIHtxdWFudGl0eTogc3RlcH0pO1xuICAgICAgICAgICAgICAgIG5ld1F1YW50aXR5ID0gTWF0aC5yb3VuZChuZXdRdWFudGl0eSAvIHN0ZXApICogc3RlcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld1F1YW50aXR5ID0gY2FudGlkYWQ7XG4gICAgICAgICAgICBpZiAobmV3UXVhbnRpdHkgJSBzdGVwICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgbmV3UXVhbnRpdHkgPSBNYXRoLnJvdW5kKG5ld1F1YW50aXR5IC8gc3RlcCkgKiBzdGVwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qga2VlcFNhbWVDb21tZW50ID0gaXRlbT8uY29tbWVudHMgPz8gdW5kZWZpbmVkO1xuICAgICAgICBcbiAgICAgICAgaWYgKGlkKSB7XG4gICAgICAgICAgICBjb25zdCBlbGVtID0gKDxIVE1MSW5wdXRFbGVtZW50PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSk7XG4gICAgICAgICAgICBpZiAoZWxlbSkge1xuICAgICAgICAgICAgICAgIGVsZW0uZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAobmV3UXVhbnRpdHkgPiAwICYmIG5ld1F1YW50aXR5IDw9IHN0b2NrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXJ0U2VydmljZS51cGRhdGVJdGVtUXVhbnRpdHkoaXRlbSwgbmV3UXVhbnRpdHksIGtlZXBTYW1lQ29tbWVudCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyU2VydmljZS5zaG93KCdvdXQtb2Ytc3RvY2stYWN0dWFsbHknKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGVsZW0pIHtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZWxlbS5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0sIDEwMDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKG5ld1F1YW50aXR5ID4gMCAmJiBuZXdRdWFudGl0eSA8PSBzdG9jaykge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FydFNlcnZpY2UudXBkYXRlSXRlbVF1YW50aXR5KGl0ZW0sIG5ld1F1YW50aXR5LCBrZWVwU2FtZUNvbW1lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJlZGlyZWN0RGV0YWlsUHJvZHVjdChwcm9kdWN0KSB7XG4gICAgICAgIGxldCB2YXJpYW50ID0gcHJvZHVjdC52YXJpYW50c1swXVxuICAgICAgICBsZXQgcGF0aCA9ICcvcHJvZHVjdC8nXG4gICAgICAgIHBhdGggKz0gdmFyaWFudC5jb2RlXG4gICAgICAgIHBhdGggKz0gdmFyaWFudC5vcHRpb25zLmxlbmd0aCA/IFwiP3ZhcmlhbnQ9dHJ1ZVwiIDogXCJcIlxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHBhdGgpXG4gICAgfVxuXG5cblxuICAgIGdldFZhcmlhbnRzID0gcHJvZHVjdCA9PiB7XG5cbiAgICAgICAgbGV0IGl0ZW0gPSBwcm9kdWN0LnByb2R1Y3RcblxuICAgICAgICBpZiAoaXRlbS52YXJpYW50cyAmJiBpdGVtLnZhcmlhbnRzLmxlbmd0aCAmJiBpdGVtLnZhcmlhbnRzWzBdLm9wdGlvbnMgJiYgaXRlbS52YXJpYW50c1swXS5vcHRpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgbGV0IG9wdGlvbnMgPSBpdGVtLnZhcmlhbnRzWzBdLm9wdGlvbnNcbiAgICAgICAgICAgIG9wdGlvbnMgPSBvcHRpb25zLmZpbHRlcihvcHRpb24gPT4gdGhpcy52YXJpYW50c1RvU2hvdy5maW5kKG5hbWUgPT4gb3B0aW9uLmhhc093blByb3BlcnR5KG5hbWUpKSlcbiAgICAgICAgICAgIGxldCBvcHRpb25zTWFwID0gW11cbiAgICAgICAgICAgIG9wdGlvbnMubWFwKG9wdGlvbiA9PiB7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmtleXMob3B0aW9uKS5mb3JFYWNoKChlbnRyeSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgb3B0aW9uQWRkZWQgPSBmYWxzZTsgIC8vIFZhcmlhYmxlIHBhcmEgZXZpdGFyIG3Dumx0aXBsZXMgaW5zZXJjaW9uZXNcblxuICAgICAgICAgICAgICAgICAgICBpdGVtLm9wdGlvbnMuZm9yRWFjaChvcHRpb24yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb24yLmNvZGUgPT0gJ0NPTE9SJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbjIudmFsdWVzLmZvckVhY2goY29sb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29sb3IuY29kZSA9PSBvcHRpb25bZW50cnldICYmICFvcHRpb25BZGRlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uc01hcC5wdXNoKHsgbmFtZTogZW50cnksIHZhbHVlOiBvcHRpb25bZW50cnldLCBpbWFnZTogY29sb3IuaW1hZ2UsIG1vYmlsZUltYWdlOiBjb2xvci5tb2JpbGVJbWFnZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbkFkZGVkID0gdHJ1ZTsgLy8gTWFyY2FyIG9wY2nDs24gYWdyZWdhZGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgLy8gU2kgbm8gc2UgYcOxYWRpw7MgbGEgb3BjacOzbiBkZSBDT0xPUiwgbWFuZWphciBvdHJhcyBvcGNpb25lc1xuICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbkFkZGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9wdGlvbnMuZm9yRWFjaChvcHRpb24yID0+IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb24yLmNvZGUgIT09ICdDT0xPUicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uc01hcC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGVudHJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IG9wdGlvbltlbnRyeV1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uQWRkZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbnNNYXA7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIG9wdGlvbnNNYXA7XG5cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgIH1cblxuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1eWUgZWwgYmFkZ2UgYCUgT0ZGYCBsZWdhY3kgYSBwYXJ0aXIgZGUgYHByaWNlYCB5IGBzYWxlcHJpY2VgLlxuICAgICAqXG4gICAgICogQHBhcmFtIHNhbGVwcmljZSBQcmVjaW8gZGUgdmVudGEgYWN0dWFsLlxuICAgICAqIEBwYXJhbSBwcmljZSBQcmVjaW8gb3JpZ2luYWwgdGFjaGFkby5cbiAgICAgKiBAcmV0dXJucyBUZXh0byBkZWwgYmFkZ2UgbyBzdHJpbmcgdmFjw61vIGN1YW5kbyBubyBjb3JyZXNwb25kZSBtb3N0cmFyIGRlc2N1ZW50by5cbiAgICAgKi9cbiAgICBjcmVhdGVEaXNjb3VudE1lc3NhZ2Uoc2FsZXByaWNlOiBudW1iZXIsIHByaWNlOiBudW1iZXIpOiBzdHJpbmcge1xuXG4gICAgICAgIGlmIChpc05hTihzYWxlcHJpY2UpIHx8IGlzTmFOKHByaWNlKSB8fCBzYWxlcHJpY2UgPj0gcHJpY2UgfHwgc2FsZXByaWNlIDw9IDAgfHwgcHJpY2UgPD0gMCkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgICAgIGxldCBkaXNjb3VudFBlcmNlbnRhZ2UgPSBNYXRoLnJvdW5kKCgocHJpY2UgLSBzYWxlcHJpY2UpIC8gcHJpY2UpICogMTAwKTtcbiAgICAgICAgbGV0IGRpc2NvdW50TWVzc2FnZSA9IGAke2Rpc2NvdW50UGVyY2VudGFnZX0lIE9GRmA7XG4gICAgICAgIHJldHVybiBkaXNjb3VudE1lc3NhZ2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGV2dWVsdmUgZWwgcG9yY2VudGFqZSBkZSBkZXNjdWVudG8gYSBtb3N0cmFyIHBhcmEgdW4gw610ZW0gZGVsIHNpZGViYXIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaXRlbSDDjXRlbSBkZWwgY2Fycml0by5cbiAgICAgKiBAcmV0dXJucyBQb3JjZW50YWplIGVudGVybyBkZSBkZXNjdWVudG8uXG4gICAgICovXG4gICAgZ2V0SXRlbURpc2NvdW50ID0gKGl0ZW0pOiBudW1iZXIgPT4gTnVtYmVyKHRoaXMuY2FydFNlcnZpY2UuZ2V0SXRlbVByaWNpbmcoaXRlbSk/LmRpc2NvdW50UGVyY2VudCB8fCAwKTtcblxuICAgIC8qKlxuICAgICAqIERldnVlbHZlIGVsIHBvcmNlbnRhamUgZWZlY3Rpdm8gdG90YWwgZGVsIMOtdGVtLCBjb25zaWRlcmFuZG8gcHJvbW9jaW9uZXMgdW5pdGFyaWFzLlxuICAgICAqXG4gICAgICogQHBhcmFtIGl0ZW0gw410ZW0gZGVsIGNhcnJpdG8uXG4gICAgICogQHJldHVybnMgUG9yY2VudGFqZSBlbnRlcm8gY2FsY3VsYWRvIGNvbnRyYSBlbCBwcmVjaW8gZGUgcmVmZXJlbmNpYSBkZWwgw610ZW0uXG4gICAgICpcbiAgICAgKiBAcmVtYXJrc1xuICAgICAqIFNpIGVsIGZyb250ZW5kIG11ZXN0cmEgZWwgcHJlY2lvIGZpbmFsIHVuaXRhcmlvIGp1bnRvIGNvbiB1biBwcmVjaW8gdGFjaGFkbyBsZWdhY3ksXG4gICAgICogZXN0ZSBoZWxwZXIgZXZpdGEgaW5jb25zaXN0ZW5jaWFzIHZpc3VhbGVzIGVuIGVsIGJhZGdlIGAlIE9GRmAuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYHRzXG4gICAgICogLy8gc3RyaWtlUHJpY2UgMjQwMDAwLCBmaW5hbFByaWNlIDQ1MDAwID0+IDgxXG4gICAgICogdGhpcy5nZXRJdGVtRWZmZWN0aXZlRGlzY291bnQoaXRlbSk7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgZ2V0SXRlbUVmZmVjdGl2ZURpc2NvdW50ID0gKGl0ZW0pOiBudW1iZXIgPT4gTnVtYmVyKHRoaXMuY2FydFNlcnZpY2UuZ2V0SXRlbVByaWNpbmcoaXRlbSk/LmVmZmVjdGl2ZURpc2NvdW50UGVyY2VudCB8fCAwKTtcblxuICAgIC8qKlxuICAgICAqIERldnVlbHZlIGVsIHByZWNpbyB0YWNoYWRvIGRlbCByZW5nbMOzbiBjb21wbGV0bywgZXNjYWxhZG8gcG9yIGNhbnRpZGFkLlxuICAgICAqXG4gICAgICogQHBhcmFtIGl0ZW0gw410ZW0gZGVsIGNhcnJpdG8uXG4gICAgICogQHJldHVybnMgVG90YWwgdGFjaGFkbyBkZWwgcmVuZ2zDs24gbyBgMGAgY3VhbmRvIG5vIGNvcnJlc3BvbmRlIG1vc3RyYXJsby5cbiAgICAgKlxuICAgICAqIEByZW1hcmtzXG4gICAgICogRXN0ZSBoZWxwZXIgZXMgw7p0aWwgZW4gc2lkZWJhcnMgcXVlIHJlbmRlcml6YW4gcHJlY2lvcyBwb3IgcmVuZ2zDs24sIG5vIHVuaXRhcmlvcy5cbiAgICAgKiBFamVtcGxvOiBzaSBlbCBwcmVjaW8gdGFjaGFkbyB1bml0YXJpbyBlcyBgMTUwMDBgIHkgbGEgY2FudGlkYWQgZXMgYDJgLFxuICAgICAqIGVsIHZhbG9yIG1vc3RyYWRvIGRlYmUgc2VyIGAzMDAwMGAuXG4gICAgICovXG4gICAgZ2V0RGlzcGxheWVkSXRlbVN0cmlrZVRocm91Z2hUb3RhbCA9IChpdGVtKTogbnVtYmVyID0+IHtcbiAgICAgICAgY29uc3QgcHJlc2VudGF0aW9uID0gdGhpcy5jYXJ0U2VydmljZS5nZXRDYXJ0SXRlbVByaWNlUHJlc2VudGF0aW9uKGl0ZW0pO1xuICAgICAgICBjb25zdCBzdHJpa2VQcmljZSA9IHByZXNlbnRhdGlvbi5zb3VyY2UgPT09ICdsaW5lUHJpY2luZydcbiAgICAgICAgICAgID8gTnVtYmVyKHByZXNlbnRhdGlvbi5wcmV2aW91cyB8fCAwKVxuICAgICAgICAgICAgOiBOdW1iZXIodGhpcy5jYXJ0U2VydmljZS5nZXRJdGVtUHJpY2luZyhpdGVtKT8uc3RyaWtlUHJpY2UgfHwgMCk7XG4gICAgICAgIGNvbnN0IHF1YW50aXR5ID0gTnVtYmVyKGl0ZW0/LnF1YW50aXR5IHx8IDApO1xuXG4gICAgICAgIGlmIChzdHJpa2VQcmljZSA8PSAwIHx8IHF1YW50aXR5IDw9IDApIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHN0cmlrZVByaWNlICogcXVhbnRpdHk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGV2dWVsdmUgZWwgc3VidG90YWwgYWN0dWFsIGRlbCByZW5nbMOzbiBzZWfDum4gYmFja2VuZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtIMONdGVtIGRlbCBjYXJyaXRvLlxuICAgICAqIEByZXR1cm5zIE1vbnRvIHRvdGFsIGRlbCByZW5nbMOzbi5cbiAgICAgKi9cbiAgICBnZXREaXNwbGF5ZWRJdGVtVG90YWwgPSAoaXRlbSk6IG51bWJlciA9PiB7XG4gICAgICAgIGNvbnN0IHByZXNlbnRhdGlvbiA9IHRoaXMuY2FydFNlcnZpY2UuZ2V0Q2FydEl0ZW1QcmljZVByZXNlbnRhdGlvbihpdGVtKTtcbiAgICAgICAgcmV0dXJuIHByZXNlbnRhdGlvbi5zb3VyY2UgPT09ICdsaW5lUHJpY2luZydcbiAgICAgICAgICAgID8gcHJlc2VudGF0aW9uLnN1YnRvdGFsXG4gICAgICAgICAgICA6IE51bWJlcihpdGVtPy50b3RhbCA/PyAwKTtcbiAgICB9XG5cblxufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1pdGVtLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2ludGVyZmFjZXMvY2FydC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBpbXBvcnQgeyBMb3QgfSBmcm9tICcuL2xvdCc7XG5pbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi9wcm9kdWN0JztcblxuLyoqXG4gKiBQcm9tb2Npw7NuIGFwbGljYWRhIGEgdW5hIHVuaWRhZCBkZWwgcHJvZHVjdG8uXG4gKlxuICogQHJlbWFya3NcbiAqIEVsIGJhY2tlbmQgbnVldm8gaW5mb3JtYSBlc3RhcyBwcm9tb2Npb25lcyBlbiBgaXRlbXNbXS51bml0UHJvbW90aW9uc2AuXG4gKiBTdXMgbW9udG9zIHNvbiBuZWdhdGl2b3MgY3VhbmRvIHJlcHJlc2VudGFuIGRlc2N1ZW50b3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2FydEl0ZW1Qcm9tb3Rpb24ge1xuICAgIC8qKiBNb250byBmaXJtYWRvIGFwbGljYWRvIHNvYnJlIHVuYSB1bmlkYWQgZGVsIHByb2R1Y3RvLiAqL1xuICAgIGFtb3VudDogbnVtYmVyO1xuICAgIC8qKiBUaXBvIHTDqWNuaWNvIGRlIHByb21vY2nDs24gaW5mb3JtYWRvIHBvciBiYWNrZW5kLiAqL1xuICAgIHR5cGU6IHN0cmluZztcbiAgICAvKiogTm9tYnJlIGxlZ2libGUgZGUgbGEgcHJvbW9jacOzbiBvIGRlc2N1ZW50by4gKi9cbiAgICBuYW1lOiBzdHJpbmc7XG59XG5cbi8qKiBWYWxvciBmaXNjYWwgZXhwbMOtY2l0byBkZSB1bmEgcGFydGUgZGUgbGEgbMOtbmVhIGRlbCBjYXJyaXRvLiAqL1xuZXhwb3J0IGludGVyZmFjZSBDYXJ0TGluZVByaWNpbmdWYWx1ZSB7XG4gICAgbmV0OiBudW1iZXI7XG4gICAgdGF4OiBudW1iZXI7XG4gICAgZ3Jvc3M6IG51bWJlcjtcbn1cblxuLyoqIENvbnRyYXRvIGFkaXRpdm8gZGUgcHJlY2lvcyBkZSBsw61uZWEgaW5mb3JtYWRvIHBvciBlbCBiYWNrZW5kLiAqL1xuZXhwb3J0IGludGVyZmFjZSBDYXJ0TGluZVByaWNpbmcge1xuICAgIHVuaXQ6IENhcnRMaW5lUHJpY2luZ1ZhbHVlO1xuICAgIGRpc2NvdW50OiBDYXJ0TGluZVByaWNpbmdWYWx1ZTtcbiAgICBzdWJ0b3RhbDogQ2FydExpbmVQcmljaW5nVmFsdWU7XG59XG5cbi8qKlxuICogUHJlY2lvcyBkZWwgw610ZW0gbm9ybWFsaXphZG9zIHBvciBlbCBjb3JlIHBhcmEgZXZpdGFyIGR1cGxpY2FyIGzDs2dpY2EgZW4gY2FkYSBmcm9udGVuZC5cbiAqXG4gKiBAcmVtYXJrc1xuICogRXN0YSBlc3RydWN0dXJhIHNlcGFyYSB0cmVzIGNvbmNlcHRvcyBkaXN0aW50b3M6XG4gKiAtIGBiYXNlUHJpY2VgOiBwcmVjaW8gdW5pdGFyaW8gZXhwbMOtY2l0byBkZWwgY2Fycml0byBjdWFuZG8gZWwgYmFja2VuZCBsbyBpbmZvcm1hO1xuICogICBlbiByZXNwdWVzdGFzIGxlZ2FjeSwgYHNhbGVwcmljZWAgc2kgZXhpc3RlLCBzaSBubyBgcHJpY2VgXG4gKiAtIGBzdHJpa2VQcmljZWA6IHByZWNpbyB0YWNoYWRvIGRlIGxhIGzDs2dpY2EgbGVnYWN5IGBwcmljZS9zYWxlcHJpY2VgXG4gKiAtIGBmaW5hbFByaWNlYDogcHJlY2lvIHVuaXRhcmlvIG5ldG8gbHVlZ28gZGUgYXBsaWNhciBkZXNjdWVudG9zIHByb3Bpb3MgZGUgbGEgbMOtbmVhXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2FydEl0ZW1QcmljaW5nIHtcbiAgICAvKiogUHJlY2lvIHVuaXRhcmlvIGJhc2UgcXVlIHlhIHVzYWJhIGVsIGZyb250ZW5kIGFudGVzIGRlIHNvcG9ydGFyIHByb21vY2lvbmVzIHVuaXRhcmlhcy4gKi9cbiAgICBiYXNlUHJpY2U6IG51bWJlcjtcbiAgICAvKiogUHJlY2lvIHVuaXRhcmlvIHRhY2hhZG8sIG8gYG51bGxgIGN1YW5kbyBubyBjb3JyZXNwb25kZSBtb3N0cmFybG8uICovXG4gICAgc3RyaWtlUHJpY2U6IG51bWJlciB8IG51bGw7XG4gICAgLyoqIFByZWNpbyB1bml0YXJpbyBmaW5hbCBsdWVnbyBkZSBhcGxpY2FyIHByb21vY2lvbmVzIHBvciB1bmlkYWQuICovXG4gICAgZmluYWxQcmljZTogbnVtYmVyO1xuICAgIC8qKiBTdW1hIGRlIHRvZG9zIGxvcyBkZXNjdWVudG9zL3Byb21vY2lvbmVzIHVuaXRhcmlvcy4gKi9cbiAgICB1bml0UHJvbW90aW9uVG90YWw6IG51bWJlcjtcbiAgICAvKiogSW5kaWNhIHNpIGVsIMOtdGVtIHRpZW5lIHByZWNpbyB0YWNoYWRvIGxlZ2FjeS4gKi9cbiAgICBoYXNTdHJpa2VQcmljZTogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhIHNpIGVsIMOtdGVtIHJlY2liacOzIHByb21vY2lvbmVzIHVuaXRhcmlhcyBkZXNkZSBiYWNrZW5kLiAqL1xuICAgIGhhc1VuaXRQcm9tb3Rpb25zOiBib29sZWFuO1xuICAgIC8qKiBQb3JjZW50YWplIGRlIGRlc2N1ZW50byBsZWdhY3kgYSBtb3N0cmFyIGVuIGJhZGdlIChgcHJpY2VgIHZzIGBzYWxlcHJpY2VgKS4gKi9cbiAgICBkaXNjb3VudFBlcmNlbnQ6IG51bWJlcjtcbiAgICAvKiogUG9yY2VudGFqZSBlZmVjdGl2byB1c2FuZG8gY29tbyByZWZlcmVuY2lhIGVsIHByZWNpbyBmaW5hbCB1bml0YXJpbyBsdWVnbyBkZSBwcm9tb2Npb25lcy4gKi9cbiAgICBlZmZlY3RpdmVEaXNjb3VudFBlcmNlbnQ6IG51bWJlcjtcbn1cblxuLyoqXG4gKiDDjXRlbSBkZWwgY2Fycml0byBub3JtYWxpemFkbyBwb3IgZWwgY29yZS5cbiAqXG4gKiBAcmVtYXJrc1xuICogRXN0ZSBjb250cmF0byBlcyBlbCBxdWUgY29uc3VtZW4gbG9zIGNvbXBvbmVudGVzIGRlIGNhcnJpdG8sIHNpZGViYXIgeSBjaGVja291dC5cbiAqIFNlIG1hbnRpZW5lIGNvbXBhdGlibGUgY29uIGJhY2tlbmRzIHZpZWpvczogY3VhbmRvIG5vIGV4aXN0ZSBgdW5pdFByb21vdGlvbnNgLFxuICogZWwgY29yZSBjb21wbGV0YSBgcHJpY2luZ2Agc2luIGFsdGVyYXIgbGEgc2Vtw6FudGljYSBsZWdhY3kgZGUgYHByb2R1Y3QucHJpY2VgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENhcnRJdGVtIHtcbiAgICBwcm9kdWN0Q29kZTogYW55LFxuICAgIHByb2R1Y3Q/OiBQcm9kdWN0O1xuICAgIHF1YW50aXR5OiBudW1iZXI7XG4gICAgdmFyaWFudF9pZDogbnVtYmVyO1xuICAgIHRvdGFsOiBudW1iZXI7XG4gICAgLyoqIFByZWNpbyB1bml0YXJpbyBleHBsw61jaXRvIGRlbCBjYXJyaXRvLCBzaW4gaW1wdWVzdG9zLCBjdWFuZG8gbG8gaW5mb3JtYSBlbCBiYWNrZW5kLiAqL1xuICAgIHVuaXRQcmljZT86IG51bWJlcjtcbiAgICAvKiogRGVzY3VlbnRvIHRvdGFsIHByb3BpbyBkZSBsYSBsw61uZWEsIHNpbiBkZXNjdWVudG9zIGdlbmVyYWxlcyBkZSBvcmRlbi4gKi9cbiAgICBkaXNjb3VudD86IG51bWJlcjtcbiAgICAvKiogU3VidG90YWwgZXhwbMOtY2l0byBkZSBsYSBsw61uZWEsIHNpbiBpbXB1ZXN0b3MgbmkgZGVzY3VlbnRvcyBnZW5lcmFsZXMgZGUgb3JkZW4uICovXG4gICAgc3VidG90YWw/OiBudW1iZXI7XG4gICAgLyoqIEltcHVlc3RvIHRvdGFsIGRlIGxhIGzDrW5lYSwgY3VhbmRvIGxvIGluZm9ybWEgZWwgYmFja2VuZC4gKi9cbiAgICB0YXhUb3RhbD86IG51bWJlcjtcbiAgICAvKiogUHJvbW9jaW9uZXMgdW5pdGFyaWFzIGNydWRhcyBkZXZ1ZWx0YXMgcG9yIGJhY2tlbmQuICovXG4gICAgdW5pdFByb21vdGlvbnM/OiBDYXJ0SXRlbVByb21vdGlvbltdO1xuICAgIC8qKiBWYWxvcmVzIG5ldG9zLCBmaXNjYWxlcyB5IGJydXRvcyBleHBsw61jaXRvcyBkZSBsYSBsw61uZWEgZGVsIGNhcnJpdG8uICovXG4gICAgbGluZVByaWNpbmc/OiBDYXJ0TGluZVByaWNpbmc7XG4gICAgLyoqIE5vbWJyZSByZWFsIHNlcmlhbGl6YWRvIHBvciBKTVM7IHNlIG5vcm1hbGl6YSB1bmEgc29sYSB2ZXogZW4gQ2FydFNlcnZpY2UuICovXG4gICAgbGluZV9wcmljaW5nPzogQ2FydExpbmVQcmljaW5nO1xuICAgIC8qKiBQcmVjaW9zIGRlcml2YWRvcyBsaXN0b3MgcGFyYSB1c2FyIGVuIGxhIFVJLiAqL1xuICAgIHByaWNpbmc/OiBDYXJ0SXRlbVByaWNpbmc7XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC10b3RhbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1lYXN5Y29tbWVyY2UvIiwic291cmNlcyI6WyJsaWIvaW50ZXJmYWNlcy9jYXJ0LXRvdGFscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFZhbG9yIGZpc2NhbCBleHBsw61jaXRvIHV0aWxpemFkbyBwb3IgbG9zIHRvdGFsZXMgZGVsIGNhcnJpdG8uICovXG5leHBvcnQgaW50ZXJmYWNlIENhcnRUb3RhbFByaWNpbmdWYWx1ZSB7XG4gICAgbmV0OiBudW1iZXI7XG4gICAgdGF4OiBudW1iZXI7XG4gICAgZ3Jvc3M6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBDb250cmF0b3MgYWRpdGl2b3Mgc2VyaWFsaXphZG9zIHBvciBlbCBiYWNrZW5kIGNvbiBub21icmVzIHNuYWtlX2Nhc2UuXG4gKiBMYXMgdmFyaWFudGVzIGNhbWVsQ2FzZSBwZXJtaXRlbiBjb25zdW1pciByZXNwdWVzdGFzIHlhIG5vcm1hbGl6YWRhcyBwb3JcbiAqIGludGVncmFjaW9uZXMgbGVnYWN5IHNpbiBjcmVhciB1bmEgc2VndW5kYSB0cmFuc2Zvcm1hY2nDs24gZ2xvYmFsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENhcnRUb3RhbHNQcmljaW5nIHtcbiAgICBvcmRlcl9kaXNjb3VudF9wcmljaW5nPzogQ2FydFRvdGFsUHJpY2luZ1ZhbHVlO1xuICAgIGNvdXBvbl9kaXNjb3VudF9wcmljaW5nPzogQ2FydFRvdGFsUHJpY2luZ1ZhbHVlO1xuICAgIHNoaXBwaW5nX3ByaWNpbmc/OiBDYXJ0VG90YWxQcmljaW5nVmFsdWU7XG4gICAgb3JkZXJEaXNjb3VudFByaWNpbmc/OiBDYXJ0VG90YWxQcmljaW5nVmFsdWU7XG4gICAgY291cG9uRGlzY291bnRQcmljaW5nPzogQ2FydFRvdGFsUHJpY2luZ1ZhbHVlO1xuICAgIHNoaXBwaW5nUHJpY2luZz86IENhcnRUb3RhbFByaWNpbmdWYWx1ZTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmZhY2VzL2NoYW5uZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29uZmlndXJhY2nDs24gZGUgY2FuYWwgdXRpbGl6YWRhIHBvciBlbCBjb3JlLlxuICpcbiAqIExhcyBwcm9waWVkYWRlcyBzb24gb3BjaW9uYWxlcyBwYXJhIGNvbnNlcnZhciBjb21wYXRpYmlsaWRhZCBjb24gcmVzcHVlc3Rhc1xuICogbGVnYWN5IHkgc2UgbWFudGllbmUgdW5hIGV4dGVuc2nDs24gYWJpZXJ0YSBwYXJhIGVsIHJlc3RvIGRlIGxhIGNvbmZpZ3VyYWNpw7NuLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENoYW5uZWwge1xuICAgIGNvZGU/OiBzdHJpbmc7XG4gICAgdHlwZT86IHN0cmluZztcbiAgICBzaG93UHJpY2VXaXRoVGF4ZXNXaGlsZUJyb3dzaW5nPzogYm9vbGVhbjtcbiAgICBzaG93VGF4TGVnZW5kPzogYm9vbGVhbjtcbiAgICBoaWRlVGF4ZXM/OiBib29sZWFuO1xuICAgIGhpZGVEaXNjb3VudHM/OiBib29sZWFuO1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmZhY2VzL2NoZWNrb3V0LWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIENoZWNrb3V0RGF0YVR5cGUgPSAndG90YWwnIHwgJ3N1YnRvdGFsJyB8ICdwcm9kdWN0c0JlZm9yZURpc2NvdW50cycgfCAnc2hpcG1lbnQnIHwgJ2NvdXBvbicgfCAnZGlzY291bnQnIHwgJ2xpbmVEaXNjb3VudCcgfCAndGF4ZXMnIHwgJ2NsaWVudFRheGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBDaGVja291dERhdGEge1xuICAgICB0eXBlOiBDaGVja291dERhdGFUeXBlLFxuICAgICBhbW91bnQ6IG51bWJlcixcbiAgICAgbmFtZTogc3RyaW5nLFxuICAgICB0YXhlc0luY2x1ZGVkSW5Ub3RhbD86IGJvb2xlYW5cbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmZhY2VzL3Byb2R1Y3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIFByb2R1Y3QgQ29sb3JzXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RDb2xvciA9ICd3aGl0ZScgfCAnYmxhY2snIHwgJ3JlZCcgfCAnZ3JlZW4nIHwgJ3B1cnBsZScgfCAneWVsbG93JyB8ICdibHVlJyB8ICdncmF5JyB8ICdvcmFuZ2UnIHwgJ3BpbmsnO1xyXG5cclxuLy8gUHJvZHVjdCBTaXplXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RTaXplID0gJ00nIHwgJ0wnIHwgJ1hMJztcclxuXHJcbi8vIFByb2R1Y3QgVGFnXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RUYWdzID0gJ25pa2UnIHwgJ3B1bWEnIHwgJ2xpZmVzdHlsZScgfCAnY2FwcmVzZSc7XG5cbi8qKiBWYWxvcmVzIGZpc2NhbGVzIGV4cGzDrWNpdG9zIGRlIHVuIHByZWNpbyBkZSBwcm9kdWN0by92YXJpYW50ZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdFByaWNpbmdWYWx1ZSB7XG4gICAgbmV0OiBudW1iZXI7XG4gICAgdGF4OiBudW1iZXI7XG4gICAgZ3Jvc3M6IG51bWJlcjtcbn1cblxuLyoqIE1ldGFkYXRvcyBmaXNjYWxlcyBkZWwgcHJlY2lvIGluZm9ybWFkbyBwb3IgZWwgYmFja2VuZC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdFByaWNpbmdUYXgge1xuICAgIGhhc1RheDogYm9vbGVhbjtcbiAgICByYXRlOiBudW1iZXIgfCBudWxsO1xuICAgIGluY2x1ZGVkSW5QcmljZTogYm9vbGVhbiB8IG51bGw7XG59XG5cbi8qKiBDb250cmF0byBhZGl0aXZvIGRlIHByaWNpbmcgZGUgUHJvZHVjdFZhcmlhbnRWaWV3LiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0VmFyaWFudFByaWNpbmcge1xuICAgIGN1cnJlbnQ6IFByb2R1Y3RQcmljaW5nVmFsdWU7XG4gICAgcHJldmlvdXM6IFByb2R1Y3RQcmljaW5nVmFsdWUgfCBudWxsO1xuICAgIHRheDogUHJvZHVjdFByaWNpbmdUYXg7XG59XG5cbi8qKiBWYXJpYW50ZSBkZSBwcm9kdWN0bywgY29uc2VydmFuZG8gbG9zIGNhbXBvcyBsZWdhY3kgY29uc3VtaWRvcyBwb3IgZWwgY29yZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdFZhcmlhbnQge1xuICAgIGNvZGU/OiBhbnk7XG4gICAgcHJpY2U/OiBhbnk7XG4gICAgc2FsZXByaWNlPzogYW55O1xuICAgIHByaWNlV2l0aG91dFRheGVzPzogYW55O1xuICAgIHRheGVzPzogYW55O1xuICAgIHRheFJhdGU/OiBhbnk7XG4gICAgdGF4SW5jbHVkZWQ/OiBhbnk7XG4gICAgdGF4TGVnZW5kSW5mbz86IGFueTtcbiAgICBjYXJ0QW5kU2lkZWJhclByaWNlcz86IGFueTtcbiAgICBmaW5hbF9jb25zdW1lcl9wcmljZT86IGFueTtcbiAgICBvcmlnaW5hbF9maW5hbF9jb25zdW1lcl9wcmljZT86IGFueTtcbiAgICBkaXNjb3VudD86IGFueTtcbiAgICBvcHRpb25zPzogYW55W107XG4gICAgaW1hZ2VzPzogYW55W107XG4gICAgcHJvcGVydGllcz86IGFueTtcbiAgICBzdG9jaz86IG51bWJlcjtcbiAgICBtdWx0aXBsZVF1YW50aXR5PzogbnVtYmVyO1xuICAgIG1pbmltdW1JdGVtc1F1YW50aXR5PzogbnVtYmVyO1xuICAgIG1heGltdW1JdGVtc1F1YW50aXR5PzogbnVtYmVyO1xuICAgIG1heGltdW1BbW91bnQ/OiBudW1iZXI7XG4gICAgbWluaW11bUFtb3VudD86IG51bWJlcjtcbiAgICBkYXRlQ3JlYXRlPzogYW55O1xuICAgIGRhdGVFeHBpcmVkPzogYW55O1xuICAgIHVuaXF1ZUV4dGVybmFsQ29kZT86IGFueTtcbiAgICBwcmljaW5nPzogUHJvZHVjdFZhcmlhbnRQcmljaW5nO1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxyXG4vLyBQcm9kdWN0XHJcbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdCB7XHJcbiAgICBpZD86IG51bWJlcjtcclxuICAgIGNhdGVnb3J5Pzogc3RyaW5nOyAvLyBDb2RpZ28gZGUgY2F0ZWdvcmlhXHJcbiAgICBuYW1lPzogc3RyaW5nOyAvLyBUaXR1bG9cclxuICAgIHByaWNlPzogYW55O1xyXG4gICAgc2FsZXByaWNlPzogYW55O1xyXG4gICAgZGlzY291bnQ/OiBudW1iZXI7IC8vIFBvcmNlbnRhamUgZGUgZGVzY3VlbnRvIC0gRW4gZGVzdXNvXHJcbiAgICBwaWN0dXJlc2RlZmF1bHQ/OiBzdHJpbmdbXTsgLy8gTGlzdGFkbyBjb24gdG9kYXMgbGFzIGltYWdlbmVzIGFzb2NpYWRhcyBhbCBwcm9kdWN0b1xyXG4gICAgcGljdHVyZXN2YXJpYW50cz86IGFueVtdO1xyXG4gICAgb3B0aW9ucz86IGFueTtcclxuICAgIHNob3J0ZGV0YWlscz86IHN0cmluZztcclxuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nOyAvLyBIVE1MXHJcbiAgICB0YWc/OiBhbnlbXTtcclxuICAgIHJhdGluZz86IG51bWJlciB8IHN0cmluZztcclxuICAgIHNwZWNpYWxfbWFyaz86IGFueVtdO1xyXG4gICAgdmFyaWFudHM/OiBQcm9kdWN0VmFyaWFudFtdO1xuXHJcbiAgICAvL2hlbHBlcnNcclxuICAgIHByb2R1Y3RUb0NhcnRJdGVtPzogUHJvZHVjdFRvQ2FydEl0ZW07XHJcbiAgICBjdXJyZW50T3B0aW9uPzogQ3VycmVudE9wdGlvbixcclxuICAgIHByb2R1Y3RXaXRoVW5pcXVlVmFyaWFudD86IFByb2R1Y3RbXTtcclxuICAgIHN0b2NrPzogbnVtYmVyOyAvLyBQYXJhIG1hbmVqbyBpbnRlcmxvLCBlbiBiYXNlIGEgbGEvcyB2YXJpYW50ZS9zIHNlbGVjY2lvbmFkYS9zXHJcbiAgICB2YXJpYW50X2lkPzogbnVtYmVyOyAvLyBQYXJhIG1hbmVqbyBpbnRlcmxvLCBlbiBiYXNlIGEgbGEvcyB2YXJpYW50ZS9zIHNlbGVjY2lvbmFkYS9zXHJcbn1cclxuXHJcbi8vIENvbG9yIEZpbHRlclxyXG5leHBvcnQgaW50ZXJmYWNlIENvbG9yRmlsdGVyIHtcclxuICAgIGNvbG9yPzogUHJvZHVjdENvbG9yO1xyXG59XHJcblxyXG4vLyBUYWcgRmlsdGVyXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFnRmlsdGVyIHtcclxuICAgIHRhZz86IFByb2R1Y3RUYWdzXHJcbn1cclxuXHJcbi8vIFRhZyBQcm9kdWN0VG9DYXJ0SXRlbVxyXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RUb0NhcnRJdGVtIHtcclxuICAgIHByb2R1Y3RDb2RlPzogc3RyaW5nLFxyXG4gICAgdmFyaWFudENvZGU/OiBzdHJpbmcsXHJcbiAgICBxdWFudGl0eT86IG51bWJlcixcclxuICAgIHRvdGFsQ29zdD86IG51bWJlcixcclxuICAgIGZpbmFsUHJpY2U/OiBudW1iZXIsXHJcbn1cclxuXHJcbi8vIFRhZyBDdXJyZW50T3B0aW9uXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VycmVudE9wdGlvbiB7XHJcbiAgICBjb2RlPzogc3RyaW5nLFxyXG4gICAgbmFtZT86IHN0cmluZyxcclxuICAgIHN0b2NrPzogbnVtYmVyLFxyXG4gICAgcHJvZHVjdENvZGU/OiBzdHJpbmcsXHJcbiAgICB2YXJpYW50Q29kZT86IHN0cmluZyxcclxuICAgIGZpbmFsUHJpY2U/OiBudW1iZXIsXHJcbn1cbiJdfQ==
|
|
@@ -45,9 +45,24 @@ let OrdersService = class OrdersService {
|
|
|
45
45
|
});
|
|
46
46
|
};
|
|
47
47
|
this.mapOrdersAndAddInfo = (orders) => orders.map(order => {
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
const normalizedOrder = this.normalizeOrderPricing(order);
|
|
49
|
+
normalizedOrder.total = normalizedOrder.payments.reduce((a, b) => a + b.price.current, 0);
|
|
50
|
+
return normalizedOrder;
|
|
50
51
|
});
|
|
52
|
+
/**
|
|
53
|
+
* Normaliza únicamente los aliases de los contratos históricos nuevos.
|
|
54
|
+
* La respuesta original se conserva para no afectar otros consumidores.
|
|
55
|
+
*/
|
|
56
|
+
this.normalizeOrderPricing = (order) => {
|
|
57
|
+
var _a, _b, _c;
|
|
58
|
+
const totals = (_a = order) === null || _a === void 0 ? void 0 : _a.totals;
|
|
59
|
+
return Object.assign(Object.assign({}, order), { items: Array.isArray((_b = order) === null || _b === void 0 ? void 0 : _b.items)
|
|
60
|
+
? order.items.map(item => {
|
|
61
|
+
var _a, _b;
|
|
62
|
+
return (Object.assign(Object.assign({}, item), { linePricing: ((_a = item) === null || _a === void 0 ? void 0 : _a.linePricing) || ((_b = item) === null || _b === void 0 ? void 0 : _b.line_pricing) }));
|
|
63
|
+
})
|
|
64
|
+
: (_c = order) === null || _c === void 0 ? void 0 : _c.items, totals: totals ? Object.assign(Object.assign({}, totals), { orderDiscountPricing: totals.orderDiscountPricing || totals.order_discount_pricing, couponDiscountPricing: totals.couponDiscountPricing || totals.coupon_discount_pricing, shippingPricing: totals.shippingPricing || totals.shipping_pricing }) : totals });
|
|
65
|
+
};
|
|
51
66
|
this.findOrder = (order_number) => this.ordersSubject.value ? this.getOrderByNumber(order_number) : this.waitUntilOrders(order_number, this.getOrderByNumber);
|
|
52
67
|
this.getOrderByNumber = (order_number) => {
|
|
53
68
|
// El dia de mañana, cuando vengan paginadas y haya que preguntarle al servidor, se cambia este metodo
|
|
@@ -99,4 +114,4 @@ OrdersService = __decorate([
|
|
|
99
114
|
})
|
|
100
115
|
], OrdersService);
|
|
101
116
|
export { OrdersService };
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1lYXN5Y29tbWVyY2UvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvYWNjb3VudC9vcmRlcnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7O0FBTTlDLElBQWEsYUFBYSxHQUExQixNQUFhLGFBQWE7SUFjdEIsWUFBb0IsVUFBNkIsRUFBVSxXQUF3QixFQUFVLE1BQWMsRUFBVSxNQUFpQjtRQUNsSSx1QkFBdUI7UUFEUCxlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVc7UUFiL0gsa0JBQWEsR0FBUSxFQUFFLENBQUM7UUFDdkIsa0JBQWEsR0FBeUIsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEUsaUJBQVksR0FBcUMsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0UseUJBQW9CLEdBQXlCLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXhFLFlBQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzVDLFdBQU0sR0FBRyxJQUFJ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QUFDLENBQUM7UUFDbkcsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztDQUNKLENBQUE7O1lBeEVtQyxpQkFBaUI7WUFBdUIsV0FBVztZQUFrQixNQUFNO1lBQWtCLFNBQVM7OztBQWQ3SCxhQUFhO0lBSHpCLFVBQVUsQ0FBQztRQUNSLFVBQVUsRUFBRSxNQUFNO0tBQ3JCLENBQUM7R0FDVyxhQUFhLENBc0Z6QjtTQXRGWSxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ29ubmVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9hcGkvY29ubmVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vY2FydC5zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGVFcnJvciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvb2JzZXJ2YWJsZS1lcnJvci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vY29yZS5jb25zdHMnO1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgT3JkZXJzU2VydmljZSB7XG4gICAgcHVibGljIGNoYW5uZWxDb25maWc6IGFueSA9IHt9O1xuICAgIHByaXZhdGUgb3JkZXJzU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICAgIHByaXZhdGUgZXJyb3JTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8T2JzZXJ2YWJsZUVycm9yPiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG4gICAgcHJpdmF0ZSBzZWxlY3RlZE9yZGVyU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuXG4gICAgcHVibGljIG9yZGVycyQgPSB0aGlzLm9yZGVyc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgcHVibGljIGVycm9yJCA9IHRoaXMuZXJyb3JTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHB1YmxpYyBzZWxlY3RlZE9yZGVyJCA9IHRoaXMuc2VsZWN0ZWRPcmRlclN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBwcml2YXRlIGxvYWRpbmcgPSBmYWxzZTtcblxuICAgIG9yZGVyc0xpc3RhcGkgPSAoKSA9PiBgc2hvcC1hcGkvJHt0aGlzLmNvbnN0cy5nZXRDaGFubmVsKCl9L29yZGVyc2A7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbm5lY3Rpb246IENvbm5lY3Rpb25TZXJ2aWNlLCBwcml2YXRlIGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBjb25zdHM6IENvbnN0YW50cykge1xuICAgICAgICAvLyB0aGlzLnVwZGF0ZU9yZGVycygpO1xuXG4gICAgfVxuXG4gICAgdXBkYXRlT3JkZXJzID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb24uZ2V0KHRoaXMub3JkZXJzTGlzdGFwaSgpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBvcmRlcnMgPSB0aGlzLm1hcE9yZGVyc0FuZEFkZEluZm8ocmVzKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9yZGVycztcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICByZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3JkZXJzU3ViamVjdC5uZXh0KHJlc3BvbnNlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVycm9yU3ViamVjdC5uZXh0KHsgbWVzc2FnZTogJ3VuYWJsZS1nZXQtb3JkZXJzJyB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApXG5cbiAgICB9XG5cbiAgICBtYXBPcmRlcnNBbmRBZGRJbmZvID0gKG9yZGVycykgPT5cbiAgICAgICAgb3JkZXJzLm1hcChvcmRlciA9PiB7XG4gICAgICAgICAgICBvcmRlci50b3RhbCA9IG9yZGVyLnBheW1lbnRzLnJlZHVjZSgoYSwgYikgPT4gYSArIGIucHJpY2UuY3VycmVudCwgMCk7XG4gICAgICAgICAgICByZXR1cm4gb3JkZXI7XG4gICAgICAgIH0pXG5cbiAgICBzZXRTZWxlY3RlZE9yZGVyIChvcmRlcjogYW55KSB7IHRoaXMuc2VsZWN0ZWRPcmRlclN1YmplY3QubmV4dChvcmRlcik7XG4gICAgIHRoaXMuY2hhbm5lbENvbmZpZyA9ICh0aGlzLmNhcnRTZXJ2aWNlLmNoYW5uZWxDb25maWcpO1xuICAgICB9XG5cbiAgICBmaW5kT3JkZXIgPSAob3JkZXJfbnVtYmVyKSA9PlxuICAgICAgICB0aGlzLm9yZGVyc1N1YmplY3QudmFsdWUgPyB0aGlzLmdldE9yZGVyQnlOdW1iZXIob3JkZXJfbnVtYmVyKSA6IHRoaXMud2FpdFVudGlsT3JkZXJzKG9yZGVyX251bWJlciwgdGhpcy5nZXRPcmRlckJ5TnVtYmVyKTtcblxuICAgIGdldE9yZGVyQnlOdW1iZXIgPSAob3JkZXJfbnVtYmVyKSA9PiB7XG4gICAgICAgIC8vIEVsIGRpYSBkZSBtYcOxYW5hLCBjdWFuZG8gdmVuZ2FuIHBhZ2luYWRhcyB5IGhheWEgcXVlIHByZWd1bnRhcmxlIGFsIHNlcnZpZG9yLCBzZSBjYW1iaWEgZXN0ZSBtZXRvZG9cbiAgICAgICAgY29uc3Qgb3JkZXJzID0gdGhpcy5vcmRlcnNTdWJqZWN0LnZhbHVlO1xuICAgICAgICBsZXQgb3JkZXIgPSBvcmRlcnMuZmluZChvcmRlciA9PiBvcmRlci5udW1iZXIgPT0gb3JkZXJfbnVtYmVyKVxuICAgICAgICByZXR1cm4gb3JkZXI7XG4gICAgfVxuXG4gICAgd2FpdFVudGlsT3JkZXJzID0gKG9yZGVyX251bWJlciwgbmV4dCkgPT4ge1xuICAgICAgICB0aGlzLm9yZGVycyQudG9Qcm9taXNlKCkudGhlbihvcmRlcnMgPT4ge1xuICAgICAgICAgICAgaWYgKCFvcmRlcnMpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMubG9hZGluZykgdGhpcy51cGRhdGVPcmRlcnMoKTtcbiAgICAgICAgICAgICAgICB0aGlzLndhaXRVbnRpbE9yZGVycyhvcmRlcl9udW1iZXIsIG5leHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5nZXRPcmRlckJ5TnVtYmVyKG9yZGVyX251bWJlcik7XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgcmVCdXkob3JkZXIpIHtcbiAgICAgICAgLy8gdGhpcy5jYXJ0U2VydmljZS5jbGVhckNhcnQoKTtcbiAgICAgICAgb3JkZXIuaXRlbXMubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgdGhpcy5jYXJ0U2VydmljZS5hZGRUb0NhcnQodGhpcy5mb3JtYXRQcm9kdWN0KGl0ZW0ucHJvZHVjdCwgaXRlbS5wcm9kdWN0LmRpc2NvdW50KSwgaXRlbS5xdWFudGl0eSwgaXRlbS52YXJpYW50X2lkKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9jYXJ0Jyk7XG4gICAgfVxuXG4gICAgZm9ybWF0UHJvZHVjdChwcm9kdWN0LCBkaXNjb3VudCkge1xuICAgICAgICBsZXQgcGVyY2VudGFqZSA9IHBhcnNlRmxvYXQoJzAuJyArIGRpc2NvdW50LnRvU3RyaW5nKCkpLnRvRml4ZWQoMik7XG4gICAgICAgIHByb2R1Y3QucHJpY2UgPSBwcm9kdWN0LnZhcmlhbnRzWzBdLnByaWNlO1xuICAgICAgICBwcm9kdWN0LnNhbGVwcmljZSA9IChwcm9kdWN0LnByaWNlIC0gKHByb2R1Y3QucHJpY2UgKiBwYXJzZUZsb2F0KHBlcmNlbnRhamUpKSk7XG4gICAgICAgIHByb2R1Y3Qub3B0aW9ucyA9IHt9O1xuICAgICAgICBwcm9kdWN0LnZhcmlhbnRzWzBdLm9wdGlvbnMuZm9yRWFjaChvcHRpb24gPT4gcHJvZHVjdC5vcHRpb25zID0geyAuLi5wcm9kdWN0Lm9wdGlvbnMsIC4uLm9wdGlvbiB9KTtcbiAgICAgICAgcmV0dXJuIHByb2R1Y3Q7XG4gICAgfVxufVxuIl19
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1lYXN5Y29tbWVyY2UvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvYWNjb3VudC9vcmRlcnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7O0FBTTlDLElBQWEsYUFBYSxHQUExQixNQUFhLGFBQWE7SUFjdEIsWUFBb0IsVUFBNkIsRUFBVSxXQUF3QixFQUFVLE1BQWMsRUFBVSxNQUFpQjtRQUNsSSx1QkFBdUI7UUFEUCxlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVc7UUFiL0gsa0JBQWEsR0FBUSxFQUFFLENBQUM7UUFDdkIsa0JBQWEsR0FBeUIsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEUsaUJBQVksR0FBcUMsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0UseUJBQW9CLEdBQXlCLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXhFLFlBQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzVDLFdBQU0sR0FBRyxJQUFJ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IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2FwaS9jb25uZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuLi9jYXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZUVycm9yIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9vYnNlcnZhYmxlLWVycm9yLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICcuLi8uLi9jb3JlLmNvbnN0cyc7XG5cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBPcmRlcnNTZXJ2aWNlIHtcbiAgICBwdWJsaWMgY2hhbm5lbENvbmZpZzogYW55ID0ge307XG4gICAgcHJpdmF0ZSBvcmRlcnNTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG4gICAgcHJpdmF0ZSBlcnJvclN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxPYnNlcnZhYmxlRXJyb3I+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcbiAgICBwcml2YXRlIHNlbGVjdGVkT3JkZXJTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG5cbiAgICBwdWJsaWMgb3JkZXJzJCA9IHRoaXMub3JkZXJzU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICBwdWJsaWMgZXJyb3IkID0gdGhpcy5lcnJvclN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgcHVibGljIHNlbGVjdGVkT3JkZXIkID0gdGhpcy5zZWxlY3RlZE9yZGVyU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgIHByaXZhdGUgbG9hZGluZyA9IGZhbHNlO1xuXG4gICAgb3JkZXJzTGlzdGFwaSA9ICgpID0+IGBzaG9wLWFwaS8ke3RoaXMuY29uc3RzLmdldENoYW5uZWwoKX0vb3JkZXJzYDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY29ubmVjdGlvbjogQ29ubmVjdGlvblNlcnZpY2UsIHByaXZhdGUgY2FydFNlcnZpY2U6IENhcnRTZXJ2aWNlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGNvbnN0czogQ29uc3RhbnRzKSB7XG4gICAgICAgIC8vIHRoaXMudXBkYXRlT3JkZXJzKCk7XG5cbiAgICB9XG5cbiAgICB1cGRhdGVPcmRlcnMgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuY29ubmVjdGlvbi5nZXQodGhpcy5vcmRlcnNMaXN0YXBpKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG9yZGVycyA9IHRoaXMubWFwT3JkZXJzQW5kQWRkSW5mbyhyZXMpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3JkZXJzO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcmRlcnNTdWJqZWN0Lm5leHQocmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JTdWJqZWN0Lm5leHQoeyBtZXNzYWdlOiAndW5hYmxlLWdldC1vcmRlcnMnIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIClcblxuICAgIH1cblxuICAgIG1hcE9yZGVyc0FuZEFkZEluZm8gPSAob3JkZXJzKSA9PlxuICAgICAgICBvcmRlcnMubWFwKG9yZGVyID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRPcmRlciA9IHRoaXMubm9ybWFsaXplT3JkZXJQcmljaW5nKG9yZGVyKTtcbiAgICAgICAgICAgIG5vcm1hbGl6ZWRPcmRlci50b3RhbCA9IG5vcm1hbGl6ZWRPcmRlci5wYXltZW50cy5yZWR1Y2UoKGEsIGIpID0+IGEgKyBiLnByaWNlLmN1cnJlbnQsIDApO1xuICAgICAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZWRPcmRlcjtcbiAgICAgICAgfSlcblxuICAgIC8qKlxuICAgICAqIE5vcm1hbGl6YSDDum5pY2FtZW50ZSBsb3MgYWxpYXNlcyBkZSBsb3MgY29udHJhdG9zIGhpc3TDs3JpY29zIG51ZXZvcy5cbiAgICAgKiBMYSByZXNwdWVzdGEgb3JpZ2luYWwgc2UgY29uc2VydmEgcGFyYSBubyBhZmVjdGFyIG90cm9zIGNvbnN1bWlkb3Jlcy5cbiAgICAgKi9cbiAgICBwcml2YXRlIG5vcm1hbGl6ZU9yZGVyUHJpY2luZyA9IChvcmRlcjogYW55KTogYW55ID0+IHtcbiAgICAgICAgY29uc3QgdG90YWxzID0gb3JkZXI/LnRvdGFscztcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ub3JkZXIsXG4gICAgICAgICAgICBpdGVtczogQXJyYXkuaXNBcnJheShvcmRlcj8uaXRlbXMpXG4gICAgICAgICAgICAgICAgPyBvcmRlci5pdGVtcy5tYXAoaXRlbSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgICAgICAgICBsaW5lUHJpY2luZzogaXRlbT8ubGluZVByaWNpbmcgfHwgaXRlbT8ubGluZV9wcmljaW5nXG4gICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgOiBvcmRlcj8uaXRlbXMsXG4gICAgICAgICAgICB0b3RhbHM6IHRvdGFscyA/IHtcbiAgICAgICAgICAgICAgICAuLi50b3RhbHMsXG4gICAgICAgICAgICAgICAgb3JkZXJEaXNjb3VudFByaWNpbmc6IHRvdGFscy5vcmRlckRpc2NvdW50UHJpY2luZyB8fCB0b3RhbHMub3JkZXJfZGlzY291bnRfcHJpY2luZyxcbiAgICAgICAgICAgICAgICBjb3Vwb25EaXNjb3VudFByaWNpbmc6IHRvdGFscy5jb3Vwb25EaXNjb3VudFByaWNpbmcgfHwgdG90YWxzLmNvdXBvbl9kaXNjb3VudF9wcmljaW5nLFxuICAgICAgICAgICAgICAgIHNoaXBwaW5nUHJpY2luZzogdG90YWxzLnNoaXBwaW5nUHJpY2luZyB8fCB0b3RhbHMuc2hpcHBpbmdfcHJpY2luZ1xuICAgICAgICAgICAgfSA6IHRvdGFsc1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIHNldFNlbGVjdGVkT3JkZXIgKG9yZGVyOiBhbnkpIHsgdGhpcy5zZWxlY3RlZE9yZGVyU3ViamVjdC5uZXh0KG9yZGVyKTtcbiAgICAgdGhpcy5jaGFubmVsQ29uZmlnID0gKHRoaXMuY2FydFNlcnZpY2UuY2hhbm5lbENvbmZpZyk7XG4gICAgIH1cblxuICAgIGZpbmRPcmRlciA9IChvcmRlcl9udW1iZXIpID0+XG4gICAgICAgIHRoaXMub3JkZXJzU3ViamVjdC52YWx1ZSA/IHRoaXMuZ2V0T3JkZXJCeU51bWJlcihvcmRlcl9udW1iZXIpIDogdGhpcy53YWl0VW50aWxPcmRlcnMob3JkZXJfbnVtYmVyLCB0aGlzLmdldE9yZGVyQnlOdW1iZXIpO1xuXG4gICAgZ2V0T3JkZXJCeU51bWJlciA9IChvcmRlcl9udW1iZXIpID0+IHtcbiAgICAgICAgLy8gRWwgZGlhIGRlIG1hw7FhbmEsIGN1YW5kbyB2ZW5nYW4gcGFnaW5hZGFzIHkgaGF5YSBxdWUgcHJlZ3VudGFybGUgYWwgc2Vydmlkb3IsIHNlIGNhbWJpYSBlc3RlIG1ldG9kb1xuICAgICAgICBjb25zdCBvcmRlcnMgPSB0aGlzLm9yZGVyc1N1YmplY3QudmFsdWU7XG4gICAgICAgIGxldCBvcmRlciA9IG9yZGVycy5maW5kKG9yZGVyID0+IG9yZGVyLm51bWJlciA9PSBvcmRlcl9udW1iZXIpXG4gICAgICAgIHJldHVybiBvcmRlcjtcbiAgICB9XG5cbiAgICB3YWl0VW50aWxPcmRlcnMgPSAob3JkZXJfbnVtYmVyLCBuZXh0KSA9PiB7XG4gICAgICAgIHRoaXMub3JkZXJzJC50b1Byb21pc2UoKS50aGVuKG9yZGVycyA9PiB7XG4gICAgICAgICAgICBpZiAoIW9yZGVycykge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5sb2FkaW5nKSB0aGlzLnVwZGF0ZU9yZGVycygpO1xuICAgICAgICAgICAgICAgIHRoaXMud2FpdFVudGlsT3JkZXJzKG9yZGVyX251bWJlciwgbmV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmdldE9yZGVyQnlOdW1iZXIob3JkZXJfbnVtYmVyKTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICByZUJ1eShvcmRlcikge1xuICAgICAgICAvLyB0aGlzLmNhcnRTZXJ2aWNlLmNsZWFyQ2FydCgpO1xuICAgICAgICBvcmRlci5pdGVtcy5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLmFkZFRvQ2FydCh0aGlzLmZvcm1hdFByb2R1Y3QoaXRlbS5wcm9kdWN0LCBpdGVtLnByb2R1Y3QuZGlzY291bnQpLCBpdGVtLnF1YW50aXR5LCBpdGVtLnZhcmlhbnRfaWQpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnL2NhcnQnKTtcbiAgICB9XG5cbiAgICBmb3JtYXRQcm9kdWN0KHByb2R1Y3QsIGRpc2NvdW50KSB7XG4gICAgICAgIGxldCBwZXJjZW50YWplID0gcGFyc2VGbG9hdCgnMC4nICsgZGlzY291bnQudG9TdHJpbmcoKSkudG9GaXhlZCgyKTtcbiAgICAgICAgcHJvZHVjdC5wcmljZSA9IHByb2R1Y3QudmFyaWFudHNbMF0ucHJpY2U7XG4gICAgICAgIHByb2R1Y3Quc2FsZXByaWNlID0gKHByb2R1Y3QucHJpY2UgLSAocHJvZHVjdC5wcmljZSAqIHBhcnNlRmxvYXQocGVyY2VudGFqZSkpKTtcbiAgICAgICAgcHJvZHVjdC5vcHRpb25zID0ge307XG4gICAgICAgIHByb2R1Y3QudmFyaWFudHNbMF0ub3B0aW9ucy5mb3JFYWNoKG9wdGlvbiA9PiBwcm9kdWN0Lm9wdGlvbnMgPSB7IC4uLnByb2R1Y3Qub3B0aW9ucywgLi4ub3B0aW9uIH0pO1xuICAgICAgICByZXR1cm4gcHJvZHVjdDtcbiAgICB9XG59XG4iXX0=
|