ng-easycommerce-v18 0.2.29 → 0.3.1-9.beta-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +45 -0
  2. package/assets/ec-i18n/ct.json +1 -0
  3. package/assets/ec-i18n/en.json +88 -83
  4. package/assets/ec-i18n/es.json +6 -1
  5. package/assets/ec-i18n/fr.json +1 -0
  6. package/assets/ec-i18n/gl.json +1 -0
  7. package/assets/ec-i18n/pr.json +1 -0
  8. package/esm2022/lib/classes/component-helper.mjs +11 -2
  9. package/esm2022/lib/constants/core.constants.service.mjs +107 -2
  10. package/esm2022/lib/ec-components/abstractions-components/menu-ec.component.mjs +9 -1
  11. package/esm2022/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.mjs +5 -1
  12. package/esm2022/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.mjs +5 -1
  13. package/esm2022/lib/ec-components/blocks-ec/block-newsletter-ec/block-newsletter-ec.component.mjs +9 -3
  14. package/esm2022/lib/ec-components/cart-ec/cart-ec.component.mjs +8 -2
  15. package/esm2022/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.mjs +42 -10
  16. package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.mjs +141 -75
  17. package/esm2022/lib/ec-components/filters-ec/filters-ec.component.mjs +9 -1
  18. package/esm2022/lib/ec-components/header-ec/header-ec.component.mjs +53 -2
  19. package/esm2022/lib/ec-components/product-detail-ec/product-detail-ec.component.mjs +23 -15
  20. package/esm2022/lib/ec-components/product-ec/product-ec.component.mjs +143 -5
  21. package/esm2022/lib/ec-components/widgets-ec/decidir-ec/decidir-ec.component.mjs +3 -3
  22. package/esm2022/lib/ec-components/widgets-ec/index.mjs +2 -1
  23. package/esm2022/lib/ec-components/widgets-ec/redsys-catch-ec/redsys-catch-ec.component.mjs +193 -0
  24. package/esm2022/lib/ec-services/cart.service.mjs +23 -5
  25. package/esm2022/lib/ec-services/checkout.service.mjs +46 -21
  26. package/esm2022/lib/ec-services/form.service.mjs +13 -1
  27. package/esm2022/lib/ec-services/order-utility.service.mjs +12 -6
  28. package/esm2022/lib/ec-services/product-detail.service.mjs +11 -1
  29. package/esm2022/lib/interfaces/environment.mjs +1 -1
  30. package/esm2022/lib/interfaces/product.mjs +1 -1
  31. package/fesm2022/ng-easycommerce-v18.mjs +843 -147
  32. package/fesm2022/ng-easycommerce-v18.mjs.map +1 -1
  33. package/lib/classes/component-helper.d.ts +1 -1
  34. package/lib/constants/core.constants.service.d.ts +24 -0
  35. package/lib/ec-components/abstractions-components/menu-ec.component.d.ts +6 -0
  36. package/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.d.ts +2 -0
  37. package/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.d.ts +2 -0
  38. package/lib/ec-components/cart-ec/cart-ec.component.d.ts +3 -0
  39. package/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.d.ts +6 -1
  40. package/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.d.ts +38 -16
  41. package/lib/ec-components/filters-ec/filters-ec.component.d.ts +6 -0
  42. package/lib/ec-components/header-ec/header-ec.component.d.ts +16 -2
  43. package/lib/ec-components/product-detail-ec/product-detail-ec.component.d.ts +2 -1
  44. package/lib/ec-components/product-ec/product-ec.component.d.ts +14 -1
  45. package/lib/ec-components/widgets-ec/index.d.ts +1 -0
  46. package/lib/ec-components/widgets-ec/redsys-catch-ec/redsys-catch-ec.component.d.ts +47 -0
  47. package/lib/ec-services/cart.service.d.ts +1 -1
  48. package/lib/ec-services/form.service.d.ts +6 -0
  49. package/lib/interfaces/environment.d.ts +1 -0
  50. package/lib/interfaces/product.d.ts +6 -0
  51. package/package.json +1 -1
@@ -4,7 +4,7 @@ import { CartService } from './cart.service';
4
4
  import { ConnectionService } from '../api';
5
5
  import { AnalyticsService } from './analytics';
6
6
  import { ApiConstantsService } from '../constants';
7
- import { Step, User } from '../classes';
7
+ import { Step } from '../classes';
8
8
  import { AuthService } from './auth.service';
9
9
  import { OrderUtilityService } from './order-utility.service';
10
10
  import { Router } from '@angular/router';
@@ -131,33 +131,58 @@ export class CheckoutService {
131
131
  return { ok: false, require_login: false, message: 'An error occurred' };
132
132
  }
133
133
  };
