@colijnit/product 12.0.4 → 12.0.5

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.
@@ -13,6 +13,7 @@ export class ProductAddtocartComponent {
13
13
  this._appEventService = _appEventService;
14
14
  this._settingsService = _settingsService;
15
15
  this.icon = IconEnum;
16
+ this.createFrozenArticle = true;
16
17
  this.configurable = false;
17
18
  this.configuring = false;
18
19
  this.fullscreen = false;
@@ -35,7 +36,13 @@ export class ProductAddtocartComponent {
35
36
  }
36
37
  handleAddToCartClick(quantity) {
37
38
  return __awaiter(this, void 0, void 0, function* () {
38
- this._appEventService.onAddToCart.next(yield this._getJSONFromArticleObject({ article: this.article, quantity: quantity }));
39
+ if (this.createFrozenArticle) {
40
+ this._appEventService.onAddToCart.next({ article: yield this._getJSONFromArticleObject({ article: this.article, quantity: quantity }), quantity: quantity });
41
+ }
42
+ else {
43
+ const article = this._ioneControllerService.convertArticleFullObjectToArticleExtended(this.article);
44
+ this._appEventService.onAddToCart.next({ article: article, quantity: quantity });
45
+ }
39
46
  });
40
47
  }
41
48
  handleAddToQuoteClick(quantity) {
@@ -93,6 +100,7 @@ ProductAddtocartComponent.ctorParameters = () => [
93
100
  ProductAddtocartComponent.propDecorators = {
94
101
  addToCartButton: [{ type: ViewChild, args: ['addtocartbutton', { read: ElementRef },] }],
95
102
  article: [{ type: Input }],
103
+ createFrozenArticle: [{ type: Input }],
96
104
  configurable: [{ type: Input }],
97
105
  configuring: [{ type: Input }],
98
106
  fullscreen: [{ type: HostBinding, args: ['class.full-screen',] }, { type: Input }],
@@ -101,4 +109,4 @@ ProductAddtocartComponent.propDecorators = {
101
109
  addToCartClick: [{ type: Output }],
102
110
  addToQuoteClick: [{ type: Output }]
103
111
  };
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1hZGR0b2NhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtYWRkdG9jYXJ0L3Byb2R1Y3QtYWRkdG9jYXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWhELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRzFFLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHNFQUFzRSxDQUFDO0FBQ3ZILE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBNEI5RSxNQUFNLE9BQU8seUJBQXlCO0lBMENwQyxZQUNTLFNBQTJCLEVBQzFCLHNCQUErQyxFQUMvQyxnQkFBcUMsRUFDbkMsZ0JBQXdDO1FBSDNDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzFCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBeUI7UUFDL0MscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFxQjtRQUNuQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXdCO1FBNUNwQyxTQUFJLEdBQW9CLFFBQVEsQ0FBQztRQVMxQyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUc5QixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUk3QixlQUFVLEdBQVksS0FBSyxDQUFDO1FBWTVCLHVCQUFrQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBR2xFLG1CQUFjLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFHbEUsb0JBQWUsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUVuRSxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUVoQyxjQUFTLEdBQUcsQ0FBQyxDQUFDO0lBT2hCLENBQUM7SUEzQlAsSUFDVyxRQUFRLENBQUMsS0FBYTtRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFzQkQsUUFBUTtJQUNSLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7SUFDbkMsQ0FBQztJQUVZLG9CQUFvQixDQUFDLFFBQWdCOztZQUNoRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxFQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUgsQ0FBQztLQUFBO0lBRVkscUJBQXFCLENBQUMsUUFBZ0I7O1lBQ2pELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLHlCQUF5QixDQUFDLEVBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUMsQ0FBQztRQUM3SCxDQUFDO0tBQUE7SUFFYSx5QkFBeUIsQ0FBQyxPQUF3Qjs7WUFDOUQsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLGlDQUFpQyxFQUFFLENBQUM7WUFDdkUsc0JBQXNCLENBQUMsUUFBUSxHQUFHLGlCQUFpQixDQUFDO1lBQ3BELHNCQUFzQixDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUM7WUFDakQsc0JBQXNCLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQztZQUMvQyxzQkFBc0IsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3pJLHNCQUFzQixDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUN0RCxzQkFBc0IsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDekQsT0FBTyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxzQkFBc0IsQ0FDM0QsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztRQUN4RyxDQUFDO0tBQUE7OztZQXBHRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQlQ7O2FBRUY7OztZQW5DUSxnQkFBZ0I7WUFHaEIsdUJBQXVCO1lBQ3ZCLG1CQUFtQjtZQUlwQixzQkFBc0I7Ozs4QkFnQzNCLFNBQVMsU0FBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7c0JBR2pELEtBQUs7MkJBR0wsS0FBSzswQkFHTCxLQUFLO3lCQUdMLFdBQVcsU0FBQyxtQkFBbUIsY0FDL0IsS0FBSzt1QkFHTCxLQUFLO2lDQVNMLE1BQU07NkJBR04sTUFBTTs4QkFHTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJY29uQ2FjaGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWNvbkVudW0gfSBmcm9tICcuLi8uLi9lbnVtL2ljb24uZW51bSc7XG5pbXBvcnQgeyBBcnRpY2xlUXVhbnRpdHkgfSBmcm9tICcuLi8uLi9tb2RlbC9hcnRpY2xlLXF1YW50aXR5Lm1vZGVsJztcbmltcG9ydCB7IFByb2R1Y3RDb25uZWN0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LWNvbm5lY3Rvci5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2R1Y3RFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3Byb2R1Y3QtZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBBcnRpY2xlRnVsbE9iamVjdCB9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZnVsbC1vYmplY3QnO1xuaW1wb3J0IHtBcnRpY2xlRXh0ZW5kZWR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQuYm8nO1xuaW1wb3J0IHtDb25maWd1cmF0b3JTdGF0aXN0aWNzRW52aXJvbm1lbnR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2NvbmZpZ3VyYXRvci1zdGF0aXN0aWNzLWVudmlyb25tZW50JztcbmltcG9ydCB7UHJvZHVjdFNldHRpbmdzU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LXNldHRpbmdzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcHJvZHVjdC1hZGR0b2NhcnQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJhdGMtd3JhcHBlclwiPlxuICAgICAgPGNvLW51bWJlci1waWNrZXIgKm5nSWY9XCIhY29uZmlndXJhYmxlICYmICFjb25maWd1cmluZ1wiIGNsYXNzPVwicXVhbnRpdHktc2VsZWN0XCIgWyhtb2RlbCldPVwicXVhbnRpdHlcIiBbbWluXT1cIjFcIiBob3Jpem9udGFsPjwvY28tbnVtYmVyLXBpY2tlcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24td3JhcHBlclwiPlxuICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY29uZmlndXJlLWJ1dHRvblwiICpuZ0lmPVwiY29uZmlndXJhYmxlXCJcbiAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlLmdldEljb24oaWNvbi5NYWdpY1dhbmQpXCJcbiAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0NPTkZJR1VSRScgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwic3RhcnRDb25maWd1cmF0aW9uLmVtaXQoKVwiXG4gICAgICAgID48L2NvLWJ1dHRvbj5cbiAgICAgICAgPGNvLWJ1dHRvbiAjYWRkdG9jYXJ0YnV0dG9uIGNsYXNzPVwiY2FydC1idXR0b25cIiAqbmdJZj1cIiFjb25maWd1cmFibGVcIlxuICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGUuZ2V0SWNvbihpY29uLkFkZFRvQ2FydERyb3ApXCJcbiAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1NIT1BQSU5HX0NBUlRfSU4nIHwgbG9jYWxpemVcIlxuICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImhhbmRsZUFkZFRvQ2FydENsaWNrKHF1YW50aXR5KVwiXG4gICAgICAgID48L2NvLWJ1dHRvbj5cbiAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImNhcnQtYnV0dG9uIHF1b3RlXCIgKm5nSWY9XCIhY29uZmlndXJhYmxlICYmIHNob3dRdW90ZUJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZS5nZXRJY29uKGljb24uUXVvdGUpXCJcbiAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1FVT1RBVElPTicgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlQWRkVG9RdW90ZUNsaWNrKHF1YW50aXR5KVwiXG4gICAgICAgID48L2NvLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9wcm9kdWN0LWFkZHRvY2FydC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RBZGR0b2NhcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIHJlYWRvbmx5IGljb246IHR5cGVvZiBJY29uRW51bSA9IEljb25FbnVtO1xuXG4gIEBWaWV3Q2hpbGQoJ2FkZHRvY2FydGJ1dHRvbicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwdWJsaWMgYWRkVG9DYXJ0QnV0dG9uOiBFbGVtZW50UmVmO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcnRpY2xlOiBBcnRpY2xlRnVsbE9iamVjdDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY29uZmlndXJhYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbmZpZ3VyaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mdWxsLXNjcmVlbicpXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmdWxsc2NyZWVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBxdWFudGl0eSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fcXVhbnRpdHkgPSBNYXRoLm1heCgxLCB2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1YW50aXR5KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3F1YW50aXR5O1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzdGFydENvbmZpZ3VyYXRpb246IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGFkZFRvQ2FydENsaWNrOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgYWRkVG9RdW90ZUNsaWNrOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIHB1YmxpYyBzaG93UXVvdGVCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9xdWFudGl0eSA9IDE7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGljb25DYWNoZTogSWNvbkNhY2hlU2VydmljZSxcbiAgICBwcml2YXRlIF9pb25lQ29udHJvbGxlclNlcnZpY2U6IFByb2R1Y3RDb25uZWN0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2FwcEV2ZW50U2VydmljZTogUHJvZHVjdEV2ZW50U2VydmljZSxcbiAgICAgIHByaXZhdGUgX3NldHRpbmdzU2VydmljZTogUHJvZHVjdFNldHRpbmdzU2VydmljZVxuICAgICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmFkZFRvQ2FydEJ1dHRvbiA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVBZGRUb0NhcnRDbGljayhxdWFudGl0eTogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5fYXBwRXZlbnRTZXJ2aWNlLm9uQWRkVG9DYXJ0Lm5leHQoYXdhaXQgdGhpcy5fZ2V0SlNPTkZyb21BcnRpY2xlT2JqZWN0KHthcnRpY2xlOiB0aGlzLmFydGljbGUsIHF1YW50aXR5OiBxdWFudGl0eX0pKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVBZGRUb1F1b3RlQ2xpY2socXVhbnRpdHk6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vbkFkZFRvUXVvdGUubmV4dChhd2FpdCB0aGlzLl9nZXRKU09ORnJvbUFydGljbGVPYmplY3Qoe2FydGljbGU6IHRoaXMuYXJ0aWNsZSwgcXVhbnRpdHk6IHF1YW50aXR5fSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfZ2V0SlNPTkZyb21BcnRpY2xlT2JqZWN0KGFydGljbGU6IEFydGljbGVRdWFudGl0eSk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgY29uZmlndXJhdG9yU3RhdGlzdGljcyA9IG5ldyBDb25maWd1cmF0b3JTdGF0aXN0aWNzRW52aXJvbm1lbnQoKTtcbiAgICBjb25maWd1cmF0b3JTdGF0aXN0aWNzLnVzZXJUeXBlID0gJ2lPbmVQcm9kdWN0UGFnZSc7XG4gICAgY29uZmlndXJhdG9yU3RhdGlzdGljcy50cmFuc2FjdGlvblR5cGUgPSAnU2FsZXMnO1xuICAgIGNvbmZpZ3VyYXRvclN0YXRpc3RpY3MuYWN0aW9uRG9tYWluID0gJ2J1bmRsZSc7XG4gICAgY29uZmlndXJhdG9yU3RhdGlzdGljcy5zZXNzaW9uSWQgPSB0aGlzLl9zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2Vzc2lvbiA/IHRoaXMuX3NldHRpbmdzU2VydmljZS5zZXR0aW5ncy5zZXNzaW9uLnNlc3Npb25JZCA6ICd1bmtub3duJztcbiAgICBjb25maWd1cmF0b3JTdGF0aXN0aWNzLndlYkhvc3QgPSB3aW5kb3cubG9jYXRpb24uaG9zdDtcbiAgICBjb25maWd1cmF0b3JTdGF0aXN0aWNzLmJ1bmRsZUhvc3QgPSB3aW5kb3cubG9jYXRpb24uaG9zdDtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5faW9uZUNvbnRyb2xsZXJTZXJ2aWNlLmdldEpzb25BcnRpY2xlRmxhdFRyZWUoXG4gICAgICAgIGFydGljbGUuYXJ0aWNsZS5nb29kSWQsIGFydGljbGUuYXJ0aWNsZS5nb29kVHlwZSwgYXJ0aWNsZS5xdWFudGl0eSwgdHJ1ZSwgY29uZmlndXJhdG9yU3RhdGlzdGljcyk7XG4gIH1cbn1cbiJdfQ==
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1hZGR0b2NhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtYWRkdG9jYXJ0L3Byb2R1Y3QtYWRkdG9jYXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWhELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRzFFLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHNFQUFzRSxDQUFDO0FBQ3ZILE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBNEI5RSxNQUFNLE9BQU8seUJBQXlCO0lBNkNwQyxZQUNTLFNBQTJCLEVBQzFCLHNCQUErQyxFQUMvQyxnQkFBcUMsRUFDckMsZ0JBQXdDO1FBSHpDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzFCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBeUI7UUFDL0MscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFxQjtRQUNyQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXdCO1FBL0NsQyxTQUFJLEdBQW9CLFFBQVEsQ0FBQztRQVMxQyx3QkFBbUIsR0FBWSxJQUFJLENBQUM7UUFHcEMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFHOUIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFJN0IsZUFBVSxHQUFZLEtBQUssQ0FBQztR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R2hCLHVCQUF1QjtZQUN2QixtQkFBbUI7WUFJcEIsc0JBQXNCOzs7OEJBZ0MzQixTQUFTLFNBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO3NCQUdqRCxLQUFLO2tDQUdMLEtBQUs7MkJBR0wsS0FBSzswQkFHTCxLQUFLO3lCQUdMLFdBQVcsU0FBQyxtQkFBbUIsY0FDL0IsS0FBSzt1QkFHTCxLQUFLO2lDQVNMLE1BQU07NkJBR04sTUFBTTs4QkFHTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJY29uQ2FjaGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWNvbkVudW0gfSBmcm9tICcuLi8uLi9lbnVtL2ljb24uZW51bSc7XG5pbXBvcnQgeyBBcnRpY2xlUXVhbnRpdHkgfSBmcm9tICcuLi8uLi9tb2RlbC9hcnRpY2xlLXF1YW50aXR5Lm1vZGVsJztcbmltcG9ydCB7IFByb2R1Y3RDb25uZWN0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LWNvbm5lY3Rvci5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2R1Y3RFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3Byb2R1Y3QtZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBBcnRpY2xlRnVsbE9iamVjdCB9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZnVsbC1vYmplY3QnO1xuaW1wb3J0IHtBcnRpY2xlRXh0ZW5kZWR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQuYm8nO1xuaW1wb3J0IHtDb25maWd1cmF0b3JTdGF0aXN0aWNzRW52aXJvbm1lbnR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2NvbmZpZ3VyYXRvci1zdGF0aXN0aWNzLWVudmlyb25tZW50JztcbmltcG9ydCB7UHJvZHVjdFNldHRpbmdzU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LXNldHRpbmdzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcHJvZHVjdC1hZGR0b2NhcnQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJhdGMtd3JhcHBlclwiPlxuICAgICAgPGNvLW51bWJlci1waWNrZXIgKm5nSWY9XCIhY29uZmlndXJhYmxlICYmICFjb25maWd1cmluZ1wiIGNsYXNzPVwicXVhbnRpdHktc2VsZWN0XCIgWyhtb2RlbCldPVwicXVhbnRpdHlcIiBbbWluXT1cIjFcIiBob3Jpem9udGFsPjwvY28tbnVtYmVyLXBpY2tlcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24td3JhcHBlclwiPlxuICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY29uZmlndXJlLWJ1dHRvblwiICpuZ0lmPVwiY29uZmlndXJhYmxlXCJcbiAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlLmdldEljb24oaWNvbi5NYWdpY1dhbmQpXCJcbiAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0NPTkZJR1VSRScgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwic3RhcnRDb25maWd1cmF0aW9uLmVtaXQoKVwiXG4gICAgICAgID48L2NvLWJ1dHRvbj5cbiAgICAgICAgPGNvLWJ1dHRvbiAjYWRkdG9jYXJ0YnV0dG9uIGNsYXNzPVwiY2FydC1idXR0b25cIiAqbmdJZj1cIiFjb25maWd1cmFibGVcIlxuICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGUuZ2V0SWNvbihpY29uLkFkZFRvQ2FydERyb3ApXCJcbiAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1NIT1BQSU5HX0NBUlRfSU4nIHwgbG9jYWxpemVcIlxuICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImhhbmRsZUFkZFRvQ2FydENsaWNrKHF1YW50aXR5KVwiXG4gICAgICAgID48L2NvLWJ1dHRvbj5cbiAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImNhcnQtYnV0dG9uIHF1b3RlXCIgKm5nSWY9XCIhY29uZmlndXJhYmxlICYmIHNob3dRdW90ZUJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZS5nZXRJY29uKGljb24uUXVvdGUpXCJcbiAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1FVT1RBVElPTicgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlQWRkVG9RdW90ZUNsaWNrKHF1YW50aXR5KVwiXG4gICAgICAgID48L2NvLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9wcm9kdWN0LWFkZHRvY2FydC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RBZGR0b2NhcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIHJlYWRvbmx5IGljb246IHR5cGVvZiBJY29uRW51bSA9IEljb25FbnVtO1xuXG4gIEBWaWV3Q2hpbGQoJ2FkZHRvY2FydGJ1dHRvbicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwdWJsaWMgYWRkVG9DYXJ0QnV0dG9uOiBFbGVtZW50UmVmO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcnRpY2xlOiBBcnRpY2xlRnVsbE9iamVjdDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY3JlYXRlRnJvemVuQXJ0aWNsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbmZpZ3VyYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb25maWd1cmluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZnVsbC1zY3JlZW4nKVxuICBASW5wdXQoKVxuICBwdWJsaWMgZnVsbHNjcmVlbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcXVhbnRpdHkodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX3F1YW50aXR5ID0gTWF0aC5tYXgoMSwgdmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBxdWFudGl0eSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9xdWFudGl0eTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc3RhcnRDb25maWd1cmF0aW9uOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBhZGRUb0NhcnRDbGljazogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGFkZFRvUXVvdGVDbGljazogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBwdWJsaWMgc2hvd1F1b3RlQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfcXVhbnRpdHkgPSAxO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBpY29uQ2FjaGU6IEljb25DYWNoZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfaW9uZUNvbnRyb2xsZXJTZXJ2aWNlOiBQcm9kdWN0Q29ubmVjdG9yU2VydmljZSxcbiAgICBwcml2YXRlIF9hcHBFdmVudFNlcnZpY2U6IFByb2R1Y3RFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfc2V0dGluZ3NTZXJ2aWNlOiBQcm9kdWN0U2V0dGluZ3NTZXJ2aWNlXG4gICAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuYWRkVG9DYXJ0QnV0dG9uID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGhhbmRsZUFkZFRvQ2FydENsaWNrKHF1YW50aXR5OiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5jcmVhdGVGcm96ZW5BcnRpY2xlKSB7XG4gICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BZGRUb0NhcnQubmV4dCh7IGFydGljbGU6IGF3YWl0IHRoaXMuX2dldEpTT05Gcm9tQXJ0aWNsZU9iamVjdCh7YXJ0aWNsZTogdGhpcy5hcnRpY2xlLCBxdWFudGl0eTogcXVhbnRpdHl9KSwgcXVhbnRpdHk6IHF1YW50aXR5IH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBhcnRpY2xlOiBBcnRpY2xlRXh0ZW5kZWQgPSB0aGlzLl9pb25lQ29udHJvbGxlclNlcnZpY2UuY29udmVydEFydGljbGVGdWxsT2JqZWN0VG9BcnRpY2xlRXh0ZW5kZWQodGhpcy5hcnRpY2xlKTtcbiAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vbkFkZFRvQ2FydC5uZXh0KHsgYXJ0aWNsZTogYXJ0aWNsZSwgcXVhbnRpdHk6IHF1YW50aXR5IH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVBZGRUb1F1b3RlQ2xpY2socXVhbnRpdHk6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vbkFkZFRvUXVvdGUubmV4dChhd2FpdCB0aGlzLl9nZXRKU09ORnJvbUFydGljbGVPYmplY3Qoe2FydGljbGU6IHRoaXMuYXJ0aWNsZSwgcXVhbnRpdHk6IHF1YW50aXR5fSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfZ2V0SlNPTkZyb21BcnRpY2xlT2JqZWN0KGFydGljbGU6IEFydGljbGVRdWFudGl0eSk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgY29uZmlndXJhdG9yU3RhdGlzdGljcyA9IG5ldyBDb25maWd1cmF0b3JTdGF0aXN0aWNzRW52aXJvbm1lbnQoKTtcbiAgICBjb25maWd1cmF0b3JTdGF0aXN0aWNzLnVzZXJUeXBlID0gJ2lPbmVQcm9kdWN0UGFnZSc7XG4gICAgY29uZmlndXJhdG9yU3RhdGlzdGljcy50cmFuc2FjdGlvblR5cGUgPSAnU2FsZXMnO1xuICAgIGNvbmZpZ3VyYXRvclN0YXRpc3RpY3MuYWN0aW9uRG9tYWluID0gJ2J1bmRsZSc7XG4gICAgY29uZmlndXJhdG9yU3RhdGlzdGljcy5zZXNzaW9uSWQgPSB0aGlzLl9zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2Vzc2lvbiA/IHRoaXMuX3NldHRpbmdzU2VydmljZS5zZXR0aW5ncy5zZXNzaW9uLnNlc3Npb25JZCA6ICd1bmtub3duJztcbiAgICBjb25maWd1cmF0b3JTdGF0aXN0aWNzLndlYkhvc3QgPSB3aW5kb3cubG9jYXRpb24uaG9zdDtcbiAgICBjb25maWd1cmF0b3JTdGF0aXN0aWNzLmJ1bmRsZUhvc3QgPSB3aW5kb3cubG9jYXRpb24uaG9zdDtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5faW9uZUNvbnRyb2xsZXJTZXJ2aWNlLmdldEpzb25BcnRpY2xlRmxhdFRyZWUoXG4gICAgICAgIGFydGljbGUuYXJ0aWNsZS5nb29kSWQsIGFydGljbGUuYXJ0aWNsZS5nb29kVHlwZSwgYXJ0aWNsZS5xdWFudGl0eSwgdHJ1ZSwgY29uZmlndXJhdG9yU3RhdGlzdGljcyk7XG4gIH1cbn1cbiJdfQ==
@@ -107,4 +107,4 @@ ProductExternalSourceComponent.propDecorators = {
107
107
  alternativeClick: [{ type: Output }],
108
108
  showClass: [{ type: HostBinding, args: ['class.co-product-external-source',] }]
109
109
  };
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1leHRlcm5hbC1zb3VyY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtZXh0ZXJuYWwtc291cmNlL3Byb2R1Y3QtZXh0ZXJuYWwtc291cmNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBQyxZQUFZLEVBQWtCLE1BQU0sMkJBQTJCLENBQUM7QUFFeEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFFaEYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFFeEUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0saURBQWlELENBQUM7QUF5Qi9GLE1BQU0sT0FBTyw4QkFBOEI7SUEwQ3ZDLFlBQ1ksVUFBd0IsRUFDeEIsd0JBQWlELEVBQ2pELGdCQUFxQztRQUZyQyxlQUFVLEdBQVYsVUFBVSxDQUFjO1FBQ3hCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBeUI7UUFDakQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFxQjtRQXpCMUMsY0FBUyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRzdELGVBQVUsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUc5RCxxQkFBZ0IsR0FBb0MsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFPMUYsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFFN0IsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUV4QixxQkFBZ0IsR0FBUSxFQUFFLENBQUM7UUFHMUIsVUFBSyxHQUFtQixFQUFF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QVcsR0FBRyxLQUFLLENBQUM7YUFDNUI7WUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUN2QixDQUFDO0tBQUE7OztZQWhISixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLDRCQUE0QjtnQkFDdEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7S0FZVDtnQkFDRCxTQUFTLEVBQUU7b0JBQ1AsbUJBQW1CO29CQUNuQixzQkFBc0I7b0JBQ3RCLDhCQUE4QjtvQkFDOUIsdUJBQXVCO2lCQUMxQjtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN4Qzs7O1lBL0JPLFlBQVk7WUFFWix1QkFBdUI7WUFFdkIsbUJBQW1COzs7a0JBOEJ0QixLQUFLOzZCQUdMLEtBQUs7c0JBV0wsS0FBSzt3QkFHTCxNQUFNO3lCQUdOLE1BQU07K0JBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsa0NBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7RG9tU2FuaXRpemVyLCBTYWZlUmVzb3VyY2VVcmx9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQge0V4dGVybmFsU291cmNlfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9leHRlcm5hbC1zb3VyY2UuYm8nO1xyXG5pbXBvcnQge1Byb2R1Y3RDb25uZWN0b3JTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3Byb2R1Y3QtY29ubmVjdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQge0FydGljbGVMaXN0T2JqZWN0fSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWxpc3Qtb2JqZWN0JztcclxuaW1wb3J0IHtQcm9kdWN0RXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3Byb2R1Y3QtZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtQcm9kdWN0U2V0dGluZ3NTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3Byb2R1Y3Qtc2V0dGluZ3Muc2VydmljZSc7XHJcbmltcG9ydCB7UHJvZHVjdENvbm5lY3RvckFkYXB0ZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3Byb2R1Y3QtY29ubmVjdG9yLWFkYXB0ZXIuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY28tcHJvZHVjdC1leHRlcm5hbC1zb3VyY2UnLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGVkXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93UHJvZHVjdFwiPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1wcm9kdWN0LXBhZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3NrdV09XCJza3VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2V0dGluZ3NdPVwiZXh0ZXJuYWxTZXR0aW5nc1wiXHJcbiAgICAgICAgICAgICAgICA+PC9hcHAtcHJvZHVjdC1wYWdlPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzaG93UHJvZHVjdFwiPlxyXG4gICAgICAgICAgICAgICAgPGlmcmFtZSB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIxMDAlXCIgW3NyY109XCJzYWZlVXJsXCIgZnJhbWVib3JkZXI9XCIwXCIgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIGAsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBQcm9kdWN0RXZlbnRTZXJ2aWNlLFxyXG4gICAgICAgIFByb2R1Y3RTZXR0aW5nc1NlcnZpY2UsXHJcbiAgICAgICAgUHJvZHVjdENvbm5lY3RvckFkYXB0ZXJTZXJ2aWNlLFxyXG4gICAgICAgIFByb2R1Y3RDb25uZWN0b3JTZXJ2aWNlXHJcbiAgICBdLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdEV4dGVybmFsU291cmNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2t1OiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgZXh0ZXJuYWxTb3VyY2UodmFsdWU6IEV4dGVybmFsU291cmNlKSB7XHJcbiAgICAgICAgdGhpcy5fZXh0ZXJuYWxTb3VyY2UgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmxvYWRlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX3ByZXBhcmVFeHRlcm5hbFNvdXJjZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgZXh0ZXJuYWxTb3VyY2UoKTogRXh0ZXJuYWxTb3VyY2Uge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9leHRlcm5hbFNvdXJjZTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIG9wdGlvbnM6IHt9O1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGFkZFRvQ2FydDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBhZGRUb1F1b3RlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGFsdGVybmF0aXZlQ2xpY2s6IEV2ZW50RW1pdHRlcjxBcnRpY2xlTGlzdE9iamVjdD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFydGljbGVMaXN0T2JqZWN0PigpO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY28tcHJvZHVjdC1leHRlcm5hbC1zb3VyY2UnKVxyXG4gICAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2hvd1Byb2R1Y3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBzYWZlVXJsOiBTYWZlUmVzb3VyY2VVcmw7XHJcbiAgICBwdWJsaWMgbG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgZXh0ZXJuYWxVcmw6IHN0cmluZztcclxuICAgIHB1YmxpYyBleHRlcm5hbFNldHRpbmdzOiBhbnkgPSB7fTtcclxuXHJcbiAgICBwcml2YXRlIF9leHRlcm5hbFNvdXJjZTogRXh0ZXJuYWxTb3VyY2U7XHJcbiAgICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgX3Nhbml0aXplcjogRG9tU2FuaXRpemVyLFxyXG4gICAgICAgIHByaXZhdGUgX3Byb2R1Y3RDb25uZWN0b3JTZXJ2aWNlOiBQcm9kdWN0Q29ubmVjdG9yU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF9hcHBFdmVudFNlcnZpY2U6IFByb2R1Y3RFdmVudFNlcnZpY2VcclxuICAgICkge1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuX3N1YnMucHVzaChcclxuICAgICAgICAgICAgdGhpcy5fYXBwRXZlbnRTZXJ2aWNlLm9uQWRkVG9DYXJ0LnN1YnNjcmliZShqc29uID0+IHRoaXMuYWRkVG9DYXJ0Lm5leHQoanNvbikpLFxyXG4gICAgICAgICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BZGRUb1F1b3RlLnN1YnNjcmliZShqc29uID0+IHRoaXMuYWRkVG9RdW90ZS5uZXh0KGpzb24pKSxcclxuICAgICAgICAgICAgdGhpcy5fYXBwRXZlbnRTZXJ2aWNlLm9uQWx0ZXJuYXRpdmVDbGljay5zdWJzY3JpYmUoYXJ0aWNsZSA9PiB0aGlzLmFsdGVybmF0aXZlQ2xpY2submV4dChhcnRpY2xlKSlcclxuICAgICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFzeW5jIF9wcmVwYXJlRXh0ZXJuYWxTb3VyY2UoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9leHRlcm5hbFNvdXJjZSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZXh0ZXJuYWxVcmwgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy5leHRlcm5hbFNldHRpbmdzID0ge307XHJcbiAgICAgICAgaWYgKHRoaXMuZXh0ZXJuYWxTb3VyY2UudHlwZSA9PT0gJ0NBVEYnKSB7XHJcbiAgICAgICAgICAgIC8vIGdldCBidW5kbGUgc2V0dGluZ3MgZnJvbSBleHRlcm5hbCBzb3VyY2VcclxuICAgICAgICAgICAgY29uc3QgYnVuZGxlU2V0dGluZ3M6IHN0cmluZyA9IGF3YWl0IHRoaXMuX3Byb2R1Y3RDb25uZWN0b3JTZXJ2aWNlLmdldFByb2R1Y3RCdW5kbGVTZXR0aW5ncyh0aGlzLmV4dGVybmFsU291cmNlLnVybCwgcGFyc2VJbnQodGhpcy5leHRlcm5hbFNvdXJjZS5zY2hlbWEsIDApKTtcclxuICAgICAgICAgICAgdGhpcy5leHRlcm5hbFNldHRpbmdzID0gSlNPTi5wYXJzZShidW5kbGVTZXR0aW5ncyk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZXh0ZXJuYWxTZXR0aW5ncy5vcHRpb25zID0gdGhpcy5vcHRpb25zO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIHRoaXMuZXh0ZXJuYWxTZXR0aW5ncy5hc3NldFBhdGggPSBcImh0dHBzOi8vY2RuMS5jb2xpam4taXQubmwvY29udGVudDQzXCI7XHJcbiAgICAgICAgICAgIC8vIHRoaXMuZXh0ZXJuYWxTZXR0aW5ncy50aHJlZURBc3NldFBhdGggPSBcImh0dHBzOi8vY2RuMS5jb2xpam4taXQubmwvY29udGVudDQzXCI7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmV4dGVybmFsU291cmNlLnVzZXJuYW1lICYmIHRoaXMuZXh0ZXJuYWxTb3VyY2UucGFzc3dvcmQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZXh0ZXJuYWxTZXR0aW5ncy51c2VMb2dpbkVuY3J5cHRpb24gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5leHRlcm5hbFNldHRpbmdzLnVzZXJuYW1lID0gdGhpcy5leHRlcm5hbFNvdXJjZS51c2VybmFtZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZXh0ZXJuYWxTZXR0aW5ncy5wYXNzd29yZCA9IHRoaXMuZXh0ZXJuYWxTb3VyY2UucGFzc3dvcmQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gZmluYWxseSBzaG93IHRoZSBjYXRhbG9nXHJcbiAgICAgICAgICAgIHRoaXMuc2hvd1Byb2R1Y3QgPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXh0ZXJuYWxVcmwgPSB0aGlzLmV4dGVybmFsU291cmNlLnVybDtcclxuICAgICAgICAgICAgdGhpcy5zYWZlVXJsID0gdGhpcy5fc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh0aGlzLmV4dGVybmFsVXJsKTtcclxuICAgICAgICAgICAgdGhpcy5zaG93UHJvZHVjdCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxvYWRlZCA9IHRydWU7XHJcbiAgICB9XHJcbn1cclxuIl19
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1leHRlcm5hbC1zb3VyY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtZXh0ZXJuYWwtc291cmNlL3Byb2R1Y3QtZXh0ZXJuYWwtc291cmNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBQyxZQUFZLEVBQWtCLE1BQU0sMkJBQTJCLENBQUM7QUFFeEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFFaEYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFFeEUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0saURBQWlELENBQUM7QUEwQi9GLE1BQU0sT0FBTyw4QkFBOEI7SUEwQ3ZDLFlBQ1ksVUFBd0IsRUFDeEIsd0JBQWlELEVBQ2pELGdCQUFxQztRQUZyQyxlQUFVLEdBQVYsVUFBVSxDQUFjO1FBQ3hCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBeUI7UUFDakQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFxQjtRQXpCMUMsY0FBUyxHQUEwRSxJQUFJLFlBQVksRUFBMkQsQ0FBQztRQUcvSixlQUFVLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFHOUQscUJBQWdCLEdBQW9DLElBQUksWUFBWSxFQUFxQixDQUFDO1FBTzFGLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRTdCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFFeEIscUJBQWdCLEdBQVEsRUFBRSxDQUFDO1FBRzFCLFVBQUssR0FBbUIsRUFB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QUFXLEdBQUcsS0FBSyxDQUFDO2FBQzVCO1lBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDdkIsQ0FBQztLQUFBOzs7WUFoSEosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSw0QkFBNEI7Z0JBQ3RDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7O0tBWVQ7Z0JBQ0QsU0FBUyxFQUFFO29CQUNQLG1CQUFtQjtvQkFDbkIsc0JBQXNCO29CQUN0Qiw4QkFBOEI7b0JBQzlCLHVCQUF1QjtpQkFDMUI7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDeEM7OztZQWhDTyxZQUFZO1lBRVosdUJBQXVCO1lBRXZCLG1CQUFtQjs7O2tCQStCdEIsS0FBSzs2QkFHTCxLQUFLO3NCQVdMLEtBQUs7d0JBR0wsTUFBTTt5QkFHTixNQUFNOytCQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0RvbVNhbml0aXplciwgU2FmZVJlc291cmNlVXJsfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHtFeHRlcm5hbFNvdXJjZX0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvZXh0ZXJuYWwtc291cmNlLmJvJztcclxuaW1wb3J0IHtQcm9kdWN0Q29ubmVjdG9yU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LWNvbm5lY3Rvci5zZXJ2aWNlJztcclxuaW1wb3J0IHtBcnRpY2xlTGlzdE9iamVjdH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1saXN0LW9iamVjdCc7XHJcbmltcG9ydCB7UHJvZHVjdEV2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7UHJvZHVjdFNldHRpbmdzU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LXNldHRpbmdzLnNlcnZpY2UnO1xyXG5pbXBvcnQge1Byb2R1Y3RDb25uZWN0b3JBZGFwdGVyU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LWNvbm5lY3Rvci1hZGFwdGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQge0FydGljbGVFeHRlbmRlZH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1leHRlbmRlZC5ibyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY28tcHJvZHVjdC1leHRlcm5hbC1zb3VyY2UnLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGVkXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93UHJvZHVjdFwiPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1wcm9kdWN0LXBhZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3NrdV09XCJza3VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2V0dGluZ3NdPVwiZXh0ZXJuYWxTZXR0aW5nc1wiXHJcbiAgICAgICAgICAgICAgICA+PC9hcHAtcHJvZHVjdC1wYWdlPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzaG93UHJvZHVjdFwiPlxyXG4gICAgICAgICAgICAgICAgPGlmcmFtZSB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIxMDAlXCIgW3NyY109XCJzYWZlVXJsXCIgZnJhbWVib3JkZXI9XCIwXCIgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIGAsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBQcm9kdWN0RXZlbnRTZXJ2aWNlLFxyXG4gICAgICAgIFByb2R1Y3RTZXR0aW5nc1NlcnZpY2UsXHJcbiAgICAgICAgUHJvZHVjdENvbm5lY3RvckFkYXB0ZXJTZXJ2aWNlLFxyXG4gICAgICAgIFByb2R1Y3RDb25uZWN0b3JTZXJ2aWNlXHJcbiAgICBdLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdEV4dGVybmFsU291cmNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2t1OiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgZXh0ZXJuYWxTb3VyY2UodmFsdWU6IEV4dGVybmFsU291cmNlKSB7XHJcbiAgICAgICAgdGhpcy5fZXh0ZXJuYWxTb3VyY2UgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmxvYWRlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX3ByZXBhcmVFeHRlcm5hbFNvdXJjZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgZXh0ZXJuYWxTb3VyY2UoKTogRXh0ZXJuYWxTb3VyY2Uge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9leHRlcm5hbFNvdXJjZTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIG9wdGlvbnM6IHt9O1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGFkZFRvQ2FydDogRXZlbnRFbWl0dGVyPHsgYXJ0aWNsZTogc3RyaW5nIHwgQXJ0aWNsZUV4dGVuZGVkLCBxdWFudGl0eTogbnVtYmVyIH0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7IGFydGljbGU6IHN0cmluZyB8IEFydGljbGVFeHRlbmRlZCwgcXVhbnRpdHk6IG51bWJlciB9PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGFkZFRvUXVvdGU6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgYWx0ZXJuYXRpdmVDbGljazogRXZlbnRFbWl0dGVyPEFydGljbGVMaXN0T2JqZWN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8QXJ0aWNsZUxpc3RPYmplY3Q+KCk7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1wcm9kdWN0LWV4dGVybmFsLXNvdXJjZScpXHJcbiAgICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzaG93UHJvZHVjdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIHNhZmVVcmw6IFNhZmVSZXNvdXJjZVVybDtcclxuICAgIHB1YmxpYyBsb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBleHRlcm5hbFVybDogc3RyaW5nO1xyXG4gICAgcHVibGljIGV4dGVybmFsU2V0dGluZ3M6IGFueSA9IHt9O1xyXG5cclxuICAgIHByaXZhdGUgX2V4dGVybmFsU291cmNlOiBFeHRlcm5hbFNvdXJjZTtcclxuICAgIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBfc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXHJcbiAgICAgICAgcHJpdmF0ZSBfcHJvZHVjdENvbm5lY3RvclNlcnZpY2U6IFByb2R1Y3RDb25uZWN0b3JTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX2FwcEV2ZW50U2VydmljZTogUHJvZHVjdEV2ZW50U2VydmljZVxyXG4gICAgKSB7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5fc3Vicy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BZGRUb0NhcnQuc3Vic2NyaWJlKGpzb24gPT4gdGhpcy5hZGRUb0NhcnQubmV4dChqc29uKSksXHJcbiAgICAgICAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vbkFkZFRvUXVvdGUuc3Vic2NyaWJlKGpzb24gPT4gdGhpcy5hZGRUb1F1b3RlLm5leHQoanNvbikpLFxyXG4gICAgICAgICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BbHRlcm5hdGl2ZUNsaWNrLnN1YnNjcmliZShhcnRpY2xlID0+IHRoaXMuYWx0ZXJuYXRpdmVDbGljay5uZXh0KGFydGljbGUpKVxyXG4gICAgICAgIClcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXN5bmMgX3ByZXBhcmVFeHRlcm5hbFNvdXJjZSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBpZiAoIXRoaXMuX2V4dGVybmFsU291cmNlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5leHRlcm5hbFVybCA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLmV4dGVybmFsU2V0dGluZ3MgPSB7fTtcclxuICAgICAgICBpZiAodGhpcy5leHRlcm5hbFNvdXJjZS50eXBlID09PSAnQ0FURicpIHtcclxuICAgICAgICAgICAgLy8gZ2V0IGJ1bmRsZSBzZXR0aW5ncyBmcm9tIGV4dGVybmFsIHNvdXJjZVxyXG4gICAgICAgICAgICBjb25zdCBidW5kbGVTZXR0aW5nczogc3RyaW5nID0gYXdhaXQgdGhpcy5fcHJvZHVjdENvbm5lY3RvclNlcnZpY2UuZ2V0UHJvZHVjdEJ1bmRsZVNldHRpbmdzKHRoaXMuZXh0ZXJuYWxTb3VyY2UudXJsLCBwYXJzZUludCh0aGlzLmV4dGVybmFsU291cmNlLnNjaGVtYSwgMCkpO1xyXG4gICAgICAgICAgICB0aGlzLmV4dGVybmFsU2V0dGluZ3MgPSBKU09OLnBhcnNlKGJ1bmRsZVNldHRpbmdzKTtcclxuICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5leHRlcm5hbFNldHRpbmdzLm9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gdGhpcy5leHRlcm5hbFNldHRpbmdzLmFzc2V0UGF0aCA9IFwiaHR0cHM6Ly9jZG4xLmNvbGlqbi1pdC5ubC9jb250ZW50NDNcIjtcclxuICAgICAgICAgICAgLy8gdGhpcy5leHRlcm5hbFNldHRpbmdzLnRocmVlREFzc2V0UGF0aCA9IFwiaHR0cHM6Ly9jZG4xLmNvbGlqbi1pdC5ubC9jb250ZW50NDNcIjtcclxuICAgICAgICAgICAgaWYgKHRoaXMuZXh0ZXJuYWxTb3VyY2UudXNlcm5hbWUgJiYgdGhpcy5leHRlcm5hbFNvdXJjZS5wYXNzd29yZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5leHRlcm5hbFNldHRpbmdzLnVzZUxvZ2luRW5jcnlwdGlvbiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmV4dGVybmFsU2V0dGluZ3MudXNlcm5hbWUgPSB0aGlzLmV4dGVybmFsU291cmNlLnVzZXJuYW1lO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5leHRlcm5hbFNldHRpbmdzLnBhc3N3b3JkID0gdGhpcy5leHRlcm5hbFNvdXJjZS5wYXNzd29yZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBmaW5hbGx5IHNob3cgdGhlIGNhdGFsb2dcclxuICAgICAgICAgICAgdGhpcy5zaG93UHJvZHVjdCA9IHRydWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5leHRlcm5hbFVybCA9IHRoaXMuZXh0ZXJuYWxTb3VyY2UudXJsO1xyXG4gICAgICAgICAgICB0aGlzLnNhZmVVcmwgPSB0aGlzLl9zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHRoaXMuZXh0ZXJuYWxVcmwpO1xyXG4gICAgICAgICAgICB0aGlzLnNob3dQcm9kdWN0ID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -17,6 +17,7 @@ export class ProductPageComponent {
17
17
  this.settingsService = settingsService;
18
18
  this.appEventService = appEventService;
19
19
  this.icon = IconEnum;
20
+ this.createFrozenArticle = true;
20
21
  this.openStockEvent = new EventEmitter();
21
22
  this.configurable = false;
22
23
  this.threeD = false;
@@ -158,7 +159,7 @@ export class ProductPageComponent {
158
159
  ProductPageComponent.decorators = [
159
160
  { type: Component, args: [{
160
161
  selector: 'app-product-page',
161
- template: "<ng-container *ngIf=\"settingsLoaded\">\r\n <div class=\"page-wrapper\">\r\n <div class=\"page-wrapper-content\">\r\n <div class=\"page-wrapper-left\">\r\n <div class=\"product-image-container\">\r\n <div class=\"product-page-block-selector-type\">\r\n <app-product-selector-type class=\"default-padding\"\r\n [(currentType)]=\"currentView\"\r\n [show2D]=\"configurable\"\r\n [show3D]=\"threeD\"\r\n ></app-product-selector-type>\r\n </div>\r\n <div class=\"product-page-block-image default-padding\" [class.full]=\"fullScreen\">\r\n <app-image-carousel [@toggleVisibilityByState]=\"show2D ? 'show' : 'hide'\" [images]=\"article?.images\" [showRefresh]=\"configurable && threeD\"></app-image-carousel>\r\n <ng-container *ngIf=\"settingsLoaded\">\r\n <threed-configurator #configurator class=\"threed-configurator\"\r\n [class.configurator-full-screen]=\"fullScreen\"\r\n [@toggleVisibilityByState]=\"show3D ? 'show' : 'hide'\"\r\n [@toggleFullScreen]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n ></threed-configurator>\r\n </ng-container>\r\n <co-icon #fullscreenbutton class=\"fullscreen-button\" *ngIf=\"show3D\"\r\n [@toggleTopLeft]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n [iconData]=\"iconCache.getIcon(fullScreenIcon)\"\r\n (click)=\"showFullScreen()\"></co-icon>\r\n <co-icon class=\"threed-watermark\" *ngIf=\"show3D && fullScreen\"\r\n [iconData]=\"iconCache.getIcon(icon.Logo)\"></co-icon>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-right\">\r\n <div class=\"product-page-block-description\">\r\n <app-product-description class=\"default-padding\" [article]=\"article\"></app-product-description>\r\n </div>\r\n <div class=\"product-page-block-additional\">\r\n <div class=\"product-page-block-additional-description\">\r\n <app-product-additional-description class=\"default-padding\" [article]=\"article\"></app-product-additional-description>\r\n </div>\r\n <div class=\"product-page-block-price\" [class.full]=\"configuring\">\r\n <app-product-price class=\"s-padding\" *ngIf=\"!configuring\"\r\n [pricing]=\"article?.pricing\"\r\n [configurable]=\"configurable\"\r\n ></app-product-price>\r\n <ng-container *ngIf=\"settingsLoaded\">\r\n <threed-selections #selections class=\"threed-selections\" [class.show-selections]=\"configuring\" [@toggleFullScreenRight]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n [class.default-padding]=\"!fullScreen\"\r\n [class.show-full-screen]=\"fullScreen\"\r\n [class.mini-scrollbar]=\"fullScreen\"\r\n [sku]=\"sku\"\r\n [settings]=\"settings\"\r\n (onUserActionFromThreeD)=\"configuring = true\"\r\n (instanceSet)=\"setInstance($event)\"\r\n (onImageReceived)=\"appEventService.onImageReceived.next($event)\"\r\n (onRenderStarted)=\"appEventService.onRenderStarted.next()\"\r\n (onDraftRenderImageReceived)=\"appEventService.onDraftRenderImageReceived.next($event)\"\r\n (onArticleReceived)=\"appEventService.onArticleReceived.next($event.detail)\"\r\n (onSelectionsReceived)=\"appEventService.onSelectionsReceived.next($event.detail)\"\r\n (onArticleInfoReceived)=\"appEventService.onArticleInfoReceived.next($event.detail)\"\r\n ></threed-selections>\r\n </ng-container>\r\n </div>\r\n <div class=\"product-page-block-addtocart no-padding product-action-buttons\" *ngIf=\"!configuring\" [@toggleTopRight]=\"fullScreen ? 'fullscreen' : 'halfscreen'\">\r\n <app-product-addtocart\r\n [configurable]=\"configurable\"\r\n [configuring]=\"configuring\"\r\n [article]=\"article\"\r\n (startConfiguration)=\"handleStartConfiguration()\"\r\n ></app-product-addtocart>\r\n </div>\r\n <div class=\"addtocart-reserved product-action-buttons\" *ngIf=\"configuring\" [class.full-screen]=\"fullScreen\">\r\n <app-product-addtocart class=\"default-padding\"\r\n [configurable]=\"false\"\r\n [fullscreen]=\"fullScreen\"\r\n [configuring]=\"configuring\"\r\n [article]=\"article\"\r\n (startConfiguration)=\"handleStartConfiguration()\"\r\n ></app-product-addtocart>\r\n </div>\r\n <div class=\"product-page-block-variants\">\r\n <app-product-related class=\"no-padding\" *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [articles]=\"article?.relatedArticles\" [refType]=\"64\" [label]=\"'VARIANTS' | localize\"></app-product-related>\r\n </div>\r\n <div class=\"product-page-block-stock\">\r\n <app-product-stock class=\"no-padding\" [goodId]=\"article?.goodId\" (openStockEvent)=\"openStock()\"></app-product-stock>\r\n </div>\r\n <div class=\"product-page-block-delivery\">\r\n <app-product-delivery class=\"no-padding\" [stockAndDelivery]=\"stockAndDelivery\"></app-product-delivery>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-content\">\r\n <div class=\"page-wrapper-left\">\r\n <app-product-info-tabs class=\"no-padding\" [article]=\"article\"></app-product-info-tabs>\r\n </div>\r\n <div class=\"page-wrapper-right\">\r\n <div class=\"product-page-block-related s-padding\">\r\n <app-product-related *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [articles]=\"article?.relatedArticles\" [refType]=\"1\" [label]=\"'RELATED_PRODUCTS' | localize\"></app-product-related>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-content no-top-margin\">\r\n <div class=\"page-wrapper-full\">\r\n <div class=\"product-page-block-alternatives s-padding\">\r\n <app-product-related *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [articles]=\"article?.relatedArticles\" [refType]=\"4\" [isSmallModus]=\"false\" [label]=\"'ALTERNATIVE_PRODUCTS' | localize\"></app-product-related>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n",
162
+ template: "<ng-container *ngIf=\"settingsLoaded\">\r\n <div class=\"page-wrapper\">\r\n <div class=\"page-wrapper-content\">\r\n <div class=\"page-wrapper-left\">\r\n <div class=\"product-image-container\">\r\n <div class=\"product-page-block-selector-type\">\r\n <app-product-selector-type class=\"default-padding\"\r\n [(currentType)]=\"currentView\"\r\n [show2D]=\"configurable\"\r\n [show3D]=\"threeD\"\r\n ></app-product-selector-type>\r\n </div>\r\n <div class=\"product-page-block-image default-padding\" [class.full]=\"fullScreen\">\r\n <app-image-carousel [@toggleVisibilityByState]=\"show2D ? 'show' : 'hide'\" [images]=\"article?.images\" [showRefresh]=\"configurable && threeD\"></app-image-carousel>\r\n <ng-container *ngIf=\"settingsLoaded\">\r\n <threed-configurator #configurator class=\"threed-configurator\"\r\n [class.configurator-full-screen]=\"fullScreen\"\r\n [@toggleVisibilityByState]=\"show3D ? 'show' : 'hide'\"\r\n [@toggleFullScreen]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n ></threed-configurator>\r\n </ng-container>\r\n <co-icon #fullscreenbutton class=\"fullscreen-button\" *ngIf=\"show3D\"\r\n [@toggleTopLeft]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n [iconData]=\"iconCache.getIcon(fullScreenIcon)\"\r\n (click)=\"showFullScreen()\"></co-icon>\r\n <co-icon class=\"threed-watermark\" *ngIf=\"show3D && fullScreen\"\r\n [iconData]=\"iconCache.getIcon(icon.Logo)\"></co-icon>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-right\">\r\n <div class=\"product-page-block-description\">\r\n <app-product-description class=\"default-padding\" [article]=\"article\"></app-product-description>\r\n </div>\r\n <div class=\"product-page-block-additional\">\r\n <div class=\"product-page-block-additional-description\">\r\n <app-product-additional-description class=\"default-padding\" [article]=\"article\"></app-product-additional-description>\r\n </div>\r\n <div class=\"product-page-block-price\" [class.full]=\"configuring\">\r\n <app-product-price class=\"s-padding\" *ngIf=\"!configuring\"\r\n [pricing]=\"article?.pricing\"\r\n [configurable]=\"configurable\"\r\n ></app-product-price>\r\n <ng-container *ngIf=\"settingsLoaded\">\r\n <threed-selections #selections class=\"threed-selections\" [class.show-selections]=\"configuring\" [@toggleFullScreenRight]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n [class.default-padding]=\"!fullScreen\"\r\n [class.show-full-screen]=\"fullScreen\"\r\n [class.mini-scrollbar]=\"fullScreen\"\r\n [sku]=\"sku\"\r\n [settings]=\"settings\"\r\n (onUserActionFromThreeD)=\"configuring = true\"\r\n (instanceSet)=\"setInstance($event)\"\r\n (onImageReceived)=\"appEventService.onImageReceived.next($event)\"\r\n (onRenderStarted)=\"appEventService.onRenderStarted.next()\"\r\n (onDraftRenderImageReceived)=\"appEventService.onDraftRenderImageReceived.next($event)\"\r\n (onArticleReceived)=\"appEventService.onArticleReceived.next($event.detail)\"\r\n (onSelectionsReceived)=\"appEventService.onSelectionsReceived.next($event.detail)\"\r\n (onArticleInfoReceived)=\"appEventService.onArticleInfoReceived.next($event.detail)\"\r\n ></threed-selections>\r\n </ng-container>\r\n </div>\r\n <div class=\"product-page-block-addtocart no-padding product-action-buttons\" *ngIf=\"!configuring\" [@toggleTopRight]=\"fullScreen ? 'fullscreen' : 'halfscreen'\">\r\n <app-product-addtocart\r\n [configurable]=\"configurable\"\r\n [createFrozenArticle]=\"createFrozenArticle\"\r\n [configuring]=\"configuring\"\r\n [article]=\"article\"\r\n (startConfiguration)=\"handleStartConfiguration()\"\r\n ></app-product-addtocart>\r\n </div>\r\n <div class=\"addtocart-reserved product-action-buttons\" *ngIf=\"configuring\" [class.full-screen]=\"fullScreen\">\r\n <app-product-addtocart class=\"default-padding\"\r\n [configurable]=\"false\"\r\n [fullscreen]=\"fullScreen\"\r\n [configuring]=\"configuring\"\r\n [article]=\"article\"\r\n (startConfiguration)=\"handleStartConfiguration()\"\r\n ></app-product-addtocart>\r\n </div>\r\n <div class=\"product-page-block-variants\">\r\n <app-product-related class=\"no-padding\" *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [articles]=\"article?.relatedArticles\" [refType]=\"64\" [label]=\"'VARIANTS' | localize\"></app-product-related>\r\n </div>\r\n <div class=\"product-page-block-stock\">\r\n <app-product-stock class=\"no-padding\" [goodId]=\"article?.goodId\" (openStockEvent)=\"openStock()\"></app-product-stock>\r\n </div>\r\n <div class=\"product-page-block-delivery\">\r\n <app-product-delivery class=\"no-padding\" [stockAndDelivery]=\"stockAndDelivery\"></app-product-delivery>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-content\">\r\n <div class=\"page-wrapper-left\">\r\n <app-product-info-tabs class=\"no-padding\" [article]=\"article\"></app-product-info-tabs>\r\n </div>\r\n <div class=\"page-wrapper-right\">\r\n <div class=\"product-page-block-related s-padding\">\r\n <app-product-related *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [articles]=\"article?.relatedArticles\" [refType]=\"1\" [label]=\"'RELATED_PRODUCTS' | localize\"></app-product-related>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-content no-top-margin\">\r\n <div class=\"page-wrapper-full\">\r\n <div class=\"product-page-block-alternatives s-padding\">\r\n <app-product-related *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [articles]=\"article?.relatedArticles\" [refType]=\"4\" [isSmallModus]=\"false\" [label]=\"'ALTERNATIVE_PRODUCTS' | localize\"></app-product-related>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n",
162
163
  animations: [
163
164
  trigger('toggleFullScreen', [
164
165
  state('fullscreen', style({ 'position': 'fixed', 'top': '0', 'left': '0', 'width': '100%', 'height': '100%' })),
@@ -208,6 +209,7 @@ ProductPageComponent.propDecorators = {
208
209
  fullscreenbutton: [{ type: ViewChild, args: ['fullscreenbutton', { read: ElementRef },] }],
209
210
  sku: [{ type: Input }],
210
211
  settings: [{ type: Input }],
212
+ createFrozenArticle: [{ type: Input }],
211
213
  openStockEvent: [{ type: Output }]
212
214
  };
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9wcm9kdWN0LXBhZ2UvcHJvZHVjdC1wYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUFFLFlBQVksRUFDeEIsS0FBSyxFQUVHLE1BQU0sRUFDZCxTQUFTLEVBQ1QsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBR2xGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQXdDMUUsTUFBTSxPQUFPLG9CQUFvQjtJQTZGL0IsWUFBb0IsS0FBOEIsRUFDOUIsU0FBb0IsRUFDcEIsZUFBa0MsRUFDbkMsU0FBMkIsRUFDM0IsZUFBdUMsRUFDdkMsZUFBb0M7UUFMbkMsVUFBSyxHQUFMLEtBQUssQ0FBeUI7UUFDOUIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUFDbkMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0Is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QW1COzs7MkJBNEN6QixTQUFTLFNBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTt5QkFHOUMsU0FBUyxTQUFDLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7K0JBRzVDLFNBQVMsU0FBQyxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7a0JBR2xELEtBQUs7dUJBa0JMLEtBQUs7NkJBV0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LCBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvZHVjdENvbm5lY3RvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3Byb2R1Y3QtY29ubmVjdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXJ0aWNsZUZ1bGxPYmplY3QgfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWZ1bGwtb2JqZWN0JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3RvY2tBbmREZWxpdmVyeSB9IGZyb20gJy4uLy4uL21vZGVsL3N0b2NrLWFuZC1kZWxpdmVyeSc7XG5pbXBvcnQgeyBTZWxlY3RvclR5cGUgfSBmcm9tICcuLi8uLi9lbnVtL3NlbGVjdG9yLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEljb25FbnVtIH0gZnJvbSAnLi4vLi4vZW51bS9pY29uLmVudW0nO1xuaW1wb3J0IHsgSWNvbkNhY2hlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2R1Y3RTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3Byb2R1Y3Qtc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBQcm9kdWN0RXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtEZWxpdmVyeVByb2dub3Npc30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvZGVsaXZlcnktcHJvZ25vc2lzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXByb2R1Y3QtcGFnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LXBhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9kdWN0LXBhZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ3RvZ2dsZUZ1bGxTY3JlZW4nLCBbXG4gICAgICBzdGF0ZSgnZnVsbHNjcmVlbicsIHN0eWxlKHsncG9zaXRpb24nOiAnZml4ZWQnLCAndG9wJzogJzAnLCAnbGVmdCc6ICcwJywgJ3dpZHRoJzogJzEwMCUnLCAnaGVpZ2h0JzogJzEwMCUnfSkpLFxuICAgICAgc3RhdGUoJ2hhbGZzY3JlZW4nLCBzdHlsZSh7J3Bvc2l0aW9uJzogJyonLCAndG9wJzogJyonLCAnbGVmdCc6ICcqJywgJ3dpZHRoJzogJyonLCAnaGVpZ2h0JzogJyonfSkpLFxuICAgICAgdHJhbnNpdGlvbignaGFsZnNjcmVlbiA8PT4gZnVsbHNjcmVlbicsIGFuaW1hdGUoJzIwMG1zIGVhc2UtaW4tb3V0JykpLFxuICAgIF0pLFxuICAgIHRyaWdnZXIoJ3RvZ2dsZVRvcExlZnQnLCBbXG4gICAgICBzdGF0ZSgnZnVsbHNjcmVlbicsIHN0eWxlKHsncG9zaXRpb24nOiAnZml4ZWQnLCAndG9wJzogJzAnLCAnbGVmdCc6ICcwJ30pKSxcbiAgICAgIHN0YXRlKCdoYWxmc2NyZWVuJywgc3R5bGUoeydwb3NpdGlvbic6ICdhYnNvbHV0ZScsICd0b3AnOiAnKicsICdsZWZ0JzogJyonfSkpLFxuICAgICAgdHJhbnNpdGlvbignaGFsZnNjcmVlbiA8PT4gZnVsbHNjcmVlbicsIGFuaW1hdGUoJzIwMG1zIGVhc2UtaW4tb3V0JykpLFxuICAgIF0pLFxuICAgIHRyaWdnZXIoJ3RvZ2dsZVRvcFJpZ2h0JywgW1xuICAgICAgc3RhdGUoJ2Z1bGxzY3JlZW4nLCBzdHlsZSh7J3Bvc2l0aW9uJzogJ2ZpeGVkJywgJ3RvcCc6ICcwJywgJ3JpZ2h0JzogJzAnfSkpLFxuICAgICAgc3RhdGUoJ2hhbGZzY3JlZW4nLCBzdHlsZSh7J3Bvc2l0aW9uJzogJyonLCAndG9wJzogJyonLCAncmlnaHQnOiAnKid9KSksXG4gICAgICB0cmFuc2l0aW9uKCdoYWxmc2NyZWVuIDw9PiBmdWxsc2NyZWVuJywgYW5pbWF0ZSgnMjAwbXMgZWFzZS1pbi1vdXQnKSksXG4gICAgXSksXG4gICAgdHJpZ2dlcigndG9nZ2xlRnVsbFNjcmVlblJpZ2h0JywgW1xuICAgICAgc3RhdGUoJ2Z1bGxzY3JlZW4nLCBzdHlsZSh7J3Bvc2l0aW9uJzogJ2ZpeGVkJywgJ3dpZHRoJzogJzQwMHB4JywgJ3RvcCc6ICcwJywgJ3JpZ2h0JzogJzAnfSkpLFxuICAgICAgc3RhdGUoJ2hhbGZzY3JlZW4nLCBzdHlsZSh7J3Bvc2l0aW9uJzogJyonLCAnd2lkdGgnOiAnKicsICd0b3AnOiAnKicsICdyaWdodCc6ICcqJ30pKSxcbiAgICAgIHRyYW5zaXRpb24oJ2hhbGZzY3JlZW4gPD0+IGZ1bGxzY3JlZW4nLCBhbmltYXRlKCcyMDBtcyBlYXNlLWluLW91dCcpKSxcbiAgICBdKSxcbiAgICB0cmlnZ2VyKCd0b2dnbGVWaXNpYmlsaXR5QnlTdGF0ZScsIFtcbiAgICAgIHN0YXRlKCdoaWRlJywgc3R5bGUoeydvcGFjaXR5JzogJzAnLCAnZGlzcGxheSc6ICdub25lJ30pKSxcbiAgICAgIHN0YXRlKCdzaG93Jywgc3R5bGUoeydkaXNwbGF5JzogJ2Jsb2NrJywgJ29wYWNpdHknOiAnMSd9KSksXG4gICAgICB0cmFuc2l0aW9uKCdoaWRlIDw9PiBzaG93JywgYW5pbWF0ZSgnMjAwbXMgMTAwbXMgZWFzZS1pbi1vdXQnKSksXG4gICAgXSksXG4gICAgdHJpZ2dlcigndG9nZ2xlVmlzaWJpbGl0eScsIFtcbiAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoeydvcGFjaXR5JzogJzAnfSkpLFxuICAgICAgc3RhdGUoJyonLCBzdHlsZSh7J29wYWNpdHknOiAnMSd9KSksXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBhbmltYXRlKCcyMDBtcyBlYXNlLWluLW91dCcpKSxcbiAgICBdKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RQYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuXG4gIHB1YmxpYyByZWFkb25seSBpY29uOiB0eXBlb2YgSWNvbkVudW0gPSBJY29uRW51bTtcblxuICBAVmlld0NoaWxkKCdjb25maWd1cmF0b3InLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHVibGljIGNvbmZpZ3VyYXRvcjogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCdzZWxlY3Rpb25zJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHB1YmxpYyBzZWxlY3Rpb25zOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ2Z1bGxzY3JlZW5idXR0b24nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHVibGljIGZ1bGxzY3JlZW5idXR0b246IEVsZW1lbnRSZWY7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBza3UodmFsdWU6IHN0cmluZykge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgaWYgKHRoaXMuY29uZmlndXJpbmcpIHtcbiAgICAgICAgdGhpcy5zaG93M0QgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5mdWxsU2NyZWVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY29uZmlndXJpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfVxuICAgICAgdGhpcy5fc2t1ID0gdmFsdWU7XG4gICAgICB0aGlzLl9nZXRBcnRpY2xlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBza3UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc2t1O1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZXR0aW5ncyh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aGlzLl9zZXR0aW5ncyA9IEpTT04ucGFyc2UodmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fc2V0dGluZ3MgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9wZW5TdG9ja0V2ZW50OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIHB1YmxpYyBnZXQgc2V0dGluZ3MoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fc2V0dGluZ3M7XG4gIH1cblxuICBwdWJsaWMgc2V0IGZ1bGxTY3JlZW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9mdWxsU2NyZWVuID0gdmFsdWU7XG4gICAgdGhpcy5mdWxsc2NyZWVuQW5pbWF0aW9uRW5kID0gdHJ1ZTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgLy8gICB0aGlzLmZ1bGxzY3JlZW5BbmltYXRpb25FbmQgPSB0cnVlO1xuICAgIC8vIH0sIDQwMClcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZnVsbFNjcmVlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZnVsbFNjcmVlbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZnVsbFNjcmVlbkljb24oKTogSWNvbkVudW0ge1xuICAgIHJldHVybiB0aGlzLmZ1bGxTY3JlZW4gPyB0aGlzLmljb24uTm9ybWFsU2NyZWVuIDogdGhpcy5pY29uLkZ1bGxTY3JlZW47XG4gIH1cblxuICBwdWJsaWMgc2V0IGN1cnJlbnRWaWV3KHZhbHVlOiBTZWxlY3RvclR5cGUpIHtcbiAgICB0aGlzLl9jdXJyZW50VmlldyA9IHZhbHVlO1xuICAgIHRoaXMuc2hvdzJEID0gdGhpcy5fY3VycmVudFZpZXcgPT09IFNlbGVjdG9yVHlwZS5Ud29EO1xuICAgIHRoaXMuc2hvdzNEID0gdGhpcy5fY3VycmVudFZpZXcgPT09IFNlbGVjdG9yVHlwZS5UaHJlZUQ7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHVibGljIGdldCBjdXJyZW50VmlldygpOiBTZWxlY3RvclR5cGUge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50VmlldztcbiAgfVxuXG4gIHB1YmxpYyBhcnRpY2xlOiBBcnRpY2xlRnVsbE9iamVjdDtcbiAgcHVibGljIHN0b2NrQW5kRGVsaXZlcnk6IFN0b2NrQW5kRGVsaXZlcnk7XG4gIHB1YmxpYyBjb25maWd1cmFibGUgPSBmYWxzZTtcbiAgcHVibGljIHRocmVlRCA9IGZhbHNlO1xuICBwdWJsaWMgc2VsZWN0b3JUeXBlOiBTZWxlY3RvclR5cGU7XG4gIHB1YmxpYyBzaG93MkQgPSB0cnVlO1xuICBwdWJsaWMgc2hvdzNEID0gZmFsc2U7XG4gIHB1YmxpYyBjb25maWd1cmluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgZnVsbHNjcmVlbkFuaW1hdGlvbkVuZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgc2V0dGluZ3NMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfc2t1OiBzdHJpbmc7XG4gIHByaXZhdGUgX2luaXRpYWxpemVkU3ViOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgX2Z1bGxTY3JlZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfY3VycmVudFZpZXc6IFNlbGVjdG9yVHlwZTtcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSBfc2V0dGluZ3M6IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9pb25lOiBQcm9kdWN0Q29ubmVjdG9yU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICAgICAgICBwdWJsaWMgaWNvbkNhY2hlOiBJY29uQ2FjaGVTZXJ2aWNlLFxuICAgICAgICAgICAgICBwdWJsaWMgc2V0dGluZ3NTZXJ2aWNlOiBQcm9kdWN0U2V0dGluZ3NTZXJ2aWNlLFxuICAgICAgICAgICAgICBwdWJsaWMgYXBwRXZlbnRTZXJ2aWNlOiBQcm9kdWN0RXZlbnRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuX3N1YnMucHVzaChcbiAgICAgIHRoaXMuYXBwRXZlbnRTZXJ2aWNlLm9uRm9yY2VSZW5kZXJJbWFnZS5zdWJzY3JpYmUoKHgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0aW9ucy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3Rpb25zLm5hdGl2ZUVsZW1lbnQuZm9yY2VSZW5kZXJJbWFnZSgpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3NMb2FkZWQuc3Vic2NyaWJlKGxvYWRlZCA9PiB0aGlzLl9oYW5kbGVTZXR0aW5nc0xvYWRlZChsb2FkZWQpKSxcbiAgICAgICAgdGhpcy5faW9uZS5jb250cm9sbGVySW5pdGlhbGl6ZWQuc3Vic2NyaWJlKChpbml0aWFsaXplZDogYm9vbGVhbikgPT4ge1xuICAgICAgICB0aGlzLnNldHRpbmdzTG9hZGVkID0gaW5pdGlhbGl6ZWQ7XG4gICAgICB9KVxuICAgICk7XG5cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLl9zZXR0aW5ncykge1xuICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3MgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLnNldHRpbmdzU2VydmljZS5jcmVhdGVTZXR0aW5nc0Zyb21PYmplY3QodGhpcy5fc2V0dGluZ3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9zZXR0aW5ncyA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gICAgaWYgKHRoaXMuX2luaXRpYWxpemVkU3ViKSB7XG4gICAgICB0aGlzLl9pbml0aWFsaXplZFN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLmNvbmZpZ3VyYXRvciA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnNlbGVjdGlvbnMgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5mdWxsc2NyZWVuYnV0dG9uID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIHNldEluc3RhbmNlKGV2ZW50OiBDdXN0b21FdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5kZXRhaWwpIHtcbiAgICAgIHRoaXMuX2lvbmUuc2V0SW5zdGFuY2UoZXZlbnQuZGV0YWlsKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlU3RhcnRDb25maWd1cmF0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlndXJpbmcgPSB0cnVlO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93RnVsbFNjcmVlbigpOiB2b2lkIHtcbiAgICB0aGlzLmZ1bGxTY3JlZW4gPSAhdGhpcy5mdWxsU2NyZWVuO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlU2V0dGluZ3NMb2FkZWQobG9hZGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGxvYWRlZCkge1xuICAgICAgdGhpcy5faW9uZS5pbml0Q29ubmVjdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX2dldEFydGljbGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuX2luaXRpYWxpemVkU3ViKSB7XG4gICAgICB0aGlzLl9pbml0aWFsaXplZFN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLl9pbml0aWFsaXplZFN1YiA9IHRoaXMuX2lvbmUuY29udHJvbGxlckluaXRpYWxpemVkLnN1YnNjcmliZShhc3luYyAoaW5pdDogYm9vbGVhbikgPT4ge1xuICAgICAgaWYgKGluaXQpIHtcbiAgICAgICAgdGhpcy5faW9uZS5nZXRGdWxsQXJ0aWNsZSh0aGlzLl9za3UpLnRoZW4oKGFydGljbGU6IEFydGljbGVGdWxsT2JqZWN0KSA9PiB7XG4gICAgICAgICAgdGhpcy5hcnRpY2xlID0gYXJ0aWNsZTtcbiAgICAgICAgICBpZiAodGhpcy5hcnRpY2xlKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYWJsZSA9IHRoaXMuYXJ0aWNsZS5nb29kVHlwZSA9PT0gJ0InO1xuICAgICAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhYmxlKSB7XG4gICAgICAgICAgICAgIHRoaXMuY3VycmVudFZpZXcgPSBTZWxlY3RvclR5cGUuVHdvRDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudGhyZWVEID0gdGhpcy5hcnRpY2xlLmlzM0Q7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdG9yVHlwZSA9IHRoaXMuYXJ0aWNsZS5zZWxlY3RvclR5cGVDdXN0b21lcjtcbiAgICAgICAgICAgIHRoaXMuX2lvbmUuZ2V0RGVsaXZlcnlQcm9nbm9zaXModGhpcy5hcnRpY2xlLmdvb2RJZCkudGhlbigoc3RvY2tJbmZvOiBEZWxpdmVyeVByb2dub3NpcykgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBzdG9ja0FuZERlbGl2ZXJ5OiBEZWxpdmVyeVByb2dub3NpcyA9IHN0b2NrSW5mbztcbiAgICAgICAgICAgICAgdGhpcy5zdG9ja0FuZERlbGl2ZXJ5ID0gbmV3IFN0b2NrQW5kRGVsaXZlcnkoMCwgc3RvY2tBbmREZWxpdmVyeS5yZXR1cm5WYWx1ZSA/IHN0b2NrQW5kRGVsaXZlcnkucmV0dXJuVmFsdWUgOiAnICcpO1xuICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIHB1YmxpYyBvcGVuU3RvY2soKSB7XG4gICAgdGhpcy5vcGVuU3RvY2tFdmVudC5lbWl0KCk7XG4gIH1cblxufVxuIl19
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9wcm9kdWN0LXBhZ2UvcHJvZHVjdC1wYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUFFLFlBQVksRUFDeEIsS0FBSyxFQUVHLE1BQU0sRUFDZCxTQUFTLEVBQ1QsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBR2xGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQXdDMUUsTUFBTSxPQUFPLG9CQUFvQjtJQWdHL0IsWUFBb0IsS0FBOEIsRUFDOUIsU0FBb0IsRUFDcEIsZUFBa0MsRUFDbkMsU0FBMkIsRUFDM0IsZUFBdUMsRUFDdkMsZUFBb0M7UUFMbkMsVUFBSyxHQUFMLEtBQUssQ0FBeUI7UUFDOUIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUFDbkMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0Is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QkFBZ0I7WUFDaEIsc0JBQXNCO1lBQ3RCLG1CQUFtQjs7OzJCQTRDekIsU0FBUyxTQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7eUJBRzlDLFNBQVMsU0FBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFOytCQUc1QyxTQUFTLFNBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2tCQUdsRCxLQUFLO3VCQWtCTCxLQUFLO2tDQVdMLEtBQUs7NkJBR0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LCBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvZHVjdENvbm5lY3RvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3Byb2R1Y3QtY29ubmVjdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXJ0aWNsZUZ1bGxPYmplY3QgfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWZ1bGwtb2JqZWN0JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3RvY2tBbmREZWxpdmVyeSB9IGZyb20gJy4uLy4uL21vZGVsL3N0b2NrLWFuZC1kZWxpdmVyeSc7XG5pbXBvcnQgeyBTZWxlY3RvclR5cGUgfSBmcm9tICcuLi8uLi9lbnVtL3NlbGVjdG9yLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEljb25FbnVtIH0gZnJvbSAnLi4vLi4vZW51bS9pY29uLmVudW0nO1xuaW1wb3J0IHsgSWNvbkNhY2hlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2R1Y3RTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3Byb2R1Y3Qtc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBQcm9kdWN0RXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtEZWxpdmVyeVByb2dub3Npc30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvZGVsaXZlcnktcHJvZ25vc2lzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXByb2R1Y3QtcGFnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LXBhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9kdWN0LXBhZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ3RvZ2dsZUZ1bGxTY3JlZW4nLCBbXG4gICAgICBzdGF0ZSgnZnVsbHNjcmVlbicsIHN0eWxlKHsncG9zaXRpb24nOiAnZml4ZWQnLCAndG9wJzogJzAnLCAnbGVmdCc6ICcwJywgJ3dpZHRoJzogJzEwMCUnLCAnaGVpZ2h0JzogJzEwMCUnfSkpLFxuICAgICAgc3RhdGUoJ2hhbGZzY3JlZW4nLCBzdHlsZSh7J3Bvc2l0aW9uJzogJyonLCAndG9wJzogJyonLCAnbGVmdCc6ICcqJywgJ3dpZHRoJzogJyonLCAnaGVpZ2h0JzogJyonfSkpLFxuICAgICAgdHJhbnNpdGlvbignaGFsZnNjcmVlbiA8PT4gZnVsbHNjcmVlbicsIGFuaW1hdGUoJzIwMG1zIGVhc2UtaW4tb3V0JykpLFxuICAgIF0pLFxuICAgIHRyaWdnZXIoJ3RvZ2dsZVRvcExlZnQnLCBbXG4gICAgICBzdGF0ZSgnZnVsbHNjcmVlbicsIHN0eWxlKHsncG9zaXRpb24nOiAnZml4ZWQnLCAndG9wJzogJzAnLCAnbGVmdCc6ICcwJ30pKSxcbiAgICAgIHN0YXRlKCdoYWxmc2NyZWVuJywgc3R5bGUoeydwb3NpdGlvbic6ICdhYnNvbHV0ZScsICd0b3AnOiAnKicsICdsZWZ0JzogJyonfSkpLFxuICAgICAgdHJhbnNpdGlvbignaGFsZnNjcmVlbiA8PT4gZnVsbHNjcmVlbicsIGFuaW1hdGUoJzIwMG1zIGVhc2UtaW4tb3V0JykpLFxuICAgIF0pLFxuICAgIHRyaWdnZXIoJ3RvZ2dsZVRvcFJpZ2h0JywgW1xuICAgICAgc3RhdGUoJ2Z1bGxzY3JlZW4nLCBzdHlsZSh7J3Bvc2l0aW9uJzogJ2ZpeGVkJywgJ3RvcCc6ICcwJywgJ3JpZ2h0JzogJzAnfSkpLFxuICAgICAgc3RhdGUoJ2hhbGZzY3JlZW4nLCBzdHlsZSh7J3Bvc2l0aW9uJzogJyonLCAndG9wJzogJyonLCAncmlnaHQnOiAnKid9KSksXG4gICAgICB0cmFuc2l0aW9uKCdoYWxmc2NyZWVuIDw9PiBmdWxsc2NyZWVuJywgYW5pbWF0ZSgnMjAwbXMgZWFzZS1pbi1vdXQnKSksXG4gICAgXSksXG4gICAgdHJpZ2dlcigndG9nZ2xlRnVsbFNjcmVlblJpZ2h0JywgW1xuICAgICAgc3RhdGUoJ2Z1bGxzY3JlZW4nLCBzdHlsZSh7J3Bvc2l0aW9uJzogJ2ZpeGVkJywgJ3dpZHRoJzogJzQwMHB4JywgJ3RvcCc6ICcwJywgJ3JpZ2h0JzogJzAnfSkpLFxuICAgICAgc3RhdGUoJ2hhbGZzY3JlZW4nLCBzdHlsZSh7J3Bvc2l0aW9uJzogJyonLCAnd2lkdGgnOiAnKicsICd0b3AnOiAnKicsICdyaWdodCc6ICcqJ30pKSxcbiAgICAgIHRyYW5zaXRpb24oJ2hhbGZzY3JlZW4gPD0+IGZ1bGxzY3JlZW4nLCBhbmltYXRlKCcyMDBtcyBlYXNlLWluLW91dCcpKSxcbiAgICBdKSxcbiAgICB0cmlnZ2VyKCd0b2dnbGVWaXNpYmlsaXR5QnlTdGF0ZScsIFtcbiAgICAgIHN0YXRlKCdoaWRlJywgc3R5bGUoeydvcGFjaXR5JzogJzAnLCAnZGlzcGxheSc6ICdub25lJ30pKSxcbiAgICAgIHN0YXRlKCdzaG93Jywgc3R5bGUoeydkaXNwbGF5JzogJ2Jsb2NrJywgJ29wYWNpdHknOiAnMSd9KSksXG4gICAgICB0cmFuc2l0aW9uKCdoaWRlIDw9PiBzaG93JywgYW5pbWF0ZSgnMjAwbXMgMTAwbXMgZWFzZS1pbi1vdXQnKSksXG4gICAgXSksXG4gICAgdHJpZ2dlcigndG9nZ2xlVmlzaWJpbGl0eScsIFtcbiAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoeydvcGFjaXR5JzogJzAnfSkpLFxuICAgICAgc3RhdGUoJyonLCBzdHlsZSh7J29wYWNpdHknOiAnMSd9KSksXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBhbmltYXRlKCcyMDBtcyBlYXNlLWluLW91dCcpKSxcbiAgICBdKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RQYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuXG4gIHB1YmxpYyByZWFkb25seSBpY29uOiB0eXBlb2YgSWNvbkVudW0gPSBJY29uRW51bTtcblxuICBAVmlld0NoaWxkKCdjb25maWd1cmF0b3InLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHVibGljIGNvbmZpZ3VyYXRvcjogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCdzZWxlY3Rpb25zJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHB1YmxpYyBzZWxlY3Rpb25zOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ2Z1bGxzY3JlZW5idXR0b24nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHVibGljIGZ1bGxzY3JlZW5idXR0b246IEVsZW1lbnRSZWY7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBza3UodmFsdWU6IHN0cmluZykge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgaWYgKHRoaXMuY29uZmlndXJpbmcpIHtcbiAgICAgICAgdGhpcy5zaG93M0QgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5mdWxsU2NyZWVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY29uZmlndXJpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfVxuICAgICAgdGhpcy5fc2t1ID0gdmFsdWU7XG4gICAgICB0aGlzLl9nZXRBcnRpY2xlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBza3UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc2t1O1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZXR0aW5ncyh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aGlzLl9zZXR0aW5ncyA9IEpTT04ucGFyc2UodmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fc2V0dGluZ3MgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgY3JlYXRlRnJvemVuQXJ0aWNsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvcGVuU3RvY2tFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBwdWJsaWMgZ2V0IHNldHRpbmdzKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX3NldHRpbmdzO1xuICB9XG5cbiAgcHVibGljIHNldCBmdWxsU2NyZWVuKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZnVsbFNjcmVlbiA9IHZhbHVlO1xuICAgIHRoaXMuZnVsbHNjcmVlbkFuaW1hdGlvbkVuZCA9IHRydWU7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgIC8vICAgdGhpcy5mdWxsc2NyZWVuQW5pbWF0aW9uRW5kID0gdHJ1ZTtcbiAgICAvLyB9LCA0MDApXG4gIH1cblxuICBwdWJsaWMgZ2V0IGZ1bGxTY3JlZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Z1bGxTY3JlZW47XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZ1bGxTY3JlZW5JY29uKCk6IEljb25FbnVtIHtcbiAgICByZXR1cm4gdGhpcy5mdWxsU2NyZWVuID8gdGhpcy5pY29uLk5vcm1hbFNjcmVlbiA6IHRoaXMuaWNvbi5GdWxsU2NyZWVuO1xuICB9XG5cbiAgcHVibGljIHNldCBjdXJyZW50Vmlldyh2YWx1ZTogU2VsZWN0b3JUeXBlKSB7XG4gICAgdGhpcy5fY3VycmVudFZpZXcgPSB2YWx1ZTtcbiAgICB0aGlzLnNob3cyRCA9IHRoaXMuX2N1cnJlbnRWaWV3ID09PSBTZWxlY3RvclR5cGUuVHdvRDtcbiAgICB0aGlzLnNob3czRCA9IHRoaXMuX2N1cnJlbnRWaWV3ID09PSBTZWxlY3RvclR5cGUuVGhyZWVEO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY3VycmVudFZpZXcoKTogU2VsZWN0b3JUeXBlIHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudFZpZXc7XG4gIH1cblxuICBwdWJsaWMgYXJ0aWNsZTogQXJ0aWNsZUZ1bGxPYmplY3Q7XG4gIHB1YmxpYyBzdG9ja0FuZERlbGl2ZXJ5OiBTdG9ja0FuZERlbGl2ZXJ5O1xuICBwdWJsaWMgY29uZmlndXJhYmxlID0gZmFsc2U7XG4gIHB1YmxpYyB0aHJlZUQgPSBmYWxzZTtcbiAgcHVibGljIHNlbGVjdG9yVHlwZTogU2VsZWN0b3JUeXBlO1xuICBwdWJsaWMgc2hvdzJEID0gdHJ1ZTtcbiAgcHVibGljIHNob3czRCA9IGZhbHNlO1xuICBwdWJsaWMgY29uZmlndXJpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGZ1bGxzY3JlZW5BbmltYXRpb25FbmQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHNldHRpbmdzTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3NrdTogc3RyaW5nO1xuICBwcml2YXRlIF9pbml0aWFsaXplZFN1YjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9mdWxsU2NyZWVuOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX2N1cnJlbnRWaWV3OiBTZWxlY3RvclR5cGU7XG4gIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XG4gIHByaXZhdGUgX3NldHRpbmdzOiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfaW9uZTogUHJvZHVjdENvbm5lY3RvclNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgICAgICAgcHVibGljIGljb25DYWNoZTogSWNvbkNhY2hlU2VydmljZSxcbiAgICAgICAgICAgICAgcHVibGljIHNldHRpbmdzU2VydmljZTogUHJvZHVjdFNldHRpbmdzU2VydmljZSxcbiAgICAgICAgICAgICAgcHVibGljIGFwcEV2ZW50U2VydmljZTogUHJvZHVjdEV2ZW50U2VydmljZVxuICApIHtcbiAgICB0aGlzLl9zdWJzLnB1c2goXG4gICAgICB0aGlzLmFwcEV2ZW50U2VydmljZS5vbkZvcmNlUmVuZGVySW1hZ2Uuc3Vic2NyaWJlKCh4KSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGlvbnMubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0aW9ucy5uYXRpdmVFbGVtZW50LmZvcmNlUmVuZGVySW1hZ2UoKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzTG9hZGVkLnN1YnNjcmliZShsb2FkZWQgPT4gdGhpcy5faGFuZGxlU2V0dGluZ3NMb2FkZWQobG9hZGVkKSksXG4gICAgICAgIHRoaXMuX2lvbmUuY29udHJvbGxlckluaXRpYWxpemVkLnN1YnNjcmliZSgoaW5pdGlhbGl6ZWQ6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgdGhpcy5zZXR0aW5nc0xvYWRlZCA9IGluaXRpYWxpemVkO1xuICAgICAgfSlcbiAgICApO1xuXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5fc2V0dGluZ3MpIHtcbiAgICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2UuY3JlYXRlU2V0dGluZ3NGcm9tT2JqZWN0KHRoaXMuX3NldHRpbmdzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc2V0dGluZ3MgPSB0aGlzLnNldHRpbmdzU2VydmljZS5zZXR0aW5ncztcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xuICAgIGlmICh0aGlzLl9pbml0aWFsaXplZFN1Yikge1xuICAgICAgdGhpcy5faW5pdGlhbGl6ZWRTdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgdGhpcy5jb25maWd1cmF0b3IgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5zZWxlY3Rpb25zID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuZnVsbHNjcmVlbmJ1dHRvbiA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXRJbnN0YW5jZShldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuZGV0YWlsKSB7XG4gICAgICB0aGlzLl9pb25lLnNldEluc3RhbmNlKGV2ZW50LmRldGFpbCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhbmRsZVN0YXJ0Q29uZmlndXJhdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpZ3VyaW5nID0gdHJ1ZTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgc2hvd0Z1bGxTY3JlZW4oKTogdm9pZCB7XG4gICAgdGhpcy5mdWxsU2NyZWVuID0gIXRoaXMuZnVsbFNjcmVlbjtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNldHRpbmdzTG9hZGVkKGxvYWRlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChsb2FkZWQpIHtcbiAgICAgIHRoaXMuX2lvbmUuaW5pdENvbm5lY3Rpb24oKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9nZXRBcnRpY2xlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLl9pbml0aWFsaXplZFN1Yikge1xuICAgICAgdGhpcy5faW5pdGlhbGl6ZWRTdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgdGhpcy5faW5pdGlhbGl6ZWRTdWIgPSB0aGlzLl9pb25lLmNvbnRyb2xsZXJJbml0aWFsaXplZC5zdWJzY3JpYmUoYXN5bmMgKGluaXQ6IGJvb2xlYW4pID0+IHtcbiAgICAgIGlmIChpbml0KSB7XG4gICAgICAgIHRoaXMuX2lvbmUuZ2V0RnVsbEFydGljbGUodGhpcy5fc2t1KS50aGVuKChhcnRpY2xlOiBBcnRpY2xlRnVsbE9iamVjdCkgPT4ge1xuICAgICAgICAgIHRoaXMuYXJ0aWNsZSA9IGFydGljbGU7XG4gICAgICAgICAgaWYgKHRoaXMuYXJ0aWNsZSkge1xuICAgICAgICAgICAgdGhpcy5jb25maWd1cmFibGUgPSB0aGlzLmFydGljbGUuZ29vZFR5cGUgPT09ICdCJztcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYWJsZSkge1xuICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRWaWV3ID0gU2VsZWN0b3JUeXBlLlR3b0Q7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnRocmVlRCA9IHRoaXMuYXJ0aWNsZS5pczNEO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RvclR5cGUgPSB0aGlzLmFydGljbGUuc2VsZWN0b3JUeXBlQ3VzdG9tZXI7XG4gICAgICAgICAgICB0aGlzLl9pb25lLmdldERlbGl2ZXJ5UHJvZ25vc2lzKHRoaXMuYXJ0aWNsZS5nb29kSWQpLnRoZW4oKHN0b2NrSW5mbzogRGVsaXZlcnlQcm9nbm9zaXMpID0+IHtcbiAgICAgICAgICAgICAgY29uc3Qgc3RvY2tBbmREZWxpdmVyeTogRGVsaXZlcnlQcm9nbm9zaXMgPSBzdG9ja0luZm87XG4gICAgICAgICAgICAgIHRoaXMuc3RvY2tBbmREZWxpdmVyeSA9IG5ldyBTdG9ja0FuZERlbGl2ZXJ5KDAsIHN0b2NrQW5kRGVsaXZlcnkucmV0dXJuVmFsdWUgPyBzdG9ja0FuZERlbGl2ZXJ5LnJldHVyblZhbHVlIDogJyAnKTtcbiAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBwdWJsaWMgb3BlblN0b2NrKCkge1xuICAgIHRoaXMub3BlblN0b2NrRXZlbnQuZW1pdCgpO1xuICB9XG5cbn1cbiJdfQ==
@@ -5,7 +5,6 @@ import { ProductConnectorService } from './service/product-connector.service';
5
5
  import { DictionaryService } from './service/dictionary.service';
6
6
  import { ProductEventService } from './service/product-event.service';
7
7
  import { ProductSettingsService } from './service/product-settings.service';
8
- import { ProductConnectorAdapterService } from './service/product-connector-adapter.service';
9
8
  export class IoneProductComponent {
10
9
  constructor(_dictionary, _jsonUtils, _ione, _changeDetector, _appEventService, _settingsService) {
11
10
  // this.sku = 'CF-HILL';
@@ -26,6 +25,7 @@ export class IoneProductComponent {
26
25
  this._changeDetector = _changeDetector;
27
26
  this._appEventService = _appEventService;
28
27
  this._settingsService = _settingsService;
28
+ this.handleAddArticleInternally = true;
29
29
  this.onAddToCart = new EventEmitter();
30
30
  this.forceRenderImage = new EventEmitter();
31
31
  this.onAlternativeClick = new EventEmitter();
@@ -38,8 +38,8 @@ export class IoneProductComponent {
38
38
  this._subs = [];
39
39
  this._subs.push(
40
40
  // this._dictionary.dictionaryLoaded.subscribe(d => this.upAndLoaded = true),
41
- this._appEventService.onAddToCart.subscribe((json) => {
42
- this._handleAddToCart(json);
41
+ this._appEventService.onAddToCart.subscribe((data) => {
42
+ this._handleAddToCart(data);
43
43
  }), this._appEventService.onAddToQuote.subscribe(json => this.onAddToQuote.emit(json)), this._appEventService.onAlternativeClick.subscribe(article => this.onAlternativeClick.emit(article)), this._appEventService.onArticleInfoReceived.subscribe(info => this._handleAnswerInfoReceived(info)), this._appEventService.onArticleReceived.subscribe(article => this.onArticleReceived.emit(article)), this._appEventService.onSelectionsReceived.subscribe(selections => this.onSelectionsReceived.emit(selections)), this._settingsService.settingsLoaded.subscribe(loaded => {
44
44
  this.settingsLoaded = loaded;
45
45
  }));
@@ -74,32 +74,9 @@ export class IoneProductComponent {
74
74
  _handleAnswerInfoReceived(info) {
75
75
  this.onArticleInfoReceived.next(info);
76
76
  }
77
- _handleAddToCart(json) {
77
+ _handleAddToCart(data) {
78
78
  return __awaiter(this, void 0, void 0, function* () {
79
- if (this._settingsService.settings.createWebOrder) {
80
- if (json) {
81
- const articleTreeData = JSON.parse(json);
82
- if (articleTreeData.articleTree && articleTreeData.articleTree.article) {
83
- if (articleTreeData.articleTree.compositeGoods && Array.isArray(articleTreeData.articleTree.compositeGoods) &&
84
- articleTreeData.articleTree.compositeGoods.length > 0 &&
85
- articleTreeData.articleTree.subArticles && Array.isArray(articleTreeData.articleTree.subArticles)) {
86
- const compositeGoods = articleTreeData.articleTree.compositeGoods;
87
- compositeGoods.sort((a, b) => a.versionNumber < b.versionNumber ? -1 : 1);
88
- for (let i = 0; i < compositeGoods.length; i++) {
89
- const good = compositeGoods[i];
90
- const subArticle = articleTreeData.articleTree.subArticles.find(s => s.goodId === good.memberGoodId);
91
- if (subArticle) {
92
- yield this._ione.addWebSessionTransactionLine(subArticle.articleNumber, good.quantity);
93
- }
94
- }
95
- }
96
- else {
97
- yield this._ione.addWebSessionTransactionLine(articleTreeData.articleTree.article.articleNumber, 1);
98
- }
99
- }
100
- }
101
- }
102
- this.onAddToCart.emit(json);
79
+ this.onAddToCart.emit(data);
103
80
  });
104
81
  }
105
82
  openStock() {
@@ -111,14 +88,10 @@ IoneProductComponent.decorators = [
111
88
  selector: 'app-ione-product',
112
89
  template: `
113
90
  <app-product-page *ngIf="settingsLoaded"
91
+ [createFrozenArticle]="handleAddArticleInternally"
114
92
  (openStockEvent)="openStock()" [sku]="sku"
115
93
  ></app-product-page>
116
94
  `,
117
- providers: [
118
- ProductEventService,
119
- ProductConnectorAdapterService,
120
- ProductConnectorService
121
- ],
122
95
  encapsulation: ViewEncapsulation.Emulated,
123
96
  styles: [""]
124
97
  },] }
@@ -134,6 +107,7 @@ IoneProductComponent.ctorParameters = () => [
134
107
  IoneProductComponent.propDecorators = {
135
108
  sku: [{ type: Input }],
136
109
  settings: [{ type: Input }],
110
+ handleAddArticleInternally: [{ type: Input }],
137
111
  onAddToCart: [{ type: Output }],
138
112
  forceRenderImage: [{ type: Output }],
139
113
  onAlternativeClick: [{ type: Output }],
@@ -143,4 +117,4 @@ IoneProductComponent.propDecorators = {
143
117
  onAddToQuote: [{ type: Output }],
144
118
  openStockEvent: [{ type: Output }]
145
119
  };
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uZS1wcm9kdWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvaW9uZS1wcm9kdWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBRU4saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRS9ELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBRXBFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBRzFFLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBaUIzRixNQUFNLE9BQU8sb0JBQW9CO0lBaUQvQixZQUNVLFdBQThCLEVBQzlCLFVBQTRCLEVBQzVCLEtBQThCLEVBQzlCLGVBQWtDLEVBQ2xDLGdCQUFxQyxFQUNyQyxnQkFBd0M7UUFFaEQsd0JBQXdCO1FBQ3hCLDBCQUEwQjtRQUMxQiw0QkFBNEI7UUFDNUIsNEJBQTRCO1FBQzVCLG9CQUFvQjtRQUNwQiwyQkFBMkI7UUFDM0IsMkJBQTJCO1FBQzNCLDJCQUEyQjtRQUMzQixxQkFBcUI7UUFDckIsb0JBQW9CO1FBQ3BCLHlCQUF5QjtRQUN6Qix1QkFBdUI7UUFsQmYsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQzlCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLFVBQUssR0FBTCxLQUFLLENBQXlCO1FBQzlCLG9CQUFlLEdBQWYsZUFBZSxDQUFtQjtRQUNsQyxxQkFBZ0IsR0FBaEIs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SzswQkFlTCxNQUFNOytCQUdOLE1BQU07aUNBR04sTUFBTTtvQ0FHTixNQUFNO2dDQUdOLE1BQU07bUNBR04sTUFBTTsyQkFHTixNQUFNOzZCQUdOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtKc29uVXRpbHNTZXJ2aWNlfSBmcm9tICcuL3V0aWxzL2pzb24tdXRpbHMuc2VydmljZSc7XG5pbXBvcnQge1Byb2R1Y3RDb25uZWN0b3JTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2UvcHJvZHVjdC1jb25uZWN0b3Iuc2VydmljZSc7XG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlJztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7UHJvZHVjdEV2ZW50U2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL3Byb2R1Y3QtZXZlbnQuc2VydmljZSc7XG5pbXBvcnQge0FydGljbGVMaXN0T2JqZWN0fSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWxpc3Qtb2JqZWN0JztcbmltcG9ydCB7UHJvZHVjdFNldHRpbmdzU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL3Byb2R1Y3Qtc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQge1NlbGVjdGlvbn0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc2VsZWN0aW9uJztcbmltcG9ydCB7QXJ0aWNsZVF1aWNrU2VsfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXF1aWNrLXNlbCc7XG5pbXBvcnQge1Byb2R1Y3RDb25uZWN0b3JBZGFwdGVyU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL3Byb2R1Y3QtY29ubmVjdG9yLWFkYXB0ZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1pb25lLXByb2R1Y3QnLFxuICB0ZW1wbGF0ZTogYFxuICAgICAgPGFwcC1wcm9kdWN0LXBhZ2UgKm5nSWY9XCJzZXR0aW5nc0xvYWRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAob3BlblN0b2NrRXZlbnQpPVwib3BlblN0b2NrKClcIiBbc2t1XT1cInNrdVwiXG4gICAgICA+PC9hcHAtcHJvZHVjdC1wYWdlPlxuICBgLFxuICBwcm92aWRlcnM6IFtcbiAgICBQcm9kdWN0RXZlbnRTZXJ2aWNlLFxuICAgIFByb2R1Y3RDb25uZWN0b3JBZGFwdGVyU2VydmljZSxcbiAgICBQcm9kdWN0Q29ubmVjdG9yU2VydmljZVxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZCxcbiAgc3R5bGVVcmxzOiBbJy4vaW9uZS1wcm9kdWN0LmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBJb25lUHJvZHVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBza3U6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNldHRpbmdzKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRoaXMuX3NldHRpbmdzID0gSlNPTi5wYXJzZSh2YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9zZXR0aW5ncyA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2V0dGluZ3MoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fc2V0dGluZ3M7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uQWRkVG9DYXJ0OiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZm9yY2VSZW5kZXJJbWFnZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb25BbHRlcm5hdGl2ZUNsaWNrOiBFdmVudEVtaXR0ZXI8QXJ0aWNsZUxpc3RPYmplY3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxBcnRpY2xlTGlzdE9iamVjdD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uQXJ0aWNsZUluZm9SZWNlaXZlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uQXJ0aWNsZVJlY2VpdmVkOiBFdmVudEVtaXR0ZXI8QXJ0aWNsZVF1aWNrU2VsPiA9IG5ldyBFdmVudEVtaXR0ZXI8QXJ0aWNsZVF1aWNrU2VsPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb25TZWxlY3Rpb25zUmVjZWl2ZWQ6IEV2ZW50RW1pdHRlcjxTZWxlY3Rpb25bXT4gPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdGlvbltdPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb25BZGRUb1F1b3RlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3BlblN0b2NrRXZlbnQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwdWJsaWMgc2V0dGluZ3NMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9zZXR0aW5nczogYW55O1xuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yIChcbiAgICBwcml2YXRlIF9kaWN0aW9uYXJ5OiBEaWN0aW9uYXJ5U2VydmljZSxcbiAgICBwcml2YXRlIF9qc29uVXRpbHM6IEpzb25VdGlsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBfaW9uZTogUHJvZHVjdENvbm5lY3RvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgX2FwcEV2ZW50U2VydmljZTogUHJvZHVjdEV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIF9zZXR0aW5nc1NlcnZpY2U6IFByb2R1Y3RTZXR0aW5nc1NlcnZpY2VcbiAgKSB7XG4gICAgLy8gdGhpcy5za3UgPSAnQ0YtSElMTCc7XG4gICAgLy8gdGhpcy5za3UgPSAnQ0YtQUxNQURBJztcbiAgICAvLyB0aGlzLnNrdSA9ICdDRi0zOTkwNEFOVCc7XG4gICAgLy8gdGhpcy5za3UgPSAnQ0YtMjIzNDYwMDEnO1xuICAgIC8vIHRoaXMuc2t1ID0gJzEwNCc7XG4gICAgLy8gdGhpcy5za3UgPSAnMTAwMDU2MTk4Nic7XG4gICAgLy8gdGhpcy5za3UgPSAnMTAwMDU2Nzc2OCc7XG4gICAgLy8gdGhpcy5za3UgPSAnMTAwMDIzNDc5Myc7XG4gICAgLy8gdGhpcy5za3UgPSAnMTA2Nic7XG4gICAgLy8gdGhpcy5za3UgPSAnMTA0JztcbiAgICAvLyB0aGlzLnNrdSA9IFwiNzAwMDAxMDdcIjtcbiAgICAvLyB0aGlzLnNrdSA9IFwiZ3JvdmVyXCI7XG5cbiAgICB0aGlzLl9zdWJzLnB1c2goXG4gICAgICAvLyB0aGlzLl9kaWN0aW9uYXJ5LmRpY3Rpb25hcnlMb2FkZWQuc3Vic2NyaWJlKGQgPT4gdGhpcy51cEFuZExvYWRlZCA9IHRydWUpLFxuICAgICAgdGhpcy5fYXBwRXZlbnRTZXJ2aWNlLm9uQWRkVG9DYXJ0LnN1YnNjcmliZSgoanNvbjogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMuX2hhbmRsZUFkZFRvQ2FydChqc29uKTtcbiAgICAgIH0pLFxuICAgICAgdGhpcy5fYXBwRXZlbnRTZXJ2aWNlLm9uQWRkVG9RdW90ZS5zdWJzY3JpYmUoanNvbiA9PiB0aGlzLm9uQWRkVG9RdW90ZS5lbWl0KGpzb24pKSxcbiAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vbkFsdGVybmF0aXZlQ2xpY2suc3Vic2NyaWJlKGFydGljbGUgPT4gdGhpcy5vbkFsdGVybmF0aXZlQ2xpY2suZW1pdChhcnRpY2xlKSksXG4gICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BcnRpY2xlSW5mb1JlY2VpdmVkLnN1YnNjcmliZShpbmZvID0+IHRoaXMuX2hhbmRsZUFuc3dlckluZm9SZWNlaXZlZChpbmZvKSksXG4gICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BcnRpY2xlUmVjZWl2ZWQuc3Vic2NyaWJlKGFydGljbGUgPT4gdGhpcy5vbkFydGljbGVSZWNlaXZlZC5lbWl0KGFydGljbGUpKSxcbiAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vblNlbGVjdGlvbnNSZWNlaXZlZC5zdWJzY3JpYmUoc2VsZWN0aW9ucyA9PiB0aGlzLm9uU2VsZWN0aW9uc1JlY2VpdmVkLmVtaXQoc2VsZWN0aW9ucykpLFxuICAgICAgdGhpcy5fc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzTG9hZGVkLnN1YnNjcmliZShsb2FkZWQgPT4ge1xuICAgICAgICB0aGlzLnNldHRpbmdzTG9hZGVkID0gbG9hZGVkO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuX3NldHRpbmdzU2VydmljZS5pbml0aWFsaXplU2V0dGluZ3ModGhpcy5fc2V0dGluZ3MgPT09IHVuZGVmaW5lZCk7XG4gICAgaWYgKHRoaXMuX3NldHRpbmdzKSB7XG4gICAgICB0aGlzLl9zZXR0aW5nc1NlcnZpY2UuY3JlYXRlU2V0dGluZ3NGcm9tT2JqZWN0KHRoaXMuX3NldHRpbmdzKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUFuc3dlckluZm9SZWNlaXZlZChpbmZvOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLm9uQXJ0aWNsZUluZm9SZWNlaXZlZC5uZXh0KGluZm8pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfaGFuZGxlQWRkVG9DYXJ0KGpzb246IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLl9zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3MuY3JlYXRlV2ViT3JkZXIpIHtcbiAgICAgIGlmIChqc29uKSB7XG4gICAgICAgIGNvbnN0IGFydGljbGVUcmVlRGF0YSA9IEpTT04ucGFyc2UoanNvbik7XG4gICAgICAgIGlmIChhcnRpY2xlVHJlZURhdGEuYXJ0aWNsZVRyZWUgJiYgYXJ0aWNsZVRyZWVEYXRhLmFydGljbGVUcmVlLmFydGljbGUpIHtcbiAgICAgICAgICAgaWYgKGFydGljbGVUcmVlRGF0YS5hcnRpY2xlVHJlZS5jb21wb3NpdGVHb29kcyAmJiBBcnJheS5pc0FycmF5KGFydGljbGVUcmVlRGF0YS5hcnRpY2xlVHJlZS5jb21wb3NpdGVHb29kcykgJiZcbiAgICAgICAgICAgICAgIGFydGljbGVUcmVlRGF0YS5hcnRpY2xlVHJlZS5jb21wb3NpdGVHb29kcy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICAgICBhcnRpY2xlVHJlZURhdGEuYXJ0aWNsZVRyZWUuc3ViQXJ0aWNsZXMgJiYgQXJyYXkuaXNBcnJheShhcnRpY2xlVHJlZURhdGEuYXJ0aWNsZVRyZWUuc3ViQXJ0aWNsZXMpKSB7XG4gICAgICAgICAgICAgY29uc3QgY29tcG9zaXRlR29vZHMgPSBhcnRpY2xlVHJlZURhdGEuYXJ0aWNsZVRyZWUuY29tcG9zaXRlR29vZHM7XG4gICAgICAgICAgICAgY29tcG9zaXRlR29vZHMuc29ydCgoYSwgYikgPT4gYS52ZXJzaW9uTnVtYmVyIDwgYi52ZXJzaW9uTnVtYmVyID8gLTEgOiAxKTtcbiAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbXBvc2l0ZUdvb2RzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICBjb25zdCBnb29kID0gY29tcG9zaXRlR29vZHNbaV07XG4gICAgICAgICAgICAgICBjb25zdCBzdWJBcnRpY2xlID0gYXJ0aWNsZVRyZWVEYXRhLmFydGljbGVUcmVlLnN1YkFydGljbGVzLmZpbmQocyA9PiBzLmdvb2RJZCA9PT0gZ29vZC5tZW1iZXJHb29kSWQpO1xuICAgICAgICAgICAgICAgaWYgKHN1YkFydGljbGUpIHtcbiAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5faW9uZS5hZGRXZWJTZXNzaW9uVHJhbnNhY3Rpb25MaW5lKHN1YkFydGljbGUuYXJ0aWNsZU51bWJlciwgZ29vZC5xdWFudGl0eSk7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgfVxuICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgIGF3YWl0IHRoaXMuX2lvbmUuYWRkV2ViU2Vzc2lvblRyYW5zYWN0aW9uTGluZShhcnRpY2xlVHJlZURhdGEuYXJ0aWNsZVRyZWUuYXJ0aWNsZS5hcnRpY2xlTnVtYmVyLCAxKTtcbiAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMub25BZGRUb0NhcnQuZW1pdChqc29uKTtcbiAgfVxuICBwdWJsaWMgb3BlblN0b2NrKCkge1xuICAgIHRoaXMub3BlblN0b2NrRXZlbnQuZW1pdCgpO1xuICB9XG59XG4iXX0=
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uZS1wcm9kdWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvaW9uZS1wcm9kdWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBRU4saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRS9ELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBRXBFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBZ0IxRSxNQUFNLE9BQU8sb0JBQW9CO0lBb0QvQixZQUNVLFdBQThCLEVBQzlCLFVBQTRCLEVBQzVCLEtBQThCLEVBQzlCLGVBQWtDLEVBQ2xDLGdCQUFxQyxFQUNyQyxnQkFBd0M7UUFFaEQsd0JBQXdCO1FBQ3hCLDBCQUEwQjtRQUMxQiw0QkFBNEI7UUFDNUIsNEJBQTRCO1FBQzVCLG9CQUFvQjtRQUNwQiwyQkFBMkI7UUFDM0IsMkJBQTJCO1FBQzNCLDJCQUEyQjtRQUMzQixxQkFBcUI7UUFDckIsb0JBQW9CO1FBQ3BCLHlCQUF5QjtRQUN6Qix1QkFBdUI7UUFsQmYsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQzlCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLFVBQUssR0FBTCxLQUFLLENBQXlCO1FBQzlCLG9CQUFlLEdBQWYsZUFBZSxDQUFtQjtRQUNsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXFCO1FBQ3JDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBd0I7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QWEsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU8seUJBQXlCLENBQUMsSUFBWTtRQUM1QyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFYSxnQkFBZ0IsQ0FBQyxJQUE2RDs7WUFDMUYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsQ0FBQztLQUFBO0lBQ00sU0FBUztRQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7O1lBNUhGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixRQUFRLEVBQUU7Ozs7O0dBS1Q7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLFFBQVE7O2FBRTFDOzs7WUFuQk8saUJBQWlCO1lBRmpCLGdCQUFnQjtZQUNoQix1QkFBdUI7WUFaN0IsaUJBQWlCO1lBZVgsbUJBQW1CO1lBRW5CLHNCQUFzQjs7O2tCQWtCM0IsS0FBSzt1QkFHTCxLQUFLO3lDQWVMLEtBQUs7MEJBR0wsTUFBTTsrQkFHTixNQUFNO2lDQUdOLE1BQU07b0NBR04sTUFBTTtnQ0FHTixNQUFNO21DQUdOLE1BQU07MkJBR04sTUFBTTs2QkFHTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SnNvblV0aWxzU2VydmljZX0gZnJvbSAnLi91dGlscy9qc29uLXV0aWxzLnNlcnZpY2UnO1xuaW1wb3J0IHtQcm9kdWN0Q29ubmVjdG9yU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL3Byb2R1Y3QtY29ubmVjdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZSc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1Byb2R1Y3RFdmVudFNlcnZpY2V9IGZyb20gJy4vc2VydmljZS9wcm9kdWN0LWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtBcnRpY2xlTGlzdE9iamVjdH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1saXN0LW9iamVjdCc7XG5pbXBvcnQge1Byb2R1Y3RTZXR0aW5nc1NlcnZpY2V9IGZyb20gJy4vc2VydmljZS9wcm9kdWN0LXNldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHtTZWxlY3Rpb259IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3NlbGVjdGlvbic7XG5pbXBvcnQge0FydGljbGVRdWlja1NlbH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1xdWljay1zZWwnO1xuaW1wb3J0IHtBcnRpY2xlRXh0ZW5kZWR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQuYm8nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtaW9uZS1wcm9kdWN0JyxcbiAgdGVtcGxhdGU6IGBcbiAgICAgIDxhcHAtcHJvZHVjdC1wYWdlICpuZ0lmPVwic2V0dGluZ3NMb2FkZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NyZWF0ZUZyb3plbkFydGljbGVdPVwiaGFuZGxlQWRkQXJ0aWNsZUludGVybmFsbHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG9wZW5TdG9ja0V2ZW50KT1cIm9wZW5TdG9jaygpXCIgW3NrdV09XCJza3VcIlxuICAgICAgPjwvYXBwLXByb2R1Y3QtcGFnZT5cbiAgYCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWQsXG4gIHN0eWxlVXJsczogWycuL2lvbmUtcHJvZHVjdC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSW9uZVByb2R1Y3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2t1OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZXR0aW5ncyh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aGlzLl9zZXR0aW5ncyA9IEpTT04ucGFyc2UodmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fc2V0dGluZ3MgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNldHRpbmdzKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX3NldHRpbmdzO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIGhhbmRsZUFkZEFydGljbGVJbnRlcm5hbGx5OiBib29sZWFuID0gdHJ1ZTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uQWRkVG9DYXJ0OiBFdmVudEVtaXR0ZXI8eyBhcnRpY2xlOiBzdHJpbmcgfCBBcnRpY2xlRXh0ZW5kZWQsIHF1YW50aXR5OiBudW1iZXIgfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHsgYXJ0aWNsZTogc3RyaW5nIHwgQXJ0aWNsZUV4dGVuZGVkLCBxdWFudGl0eTogbnVtYmVyIH0+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmb3JjZVJlbmRlckltYWdlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkFsdGVybmF0aXZlQ2xpY2s6IEV2ZW50RW1pdHRlcjxBcnRpY2xlTGlzdE9iamVjdD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFydGljbGVMaXN0T2JqZWN0PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb25BcnRpY2xlSW5mb1JlY2VpdmVkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb25BcnRpY2xlUmVjZWl2ZWQ6IEV2ZW50RW1pdHRlcjxBcnRpY2xlUXVpY2tTZWw+ID0gbmV3IEV2ZW50RW1pdHRlcjxBcnRpY2xlUXVpY2tTZWw+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvblNlbGVjdGlvbnNSZWNlaXZlZDogRXZlbnRFbWl0dGVyPFNlbGVjdGlvbltdPiA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0aW9uW10+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkFkZFRvUXVvdGU6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvcGVuU3RvY2tFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHB1YmxpYyBzZXR0aW5nc0xvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX3NldHRpbmdzOiBhbnk7XG4gIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgY29uc3RydWN0b3IgKFxuICAgIHByaXZhdGUgX2RpY3Rpb25hcnk6IERpY3Rpb25hcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2pzb25VdGlsczogSnNvblV0aWxzU2VydmljZSxcbiAgICBwcml2YXRlIF9pb25lOiBQcm9kdWN0Q29ubmVjdG9yU2VydmljZSxcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfYXBwRXZlbnRTZXJ2aWNlOiBQcm9kdWN0RXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgX3NldHRpbmdzU2VydmljZTogUHJvZHVjdFNldHRpbmdzU2VydmljZVxuICApIHtcbiAgICAvLyB0aGlzLnNrdSA9ICdDRi1ISUxMJztcbiAgICAvLyB0aGlzLnNrdSA9ICdDRi1BTE1BREEnO1xuICAgIC8vIHRoaXMuc2t1ID0gJ0NGLTM5OTA0QU5UJztcbiAgICAvLyB0aGlzLnNrdSA9ICdDRi0yMjM0NjAwMSc7XG4gICAgLy8gdGhpcy5za3UgPSAnMTA0JztcbiAgICAvLyB0aGlzLnNrdSA9ICcxMDAwNTYxOTg2JztcbiAgICAvLyB0aGlzLnNrdSA9ICcxMDAwNTY3NzY4JztcbiAgICAvLyB0aGlzLnNrdSA9ICcxMDAwMjM0NzkzJztcbiAgICAvLyB0aGlzLnNrdSA9ICcxMDY2JztcbiAgICAvLyB0aGlzLnNrdSA9ICcxMDQnO1xuICAgIC8vIHRoaXMuc2t1ID0gXCI3MDAwMDEwN1wiO1xuICAgIC8vIHRoaXMuc2t1ID0gXCJncm92ZXJcIjtcblxuICAgIHRoaXMuX3N1YnMucHVzaChcbiAgICAgIC8vIHRoaXMuX2RpY3Rpb25hcnkuZGljdGlvbmFyeUxvYWRlZC5zdWJzY3JpYmUoZCA9PiB0aGlzLnVwQW5kTG9hZGVkID0gdHJ1ZSksXG4gICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BZGRUb0NhcnQuc3Vic2NyaWJlKChkYXRhOiB7IGFydGljbGU6IHN0cmluZyB8IEFydGljbGVFeHRlbmRlZCwgcXVhbnRpdHk6IG51bWJlciB9KSA9PiB7XG4gICAgICAgIHRoaXMuX2hhbmRsZUFkZFRvQ2FydChkYXRhKTtcbiAgICAgIH0pLFxuICAgICAgdGhpcy5fYXBwRXZlbnRTZXJ2aWNlLm9uQWRkVG9RdW90ZS5zdWJzY3JpYmUoanNvbiA9PiB0aGlzLm9uQWRkVG9RdW90ZS5lbWl0KGpzb24pKSxcbiAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vbkFsdGVybmF0aXZlQ2xpY2suc3Vic2NyaWJlKGFydGljbGUgPT4gdGhpcy5vbkFsdGVybmF0aXZlQ2xpY2suZW1pdChhcnRpY2xlKSksXG4gICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BcnRpY2xlSW5mb1JlY2VpdmVkLnN1YnNjcmliZShpbmZvID0+IHRoaXMuX2hhbmRsZUFuc3dlckluZm9SZWNlaXZlZChpbmZvKSksXG4gICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BcnRpY2xlUmVjZWl2ZWQuc3Vic2NyaWJlKGFydGljbGUgPT4gdGhpcy5vbkFydGljbGVSZWNlaXZlZC5lbWl0KGFydGljbGUpKSxcbiAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vblNlbGVjdGlvbnNSZWNlaXZlZC5zdWJzY3JpYmUoc2VsZWN0aW9ucyA9PiB0aGlzLm9uU2VsZWN0aW9uc1JlY2VpdmVkLmVtaXQoc2VsZWN0aW9ucykpLFxuICAgICAgdGhpcy5fc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzTG9hZGVkLnN1YnNjcmliZShsb2FkZWQgPT4ge1xuICAgICAgICB0aGlzLnNldHRpbmdzTG9hZGVkID0gbG9hZGVkO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuX3NldHRpbmdzU2VydmljZS5pbml0aWFsaXplU2V0dGluZ3ModGhpcy5fc2V0dGluZ3MgPT09IHVuZGVmaW5lZCk7XG4gICAgaWYgKHRoaXMuX3NldHRpbmdzKSB7XG4gICAgICB0aGlzLl9zZXR0aW5nc1NlcnZpY2UuY3JlYXRlU2V0dGluZ3NGcm9tT2JqZWN0KHRoaXMuX3NldHRpbmdzKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUFuc3dlckluZm9SZWNlaXZlZChpbmZvOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLm9uQXJ0aWNsZUluZm9SZWNlaXZlZC5uZXh0KGluZm8pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfaGFuZGxlQWRkVG9DYXJ0KGRhdGE6IHsgYXJ0aWNsZTogc3RyaW5nIHwgQXJ0aWNsZUV4dGVuZGVkLCBxdWFudGl0eTogbnVtYmVyIH0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLm9uQWRkVG9DYXJ0LmVtaXQoZGF0YSk7XG4gIH1cbiAgcHVibGljIG9wZW5TdG9jaygpIHtcbiAgICB0aGlzLm9wZW5TdG9ja0V2ZW50LmVtaXQoKTtcbiAgfVxufVxuIl19
@@ -3,8 +3,8 @@ export class Version {
3
3
  constructor() {
4
4
  this.name = "@colijnit/product";
5
5
  this.description = "Product detail page project for iOne";
6
- this.symVer = "12.0.4";
7
- this.publishDate = "16-10-2023 12:31:14";
6
+ this.symVer = "12.0.5";
7
+ this.publishDate = "30-11-2023 11:58:33";
8
8
  }
9
9
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC12ZXJzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9wcm9kdWN0LXZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE1BQU0sT0FBTyxPQUFPO0lBQXBCO1FBQ1MsU0FBSSxHQUFHLG1CQUFtQixDQUFDO1FBQzNCLGdCQUFXLEdBQUcsc0NBQXNDLENBQUM7UUFDckQsV0FBTSxHQUFHLFFBQVEsQ0FBQztRQUNsQixnQkFBVyxHQUFHLHFCQUFxQixDQUFDO0lBQzdDLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRoaXMgZmlsZSBpcyBkeW5hbWljYWxseSBjcmVhdGVkLCBkbyBub3QgY2hhbmdlIHRoaXNcbmV4cG9ydCBjbGFzcyBWZXJzaW9uIHtcbiAgcHVibGljIG5hbWUgPSBcIkBjb2xpam5pdC9wcm9kdWN0XCI7XG4gIHB1YmxpYyBkZXNjcmlwdGlvbiA9IFwiUHJvZHVjdCBkZXRhaWwgcGFnZSBwcm9qZWN0IGZvciBpT25lXCI7XG4gIHB1YmxpYyBzeW1WZXIgPSBcIjEyLjAuNFwiO1xuICBwdWJsaWMgcHVibGlzaERhdGUgPSBcIjE2LTEwLTIwMjMgMTI6MzE6MTRcIjtcbn0iXX0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC12ZXJzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9wcm9kdWN0LXZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE1BQU0sT0FBTyxPQUFPO0lBQXBCO1FBQ1MsU0FBSSxHQUFHLG1CQUFtQixDQUFDO1FBQzNCLGdCQUFXLEdBQUcsc0NBQXNDLENBQUM7UUFDckQsV0FBTSxHQUFHLFFBQVEsQ0FBQztRQUNsQixnQkFBVyxHQUFHLHFCQUFxQixDQUFDO0lBQzdDLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRoaXMgZmlsZSBpcyBkeW5hbWljYWxseSBjcmVhdGVkLCBkbyBub3QgY2hhbmdlIHRoaXNcbmV4cG9ydCBjbGFzcyBWZXJzaW9uIHtcbiAgcHVibGljIG5hbWUgPSBcIkBjb2xpam5pdC9wcm9kdWN0XCI7XG4gIHB1YmxpYyBkZXNjcmlwdGlvbiA9IFwiUHJvZHVjdCBkZXRhaWwgcGFnZSBwcm9qZWN0IGZvciBpT25lXCI7XG4gIHB1YmxpYyBzeW1WZXIgPSBcIjEyLjAuNVwiO1xuICBwdWJsaWMgcHVibGlzaERhdGUgPSBcIjMwLTExLTIwMjMgMTE6NTg6MzNcIjtcbn0iXX0=
@@ -10,6 +10,8 @@ import { BusinessObjectFactory } from '@colijnit/ioneconnector/build/service/bus
10
10
  import { Transaction } from '@colijnit/transactionapi/build/transaction';
11
11
  import { ProductSettings } from '../model/productSettings';
12
12
  import { MainApi } from '@colijnit/mainapi';
13
+ import { TransactionInfoResponse } from '@colijnit/transactionapi/build/model/transaction-info-response.bo';
14
+ import { ArticleExtended } from '@colijnit/articleapi/build/model/article-extended.bo';
13
15
  // Sole responsibility is simply to wrap around a colijn.Connector to create a stable inner interface to the library in a 1:1 method way.
14
16
  // Only to be used by the IOneControllerService.
15
17
  export class ProductConnectorAdapterService {
@@ -44,6 +46,11 @@ export class ProductConnectorAdapterService {
44
46
  return "";
45
47
  });
46
48
  }
49
+ convertArticleFullObjectToArticleExtended(article) {
50
+ if (article) {
51
+ return this._boFactory.makeWithRawBackendData(ArticleExtended, article);
52
+ }
53
+ }
47
54
  getDeliveryPrognosis(goodId, branchNr) {
48
55
  return __awaiter(this, void 0, void 0, function* () {
49
56
  const deliveryPrognosis = yield this.getSelectorDeliveryDate();
@@ -146,14 +153,14 @@ export class ProductConnectorAdapterService {
146
153
  }
147
154
  });
148
155
  }
149
- addWebSessionTransactionLine(sku, quantity) {
150
- return __awaiter(this, void 0, void 0, function* () {
151
- return yield this.transactionConnector.addWebSessionTransactionLine(sku, quantity);
152
- });
153
- }
154
- getWebTransaction() {
156
+ addWebSessionTransactionLine(transactionUuid, sku, quantity) {
155
157
  return __awaiter(this, void 0, void 0, function* () {
156
- return yield this.transactionConnector.getWebSessionSalesOrder();
158
+ const response = yield this.transactionConnector.addWebSessionTransactionLine(transactionUuid, sku, quantity);
159
+ if (response && response.validationResult && response.validationResult.success) {
160
+ const infoResponse = this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
161
+ return infoResponse.transactionInfo.uuid;
162
+ }
163
+ return "";
157
164
  });
158
165
  }
159
166
  }
@@ -161,4 +168,4 @@ ProductConnectorAdapterService.decorators = [
161
168
  { type: Injectable }
162
169
  ];
163
170
  ProductConnectorAdapterService.ctorParameters = () => [];
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1jb25uZWN0b3ItYWRhcHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9zZXJ2aWNlL3Byb2R1Y3QtY29ubmVjdG9yLWFkYXB0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUU1RSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFHN0QsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scURBQXFELENBQUM7QUFDdEYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUV2RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRTFDLHlJQUF5STtBQUN6SSxnREFBZ0Q7QUFFaEQsTUFBTSxPQUFPLDhCQUE4QjtJQVN2QztRQVBnQixlQUFVLEdBQXFCLElBQUksT0FBTyxFQUFXLENBQUM7UUFLOUQsZUFBVSxHQUEwQixJQUFJLHFCQUFxQixFQUFFLENBQUM7SUFHeEUsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFWSxhQUFhLENBQUMsT0FBZ0I7O1lBQ3ZDLElBQUks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QVEsQ0FBQyxDQUFDO1FBQ3ZGLENBQUM7S0FBQTtJQUVZLGlCQUFpQjs7WUFDMUIsT0FBTyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQ3JFLENBQUM7S0FBQTs7O1lBeklKLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7QXJ0aWNsZUZ1bGxPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZnVsbC1vYmplY3QnO1xyXG5pbXBvcnQge1N1cGVyQXJ0aWNsZX0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3VwZXItYXJ0aWNsZSc7XHJcbmltcG9ydCB7Q29uZmlndXJhdG9yU3RhdGlzdGljc0Vudmlyb25tZW50fSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9jb25maWd1cmF0b3Itc3RhdGlzdGljcy1lbnZpcm9ubWVudCc7XHJcbmltcG9ydCB7QXJ0aWNsZXN9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL2FydGljbGVzJztcclxuaW1wb3J0IHtPcHRpb25zfSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9tb2RlbC9vcHRpb25zJztcclxuaW1wb3J0IHtEYXRhU2VydmljZVJlc3BvbnNlRGF0YX0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvZGF0YS1zZXJ2aWNlLXJlc3BvbnNlLWRhdGEnO1xyXG5pbXBvcnQge0RlbGl2ZXJ5UHJvZ25vc2lzfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9kZWxpdmVyeS1wcm9nbm9zaXMnO1xyXG5pbXBvcnQge0RvY3VtZW50Q29udGVudH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvZG9jdW1lbnQtY29udGVudCc7XHJcbmltcG9ydCB7QnVzaW5lc3NPYmplY3RGYWN0b3J5fSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9zZXJ2aWNlL2J1c2luZXNzLW9iamVjdC1mYWN0b3J5JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbn0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL3RyYW5zYWN0aW9uJztcclxuaW1wb3J0IHtQcm9kdWN0U2V0dGluZ3NTZXJ2aWNlfSBmcm9tICcuL3Byb2R1Y3Qtc2V0dGluZ3Muc2VydmljZSc7XHJcbmltcG9ydCB7UHJvZHVjdFNldHRpbmdzfSBmcm9tICcuLi9tb2RlbC9wcm9kdWN0U2V0dGluZ3MnO1xyXG5pbXBvcnQge01haW5BcGl9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpJztcclxuXHJcbi8vIFNvbGUgcmVzcG9uc2liaWxpdHkgaXMgc2ltcGx5IHRvIHdyYXAgYXJvdW5kIGEgY29saWpuLkNvbm5lY3RvciB0byBjcmVhdGUgYSBzdGFibGUgaW5uZXIgaW50ZXJmYWNlIHRvIHRoZSBsaWJyYXJ5IGluIGEgMToxIG1ldGhvZCB3YXkuXHJcbi8vIE9ubHkgdG8gYmUgdXNlZCBieSB0aGUgSU9uZUNvbnRyb2xsZXJTZXJ2aWNlLlxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWN0Q29ubmVjdG9yQWRhcHRlclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICAgIHB1YmxpYyByZWFkb25seSBzaG93TG9hZGVyOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBwdWJsaWMgYXJ0aWNsZUNvbm5lY3Rvcj86IEFydGljbGVzO1xyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uQ29ubmVjdG9yOiBUcmFuc2FjdGlvbjtcclxuXHJcbiAgICBwcml2YXRlIF9ib0ZhY3Rvcnk6IEJ1c2luZXNzT2JqZWN0RmFjdG9yeSA9IG5ldyBCdXNpbmVzc09iamVjdEZhY3RvcnkoKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmFydGljbGVDb25uZWN0b3Iuc2hvd0xvYWRlci51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBpbml0Q29ubmVjdG9yKG9wdGlvbnM6IE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICB0aGlzLmFydGljbGVDb25uZWN0b3IgPSBuZXcgQXJ0aWNsZXMob3B0aW9ucyk7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmNvbm5lY3QoKTtcclxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uQ29ubmVjdG9yID0gbmV3IFRyYW5zYWN0aW9uKG9wdGlvbnMpO1xyXG4gICAgICAgIHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5zaG93TG9hZGVyLnN1YnNjcmliZSh2YWx1ZSA9PiB0aGlzLnNob3dMb2FkZXIubmV4dCh2YWx1ZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXRJbnN0YW5jZShpbnN0YW5jZUlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICAvLyB0aGlzLmFydGljbGVDb25uZWN0b3Iuc2V0SW5zdGFuY2VUb0NvbmZpZ3VyZShpbnN0YW5jZUlkLCBmYWxzZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldFByb2R1Y3RCdW5kbGVTZXR0aW5ncyh1cmw6IHN0cmluZywgdXBJZDogbnVtYmVyKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgICAgICBjb25zdCB0ZW1wU2V0dGluZ3M6IFByb2R1Y3RTZXR0aW5ncyA9IG5ldyBQcm9kdWN0U2V0dGluZ3MoKTtcclxuICAgICAgICB0ZW1wU2V0dGluZ3MudXJsID0gdXJsO1xyXG4gICAgICAgIHRlbXBTZXR0aW5ncy5zY2hlbWEgPSB1cElkLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgY29uc3QgdGVtcE1haW5Db25uZWN0b3IgPSBuZXcgTWFpbkFwaSh0ZW1wU2V0dGluZ3MpO1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlOiBhbnkgPSBhd2FpdCB0ZW1wTWFpbkNvbm5lY3Rvci5nZXRQdWJsaWNQYXJhbXModXBJZCk7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5wcm9kdWN0U2V0dGluZ3M7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXREZWxpdmVyeVByb2dub3Npcyhnb29kSWQ6IG51bWJlciwgYnJhbmNoTnI/OiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGNvbnN0IGRlbGl2ZXJ5UHJvZ25vc2lzOiBEZWxpdmVyeVByb2dub3NpcyA9IGF3YWl0IHRoaXMuZ2V0U2VsZWN0b3JEZWxpdmVyeURhdGUoKTtcclxuICAgICAgICBpZiAoIWRlbGl2ZXJ5UHJvZ25vc2lzIHx8ICFkZWxpdmVyeVByb2dub3Npcy5yZXR1cm5WYWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXREZWxpdmVyeURhdGUyKGdvb2RJZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBkZWxpdmVyeVByb2dub3NpcztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0U2VsZWN0b3JEZWxpdmVyeURhdGUoKTogUHJvbWlzZTxEZWxpdmVyeVByb2dub3Npcz4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5nZXRTZWxlY3RvckRlbGl2ZXJ5RGF0ZSgpO1xyXG4gICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoRGVsaXZlcnlQcm9nbm9zaXMsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCkgYXMgdW5rbm93biBhcyBEZWxpdmVyeVByb2dub3NpcztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldEFydFN0b2NrU3RhdHVzKGdvb2RJZDogbnVtYmVyKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgICAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmFydGljbGVDb25uZWN0b3IuZ2V0QXJ0U3RvY2tTdGF0dXMoZ29vZElkKTtcclxuICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnJlc3VsdE9iamVjdDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldERlbGl2ZXJ5RGF0ZTIoZ29vZElkOiBudW1iZXIpOiBQcm9taXNlPERlbGl2ZXJ5UHJvZ25vc2lzPiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldERlbGl2ZXJ5RGF0ZTIoZ29vZElkKTtcclxuICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKERlbGl2ZXJ5UHJvZ25vc2lzLCByZXNwb25zZS5yZXN1bHRPYmplY3QpIGFzIHVua25vd24gYXMgRGVsaXZlcnlQcm9nbm9zaXM7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRKc29uQ29uZmlndXJlZEFydGljbGVzKGNvbmZpZ3VyYXRvclN0YXRpc3RpY3M/OiBDb25maWd1cmF0b3JTdGF0aXN0aWNzRW52aXJvbm1lbnQpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5nZXRKc29uQ29uZmlndXJlZEFydGljbGVzKGNvbmZpZ3VyYXRvclN0YXRpc3RpY3MpO1xyXG4gICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0T2JqZWN0O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldEpzb25BcnRpY2xlRmxhdFRyZWUoXHJcbiAgICAgICAgZ29vZElkOiBudW1iZXIsXHJcbiAgICAgICAgZ29vZFR5cGU6IHN0cmluZyxcclxuICAgICAgICBxdWFudGl0eTogbnVtYmVyLFxyXG4gICAgICAgIHNob3dMb2FkZXI6IGJvb2xlYW4gPSB0cnVlLFxyXG4gICAgICAgIGluc3RhbmNlSWQ/OiBhbnksXHJcbiAgICAgICAgY29uZmlndXJhdG9yU3RhdGlzdGljcz86IENvbmZpZ3VyYXRvclN0YXRpc3RpY3NFbnZpcm9ubWVudFxyXG4gICAgKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldEpzb25BcnRpY2xlRmxhdFRyZWUoZ29vZElkLCBnb29kVHlwZSwgcXVhbnRpdHksIHNob3dMb2FkZXIsIGluc3RhbmNlSWQsIGNvbmZpZ3VyYXRvclN0YXRpc3RpY3MpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRHb29kSWRGcm9tQXJ0aWNsZU5yKHNrdTogc3RyaW5nKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgICAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmFydGljbGVDb25uZWN0b3IuZ2V0R29vZElkRnJvbUFydGljbGVOcihza3UpO1xyXG4gICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0T2JqZWN0O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0QXJ0aWNsZUZ1bGxPYmplY3QoZ29vZElkOiBudW1iZXIpOiBQcm9taXNlPEFydGljbGVGdWxsT2JqZWN0PiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldEFydGljbGVGdWxsT2JqZWN0KGdvb2RJZCk7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShBcnRpY2xlRnVsbE9iamVjdCwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KSBhcyBBcnRpY2xlRnVsbE9iamVjdDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldFN1cGVyQXJ0aWNsZShpZDogc3RyaW5nLCBicmFuY2g/OiBzdHJpbmcpOiBQcm9taXNlPFN1cGVyQXJ0aWNsZT4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5nZXRTdXBlckFydGljbGVRdWlja1NlbChpZCwgYnJhbmNoKTtcclxuICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFN1cGVyQXJ0aWNsZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KSBhcyBTdXBlckFydGljbGU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXREb2N1bWVudENvbnRlbnQoZG9jSWQ6IG51bWJlciwgdGh1bWJuYWlsOiBib29sZWFuID0gdHJ1ZSk6IFByb21pc2U8RG9jdW1lbnRDb250ZW50PiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldERvY3VtZW50Q29udGVudChkb2NJZCwgdGh1bWJuYWlsKTtcclxuICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKERvY3VtZW50Q29udGVudCwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KSBhcyB1bmtub3duIGFzIERvY3VtZW50Q29udGVudDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGFkZFdlYlNlc3Npb25UcmFuc2FjdGlvbkxpbmUoc2t1OiBzdHJpbmcsIHF1YW50aXR5OiBudW1iZXIpOiBQcm9taXNlPERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhPiB7XHJcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMudHJhbnNhY3Rpb25Db25uZWN0b3IuYWRkV2ViU2Vzc2lvblRyYW5zYWN0aW9uTGluZShza3UsIHF1YW50aXR5KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0V2ViVHJhbnNhY3Rpb24oKTogUHJvbWlzZTxEYXRhU2VydmljZVJlc3BvbnNlRGF0YT4ge1xyXG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uQ29ubmVjdG9yLmdldFdlYlNlc3Npb25TYWxlc09yZGVyKCk7XHJcbiAgICB9XHJcbn1cclxuIl19
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1jb25uZWN0b3ItYWRhcHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9zZXJ2aWNlL3Byb2R1Y3QtY29ubmVjdG9yLWFkYXB0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUU1RSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFHN0QsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scURBQXFELENBQUM7QUFDdEYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUV2RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzFDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLG1FQUFtRSxDQUFDO0FBQzFHLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUdyRix5SUFBeUk7QUFDekksZ0RBQWdEO0FBRWhELE1BQU0sT0FBTyw4QkFBOEI7SUFTdkM7UUFQZ0IsZUFBVSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBSzlELGVBQVUsR0FBMEIsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO0lBR3hFLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFB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QUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUErQixDQUFDO2FBQ3ZIO2lCQUFNO2dCQUNILE9BQU8sSUFBSSxDQUFDO2FBQ2Y7UUFDTCxDQUFDO0tBQUE7SUFFWSw0QkFBNEIsQ0FBQyxlQUF1QixFQUFFLEdBQVcsRUFBRSxRQUFnQjs7WUFDNUYsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLDRCQUE0QixDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDdkksSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzVFLE1BQU0sWUFBWSxHQUE0QixJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQTRCLENBQUM7Z0JBQ2hLLE9BQU8sWUFBWSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7YUFDNUM7WUFDRCxPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7S0FBQTs7O1lBaEpKLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7QXJ0aWNsZUZ1bGxPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZnVsbC1vYmplY3QnO1xyXG5pbXBvcnQge1N1cGVyQXJ0aWNsZX0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3VwZXItYXJ0aWNsZSc7XHJcbmltcG9ydCB7Q29uZmlndXJhdG9yU3RhdGlzdGljc0Vudmlyb25tZW50fSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9jb25maWd1cmF0b3Itc3RhdGlzdGljcy1lbnZpcm9ubWVudCc7XHJcbmltcG9ydCB7QXJ0aWNsZXN9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL2FydGljbGVzJztcclxuaW1wb3J0IHtPcHRpb25zfSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9tb2RlbC9vcHRpb25zJztcclxuaW1wb3J0IHtEYXRhU2VydmljZVJlc3BvbnNlRGF0YX0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvZGF0YS1zZXJ2aWNlLXJlc3BvbnNlLWRhdGEnO1xyXG5pbXBvcnQge0RlbGl2ZXJ5UHJvZ25vc2lzfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9kZWxpdmVyeS1wcm9nbm9zaXMnO1xyXG5pbXBvcnQge0RvY3VtZW50Q29udGVudH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvZG9jdW1lbnQtY29udGVudCc7XHJcbmltcG9ydCB7QnVzaW5lc3NPYmplY3RGYWN0b3J5fSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9zZXJ2aWNlL2J1c2luZXNzLW9iamVjdC1mYWN0b3J5JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbn0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL3RyYW5zYWN0aW9uJztcclxuaW1wb3J0IHtQcm9kdWN0U2V0dGluZ3NTZXJ2aWNlfSBmcm9tICcuL3Byb2R1Y3Qtc2V0dGluZ3Muc2VydmljZSc7XHJcbmltcG9ydCB7UHJvZHVjdFNldHRpbmdzfSBmcm9tICcuLi9tb2RlbC9wcm9kdWN0U2V0dGluZ3MnO1xyXG5pbXBvcnQge01haW5BcGl9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm9SZXNwb25zZX0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWluZm8tcmVzcG9uc2UuYm8nO1xyXG5pbXBvcnQge0FydGljbGVFeHRlbmRlZH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1leHRlbmRlZC5ibyc7XHJcbmltcG9ydCB7QXJ0aWNsZUV4dGVuZGVkUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1leHRlbmRlZC1yZXF1ZXN0JztcclxuXHJcbi8vIFNvbGUgcmVzcG9uc2liaWxpdHkgaXMgc2ltcGx5IHRvIHdyYXAgYXJvdW5kIGEgY29saWpuLkNvbm5lY3RvciB0byBjcmVhdGUgYSBzdGFibGUgaW5uZXIgaW50ZXJmYWNlIHRvIHRoZSBsaWJyYXJ5IGluIGEgMToxIG1ldGhvZCB3YXkuXHJcbi8vIE9ubHkgdG8gYmUgdXNlZCBieSB0aGUgSU9uZUNvbnRyb2xsZXJTZXJ2aWNlLlxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWN0Q29ubmVjdG9yQWRhcHRlclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICAgIHB1YmxpYyByZWFkb25seSBzaG93TG9hZGVyOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBwdWJsaWMgYXJ0aWNsZUNvbm5lY3Rvcj86IEFydGljbGVzO1xyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uQ29ubmVjdG9yOiBUcmFuc2FjdGlvbjtcclxuXHJcbiAgICBwcml2YXRlIF9ib0ZhY3Rvcnk6IEJ1c2luZXNzT2JqZWN0RmFjdG9yeSA9IG5ldyBCdXNpbmVzc09iamVjdEZhY3RvcnkoKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmFydGljbGVDb25uZWN0b3Iuc2hvd0xvYWRlci51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBpbml0Q29ubmVjdG9yKG9wdGlvbnM6IE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICB0aGlzLmFydGljbGVDb25uZWN0b3IgPSBuZXcgQXJ0aWNsZXMob3B0aW9ucyk7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmNvbm5lY3QoKTtcclxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uQ29ubmVjdG9yID0gbmV3IFRyYW5zYWN0aW9uKG9wdGlvbnMpO1xyXG4gICAgICAgIHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5zaG93TG9hZGVyLnN1YnNjcmliZSh2YWx1ZSA9PiB0aGlzLnNob3dMb2FkZXIubmV4dCh2YWx1ZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXRJbnN0YW5jZShpbnN0YW5jZUlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICAvLyB0aGlzLmFydGljbGVDb25uZWN0b3Iuc2V0SW5zdGFuY2VUb0NvbmZpZ3VyZShpbnN0YW5jZUlkLCBmYWxzZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldFByb2R1Y3RCdW5kbGVTZXR0aW5ncyh1cmw6IHN0cmluZywgdXBJZDogbnVtYmVyKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgICAgICBjb25zdCB0ZW1wU2V0dGluZ3M6IFByb2R1Y3RTZXR0aW5ncyA9IG5ldyBQcm9kdWN0U2V0dGluZ3MoKTtcclxuICAgICAgICB0ZW1wU2V0dGluZ3MudXJsID0gdXJsO1xyXG4gICAgICAgIHRlbXBTZXR0aW5ncy5zY2hlbWEgPSB1cElkLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgY29uc3QgdGVtcE1haW5Db25uZWN0b3IgPSBuZXcgTWFpbkFwaSh0ZW1wU2V0dGluZ3MpO1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlOiBhbnkgPSBhd2FpdCB0ZW1wTWFpbkNvbm5lY3Rvci5nZXRQdWJsaWNQYXJhbXModXBJZCk7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5wcm9kdWN0U2V0dGluZ3M7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjb252ZXJ0QXJ0aWNsZUZ1bGxPYmplY3RUb0FydGljbGVFeHRlbmRlZChhcnRpY2xlOiBBcnRpY2xlRnVsbE9iamVjdCk6IEFydGljbGVFeHRlbmRlZCB7XHJcbiAgICAgICAgaWYgKGFydGljbGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKEFydGljbGVFeHRlbmRlZCwgYXJ0aWNsZSkgYXMgQXJ0aWNsZUV4dGVuZGVkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0RGVsaXZlcnlQcm9nbm9zaXMoZ29vZElkOiBudW1iZXIsIGJyYW5jaE5yPzogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBjb25zdCBkZWxpdmVyeVByb2dub3NpczogRGVsaXZlcnlQcm9nbm9zaXMgPSBhd2FpdCB0aGlzLmdldFNlbGVjdG9yRGVsaXZlcnlEYXRlKCk7XHJcbiAgICAgICAgaWYgKCFkZWxpdmVyeVByb2dub3NpcyB8fCAhZGVsaXZlcnlQcm9nbm9zaXMucmV0dXJuVmFsdWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RGVsaXZlcnlEYXRlMihnb29kSWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZGVsaXZlcnlQcm9nbm9zaXM7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldFNlbGVjdG9yRGVsaXZlcnlEYXRlKCk6IFByb21pc2U8RGVsaXZlcnlQcm9nbm9zaXM+IHtcclxuICAgICAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmFydGljbGVDb25uZWN0b3IuZ2V0U2VsZWN0b3JEZWxpdmVyeURhdGUoKTtcclxuICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKERlbGl2ZXJ5UHJvZ25vc2lzLCByZXNwb25zZS5yZXN1bHRPYmplY3QpIGFzIHVua25vd24gYXMgRGVsaXZlcnlQcm9nbm9zaXM7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRBcnRTdG9ja1N0YXR1cyhnb29kSWQ6IG51bWJlcik6IFByb21pc2U8bnVtYmVyPiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldEFydFN0b2NrU3RhdHVzKGdvb2RJZCk7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5yZXN1bHRPYmplY3Q7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXREZWxpdmVyeURhdGUyKGdvb2RJZDogbnVtYmVyKTogUHJvbWlzZTxEZWxpdmVyeVByb2dub3Npcz4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5nZXREZWxpdmVyeURhdGUyKGdvb2RJZCk7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShEZWxpdmVyeVByb2dub3NpcywgcmVzcG9uc2UucmVzdWx0T2JqZWN0KSBhcyB1bmtub3duIGFzIERlbGl2ZXJ5UHJvZ25vc2lzO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0SnNvbkNvbmZpZ3VyZWRBcnRpY2xlcyhjb25maWd1cmF0b3JTdGF0aXN0aWNzPzogQ29uZmlndXJhdG9yU3RhdGlzdGljc0Vudmlyb25tZW50KTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgICAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmFydGljbGVDb25uZWN0b3IuZ2V0SnNvbkNvbmZpZ3VyZWRBcnRpY2xlcyhjb25maWd1cmF0b3JTdGF0aXN0aWNzKTtcclxuICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnJlc3VsdE9iamVjdDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRKc29uQXJ0aWNsZUZsYXRUcmVlKFxyXG4gICAgICAgIGdvb2RJZDogbnVtYmVyLFxyXG4gICAgICAgIGdvb2RUeXBlOiBzdHJpbmcsXHJcbiAgICAgICAgcXVhbnRpdHk6IG51bWJlcixcclxuICAgICAgICBzaG93TG9hZGVyOiBib29sZWFuID0gdHJ1ZSxcclxuICAgICAgICBpbnN0YW5jZUlkPzogYW55LFxyXG4gICAgICAgIGNvbmZpZ3VyYXRvclN0YXRpc3RpY3M/OiBDb25maWd1cmF0b3JTdGF0aXN0aWNzRW52aXJvbm1lbnRcclxuICAgICk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5nZXRKc29uQXJ0aWNsZUZsYXRUcmVlKGdvb2RJZCwgZ29vZFR5cGUsIHF1YW50aXR5LCBzaG93TG9hZGVyLCBpbnN0YW5jZUlkLCBjb25maWd1cmF0b3JTdGF0aXN0aWNzKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0R29vZElkRnJvbUFydGljbGVOcihza3U6IHN0cmluZyk6IFByb21pc2U8bnVtYmVyPiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldEdvb2RJZEZyb21BcnRpY2xlTnIoc2t1KTtcclxuICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnJlc3VsdE9iamVjdDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldEFydGljbGVGdWxsT2JqZWN0KGdvb2RJZDogbnVtYmVyKTogUHJvbWlzZTxBcnRpY2xlRnVsbE9iamVjdD4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5nZXRBcnRpY2xlRnVsbE9iamVjdChnb29kSWQpO1xyXG4gICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoQXJ0aWNsZUZ1bGxPYmplY3QsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCkgYXMgQXJ0aWNsZUZ1bGxPYmplY3Q7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRTdXBlckFydGljbGUoaWQ6IHN0cmluZywgYnJhbmNoPzogc3RyaW5nKTogUHJvbWlzZTxTdXBlckFydGljbGU+IHtcclxuICAgICAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmFydGljbGVDb25uZWN0b3IuZ2V0U3VwZXJBcnRpY2xlUXVpY2tTZWwoaWQsIGJyYW5jaCk7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShTdXBlckFydGljbGUsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCkgYXMgU3VwZXJBcnRpY2xlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0RG9jdW1lbnRDb250ZW50KGRvY0lkOiBudW1iZXIsIHRodW1ibmFpbDogYm9vbGVhbiA9IHRydWUpOiBQcm9taXNlPERvY3VtZW50Q29udGVudD4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5nZXREb2N1bWVudENvbnRlbnQoZG9jSWQsIHRodW1ibmFpbCk7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShEb2N1bWVudENvbnRlbnQsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCkgYXMgdW5rbm93biBhcyBEb2N1bWVudENvbnRlbnQ7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBhZGRXZWJTZXNzaW9uVHJhbnNhY3Rpb25MaW5lKHRyYW5zYWN0aW9uVXVpZDogc3RyaW5nLCBza3U6IHN0cmluZywgcXVhbnRpdHk6IG51bWJlcik6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy50cmFuc2FjdGlvbkNvbm5lY3Rvci5hZGRXZWJTZXNzaW9uVHJhbnNhY3Rpb25MaW5lKHRyYW5zYWN0aW9uVXVpZCwgc2t1LCBxdWFudGl0eSk7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGluZm9SZXNwb25zZTogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UgPSB0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KSBhcyBUcmFuc2FjdGlvbkluZm9SZXNwb25zZTtcclxuICAgICAgICAgICAgcmV0dXJuIGluZm9SZXNwb25zZS50cmFuc2FjdGlvbkluZm8udXVpZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICB9XHJcbn1cclxuIl19