134
+ // updateAsociatedData = (cart: any) => {
135
+ // let result = this._orderUtilityService.getPromotions(cart);
136
+ // const userProfile: User = User.fromJson(this._authService.getUserProfileAsUser());
137
+ // if (result) {
138
+ // if (userProfile.isWholesaler() && cart.totals.taxes != 0) {
139
+ // let total = { ...result[result.length - 1] };
140
+ // result[result.length - 1] = {
141
+ // type: 'taxes',
142
+ // name: 'taxes',
143
+ // amount: cart.totals.taxes
144
+ // }
145
+ // result.push(total);
146
+ // }
147
+ // let shipment = result?.find((promotion: any) => promotion.type == "shipment");
148
+ // if (!shipment && cart.totals.shipping != 0) {
149
+ // if (result?.length && !result.find((item: any) => item.type === "shipment")) {
150
+ // let total = { ...result[result.length - 1] };
151
+ // result[result.length - 1] = {
152
+ // type: 'shipment',
153
+ // name: 'shipment',
154
+ // amount: cart.totals.shipping
155
+ // }
156
+ // result.push(total);
157
+ // }
158
+ // }
159
+ // this._associatedDataSubject.next(result);
160
+ // }
161
+ // }
134
162
  updateAsociatedData = (cart) => {
135
163
  let result = this._orderUtilityService.getPromotions(cart);
136
- const userProfile = User.fromJson(this._authService.getUserProfileAsUser());
137
- if (result) {
138
- if (userProfile.isWholesaler() && cart.totals.taxes != 0) {
164
+ if (cart.totals.taxes != 0 && result && result.length > 0) {
165
+ let total = { ...result[result.length - 1] };
166
+ result[result.length - 1] = {
167
+ type: 'taxes',
168
+ name: 'taxes',
169
+ amount: cart.totals.taxes
170
+ };
171
+ result.push(total);
172
+ }
173
+ let shipment = result?.find(promotion => promotion.type == "shipment");
174
+ if (!shipment && cart.totals.shipping != 0) {
175
+ if (result?.length && !result.find(item => item.type === "shipment")) {
139
176
  let total = { ...result[result.length - 1] };
140
177
  result[result.length - 1] = {
141
- type: 'taxes',
142
- name: 'taxes',
143
- amount: cart.totals.taxes
178
+ type: 'shipment',
179
+ name: 'shipment',
180
+ amount: cart.totals.shipping
144
181
  };
145
182
  result.push(total);
146
183
  }
147
- let shipment = result?.find((promotion) => promotion.type == "shipment");
148
- if (!shipment && cart.totals.shipping != 0) {
149
- if (result?.length && !result.find((item) => item.type === "shipment")) {
150
- let total = { ...result[result.length - 1] };
151
- result[result.length - 1] = {
152
- type: 'shipment',
153
- name: 'shipment',
154
- amount: cart.totals.shipping
155
- };
156
- result.push(total);
157
- }
158
- }
159
- this._associatedDataSubject.next(result);
160
184
  }
185
+ this._associatedDataSubject.next(result ?? null);
161
186
  };
162
187
  getStepData = (step_name) => {
163
188
  let step_result = this._stateSubject.getValue().find(step => step.name == step_name);
@@ -188,4 +213,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
188
213
  providedIn: 'root'
189
214
  }]
190
215
  }], ctorParameters: () => [] });
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1zZXJ2aWNlcy9jaGVja291dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUsvQyxNQUFNLE9BQU8sZUFBZTtJQUVuQixZQUFZLEdBQWdCLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoRCxXQUFXLEdBQXNCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzNELGlCQUFpQixHQUFxQixNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMvRCxPQUFPLEdBQXdCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzNE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QUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksU0FBUyxDQUFDLENBQUM7UUFDOUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQjs7O1lBR0k7SUFDTCxDQUFDLENBQUE7SUFFRCxzREFBc0Q7SUFDOUMsa0JBQWtCLEdBQUcsR0FBRyxFQUFFO1FBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDLENBQUE7d0dBL0xXLGVBQWU7NEdBQWYsZUFBZSxjQUZmLE1BQU07OzRGQUVOLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuL2NhcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IENoZWNrb3V0RGF0YSwgSVN0ZXAsIFN0ZXBUeXBlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IENvbm5lY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYXBpJztcclxuaW1wb3J0IHsgQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4vYW5hbHl0aWNzJztcclxuaW1wb3J0IHsgQXBpQ29uc3RhbnRzU2VydmljZSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IFN0ZXAsIFVzZXIgfSBmcm9tICcuLi9jbGFzc2VzJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IE9yZGVyVXRpbGl0eVNlcnZpY2UgfSBmcm9tICcuL29yZGVyLXV0aWxpdHkuc2VydmljZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4vdG9hc3Quc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGVja291dFNlcnZpY2Uge1xyXG5cclxuXHRwcml2YXRlIF9jYXJ0U2VydmljZTogQ2FydFNlcnZpY2UgPSBpbmplY3QoQ2FydFNlcnZpY2UpO1xyXG5cdHByaXZhdGUgX2Nvbm5lY3Rpb246IENvbm5lY3Rpb25TZXJ2aWNlID0gaW5qZWN0KENvbm5lY3Rpb25TZXJ2aWNlKTtcclxuXHRwcml2YXRlIF9hbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3NTZXJ2aWNlID0gaW5qZWN0KEFuYWx5dGljc1NlcnZpY2UpO1xyXG5cdHByaXZhdGUgX2NvbnN0czogQXBpQ29uc3RhbnRzU2VydmljZSA9IGluamVjdChBcGlDb25zdGFudHNTZXJ2aWNlKTtcclxuXHRwcml2YXRlIF9hdXRoU2VydmljZTogQXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xyXG5cdHByaXZhdGUgX29yZGVyVXRpbGl0eVNlcnZpY2U6IE9yZGVyVXRpbGl0eVNlcnZpY2UgPSBpbmplY3QoT3JkZXJVdGlsaXR5U2VydmljZSk7XHJcblx0cHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcclxuXHRwcml2YXRlIF90b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSA9IGluamVjdChUb2FzdFNlcnZpY2UpO1xyXG5cclxuXHRwcml2YXRlIF9jYW5DaGVja291dFN1YmplY3QgPSBuZXcgUmVwbGF5U3ViamVjdDxib29sZWFuPigpO1xyXG5cdHByaXZhdGUgX3N0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3RlcFtdPihbXSlcclxuXHRwcml2YXRlIF9sYXN0U3RlcFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRwcml2YXRlIF9sb2FkaW5nU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdHByaXZhdGUgX29yZGVyU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcclxuXHRwcml2YXRlIF9hc3NvY2lhdGVkRGF0YVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENoZWNrb3V0RGF0YVtdIHwgbnVsbD4obnVsbCk7XHJcblx0cHJpdmF0ZSBfbG9hZGluZ1N0ZXBTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcblxyXG5cdHB1YmxpYyBjYW5DaGVja291dCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLl9jYW5DaGVja291dFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblx0cHVibGljIHN0YXRlJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5fc3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cdHB1YmxpYyBpc0xhc3RTdGVwJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuX2xhc3RTdGVwU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHRwdWJsaWMgYXNzb2NpYXRlZERhdGEkOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLl9hc3NvY2lhdGVkRGF0YVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblx0cHVibGljIG9yZGVyJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5fb3JkZXJTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cdHB1YmxpYyBsb2FkaW5nU3RlcCQ6T2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuX2xvYWRpbmdTdGVwU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcblx0cHVibGljIHRvdGFsOiBhbnk7XHJcblx0cHVibGljIGNhcnRMb2NhbDogYW55O1xyXG5cdHByaXZhdGUgY2hlY2tvdXREYXRhOiBhbnkgPSB7fTtcclxuXHRwcml2YXRlIG9yZGVyOiBhbnk7XHJcblxyXG5cdC8vQVBJIE1ldGhvZHNcclxuXHRiYXNlQXBpID0gKCkgPT4gJ3Nob3AtYXBpLycgKyB0aGlzLl9jb25zdHMuQ0hBTk5FTCArICcvY2hlY2tvdXQvJyArIHRoaXMuX2NhcnRTZXJ2aWNlLmdldENhcnRUb2tlbigpO1xyXG5cdGdldEhhc1B1cmNoYXNlQ29uZGl0aW9ucygpIHsgcmV0dXJuICdzaG9wLWFwaS8nICsgdGhpcy5fY29uc3RzLkNIQU5ORUwgKyAnL2NhcnRzLycgKyB0aGlzLl9jYXJ0U2VydmljZS5nZXRDYXJ0VG9rZW4oKSArICcvaGFzX3B1cmNoYXNlX2NvbmRpdGlvbnMnIH07XHJcblx0Y29tcGxldGVBcGkoKSB7IHJldHVybiB0aGlzLmJhc2VBcGkoKSArICcvY29tcGxldGUnIH07XHJcblxyXG5cclxuXHRjb25zdHJ1Y3RvcigpIHtcclxuXHRcdGNvbWJpbmVMYXRlc3QoW3RoaXMuX2NhcnRTZXJ2aWNlLmNhcnRJdGVtcyQsIHRoaXMuX2NhcnRTZXJ2aWNlLmxvYWRpbmckXSkuc3Vic2NyaWJlKChbaXRlbXMsIGxvYWRpbmddKSA9PiB7XHJcblx0XHRcdGlmICghbG9hZGluZyAmJiBpdGVtcy5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0dGhpcy5fY2FuQ2hlY2tvdXRTdWJqZWN0Lm5leHQodHJ1ZSk7XHJcblx0XHRcdFx0dGhpcy5fY2FydFNlcnZpY2UuZ2V0VG90YWxBbW91bnQoKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLnRvdGFsID0gcmVzO1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH1cclxuXHRcdH0pXHJcblx0XHR0aGlzLl9jYXJ0U2VydmljZS5jYXJ0JC5zdWJzY3JpYmUoY2FydCA9PiBjYXJ0ICYmICh0aGlzLmNhcnRMb2NhbCA9IGNhcnQpICYmIHRoaXMudXBkYXRlQXNvY2lhdGVkRGF0YShjYXJ0KSk7XHJcblx0XHR0aGlzLm9yZGVyJC5zdWJzY3JpYmUob3JkZXIgPT4gb3JkZXIgJiYgdGhpcy51cGRhdGVBc29jaWF0ZWREYXRhKG9yZGVyKSlcclxuXHR9XHJcblxyXG5cdHNldFN0ZXBzKHN0ZXBzOiBJU3RlcFtdKSB7XHJcblx0XHRsZXQgZmluYWxfc3RlcHM6IFN0ZXBbXSA9IFtdO1xyXG5cdFx0c3RlcHMuZm9yRWFjaCgoc3RlcCwgaSkgPT4gZmluYWxfc3RlcHMucHVzaChuZXcgU3RlcChzdGVwLm5hbWUsIHN0ZXAucHJpb3JpdHkgfHwgKGkgKyAxKSwgc3RlcC5sYWJlbCwgc3RlcC5zdGF0ZSkpKTtcclxuXHRcdHRoaXMuX3N0YXRlU3ViamVjdC5uZXh0KGZpbmFsX3N0ZXBzKTtcclxuXHRcdGlmIChmaW5hbF9zdGVwcy5sZW5ndGggPT0gMSkge1xyXG5cdFx0XHR0aGlzLl9sYXN0U3RlcFN1YmplY3QubmV4dCh0cnVlKTtcclxuXHRcdH1cclxuXHRcdC8vIGNvbnNvbGUubG9nKGZpbmFsX3N0ZXBzKTtcclxuXHRcdGZpcnN0VmFsdWVGcm9tKHRoaXMuX2Nvbm5lY3Rpb24uZ2V0KHRoaXMuZ2V0SGFzUHVyY2hhc2VDb25kaXRpb25zKCkpKS50aGVuKFxyXG5cdFx0XHRyZXMgPT4ge1xyXG5cdFx0XHRcdHRoaXMuX2FuYWx5dGljc1NlcnZpY2UuY2FsbEV2ZW50KCdjaGVja291dF9pbml0JywgeyAuLi50aGlzLmNhcnRMb2NhbCwgY3VycmVuY3k6IHRoaXMuY2FydExvY2FsPy5jdXJyZW5jeSwgdmFsdWU6IHRoaXMuY2FydExvY2FsPy50b3RhbCB9KVxyXG5cdFx0XHR9XHJcblx0XHQpXHJcblx0fVxyXG5cclxuXHRuZXh0KCkge1xyXG5cdFx0dGhpcy5fbG9hZGluZ1N0ZXBTdWJqZWN0Lm5leHQodHJ1ZSk7XHJcblx0XHRjb25zdCBzdGVwcyA9IHRoaXMuX3N0YXRlU3ViamVjdC5nZXRWYWx1ZSgpXHJcblx0XHRjb25zdCByZWFkeVN0ZXAgPSBzdGVwcy5maW5kSW5kZXgoc3RlcCA9PiBzdGVwLnN0YXRlID09PSAncmVhZHknKTtcclxuXHRcdGlmIChzdGVwc1tyZWFkeVN0ZXAgKyAxXSkge1xyXG5cdFx0XHRzdGVwc1tyZWFkeVN0ZXBdLnN0YXRlID0gJ2RvaW5nJ1xyXG5cdFx0XHRzdGVwc1tyZWFkeVN0ZXAgKyAxXS5zdGF0ZSA9ICdyZWFkeSc7XHJcblx0XHRcdGlmICghc3RlcHNbcmVhZHlTdGVwICsgMl0pIHRoaXMuX2xhc3RTdGVwU3ViamVjdC5uZXh0KHRydWUpO1xyXG5cdFx0XHR0aGlzLl9sb2FkaW5nU3RlcFN1YmplY3QubmV4dChmYWxzZSlcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMuY29tcGxldGUoKS50aGVuKFxyXG5cdFx0XHRcdHJlcyA9PiB7XHJcblx0XHRcdFx0XHRpZiAocmVzLm9rKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJ2NoZWNrb3V0L29yZGVyX3N1Y2Nlc3MnXSlcclxuXHRcdFx0XHRcdFx0IHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdvcGVyYXRpb24tZXJyb3InKVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0dGhpcy5fbG9hZGluZ1N0ZXBTdWJqZWN0Lm5leHQoZmFsc2UpXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRlcnIgPT4ge1xyXG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coZXJyKVxyXG5cdFx0XHRcdFx0dGhpcy5fbG9hZGluZ1N0ZXBTdWJqZWN0Lm5leHQoZmFsc2UpXHJcblx0XHRcdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnb3BlcmF0aW9uLWVycm9yJylcclxuXHRcdFx0XHR9XHJcblx0XHRcdClcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGJhY2soKSB7XHJcblx0XHRjb25zdCBzdGVwcyA9IHRoaXMuX3N0YXRlU3ViamVjdC5nZXRWYWx1ZSgpXHJcblx0XHRjb25zdCByZWFkeVN0ZXAgPSBzdGVwcy5maW5kSW5kZXgoc3RlcCA9PiBzdGVwLnN0YXRlID09PSAncmVhZHknKTtcclxuXHRcdHRoaXMuX2xhc3RTdGVwU3ViamVjdC5uZXh0KGZhbHNlKTtcclxuXHRcdGlmIChzdGVwc1tyZWFkeVN0ZXAgLSAxXSkge1xyXG5cdFx0XHRzdGVwc1tyZWFkeVN0ZXBdLnN0YXRlID0gJ3BlbmRpbmcnXHJcblx0XHRcdHN0ZXBzW3JlYWR5U3RlcCAtIDFdLnN0YXRlID0gJ3JlYWR5JztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHNldE9yZGVyID0gKG9yZGVyOiBhbnkpID0+IHsgdGhpcy5vcmRlciA9IG9yZGVyLCB0aGlzLl9vcmRlclN1YmplY3QubmV4dChvcmRlcikgfTtcclxuXHQvL2dldE9yZGVyID0gKCkgPT4gdGhpcy5vcmRlciB8fCB0aGlzLm9yZGVyU3ViamVjdC52YWx1ZTtcclxuXHJcblx0cHJpdmF0ZSBjb21wbGV0ZU9yZGVyID0gKCkgPT4gZmlyc3RWYWx1ZUZyb20odGhpcy5fY29ubmVjdGlvbi5wdXQodGhpcy5jb21wbGV0ZUFwaSgpLCB7IGVtYWlsOiB0aGlzLmNoZWNrb3V0RGF0YS5lbWFpbCwgbm90ZXM6IHRoaXMuY2hlY2tvdXREYXRhLm5vdGVzIHx8ICcnIH0pKTtcclxuXHJcblx0Y29tcGxldGUgPSBhc3luYyAoKSA9PiB7XHJcblx0XHR0cnkge1xyXG5cdFx0XHR0aGlzLl9sb2FkaW5nU3ViamVjdC5uZXh0KHRydWUpO1xyXG5cdFx0XHRsZXQgcmVzdWx0ID0gYXdhaXQgdGhpcy5jb21wbGV0ZU9yZGVyKCk7XHJcblx0XHRcdFxyXG5cdFx0XHRpZiAocmVzdWx0ICYmIHJlc3VsdC5lcnJvcikge1xyXG5cdFx0XHRcdHRoaXMuX2NhcnRTZXJ2aWNlLmNoYW5nZUhhdmVUb1VwZGF0ZShmYWxzZSk7XHJcblx0XHRcdFx0dGhpcy5fbG9hZGluZ1N1YmplY3QubmV4dChmYWxzZSk7XHJcblx0XHRcdFx0cmV0dXJuICh7IG9rOiBmYWxzZSwgcmVxdWlyZV9sb2dpbjogdHJ1ZSwgbWVzc2FnZTogJ25vdC1jb21wbGV0ZWQnIH0pO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHR0aGlzLnNldE9yZGVyKHJlc3VsdCk7XHJcblx0XHRcdHRoaXMuX2FuYWx5dGljc1NlcnZpY2UuY2FsbEV2ZW50KCdwdXJjaGFzZScsIHsgLi4ucmVzdWx0LCBjdXJyZW5jeTogcmVzdWx0LmN1cnJlbmN5LCB2YWx1ZTogcmVzdWx0LnRvdGFsIH0pO1xyXG5cdFx0XHR0aGlzLl9jYXJ0U2VydmljZS5jbGVhckFuZFJlc2V0Q2FydCgpO1xyXG5cdFx0XHR0aGlzLl9jYW5DaGVja291dFN1YmplY3QubmV4dChmYWxzZSk7XHJcblx0XHRcdC8vdGhpcy5fb25SZWFkeVN1YmplY3QubmV4dChmYWxzZSk7XHJcblx0XHRcdHRoaXMuX2xvYWRpbmdTdWJqZWN0Lm5leHQoZmFsc2UpO1xyXG5cdFx0XHRcclxuXHRcdFx0Ly8g4pqg77iPIEZJWDogUmVzZXQgY2hlY2tvdXQgZGF0YSBhZnRlciBvcmRlciBjb21wbGV0aW9uXHJcblx0XHRcdHRoaXMucmVzZXRDaGVja291dFN0YXRlKCk7XHJcblxyXG5cdFx0XHRyZXR1cm4gKHsgb2s6IHRydWUsIHJlcXVpcmVfbG9naW46IGZhbHNlLCBtZXNzYWdlOiAnJyB9KTtcclxuXHRcdH0gY2F0Y2ggKGVycm9yKSB7XHJcblx0XHRcdHRoaXMuX2xvYWRpbmdTdWJqZWN0Lm5leHQoZmFsc2UpO1xyXG5cdFx0XHRjb25zb2xlLmVycm9yKCdFcnJvciBpbiBjb21wbGV0ZTonLCBlcnJvcik7XHJcblxyXG5cdFx0XHRyZXR1cm4geyBvazogZmFsc2UsIHJlcXVpcmVfbG9naW46IGZhbHNlLCBtZXNzYWdlOiAnQW4gZXJyb3Igb2NjdXJyZWQnIH07XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHJcblx0dXBkYXRlQXNvY2lhdGVkRGF0YSA9IChjYXJ0OiBhbnkpID0+IHtcclxuXHRcdGxldCByZXN1bHQgPSB0aGlzLl9vcmRlclV0aWxpdHlTZXJ2aWNlLmdldFByb21vdGlvbnMoY2FydCk7XHJcblx0XHRjb25zdCB1c2VyUHJvZmlsZTogVXNlciA9IFVzZXIuZnJvbUpzb24odGhpcy5fYXV0aFNlcnZpY2UuZ2V0VXNlclByb2ZpbGVBc1VzZXIoKSk7XHJcblx0XHRpZiAocmVzdWx0KSB7XHJcblx0XHRcdGlmICh1c2VyUHJvZmlsZS5pc1dob2xlc2FsZXIoKSAmJiBjYXJ0LnRvdGFscy50YXhlcyAhPSAwKSB7XHJcblx0XHRcdFx0bGV0IHRvdGFsID0geyAuLi5yZXN1bHRbcmVzdWx0Lmxlbmd0aCAtIDFdIH07XHJcblx0XHRcdFx0cmVzdWx0W3Jlc3VsdC5sZW5ndGggLSAxXSA9IHtcclxuXHRcdFx0XHRcdHR5cGU6ICd0YXhlcycsXHJcblx0XHRcdFx0XHRuYW1lOiAndGF4ZXMnLFxyXG5cdFx0XHRcdFx0YW1vdW50OiBjYXJ0LnRvdGFscy50YXhlc1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRyZXN1bHQucHVzaCh0b3RhbCk7XHJcblx0XHRcdH1cclxuXHRcdFx0bGV0IHNoaXBtZW50ID0gcmVzdWx0Py5maW5kKChwcm9tb3Rpb246IGFueSkgPT4gcHJvbW90aW9uLnR5cGUgPT0gXCJzaGlwbWVudFwiKTtcclxuXHRcdFx0aWYgKCFzaGlwbWVudCAmJiBjYXJ0LnRvdGFscy5zaGlwcGluZyAhPSAwKSB7XHJcblxyXG5cdFx0XHRcdGlmIChyZXN1bHQ/Lmxlbmd0aCAmJiAhcmVzdWx0LmZpbmQoKGl0ZW06IGFueSkgPT4gaXRlbS50eXBlID09PSBcInNoaXBtZW50XCIpKSB7XHJcblx0XHRcdFx0XHRsZXQgdG90YWwgPSB7IC4uLnJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV0gfTtcclxuXHRcdFx0XHRcdHJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV0gPSB7XHJcblx0XHRcdFx0XHRcdHR5cGU6ICdzaGlwbWVudCcsXHJcblx0XHRcdFx0XHRcdG5hbWU6ICdzaGlwbWVudCcsXHJcblx0XHRcdFx0XHRcdGFtb3VudDogY2FydC50b3RhbHMuc2hpcHBpbmdcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHJlc3VsdC5wdXNoKHRvdGFsKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy5fYXNzb2NpYXRlZERhdGFTdWJqZWN0Lm5leHQocmVzdWx0KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGdldFN0ZXBEYXRhID0gKHN0ZXBfbmFtZTogU3RlcFR5cGUpID0+IHtcclxuXHRcdGxldCBzdGVwX3Jlc3VsdCA9IHRoaXMuX3N0YXRlU3ViamVjdC5nZXRWYWx1ZSgpLmZpbmQoc3RlcCA9PiBzdGVwLm5hbWUgPT0gc3RlcF9uYW1lKTtcclxuXHRcdHJldHVybiAoc3RlcF9yZXN1bHQgJiYgc3RlcF9yZXN1bHQuZGF0YSk7XHJcblx0fVxyXG5cclxuXHRzZXRTdGVwRGF0YSA9IChzdGVwX25hbWU6IFN0ZXBUeXBlLCBkYXRhOiBhbnkpID0+IHtcclxuXHRcdGxldCBzdGVwID0gdGhpcy5fc3RhdGVTdWJqZWN0LmdldFZhbHVlKCkuZmluZChzdGVwID0+IHN0ZXAubmFtZSA9PSBzdGVwX25hbWUpO1xyXG5cdFx0c3RlcD8ucmVhZHkoZGF0YSk7XHJcblx0XHQvKiBpZiAoZGF0YSkge1xyXG5cdFx0XHR0aGlzLl9vcmRlclN1YmplY3QubmV4dChkYXRhKTtcclxuXHRcdFx0dGhpcy50b3RhbCA9IGRhdGEudG90YWxzLnRvdGFsO1xyXG5cdFx0fSAqL1xyXG5cdH1cclxuXHJcblx0Ly8g4pqg77iPIEZJWDogUmVzZXQgY2hlY2tvdXQgc3RhdGUgYWZ0ZXIgb3JkZXIgY29tcGxldGlvblxyXG5cdHByaXZhdGUgcmVzZXRDaGVja291dFN0YXRlID0gKCkgPT4ge1xyXG5cdFx0dGhpcy5jaGVja291dERhdGEgPSB7fTtcclxuXHRcdHRoaXMub3JkZXIgPSBudWxsO1xyXG5cdFx0dGhpcy5fc3RhdGVTdWJqZWN0Lm5leHQoW10pO1xyXG5cdFx0dGhpcy5fYXNzb2NpYXRlZERhdGFTdWJqZWN0Lm5leHQobnVsbCk7XHJcblx0XHR0aGlzLl9sYXN0U3RlcFN1YmplY3QubmV4dChmYWxzZSk7XHJcblx0fVxyXG59XHJcbiJdfQ==
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1zZXJ2aWNlcy9jaGVja291dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQVEsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBSy9DLE1BQU0sT0FBTyxlQUFlO0lBRW5CLFlBQVksR0FBZ0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hELFdBQVcsR0FBc0IsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDM0QsaUJBQWlCLEdBQXFCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQy9ELE9BQU8sR0FBd0IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDM0QsWUFBWSxHQUFn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QUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxTQUFTLENBQUMsQ0FBQztRQUNyRixPQUFPLENBQUMsV0FBVyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDLENBQUE7SUFFRCxXQUFXLEdBQUcsQ0FBQyxTQUFtQixFQUFFLElBQVMsRUFBRSxFQUFFO1FBQ2hELElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxTQUFTLENBQUMsQ0FBQztRQUM5RSxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCOzs7WUFHSTtJQUNMLENBQUMsQ0FBQTtJQUVELHNEQUFzRDtJQUM5QyxrQkFBa0IsR0FBRyxHQUFHLEVBQUU7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUMsQ0FBQTt3R0F6TlcsZUFBZTs0R0FBZixlQUFlLGNBRmYsTUFBTTs7NEZBRU4sZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4vY2FydC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2hlY2tvdXREYXRhLCBJU3RlcCwgU3RlcFR5cGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgQ29ubmVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9hcGknO1xyXG5pbXBvcnQgeyBBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi9hbmFseXRpY3MnO1xyXG5pbXBvcnQgeyBBcGlDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgU3RlcCwgVXNlciB9IGZyb20gJy4uL2NsYXNzZXMnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT3JkZXJVdGlsaXR5U2VydmljZSB9IGZyb20gJy4vb3JkZXItdXRpbGl0eS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi90b2FzdC5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENoZWNrb3V0U2VydmljZSB7XHJcblxyXG5cdHByaXZhdGUgX2NhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSA9IGluamVjdChDYXJ0U2VydmljZSk7XHJcblx0cHJpdmF0ZSBfY29ubmVjdGlvbjogQ29ubmVjdGlvblNlcnZpY2UgPSBpbmplY3QoQ29ubmVjdGlvblNlcnZpY2UpO1xyXG5cdHByaXZhdGUgX2FuYWx5dGljc1NlcnZpY2U6IEFuYWx5dGljc1NlcnZpY2UgPSBpbmplY3QoQW5hbHl0aWNzU2VydmljZSk7XHJcblx0cHJpdmF0ZSBfY29uc3RzOiBBcGlDb25zdGFudHNTZXJ2aWNlID0gaW5qZWN0KEFwaUNvbnN0YW50c1NlcnZpY2UpO1xyXG5cdHByaXZhdGUgX2F1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XHJcblx0cHJpdmF0ZSBfb3JkZXJVdGlsaXR5U2VydmljZTogT3JkZXJVdGlsaXR5U2VydmljZSA9IGluamVjdChPcmRlclV0aWxpdHlTZXJ2aWNlKTtcclxuXHRwcml2YXRlIF9yb3V0ZXI6IFJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG5cdHByaXZhdGUgX3RvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlID0gaW5qZWN0KFRvYXN0U2VydmljZSk7XHJcblxyXG5cdHByaXZhdGUgX2NhbkNoZWNrb3V0U3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+KCk7XHJcblx0cHJpdmF0ZSBfc3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdGVwW10+KFtdKVxyXG5cdHByaXZhdGUgX2xhc3RTdGVwU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdHByaXZhdGUgX2xvYWRpbmdTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcblx0cHJpdmF0ZSBfb3JkZXJTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xyXG5cdHByaXZhdGUgX2Fzc29jaWF0ZWREYXRhU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2hlY2tvdXREYXRhW10gfCBudWxsPihudWxsKTtcclxuXHRwcml2YXRlIF9sb2FkaW5nU3RlcFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcblx0cHVibGljIGNhbkNoZWNrb3V0JDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuX2NhbkNoZWNrb3V0U3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHRwdWJsaWMgc3RhdGUkOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLl9zdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblx0cHVibGljIGlzTGFzdFN0ZXAkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5fbGFzdFN0ZXBTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cdHB1YmxpYyBhc3NvY2lhdGVkRGF0YSQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuX2Fzc29jaWF0ZWREYXRhU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHRwdWJsaWMgb3JkZXIkOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLl9vcmRlclN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblx0cHVibGljIGxvYWRpbmdTdGVwJDpPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5fbG9hZGluZ1N0ZXBTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuXHRwdWJsaWMgdG90YWw6IGFueTtcclxuXHRwdWJsaWMgY2FydExvY2FsOiBhbnk7XHJcblx0cHJpdmF0ZSBjaGVja291dERhdGE6IGFueSA9IHt9O1xyXG5cdHByaXZhdGUgb3JkZXI6IGFueTtcclxuXHJcblx0Ly9BUEkgTWV0aG9kc1xyXG5cdGJhc2VBcGkgPSAoKSA9PiAnc2hvcC1hcGkvJyArIHRoaXMuX2NvbnN0cy5DSEFOTkVMICsgJy9jaGVja291dC8nICsgdGhpcy5fY2FydFNlcnZpY2UuZ2V0Q2FydFRva2VuKCk7XHJcblx0Z2V0SGFzUHVyY2hhc2VDb25kaXRpb25zKCkgeyByZXR1cm4gJ3Nob3AtYXBpLycgKyB0aGlzLl9jb25zdHMuQ0hBTk5FTCArICcvY2FydHMvJyArIHRoaXMuX2NhcnRTZXJ2aWNlLmdldENhcnRUb2tlbigpICsgJy9oYXNfcHVyY2hhc2VfY29uZGl0aW9ucycgfTtcclxuXHRjb21wbGV0ZUFwaSgpIHsgcmV0dXJuIHRoaXMuYmFzZUFwaSgpICsgJy9jb21wbGV0ZScgfTtcclxuXHJcblxyXG5cdGNvbnN0cnVjdG9yKCkge1xyXG5cdFx0Y29tYmluZUxhdGVzdChbdGhpcy5fY2FydFNlcnZpY2UuY2FydEl0ZW1zJCwgdGhpcy5fY2FydFNlcnZpY2UubG9hZGluZyRdKS5zdWJzY3JpYmUoKFtpdGVtcywgbG9hZGluZ10pID0+IHtcclxuXHRcdFx0aWYgKCFsb2FkaW5nICYmIGl0ZW1zLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHR0aGlzLl9jYW5DaGVja291dFN1YmplY3QubmV4dCh0cnVlKTtcclxuXHRcdFx0XHR0aGlzLl9jYXJ0U2VydmljZS5nZXRUb3RhbEFtb3VudCgpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMudG90YWwgPSByZXM7XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fVxyXG5cdFx0fSlcclxuXHRcdHRoaXMuX2NhcnRTZXJ2aWNlLmNhcnQkLnN1YnNjcmliZShjYXJ0ID0+IGNhcnQgJiYgKHRoaXMuY2FydExvY2FsID0gY2FydCkgJiYgdGhpcy51cGRhdGVBc29jaWF0ZWREYXRhKGNhcnQpKTtcclxuXHRcdHRoaXMub3JkZXIkLnN1YnNjcmliZShvcmRlciA9PiBvcmRlciAmJiB0aGlzLnVwZGF0ZUFzb2NpYXRlZERhdGEob3JkZXIpKVxyXG5cdH1cclxuXHJcblx0c2V0U3RlcHMoc3RlcHM6IElTdGVwW10pIHtcclxuXHRcdGxldCBmaW5hbF9zdGVwczogU3RlcFtdID0gW107XHJcblx0XHRzdGVwcy5mb3JFYWNoKChzdGVwLCBpKSA9PiBmaW5hbF9zdGVwcy5wdXNoKG5ldyBTdGVwKHN0ZXAubmFtZSwgc3RlcC5wcmlvcml0eSB8fCAoaSArIDEpLCBzdGVwLmxhYmVsLCBzdGVwLnN0YXRlKSkpO1xyXG5cdFx0dGhpcy5fc3RhdGVTdWJqZWN0Lm5leHQoZmluYWxfc3RlcHMpO1xyXG5cdFx0aWYgKGZpbmFsX3N0ZXBzLmxlbmd0aCA9PSAxKSB7XHJcblx0XHRcdHRoaXMuX2xhc3RTdGVwU3ViamVjdC5uZXh0KHRydWUpO1xyXG5cdFx0fVxyXG5cdFx0Ly8gY29uc29sZS5sb2coZmluYWxfc3RlcHMpO1xyXG5cdFx0Zmlyc3RWYWx1ZUZyb20odGhpcy5fY29ubmVjdGlvbi5nZXQodGhpcy5nZXRIYXNQdXJjaGFzZUNvbmRpdGlvbnMoKSkpLnRoZW4oXHJcblx0XHRcdHJlcyA9PiB7XHJcblx0XHRcdFx0dGhpcy5fYW5hbHl0aWNzU2VydmljZS5jYWxsRXZlbnQoJ2NoZWNrb3V0X2luaXQnLCB7IC4uLnRoaXMuY2FydExvY2FsLCBjdXJyZW5jeTogdGhpcy5jYXJ0TG9jYWw/LmN1cnJlbmN5LCB2YWx1ZTogdGhpcy5jYXJ0TG9jYWw/LnRvdGFsIH0pXHJcblx0XHRcdH1cclxuXHRcdClcclxuXHR9XHJcblxyXG5cdG5leHQoKSB7XHJcblx0XHR0aGlzLl9sb2FkaW5nU3RlcFN1YmplY3QubmV4dCh0cnVlKTtcclxuXHRcdGNvbnN0IHN0ZXBzID0gdGhpcy5fc3RhdGVTdWJqZWN0LmdldFZhbHVlKClcclxuXHRcdGNvbnN0IHJlYWR5U3RlcCA9IHN0ZXBzLmZpbmRJbmRleChzdGVwID0+IHN0ZXAuc3RhdGUgPT09ICdyZWFkeScpO1xyXG5cdFx0aWYgKHN0ZXBzW3JlYWR5U3RlcCArIDFdKSB7XHJcblx0XHRcdHN0ZXBzW3JlYWR5U3RlcF0uc3RhdGUgPSAnZG9pbmcnXHJcblx0XHRcdHN0ZXBzW3JlYWR5U3RlcCArIDFdLnN0YXRlID0gJ3JlYWR5JztcclxuXHRcdFx0aWYgKCFzdGVwc1tyZWFkeVN0ZXAgKyAyXSkgdGhpcy5fbGFzdFN0ZXBTdWJqZWN0Lm5leHQodHJ1ZSk7XHJcblx0XHRcdHRoaXMuX2xvYWRpbmdTdGVwU3ViamVjdC5uZXh0KGZhbHNlKVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5jb21wbGV0ZSgpLnRoZW4oXHJcblx0XHRcdFx0cmVzID0+IHtcclxuXHRcdFx0XHRcdGlmIChyZXMub2spIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnY2hlY2tvdXQvb3JkZXJfc3VjY2VzcyddKVxyXG5cdFx0XHRcdFx0XHQgd2luZG93LnNjcm9sbFRvKDAsIDApO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ29wZXJhdGlvbi1lcnJvcicpXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR0aGlzLl9sb2FkaW5nU3RlcFN1YmplY3QubmV4dChmYWxzZSlcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdGVyciA9PiB7XHJcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhlcnIpXHJcblx0XHRcdFx0XHR0aGlzLl9sb2FkaW5nU3RlcFN1YmplY3QubmV4dChmYWxzZSlcclxuXHRcdFx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdvcGVyYXRpb24tZXJyb3InKVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0KVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YmFjaygpIHtcclxuXHRcdGNvbnN0IHN0ZXBzID0gdGhpcy5fc3RhdGVTdWJqZWN0LmdldFZhbHVlKClcclxuXHRcdGNvbnN0IHJlYWR5U3RlcCA9IHN0ZXBzLmZpbmRJbmRleChzdGVwID0+IHN0ZXAuc3RhdGUgPT09ICdyZWFkeScpO1xyXG5cdFx0dGhpcy5fbGFzdFN0ZXBTdWJqZWN0Lm5leHQoZmFsc2UpO1xyXG5cdFx0aWYgKHN0ZXBzW3JlYWR5U3RlcCAtIDFdKSB7XHJcblx0XHRcdHN0ZXBzW3JlYWR5U3RlcF0uc3RhdGUgPSAncGVuZGluZydcclxuXHRcdFx0c3RlcHNbcmVhZHlTdGVwIC0gMV0uc3RhdGUgPSAncmVhZHknO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0c2V0T3JkZXIgPSAob3JkZXI6IGFueSkgPT4geyB0aGlzLm9yZGVyID0gb3JkZXIsIHRoaXMuX29yZGVyU3ViamVjdC5uZXh0KG9yZGVyKSB9O1xyXG5cdC8vZ2V0T3JkZXIgPSAoKSA9PiB0aGlzLm9yZGVyIHx8IHRoaXMub3JkZXJTdWJqZWN0LnZhbHVlO1xyXG5cclxuXHRwcml2YXRlIGNvbXBsZXRlT3JkZXIgPSAoKSA9PiBmaXJzdFZhbHVlRnJvbSh0aGlzLl9jb25uZWN0aW9uLnB1dCh0aGlzLmNvbXBsZXRlQXBpKCksIHsgZW1haWw6IHRoaXMuY2hlY2tvdXREYXRhLmVtYWlsLCBub3RlczogdGhpcy5jaGVja291dERhdGEubm90ZXMgfHwgJycgfSkpO1xyXG5cclxuXHRjb21wbGV0ZSA9IGFzeW5jICgpID0+IHtcclxuXHRcdHRyeSB7XHJcblx0XHRcdHRoaXMuX2xvYWRpbmdTdWJqZWN0Lm5leHQodHJ1ZSk7XHJcblx0XHRcdGxldCByZXN1bHQgPSBhd2FpdCB0aGlzLmNvbXBsZXRlT3JkZXIoKTtcclxuXHRcdFx0XHJcblx0XHRcdGlmIChyZXN1bHQgJiYgcmVzdWx0LmVycm9yKSB7XHJcblx0XHRcdFx0dGhpcy5fY2FydFNlcnZpY2UuY2hhbmdlSGF2ZVRvVXBkYXRlKGZhbHNlKTtcclxuXHRcdFx0XHR0aGlzLl9sb2FkaW5nU3ViamVjdC5uZXh0KGZhbHNlKTtcclxuXHRcdFx0XHRyZXR1cm4gKHsgb2s6IGZhbHNlLCByZXF1aXJlX2xvZ2luOiB0cnVlLCBtZXNzYWdlOiAnbm90LWNvbXBsZXRlZCcgfSk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHRoaXMuc2V0T3JkZXIocmVzdWx0KTtcclxuXHRcdFx0dGhpcy5fYW5hbHl0aWNzU2VydmljZS5jYWxsRXZlbnQoJ3B1cmNoYXNlJywgeyAuLi5yZXN1bHQsIGN1cnJlbmN5OiByZXN1bHQuY3VycmVuY3ksIHZhbHVlOiByZXN1bHQudG90YWwgfSk7XHJcblx0XHRcdHRoaXMuX2NhcnRTZXJ2aWNlLmNsZWFyQW5kUmVzZXRDYXJ0KCk7XHJcblx0XHRcdHRoaXMuX2NhbkNoZWNrb3V0U3ViamVjdC5uZXh0KGZhbHNlKTtcclxuXHRcdFx0Ly90aGlzLl9vblJlYWR5U3ViamVjdC5uZXh0KGZhbHNlKTtcclxuXHRcdFx0dGhpcy5fbG9hZGluZ1N1YmplY3QubmV4dChmYWxzZSk7XHJcblx0XHRcdFxyXG5cdFx0XHQvLyDimqDvuI8gRklYOiBSZXNldCBjaGVja291dCBkYXRhIGFmdGVyIG9yZGVyIGNvbXBsZXRpb25cclxuXHRcdFx0dGhpcy5yZXNldENoZWNrb3V0U3RhdGUoKTtcclxuXHJcblx0XHRcdHJldHVybiAoeyBvazogdHJ1ZSwgcmVxdWlyZV9sb2dpbjogZmFsc2UsIG1lc3NhZ2U6ICcnIH0pO1xyXG5cdFx0fSBjYXRjaCAoZXJyb3IpIHtcclxuXHRcdFx0dGhpcy5fbG9hZGluZ1N1YmplY3QubmV4dChmYWxzZSk7XHJcblx0XHRcdGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIGNvbXBsZXRlOicsIGVycm9yKTtcclxuXHJcblx0XHRcdHJldHVybiB7IG9rOiBmYWxzZSwgcmVxdWlyZV9sb2dpbjogZmFsc2UsIG1lc3NhZ2U6ICdBbiBlcnJvciBvY2N1cnJlZCcgfTtcclxuXHRcdH1cclxuXHJcblx0fVxyXG5cclxuXHQvLyB1cGRhdGVBc29jaWF0ZWREYXRhID0gKGNhcnQ6IGFueSkgPT4ge1xyXG5cdC8vIFx0bGV0IHJlc3VsdCA9IHRoaXMuX29yZGVyVXRpbGl0eVNlcnZpY2UuZ2V0UHJvbW90aW9ucyhjYXJ0KTtcclxuXHQvLyBcdGNvbnN0IHVzZXJQcm9maWxlOiBVc2VyID0gVXNlci5mcm9tSnNvbih0aGlzLl9hdXRoU2VydmljZS5nZXRVc2VyUHJvZmlsZUFzVXNlcigpKTtcclxuXHQvLyBcdGlmIChyZXN1bHQpIHtcclxuXHQvLyBcdFx0aWYgKHVzZXJQcm9maWxlLmlzV2hvbGVzYWxlcigpICYmIGNhcnQudG90YWxzLnRheGVzICE9IDApIHtcclxuXHQvLyBcdFx0XHRsZXQgdG90YWwgPSB7IC4uLnJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV0gfTtcclxuXHQvLyBcdFx0XHRyZXN1bHRbcmVzdWx0Lmxlbmd0aCAtIDFdID0ge1xyXG5cdC8vIFx0XHRcdFx0dHlwZTogJ3RheGVzJyxcclxuXHQvLyBcdFx0XHRcdG5hbWU6ICd0YXhlcycsXHJcblx0Ly8gXHRcdFx0XHRhbW91bnQ6IGNhcnQudG90YWxzLnRheGVzXHJcblx0Ly8gXHRcdFx0fVxyXG5cdC8vIFx0XHRcdHJlc3VsdC5wdXNoKHRvdGFsKTtcclxuXHQvLyBcdFx0fVxyXG5cdC8vIFx0XHRsZXQgc2hpcG1lbnQgPSByZXN1bHQ/LmZpbmQoKHByb21vdGlvbjogYW55KSA9PiBwcm9tb3Rpb24udHlwZSA9PSBcInNoaXBtZW50XCIpO1xyXG5cdC8vIFx0XHRpZiAoIXNoaXBtZW50ICYmIGNhcnQudG90YWxzLnNoaXBwaW5nICE9IDApIHtcclxuXHJcblx0Ly8gXHRcdFx0aWYgKHJlc3VsdD8ubGVuZ3RoICYmICFyZXN1bHQuZmluZCgoaXRlbTogYW55KSA9PiBpdGVtLnR5cGUgPT09IFwic2hpcG1lbnRcIikpIHtcclxuXHQvLyBcdFx0XHRcdGxldCB0b3RhbCA9IHsgLi4ucmVzdWx0W3Jlc3VsdC5sZW5ndGggLSAxXSB9O1xyXG5cdC8vIFx0XHRcdFx0cmVzdWx0W3Jlc3VsdC5sZW5ndGggLSAxXSA9IHtcclxuXHQvLyBcdFx0XHRcdFx0dHlwZTogJ3NoaXBtZW50JyxcclxuXHQvLyBcdFx0XHRcdFx0bmFtZTogJ3NoaXBtZW50JyxcclxuXHQvLyBcdFx0XHRcdFx0YW1vdW50OiBjYXJ0LnRvdGFscy5zaGlwcGluZ1xyXG5cdC8vIFx0XHRcdFx0fVxyXG5cdC8vIFx0XHRcdFx0cmVzdWx0LnB1c2godG90YWwpO1xyXG5cdC8vIFx0XHRcdH1cclxuXHQvLyBcdFx0fVxyXG5cdC8vIFx0XHR0aGlzLl9hc3NvY2lhdGVkRGF0YVN1YmplY3QubmV4dChyZXN1bHQpO1xyXG5cdC8vIFx0fVxyXG5cdC8vIH1cclxuXHR1cGRhdGVBc29jaWF0ZWREYXRhID0gKGNhcnQ6IGFueSkgPT4ge1xyXG4gICAgICAgIGxldCByZXN1bHQgPSB0aGlzLl9vcmRlclV0aWxpdHlTZXJ2aWNlLmdldFByb21vdGlvbnMoY2FydCk7XHJcblx0XHRpZiAoY2FydC50b3RhbHMudGF4ZXMgIT0gMCAmJiByZXN1bHQgJiYgcmVzdWx0Lmxlbmd0aCA+IDApIHtcclxuXHRcdFx0bGV0IHRvdGFsID0geyAuLi5yZXN1bHRbcmVzdWx0Lmxlbmd0aCAtIDFdIH07XHJcblx0XHRcdHJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV0gPSB7XHJcblx0XHRcdFx0dHlwZTogJ3RheGVzJyxcclxuXHRcdFx0XHRuYW1lOiAndGF4ZXMnLFxyXG5cdFx0XHRcdGFtb3VudDogY2FydC50b3RhbHMudGF4ZXNcclxuXHRcdFx0fVxyXG5cdFx0XHRyZXN1bHQucHVzaCh0b3RhbCk7XHJcblx0XHR9XHJcbiAgICAgICAgbGV0IHNoaXBtZW50ID0gcmVzdWx0Py5maW5kKHByb21vdGlvbiA9PiBwcm9tb3Rpb24udHlwZSA9PSBcInNoaXBtZW50XCIpO1xyXG4gICAgICAgIGlmICghc2hpcG1lbnQgJiYgY2FydC50b3RhbHMuc2hpcHBpbmcgIT0gMCkge1xyXG5cclxuICAgICAgICAgICAgaWYgKHJlc3VsdD8ubGVuZ3RoICYmICFyZXN1bHQuZmluZChpdGVtID0+IGl0ZW0udHlwZSA9PT0gXCJzaGlwbWVudFwiKSkge1xyXG4gICAgICAgICAgICAgICAgbGV0IHRvdGFsID0geyAuLi5yZXN1bHRbcmVzdWx0Lmxlbmd0aCAtIDFdIH07XHJcbiAgICAgICAgICAgICAgICByZXN1bHRbcmVzdWx0Lmxlbmd0aCAtIDFdID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdzaGlwbWVudCcsXHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3NoaXBtZW50JyxcclxuICAgICAgICAgICAgICAgICAgICBhbW91bnQ6IGNhcnQudG90YWxzLnNoaXBwaW5nXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh0b3RhbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblx0XHR0aGlzLl9hc3NvY2lhdGVkRGF0YVN1YmplY3QubmV4dChyZXN1bHQgPz8gbnVsbCk7XHJcbiAgICB9XHJcblxyXG5cdGdldFN0ZXBEYXRhID0gKHN0ZXBfbmFtZTogU3RlcFR5cGUpID0+IHtcclxuXHRcdGxldCBzdGVwX3Jlc3VsdCA9IHRoaXMuX3N0YXRlU3ViamVjdC5nZXRWYWx1ZSgpLmZpbmQoc3RlcCA9PiBzdGVwLm5hbWUgPT0gc3RlcF9uYW1lKTtcclxuXHRcdHJldHVybiAoc3RlcF9yZXN1bHQgJiYgc3RlcF9yZXN1bHQuZGF0YSk7XHJcblx0fVxyXG5cclxuXHRzZXRTdGVwRGF0YSA9IChzdGVwX25hbWU6IFN0ZXBUeXBlLCBkYXRhOiBhbnkpID0+IHtcclxuXHRcdGxldCBzdGVwID0gdGhpcy5fc3RhdGVTdWJqZWN0LmdldFZhbHVlKCkuZmluZChzdGVwID0+IHN0ZXAubmFtZSA9PSBzdGVwX25hbWUpO1xyXG5cdFx0c3RlcD8ucmVhZHkoZGF0YSk7XHJcblx0XHQvKiBpZiAoZGF0YSkge1xyXG5cdFx0XHR0aGlzLl9vcmRlclN1YmplY3QubmV4dChkYXRhKTtcclxuXHRcdFx0dGhpcy50b3RhbCA9IGRhdGEudG90YWxzLnRvdGFsO1xyXG5cdFx0fSAqL1xyXG5cdH1cclxuXHJcblx0Ly8g4pqg77iPIEZJWDogUmVzZXQgY2hlY2tvdXQgc3RhdGUgYWZ0ZXIgb3JkZXIgY29tcGxldGlvblxyXG5cdHByaXZhdGUgcmVzZXRDaGVja291dFN0YXRlID0gKCkgPT4ge1xyXG5cdFx0dGhpcy5jaGVja291dERhdGEgPSB7fTtcclxuXHRcdHRoaXMub3JkZXIgPSBudWxsO1xyXG5cdFx0dGhpcy5fc3RhdGVTdWJqZWN0Lm5leHQoW10pO1xyXG5cdFx0dGhpcy5fYXNzb2NpYXRlZERhdGFTdWJqZWN0Lm5leHQobnVsbCk7XHJcblx0XHR0aGlzLl9sYXN0U3RlcFN1YmplY3QubmV4dChmYWxzZSk7XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -36,6 +36,12 @@ export class FormService {
36
36
  sendResponse(response_obj) {
37
37
  return this.connection.post(this.contactFormResponseAPI(), this.prepareData(response_obj));
38
38
  }
39
+ /**
40
+ * @description contiene un arreglo de string cuyo contenido son los codigos de los paises a excluir.
41
+ * @example ['GB']
42
+ */
43
+ excludedCountries = [];
44
+ allowedCountries = [];
39
45
  /**
40
46
  * Obtiene los paises y los guarda en un observable.
41
47
  * @returns
@@ -51,6 +57,12 @@ export class FormService {
51
57
  const documentTypesData = documentTypesLocale['documentTypes'];
52
58
  this.documentTypesSubject.next(documentTypesData);
53
59
  })).subscribe();
60
+ if (this.excludedCountries.length > 0) {
61
+ this.countries$ = this.countries$.pipe(map(countries => countries.filter(country => !this.excludedCountries.includes(country.code))));
62
+ }
63
+ if (this.allowedCountries.length > 0) {
64
+ this.countries$ = this.countries$.pipe(map(countries => countries.filter(country => this.allowedCountries.includes(country.code))));
65
+ }
54
66
  return this.countries$;
55
67
  }
56
68
  /**
@@ -78,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
78
90
  providedIn: 'root'
79
91
  }]
80
92
  }], ctorParameters: () => [] });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL2Zvcm0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFjLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFckU7O0dBRUc7QUFJSCxNQUFNLE9BQU8sV0FBVztJQUNmLFNBQVMsR0FBd0IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUE7SUFDNUQsVUFBVSxHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUV2RCxnQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBUSxFQUFFLENBQUMsQ0FBQztJQUNsRCxnQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBUSxFQUFFLENBQUMsQ0FBQztJQUMvQyxvQkFBb0IsR0FBRyxJQUFJLGVBQWUsQ0FBUSxFQUFFLENBQUMsQ0FBQztJQUU1RCxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQy9DLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbEQsY0FBYyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVwRSxTQUFTO0lBQ1Q7OztPQUdHO0lBQ0ksc0JBQXNCLEtBQUssT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSx3QkFBd0IsQ0FBQSxDQUFDLENBQUM7SUFDcEg7OztPQUdHO0lBQ0ksWUFBWSxLQUFLLE9BQU8sV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQSxDQUFDLENBQUM7SUFBQSxDQUFDO0lBRXJGLGdCQUFnQixDQUFDO0lBQ2pCOzs7O09BSUc7SUFDSCxZQUFZLENBQUMsWUFBaUI7UUFDN0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUE7SUFDM0YsQ0FBQztJQUNEOzs7T0FHRztJQUNILGdCQUFnQjtRQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDNUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUNkLEdBQUcsQ0FBQyxDQUFDLFFBQVksRUFBRSxFQUFFO1lBQ3BCLHdCQUF3QjtZQUN4QixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztZQUN0QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ2hDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNsRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUMvRixDQUFDLENBQUMsQ0FBQTtZQUNGLE1BQU0saUJBQWlCLEdBQUcsbUJBQW1CLENBQUMsZUFBZSxDQUFDLENBQUE7WUFDOUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ2xELENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFakIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3hCLENBQUM7SUFDRDs7O09BR0c7SUFDSCxpQkFBaUIsR0FBRyxDQUFDLElBQVcsRUFBRSxFQUFFO1FBQ25DLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDaEcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2QyxDQUFDLENBQUE7SUFDRDs7OztPQUlHO0lBQ0gsV0FBVyxDQUFDLFlBQWlCO1FBQzVCLE9BQU8sWUFBWSxDQUFBO0lBQ3BCLENBQUM7d0dBcEVXLFdBQVc7NEdBQVgsV0FBVyxjQUZYLE1BQU07OzRGQUVOLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFwaUNvbnN0YW50c1NlcnZpY2UgfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2FwaSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwLCBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMnO1xyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2lvIGVuY2FyZ2FkbyBkZSBtYW5lamFyIHRvZG8gYXF1ZWxsbyByZWxhY2lvbmFkbyBjb24gbG9zIGZvcm11bGFyaW9zIGRlbnRybyBkZSBsYSBhcGxpY2FjacOzbi5cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1TZXJ2aWNlIHtcclxuXHRwcml2YXRlIGFwaUNvbnN0czogQXBpQ29uc3RhbnRzU2VydmljZSA9IGluamVjdChBcGlDb25zdGFudHNTZXJ2aWNlKVxyXG5cdHByaXZhdGUgY29ubmVjdGlvbjogQ29ubmVjdGlvblNlcnZpY2UgPSBpbmplY3QoQ29ubmVjdGlvblNlcnZpY2UpXHJcbiBcdFxyXG5cdHByb3RlY3RlZCBjb3VudHJpZXNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4oW10pO1xyXG5cdHByb3RlY3RlZCBwcm92aW5jZXNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4oW10pO1xyXG4gICAgcHJvdGVjdGVkIGRvY3VtZW50VHlwZXNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4oW10pO1xyXG5cdFxyXG5cdHB1YmxpYyBjb3VudHJpZXMkID0gdGhpcy5jb3VudHJpZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgcHVibGljIHByb3ZpbmNlcyQgPSB0aGlzLnByb3ZpbmNlc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBwdWJsaWMgZG9jdW1lbnRUeXBlcyQgPSB0aGlzLmRvY3VtZW50VHlwZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuXHQvL0FQSSBVUkxcclxuXHQvKipcclxuXHQgKiBSZXRvcm5hIHVuYSB1cmwgcGFyYSBlbnZpYXIgbG9zIGRhdG9zIGRlIHVuIGZvcm11bGFyaW8gZGUgY29udGFjdG8uXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHVibGljIGNvbnRhY3RGb3JtUmVzcG9uc2VBUEkoKSB7IHJldHVybiBgJHt0aGlzLmFwaUNvbnN0cy5DTVNfVVJMfSR7dGhpcy5hcGlDb25zdHMuTE9DQUxFfS9jb250YWN0LWZvcm0vcmVzcG9uc2VgIH1cclxuXHQvKipcclxuXHQgKiBSZXRvcm5hIHVuYSB1cmwgcGFyYSBlbCBlbmRwb2ludCBxdWUgb2J0aW5lbiBsb3MgcGFpc2VzLlxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBjb3VudHJpZXNBcGkoKSB7IHJldHVybiAnc2hvcC1hcGkvJyArIHRoaXMuYXBpQ29uc3RzLkNIQU5ORUwgKyAnL2NvdW50cmllcycgfTtcclxuXHJcblx0Y29uc3RydWN0b3IoKSB7IH1cclxuXHQvKipcclxuXHQgKiBFbnZpYSBlbiBmb3JtdWxhcmlvLlxyXG5cdCAqIEBwYXJhbSByZXNwb25zZV9vYmogXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0c2VuZFJlc3BvbnNlKHJlc3BvbnNlX29iajogYW55KSB7XHJcblx0XHRyZXR1cm4gdGhpcy5jb25uZWN0aW9uLnBvc3QodGhpcy5jb250YWN0Rm9ybVJlc3BvbnNlQVBJKCksIHRoaXMucHJlcGFyZURhdGEocmVzcG9uc2Vfb2JqKSlcclxuXHR9XHJcblx0LyoqXHJcblx0ICogT2J0aWVuZSBsb3MgcGFpc2VzIHkgbG9zIGd1YXJkYSBlbiB1biBvYnNlcnZhYmxlLlxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdGdldENvdW50cmllc0RhdGEoKTpPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0dGhpcy5jb25uZWN0aW9uLmdldCh0aGlzLmNvdW50cmllc0FwaSgpKS5waXBlKFxyXG5cdFx0XHRzaGFyZVJlcGxheSgxKSxcclxuXHRcdFx0bWFwKChyZXNwb25zZTphbnkpID0+IHtcclxuXHRcdFx0XHQvL2NvbnNvbGUubG9nKHJlc3BvbnNlKTtcclxuXHRcdFx0XHRjb25zdCBkYXRhID0gcmVzcG9uc2UuX2VtYmVkZGVkLml0ZW1zO1xyXG5cdFx0XHRcdHRoaXMuY291bnRyaWVzU3ViamVjdC5uZXh0KGRhdGEpXHJcblx0XHRcdFx0Y29uc3QgZG9jdW1lbnRUeXBlc0xvY2FsZSA9IGRhdGEuZmluZCgocmVzOiBhbnkpID0+IHtcclxuXHRcdFx0XHRcdHJldHVybiByZXMuY29kZS50b0xvY2FsZUxvd2VyQ2FzZSgpID09IHRoaXMuYXBpQ29uc3RzLkxPQ0FMRS50b0xvY2FsZUxvd2VyQ2FzZSgpLnNwbGl0KCdfJylbMV1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdGNvbnN0IGRvY3VtZW50VHlwZXNEYXRhID0gZG9jdW1lbnRUeXBlc0xvY2FsZVsnZG9jdW1lbnRUeXBlcyddXHJcblx0XHRcdFx0dGhpcy5kb2N1bWVudFR5cGVzU3ViamVjdC5uZXh0KGRvY3VtZW50VHlwZXNEYXRhKVxyXG5cdFx0XHR9KSkuc3Vic2NyaWJlKCk7XHJcblx0XHRcclxuXHRcdHJldHVybiB0aGlzLmNvdW50cmllcyQ7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIENhbWJpYSBsYSBsaXN0YSBkZSBwcm92aW5jaWFzIHNlZ3VuIGVsIGNvZGlnbyBkZWwgcGHDrXMuXHJcblx0ICogQHBhcmFtIGNvZGUgXHJcblx0ICovXHJcblx0b25Db3VudHJ5U2VsZWN0ZWQgPSAoY29kZTpzdHJpbmcpID0+IHtcclxuXHRcdGNvbnN0IHByb3ZpbmNlcyA9IHRoaXMuY291bnRyaWVzU3ViamVjdC52YWx1ZS5maW5kKHByb3ZpbmNlID0+IHByb3ZpbmNlLmNvZGUgPT0gY29kZSkucHJvdmluY2VzO1xyXG5cdFx0dGhpcy5wcm92aW5jZXNTdWJqZWN0Lm5leHQocHJvdmluY2VzKTtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogUGFyYSBlbCBmdXR1cm8sIGN1YW5kbyBoYXlhIHF1ZSBhcGxpY2FyIGFsZ3VuIGZvcm1hdG8gYW50ZXMgZGUgZW52aWFyIGVsIGZvcm11bGFyaW8uXHJcblx0ICogQHBhcmFtIHJlc3BvbnNlX29iaiBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwcmVwYXJlRGF0YShyZXNwb25zZV9vYmo6IGFueSkge1xyXG5cdFx0cmV0dXJuIHJlc3BvbnNlX29ialxyXG5cdH1cclxuXHJcbn1cclxuIl19
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL2Zvcm0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFjLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFckU7O0dBRUc7QUFJSCxNQUFNLE9BQU8sV0FBVztJQUNmLFNBQVMsR0FBd0IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUE7SUFDNUQsVUFBVSxHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUV2RCxnQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBUSxFQUFFLENBQUMsQ0FBQztJQUNsRCxnQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBUSxFQUFFLENBQUMsQ0FBQztJQUMvQyxvQkFBb0IsR0FBRyxJQUFJLGVBQWUsQ0FBUSxFQUFFLENBQUMsQ0FBQztJQUU1RCxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQy9DLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbEQsY0FBYyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVwRSxTQUFTO0lBQ1Q7OztPQUdHO0lBQ0ksc0JBQXNCLEtBQUssT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSx3QkFB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QUFDLENBQUM7SUFDdkMsQ0FBQyxDQUFBO0lBQ0Q7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxZQUFpQjtRQUM1QixPQUFPLFlBQVksQ0FBQTtJQUNwQixDQUFDO3dHQXRGVyxXQUFXOzRHQUFYLFdBQVcsY0FGWCxNQUFNOzs0RkFFTixXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBcGlDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQ29ubmVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9hcGknO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG1hcCwgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzJztcclxuXHJcbi8qKlxyXG4gKiBTZXJ2aWNpbyBlbmNhcmdhZG8gZGUgbWFuZWphciB0b2RvIGFxdWVsbG8gcmVsYWNpb25hZG8gY29uIGxvcyBmb3JtdWxhcmlvcyBkZW50cm8gZGUgbGEgYXBsaWNhY2nDs24uXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtU2VydmljZSB7XHJcblx0cHJpdmF0ZSBhcGlDb25zdHM6IEFwaUNvbnN0YW50c1NlcnZpY2UgPSBpbmplY3QoQXBpQ29uc3RhbnRzU2VydmljZSlcclxuXHRwcml2YXRlIGNvbm5lY3Rpb246IENvbm5lY3Rpb25TZXJ2aWNlID0gaW5qZWN0KENvbm5lY3Rpb25TZXJ2aWNlKVxyXG4gXHRcclxuXHRwcm90ZWN0ZWQgY291bnRyaWVzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KFtdKTtcclxuXHRwcm90ZWN0ZWQgcHJvdmluY2VzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KFtdKTtcclxuICAgIHByb3RlY3RlZCBkb2N1bWVudFR5cGVzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KFtdKTtcclxuXHRcclxuXHRwdWJsaWMgY291bnRyaWVzJCA9IHRoaXMuY291bnRyaWVzU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICAgIHB1YmxpYyBwcm92aW5jZXMkID0gdGhpcy5wcm92aW5jZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgcHVibGljIGRvY3VtZW50VHlwZXMkID0gdGhpcy5kb2N1bWVudFR5cGVzU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcblx0Ly9BUEkgVVJMXHJcblx0LyoqXHJcblx0ICogUmV0b3JuYSB1bmEgdXJsIHBhcmEgZW52aWFyIGxvcyBkYXRvcyBkZSB1biBmb3JtdWxhcmlvIGRlIGNvbnRhY3RvLlxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBjb250YWN0Rm9ybVJlc3BvbnNlQVBJKCkgeyByZXR1cm4gYCR7dGhpcy5hcGlDb25zdHMuQ01TX1VSTH0ke3RoaXMuYXBpQ29uc3RzLkxPQ0FMRX0vY29udGFjdC1mb3JtL3Jlc3BvbnNlYCB9XHJcblx0LyoqXHJcblx0ICogUmV0b3JuYSB1bmEgdXJsIHBhcmEgZWwgZW5kcG9pbnQgcXVlIG9idGluZW4gbG9zIHBhaXNlcy5cclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwdWJsaWMgY291bnRyaWVzQXBpKCkgeyByZXR1cm4gJ3Nob3AtYXBpLycgKyB0aGlzLmFwaUNvbnN0cy5DSEFOTkVMICsgJy9jb3VudHJpZXMnIH07XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkgeyB9XHJcblx0LyoqXHJcblx0ICogRW52aWEgZW4gZm9ybXVsYXJpby5cclxuXHQgKiBAcGFyYW0gcmVzcG9uc2Vfb2JqIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHNlbmRSZXNwb25zZShyZXNwb25zZV9vYmo6IGFueSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuY29ubmVjdGlvbi5wb3N0KHRoaXMuY29udGFjdEZvcm1SZXNwb25zZUFQSSgpLCB0aGlzLnByZXBhcmVEYXRhKHJlc3BvbnNlX29iaikpXHJcblx0fVxyXG5cclxuXHQvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBjb250aWVuZSB1biBhcnJlZ2xvIGRlIHN0cmluZyBjdXlvIGNvbnRlbmlkbyBzb24gbG9zIGNvZGlnb3MgZGUgbG9zIHBhaXNlcyBhIGV4Y2x1aXIuXHJcbiAgICAgKiBAZXhhbXBsZSBbJ0dCJ11cclxuICAgICAqL1xyXG4gICAgcHVibGljIGV4Y2x1ZGVkQ291bnRyaWVzOiBzdHJpbmdbXSA9IFtdXHJcbiBcdHB1YmxpYyBhbGxvd2VkQ291bnRyaWVzOiBzdHJpbmdbXSA9IFtdO1xyXG5cdC8qKlxyXG5cdCAqIE9idGllbmUgbG9zIHBhaXNlcyB5IGxvcyBndWFyZGEgZW4gdW4gb2JzZXJ2YWJsZS5cclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRnZXRDb3VudHJpZXNEYXRhKCk6T2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHRoaXMuY29ubmVjdGlvbi5nZXQodGhpcy5jb3VudHJpZXNBcGkoKSkucGlwZShcclxuXHRcdFx0c2hhcmVSZXBsYXkoMSksXHJcblx0XHRcdG1hcCgocmVzcG9uc2U6YW55KSA9PiB7XHJcblx0XHRcdFx0Ly9jb25zb2xlLmxvZyhyZXNwb25zZSk7XHJcblx0XHRcdFx0Y29uc3QgZGF0YSA9IHJlc3BvbnNlLl9lbWJlZGRlZC5pdGVtcztcclxuXHRcdFx0XHR0aGlzLmNvdW50cmllc1N1YmplY3QubmV4dChkYXRhKVxyXG5cdFx0XHRcdGNvbnN0IGRvY3VtZW50VHlwZXNMb2NhbGUgPSBkYXRhLmZpbmQoKHJlczogYW55KSA9PiB7XHJcblx0XHRcdFx0XHRyZXR1cm4gcmVzLmNvZGUudG9Mb2NhbGVMb3dlckNhc2UoKSA9PSB0aGlzLmFwaUNvbnN0cy5MT0NBTEUudG9Mb2NhbGVMb3dlckNhc2UoKS5zcGxpdCgnXycpWzFdXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHRjb25zdCBkb2N1bWVudFR5cGVzRGF0YSA9IGRvY3VtZW50VHlwZXNMb2NhbGVbJ2RvY3VtZW50VHlwZXMnXVxyXG5cdFx0XHRcdHRoaXMuZG9jdW1lbnRUeXBlc1N1YmplY3QubmV4dChkb2N1bWVudFR5cGVzRGF0YSlcclxuXHRcdFx0fSkpLnN1YnNjcmliZSgpO1xyXG5cclxuXHRcdFx0aWYodGhpcy5leGNsdWRlZENvdW50cmllcy5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0dGhpcy5jb3VudHJpZXMkID0gdGhpcy5jb3VudHJpZXMkLnBpcGUoXHJcblx0XHRcdFx0XHRtYXAoY291bnRyaWVzID0+IGNvdW50cmllcy5maWx0ZXIoY291bnRyeSA9PiAhdGhpcy5leGNsdWRlZENvdW50cmllcy5pbmNsdWRlcyhjb3VudHJ5LmNvZGUpKSlcclxuXHRcdFx0XHQpXHJcblx0XHRcdH1cclxuXHRcdFx0aWYodGhpcy5hbGxvd2VkQ291bnRyaWVzLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHR0aGlzLmNvdW50cmllcyQgPSB0aGlzLmNvdW50cmllcyQucGlwZShcclxuXHRcdFx0XHRcdG1hcChjb3VudHJpZXMgPT4gY291bnRyaWVzLmZpbHRlcihjb3VudHJ5ID0+IHRoaXMuYWxsb3dlZENvdW50cmllcy5pbmNsdWRlcyhjb3VudHJ5LmNvZGUpKSlcclxuXHRcdFx0XHQpXHJcblx0XHRcdH1cclxuXHRcdFxyXG5cdFx0cmV0dXJuIHRoaXMuY291bnRyaWVzJDtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogQ2FtYmlhIGxhIGxpc3RhIGRlIHByb3ZpbmNpYXMgc2VndW4gZWwgY29kaWdvIGRlbCBwYcOtcy5cclxuXHQgKiBAcGFyYW0gY29kZSBcclxuXHQgKi9cclxuXHRvbkNvdW50cnlTZWxlY3RlZCA9IChjb2RlOnN0cmluZykgPT4ge1xyXG5cdFx0Y29uc3QgcHJvdmluY2VzID0gdGhpcy5jb3VudHJpZXNTdWJqZWN0LnZhbHVlLmZpbmQocHJvdmluY2UgPT4gcHJvdmluY2UuY29kZSA9PSBjb2RlKS5wcm92aW5jZXM7XHJcblx0XHR0aGlzLnByb3ZpbmNlc1N1YmplY3QubmV4dChwcm92aW5jZXMpO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBQYXJhIGVsIGZ1dHVybywgY3VhbmRvIGhheWEgcXVlIGFwbGljYXIgYWxndW4gZm9ybWF0byBhbnRlcyBkZSBlbnZpYXIgZWwgZm9ybXVsYXJpby5cclxuXHQgKiBAcGFyYW0gcmVzcG9uc2Vfb2JqIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHByZXBhcmVEYXRhKHJlc3BvbnNlX29iajogYW55KSB7XHJcblx0XHRyZXR1cm4gcmVzcG9uc2Vfb2JqXHJcblx0fVxyXG5cclxufVxyXG4iXX0=
@@ -11,15 +11,21 @@ export class OrderUtilityService {
11
11
  if (cart.checkoutState && cart.checkoutState == "completed")
12
12
  return;
13
13
  let new_state = [];
14
- let subtotal = { type: 'subtotal', name: 'subtotal', amount: cart.totals.items };
14
+ let subtotal = { type: 'subtotal', name: 'subtotal', amount: cart.totals.subtotal };
15
15
  let total = { type: 'total', name: 'total', amount: cart.totals.total };
16
16
  !forCart && new_state.push(subtotal);
17
+ 0;
17
18
  for (let index = 0; index < cart.cartDiscounts.length; index++) {
18
- cart.cartDiscounts[index].type = this.formatType(cart.cartDiscounts[index].type);
19
+ const disc = cart.cartDiscounts[index];
20
+ disc.type = this.formatType(disc.type);
21
+ let amount = this.getAmount(disc, cart);
22
+ if (disc.type === 'discount') {
23
+ amount = cart.totals.promotion;
24
+ }
19
25
  new_state.push({
20
- type: cart.cartDiscounts[index].type,
21
- name: (cart.cartDiscounts[index].type != 'coupon') ? cart.cartDiscounts[index].name : 'coupon',
22
- amount: this.getAmount(cart.cartDiscounts[index], cart)
26
+ type: disc.type,
27
+ name: (disc.type != 'coupon') ? disc.name : 'coupon',
28
+ amount: amount
23
29
  });
24
30
  }
25
31
  !forCart && new_state.push(total);
@@ -58,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
58
64
  providedIn: 'root'
59
65
  }]
60
66
  }], ctorParameters: () => [] });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItdXRpbGl0eS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL29yZGVyLXV0aWxpdHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0zQyxNQUFNLE9BQU8sbUJBQW1CO0lBRS9CLGdCQUFnQixDQUFDO0lBQ2pCOzs7O09BSUc7SUFDSCxhQUFhLEdBQUcsQ0FBQyxJQUFTLEVBQUUsVUFBbUIsS0FBSyxFQUE4QixFQUFFO1FBQ25GLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLFdBQVc7WUFBRSxPQUFPO1FBQ3BFLElBQUksU0FBUyxHQUFtQixFQUFFLENBQUM7UUFDbkMsSUFBSSxRQUFRLEdBQWlCLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQy9GLElBQUksS0FBSyxHQUFpQixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0RixDQUFDLE9BQU8sSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXJDLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ2hFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqRixTQUFTLENBQUMsSUFBSSxDQUFDO2dCQUNkLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUk7Z0JBQ3BDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUTtnQkFDOUYsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUM7YUFDdkQsQ0FBQyxDQUFDO1FBRUosQ0FBQztRQUVELENBQUMsT0FBTyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsT0FBTyxTQUFTLENBQUM7SUFDbEIsQ0FBQyxDQUFBO0lBRUQsU0FBUyxDQUFDLFFBQVksRUFBRSxJQUFRO1FBQy9CLElBQUksUUFBUSxDQUFDLElBQUksSUFBSSxVQUFVO1lBQUUsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFZO1FBQ3RCLElBQUksTUFBTSxDQUFDO1FBQ1gsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNkLEtBQUssaUJBQWlCO2dCQUFFLE1BQU0sR0FBRyxVQUFVLENBQUM7Z0JBQUMsTUFBTTtZQUNuRCxLQUFLLDBCQUEwQjtnQkFBRSxNQUFNLEdBQUcsVUFBVSxDQUFDO2dCQUFDLE1BQU07WUFDNUQsS0FBSyx3QkFBd0I7Z0JBQUUsTUFBTSxHQUFHLFFBQVEsQ0FBQztnQkFBQyxNQUFNO1lBQ3hELEtBQUssc0JBQXNCO2dCQUFFLE1BQU0sR0FBRyxVQUFVLENBQUM7Z0JBQUMsTUFBTTtRQUN6RCxDQUFDO1FBQ0QsQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2pHLE9BQU8sTUFBTSxJQUFJLElBQUksQ0FBQztJQUN2QixDQUFDO3dHQTVDVyxtQkFBbUI7NEdBQW5CLG1CQUFtQixjQUZuQixNQUFNOzs0RkFFTixtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDaGVja291dERhdGEsIENoZWNrb3V0RGF0YVR5cGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE9yZGVyVXRpbGl0eVNlcnZpY2Uge1xyXG5cclxuXHRjb25zdHJ1Y3RvcigpIHsgfVxyXG5cdC8qKlxyXG5cdCAqIEBwYXJhbSBjYXJ0IE9iamV0byBjYXJyaXRvIG8gb3JkZW4sIGluZGlzdGludGFtZW50ZSwgeWEgcXVlIHBvc2VlbiBlbCBtaXNtbyBmb3JtYXRvXHJcblx0ICogQHBhcmFtIGZvckNhcnQgU2kgbGEgc29saWNpdHVkIGRlIHByb21vY2lvbmVzIHByb3ZpZW5lIGRlbCBjYXJyaXRvLCBzdXByaW1lIGVsIHN1YnRvdGFsIHkgZWwgdG90YWxcclxuXHQgKiBAZGVzY3JpcHRpb24gRGV2dWVsdmUgdW4gbGlzdGFkbyBjb24gdG9kYXMgbGFzIHByb21vY2lvbmVzIHF1ZSBwb3NlZSBlbCBjYXJyby9vcmRlblxyXG5cdCAqL1xyXG5cdGdldFByb21vdGlvbnMgPSAoY2FydDogYW55LCBmb3JDYXJ0OiBib29sZWFuID0gZmFsc2UpOiBDaGVja291dERhdGFbXSB8IHVuZGVmaW5lZCA9PiB7XHJcblx0XHRpZiAoY2FydC5jaGVja291dFN0YXRlICYmIGNhcnQuY2hlY2tvdXRTdGF0ZSA9PSBcImNvbXBsZXRlZFwiKSByZXR1cm47XHJcblx0XHRsZXQgbmV3X3N0YXRlOiBDaGVja291dERhdGFbXSA9IFtdO1xyXG5cdFx0bGV0IHN1YnRvdGFsOiBDaGVja291dERhdGEgPSB7IHR5cGU6ICdzdWJ0b3RhbCcsIG5hbWU6ICdzdWJ0b3RhbCcsIGFtb3VudDogY2FydC50b3RhbHMuaXRlbXMgfTtcclxuXHRcdGxldCB0b3RhbDogQ2hlY2tvdXREYXRhID0geyB0eXBlOiAndG90YWwnLCBuYW1lOiAndG90YWwnLCBhbW91bnQ6IGNhcnQudG90YWxzLnRvdGFsIH07XHJcblx0XHQhZm9yQ2FydCAmJiBuZXdfc3RhdGUucHVzaChzdWJ0b3RhbCk7XHJcblx0XHRcclxuXHRcdGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBjYXJ0LmNhcnREaXNjb3VudHMubGVuZ3RoOyBpbmRleCsrKSB7XHJcblx0XHRcdGNhcnQuY2FydERpc2NvdW50c1tpbmRleF0udHlwZSA9IHRoaXMuZm9ybWF0VHlwZShjYXJ0LmNhcnREaXNjb3VudHNbaW5kZXhdLnR5cGUpO1xyXG5cdFx0XHRuZXdfc3RhdGUucHVzaCh7XHJcblx0XHRcdFx0dHlwZTogY2FydC5jYXJ0RGlzY291bnRzW2luZGV4XS50eXBlLFxyXG5cdFx0XHRcdG5hbWU6IChjYXJ0LmNhcnREaXNjb3VudHNbaW5kZXhdLnR5cGUgIT0gJ2NvdXBvbicpID8gY2FydC5jYXJ0RGlzY291bnRzW2luZGV4XS5uYW1lIDogJ2NvdXBvbicsXHJcblx0XHRcdFx0YW1vdW50OiB0aGlzLmdldEFtb3VudChjYXJ0LmNhcnREaXNjb3VudHNbaW5kZXhdLCBjYXJ0KVxyXG5cdFx0XHR9KTtcclxuXHJcblx0XHR9XHJcblxyXG5cdFx0IWZvckNhcnQgJiYgbmV3X3N0YXRlLnB1c2godG90YWwpO1xyXG5cdFx0cmV0dXJuIG5ld19zdGF0ZTtcclxuXHR9XHJcblxyXG5cdGdldEFtb3VudChkaXNjb3VudDphbnksIGNhcnQ6YW55KTogbnVtYmVye1xyXG5cdFx0aWYgKGRpc2NvdW50LnR5cGUgIT0gJ3NoaXBtZW50JykgcmV0dXJuIGRpc2NvdW50LmFtb3VudDtcclxuXHRcdHJldHVybiBjYXJ0LnRvdGFscy5zaGlwcGluZztcclxuXHR9XHJcblxyXG5cdGZvcm1hdFR5cGUodHlwZTogc3RyaW5nKTogQ2hlY2tvdXREYXRhVHlwZSB8IHN0cmluZ3tcclxuXHRcdGxldCByZXN1bHQ7XHJcblx0XHRzd2l0Y2ggKHR5cGUpIHtcclxuXHRcdFx0Y2FzZSAnb3JkZXJfcHJvbW90aW9uJzogcmVzdWx0ID0gJ2Rpc2NvdW50JzsgYnJlYWs7XHJcblx0XHRcdGNhc2UgJ29yZGVyX3NoaXBwaW5nX3Byb21vdGlvbic6IHJlc3VsdCA9ICdzaGlwbWVudCc7IGJyZWFrO1xyXG5cdFx0XHRjYXNlICdvcmRlcl9jb3Vwb25fcHJvbW90aW9uJzogcmVzdWx0ID0gJ2NvdXBvbic7IGJyZWFrO1xyXG5cdFx0XHRjYXNlICdvcmRlcl91bml0X3Byb21vdGlvbic6IHJlc3VsdCA9ICdkaXNjb3VudCc7IGJyZWFrO1xyXG5cdFx0fVxyXG5cdFx0IXJlc3VsdCAmJiAocmVzdWx0ID0gdHlwZS5pbmNsdWRlcygncHJvbW90aW9uJykgfHwgdHlwZS5pbmNsdWRlcygnZGlzY291bnQnKSA/ICdkaXNjb3VudCcgOiB0eXBlKVxyXG5cdFx0cmV0dXJuIHJlc3VsdCB8fCB0eXBlO1xyXG5cdH1cclxufVxyXG4iXX0=
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItdXRpbGl0eS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL29yZGVyLXV0aWxpdHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0zQyxNQUFNLE9BQU8sbUJBQW1CO0lBRS9CLGdCQUFnQixDQUFDO0lBQ2pCOzs7O09BSUc7SUFDSCxhQUFhLEdBQUcsQ0FBQyxJQUFTLEVBQUUsVUFBbUIsS0FBSyxFQUE4QixFQUFFO1FBQ25GLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLFdBQVc7WUFBRSxPQUFPO1FBQ3BFLElBQUksU0FBUyxHQUFtQixFQUFFLENBQUM7UUFDbkMsSUFBSSxRQUFRLEdBQWlCLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xHLElBQUksS0FBSyxHQUFpQixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0RixDQUFDLE9BQU8sSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQTtRQUNDLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ2hFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QyxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN4QyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQzlCLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUNoQyxDQUFDO1lBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQztnQkFDZCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUTtnQkFDcEQsTUFBTSxFQUFFLE1BQU07YUFDZCxDQUFDLENBQUM7UUFDSixDQUFDO1FBRUQsQ0FBQyxPQUFPLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxPQUFPLFNBQVMsQ0FBQztJQUNsQixDQUFDLENBQUE7SUFFRCxTQUFTLENBQUMsUUFBYSxFQUFFLElBQVM7UUFDakMsSUFBSSxRQUFRLENBQUMsSUFBSSxJQUFJLFVBQVU7WUFBRSxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDeEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVk7UUFDdEIsSUFBSSxNQUFNLENBQUM7UUFDWCxRQUFRLElBQUksRUFBRSxDQUFDO1lBQ2QsS0FBSyxpQkFBaUI7Z0JBQUUsTUFBTSxHQUFHLFVBQVUsQ0FBQztnQkFBQyxNQUFNO1lBQ25ELEtBQUssMEJBQTBCO2dCQUFFLE1BQU0sR0FBRyxVQUFVLENBQUM7Z0JBQUMsTUFBTTtZQUM1RCxLQUFLLHdCQUF3QjtnQkFBRSxNQUFNLEdBQUcsUUFBUSxDQUFDO2dCQUFDLE1BQU07WUFDeEQsS0FBSyxzQkFBc0I7Z0JBQUUsTUFBTSxHQUFHLFVBQVUsQ0FBQztnQkFBQyxNQUFNO1FBQ3pELENBQUM7UUFDRCxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDakcsT0FBTyxNQUFNLElBQUksSUFBSSxDQUFDO0lBQ3ZCLENBQUM7d0dBaERXLG1CQUFtQjs0R0FBbkIsbUJBQW1CLGNBRm5CLE1BQU07OzRGQUVOLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENoZWNrb3V0RGF0YSwgQ2hlY2tvdXREYXRhVHlwZSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgT3JkZXJVdGlsaXR5U2VydmljZSB7XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkgeyB9XHJcblx0LyoqXHJcblx0ICogQHBhcmFtIGNhcnQgT2JqZXRvIGNhcnJpdG8gbyBvcmRlbiwgaW5kaXN0aW50YW1lbnRlLCB5YSBxdWUgcG9zZWVuIGVsIG1pc21vIGZvcm1hdG9cclxuXHQgKiBAcGFyYW0gZm9yQ2FydCBTaSBsYSBzb2xpY2l0dWQgZGUgcHJvbW9jaW9uZXMgcHJvdmllbmUgZGVsIGNhcnJpdG8sIHN1cHJpbWUgZWwgc3VidG90YWwgeSBlbCB0b3RhbFxyXG5cdCAqIEBkZXNjcmlwdGlvbiBEZXZ1ZWx2ZSB1biBsaXN0YWRvIGNvbiB0b2RhcyBsYXMgcHJvbW9jaW9uZXMgcXVlIHBvc2VlIGVsIGNhcnJvL29yZGVuXHJcblx0ICovXHJcblx0Z2V0UHJvbW90aW9ucyA9IChjYXJ0OiBhbnksIGZvckNhcnQ6IGJvb2xlYW4gPSBmYWxzZSk6IENoZWNrb3V0RGF0YVtdIHwgdW5kZWZpbmVkID0+IHtcclxuXHRcdGlmIChjYXJ0LmNoZWNrb3V0U3RhdGUgJiYgY2FydC5jaGVja291dFN0YXRlID09IFwiY29tcGxldGVkXCIpIHJldHVybjtcclxuXHRcdGxldCBuZXdfc3RhdGU6IENoZWNrb3V0RGF0YVtdID0gW107XHJcblx0XHRsZXQgc3VidG90YWw6IENoZWNrb3V0RGF0YSA9IHsgdHlwZTogJ3N1YnRvdGFsJywgbmFtZTogJ3N1YnRvdGFsJywgYW1vdW50OiBjYXJ0LnRvdGFscy5zdWJ0b3RhbCB9O1xyXG5cdFx0bGV0IHRvdGFsOiBDaGVja291dERhdGEgPSB7IHR5cGU6ICd0b3RhbCcsIG5hbWU6ICd0b3RhbCcsIGFtb3VudDogY2FydC50b3RhbHMudG90YWwgfTtcclxuXHRcdCFmb3JDYXJ0ICYmIG5ld19zdGF0ZS5wdXNoKHN1YnRvdGFsKTtcclxuMFxyXG5cdFx0Zm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGNhcnQuY2FydERpc2NvdW50cy5sZW5ndGg7IGluZGV4KyspIHtcclxuXHRcdFx0Y29uc3QgZGlzYyA9IGNhcnQuY2FydERpc2NvdW50c1tpbmRleF07XHJcblx0XHRcdGRpc2MudHlwZSA9IHRoaXMuZm9ybWF0VHlwZShkaXNjLnR5cGUpO1xyXG5cdFx0XHRsZXQgYW1vdW50ID0gdGhpcy5nZXRBbW91bnQoZGlzYywgY2FydCk7XHJcblx0XHRcdGlmIChkaXNjLnR5cGUgPT09ICdkaXNjb3VudCcpIHtcclxuXHRcdFx0XHRhbW91bnQgPSBjYXJ0LnRvdGFscy5wcm9tb3Rpb247XHJcblx0XHRcdH1cclxuXHRcdFx0bmV3X3N0YXRlLnB1c2goe1xyXG5cdFx0XHRcdHR5cGU6IGRpc2MudHlwZSxcclxuXHRcdFx0XHRuYW1lOiAoZGlzYy50eXBlICE9ICdjb3Vwb24nKSA/IGRpc2MubmFtZSA6ICdjb3Vwb24nLFxyXG5cdFx0XHRcdGFtb3VudDogYW1vdW50XHJcblx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cclxuXHRcdCFmb3JDYXJ0ICYmIG5ld19zdGF0ZS5wdXNoKHRvdGFsKTtcclxuXHRcdHJldHVybiBuZXdfc3RhdGU7XHJcblx0fVxyXG5cclxuXHRnZXRBbW91bnQoZGlzY291bnQ6IGFueSwgY2FydDogYW55KTogbnVtYmVyIHtcclxuXHRcdGlmIChkaXNjb3VudC50eXBlICE9ICdzaGlwbWVudCcpIHJldHVybiBkaXNjb3VudC5hbW91bnQ7XHJcblx0XHRyZXR1cm4gY2FydC50b3RhbHMuc2hpcHBpbmc7XHJcblx0fVxyXG5cclxuXHRmb3JtYXRUeXBlKHR5cGU6IHN0cmluZyk6IENoZWNrb3V0RGF0YVR5cGUgfCBzdHJpbmcge1xyXG5cdFx0bGV0IHJlc3VsdDtcclxuXHRcdHN3aXRjaCAodHlwZSkge1xyXG5cdFx0XHRjYXNlICdvcmRlcl9wcm9tb3Rpb24nOiByZXN1bHQgPSAnZGlzY291bnQnOyBicmVhaztcclxuXHRcdFx0Y2FzZSAnb3JkZXJfc2hpcHBpbmdfcHJvbW90aW9uJzogcmVzdWx0ID0gJ3NoaXBtZW50JzsgYnJlYWs7XHJcblx0XHRcdGNhc2UgJ29yZGVyX2NvdXBvbl9wcm9tb3Rpb24nOiByZXN1bHQgPSAnY291cG9uJzsgYnJlYWs7XHJcblx0XHRcdGNhc2UgJ29yZGVyX3VuaXRfcHJvbW90aW9uJzogcmVzdWx0ID0gJ2Rpc2NvdW50JzsgYnJlYWs7XHJcblx0XHR9XHJcblx0XHQhcmVzdWx0ICYmIChyZXN1bHQgPSB0eXBlLmluY2x1ZGVzKCdwcm9tb3Rpb24nKSB8fCB0eXBlLmluY2x1ZGVzKCdkaXNjb3VudCcpID8gJ2Rpc2NvdW50JyA6IHR5cGUpXHJcblx0XHRyZXR1cm4gcmVzdWx0IHx8IHR5cGU7XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -97,6 +97,7 @@ export class ProductDetailService {
97
97
  associated.minimumItemsQuantity = v.stock > 0 && 'minimumItemsQuantity' in v && v.minimumItemsQuantity > 0
98
98
  ? v.minimumItemsQuantity
99
99
  : (v.multipleQuantity ?? 1);
100
+ associated.multipleQuantity = v.multipleQuantity ?? 1;
100
101
  // Precios al consumidor final
101
102
  associated.finalConsumer = {
102
103
  finalConsumerPrice: v.final_consumer_price,
@@ -299,6 +300,15 @@ export class ProductDetailService {
299
300
  this._toastService.show('minimum-items-quantity', { quantity: asociatedData.minimumItemsQuantity });
300
301
  return false;
301
302
  }
303
+ if (asociatedData.multipleQuantity && asociatedData.multipleQuantity > 1) {
304
+ if ((actualQuantity + quantity) % asociatedData.multipleQuantity !== 0) {
305
+ this._toastService.show('multiple-quantity-required', {
306
+ multiple: asociatedData.multipleQuantity,
307
+ current: actualQuantity + quantity
308
+ });
309
+ return false;
310
+ }
311
+ }
302
312
  return true;
303
313
  };
304
314
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductDetailService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
@@ -310,4 +320,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
310
320
  providedIn: 'root'
311
321
  }]
312
322
  }], ctorParameters: () => [] });
313
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kZXRhaWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1zZXJ2aWNlcy9wcm9kdWN0LWRldGFpbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUs3QyxNQUFNLE9BQU8sb0JBQW9CO0lBQ3hCLGdCQUFnQixHQUFvQixNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDNUQsYUFBYSxHQUFpQixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbkQsWUFBWSxHQUFnQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFaEQsZUFBZSxHQUFHLElBQUksZUFBZSxDQUFpQixFQUFFLENBQUMsQ0FBQztJQUMxRCxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7SUFDL0Msc0JBQXNCLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFekYsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0MsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0MsZUFBZSxHQUFHLElBQUksQ0FB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QUFhLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUE7WUFDbkcsT0FBTyxLQUFLLENBQUM7UUFDZCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUMsR0FBRyxhQUFhLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUN0RSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFBO1lBQ25HLE9BQU8sS0FBSyxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFBO0lBQ1osQ0FBQyxDQUFBO3dHQXBUVyxvQkFBb0I7NEdBQXBCLG9CQUFvQixjQUZwQixNQUFNOzs0RkFFTixvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFByb2R1Y3RzU2VydmljZSB9IGZyb20gJy4vcHJvZHVjdHMuc2VydmljZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgT3B0aW9ucywgT3B0aW9uVmFsdWUsIFByb2R1Y3QgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi90b2FzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuL2NhcnQuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWN0RGV0YWlsU2VydmljZSB7XHJcblx0cHJpdmF0ZSBfcHJvZHVjdHNTZXJ2aWNlOiBQcm9kdWN0c1NlcnZpY2UgPSBpbmplY3QoUHJvZHVjdHNTZXJ2aWNlKTtcclxuXHRwcml2YXRlIF90b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSA9IGluamVjdChUb2FzdFNlcnZpY2UpO1xyXG5cdHByaXZhdGUgX2NhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSA9IGluamVjdChDYXJ0U2VydmljZSk7XHJcblxyXG5cdHByaXZhdGUgX3Byb2R1Y3RTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQcm9kdWN0IHwgbnVsbD4oe30pO1xyXG5cdHByaXZhdGUgX29wdGlvbnNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHt9KTtcclxuXHRwcml2YXRlIF9hc3NvY2lhdGVkRGF0YVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oeyBwcmljZTogJycsIHN0b2NrOiAwLCBwaWN0dXJlOiAnJyB9KTtcclxuXHJcblx0cHVibGljIHByb2R1Y3QkID0gdGhpcy5fcHJvZHVjdFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblx0cHVibGljIG9wdGlvbnMkID0gdGhpcy5fb3B0aW9uc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblx0cHVibGljIGFzc29jaWF0ZWREYXRhJCA9IHRoaXMuX2Fzc29jaWF0ZWREYXRhU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcblx0cHJpdmF0ZSB2YXJpYW50czogYW55W10gPSBbXVxyXG5cclxuXHRjb25zdHJ1Y3RvcigpIHsgfVxyXG5cdC8qKlxyXG5cdCAqIE9idGVuZ28gZWwgcHJvZHVjdG8gYSB0cmF2ZXMgZGUgc3UgY29kaWdvIGUgaW5pY2lhbGl6byBsYSBjb25maWd1cmFjacOzblxyXG5cdCAqIGRlbCBTZXJ2aWNpby5cclxuXHQgKiBAcGFyYW0gY29kZSBcclxuXHQgKiBAcGFyYW0gdmFyaWFudCBcclxuXHQgKi9cclxuXHRsb2FkUHJvZHVjdChjb2RlOiBzdHJpbmcsIHZhcmlhbnQ6IGJvb2xlYW4gPSBmYWxzZSkge1xyXG5cdFx0Zmlyc3RWYWx1ZUZyb20odGhpcy5fcHJvZHVjdHNTZXJ2aWNlLmdldFByb2R1Y3RCeUNvZGUoY29kZSwgdmFyaWFudCkpXHJcblx0XHRcdC50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0dmFyaWFudCA/IHRoaXMuaW5pdGlhbGl6ZShyZXMsIGNvZGUpIDogdGhpcy5pbml0aWFsaXplKHJlcylcclxuXHRcdFx0fSlcclxuXHRcdFx0LmNhdGNoKGVyciA9PiB7IGNvbnNvbGUubG9nKGVycik7IHRoaXMuX3Byb2R1Y3RTdWJqZWN0Lm5leHQobnVsbCkgfSk7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIENhcmdhIGVsIHByb2R1Y3RvIGVuIGVsIG9ic2VydmFibGUgeSBsYSBjb25maWd1cmFjacOzbiBkZSBsYXMgdmFyaWFudGVzLlxyXG5cdCAqIEBwYXJhbSBwcm9kdWN0IFxyXG5cdCAqIEBwYXJhbSB2YXJpYW50Q29kZSBcclxuXHQgKi9cclxuXHRwcml2YXRlIGluaXRpYWxpemUocHJvZHVjdDogUHJvZHVjdCwgdmFyaWFudENvZGU/OiBzdHJpbmcpIHtcclxuXHRcdHRoaXMuX3Byb2R1Y3RTdWJqZWN0Lm5leHQocHJvZHVjdCk7XHJcblx0XHRjb25zdCBhdXg6IFByb2R1Y3RbJ29wdGlvbnMnXSA9IHByb2R1Y3Qub3B0aW9ucyB8fCBbXTtcclxuXHRcdGNvbnN0IG9wdGlvbnMgPSBhdXg/Lm1hcChvcHRpb24gPT4gdGhpcy50b09wdGlvbihvcHRpb24pKVxyXG5cdFx0dGhpcy5fb3B0aW9uc1N1YmplY3QubmV4dChvcHRpb25zKTtcclxuXHRcdHZhcmlhbnRDb2RlID8gdGhpcy51cGRhdGVWYXJpYW50cyh2YXJpYW50Q29kZSkgOiB0aGlzLnVwZGF0ZVZhcmlhbnRzKCk7XHJcblx0XHR0aGlzLnZhcmlhbnRzLmxlbmd0aCAmJiB0aGlzLmdlbmVyYXRlQXNzb2NpYXRlZERhdGFGcm9tVmFyaWFudHMoKTtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogRm9ybWF0ZSBsb3MgZGF0b3MgcGFyYSBsYXMgb3BjaW9uZXMgZGVsIHByb2R1Y3RvLlxyXG5cdCAqIEBwYXJhbSBvcHRpb24gXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHJpdmF0ZSB0b09wdGlvbihvcHRpb246IE9wdGlvbnMpIHtcclxuXHRcdHJldHVybiB7XHJcblx0XHRcdG5hbWU6IG9wdGlvbi5sYWJlbCxcclxuXHRcdFx0Y29kZTogb3B0aW9uLmNvZGUsXHJcblx0XHRcdHR5cGU6IG9wdGlvbi50eXBlLFxyXG5cdFx0XHR2YWx1ZXM6IG9wdGlvbi52YWx1ZXMubWFwKCh2YWx1ZTogYW55KSA9PiAoeyBuYW1lOiB2YWx1ZS5jb2RlLCBkZXNjcmlwdGlvbjogdmFsdWUubmFtZSwgaW1hZ2U6IHZhbHVlLmltYWdlLCBtb2JpbGVJbWFnZTogdmFsdWUubW9iaWxlSW1hZ2UsIHNlbGVjdGVkOiBmYWxzZSB9KSlcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENhbWJpYSBsYXMgb3BjaW9uZXMsIG9idGllbmUgZWwgcHJvZHVjdG8gYXNvY2lhZG8gYSBsYSBvcGNpb24gZWxlZ2lkYS5cclxuXHQgKi9cclxuXHRzZXRPcHRpb24ob3B0aW9uQ29kZTogYW55LCBvcHRpb25WYWx1ZTogYW55KSB7XHJcblx0XHRjb25zdCBvcHRpb25zID0gdGhpcy5fb3B0aW9uc1N1YmplY3QudmFsdWU7XHJcblx0XHRjb25zdCBvcHRpb24gPSBvcHRpb25zLmZpbmQoKGVsZW1lbnQ6IGFueSkgPT4gZWxlbWVudC5jb2RlID09IG9wdGlvbkNvZGUpLnZhbHVlcy5maW5kKCh2YWx1ZTogYW55KSA9PiB2YWx1ZS5uYW1lID09IG9wdGlvblZhbHVlKTtcclxuXHRcdG9wdGlvbi5zZWxlY3RlZCA9ICFvcHRpb24uc2VsZWN0ZWQ7XHJcblx0XHRvcHRpb25zLmZpbmQoKGVsZW1lbnQ6IGFueSkgPT4gZWxlbWVudC5jb2RlID09IG9wdGlvbkNvZGUpLnZhbHVlcy5mb3JFYWNoKFxyXG5cdFx0XHQodmFsdWU6IGFueSkgPT4geyBpZiAodmFsdWUubmFtZSAhPSBvcHRpb24ubmFtZSkgdmFsdWUuc2VsZWN0ZWQgPSBmYWxzZSB9XHJcblx0XHQpO1xyXG5cdFx0dGhpcy5fb3B0aW9uc1N1YmplY3QubmV4dChvcHRpb25zKTtcclxuXHRcdHRoaXMudXBkYXRlVmFyaWFudHMoKTtcclxuXHRcdHRoaXMudmFyaWFudHMubGVuZ3RoID4gMCA/IHRoaXMuZ2VuZXJhdGVBc3NvY2lhdGVkRGF0YUZyb21WYXJpYW50cygpIDogdGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ3NlbGVjdGlvbi1ub3QtYXZhaWxhYmxlJylcclxuXHR9XHJcblx0LyoqXHJcbiAqIEFjdHVhbGl6YSBlbCBvYnNlcnZhYmxlIGRlIGBhc3NvY2lhdGVkRGF0YWAgZWwgY3VhbCBzZSB1dGlsaXphIHBhcmEgbW9zdHJhciBsb3MgZGF0b3NcclxuICogZW4gZWwgZnJvbnRlbmQgc2Vnw7puIGVsIHByb2R1Y3RvIHkvbyB2YXJpYW50ZSBlbGVnaWRhLlxyXG4gKiBPYnRpZW5lIGxvcyBkYXRvcyBkZSBsYSB2YXJpYW50ZSB5IGxvcyBmb3JtYXRlYS5cclxuICovXHJcblx0Z2VuZXJhdGVBc3NvY2lhdGVkRGF0YUZyb21WYXJpYW50cygpOiB2b2lkIHtcclxuXHRcdGNvbnN0IGFzc29jaWF0ZWQ6IGFueSA9IHt9O1xyXG5cclxuXHRcdC8vIFNpIHPDs2xvIGhheSB1bmEgdmFyaWFudGUsIHRvbWFtb3MgdG9kb3Mgc3VzIGRhdG9zIGRpcmVjdGFtZW50ZVxyXG5cdFx0aWYgKHRoaXMudmFyaWFudHMubGVuZ3RoID09PSAxKSB7XHJcblx0XHRcdGNvbnN0IHYgPSB0aGlzLnZhcmlhbnRzWzBdO1xyXG5cclxuXHRcdFx0YXNzb2NpYXRlZC5zdG9jayA9IHYuc3RvY2s7XHJcblx0XHRcdC8vIFByZWNpbzogc2kgdmllbmUgdGF4TGVnZW5kSW5mbyB1c2Ftb3Mgc3UgcHJpY2UsIHNpIG5vIGVsIHYucHJpY2VcclxuXHRcdFx0Y29uc3QgcmF3UHJpY2UgPSB2LnRheExlZ2VuZEluZm8/LnByaWNlID8/IHYucHJpY2U7XHJcblx0XHRcdGFzc29jaWF0ZWQucHJpY2UgPSByYXdQcmljZS50b1N0cmluZygpO1xyXG5cdFx0XHRjb25zdCByYXdTYWxlUHJpY2UgPSB2LnRheExlZ2VuZEluZm8/LnNhbGVwcmljZSA/PyB2LnNhbGVwcmljZTtcclxuXHRcdFx0YXNzb2NpYXRlZC5zYWxlcHJpY2UgPSByYXdTYWxlUHJpY2UgPyByYXdTYWxlUHJpY2UudG9TdHJpbmcoKSA6IHVuZGVmaW5lZDtcclxuXHRcdFx0YXNzb2NpYXRlZC5kaXNjb3VudCA9IHYuZGlzY291bnQgPz8gdW5kZWZpbmVkO1xyXG5cdFx0XHRhc3NvY2lhdGVkLnByb3BlcnRpZXMgPSB2LnByb3BlcnRpZXMgPyB0aGlzLmJlYXV0aWZ5UHJvcGVydGllcyh2LnByb3BlcnRpZXMpIDogdW5kZWZpbmVkO1xyXG5cdFx0XHRhc3NvY2lhdGVkLnVuaXF1ZUV4dGVybmFsQ29kZSA9IHYudW5pcXVlRXh0ZXJuYWxDb2RlID8/IHVuZGVmaW5lZDtcclxuXHRcdFx0YXNzb2NpYXRlZC5tdWx0aXBsZVF1YW50aXR5ID0gdi5tdWx0aXBsZVF1YW50aXR5ID8/IHVuZGVmaW5lZDtcclxuXHJcblx0XHRcdC8vIEzDrW1pdGVzIGRlIGNhbnRpZGFkL3N0b2NrXHJcblx0XHRcdGFzc29jaWF0ZWQubWF4aW11bUFtb3VudCA9IHYubWF4aW11bUFtb3VudCA/PyAwO1xyXG5cdFx0XHRhc3NvY2lhdGVkLm1pbmltdW1BbW91bnQgPSB2Lm1pbmltdW1BbW91bnQgPz8gMDtcclxuXHRcdFx0YXNzb2NpYXRlZC5tYXhpbXVtSXRlbXNRdWFudGl0eSA9IHYuc3RvY2sgPiAwICYmICdtYXhpbXVtSXRlbXNRdWFudGl0eScgaW4gdlxyXG5cdFx0XHRcdD8gdi5tYXhpbXVtSXRlbXNRdWFudGl0eVxyXG5cdFx0XHRcdDogdi5zdG9jaztcclxuXHRcdFx0YXNzb2NpYXRlZC5taW5pbXVtSXRlbXNRdWFudGl0eSA9IHYuc3RvY2sgPiAwICYmICdtaW5pbXVtSXRlbXNRdWFudGl0eScgaW4gdiAmJiB2Lm1pbmltdW1JdGVtc1F1YW50aXR5ISA+IDBcclxuXHRcdFx0XHQ/IHYubWluaW11bUl0ZW1zUXVhbnRpdHlcclxuXHRcdFx0XHQ6ICh2Lm11bHRpcGxlUXVhbnRpdHkgPz8gMSk7XHJcblxyXG5cdFx0XHQvLyBQcmVjaW9zIGFsIGNvbnN1bWlkb3IgZmluYWxcclxuXHRcdFx0YXNzb2NpYXRlZC5maW5hbENvbnN1bWVyID0ge1xyXG5cdFx0XHRcdGZpbmFsQ29uc3VtZXJQcmljZTogdi5maW5hbF9jb25zdW1lcl9wcmljZSxcclxuXHRcdFx0XHRvcmlnaW5hbEZpbmFsQ29uc3VtZXJQcmljZTogdi5vcmlnaW5hbF9maW5hbF9jb25zdW1lcl9wcmljZVxyXG5cdFx0XHR9O1xyXG5cclxuXHRcdFx0Ly8gSW1wdWVzdG9zXHJcblx0XHRcdGFzc29jaWF0ZWQudGF4ZXMgPSB7XHJcblx0XHRcdFx0dGF4SW5jbHVkZWQ6IHYudGF4SW5jbHVkZWQsXHJcblx0XHRcdFx0dGF4Q2F0ZWdvcnk6IHYudGF4Q2F0ZWdvcnlcclxuXHRcdFx0fTtcclxuXHRcdFx0Ly8gU2VndW4gdmVyc2lvbiBkZWwgYmFja2VuZFxyXG5cdFx0XHRpZiAodi50YXhMZWdlbmRJbmZvKSB7XHJcblx0XHRcdFx0Ly8gTnVldm8gYmFja2VuZFxyXG5cdFx0XHRcdGFzc29jaWF0ZWQucHJpY2VXaXRob3V0VGF4ZXMgPSB2LnRheExlZ2VuZEluZm8ucHJpY2VXaXRob3V0VGF4ZXM7XHJcblx0XHRcdFx0YXNzb2NpYXRlZC50YXhlQW1vdW50ID0gdi50YXhMZWdlbmRJbmZvLnRheGVzO1xyXG5cdFx0XHRcdGFzc29jaWF0ZWQudGF4UmF0ZSA9IHYudGF4TGVnZW5kSW5mby50YXhSYXRlO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdC8vIEJhY2tlbmQgYW50aWd1b1xyXG5cdFx0XHRcdGFzc29jaWF0ZWQucHJpY2VXaXRob3V0VGF4ZXMgPSB2LnByaWNlV2l0aG91dFRheGVzID8/IHVuZGVmaW5lZDtcclxuXHRcdFx0XHRhc3NvY2lhdGVkLnRheGVBbW91bnQgPSB2LnRheGVzID8/IHVuZGVmaW5lZDtcclxuXHRcdFx0XHRhc3NvY2lhdGVkLnRheFJhdGUgPSB2LnRheFJhdGUgPz8gdW5kZWZpbmVkO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0Ly8gU2kgaGF5IHZhcmlhcyB2YXJpYW50ZXMsIHJlc3VtaW1vc1xyXG5cdFx0XHRhc3NvY2lhdGVkLnByaWNlID0gdGhpcy5jcmVhdGVQcmljZSgpO1xyXG5cdFx0XHRhc3NvY2lhdGVkLnNhbGVwcmljZSA9IHRoaXMuY3JlYXRlU2FsZVByaWNlKCk7XHJcblx0XHRcdGFzc29jaWF0ZWQuc3RvY2sgPSB0aGlzLnZhcmlhbnRzLm1hcCh2ID0+IHYuc3RvY2spLnJlZHVjZSgoYSwgYikgPT4gYSArIGIsIDApO1xyXG5cdFx0XHRhc3NvY2lhdGVkLmRpc2NvdW50ID0gdGhpcy5jcmVhdGVEaXNjb3VudCgpO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIEltYWdlbiBwcmluY2lwYWxcclxuXHRcdGNvbnN0IGZpcnN0ID0gdGhpcy52YXJpYW50c1swXTtcclxuXHRcdGlmICgnaW1hZ2VzJyBpbiBmaXJzdCAmJiBmaXJzdC5pbWFnZXMubGVuZ3RoID4gMCkge1xyXG5cdFx0XHRhc3NvY2lhdGVkLnBpY3R1cmUgPSBmaXJzdC5pbWFnZXNbMF07XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRhc3NvY2lhdGVkLnBpY3R1cmUgPSB0aGlzLl9hc3NvY2lhdGVkRGF0YVN1YmplY3QudmFsdWU/LnBpY3R1cmVcclxuXHRcdFx0XHQ/PyB0aGlzLl9wcm9kdWN0U3ViamVjdC52YWx1ZT8ucGljdHVyZXNkZWZhdWx0Py5bMF07XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gRW1pdGltb3MgZWwgb2JqZXRvIGNvbXBsZXRvXHJcblx0XHR0aGlzLl9hc3NvY2lhdGVkRGF0YVN1YmplY3QubmV4dChhc3NvY2lhdGVkKTtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogTWVqb3JhIGxvcyBkYXRvcyBkZSBsYXMgYHByb3BlcnRpZXNgLlxyXG5cdCAqIEBwYXJhbSBwcm9wZXJ0aWVzIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdGJlYXV0aWZ5UHJvcGVydGllcyhwcm9wZXJ0aWVzOiBhbnkpOiBhbnkge1xyXG5cdFx0bGV0IGJlYXV0aWZ5RGF0YTogYW55ID0gW107XHJcblx0XHRwcm9wZXJ0aWVzLmZvckVhY2goKHByb3A6IGFueSkgPT4ge1xyXG5cdFx0XHRmb3IgKGxldCBrZXkgaW4gcHJvcCkge1xyXG5cdFx0XHRcdGJlYXV0aWZ5RGF0YS5wdXNoKHsgbmFtZToga2V5LCB2YWx1ZTogcHJvcFtrZXldIH0pXHJcblx0XHRcdH1cclxuXHRcdH0pXHJcblx0XHRyZXR1cm4gYmVhdXRpZnlEYXRhXHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIERldnVlbHZlIHVuIGRlc2N1ZW50byBlbiBjYXNvIGRlIGV4aXN0aXIuXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0Y3JlYXRlRGlzY291bnQoKTogYW55IHtcclxuXHRcdGxldCBhbGxEaXNjb3VudHM6IHN0cmluZyA9ICcnO1xyXG5cdFx0dGhpcy52YXJpYW50cy5mb3JFYWNoKHZhcmlhbnQgPT4ge1xyXG5cdFx0XHR2YXJpYW50LmRpc2NvdW50ICYmIChhbGxEaXNjb3VudHMgKz0gJywgJyArIHZhcmlhbnQuZGlzY291bnQpO1xyXG5cdFx0fSlcclxuXHRcdGlmIChhbGxEaXNjb3VudHMgPT0gJycpIHJldHVybiB1bmRlZmluZWQ7XHJcblx0XHRyZXR1cm4gYWxsRGlzY291bnRzO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBEZXZ1ZWx2ZSBlbCBwcmVjaW8gZGUgdmVudGEuXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0Y3JlYXRlU2FsZVByaWNlKCk6IGFueSB7XHJcblx0XHRsZXQgbWluUHJpY2U6IG51bWJlciA9IDA7XHJcblx0XHRsZXQgbWF4UHJpY2U6IG51bWJlciA9IDA7XHJcblx0XHRsZXQgYWxsUHJpY2VzOiBhbnkgPSB0aGlzLnZhcmlhbnRzLm1hcCh2ID0+IHYuc2FsZXByaWNlKS5maWx0ZXIoZSA9PiBlICE9PSB1bmRlZmluZWQpO1xyXG5cdFx0aWYgKGFsbFByaWNlcy5sZW5ndGggPT0gMCkge1xyXG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkXHJcblx0XHR9XHJcblx0XHRtaW5QcmljZSA9IGFsbFByaWNlcy5yZWR1Y2UoKGE6IG51bWJlciwgYjogbnVtYmVyKSA9PiBNYXRoLm1pbihhLCBiKSk7XHJcblx0XHRtYXhQcmljZSA9IGFsbFByaWNlcy5yZWR1Y2UoKGE6IG51bWJlciwgYjogbnVtYmVyKSA9PiBNYXRoLm1heChhLCBiKSk7XHJcblx0XHRyZXR1cm4gbWluUHJpY2UgPT0gbWF4UHJpY2UgPyBtYXhQcmljZS50b1N0cmluZygpIDogbWluUHJpY2UgKyAnIC0gJyArIG1heFByaWNlO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBEZXZ1ZWx2ZSBlbCBwcmVjaW8gbyBsb3MgcHJlY2lvcyBlbiBjYXNvIGRlIHRlbmVyIHZhcmlhcyB2YXJpYW50ZXMgY29uIGRpc3RpbnRvcyBwcmVjaW9zLlxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdGNyZWF0ZVByaWNlKCk6IGFueSB7XHJcblx0XHRsZXQgbWluUHJpY2U6IG51bWJlciA9IDA7XHJcblx0XHRsZXQgbWF4UHJpY2U6IG51bWJlciA9IDA7XHJcblx0XHRsZXQgYWxsUHJpY2U6IGFueSA9IHRoaXMudmFyaWFudHMubWFwKHYgPT4gdi5wcmljZSlcclxuXHRcdG1pblByaWNlID0gYWxsUHJpY2UucmVkdWNlKChhOiBudW1iZXIsIGI6IG51bWJlcikgPT4gTWF0aC5taW4oYSwgYikpO1xyXG5cdFx0bWF4UHJpY2UgPSBhbGxQcmljZS5yZWR1Y2UoKGE6IG51bWJlciwgYjogbnVtYmVyKSA9PiBNYXRoLm1heChhLCBiKSk7XHJcblx0XHRyZXR1cm4gbWluUHJpY2UgPT0gbWF4UHJpY2UgPyBtYXhQcmljZS50b1N0cmluZygpIDogbWluUHJpY2UgKyAnIC0gJyArIG1heFByaWNlO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBBY3R1YWxpemEgbGFzIHZhcmlhbnRlcy5cclxuXHQgKiBAcGFyYW0gY29kZSBcclxuXHQgKi9cclxuXHR1cGRhdGVWYXJpYW50cyA9IChjb2RlPzogc3RyaW5nKSA9PiB7XHJcblx0XHRsZXQgdmFyaWFudHMgPSB0aGlzLl9wcm9kdWN0U3ViamVjdC52YWx1ZT8udmFyaWFudHNcclxuXHRcdC8vY29uc29sZS5sb2codmFyaWFudHMpXHJcblx0XHRpZiAoIWNvZGUpIHtcclxuXHRcdFx0dGhpcy5fb3B0aW9uc1N1YmplY3QudmFsdWUuZm9yRWFjaCgob3B0aW9uOiBhbnkpID0+IHtcclxuXHRcdFx0XHRvcHRpb24udmFsdWVzLmZvckVhY2goKHZhbHVlOiBhbnkpID0+IHtcclxuXHRcdFx0XHRcdGlmICh2YWx1ZS5zZWxlY3RlZCkge1xyXG5cdFx0XHRcdFx0XHR2YXJpYW50cyA9IHZhcmlhbnRzPy5maWx0ZXIodmFyaWFudCA9PiB7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHZhcmlhbnQub3B0aW9ucy5zb21lKCh2YXJpYW50T3B0aW9uOiBhbnkpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdHJldHVybiAob3B0aW9uLmNvZGUgaW4gdmFyaWFudE9wdGlvbiAmJiB2YXJpYW50T3B0aW9uW29wdGlvbi5jb2RlXSA9PSB2YWx1ZS5uYW1lKTtcclxuXHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0pXHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR2YXJpYW50cyA9IHZhcmlhbnRzPy5maWx0ZXIodmFyaWFudCA9PiB2YXJpYW50LmNvZGUgPT0gY29kZSk7XHJcblx0XHR9XHJcblx0XHR0aGlzLnZhcmlhbnRzID0gdmFyaWFudHMgfHwgW107XHJcblx0XHRjb2RlICYmIHRoaXMudXBkYXRlT3B0aW9ucygpO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBBY3R1YWxpemEgbGFzIG9wY2lvbmVzXHJcblx0ICovXHJcblx0cHJpdmF0ZSB1cGRhdGVPcHRpb25zID0gKCkgPT4ge1xyXG5cdFx0bGV0IHsgb3B0aW9ucyB9ID0gdGhpcy52YXJpYW50cy5sZW5ndGggJiYgdGhpcy52YXJpYW50c1swXTtcclxuXHRcdG9wdGlvbnMgJiYgb3B0aW9ucy5mb3JFYWNoKChvcHRpb246IGFueSkgPT4gT2JqZWN0LmtleXMob3B0aW9uKS5mb3JFYWNoKGtleSA9PiB0aGlzLnNldE9wdGlvbihrZXksIG9wdGlvbltrZXldKSkpXHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIEFncmVnYSBlbCBwcm9kdWN0byBhbCBjYXJyaXRvLlxyXG5cdCAqIEBwYXJhbSBxdWFudGl0eSBDYW50aWRhZCBkZWwgcHJvZHVjdG8gYSBhZ3JlZ2FyXHJcblx0ICogQHBhcmFtIHZhcmlhbnRDb2RlIENvZGlnbyBkZSBsYSB2YXJpYW50ZS5cclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRhZGRUb0NhcnQocXVhbnRpdHk6IG51bWJlciwgdmFyaWFudENvZGU/OiBzdHJpbmcpIHtcclxuXHJcblxyXG5cdFx0aWYgKCF0aGlzLnZhcmlhbnRzLmxlbmd0aCkge1xyXG5cclxuXHRcdFx0dGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ2NhbnQtYnV5JylcclxuXHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdGxldCBwcm9kdWN0U2VsZWN0ZWQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KCh0aGlzLl9wcm9kdWN0U3ViamVjdC5nZXRWYWx1ZSgpKSkpO1xyXG5cclxuXHRcdGxldCB2YXJpYW50OiBhbnk7XHJcblx0XHRzd2l0Y2ggKHRoaXMudmFyaWFudHMubGVuZ3RoKSB7XHJcblx0XHRcdGNhc2UgMDpcclxuXHRcdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnbm8tdmFyaWFudHMnKTtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSAxOlxyXG5cclxuXHRcdFx0XHR0aGlzLl9hc3NvY2lhdGVkRGF0YVN1YmplY3QudmFsdWUuc3RvY2sgPT0gMFxyXG5cdFx0XHRcdFx0PyB0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnb3V0LW9mLXN0b2NrJylcclxuXHRcdFx0XHRcdDogdmFyaWFudCA9IHRoaXMudmFyaWFudHNbMF1cclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0ZGVmYXVsdDpcclxuXHRcdFx0XHRpZiAodmFyaWFudENvZGUpIHtcclxuXHRcdFx0XHRcdHZhcmlhbnQgPSB0aGlzLnZhcmlhbnRzLmZpbmQodmFyaWFudCA9PiB2YXJpYW50LmNvZGUgPT09IHZhcmlhbnRDb2RlKVxyXG5cdFx0XHRcdFx0aWYgKHZhcmlhbnQuc3RvY2sgPT0gMCkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnb3V0LW9mLXN0b2NrJylcclxuXHRcdFx0XHRcdFx0dmFyaWFudCA9IHVuZGVmaW5lZFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygndmFyaWFudHMtbGVmdCcpXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0fVxyXG5cdFx0aWYgKCF2YXJpYW50KSByZXR1cm47XHJcblx0XHRpZiAoIXRoaXMudmFsaWRhdGVRdWFudGl0eShxdWFudGl0eSkpIHJldHVybjtcclxuXHRcdC8vYWdyZWdhciBhbCBzZXJ2aWNpbyBkZWwgY2Fycml0b1xyXG5cdFx0dGhpcy5fY2FydFNlcnZpY2UuYWRkVG9DYXJ0KHRoaXMubWFrZUFmZm9yZGFibGVQcm9kdWN0KHByb2R1Y3RTZWxlY3RlZCksIHF1YW50aXR5LCB2YXJpYW50LmNvZGUpO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBHZW5lcmEgdW4gcHJvZHVjdG8gcGFyYSBoYWNlciBtYXMgZmFjw61sIGVsIGVudmlvIGRlbCBlbGVtZW50byBhbCBiYWNrZW5kLlxyXG5cdCAqIEBwYXJhbSBwcm9kdWN0U2VsZWN0ZWQgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHJpdmF0ZSBtYWtlQWZmb3JkYWJsZVByb2R1Y3QocHJvZHVjdFNlbGVjdGVkOiBQcm9kdWN0KSB7XHJcblx0XHRwcm9kdWN0U2VsZWN0ZWQucHJpY2UgPSBwYXJzZUZsb2F0KHRoaXMuX2Fzc29jaWF0ZWREYXRhU3ViamVjdC52YWx1ZS5wcmljZSk7XHJcblx0XHRwcm9kdWN0U2VsZWN0ZWQuc2FsZXByaWNlID0gcGFyc2VGbG9hdCh0aGlzLl9hc3NvY2lhdGVkRGF0YVN1YmplY3QudmFsdWUucHJpY2UpO1xyXG5cdFx0cHJvZHVjdFNlbGVjdGVkLm9wdGlvbnMgPSBbXTtcclxuXHRcdHRoaXMudmFyaWFudHNbMF0ub3B0aW9ucy5mb3JFYWNoKChvcHRpb246IGFueSkgPT4gcHJvZHVjdFNlbGVjdGVkLm9wdGlvbnMgPSB7IC4uLnByb2R1Y3RTZWxlY3RlZC5vcHRpb25zLCAuLi5vcHRpb24gfSlcclxuXHRcdHJldHVybiBwcm9kdWN0U2VsZWN0ZWQ7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIFZhbGlkYSBsYSBjYW50aWRhZCBxdWUgc2UgcXVpZXJlIGFncmVnYXIgZGUgdW4gcHJvZHVjdG8uXHJcblx0ICogUmV2aXNhIHF1ZSBubyBzdXBlcmUgZWwgc3RvY2ssIGVsIG1heGltbyBkZSBpdGVtcyBxdWUgc2UgcHVlZGUgYWdyZWdhclxyXG5cdCAqIGFzaSBjb21vIGVsIG1pbmltby5cclxuXHQgKiBAcGFyYW0gcXVhbnRpdHkgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHJpdmF0ZSB2YWxpZGF0ZVF1YW50aXR5ID0gKHF1YW50aXR5OiBudW1iZXIpID0+IHtcclxuXHRcdGNvbnN0IGFjdHVhbFF1YW50aXR5ID0gdGhpcy5fY2FydFNlcnZpY2UuZ2V0Q291bnRGcm9tSXRlbUluQ2FydCh0aGlzLnZhcmlhbnRzWzBdLmNvZGUpO1xyXG5cdFx0Y29uc3QgYXNvY2lhdGVkRGF0YSA9IHRoaXMuX2Fzc29jaWF0ZWREYXRhU3ViamVjdC52YWx1ZTtcclxuXHRcdGlmICgoYWN0dWFsUXVhbnRpdHkgKyBxdWFudGl0eSkgPiBhc29jaWF0ZWREYXRhLm1heGltdW1JdGVtc1F1YW50aXR5KSB7XHJcblx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdtYXhpbXVtLWl0ZW1zLXF1YW50aXR5JywgeyBxdWFudGl0eTogYXNvY2lhdGVkRGF0YS5tYXhpbXVtSXRlbXNRdWFudGl0eSB9KVxyXG5cdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHR9XHJcblx0XHRpZiAoKGFjdHVhbFF1YW50aXR5ICsgcXVhbnRpdHkpIDwgYXNvY2lhdGVkRGF0YS5taW5pbXVtSXRlbXNRdWFudGl0eSkge1xyXG5cdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnbWluaW11bS1pdGVtcy1xdWFudGl0eScsIHsgcXVhbnRpdHk6IGFzb2NpYXRlZERhdGEubWluaW11bUl0ZW1zUXVhbnRpdHkgfSlcclxuXHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHRydWVcclxuXHR9XHJcbn1cclxuIl19
323
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kZXRhaWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1zZXJ2aWNlcy9wcm9kdWN0LWRldGFpbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUs3QyxNQUFNLE9BQU8sb0JBQW9CO0lBQ3hCLGdCQUFnQixHQUFvQixNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDNUQsYUFBYSxHQUFpQixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbkQsWUFBWSxHQUFnQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFaEQsZUFBZSxHQUFHLElBQUksZUFBZSxDQUFpQixFQUFFLENBQUMsQ0FBQztJQUMxRCxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7SUFDL0Msc0JBQXNCLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFekYsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0MsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0MsZUFBZSxHQUFHLElBQUksQ0FB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LFFBQVEsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQ3RFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUE7WUFDbkcsT0FBTyxLQUFLLENBQUM7UUFDZCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUMsR0FBRyxhQUFhLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUN0RSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFBO1lBQ25HLE9BQU8sS0FBSyxDQUFDO1FBQ2QsQ0FBQztRQUNELElBQUksYUFBYSxDQUFDLGdCQUFnQixJQUFJLGFBQWEsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMxRSxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDeEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLEVBQUU7b0JBQ3JELFFBQVEsRUFBRSxhQUFhLENBQUMsZ0JBQWdCO29CQUN4QyxPQUFPLEVBQUUsY0FBYyxHQUFHLFFBQVE7aUJBQ2xDLENBQUMsQ0FBQztnQkFDSCxPQUFPLEtBQUssQ0FBQztZQUNkLENBQUM7UUFDRixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUE7SUFDWixDQUFDLENBQUE7d0dBOVRXLG9CQUFvQjs0R0FBcEIsb0JBQW9CLGNBRnBCLE1BQU07OzRGQUVOLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi9wcm9kdWN0cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBPcHRpb25zLCBPcHRpb25WYWx1ZSwgUHJvZHVjdCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuL3RvYXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4vY2FydC5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2R1Y3REZXRhaWxTZXJ2aWNlIHtcclxuXHRwcml2YXRlIF9wcm9kdWN0c1NlcnZpY2U6IFByb2R1Y3RzU2VydmljZSA9IGluamVjdChQcm9kdWN0c1NlcnZpY2UpO1xyXG5cdHByaXZhdGUgX3RvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlID0gaW5qZWN0KFRvYXN0U2VydmljZSk7XHJcblx0cHJpdmF0ZSBfY2FydFNlcnZpY2U6IENhcnRTZXJ2aWNlID0gaW5qZWN0KENhcnRTZXJ2aWNlKTtcclxuXHJcblx0cHJpdmF0ZSBfcHJvZHVjdFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFByb2R1Y3QgfCBudWxsPih7fSk7XHJcblx0cHJpdmF0ZSBfb3B0aW9uc1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oe30pO1xyXG5cdHByaXZhdGUgX2Fzc29jaWF0ZWREYXRhU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55Pih7IHByaWNlOiAnJywgc3RvY2s6IDAsIHBpY3R1cmU6ICcnIH0pO1xyXG5cclxuXHRwdWJsaWMgcHJvZHVjdCQgPSB0aGlzLl9wcm9kdWN0U3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHRwdWJsaWMgb3B0aW9ucyQgPSB0aGlzLl9vcHRpb25zU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHRwdWJsaWMgYXNzb2NpYXRlZERhdGEkID0gdGhpcy5fYXNzb2NpYXRlZERhdGFTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuXHRwcml2YXRlIHZhcmlhbnRzOiBhbnlbXSA9IFtdXHJcblxyXG5cdGNvbnN0cnVjdG9yKCkgeyB9XHJcblx0LyoqXHJcblx0ICogT2J0ZW5nbyBlbCBwcm9kdWN0byBhIHRyYXZlcyBkZSBzdSBjb2RpZ28gZSBpbmljaWFsaXpvIGxhIGNvbmZpZ3VyYWNpw7NuXHJcblx0ICogZGVsIFNlcnZpY2lvLlxyXG5cdCAqIEBwYXJhbSBjb2RlIFxyXG5cdCAqIEBwYXJhbSB2YXJpYW50IFxyXG5cdCAqL1xyXG5cdGxvYWRQcm9kdWN0KGNvZGU6IHN0cmluZywgdmFyaWFudDogYm9vbGVhbiA9IGZhbHNlKSB7XHJcblx0XHRmaXJzdFZhbHVlRnJvbSh0aGlzLl9wcm9kdWN0c1NlcnZpY2UuZ2V0UHJvZHVjdEJ5Q29kZShjb2RlLCB2YXJpYW50KSlcclxuXHRcdFx0LnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHR2YXJpYW50ID8gdGhpcy5pbml0aWFsaXplKHJlcywgY29kZSkgOiB0aGlzLmluaXRpYWxpemUocmVzKVxyXG5cdFx0XHR9KVxyXG5cdFx0XHQuY2F0Y2goZXJyID0+IHsgY29uc29sZS5sb2coZXJyKTsgdGhpcy5fcHJvZHVjdFN1YmplY3QubmV4dChudWxsKSB9KTtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogQ2FyZ2EgZWwgcHJvZHVjdG8gZW4gZWwgb2JzZXJ2YWJsZSB5IGxhIGNvbmZpZ3VyYWNpw7NuIGRlIGxhcyB2YXJpYW50ZXMuXHJcblx0ICogQHBhcmFtIHByb2R1Y3QgXHJcblx0ICogQHBhcmFtIHZhcmlhbnRDb2RlIFxyXG5cdCAqL1xyXG5cdHByaXZhdGUgaW5pdGlhbGl6ZShwcm9kdWN0OiBQcm9kdWN0LCB2YXJpYW50Q29kZT86IHN0cmluZykge1xyXG5cdFx0dGhpcy5fcHJvZHVjdFN1YmplY3QubmV4dChwcm9kdWN0KTtcclxuXHRcdGNvbnN0IGF1eDogUHJvZHVjdFsnb3B0aW9ucyddID0gcHJvZHVjdC5vcHRpb25zIHx8IFtdO1xyXG5cdFx0Y29uc3Qgb3B0aW9ucyA9IGF1eD8ubWFwKG9wdGlvbiA9PiB0aGlzLnRvT3B0aW9uKG9wdGlvbikpXHJcblx0XHR0aGlzLl9vcHRpb25zU3ViamVjdC5uZXh0KG9wdGlvbnMpO1xyXG5cdFx0dmFyaWFudENvZGUgPyB0aGlzLnVwZGF0ZVZhcmlhbnRzKHZhcmlhbnRDb2RlKSA6IHRoaXMudXBkYXRlVmFyaWFudHMoKTtcclxuXHRcdHRoaXMudmFyaWFudHMubGVuZ3RoICYmIHRoaXMuZ2VuZXJhdGVBc3NvY2lhdGVkRGF0YUZyb21WYXJpYW50cygpO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBGb3JtYXRlIGxvcyBkYXRvcyBwYXJhIGxhcyBvcGNpb25lcyBkZWwgcHJvZHVjdG8uXHJcblx0ICogQHBhcmFtIG9wdGlvbiBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwcml2YXRlIHRvT3B0aW9uKG9wdGlvbjogT3B0aW9ucykge1xyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0bmFtZTogb3B0aW9uLmxhYmVsLFxyXG5cdFx0XHRjb2RlOiBvcHRpb24uY29kZSxcclxuXHRcdFx0dHlwZTogb3B0aW9uLnR5cGUsXHJcblx0XHRcdHZhbHVlczogb3B0aW9uLnZhbHVlcy5tYXAoKHZhbHVlOiBhbnkpID0+ICh7IG5hbWU6IHZhbHVlLmNvZGUsIGRlc2NyaXB0aW9uOiB2YWx1ZS5uYW1lLCBpbWFnZTogdmFsdWUuaW1hZ2UsIG1vYmlsZUltYWdlOiB2YWx1ZS5tb2JpbGVJbWFnZSwgc2VsZWN0ZWQ6IGZhbHNlIH0pKVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ2FtYmlhIGxhcyBvcGNpb25lcywgb2J0aWVuZSBlbCBwcm9kdWN0byBhc29jaWFkbyBhIGxhIG9wY2lvbiBlbGVnaWRhLlxyXG5cdCAqL1xyXG5cdHNldE9wdGlvbihvcHRpb25Db2RlOiBhbnksIG9wdGlvblZhbHVlOiBhbnkpIHtcclxuXHRcdGNvbnN0IG9wdGlvbnMgPSB0aGlzLl9vcHRpb25zU3ViamVjdC52YWx1ZTtcclxuXHRcdGNvbnN0IG9wdGlvbiA9IG9wdGlvbnMuZmluZCgoZWxlbWVudDogYW55KSA9PiBlbGVtZW50LmNvZGUgPT0gb3B0aW9uQ29kZSkudmFsdWVzLmZpbmQoKHZhbHVlOiBhbnkpID0+IHZhbHVlLm5hbWUgPT0gb3B0aW9uVmFsdWUpO1xyXG5cdFx0b3B0aW9uLnNlbGVjdGVkID0gIW9wdGlvbi5zZWxlY3RlZDtcclxuXHRcdG9wdGlvbnMuZmluZCgoZWxlbWVudDogYW55KSA9PiBlbGVtZW50LmNvZGUgPT0gb3B0aW9uQ29kZSkudmFsdWVzLmZvckVhY2goXHJcblx0XHRcdCh2YWx1ZTogYW55KSA9PiB7IGlmICh2YWx1ZS5uYW1lICE9IG9wdGlvbi5uYW1lKSB2YWx1ZS5zZWxlY3RlZCA9IGZhbHNlIH1cclxuXHRcdCk7XHJcblx0XHR0aGlzLl9vcHRpb25zU3ViamVjdC5uZXh0KG9wdGlvbnMpO1xyXG5cdFx0dGhpcy51cGRhdGVWYXJpYW50cygpO1xyXG5cdFx0dGhpcy52YXJpYW50cy5sZW5ndGggPiAwID8gdGhpcy5nZW5lcmF0ZUFzc29jaWF0ZWREYXRhRnJvbVZhcmlhbnRzKCkgOiB0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnc2VsZWN0aW9uLW5vdC1hdmFpbGFibGUnKVxyXG5cdH1cclxuXHQvKipcclxuICogQWN0dWFsaXphIGVsIG9ic2VydmFibGUgZGUgYGFzc29jaWF0ZWREYXRhYCBlbCBjdWFsIHNlIHV0aWxpemEgcGFyYSBtb3N0cmFyIGxvcyBkYXRvc1xyXG4gKiBlbiBlbCBmcm9udGVuZCBzZWfDum4gZWwgcHJvZHVjdG8geS9vIHZhcmlhbnRlIGVsZWdpZGEuXHJcbiAqIE9idGllbmUgbG9zIGRhdG9zIGRlIGxhIHZhcmlhbnRlIHkgbG9zIGZvcm1hdGVhLlxyXG4gKi9cclxuXHRnZW5lcmF0ZUFzc29jaWF0ZWREYXRhRnJvbVZhcmlhbnRzKCk6IHZvaWQge1xyXG5cdFx0Y29uc3QgYXNzb2NpYXRlZDogYW55ID0ge307XHJcblxyXG5cdFx0Ly8gU2kgc8OzbG8gaGF5IHVuYSB2YXJpYW50ZSwgdG9tYW1vcyB0b2RvcyBzdXMgZGF0b3MgZGlyZWN0YW1lbnRlXHJcblx0XHRpZiAodGhpcy52YXJpYW50cy5sZW5ndGggPT09IDEpIHtcclxuXHRcdFx0Y29uc3QgdiA9IHRoaXMudmFyaWFudHNbMF07XHJcblxyXG5cdFx0XHRhc3NvY2lhdGVkLnN0b2NrID0gdi5zdG9jaztcclxuXHRcdFx0Ly8gUHJlY2lvOiBzaSB2aWVuZSB0YXhMZWdlbmRJbmZvIHVzYW1vcyBzdSBwcmljZSwgc2kgbm8gZWwgdi5wcmljZVxyXG5cdFx0XHRjb25zdCByYXdQcmljZSA9IHYudGF4TGVnZW5kSW5mbz8ucHJpY2UgPz8gdi5wcmljZTtcclxuXHRcdFx0YXNzb2NpYXRlZC5wcmljZSA9IHJhd1ByaWNlLnRvU3RyaW5nKCk7XHJcblx0XHRcdGNvbnN0IHJhd1NhbGVQcmljZSA9IHYudGF4TGVnZW5kSW5mbz8uc2FsZXByaWNlID8/IHYuc2FsZXByaWNlO1xyXG5cdFx0XHRhc3NvY2lhdGVkLnNhbGVwcmljZSA9IHJhd1NhbGVQcmljZSA/IHJhd1NhbGVQcmljZS50b1N0cmluZygpIDogdW5kZWZpbmVkO1xyXG5cdFx0XHRhc3NvY2lhdGVkLmRpc2NvdW50ID0gdi5kaXNjb3VudCA/PyB1bmRlZmluZWQ7XHJcblx0XHRcdGFzc29jaWF0ZWQucHJvcGVydGllcyA9IHYucHJvcGVydGllcyA/IHRoaXMuYmVhdXRpZnlQcm9wZXJ0aWVzKHYucHJvcGVydGllcykgOiB1bmRlZmluZWQ7XHJcblx0XHRcdGFzc29jaWF0ZWQudW5pcXVlRXh0ZXJuYWxDb2RlID0gdi51bmlxdWVFeHRlcm5hbENvZGUgPz8gdW5kZWZpbmVkO1xyXG5cdFx0XHRhc3NvY2lhdGVkLm11bHRpcGxlUXVhbnRpdHkgPSB2Lm11bHRpcGxlUXVhbnRpdHkgPz8gdW5kZWZpbmVkO1xyXG5cclxuXHRcdFx0Ly8gTMOtbWl0ZXMgZGUgY2FudGlkYWQvc3RvY2tcclxuXHRcdFx0YXNzb2NpYXRlZC5tYXhpbXVtQW1vdW50ID0gdi5tYXhpbXVtQW1vdW50ID8/IDA7XHJcblx0XHRcdGFzc29jaWF0ZWQubWluaW11bUFtb3VudCA9IHYubWluaW11bUFtb3VudCA/PyAwO1xyXG5cdFx0XHRhc3NvY2lhdGVkLm1heGltdW1JdGVtc1F1YW50aXR5ID0gdi5zdG9jayA+IDAgJiYgJ21heGltdW1JdGVtc1F1YW50aXR5JyBpbiB2XHJcblx0XHRcdFx0PyB2Lm1heGltdW1JdGVtc1F1YW50aXR5XHJcblx0XHRcdFx0OiB2LnN0b2NrO1xyXG5cdFx0XHRhc3NvY2lhdGVkLm1pbmltdW1JdGVtc1F1YW50aXR5ID0gdi5zdG9jayA+IDAgJiYgJ21pbmltdW1JdGVtc1F1YW50aXR5JyBpbiB2ICYmIHYubWluaW11bUl0ZW1zUXVhbnRpdHkhID4gMFxyXG5cdFx0XHRcdD8gdi5taW5pbXVtSXRlbXNRdWFudGl0eVxyXG5cdFx0XHRcdDogKHYubXVsdGlwbGVRdWFudGl0eSA/PyAxKTtcclxuXHRcdFx0YXNzb2NpYXRlZC5tdWx0aXBsZVF1YW50aXR5ID0gdi5tdWx0aXBsZVF1YW50aXR5ID8/IDE7XHJcblxyXG5cdFx0XHQvLyBQcmVjaW9zIGFsIGNvbnN1bWlkb3IgZmluYWxcclxuXHRcdFx0YXNzb2NpYXRlZC5maW5hbENvbnN1bWVyID0ge1xyXG5cdFx0XHRcdGZpbmFsQ29uc3VtZXJQcmljZTogdi5maW5hbF9jb25zdW1lcl9wcmljZSxcclxuXHRcdFx0XHRvcmlnaW5hbEZpbmFsQ29uc3VtZXJQcmljZTogdi5vcmlnaW5hbF9maW5hbF9jb25zdW1lcl9wcmljZVxyXG5cdFx0XHR9O1xyXG5cclxuXHRcdFx0Ly8gSW1wdWVzdG9zXHJcblx0XHRcdGFzc29jaWF0ZWQudGF4ZXMgPSB7XHJcblx0XHRcdFx0dGF4SW5jbHVkZWQ6IHYudGF4SW5jbHVkZWQsXHJcblx0XHRcdFx0dGF4Q2F0ZWdvcnk6IHYudGF4Q2F0ZWdvcnlcclxuXHRcdFx0fTtcclxuXHRcdFx0Ly8gU2VndW4gdmVyc2lvbiBkZWwgYmFja2VuZFxyXG5cdFx0XHRpZiAodi50YXhMZWdlbmRJbmZvKSB7XHJcblx0XHRcdFx0Ly8gTnVldm8gYmFja2VuZFxyXG5cdFx0XHRcdGFzc29jaWF0ZWQucHJpY2VXaXRob3V0VGF4ZXMgPSB2LnRheExlZ2VuZEluZm8ucHJpY2VXaXRob3V0VGF4ZXM7XHJcblx0XHRcdFx0YXNzb2NpYXRlZC50YXhlQW1vdW50ID0gdi50YXhMZWdlbmRJbmZvLnRheGVzO1xyXG5cdFx0XHRcdGFzc29jaWF0ZWQudGF4UmF0ZSA9IHYudGF4TGVnZW5kSW5mby50YXhSYXRlO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdC8vIEJhY2tlbmQgYW50aWd1b1xyXG5cdFx0XHRcdGFzc29jaWF0ZWQucHJpY2VXaXRob3V0VGF4ZXMgPSB2LnByaWNlV2l0aG91dFRheGVzID8/IHVuZGVmaW5lZDtcclxuXHRcdFx0XHRhc3NvY2lhdGVkLnRheGVBbW91bnQgPSB2LnRheGVzID8/IHVuZGVmaW5lZDtcclxuXHRcdFx0XHRhc3NvY2lhdGVkLnRheFJhdGUgPSB2LnRheFJhdGUgPz8gdW5kZWZpbmVkO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0Ly8gU2kgaGF5IHZhcmlhcyB2YXJpYW50ZXMsIHJlc3VtaW1vc1xyXG5cdFx0XHRhc3NvY2lhdGVkLnByaWNlID0gdGhpcy5jcmVhdGVQcmljZSgpO1xyXG5cdFx0XHRhc3NvY2lhdGVkLnNhbGVwcmljZSA9IHRoaXMuY3JlYXRlU2FsZVByaWNlKCk7XHJcblx0XHRcdGFzc29jaWF0ZWQuc3RvY2sgPSB0aGlzLnZhcmlhbnRzLm1hcCh2ID0+IHYuc3RvY2spLnJlZHVjZSgoYSwgYikgPT4gYSArIGIsIDApO1xyXG5cdFx0XHRhc3NvY2lhdGVkLmRpc2NvdW50ID0gdGhpcy5jcmVhdGVEaXNjb3VudCgpO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIEltYWdlbiBwcmluY2lwYWxcclxuXHRcdGNvbnN0IGZpcnN0ID0gdGhpcy52YXJpYW50c1swXTtcclxuXHRcdGlmICgnaW1hZ2VzJyBpbiBmaXJzdCAmJiBmaXJzdC5pbWFnZXMubGVuZ3RoID4gMCkge1xyXG5cdFx0XHRhc3NvY2lhdGVkLnBpY3R1cmUgPSBmaXJzdC5pbWFnZXNbMF07XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRhc3NvY2lhdGVkLnBpY3R1cmUgPSB0aGlzLl9hc3NvY2lhdGVkRGF0YVN1YmplY3QudmFsdWU/LnBpY3R1cmVcclxuXHRcdFx0XHQ/PyB0aGlzLl9wcm9kdWN0U3ViamVjdC52YWx1ZT8ucGljdHVyZXNkZWZhdWx0Py5bMF07XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gRW1pdGltb3MgZWwgb2JqZXRvIGNvbXBsZXRvXHJcblx0XHR0aGlzLl9hc3NvY2lhdGVkRGF0YVN1YmplY3QubmV4dChhc3NvY2lhdGVkKTtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogTWVqb3JhIGxvcyBkYXRvcyBkZSBsYXMgYHByb3BlcnRpZXNgLlxyXG5cdCAqIEBwYXJhbSBwcm9wZXJ0aWVzIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdGJlYXV0aWZ5UHJvcGVydGllcyhwcm9wZXJ0aWVzOiBhbnkpOiBhbnkge1xyXG5cdFx0bGV0IGJlYXV0aWZ5RGF0YTogYW55ID0gW107XHJcblx0XHRwcm9wZXJ0aWVzLmZvckVhY2goKHByb3A6IGFueSkgPT4ge1xyXG5cdFx0XHRmb3IgKGxldCBrZXkgaW4gcHJvcCkge1xyXG5cdFx0XHRcdGJlYXV0aWZ5RGF0YS5wdXNoKHsgbmFtZToga2V5LCB2YWx1ZTogcHJvcFtrZXldIH0pXHJcblx0XHRcdH1cclxuXHRcdH0pXHJcblx0XHRyZXR1cm4gYmVhdXRpZnlEYXRhXHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIERldnVlbHZlIHVuIGRlc2N1ZW50byBlbiBjYXNvIGRlIGV4aXN0aXIuXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0Y3JlYXRlRGlzY291bnQoKTogYW55IHtcclxuXHRcdGxldCBhbGxEaXNjb3VudHM6IHN0cmluZyA9ICcnO1xyXG5cdFx0dGhpcy52YXJpYW50cy5mb3JFYWNoKHZhcmlhbnQgPT4ge1xyXG5cdFx0XHR2YXJpYW50LmRpc2NvdW50ICYmIChhbGxEaXNjb3VudHMgKz0gJywgJyArIHZhcmlhbnQuZGlzY291bnQpO1xyXG5cdFx0fSlcclxuXHRcdGlmIChhbGxEaXNjb3VudHMgPT0gJycpIHJldHVybiB1bmRlZmluZWQ7XHJcblx0XHRyZXR1cm4gYWxsRGlzY291bnRzO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBEZXZ1ZWx2ZSBlbCBwcmVjaW8gZGUgdmVudGEuXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0Y3JlYXRlU2FsZVByaWNlKCk6IGFueSB7XHJcblx0XHRsZXQgbWluUHJpY2U6IG51bWJlciA9IDA7XHJcblx0XHRsZXQgbWF4UHJpY2U6IG51bWJlciA9IDA7XHJcblx0XHRsZXQgYWxsUHJpY2VzOiBhbnkgPSB0aGlzLnZhcmlhbnRzLm1hcCh2ID0+IHYuc2FsZXByaWNlKS5maWx0ZXIoZSA9PiBlICE9PSB1bmRlZmluZWQpO1xyXG5cdFx0aWYgKGFsbFByaWNlcy5sZW5ndGggPT0gMCkge1xyXG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkXHJcblx0XHR9XHJcblx0XHRtaW5QcmljZSA9IGFsbFByaWNlcy5yZWR1Y2UoKGE6IG51bWJlciwgYjogbnVtYmVyKSA9PiBNYXRoLm1pbihhLCBiKSk7XHJcblx0XHRtYXhQcmljZSA9IGFsbFByaWNlcy5yZWR1Y2UoKGE6IG51bWJlciwgYjogbnVtYmVyKSA9PiBNYXRoLm1heChhLCBiKSk7XHJcblx0XHRyZXR1cm4gbWluUHJpY2UgPT0gbWF4UHJpY2UgPyBtYXhQcmljZS50b1N0cmluZygpIDogbWluUHJpY2UgKyAnIC0gJyArIG1heFByaWNlO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBEZXZ1ZWx2ZSBlbCBwcmVjaW8gbyBsb3MgcHJlY2lvcyBlbiBjYXNvIGRlIHRlbmVyIHZhcmlhcyB2YXJpYW50ZXMgY29uIGRpc3RpbnRvcyBwcmVjaW9zLlxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdGNyZWF0ZVByaWNlKCk6IGFueSB7XHJcblx0XHRsZXQgbWluUHJpY2U6IG51bWJlciA9IDA7XHJcblx0XHRsZXQgbWF4UHJpY2U6IG51bWJlciA9IDA7XHJcblx0XHRsZXQgYWxsUHJpY2U6IGFueSA9IHRoaXMudmFyaWFudHMubWFwKHYgPT4gdi5wcmljZSlcclxuXHRcdG1pblByaWNlID0gYWxsUHJpY2UucmVkdWNlKChhOiBudW1iZXIsIGI6IG51bWJlcikgPT4gTWF0aC5taW4oYSwgYikpO1xyXG5cdFx0bWF4UHJpY2UgPSBhbGxQcmljZS5yZWR1Y2UoKGE6IG51bWJlciwgYjogbnVtYmVyKSA9PiBNYXRoLm1heChhLCBiKSk7XHJcblx0XHRyZXR1cm4gbWluUHJpY2UgPT0gbWF4UHJpY2UgPyBtYXhQcmljZS50b1N0cmluZygpIDogbWluUHJpY2UgKyAnIC0gJyArIG1heFByaWNlO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBBY3R1YWxpemEgbGFzIHZhcmlhbnRlcy5cclxuXHQgKiBAcGFyYW0gY29kZSBcclxuXHQgKi9cclxuXHR1cGRhdGVWYXJpYW50cyA9IChjb2RlPzogc3RyaW5nKSA9PiB7XHJcblx0XHRsZXQgdmFyaWFudHMgPSB0aGlzLl9wcm9kdWN0U3ViamVjdC52YWx1ZT8udmFyaWFudHNcclxuXHRcdC8vY29uc29sZS5sb2codmFyaWFudHMpXHJcblx0XHRpZiAoIWNvZGUpIHtcclxuXHRcdFx0dGhpcy5fb3B0aW9uc1N1YmplY3QudmFsdWUuZm9yRWFjaCgob3B0aW9uOiBhbnkpID0+IHtcclxuXHRcdFx0XHRvcHRpb24udmFsdWVzLmZvckVhY2goKHZhbHVlOiBhbnkpID0+IHtcclxuXHRcdFx0XHRcdGlmICh2YWx1ZS5zZWxlY3RlZCkge1xyXG5cdFx0XHRcdFx0XHR2YXJpYW50cyA9IHZhcmlhbnRzPy5maWx0ZXIodmFyaWFudCA9PiB7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHZhcmlhbnQub3B0aW9ucy5zb21lKCh2YXJpYW50T3B0aW9uOiBhbnkpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdHJldHVybiAob3B0aW9uLmNvZGUgaW4gdmFyaWFudE9wdGlvbiAmJiB2YXJpYW50T3B0aW9uW29wdGlvbi5jb2RlXSA9PSB2YWx1ZS5uYW1lKTtcclxuXHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0pXHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR2YXJpYW50cyA9IHZhcmlhbnRzPy5maWx0ZXIodmFyaWFudCA9PiB2YXJpYW50LmNvZGUgPT0gY29kZSk7XHJcblx0XHR9XHJcblx0XHR0aGlzLnZhcmlhbnRzID0gdmFyaWFudHMgfHwgW107XHJcblx0XHRjb2RlICYmIHRoaXMudXBkYXRlT3B0aW9ucygpO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBBY3R1YWxpemEgbGFzIG9wY2lvbmVzXHJcblx0ICovXHJcblx0cHJpdmF0ZSB1cGRhdGVPcHRpb25zID0gKCkgPT4ge1xyXG5cdFx0bGV0IHsgb3B0aW9ucyB9ID0gdGhpcy52YXJpYW50cy5sZW5ndGggJiYgdGhpcy52YXJpYW50c1swXTtcclxuXHRcdG9wdGlvbnMgJiYgb3B0aW9ucy5mb3JFYWNoKChvcHRpb246IGFueSkgPT4gT2JqZWN0LmtleXMob3B0aW9uKS5mb3JFYWNoKGtleSA9PiB0aGlzLnNldE9wdGlvbihrZXksIG9wdGlvbltrZXldKSkpXHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIEFncmVnYSBlbCBwcm9kdWN0byBhbCBjYXJyaXRvLlxyXG5cdCAqIEBwYXJhbSBxdWFudGl0eSBDYW50aWRhZCBkZWwgcHJvZHVjdG8gYSBhZ3JlZ2FyXHJcblx0ICogQHBhcmFtIHZhcmlhbnRDb2RlIENvZGlnbyBkZSBsYSB2YXJpYW50ZS5cclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRhZGRUb0NhcnQocXVhbnRpdHk6IG51bWJlciwgdmFyaWFudENvZGU/OiBzdHJpbmcpIHtcclxuXHJcblxyXG5cdFx0aWYgKCF0aGlzLnZhcmlhbnRzLmxlbmd0aCkge1xyXG5cclxuXHRcdFx0dGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ2NhbnQtYnV5JylcclxuXHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdGxldCBwcm9kdWN0U2VsZWN0ZWQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KCh0aGlzLl9wcm9kdWN0U3ViamVjdC5nZXRWYWx1ZSgpKSkpO1xyXG5cclxuXHRcdGxldCB2YXJpYW50OiBhbnk7XHJcblx0XHRzd2l0Y2ggKHRoaXMudmFyaWFudHMubGVuZ3RoKSB7XHJcblx0XHRcdGNhc2UgMDpcclxuXHRcdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnbm8tdmFyaWFudHMnKTtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSAxOlxyXG5cclxuXHRcdFx0XHR0aGlzLl9hc3NvY2lhdGVkRGF0YVN1YmplY3QudmFsdWUuc3RvY2sgPT0gMFxyXG5cdFx0XHRcdFx0PyB0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnb3V0LW9mLXN0b2NrJylcclxuXHRcdFx0XHRcdDogdmFyaWFudCA9IHRoaXMudmFyaWFudHNbMF1cclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0ZGVmYXVsdDpcclxuXHRcdFx0XHRpZiAodmFyaWFudENvZGUpIHtcclxuXHRcdFx0XHRcdHZhcmlhbnQgPSB0aGlzLnZhcmlhbnRzLmZpbmQodmFyaWFudCA9PiB2YXJpYW50LmNvZGUgPT09IHZhcmlhbnRDb2RlKVxyXG5cdFx0XHRcdFx0aWYgKHZhcmlhbnQuc3RvY2sgPT0gMCkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnb3V0LW9mLXN0b2NrJylcclxuXHRcdFx0XHRcdFx0dmFyaWFudCA9IHVuZGVmaW5lZFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygndmFyaWFudHMtbGVmdCcpXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0fVxyXG5cdFx0aWYgKCF2YXJpYW50KSByZXR1cm47XHJcblx0XHRpZiAoIXRoaXMudmFsaWRhdGVRdWFudGl0eShxdWFudGl0eSkpIHJldHVybjtcclxuXHRcdC8vYWdyZWdhciBhbCBzZXJ2aWNpbyBkZWwgY2Fycml0b1xyXG5cdFx0dGhpcy5fY2FydFNlcnZpY2UuYWRkVG9DYXJ0KHRoaXMubWFrZUFmZm9yZGFibGVQcm9kdWN0KHByb2R1Y3RTZWxlY3RlZCksIHF1YW50aXR5LCB2YXJpYW50LmNvZGUpO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBHZW5lcmEgdW4gcHJvZHVjdG8gcGFyYSBoYWNlciBtYXMgZmFjw61sIGVsIGVudmlvIGRlbCBlbGVtZW50byBhbCBiYWNrZW5kLlxyXG5cdCAqIEBwYXJhbSBwcm9kdWN0U2VsZWN0ZWQgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHJpdmF0ZSBtYWtlQWZmb3JkYWJsZVByb2R1Y3QocHJvZHVjdFNlbGVjdGVkOiBQcm9kdWN0KSB7XHJcblx0XHRwcm9kdWN0U2VsZWN0ZWQucHJpY2UgPSBwYXJzZUZsb2F0KHRoaXMuX2Fzc29jaWF0ZWREYXRhU3ViamVjdC52YWx1ZS5wcmljZSk7XHJcblx0XHRwcm9kdWN0U2VsZWN0ZWQuc2FsZXByaWNlID0gcGFyc2VGbG9hdCh0aGlzLl9hc3NvY2lhdGVkRGF0YVN1YmplY3QudmFsdWUucHJpY2UpO1xyXG5cdFx0cHJvZHVjdFNlbGVjdGVkLm9wdGlvbnMgPSBbXTtcclxuXHRcdHRoaXMudmFyaWFudHNbMF0ub3B0aW9ucy5mb3JFYWNoKChvcHRpb246IGFueSkgPT4gcHJvZHVjdFNlbGVjdGVkLm9wdGlvbnMgPSB7IC4uLnByb2R1Y3RTZWxlY3RlZC5vcHRpb25zLCAuLi5vcHRpb24gfSlcclxuXHRcdHJldHVybiBwcm9kdWN0U2VsZWN0ZWQ7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIFZhbGlkYSBsYSBjYW50aWRhZCBxdWUgc2UgcXVpZXJlIGFncmVnYXIgZGUgdW4gcHJvZHVjdG8uXHJcblx0ICogUmV2aXNhIHF1ZSBubyBzdXBlcmUgZWwgc3RvY2ssIGVsIG1heGltbyBkZSBpdGVtcyBxdWUgc2UgcHVlZGUgYWdyZWdhclxyXG5cdCAqIGFzaSBjb21vIGVsIG1pbmltby5cclxuXHQgKiBAcGFyYW0gcXVhbnRpdHkgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHJpdmF0ZSB2YWxpZGF0ZVF1YW50aXR5ID0gKHF1YW50aXR5OiBudW1iZXIpID0+IHtcclxuXHRcdGNvbnN0IGFjdHVhbFF1YW50aXR5ID0gdGhpcy5fY2FydFNlcnZpY2UuZ2V0Q291bnRGcm9tSXRlbUluQ2FydCh0aGlzLnZhcmlhbnRzWzBdLmNvZGUpO1xyXG5cdFx0Y29uc3QgYXNvY2lhdGVkRGF0YSA9IHRoaXMuX2Fzc29jaWF0ZWREYXRhU3ViamVjdC52YWx1ZTtcclxuXHRcdGlmICgoYWN0dWFsUXVhbnRpdHkgKyBxdWFudGl0eSkgPiBhc29jaWF0ZWREYXRhLm1heGltdW1JdGVtc1F1YW50aXR5KSB7XHJcblx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdtYXhpbXVtLWl0ZW1zLXF1YW50aXR5JywgeyBxdWFudGl0eTogYXNvY2lhdGVkRGF0YS5tYXhpbXVtSXRlbXNRdWFudGl0eSB9KVxyXG5cdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHR9XHJcblx0XHRpZiAoKGFjdHVhbFF1YW50aXR5ICsgcXVhbnRpdHkpIDwgYXNvY2lhdGVkRGF0YS5taW5pbXVtSXRlbXNRdWFudGl0eSkge1xyXG5cdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnbWluaW11bS1pdGVtcy1xdWFudGl0eScsIHsgcXVhbnRpdHk6IGFzb2NpYXRlZERhdGEubWluaW11bUl0ZW1zUXVhbnRpdHkgfSlcclxuXHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0fVxyXG5cdFx0aWYgKGFzb2NpYXRlZERhdGEubXVsdGlwbGVRdWFudGl0eSAmJiBhc29jaWF0ZWREYXRhLm11bHRpcGxlUXVhbnRpdHkgPiAxKSB7XHJcblx0XHRcdGlmICgoYWN0dWFsUXVhbnRpdHkgKyBxdWFudGl0eSkgJSBhc29jaWF0ZWREYXRhLm11bHRpcGxlUXVhbnRpdHkgIT09IDApIHtcclxuXHRcdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnbXVsdGlwbGUtcXVhbnRpdHktcmVxdWlyZWQnLCB7XHJcblx0XHRcdFx0XHRtdWx0aXBsZTogYXNvY2lhdGVkRGF0YS5tdWx0aXBsZVF1YW50aXR5LFxyXG5cdFx0XHRcdFx0Y3VycmVudDogYWN0dWFsUXVhbnRpdHkgKyBxdWFudGl0eVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHRydWVcclxuXHR9XHJcbn1cclxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvaW50ZXJmYWNlcy9lbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBFbnZpcm9ubWVudCB7XHJcbiAgICBwcm9kdWN0aW9uOiBib29sZWFuO1xyXG4gICAgYXBpVXJsPzogc3RyaW5nOyAvLyDihpAgQWhvcmEgZXMgb3BjaW9uYWxcclxuICAgIGxvY2FsZTogc3RyaW5nO1xyXG4gICAgY2hhbm5lbDogc3RyaW5nO1xyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvaW50ZXJmYWNlcy9lbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBFbnZpcm9ubWVudCB7XHJcbiAgICBwcm9kdWN0aW9uOiBib29sZWFuO1xyXG4gICAgYXBpVXJsPzogc3RyaW5nOyAvLyDihpAgQWhvcmEgZXMgb3BjaW9uYWxcclxuICAgIGZyb250ZW5kVXJsPzogc3RyaW5nOyAvLyDihpAgTnVldmEgcHJvcGllZGFkIHBhcmEgbGEgVVJMIGRlbCBmcm9udGVuZFxyXG4gICAgbG9jYWxlOiBzdHJpbmc7XHJcbiAgICBjaGFubmVsOiBzdHJpbmc7XHJcbn1cclxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9pbnRlcmZhY2VzL3Byb2R1Y3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uVmFsdWUge1xyXG4gICAgY29kZTogc3RyaW5nO1xyXG4gICAgaW1hZ2U6IHN0cmluZztcclxuICAgIG1vYmlsZUltYWdlOiBzdHJpbmc7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcclxuICAgIHNlbGVjdGVkPzogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbnMge1xyXG4gICAgY29kZTogc3RyaW5nO1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIHR5cGU6IHN0cmluZztcclxuICAgIHZhbHVlczogT3B0aW9uVmFsdWVbXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3Qge1xyXG4gICAgaWQ/OiBudW1iZXI7XHJcbiAgICBjYXRlZ29yeT86IHN0cmluZzsgLy8gQ29kaWdvIGRlIGNhdGVnb3JpYVxyXG4gICAgbmFtZT86IHN0cmluZzsgLy8gVGl0dWxvXHJcbiAgICBwcmljZT86IGFueTtcclxuICAgIHNhbGVwcmljZT86IGFueTtcclxuICAgIGRpc2NvdW50PzogbnVtYmVyOyAvLyBQb3JjZW50YWplIGRlIGRlc2N1ZW50byAtIEVuIGRlc3Vzb1xyXG4gICAgcGljdHVyZXNkZWZhdWx0Pzogc3RyaW5nW107IC8vIExpc3RhZG8gY29uIHRvZGFzIGxhcyBpbWFnZW5lcyBhc29jaWFkYXMgYWwgcHJvZHVjdG9cclxuICAgIHBpY3R1cmVzdmFyaWFudHM/OiBhbnlbXTtcclxuICAgIG9wdGlvbnM/OiBPcHRpb25zW107XHJcbiAgICBzaG9ydGRldGFpbHM/OiBzdHJpbmc7XHJcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZzsgLy8gSFRNTFxyXG4gICAgdGFnPzogYW55W107XHJcbiAgICByYXRpbmc/OiBudW1iZXIgfCBzdHJpbmc7XHJcbiAgICBzcGVjaWFsX21hcms/OiBhbnlbXTtcclxuICAgIHZhcmlhbnRzPzogYW55W107XHJcbiAgICBhdHRyaWJ1dGVzPzogYW55O1xyXG4gICAgLy9oZWxwZXJzXHJcbiAgICBwcm9kdWN0VG9DYXJ0SXRlbT86IFByb2R1Y3RUb0NhcnRJdGVtO1xyXG4gICAgY3VycmVudE9wdGlvbj86IEN1cnJlbnRPcHRpb24sXHJcbiAgICBwcm9kdWN0V2l0aFVuaXF1ZVZhcmlhbnQ/OiBQcm9kdWN0W107XHJcbiAgICBzdG9jaz86IG51bWJlcjsgLy8gUGFyYSBtYW5lam8gaW50ZXJsbywgZW4gYmFzZSBhIGxhL3MgdmFyaWFudGUvcyBzZWxlY2Npb25hZGEvc1xyXG4gICAgdmFyaWFudF9pZD86IG51bWJlcjsgLy8gUGFyYSBtYW5lam8gaW50ZXJsbywgZW4gYmFzZSBhIGxhL3MgdmFyaWFudGUvcyBzZWxlY2Npb25hZGEvc1xyXG59XHJcblxyXG4vLyBUYWcgUHJvZHVjdFRvQ2FydEl0ZW1cclxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0VG9DYXJ0SXRlbSB7XHJcbiAgICBwcm9kdWN0Q29kZT86IHN0cmluZyxcclxuICAgIHZhcmlhbnRDb2RlPzogc3RyaW5nLFxyXG4gICAgcXVhbnRpdHk/OiBudW1iZXIsXHJcbiAgICB0b3RhbENvc3Q/OiBudW1iZXIsXHJcbiAgICBmaW5hbFByaWNlPzogbnVtYmVyLFxyXG59XHJcblxyXG4vLyBUYWcgQ3VycmVudE9wdGlvblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1cnJlbnRPcHRpb24ge1xyXG4gICAgY29kZT86IHN0cmluZyxcclxuICAgIG5hbWU/OiBzdHJpbmcsXHJcbiAgICBzdG9jaz86IG51bWJlcixcclxuICAgIHByb2R1Y3RDb2RlPzogc3RyaW5nLFxyXG4gICAgdmFyaWFudENvZGU/OiBzdHJpbmcsXHJcbiAgICBmaW5hbFByaWNlPzogbnVtYmVyLFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtc1Byb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQge1xyXG4gICAgdHlwZT86IHN0cmluZyxcclxuICAgIGNvZGU/OiBzdHJpbmcsXHJcbiAgICBjaGVja0lmU3RvY2s/OiBib29sZWFuLFxyXG4gICAgZGVmYXVsdEZpcnN0T3B0aW9uPzogYm9vbGVhblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENhcnRJdGVtIHtcclxuICAgIHByb2R1Y3RDb2RlOiBhbnksXHJcbiAgICBwcm9kdWN0PzogUHJvZHVjdDtcclxuICAgIHF1YW50aXR5OiBudW1iZXI7XHJcbiAgICB2YXJpYW50X2lkOiBudW1iZXI7XHJcbiAgICB0b3RhbDogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJhbGFuY2VDdXN0b21lciB7XHJcbiAgICBhbGxvd0FueVBheW1lbnRNZXRob2Q/OiBib29sZWFuO1xyXG4gICAgYWxsb3dFeGNlZWRCYWxhbmNlPzogYm9vbGVhbjtcclxuICAgIGNyZWRpdEFtb3VudD86IG51bWJlciB8IG51bGw7XHJcbiAgICBzaG93TWF4PzogYm9vbGVhbjtcclxuICAgIHNob3dQcmljZT86IGJvb2xlYW47XHJcbiAgICByZW1haW5pbmdDcmVkaXRzPzogbnVtYmVyO1xyXG4gICAgYXBwbHlNYXhPcmRlcnM/OiBib29sZWFuO1xyXG4gICAgbWF4T3JkZXJzPzogbnVtYmVyO1xyXG59Il19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9pbnRlcmZhY2VzL3Byb2R1Y3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uVmFsdWUge1xyXG4gICAgY29kZTogc3RyaW5nO1xyXG4gICAgaW1hZ2U6IHN0cmluZztcclxuICAgIG1vYmlsZUltYWdlOiBzdHJpbmc7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcclxuICAgIHNlbGVjdGVkPzogYm9vbGVhbjtcclxuICAgICBtYXhpbXVtSXRlbXNRdWFudGl0eT86IG51bWJlcjtcclxuICAgIG1pbmltdW1JdGVtc1F1YW50aXR5PzogbnVtYmVyO1xyXG4gICAgbXVsdGlwbGVRdWFudGl0eT86IG51bWJlcjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbnMge1xyXG4gICAgY29kZTogc3RyaW5nO1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIHR5cGU6IHN0cmluZztcclxuICAgIHZhbHVlczogT3B0aW9uVmFsdWVbXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3Qge1xyXG4gICAgaWQ/OiBudW1iZXI7XHJcbiAgICBjYXRlZ29yeT86IHN0cmluZzsgLy8gQ29kaWdvIGRlIGNhdGVnb3JpYVxyXG4gICAgbmFtZT86IHN0cmluZzsgLy8gVGl0dWxvXHJcbiAgICBwcmljZT86IGFueTtcclxuICAgIHNhbGVwcmljZT86IGFueTtcclxuICAgIGRpc2NvdW50PzogbnVtYmVyOyAvLyBQb3JjZW50YWplIGRlIGRlc2N1ZW50byAtIEVuIGRlc3Vzb1xyXG4gICAgcGljdHVyZXNkZWZhdWx0Pzogc3RyaW5nW107IC8vIExpc3RhZG8gY29uIHRvZGFzIGxhcyBpbWFnZW5lcyBhc29jaWFkYXMgYWwgcHJvZHVjdG9cclxuICAgIHBpY3R1cmVzdmFyaWFudHM/OiBhbnlbXTtcclxuICAgIG9wdGlvbnM/OiBPcHRpb25zW107XHJcbiAgICBzaG9ydGRldGFpbHM/OiBzdHJpbmc7XHJcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZzsgLy8gSFRNTFxyXG4gICAgdGFnPzogYW55W107XHJcbiAgICByYXRpbmc/OiBudW1iZXIgfCBzdHJpbmc7XHJcbiAgICBzcGVjaWFsX21hcms/OiBhbnlbXTtcclxuICAgIHZhcmlhbnRzPzogYW55W107XHJcbiAgICBhdHRyaWJ1dGVzPzogYW55O1xyXG4gICAgLy9oZWxwZXJzXHJcbiAgICBwcm9kdWN0VG9DYXJ0SXRlbT86IFByb2R1Y3RUb0NhcnRJdGVtO1xyXG4gICAgY3VycmVudE9wdGlvbj86IEN1cnJlbnRPcHRpb24sXHJcbiAgICBwcm9kdWN0V2l0aFVuaXF1ZVZhcmlhbnQ/OiBQcm9kdWN0W107XHJcbiAgICBzdG9jaz86IG51bWJlcjsgLy8gUGFyYSBtYW5lam8gaW50ZXJsbywgZW4gYmFzZSBhIGxhL3MgdmFyaWFudGUvcyBzZWxlY2Npb25hZGEvc1xyXG4gICAgdmFyaWFudF9pZD86IG51bWJlcjsgLy8gUGFyYSBtYW5lam8gaW50ZXJsbywgZW4gYmFzZSBhIGxhL3MgdmFyaWFudGUvcyBzZWxlY2Npb25hZGEvc1xyXG4gICAgIG1heGltdW1JdGVtc1F1YW50aXR5PzogbnVtYmVyO1xyXG4gICAgbWluaW11bUl0ZW1zUXVhbnRpdHk/OiBudW1iZXI7XHJcbiAgICBtdWx0aXBsZVF1YW50aXR5PzogbnVtYmVyO1xyXG59XHJcblxyXG4vLyBUYWcgUHJvZHVjdFRvQ2FydEl0ZW1cclxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0VG9DYXJ0SXRlbSB7XHJcbiAgICBwcm9kdWN0Q29kZT86IHN0cmluZyxcclxuICAgIHZhcmlhbnRDb2RlPzogc3RyaW5nLFxyXG4gICAgcXVhbnRpdHk/OiBudW1iZXIsXHJcbiAgICB0b3RhbENvc3Q/OiBudW1iZXIsXHJcbiAgICBmaW5hbFByaWNlPzogbnVtYmVyLFxyXG59XHJcblxyXG4vLyBUYWcgQ3VycmVudE9wdGlvblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1cnJlbnRPcHRpb24ge1xyXG4gICAgY29kZT86IHN0cmluZyxcclxuICAgIG5hbWU/OiBzdHJpbmcsXHJcbiAgICBzdG9jaz86IG51bWJlcixcclxuICAgIHByb2R1Y3RDb2RlPzogc3RyaW5nLFxyXG4gICAgdmFyaWFudENvZGU/OiBzdHJpbmcsXHJcbiAgICBmaW5hbFByaWNlPzogbnVtYmVyLFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtc1Byb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQge1xyXG4gICAgdHlwZT86IHN0cmluZyxcclxuICAgIGNvZGU/OiBzdHJpbmcsXHJcbiAgICBjaGVja0lmU3RvY2s/OiBib29sZWFuLFxyXG4gICAgZGVmYXVsdEZpcnN0T3B0aW9uPzogYm9vbGVhblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENhcnRJdGVtIHtcclxuICAgIHByb2R1Y3RDb2RlOiBhbnksXHJcbiAgICBwcm9kdWN0PzogUHJvZHVjdDtcclxuICAgIHF1YW50aXR5OiBudW1iZXI7XHJcbiAgICB2YXJpYW50X2lkOiBudW1iZXI7XHJcbiAgICB0b3RhbDogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJhbGFuY2VDdXN0b21lciB7XHJcbiAgICBhbGxvd0FueVBheW1lbnRNZXRob2Q/OiBib29sZWFuO1xyXG4gICAgYWxsb3dFeGNlZWRCYWxhbmNlPzogYm9vbGVhbjtcclxuICAgIGNyZWRpdEFtb3VudD86IG51bWJlciB8IG51bGw7XHJcbiAgICBzaG93TWF4PzogYm9vbGVhbjtcclxuICAgIHNob3dQcmljZT86IGJvb2xlYW47XHJcbiAgICByZW1haW5pbmdDcmVkaXRzPzogbnVtYmVyO1xyXG4gICAgYXBwbHlNYXhPcmRlcnM/OiBib29sZWFuO1xyXG4gICAgbWF4T3JkZXJzPzogbnVtYmVyO1xyXG59Il19