@symphony-talent/component-library 3.48.0 → 3.49.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/esm2020/lib/atoms/input-chips/input-chips.component.mjs +3 -3
  2. package/esm2020/lib/atoms/input-editable-text/input-editable-text.component.mjs +36 -6
  3. package/esm2020/lib/atoms/input-editable-text/input-editable-text.model.mjs +1 -1
  4. package/esm2020/lib/molecules/advertise-postingboard-selection-item/advertise-postingboard-selection-item.component.mjs +21 -3
  5. package/esm2020/lib/organisms/advertise-postingboard-selection-list/advertise-postingboard-selection-list.component.mjs +9 -5
  6. package/esm2020/lib/pages/modals/advertise-modal/advertise-modal.component.mjs +41 -28
  7. package/esm2020/lib/pages/modals/advertise-modal/advertise-modal.model.mjs +1 -1
  8. package/esm2020/lib/pages/modals/advertise-modal/advertise-modal.module.mjs +4 -3
  9. package/esm2020/projects/component-library/lib/atoms/input-chips/input-chips.component.mjs +3 -3
  10. package/esm2020/projects/component-library/lib/atoms/input-editable-text/input-editable-text.component.mjs +36 -6
  11. package/esm2020/projects/component-library/lib/atoms/input-editable-text/input-editable-text.model.mjs +1 -1
  12. package/esm2020/projects/component-library/lib/molecules/advertise-postingboard-selection-item/advertise-postingboard-selection-item.component.mjs +21 -3
  13. package/esm2020/projects/component-library/lib/organisms/advertise-postingboard-selection-list/advertise-postingboard-selection-list.component.mjs +9 -5
  14. package/esm2020/projects/component-library/lib/pages/modals/advertise-modal/advertise-modal.component.mjs +41 -28
  15. package/esm2020/projects/component-library/lib/pages/modals/advertise-modal/advertise-modal.model.mjs +1 -1
  16. package/esm2020/projects/component-library/lib/pages/modals/advertise-modal/advertise-modal.module.mjs +4 -3
  17. package/fesm2015/symphony-talent-component-library-projects-component-library.mjs +92 -26
  18. package/fesm2015/symphony-talent-component-library-projects-component-library.mjs.map +1 -1
  19. package/fesm2015/symphony-talent-component-library.mjs +92 -26
  20. package/fesm2015/symphony-talent-component-library.mjs.map +1 -1
  21. package/fesm2020/symphony-talent-component-library-projects-component-library.mjs +92 -26
  22. package/fesm2020/symphony-talent-component-library-projects-component-library.mjs.map +1 -1
  23. package/fesm2020/symphony-talent-component-library.mjs +92 -26
  24. package/fesm2020/symphony-talent-component-library.mjs.map +1 -1
  25. package/lib/atoms/input-editable-text/input-editable-text.component.d.ts +8 -3
  26. package/lib/atoms/input-editable-text/input-editable-text.model.d.ts +3 -0
  27. package/lib/molecules/advertise-postingboard-selection-item/advertise-postingboard-selection-item.component.d.ts +5 -1
  28. package/lib/organisms/advertise-postingboard-selection-list/advertise-postingboard-selection-list.component.d.ts +2 -0
  29. package/lib/pages/modals/advertise-modal/advertise-modal.component.d.ts +3 -1
  30. package/lib/pages/modals/advertise-modal/advertise-modal.model.d.ts +3 -0
  31. package/package.json +1 -1
  32. package/projects/component-library/lib/atoms/input-editable-text/input-editable-text.component.d.ts +8 -3
  33. package/projects/component-library/lib/atoms/input-editable-text/input-editable-text.model.d.ts +3 -0
  34. package/projects/component-library/lib/molecules/advertise-postingboard-selection-item/advertise-postingboard-selection-item.component.d.ts +5 -1
  35. package/projects/component-library/lib/organisms/advertise-postingboard-selection-list/advertise-postingboard-selection-list.component.d.ts +2 -0
  36. package/projects/component-library/lib/pages/modals/advertise-modal/advertise-modal.component.d.ts +3 -1
  37. package/projects/component-library/lib/pages/modals/advertise-modal/advertise-modal.model.d.ts +3 -0
@@ -6,15 +6,27 @@ import * as i3 from "@angular/common";
6
6
  export class AdvertisePostingboardSelectionItemComponent {
7
7
  constructor() {
8
8
  this.priceChange = new EventEmitter();
9
+ this.validationChange = new EventEmitter();
10
+ this.editModeChange = new EventEmitter();
9
11
  this.postingBoardSelect = new EventEmitter();
10
12
  }
11
13
  ngOnInit() {
12
14
  this.mapModel();
13
15
  }
14
16
  onBoardPriceChange(priceChangeEvent) {
17
+ this.model.isInEditMode = priceChangeEvent.isInEditMode;
15
18
  this.model.boardPrice = +priceChangeEvent.value;
16
19
  this.priceChange.emit(this.model);
17
20
  }
21
+ onBoardValidateChange(validateChange) {
22
+ this.model.isInEditMode = validateChange.isInEditMode;
23
+ this.model.isInvalid = validateChange.isInvalid;
24
+ this.validationChange.emit(this.model);
25
+ }
26
+ onBoardEditMode(editModeChange) {
27
+ this.model.isInEditMode = editModeChange.isInEditMode;
28
+ this.editModeChange.emit(this.model);
29
+ }
18
30
  onPostingBoardSelect(postingBoardSelectEvent) {
19
31
  this.model.isSelected = postingBoardSelectEvent.isActive;
20
32
  this.postingBoardSelect.emit(this.model);
@@ -27,20 +39,26 @@ export class AdvertisePostingboardSelectionItemComponent {
27
39
  isEditable: this.model.isEditable,
28
40
  isInEditMode: this.model.isInEditMode,
29
41
  id: this.model.id,
42
+ minValue: this.model.minValue,
43
+ maxValue: this.model.maxValue
30
44
  };
31
45
  }
32
46
  }
33
47
  }
34
48
  AdvertisePostingboardSelectionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertisePostingboardSelectionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
35
- AdvertisePostingboardSelectionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: AdvertisePostingboardSelectionItemComponent, selector: "symphony-advertise-postingboard-selection-item", inputs: { model: "model" }, outputs: { priceChange: "priceChange", postingBoardSelect: "postingBoardSelect" }, ngImport: i0, template: "<div *ngIf=\"model && model.isVisible\" class=\"posting-board-selection-item\">\n <div class=\"inline-block\">\n <symphony-input-checkbox\n [label]=\"model.boardName\"\n [isActive]=\"model.isSelected\"\n (clicked)=\"onPostingBoardSelect($event)\"\n ></symphony-input-checkbox>\n </div>\n <div class=\"inline-block editText\">\n <symphony-input-editable-text\n [model]=\"editableTextModel\"\n (confirm)=\"onBoardPriceChange($event)\"\n ></symphony-input-editable-text>\n </div>\n</div>\n", styles: [".posting-board-selection-item{position:relative;padding-right:100px}.posting-board-selection-item .editText{position:absolute;right:0}.inline-block{display:inline-block}\n"], components: [{ type: i1.InputCheckboxComponent, selector: "symphony-input-checkbox", inputs: ["isActive", "label", "isRequired"], outputs: ["clicked"] }, { type: i2.InputEditableTextComponent, selector: "symphony-input-editable-text", inputs: ["model", "type"], outputs: ["confirm"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
49
+ AdvertisePostingboardSelectionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: AdvertisePostingboardSelectionItemComponent, selector: "symphony-advertise-postingboard-selection-item", inputs: { model: "model" }, outputs: { priceChange: "priceChange", validationChange: "validationChange", editModeChange: "editModeChange", postingBoardSelect: "postingBoardSelect" }, ngImport: i0, template: "<div *ngIf=\"model && model.isVisible\" class=\"posting-board-selection-item\">\n <div class=\"inline-block\">\n <symphony-input-checkbox\n [label]=\"model.boardName\"\n [isActive]=\"model.isSelected\"\n (clicked)=\"onPostingBoardSelect($event)\"\n ></symphony-input-checkbox>\n </div>\n <div class=\"inline-block editText\">\n <symphony-input-editable-text\n [model]=\"editableTextModel\"\n (confirm)=\"onBoardPriceChange($event)\"\n (validate)=\"onBoardValidateChange($event)\"\n (editMode)=\"onBoardEditMode($event)\"\n ></symphony-input-editable-text>\n </div>\n</div>\n", styles: [".posting-board-selection-item{position:relative;padding-right:100px}.posting-board-selection-item .editText{position:absolute;right:0}.inline-block{display:inline-block}\n"], components: [{ type: i1.InputCheckboxComponent, selector: "symphony-input-checkbox", inputs: ["isActive", "label", "isRequired"], outputs: ["clicked"] }, { type: i2.InputEditableTextComponent, selector: "symphony-input-editable-text", inputs: ["model", "type"], outputs: ["confirm", "validate", "editMode"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
36
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertisePostingboardSelectionItemComponent, decorators: [{
37
51
  type: Component,
38
- args: [{ selector: 'symphony-advertise-postingboard-selection-item', template: "<div *ngIf=\"model && model.isVisible\" class=\"posting-board-selection-item\">\n <div class=\"inline-block\">\n <symphony-input-checkbox\n [label]=\"model.boardName\"\n [isActive]=\"model.isSelected\"\n (clicked)=\"onPostingBoardSelect($event)\"\n ></symphony-input-checkbox>\n </div>\n <div class=\"inline-block editText\">\n <symphony-input-editable-text\n [model]=\"editableTextModel\"\n (confirm)=\"onBoardPriceChange($event)\"\n ></symphony-input-editable-text>\n </div>\n</div>\n", styles: [".posting-board-selection-item{position:relative;padding-right:100px}.posting-board-selection-item .editText{position:absolute;right:0}.inline-block{display:inline-block}\n"] }]
52
+ args: [{ selector: 'symphony-advertise-postingboard-selection-item', template: "<div *ngIf=\"model && model.isVisible\" class=\"posting-board-selection-item\">\n <div class=\"inline-block\">\n <symphony-input-checkbox\n [label]=\"model.boardName\"\n [isActive]=\"model.isSelected\"\n (clicked)=\"onPostingBoardSelect($event)\"\n ></symphony-input-checkbox>\n </div>\n <div class=\"inline-block editText\">\n <symphony-input-editable-text\n [model]=\"editableTextModel\"\n (confirm)=\"onBoardPriceChange($event)\"\n (validate)=\"onBoardValidateChange($event)\"\n (editMode)=\"onBoardEditMode($event)\"\n ></symphony-input-editable-text>\n </div>\n</div>\n", styles: [".posting-board-selection-item{position:relative;padding-right:100px}.posting-board-selection-item .editText{position:absolute;right:0}.inline-block{display:inline-block}\n"] }]
39
53
  }], ctorParameters: function () { return []; }, propDecorators: { model: [{
40
54
  type: Input
41
55
  }], priceChange: [{
42
56
  type: Output
57
+ }], validationChange: [{
58
+ type: Output
59
+ }], editModeChange: [{
60
+ type: Output
43
61
  }], postingBoardSelect: [{
44
62
  type: Output
45
63
  }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2ZXJ0aXNlLXBvc3Rpbmdib2FyZC1zZWxlY3Rpb24taXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL21vbGVjdWxlcy9hZHZlcnRpc2UtcG9zdGluZ2JvYXJkLXNlbGVjdGlvbi1pdGVtL2FkdmVydGlzZS1wb3N0aW5nYm9hcmQtc2VsZWN0aW9uLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9tb2xlY3VsZXMvYWR2ZXJ0aXNlLXBvc3Rpbmdib2FyZC1zZWxlY3Rpb24taXRlbS9hZHZlcnRpc2UtcG9zdGluZ2JvYXJkLXNlbGVjdGlvbi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBVS9FLE1BQU0sT0FBTywyQ0FBMkM7SUFTdEQ7UUFOVSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUErQixDQUFDO1FBQzlELHVCQUFrQixHQUMxQixJQUFJLFlBQVksRUFBK0IsQ0FBQztJQUluQyxDQUFDO0lBRWhCLFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELGtCQUFrQixDQUFDLGdCQUF3QztRQUN6RCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQztRQUNoRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELG9CQUFvQixDQUFDLHVCQUEyQztRQUM5RCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyx1QkFBdUIsQ0FBQyxRQUFRLENBQUM7UUFDekQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxJQUFJLENBQUMsaUJBQWlCLEdBQUc7Z0JBQ3ZCLFNBQVMsRUFBRSxHQUFHO2dCQUNkLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUU7Z0JBQ3hDLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVU7Z0JBQ2pDLFlBQVksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVk7Z0JBQ3JDLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7YUFDbEIsQ0FBQztTQUNIO0lBQ0gsQ0FBQzs7d0lBbkNVLDJDQUEyQzs0SEFBM0MsMkNBQTJDLHFNQ1Z4RCxpaEJBZUE7MkZETGEsMkNBQTJDO2tCQUx2RCxTQUFTOytCQUNFLGdEQUFnRDswRUFLakQsS0FBSztzQkFBYixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5wdXRDaGVja2JveE1vZGVsIH0gZnJvbSAnLi4vLi4vYXRvbXMvaW5wdXQtY2hlY2tib3gvaW5wdXQtY2hlY2tib3gubW9kZWwnO1xuaW1wb3J0IHsgSW5wdXRFZGl0YWJsZVRleHRNb2RlbCB9IGZyb20gJy4uLy4uL2F0b21zL2lucHV0LWVkaXRhYmxlLXRleHQvaW5wdXQtZWRpdGFibGUtdGV4dC5tb2RlbCc7XG5pbXBvcnQgeyBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi9wYWdlcy9tb2RhbHMvYWR2ZXJ0aXNlLW1vZGFsL2FkdmVydGlzZS1tb2RhbC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N5bXBob255LWFkdmVydGlzZS1wb3N0aW5nYm9hcmQtc2VsZWN0aW9uLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vYWR2ZXJ0aXNlLXBvc3Rpbmdib2FyZC1zZWxlY3Rpb24taXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FkdmVydGlzZS1wb3N0aW5nYm9hcmQtc2VsZWN0aW9uLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQWR2ZXJ0aXNlUG9zdGluZ2JvYXJkU2VsZWN0aW9uSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIG1vZGVsOiBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWw7XG5cbiAgQE91dHB1dCgpIHByaWNlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWw+KCk7XG4gIEBPdXRwdXQoKSBwb3N0aW5nQm9hcmRTZWxlY3QgPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8UG9zdGluZ0JvYXJkc1NlbGVjdGlvbk1vZGVsPigpO1xuXG4gIHB1YmxpYyBlZGl0YWJsZVRleHRNb2RlbDogSW5wdXRFZGl0YWJsZVRleHRNb2RlbDtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tYXBNb2RlbCgpO1xuICB9XG5cbiAgb25Cb2FyZFByaWNlQ2hhbmdlKHByaWNlQ2hhbmdlRXZlbnQ6IElucHV0RWRpdGFibGVUZXh0TW9kZWwpIHtcbiAgICB0aGlzLm1vZGVsLmJvYXJkUHJpY2UgPSArcHJpY2VDaGFuZ2VFdmVudC52YWx1ZTtcbiAgICB0aGlzLnByaWNlQ2hhbmdlLmVtaXQodGhpcy5tb2RlbCk7XG4gIH1cblxuICBvblBvc3RpbmdCb2FyZFNlbGVjdChwb3N0aW5nQm9hcmRTZWxlY3RFdmVudDogSW5wdXRDaGVja2JveE1vZGVsKSB7XG4gICAgdGhpcy5tb2RlbC5pc1NlbGVjdGVkID0gcG9zdGluZ0JvYXJkU2VsZWN0RXZlbnQuaXNBY3RpdmU7XG4gICAgdGhpcy5wb3N0aW5nQm9hcmRTZWxlY3QuZW1pdCh0aGlzLm1vZGVsKTtcbiAgfVxuXG4gIG1hcE1vZGVsKCkge1xuICAgIGlmICh0aGlzLm1vZGVsKSB7XG4gICAgICB0aGlzLmVkaXRhYmxlVGV4dE1vZGVsID0ge1xuICAgICAgICBpbnB1dE1hc2s6ICckJyxcbiAgICAgICAgdmFsdWU6IHRoaXMubW9kZWwuYm9hcmRQcmljZT8udG9TdHJpbmcoKSxcbiAgICAgICAgaXNFZGl0YWJsZTogdGhpcy5tb2RlbC5pc0VkaXRhYmxlLFxuICAgICAgICBpc0luRWRpdE1vZGU6IHRoaXMubW9kZWwuaXNJbkVkaXRNb2RlLFxuICAgICAgICBpZDogdGhpcy5tb2RlbC5pZCxcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwibW9kZWwgJiYgbW9kZWwuaXNWaXNpYmxlXCIgY2xhc3M9XCJwb3N0aW5nLWJvYXJkLXNlbGVjdGlvbi1pdGVtXCI+XG4gIDxkaXYgY2xhc3M9XCJpbmxpbmUtYmxvY2tcIj5cbiAgICA8c3ltcGhvbnktaW5wdXQtY2hlY2tib3hcbiAgICAgIFtsYWJlbF09XCJtb2RlbC5ib2FyZE5hbWVcIlxuICAgICAgW2lzQWN0aXZlXT1cIm1vZGVsLmlzU2VsZWN0ZWRcIlxuICAgICAgKGNsaWNrZWQpPVwib25Qb3N0aW5nQm9hcmRTZWxlY3QoJGV2ZW50KVwiXG4gICAgPjwvc3ltcGhvbnktaW5wdXQtY2hlY2tib3g+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiaW5saW5lLWJsb2NrIGVkaXRUZXh0XCI+XG4gICAgPHN5bXBob255LWlucHV0LWVkaXRhYmxlLXRleHRcbiAgICAgIFttb2RlbF09XCJlZGl0YWJsZVRleHRNb2RlbFwiXG4gICAgICAoY29uZmlybSk9XCJvbkJvYXJkUHJpY2VDaGFuZ2UoJGV2ZW50KVwiXG4gICAgPjwvc3ltcGhvbnktaW5wdXQtZWRpdGFibGUtdGV4dD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2ZXJ0aXNlLXBvc3Rpbmdib2FyZC1zZWxlY3Rpb24taXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL21vbGVjdWxlcy9hZHZlcnRpc2UtcG9zdGluZ2JvYXJkLXNlbGVjdGlvbi1pdGVtL2FkdmVydGlzZS1wb3N0aW5nYm9hcmQtc2VsZWN0aW9uLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9tb2xlY3VsZXMvYWR2ZXJ0aXNlLXBvc3Rpbmdib2FyZC1zZWxlY3Rpb24taXRlbS9hZHZlcnRpc2UtcG9zdGluZ2JvYXJkLXNlbGVjdGlvbi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBVS9FLE1BQU0sT0FBTywyQ0FBMkM7SUFZdEQ7UUFUVSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUErQixDQUFDO1FBQzlELHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUErQixDQUFDO1FBQ25FLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQStCLENBQUM7UUFDakUsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBRTVDLENBQUM7SUFJVyxDQUFDO0lBRWhCLFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELGtCQUFrQixDQUFDLGdCQUF3QztRQUN6RCxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUM7UUFDeEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7UUFDaEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxjQUFzQztRQUMxRCxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxjQUFjLENBQUMsWUFBWSxDQUFDO1FBQ3RELElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQyxTQUFTLENBQUM7UUFDaEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELGVBQWUsQ0FBQyxjQUFzQztRQUNwRCxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxjQUFjLENBQUMsWUFBWSxDQUFDO1FBQ3RELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsdUJBQTJDO1FBQzlELElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLHVCQUF1QixDQUFDLFFBQVEsQ0FBQztRQUN6RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxpQkFBaUIsR0FBRztnQkFDdkIsU0FBUyxFQUFFLEdBQUc7Z0JBQ2QsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRTtnQkFDeEMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVTtnQkFDakMsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWTtnQkFDckMsRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUTtnQkFDN0IsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUTthQUM5QixDQUFDO1NBQ0g7SUFDSCxDQUFDOzt3SUFwRFUsMkNBQTJDOzRIQUEzQywyQ0FBMkMsNlFDVnhELG1uQkFpQkE7MkZEUGEsMkNBQTJDO2tCQUx2RCxTQUFTOytCQUNFLGdEQUFnRDswRUFLakQsS0FBSztzQkFBYixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5wdXRDaGVja2JveE1vZGVsIH0gZnJvbSAnLi4vLi4vYXRvbXMvaW5wdXQtY2hlY2tib3gvaW5wdXQtY2hlY2tib3gubW9kZWwnO1xuaW1wb3J0IHsgSW5wdXRFZGl0YWJsZVRleHRNb2RlbCB9IGZyb20gJy4uLy4uL2F0b21zL2lucHV0LWVkaXRhYmxlLXRleHQvaW5wdXQtZWRpdGFibGUtdGV4dC5tb2RlbCc7XG5pbXBvcnQgeyBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi9wYWdlcy9tb2RhbHMvYWR2ZXJ0aXNlLW1vZGFsL2FkdmVydGlzZS1tb2RhbC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N5bXBob255LWFkdmVydGlzZS1wb3N0aW5nYm9hcmQtc2VsZWN0aW9uLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vYWR2ZXJ0aXNlLXBvc3Rpbmdib2FyZC1zZWxlY3Rpb24taXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FkdmVydGlzZS1wb3N0aW5nYm9hcmQtc2VsZWN0aW9uLWl0ZW0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBZHZlcnRpc2VQb3N0aW5nYm9hcmRTZWxlY3Rpb25JdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbW9kZWw6IFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbDtcblxuICBAT3V0cHV0KCkgcHJpY2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbD4oKTtcbiAgQE91dHB1dCgpIHZhbGlkYXRpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbD4oKTtcbiAgQE91dHB1dCgpIGVkaXRNb2RlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWw+KCk7XG4gIEBPdXRwdXQoKSBwb3N0aW5nQm9hcmRTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPFxuICAgIFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbFxuICA+KCk7XG5cbiAgcHVibGljIGVkaXRhYmxlVGV4dE1vZGVsOiBJbnB1dEVkaXRhYmxlVGV4dE1vZGVsO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1hcE1vZGVsKCk7XG4gIH1cblxuICBvbkJvYXJkUHJpY2VDaGFuZ2UocHJpY2VDaGFuZ2VFdmVudDogSW5wdXRFZGl0YWJsZVRleHRNb2RlbCkge1xuICAgIHRoaXMubW9kZWwuaXNJbkVkaXRNb2RlID0gcHJpY2VDaGFuZ2VFdmVudC5pc0luRWRpdE1vZGU7XG4gICAgdGhpcy5tb2RlbC5ib2FyZFByaWNlID0gK3ByaWNlQ2hhbmdlRXZlbnQudmFsdWU7XG4gICAgdGhpcy5wcmljZUNoYW5nZS5lbWl0KHRoaXMubW9kZWwpO1xuICB9XG5cbiAgb25Cb2FyZFZhbGlkYXRlQ2hhbmdlKHZhbGlkYXRlQ2hhbmdlOiBJbnB1dEVkaXRhYmxlVGV4dE1vZGVsKSB7XG4gICAgdGhpcy5tb2RlbC5pc0luRWRpdE1vZGUgPSB2YWxpZGF0ZUNoYW5nZS5pc0luRWRpdE1vZGU7XG4gICAgdGhpcy5tb2RlbC5pc0ludmFsaWQgPSB2YWxpZGF0ZUNoYW5nZS5pc0ludmFsaWQ7XG4gICAgdGhpcy52YWxpZGF0aW9uQ2hhbmdlLmVtaXQodGhpcy5tb2RlbCk7XG4gIH1cblxuICBvbkJvYXJkRWRpdE1vZGUoZWRpdE1vZGVDaGFuZ2U6IElucHV0RWRpdGFibGVUZXh0TW9kZWwpIHtcbiAgICB0aGlzLm1vZGVsLmlzSW5FZGl0TW9kZSA9IGVkaXRNb2RlQ2hhbmdlLmlzSW5FZGl0TW9kZTtcbiAgICB0aGlzLmVkaXRNb2RlQ2hhbmdlLmVtaXQodGhpcy5tb2RlbCk7XG4gIH1cblxuICBvblBvc3RpbmdCb2FyZFNlbGVjdChwb3N0aW5nQm9hcmRTZWxlY3RFdmVudDogSW5wdXRDaGVja2JveE1vZGVsKSB7XG4gICAgdGhpcy5tb2RlbC5pc1NlbGVjdGVkID0gcG9zdGluZ0JvYXJkU2VsZWN0RXZlbnQuaXNBY3RpdmU7XG4gICAgdGhpcy5wb3N0aW5nQm9hcmRTZWxlY3QuZW1pdCh0aGlzLm1vZGVsKTtcbiAgfVxuXG4gIG1hcE1vZGVsKCkge1xuICAgIGlmICh0aGlzLm1vZGVsKSB7XG4gICAgICB0aGlzLmVkaXRhYmxlVGV4dE1vZGVsID0ge1xuICAgICAgICBpbnB1dE1hc2s6ICckJyxcbiAgICAgICAgdmFsdWU6IHRoaXMubW9kZWwuYm9hcmRQcmljZT8udG9TdHJpbmcoKSxcbiAgICAgICAgaXNFZGl0YWJsZTogdGhpcy5tb2RlbC5pc0VkaXRhYmxlLFxuICAgICAgICBpc0luRWRpdE1vZGU6IHRoaXMubW9kZWwuaXNJbkVkaXRNb2RlLFxuICAgICAgICBpZDogdGhpcy5tb2RlbC5pZCxcbiAgICAgICAgbWluVmFsdWU6IHRoaXMubW9kZWwubWluVmFsdWUsXG4gICAgICAgIG1heFZhbHVlOiB0aGlzLm1vZGVsLm1heFZhbHVlXG4gICAgICB9O1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cIm1vZGVsICYmIG1vZGVsLmlzVmlzaWJsZVwiIGNsYXNzPVwicG9zdGluZy1ib2FyZC1zZWxlY3Rpb24taXRlbVwiPlxuICA8ZGl2IGNsYXNzPVwiaW5saW5lLWJsb2NrXCI+XG4gICAgPHN5bXBob255LWlucHV0LWNoZWNrYm94XG4gICAgICBbbGFiZWxdPVwibW9kZWwuYm9hcmROYW1lXCJcbiAgICAgIFtpc0FjdGl2ZV09XCJtb2RlbC5pc1NlbGVjdGVkXCJcbiAgICAgIChjbGlja2VkKT1cIm9uUG9zdGluZ0JvYXJkU2VsZWN0KCRldmVudClcIlxuICAgID48L3N5bXBob255LWlucHV0LWNoZWNrYm94PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImlubGluZS1ibG9jayBlZGl0VGV4dFwiPlxuICAgIDxzeW1waG9ueS1pbnB1dC1lZGl0YWJsZS10ZXh0XG4gICAgICBbbW9kZWxdPVwiZWRpdGFibGVUZXh0TW9kZWxcIlxuICAgICAgKGNvbmZpcm0pPVwib25Cb2FyZFByaWNlQ2hhbmdlKCRldmVudClcIlxuICAgICAgKHZhbGlkYXRlKT1cIm9uQm9hcmRWYWxpZGF0ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChlZGl0TW9kZSk9XCJvbkJvYXJkRWRpdE1vZGUoJGV2ZW50KVwiXG4gICAgPjwvc3ltcGhvbnktaW5wdXQtZWRpdGFibGUtdGV4dD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -7,22 +7,26 @@ export class AdvertisePostingboardSelectionListComponent {
7
7
  this.postingBoardChange = new EventEmitter();
8
8
  }
9
9
  onPostingBoardSelect(selectedBoard) {
10
- console.log('onPostingBoardSelect');
11
10
  this.postingBoardChange.emit(selectedBoard);
12
11
  }
13
12
  onPriceChange(priceChangeBoard) {
14
- console.log('onPriceChange');
15
13
  this.postingBoardChange.emit(priceChangeBoard);
16
14
  }
15
+ onValidationChange(validationChangeBoard) {
16
+ this.postingBoardChange.emit(validationChangeBoard);
17
+ }
18
+ onEditModeChange(editModeChangeBoard) {
19
+ this.postingBoardChange.emit(editModeChangeBoard);
20
+ }
17
21
  }
18
22
  AdvertisePostingboardSelectionListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertisePostingboardSelectionListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
- AdvertisePostingboardSelectionListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: AdvertisePostingboardSelectionListComponent, selector: "symphony-advertise-postingboard-selection-list", inputs: { model: "model" }, outputs: { postingBoardChange: "postingBoardChange" }, ngImport: i0, template: "<symphony-advertise-postingboard-selection-item\n *ngFor=\"let item of model\"\n [model]=\"item\"\n (postingBoardSelect)=\"onPostingBoardSelect($event)\"\n (priceChange)=\"onPriceChange($event)\"\n></symphony-advertise-postingboard-selection-item>\n", styles: [""], components: [{ type: i1.AdvertisePostingboardSelectionItemComponent, selector: "symphony-advertise-postingboard-selection-item", inputs: ["model"], outputs: ["priceChange", "postingBoardSelect"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
23
+ AdvertisePostingboardSelectionListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: AdvertisePostingboardSelectionListComponent, selector: "symphony-advertise-postingboard-selection-list", inputs: { model: "model" }, outputs: { postingBoardChange: "postingBoardChange" }, ngImport: i0, template: "<symphony-advertise-postingboard-selection-item\n *ngFor=\"let item of model\"\n [model]=\"item\"\n (postingBoardSelect)=\"onPostingBoardSelect($event)\"\n (priceChange)=\"onPriceChange($event)\"\n (validationChange)=\"onValidationChange($event)\"\n (editModeChange)=\"onEditModeChange($event)\"\n></symphony-advertise-postingboard-selection-item>\n", styles: [""], components: [{ type: i1.AdvertisePostingboardSelectionItemComponent, selector: "symphony-advertise-postingboard-selection-item", inputs: ["model"], outputs: ["priceChange", "validationChange", "editModeChange", "postingBoardSelect"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
20
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertisePostingboardSelectionListComponent, decorators: [{
21
25
  type: Component,
22
- args: [{ selector: 'symphony-advertise-postingboard-selection-list', template: "<symphony-advertise-postingboard-selection-item\n *ngFor=\"let item of model\"\n [model]=\"item\"\n (postingBoardSelect)=\"onPostingBoardSelect($event)\"\n (priceChange)=\"onPriceChange($event)\"\n></symphony-advertise-postingboard-selection-item>\n", styles: [""] }]
26
+ args: [{ selector: 'symphony-advertise-postingboard-selection-list', template: "<symphony-advertise-postingboard-selection-item\n *ngFor=\"let item of model\"\n [model]=\"item\"\n (postingBoardSelect)=\"onPostingBoardSelect($event)\"\n (priceChange)=\"onPriceChange($event)\"\n (validationChange)=\"onValidationChange($event)\"\n (editModeChange)=\"onEditModeChange($event)\"\n></symphony-advertise-postingboard-selection-item>\n", styles: [""] }]
23
27
  }], ctorParameters: function () { return []; }, propDecorators: { model: [{
24
28
  type: Input
25
29
  }], postingBoardChange: [{
26
30
  type: Output
27
31
  }] } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2ZXJ0aXNlLXBvc3Rpbmdib2FyZC1zZWxlY3Rpb24tbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL29yZ2FuaXNtcy9hZHZlcnRpc2UtcG9zdGluZ2JvYXJkLXNlbGVjdGlvbi1saXN0L2FkdmVydGlzZS1wb3N0aW5nYm9hcmQtc2VsZWN0aW9uLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9vcmdhbmlzbXMvYWR2ZXJ0aXNlLXBvc3Rpbmdib2FyZC1zZWxlY3Rpb24tbGlzdC9hZHZlcnRpc2UtcG9zdGluZ2JvYXJkLXNlbGVjdGlvbi1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFTL0UsTUFBTSxPQUFPLDJDQUEyQztJQU10RDtRQUhVLHVCQUFrQixHQUMxQixJQUFJLFlBQVksRUFBK0IsQ0FBQztJQUVuQyxDQUFDO0lBRWhCLG9CQUFvQixDQUFDLGFBQTBDO1FBQzdELE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxhQUFhLENBQUMsZ0JBQTZDO1FBQ3pELE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2pELENBQUM7O3dJQWhCVSwyQ0FBMkM7NEhBQTNDLDJDQUEyQyx5S0NUeEQsK1BBTUE7MkZER2EsMkNBQTJDO2tCQUx2RCxTQUFTOytCQUNFLGdEQUFnRDswRUFLakQsS0FBSztzQkFBYixLQUFLO2dCQUVJLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElucHV0Q2hlY2tib3hNb2RlbCB9IGZyb20gJy4uLy4uL2F0b21zL2lucHV0LWNoZWNrYm94L2lucHV0LWNoZWNrYm94Lm1vZGVsJztcbmltcG9ydCB7IFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJy4uLy4uL3BhZ2VzL21vZGFscy9hZHZlcnRpc2UtbW9kYWwvYWR2ZXJ0aXNlLW1vZGFsLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3ltcGhvbnktYWR2ZXJ0aXNlLXBvc3Rpbmdib2FyZC1zZWxlY3Rpb24tbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZHZlcnRpc2UtcG9zdGluZ2JvYXJkLXNlbGVjdGlvbi1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWR2ZXJ0aXNlLXBvc3Rpbmdib2FyZC1zZWxlY3Rpb24tbGlzdC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBZHZlcnRpc2VQb3N0aW5nYm9hcmRTZWxlY3Rpb25MaXN0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgbW9kZWw6IFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbFtdO1xuXG4gIEBPdXRwdXQoKSBwb3N0aW5nQm9hcmRDaGFuZ2UgPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8UG9zdGluZ0JvYXJkc1NlbGVjdGlvbk1vZGVsPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBvblBvc3RpbmdCb2FyZFNlbGVjdChzZWxlY3RlZEJvYXJkOiBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWwpIHtcbiAgICBjb25zb2xlLmxvZygnb25Qb3N0aW5nQm9hcmRTZWxlY3QnKTtcbiAgICB0aGlzLnBvc3RpbmdCb2FyZENoYW5nZS5lbWl0KHNlbGVjdGVkQm9hcmQpO1xuICB9XG5cbiAgb25QcmljZUNoYW5nZShwcmljZUNoYW5nZUJvYXJkOiBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWwpIHtcbiAgICBjb25zb2xlLmxvZygnb25QcmljZUNoYW5nZScpO1xuICAgIHRoaXMucG9zdGluZ0JvYXJkQ2hhbmdlLmVtaXQocHJpY2VDaGFuZ2VCb2FyZCk7XG4gIH1cbn1cbiIsIjxzeW1waG9ueS1hZHZlcnRpc2UtcG9zdGluZ2JvYXJkLXNlbGVjdGlvbi1pdGVtXG4gICpuZ0Zvcj1cImxldCBpdGVtIG9mIG1vZGVsXCJcbiAgW21vZGVsXT1cIml0ZW1cIlxuICAocG9zdGluZ0JvYXJkU2VsZWN0KT1cIm9uUG9zdGluZ0JvYXJkU2VsZWN0KCRldmVudClcIlxuICAocHJpY2VDaGFuZ2UpPVwib25QcmljZUNoYW5nZSgkZXZlbnQpXCJcbj48L3N5bXBob255LWFkdmVydGlzZS1wb3N0aW5nYm9hcmQtc2VsZWN0aW9uLWl0ZW0+XG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2ZXJ0aXNlLXBvc3Rpbmdib2FyZC1zZWxlY3Rpb24tbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL29yZ2FuaXNtcy9hZHZlcnRpc2UtcG9zdGluZ2JvYXJkLXNlbGVjdGlvbi1saXN0L2FkdmVydGlzZS1wb3N0aW5nYm9hcmQtc2VsZWN0aW9uLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9vcmdhbmlzbXMvYWR2ZXJ0aXNlLXBvc3Rpbmdib2FyZC1zZWxlY3Rpb24tbGlzdC9hZHZlcnRpc2UtcG9zdGluZ2JvYXJkLXNlbGVjdGlvbi1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFTL0UsTUFBTSxPQUFPLDJDQUEyQztJQU90RDtRQUpVLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUU1QyxDQUFDO0lBRVcsQ0FBQztJQUVoQixvQkFBb0IsQ0FBQyxhQUEwQztRQUM3RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxhQUFhLENBQUMsZ0JBQTZDO1FBQ3pELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsa0JBQWtCLENBQUMscUJBQWtEO1FBQ25FLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsbUJBQWdEO1FBQy9ELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNwRCxDQUFDOzt3SUF2QlUsMkNBQTJDOzRIQUEzQywyQ0FBMkMseUtDVHhELHFXQVFBOzJGRENhLDJDQUEyQztrQkFMdkQsU0FBUzsrQkFDRSxnREFBZ0Q7MEVBS2pELEtBQUs7c0JBQWIsS0FBSztnQkFFSSxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnB1dENoZWNrYm94TW9kZWwgfSBmcm9tICcuLi8uLi9hdG9tcy9pbnB1dC1jaGVja2JveC9pbnB1dC1jaGVja2JveC5tb2RlbCc7XG5pbXBvcnQgeyBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi9wYWdlcy9tb2RhbHMvYWR2ZXJ0aXNlLW1vZGFsL2FkdmVydGlzZS1tb2RhbC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N5bXBob255LWFkdmVydGlzZS1wb3N0aW5nYm9hcmQtc2VsZWN0aW9uLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWR2ZXJ0aXNlLXBvc3Rpbmdib2FyZC1zZWxlY3Rpb24tbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FkdmVydGlzZS1wb3N0aW5nYm9hcmQtc2VsZWN0aW9uLWxpc3QuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBZHZlcnRpc2VQb3N0aW5nYm9hcmRTZWxlY3Rpb25MaXN0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgbW9kZWw6IFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbFtdO1xuXG4gIEBPdXRwdXQoKSBwb3N0aW5nQm9hcmRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFxuICAgIFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbFxuICA+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG9uUG9zdGluZ0JvYXJkU2VsZWN0KHNlbGVjdGVkQm9hcmQ6IFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbCkge1xuICAgIHRoaXMucG9zdGluZ0JvYXJkQ2hhbmdlLmVtaXQoc2VsZWN0ZWRCb2FyZCk7XG4gIH1cblxuICBvblByaWNlQ2hhbmdlKHByaWNlQ2hhbmdlQm9hcmQ6IFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbCkge1xuICAgIHRoaXMucG9zdGluZ0JvYXJkQ2hhbmdlLmVtaXQocHJpY2VDaGFuZ2VCb2FyZCk7XG4gIH1cblxuICBvblZhbGlkYXRpb25DaGFuZ2UodmFsaWRhdGlvbkNoYW5nZUJvYXJkOiBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWwpIHtcbiAgICB0aGlzLnBvc3RpbmdCb2FyZENoYW5nZS5lbWl0KHZhbGlkYXRpb25DaGFuZ2VCb2FyZCk7XG4gIH1cblxuICBvbkVkaXRNb2RlQ2hhbmdlKGVkaXRNb2RlQ2hhbmdlQm9hcmQ6IFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbCkge1xuICAgIHRoaXMucG9zdGluZ0JvYXJkQ2hhbmdlLmVtaXQoZWRpdE1vZGVDaGFuZ2VCb2FyZCk7XG4gIH1cbn1cbiIsIjxzeW1waG9ueS1hZHZlcnRpc2UtcG9zdGluZ2JvYXJkLXNlbGVjdGlvbi1pdGVtXG4gICpuZ0Zvcj1cImxldCBpdGVtIG9mIG1vZGVsXCJcbiAgW21vZGVsXT1cIml0ZW1cIlxuICAocG9zdGluZ0JvYXJkU2VsZWN0KT1cIm9uUG9zdGluZ0JvYXJkU2VsZWN0KCRldmVudClcIlxuICAocHJpY2VDaGFuZ2UpPVwib25QcmljZUNoYW5nZSgkZXZlbnQpXCJcbiAgKHZhbGlkYXRpb25DaGFuZ2UpPVwib25WYWxpZGF0aW9uQ2hhbmdlKCRldmVudClcIlxuICAoZWRpdE1vZGVDaGFuZ2UpPVwib25FZGl0TW9kZUNoYW5nZSgkZXZlbnQpXCJcbj48L3N5bXBob255LWFkdmVydGlzZS1wb3N0aW5nYm9hcmQtc2VsZWN0aW9uLWl0ZW0+XG4iXX0=
@@ -3,22 +3,23 @@ import { Icons } from '../../../atoms/icon/icon.enum';
3
3
  import { Phasers } from '../../../atoms/phaser/phaser.enum';
4
4
  import { ColorNames } from '../../../atoms/color-sample/color-sample.enum';
5
5
  import * as i0 from "@angular/core";
6
- import * as i1 from "../../../templates/modal-templates/two-column-modal-template/two-column-modal-template.component";
7
- import * as i2 from "../../../atoms/h4/h4.component";
8
- import * as i3 from "../../../atoms/icon/icon.component";
9
- import * as i4 from "../../../molecules/h5-with-icon/h5-with-icon.component";
10
- import * as i5 from "../../../templates/modal-templates/two-column-body-template/two-column-body-template.component";
11
- import * as i6 from "../../../atoms/input-text/input-text.component";
12
- import * as i7 from "../../../organisms/advertise-postingboard-selection-list/advertise-postingboard-selection-list.component";
13
- import * as i8 from "../../../organisms/order-summary/order-summary.component";
14
- import * as i9 from "../../../molecules/phaser-card/phaser-card.component";
15
- import * as i10 from "../../../atoms/paragraph/paragraph.component";
16
- import * as i11 from "../../../atoms/sfx-loader/sfx-loader.component";
17
- import * as i12 from "../../../atoms/button/button.component";
18
- import * as i13 from "../../../organisms/confirmation-modal/confirmation-modal.component";
19
- import * as i14 from "@angular/common";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "../../../templates/modal-templates/two-column-modal-template/two-column-modal-template.component";
8
+ import * as i3 from "../../../atoms/h4/h4.component";
9
+ import * as i4 from "../../../atoms/icon/icon.component";
10
+ import * as i5 from "../../../molecules/h5-with-icon/h5-with-icon.component";
11
+ import * as i6 from "../../../templates/modal-templates/two-column-body-template/two-column-body-template.component";
12
+ import * as i7 from "../../../atoms/input-text/input-text.component";
13
+ import * as i8 from "../../../organisms/advertise-postingboard-selection-list/advertise-postingboard-selection-list.component";
14
+ import * as i9 from "../../../organisms/order-summary/order-summary.component";
15
+ import * as i10 from "../../../molecules/phaser-card/phaser-card.component";
16
+ import * as i11 from "../../../atoms/paragraph/paragraph.component";
17
+ import * as i12 from "../../../atoms/sfx-loader/sfx-loader.component";
18
+ import * as i13 from "../../../atoms/button/button.component";
19
+ import * as i14 from "../../../organisms/confirmation-modal/confirmation-modal.component";
20
20
  export class AdvertiseModalComponent {
21
- constructor() {
21
+ constructor(decimalPipe) {
22
+ this.decimalPipe = decimalPipe;
22
23
  this.buttonClicked = new EventEmitter();
23
24
  this.closeButtonClicked = new EventEmitter();
24
25
  this.postingBoardChange = new EventEmitter();
@@ -107,26 +108,37 @@ export class AdvertiseModalComponent {
107
108
  this.closeButtonClicked.emit();
108
109
  }
109
110
  onPostingBoardChange(selectedBoard) {
110
- const selectedJobBoards = this.model.jobBoards.filter(jb => jb.isSelected)
111
- .length;
112
- if (selectedJobBoards > 0) {
111
+ const selectedJobBoards = this.model.jobBoards.filter(jb => jb.isSelected);
112
+ if (selectedJobBoards.length > 0) {
113
113
  this.updateOrderSummary();
114
114
  }
115
+ const invalidJobBoards = selectedJobBoards.filter(jb => jb.isInvalid)
116
+ .length;
117
+ if (invalidJobBoards > 0) {
118
+ this.isJobBoardNextButtonDisabled = true;
119
+ }
120
+ const editModeJobBoards = selectedJobBoards.filter(jb => jb.isInEditMode)
121
+ .length;
122
+ if (editModeJobBoards > 0) {
123
+ this.isJobBoardNextButtonDisabled = true;
124
+ }
115
125
  }
116
126
  addLineItem(invoiceAreaIndex, selectedBoard) {
127
+ let formattedBoardPrice = this.decimalPipe.transform(selectedBoard.boardPrice, '1.0', 'en-US');
117
128
  this.orderSummary.invoiceAreas[invoiceAreaIndex].lineItems.push({
118
129
  textLeft: selectedBoard.boardName,
119
- textRight: `$${selectedBoard.boardPrice}`
130
+ textRight: `$${formattedBoardPrice}`
120
131
  });
121
132
  }
122
133
  calculateInvoiceAreaTotal(invoiceAreaIndex) {
123
134
  let invoiceAreaTotal = 0;
124
135
  this.orderSummary.invoiceAreas[invoiceAreaIndex].lineItems.forEach(li => {
125
- invoiceAreaTotal = invoiceAreaTotal + +li.textRight.replace('$', '');
136
+ invoiceAreaTotal =
137
+ invoiceAreaTotal + +li.textRight.replace('$', '').replace(',', '');
126
138
  });
127
- this.orderSummary.invoiceAreas[invoiceAreaIndex].subTotal.textRight = `$${invoiceAreaTotal *
128
- this.model.jobsToAdvertise.length}`;
129
- this.orderSummary.invoiceAreas[invoiceAreaIndex].total.textRight = `$${invoiceAreaTotal}`;
139
+ let subTotal = invoiceAreaTotal * this.model.jobsToAdvertise.length;
140
+ this.orderSummary.invoiceAreas[invoiceAreaIndex].subTotal.textRight = `$${this.decimalPipe.transform(subTotal, '1.0', 'en-US')}`;
141
+ this.orderSummary.invoiceAreas[invoiceAreaIndex].total.textRight = `$${this.decimalPipe.transform(invoiceAreaTotal.toString().replace(',', ''), '1.0', 'en-US')}`;
130
142
  return invoiceAreaTotal * this.model.jobsToAdvertise.length;
131
143
  }
132
144
  calculateOrderTotal(payPerClickAreaTotal, jobBoardAreaTotal) {
@@ -134,10 +146,11 @@ export class AdvertiseModalComponent {
134
146
  .length;
135
147
  const jobToAdvertiseCount = this.model.jobsToAdvertise.length;
136
148
  const orderSummaryText = `(${selectedJobBoards}) Boards x ${this.model.jobsToAdvertise.length} Jobs = (${selectedJobBoards * jobToAdvertiseCount}) Ads`;
149
+ let currentTotal = payPerClickAreaTotal + jobBoardAreaTotal;
137
150
  this.orderSummary.total = {
138
151
  label: 'Current Total',
139
152
  textLeft: '',
140
- textRight: `$${payPerClickAreaTotal + jobBoardAreaTotal}`
153
+ textRight: `$${this.decimalPipe.transform(currentTotal.toString().replace(',', ''), '1.0', 'en-US')}`
141
154
  };
142
155
  }
143
156
  updateOrderSummary() {
@@ -197,12 +210,12 @@ export class AdvertiseModalComponent {
197
210
  this.postingBoardChange.emit(this.model);
198
211
  }
199
212
  }
200
- AdvertiseModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertiseModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
201
- AdvertiseModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: AdvertiseModalComponent, selector: "symphony-advertise-modal", inputs: { model: "model" }, outputs: { buttonClicked: "buttonClicked", closeButtonClicked: "closeButtonClicked", postingBoardChange: "postingBoardChange", keywordSearchChange: "keywordSearchChange" }, usesOnChanges: true, ngImport: i0, template: "<symphony-two-column-modal-template *ngIf=\"!model.navigation.showCancel\">\n <symphony-h4\n *ngIf=\"model.navigation.showJobBoardsSelection && !model.isLoading\"\n sfx-modal-title\n >Select Your Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showOrderReview\" sfx-modal-title\n >Review you Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showConfirmation\" sfx-modal-title\n >Confirmation of your Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showProcessing\" sfx-modal-title\n >Processing Order...</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.isLoading\" sfx-modal-title\n >Loading Job Boards...</symphony-h4\n >\n <symphony-icon\n sfx-close-button\n [icon]=\"'si-close-modal'\"\n (clicked)=\"onCloseButtonClick()\"\n ></symphony-icon>\n <symphony-h5-with-icon sfx-modal-subtitle [model]=\"subTitle\">\n </symphony-h5-with-icon>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showJobBoardsSelection\"\n [showHeader]=\"true\"\n sfx-modal-body-area\n >\n <symphony-input-text\n sfx-left-col-header\n [noMargin]=\"true\"\n [placeholder]=\"'Search Ad Boards'\"\n [icon]=\"'si-search-new'\"\n (textChange)=\"onKeywordSearch($event)\"\n >\n </symphony-input-text>\n <div class=\"right-col-header-inner\" sfx-right-col-header>\n <symphony-h5-with-icon\n sfx-right-col-header\n *ngIf=\"model.showFunds\"\n class=\"pull-right\"\n [model]=\"fundsInfo\"\n ></symphony-h5-with-icon>\n </div>\n <div sfx-left-column class=\"posting-boards sfx-pr-10\">\n <symphony-advertise-postingboard-selection-list\n [model]=\"model.jobBoards\"\n (postingBoardChange)=\"onPostingBoardChange($event)\"\n ></symphony-advertise-postingboard-selection-list>\n </div>\n\n <symphony-order-summary\n sfx-right-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n </symphony-two-column-body-template>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showOrderReview\"\n sfx-modal-body-area\n class=\"height-wrapper\"\n >\n <symphony-order-summary\n sfx-left-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n\n <div\n sfx-right-column\n class=\"posting-boards phaser center-h-v light-grey-bg\"\n >\n <symphony-phaser-card [model]=\"phaserCardReview\"></symphony-phaser-card>\n </div>\n </symphony-two-column-body-template>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showConfirmation\"\n sfx-modal-body-area\n class=\"height-wrapper\"\n >\n <symphony-order-summary\n sfx-left-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n <div\n sfx-right-column\n class=\"posting-boards phaser center-h-v light-grey-bg\"\n >\n <symphony-phaser-card\n [model]=\"phaserCardConfirmation\"\n ></symphony-phaser-card>\n </div>\n </symphony-two-column-body-template>\n\n <div\n *ngIf=\"!model.isLoading && model.navigation.showProcessing\"\n sfx-modal-body-area\n class=\"posting-boards sfx-p-30\"\n >\n <div class=\"processing-container\">\n <symphony-paragraph\n ><b>SmashFlyX</b> is submitting your order to your selected job boards.\n Some orders happen immediately, while others take a little more time.\n Check your order status if you don't recieve a confirmation in the next\n 24hours.</symphony-paragraph\n >\n </div>\n <div class=\"sfx-mt-80\">\n <symphony-sfx-loader></symphony-sfx-loader>\n </div>\n </div>\n\n <div class=\"loader-container\" *ngIf=\"model.isLoading\" sfx-modal-body-area>\n <symphony-sfx-loader></symphony-sfx-loader>\n </div>\n\n <symphony-button\n *ngIf=\"model.navigation.showJobBoardsSelection\"\n sfx-button-secondary\n [text]=\"'Cancel'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showJobBoardsSelection\"\n sfx-button-primary\n [text]=\"'Review Order'\"\n [disabled]=\"isJobBoardNextButtonDisabled\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-back\n [text]=\"'Edit Order'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-secondary\n [text]=\"'Cancel'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-primary\n [text]=\"'Buy'\"\n [disabled]=\"false\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n\n <symphony-button\n *ngIf=\"model.navigation.showConfirmation\"\n sfx-button-primary\n [text]=\"'Finish & Close'\"\n [disabled]=\"false\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n</symphony-two-column-modal-template>\n<symphony-confirmation-modal\n *ngIf=\"!model.isLoading && model.navigation.showCancel\"\n (buttonClicked)=\"onButtonClick($event)\"\n (closeButtonClicked)=\"onCloseButtonClick()\"\n [model]=\"cancelContent\"\n>\n</symphony-confirmation-modal>\n", styles: [".right-col-header-inner{padding-top:10px}.posting-boards{height:400px;overflow-x:auto}.posting-boards.phaser{overflow:hidden;padding:40px 80px;min-height:480px}.height-wrapper .order-summary,.height-wrapper .sfx-price-totals{padding:0}.height-wrapper .sfx-checkbox-list{min-height:480px}.light-grey-bg{background:#ebebeb}.center-h-v{display:flex;align-items:center;justify-content:center}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#fff}::-webkit-scrollbar-thumb{background:#d4d4d4;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.loader-container{padding-top:246px;padding-bottom:245px}.complete-container{text-align:center;margin-top:25%}.success-icon-spacing{margin-top:25px}.processing-container{width:400px;text-align:justify}.stage{display:flex;height:240px;width:100%}.box{align-self:flex-end;animation-duration:2s;animation-iteration-count:1;height:200px;margin:0 auto;transform-origin:bottom;width:200px}.bounce-7{animation-name:bounce-7;animation-timing-function:cubic-bezier(.24,.82,.24,.82)}@keyframes bounce-7{0%{transform:scale(1) translateY(0)}10%{transform:scale(1.1,.9) translateY(0)}30%{transform:scale(.9,1.1) translateY(-15px)}50%{transform:scale(1.05,.95) translateY(0)}57%{transform:scale(1) translateY(-7px)}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}\n"], components: [{ type: i1.TwoColumnModalTemplateComponent, selector: "symphony-two-column-modal-template" }, { type: i2.H4Component, selector: "symphony-h4", inputs: ["text", "isSecondary"] }, { type: i3.IconComponent, selector: "symphony-icon", inputs: ["icon", "isSecondary", "size", "iconColor"], outputs: ["clicked"] }, { type: i4.H5WithIconComponent, selector: "symphony-h5-with-icon", inputs: ["model"] }, { type: i5.TwoColumnBodyTemplateComponent, selector: "symphony-two-column-body-template", inputs: ["showHeader"] }, { type: i6.InputTextComponent, selector: "symphony-input-text", inputs: ["placeholder", "icon", "label", "isInverse", "noMargin"], outputs: ["textChange"] }, { type: i7.AdvertisePostingboardSelectionListComponent, selector: "symphony-advertise-postingboard-selection-list", inputs: ["model"], outputs: ["postingBoardChange"] }, { type: i8.OrderSummaryComponent, selector: "symphony-order-summary", inputs: ["model"] }, { type: i9.PhaserCardComponent, selector: "symphony-phaser-card", inputs: ["model", "isClickable", "hasHover"], outputs: ["cardClicked", "cardHover"] }, { type: i10.ParagraphComponent, selector: "symphony-paragraph", inputs: ["text", "isSecondary"] }, { type: i11.SfxLoaderComponent, selector: "symphony-sfx-loader", inputs: ["leftStyle", "message"] }, { type: i12.ButtonComponent, selector: "symphony-button", inputs: ["text", "disabled", "isSecondary", "isInverse"], outputs: ["clicked"] }, { type: i13.ConfirmationModalComponent, selector: "symphony-confirmation-modal", inputs: ["model"], outputs: ["buttonClicked", "closeButtonClicked"] }], directives: [{ type: i14.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
213
+ AdvertiseModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertiseModalComponent, deps: [{ token: i1.DecimalPipe }], target: i0.ɵɵFactoryTarget.Component });
214
+ AdvertiseModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: AdvertiseModalComponent, selector: "symphony-advertise-modal", inputs: { model: "model" }, outputs: { buttonClicked: "buttonClicked", closeButtonClicked: "closeButtonClicked", postingBoardChange: "postingBoardChange", keywordSearchChange: "keywordSearchChange" }, usesOnChanges: true, ngImport: i0, template: "<symphony-two-column-modal-template *ngIf=\"!model.navigation.showCancel\">\n <symphony-h4\n *ngIf=\"model.navigation.showJobBoardsSelection && !model.isLoading\"\n sfx-modal-title\n >Select Your Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showOrderReview\" sfx-modal-title\n >Review you Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showConfirmation\" sfx-modal-title\n >Confirmation of your Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showProcessing\" sfx-modal-title\n >Processing Order...</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.isLoading\" sfx-modal-title\n >Loading Job Boards...</symphony-h4\n >\n <symphony-icon\n sfx-close-button\n [icon]=\"'si-close-modal'\"\n (clicked)=\"onCloseButtonClick()\"\n ></symphony-icon>\n <symphony-h5-with-icon sfx-modal-subtitle [model]=\"subTitle\">\n </symphony-h5-with-icon>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showJobBoardsSelection\"\n [showHeader]=\"true\"\n sfx-modal-body-area\n >\n <symphony-input-text\n sfx-left-col-header\n [noMargin]=\"true\"\n [placeholder]=\"'Search Ad Boards'\"\n [icon]=\"'si-search-new'\"\n (textChange)=\"onKeywordSearch($event)\"\n >\n </symphony-input-text>\n <div class=\"right-col-header-inner\" sfx-right-col-header>\n <symphony-h5-with-icon\n sfx-right-col-header\n *ngIf=\"model.showFunds\"\n class=\"pull-right\"\n [model]=\"fundsInfo\"\n ></symphony-h5-with-icon>\n </div>\n <div sfx-left-column class=\"posting-boards sfx-pr-10\">\n <symphony-advertise-postingboard-selection-list\n [model]=\"model.jobBoards\"\n (postingBoardChange)=\"onPostingBoardChange($event)\"\n ></symphony-advertise-postingboard-selection-list>\n </div>\n\n <symphony-order-summary\n sfx-right-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n </symphony-two-column-body-template>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showOrderReview\"\n sfx-modal-body-area\n class=\"height-wrapper\"\n >\n <symphony-order-summary\n sfx-left-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n\n <div\n sfx-right-column\n class=\"posting-boards phaser center-h-v light-grey-bg\"\n >\n <symphony-phaser-card [model]=\"phaserCardReview\"></symphony-phaser-card>\n </div>\n </symphony-two-column-body-template>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showConfirmation\"\n sfx-modal-body-area\n class=\"height-wrapper\"\n >\n <symphony-order-summary\n sfx-left-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n <div\n sfx-right-column\n class=\"posting-boards phaser center-h-v light-grey-bg\"\n >\n <symphony-phaser-card\n [model]=\"phaserCardConfirmation\"\n ></symphony-phaser-card>\n </div>\n </symphony-two-column-body-template>\n\n <div\n *ngIf=\"!model.isLoading && model.navigation.showProcessing\"\n sfx-modal-body-area\n class=\"posting-boards sfx-p-30\"\n >\n <div class=\"processing-container\">\n <symphony-paragraph\n ><b>SmashFlyX</b> is submitting your order to your selected job boards.\n Some orders happen immediately, while others take a little more time.\n Check your order status if you don't recieve a confirmation in the next\n 24hours.</symphony-paragraph\n >\n </div>\n <div class=\"sfx-mt-80\">\n <symphony-sfx-loader></symphony-sfx-loader>\n </div>\n </div>\n\n <div class=\"loader-container\" *ngIf=\"model.isLoading\" sfx-modal-body-area>\n <symphony-sfx-loader></symphony-sfx-loader>\n </div>\n\n <symphony-button\n *ngIf=\"model.navigation.showJobBoardsSelection\"\n sfx-button-secondary\n [text]=\"'Cancel'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showJobBoardsSelection\"\n sfx-button-primary\n [text]=\"'Review Order'\"\n [disabled]=\"isJobBoardNextButtonDisabled\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-back\n [text]=\"'Edit Order'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-secondary\n [text]=\"'Cancel'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-primary\n [text]=\"'Buy'\"\n [disabled]=\"false\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n\n <symphony-button\n *ngIf=\"model.navigation.showConfirmation\"\n sfx-button-primary\n [text]=\"'Finish & Close'\"\n [disabled]=\"false\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n</symphony-two-column-modal-template>\n<symphony-confirmation-modal\n *ngIf=\"!model.isLoading && model.navigation.showCancel\"\n (buttonClicked)=\"onButtonClick($event)\"\n (closeButtonClicked)=\"onCloseButtonClick()\"\n [model]=\"cancelContent\"\n>\n</symphony-confirmation-modal>\n", styles: [".right-col-header-inner{padding-top:10px}.posting-boards{height:400px;overflow-x:auto}.posting-boards.phaser{overflow:hidden;padding:40px 80px;min-height:480px}.height-wrapper .order-summary,.height-wrapper .sfx-price-totals{padding:0}.height-wrapper .sfx-checkbox-list{min-height:480px}.light-grey-bg{background:#ebebeb}.center-h-v{display:flex;align-items:center;justify-content:center}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#fff}::-webkit-scrollbar-thumb{background:#d4d4d4;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.loader-container{padding-top:246px;padding-bottom:245px}.complete-container{text-align:center;margin-top:25%}.success-icon-spacing{margin-top:25px}.processing-container{width:400px;text-align:justify}.stage{display:flex;height:240px;width:100%}.box{align-self:flex-end;animation-duration:2s;animation-iteration-count:1;height:200px;margin:0 auto;transform-origin:bottom;width:200px}.bounce-7{animation-name:bounce-7;animation-timing-function:cubic-bezier(.24,.82,.24,.82)}@keyframes bounce-7{0%{transform:scale(1) translateY(0)}10%{transform:scale(1.1,.9) translateY(0)}30%{transform:scale(.9,1.1) translateY(-15px)}50%{transform:scale(1.05,.95) translateY(0)}57%{transform:scale(1) translateY(-7px)}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}\n"], components: [{ type: i2.TwoColumnModalTemplateComponent, selector: "symphony-two-column-modal-template" }, { type: i3.H4Component, selector: "symphony-h4", inputs: ["text", "isSecondary"] }, { type: i4.IconComponent, selector: "symphony-icon", inputs: ["icon", "isSecondary", "size", "iconColor"], outputs: ["clicked"] }, { type: i5.H5WithIconComponent, selector: "symphony-h5-with-icon", inputs: ["model"] }, { type: i6.TwoColumnBodyTemplateComponent, selector: "symphony-two-column-body-template", inputs: ["showHeader"] }, { type: i7.InputTextComponent, selector: "symphony-input-text", inputs: ["placeholder", "icon", "label", "isInverse", "noMargin"], outputs: ["textChange"] }, { type: i8.AdvertisePostingboardSelectionListComponent, selector: "symphony-advertise-postingboard-selection-list", inputs: ["model"], outputs: ["postingBoardChange"] }, { type: i9.OrderSummaryComponent, selector: "symphony-order-summary", inputs: ["model"] }, { type: i10.PhaserCardComponent, selector: "symphony-phaser-card", inputs: ["model", "isClickable", "hasHover"], outputs: ["cardClicked", "cardHover"] }, { type: i11.ParagraphComponent, selector: "symphony-paragraph", inputs: ["text", "isSecondary"] }, { type: i12.SfxLoaderComponent, selector: "symphony-sfx-loader", inputs: ["leftStyle", "message"] }, { type: i13.ButtonComponent, selector: "symphony-button", inputs: ["text", "disabled", "isSecondary", "isInverse"], outputs: ["clicked"] }, { type: i14.ConfirmationModalComponent, selector: "symphony-confirmation-modal", inputs: ["model"], outputs: ["buttonClicked", "closeButtonClicked"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
202
215
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertiseModalComponent, decorators: [{
203
216
  type: Component,
204
217
  args: [{ selector: 'symphony-advertise-modal', encapsulation: ViewEncapsulation.None, template: "<symphony-two-column-modal-template *ngIf=\"!model.navigation.showCancel\">\n <symphony-h4\n *ngIf=\"model.navigation.showJobBoardsSelection && !model.isLoading\"\n sfx-modal-title\n >Select Your Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showOrderReview\" sfx-modal-title\n >Review you Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showConfirmation\" sfx-modal-title\n >Confirmation of your Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showProcessing\" sfx-modal-title\n >Processing Order...</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.isLoading\" sfx-modal-title\n >Loading Job Boards...</symphony-h4\n >\n <symphony-icon\n sfx-close-button\n [icon]=\"'si-close-modal'\"\n (clicked)=\"onCloseButtonClick()\"\n ></symphony-icon>\n <symphony-h5-with-icon sfx-modal-subtitle [model]=\"subTitle\">\n </symphony-h5-with-icon>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showJobBoardsSelection\"\n [showHeader]=\"true\"\n sfx-modal-body-area\n >\n <symphony-input-text\n sfx-left-col-header\n [noMargin]=\"true\"\n [placeholder]=\"'Search Ad Boards'\"\n [icon]=\"'si-search-new'\"\n (textChange)=\"onKeywordSearch($event)\"\n >\n </symphony-input-text>\n <div class=\"right-col-header-inner\" sfx-right-col-header>\n <symphony-h5-with-icon\n sfx-right-col-header\n *ngIf=\"model.showFunds\"\n class=\"pull-right\"\n [model]=\"fundsInfo\"\n ></symphony-h5-with-icon>\n </div>\n <div sfx-left-column class=\"posting-boards sfx-pr-10\">\n <symphony-advertise-postingboard-selection-list\n [model]=\"model.jobBoards\"\n (postingBoardChange)=\"onPostingBoardChange($event)\"\n ></symphony-advertise-postingboard-selection-list>\n </div>\n\n <symphony-order-summary\n sfx-right-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n </symphony-two-column-body-template>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showOrderReview\"\n sfx-modal-body-area\n class=\"height-wrapper\"\n >\n <symphony-order-summary\n sfx-left-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n\n <div\n sfx-right-column\n class=\"posting-boards phaser center-h-v light-grey-bg\"\n >\n <symphony-phaser-card [model]=\"phaserCardReview\"></symphony-phaser-card>\n </div>\n </symphony-two-column-body-template>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showConfirmation\"\n sfx-modal-body-area\n class=\"height-wrapper\"\n >\n <symphony-order-summary\n sfx-left-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n <div\n sfx-right-column\n class=\"posting-boards phaser center-h-v light-grey-bg\"\n >\n <symphony-phaser-card\n [model]=\"phaserCardConfirmation\"\n ></symphony-phaser-card>\n </div>\n </symphony-two-column-body-template>\n\n <div\n *ngIf=\"!model.isLoading && model.navigation.showProcessing\"\n sfx-modal-body-area\n class=\"posting-boards sfx-p-30\"\n >\n <div class=\"processing-container\">\n <symphony-paragraph\n ><b>SmashFlyX</b> is submitting your order to your selected job boards.\n Some orders happen immediately, while others take a little more time.\n Check your order status if you don't recieve a confirmation in the next\n 24hours.</symphony-paragraph\n >\n </div>\n <div class=\"sfx-mt-80\">\n <symphony-sfx-loader></symphony-sfx-loader>\n </div>\n </div>\n\n <div class=\"loader-container\" *ngIf=\"model.isLoading\" sfx-modal-body-area>\n <symphony-sfx-loader></symphony-sfx-loader>\n </div>\n\n <symphony-button\n *ngIf=\"model.navigation.showJobBoardsSelection\"\n sfx-button-secondary\n [text]=\"'Cancel'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showJobBoardsSelection\"\n sfx-button-primary\n [text]=\"'Review Order'\"\n [disabled]=\"isJobBoardNextButtonDisabled\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-back\n [text]=\"'Edit Order'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-secondary\n [text]=\"'Cancel'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-primary\n [text]=\"'Buy'\"\n [disabled]=\"false\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n\n <symphony-button\n *ngIf=\"model.navigation.showConfirmation\"\n sfx-button-primary\n [text]=\"'Finish & Close'\"\n [disabled]=\"false\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n</symphony-two-column-modal-template>\n<symphony-confirmation-modal\n *ngIf=\"!model.isLoading && model.navigation.showCancel\"\n (buttonClicked)=\"onButtonClick($event)\"\n (closeButtonClicked)=\"onCloseButtonClick()\"\n [model]=\"cancelContent\"\n>\n</symphony-confirmation-modal>\n", styles: [".right-col-header-inner{padding-top:10px}.posting-boards{height:400px;overflow-x:auto}.posting-boards.phaser{overflow:hidden;padding:40px 80px;min-height:480px}.height-wrapper .order-summary,.height-wrapper .sfx-price-totals{padding:0}.height-wrapper .sfx-checkbox-list{min-height:480px}.light-grey-bg{background:#ebebeb}.center-h-v{display:flex;align-items:center;justify-content:center}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#fff}::-webkit-scrollbar-thumb{background:#d4d4d4;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.loader-container{padding-top:246px;padding-bottom:245px}.complete-container{text-align:center;margin-top:25%}.success-icon-spacing{margin-top:25px}.processing-container{width:400px;text-align:justify}.stage{display:flex;height:240px;width:100%}.box{align-self:flex-end;animation-duration:2s;animation-iteration-count:1;height:200px;margin:0 auto;transform-origin:bottom;width:200px}.bounce-7{animation-name:bounce-7;animation-timing-function:cubic-bezier(.24,.82,.24,.82)}@keyframes bounce-7{0%{transform:scale(1) translateY(0)}10%{transform:scale(1.1,.9) translateY(0)}30%{transform:scale(.9,1.1) translateY(-15px)}50%{transform:scale(1.05,.95) translateY(0)}57%{transform:scale(1) translateY(-7px)}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}\n"] }]
205
- }], ctorParameters: function () { return []; }, propDecorators: { model: [{
218
+ }], ctorParameters: function () { return [{ type: i1.DecimalPipe }]; }, propDecorators: { model: [{
206
219
  type: Input
207
220
  }], buttonClicked: [{
208
221
  type: Output
@@ -213,4 +226,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
213
226
  }], keywordSearchChange: [{
214
227
  type: Output
215
228
  }] } });
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2ZXJ0aXNlLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvcGFnZXMvbW9kYWxzL2FkdmVydGlzZS1tb2RhbC9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9wYWdlcy9tb2RhbHMvYWR2ZXJ0aXNlLW1vZGFsL2FkdmVydGlzZS1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFVdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVEzRSxNQUFNLE9BQU8sdUJBQXVCO0lBNEJsQztRQXpCVSxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDM0MsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNoRCx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFFNUMsQ0FBQztRQUNNLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFLcEQsY0FBUyxHQUFvQjtZQUNsQyxJQUFJLEVBQUUsS0FBSyxDQUFDLFlBQVk7WUFDeEIsU0FBUyxFQUFFLElBQUk7WUFDZixJQUFJLEVBQUUsa0JBQWtCO1lBQ3hCLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUM7UUFJSyxzQkFBaUIsR0FBbUIsRUFBRSxDQUFD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QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9ELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxvQkFBb0IsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2xFLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDakUsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQztTQUMxQzthQUFNO1lBQ0wsSUFBSSxDQUFDLDRCQUE0QixHQUFHLEtBQUssQ0FBQztTQUMzQztRQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7O29IQXROVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qiw4UkM5QnBDLHdoTEFpTEE7MkZEbkphLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDRSwwQkFBMEIsaUJBR3JCLGlCQUFpQixDQUFDLElBQUk7MEVBRzVCLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBR0csbUJBQW1CO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uLy4uLy4uL2F0b21zL2ljb24vaWNvbi5lbnVtJztcbmltcG9ydCB7IE9yZGVyU3VtbWFyeU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vb3JnYW5pc21zL29yZGVyLXN1bW1hcnkvb3JkZXItc3VtbWFyeS5tb2RlbCc7XG5pbXBvcnQgeyBINVdpdGhJY29uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2xlY3VsZXMvaDUtd2l0aC1pY29uL2g1LXdpdGgtaWNvbi5tb2RlbCc7XG5pbXBvcnQge1xuICBBZHZlcnRpc2VNb2RhbE1vZGVsLFxuICBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWxcbn0gZnJvbSAnLi9hZHZlcnRpc2UtbW9kYWwubW9kZWwnO1xuaW1wb3J0IHsgSW52b2ljZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9sZWN1bGVzL2ludm9pY2UtbGluZS1pdGVtL2ludm9pY2UtbGluZS1pdGVtLm1vZGVsJztcbmltcG9ydCB7IENvbmZpcm1hdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vb3JnYW5pc21zL2NvbmZpcm1hdGlvbi1tb2RhbC9jb25maXJtYXRpb24tbW9kYWwubW9kZWwnO1xuaW1wb3J0IHsgUGhhc2VyQ2FyZE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9sZWN1bGVzL3BoYXNlci1jYXJkL3BoYXNlci1jYXJkLm1vZGVsJztcbmltcG9ydCB7IFBoYXNlcnMgfSBmcm9tICcuLi8uLi8uLi9hdG9tcy9waGFzZXIvcGhhc2VyLmVudW0nO1xuaW1wb3J0IHsgQ29sb3JOYW1lcyB9IGZyb20gJy4uLy4uLy4uL2F0b21zL2NvbG9yLXNhbXBsZS9jb2xvci1zYW1wbGUuZW51bSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N5bXBob255LWFkdmVydGlzZS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBBZHZlcnRpc2VNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgbW9kZWw6IFBhcnRpYWw8QWR2ZXJ0aXNlTW9kYWxNb2RlbD47XG5cbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIGNsb3NlQnV0dG9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgcG9zdGluZ0JvYXJkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICBQYXJ0aWFsPEFkdmVydGlzZU1vZGFsTW9kZWw+XG4gID4oKTtcbiAgQE91dHB1dCgpIGtleXdvcmRTZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBwdWJsaWMgZmlsdGVyZWRQb3N0aW5nQm9hcmRMaXN0OiBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWxbXTtcbiAgcHVibGljIG9yZGVyU3VtbWFyeTogT3JkZXJTdW1tYXJ5TW9kZWw7XG4gIHB1YmxpYyBzdWJUaXRsZTogSDVXaXRoSWNvbk1vZGVsO1xuICBwdWJsaWMgZnVuZHNJbmZvOiBINVdpdGhJY29uTW9kZWwgPSB7XG4gICAgaWNvbjogSWNvbnMuQ09ORklSTUFUSU9OLFxuICAgIGljb25GaXJzdDogdHJ1ZSxcbiAgICB0ZXh0OiAnU3VmZmljaWVudCBGdW5kcycsXG4gICAgaWNvbkNvbG9yOiAnIzAwRDU2QidcbiAgfTtcbiAgcHVibGljIGNhbmNlbENvbnRlbnQ6IENvbmZpcm1hdGlvbk1vZGVsO1xuICBwdWJsaWMgcGhhc2VyQ2FyZFJldmlldzogUGhhc2VyQ2FyZE1vZGVsO1xuICBwdWJsaWMgcGhhc2VyQ2FyZENvbmZpcm1hdGlvbjogUGhhc2VyQ2FyZE1vZGVsO1xuICBwdWJsaWMgcGF5UGVyQ2xpY2tCb2FyZHM6IEludm9pY2VNb2RlbFtdID0gW107XG4gIHB1YmxpYyBqb2JCb2FyZHM6IEludm9pY2VNb2RlbFtdID0gW107XG4gIHB1YmxpYyBqb2JDb3VudDogbnVtYmVyID0gMDtcbiAgcHVibGljIG1vZGFsVGl0bGU6IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgaXNKb2JCb2FyZE5leHRCdXR0b25EaXNhYmxlZDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsaXNlRGVmYXVsdFZhbHVlcygpO1xuICAgIHRoaXMudXBkYXRlTW9kYWxIZWFkZXIoKTtcbiAgICBjb25zdCBzZWxlY3RlZEpvYkJvYXJkcyA9IHRoaXMubW9kZWwuam9iQm9hcmRzLmZpbHRlcihqYiA9PiBqYi5pc1NlbGVjdGVkKVxuICAgICAgLmxlbmd0aDtcbiAgICBpZiAoc2VsZWN0ZWRKb2JCb2FyZHMgPiAwKSB7XG4gICAgICB0aGlzLnVwZGF0ZU9yZGVyU3VtbWFyeSgpO1xuICAgIH1cbiAgICB0aGlzLmNhbmNlbENvbnRlbnQgPSB7XG4gICAgICB0aXRsZTogJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBhYmFuZG9uIHlvdXIgb3JkZXI/JyxcbiAgICAgIGNvbnRlbnQ6XG4gICAgICAgICdBbGwgc2VsZWN0aW9ucyB3aWxsIGJlIGRlbGV0ZWQgYW5kIHlvdSB3aWxsIGhhdmUgdG8gc3RhcnQgb3Zlci4nLFxuICAgICAgYnRuUHJpbWFyeTogJ0NvbnRpbnVlIE9yZGVyJyxcbiAgICAgIGJ0blNlY29uZGFyeTogJ0FiYW5kb24gT3JkZXInXG4gICAgfTtcbiAgICB0aGlzLnBoYXNlckNhcmRSZXZpZXcgPSB7XG4gICAgICBwaGFzZXJTdGF0ZTogUGhhc2Vycy5JTlRFTCxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogQ29sb3JOYW1lcy5PUkFOR0UsXG4gICAgICBleWVicm93VGV4dDogJ1JldmlldyBEYXRhJyxcbiAgICAgIG1lc3NhZ2VCb2R5OiAnT25jZSB5b3UgY2xpY2sgYnV5LCB3ZSB3aWxsIHByb2Nlc3MgeW91ciBvcmRlci4nLFxuICAgICAgaWNvbjogSWNvbnMuSU5GTyxcbiAgICAgIGhhc0FuaW1hdGlvbjogdHJ1ZSxcbiAgICAgIGNhcmRXaWR0aFB4OiAzMDBcbiAgICB9O1xuICAgIHRoaXMucGhhc2VyQ2FyZENvbmZpcm1hdGlvbiA9IHtcbiAgICAgIHBoYXNlclN0YXRlOiBQaGFzZXJzLkhBUFBZMixcbiAgICAgIGJhY2tncm91bmRDb2xvcjogQ29sb3JOYW1lcy5HUkVFTixcbiAgICAgIGV5ZWJyb3dUZXh0OiAnT3JkZXIgcHJvY2Vzc2VkJyxcbiAgICAgIG1lc3NhZ2VCb2R5OiAnV29vaG9vISBZb3VyIG9yZGVyIGlzIG5vdyBjb21wbGV0ZS4nLFxuICAgICAgaWNvbjogSWNvbnMuQ09ORklSTUFUSU9OLFxuICAgICAgaGFzQW5pbWF0aW9uOiB0cnVlLFxuICAgICAgY2FyZFdpZHRoUHg6IDMwMFxuICAgIH07XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJlZFBvc3RpbmdCb2FyZExpc3QgPSB0aGlzLm1vZGVsLmpvYkJvYXJkcztcbiAgfVxuXG4gIGluaXRpYWxpc2VEZWZhdWx0VmFsdWVzKCkge1xuICAgIHRoaXMuZmlsdGVyZWRQb3N0aW5nQm9hcmRMaXN0ID0gdGhpcy5tb2RlbC5qb2JCb2FyZHM7XG4gICAgdGhpcy5qb2JDb3VudCA9IHRoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aDtcbiAgICB0aGlzLm9yZGVyU3VtbWFyeSA9IHtcbiAgICAgIHRpdGxlOiAnWW91ciBPcmRlcicsXG4gICAgICBpbnZvaWNlQXJlYXM6IFtdLFxuICAgICAgdG90YWw6IHt9IGFzIGFueVxuICAgIH07XG4gIH1cblxuICB1cGRhdGVNb2RhbEhlYWRlcigpIHtcbiAgICBsZXQgc3ViVGl0bGVUb29sdGlwOiBzdHJpbmcgPSAnJztcbiAgICBsZXQgam9iTnVtYmVyID0gMTtcbiAgICB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5mb3JFYWNoKGpvYiA9PiB7XG4gICAgICBzdWJUaXRsZVRvb2x0aXAgPSBzdWJUaXRsZVRvb2x0aXAgKyBgJHtqb2Iuam9iVGl0bGV9IFske2pvYi5pZH1dYDtcbiAgICAgIGlmIChqb2JOdW1iZXIgIT0gdGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UubGVuZ3RoKSB7XG4gICAgICAgIHN1YlRpdGxlVG9vbHRpcCA9IHN1YlRpdGxlVG9vbHRpcCArICc8L2JyPic7XG4gICAgICB9XG4gICAgICBqb2JOdW1iZXIrKztcbiAgICB9KTtcbiAgICB0aGlzLnN1YlRpdGxlID0ge1xuICAgICAgdG9vbHRpcEh0bWw6IHN1YlRpdGxlVG9vbHRpcCxcbiAgICAgIHRleHQ6IGAke3RoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aH0gSm9ic2AsXG4gICAgICBpY29uRmlyc3Q6IGZhbHNlLFxuICAgICAgaWNvbjogSWNvbnMuSU5GTyxcbiAgICAgIHBsYWNlbWVudDogJ3JpZ2h0J1xuICAgIH07XG4gIH1cblxuICBvbktleXdvcmRTZWFyY2goa2V5d29yZDogc3RyaW5nKSB7XG4gICAgdGhpcy5rZXl3b3JkU2VhcmNoQ2hhbmdlLmVtaXQoa2V5d29yZCk7XG4gIH1cblxuICBvbkJ1dHRvbkNsaWNrKHRleHQ6IHN0cmluZykge1xuICAgIHRoaXMuYnV0dG9uQ2xpY2tlZC5lbWl0KHRleHQpO1xuICB9XG5cbiAgb25DbG9zZUJ1dHRvbkNsaWNrKCkge1xuICAgIHRoaXMuY2xvc2VCdXR0b25DbGlja2VkLmVtaXQoKTtcbiAgfVxuXG4gIG9uUG9zdGluZ0JvYXJkQ2hhbmdlKHNlbGVjdGVkQm9hcmQ6IFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbCkge1xuICAgIGNvbnN0IHNlbGVjdGVkSm9iQm9hcmRzID0gdGhpcy5tb2RlbC5qb2JCb2FyZHMuZmlsdGVyKGpiID0+IGpiLmlzU2VsZWN0ZWQpXG4gICAgICAubGVuZ3RoO1xuICAgIGlmIChzZWxlY3RlZEpvYkJvYXJkcyA+IDApIHtcbiAgICAgIHRoaXMudXBkYXRlT3JkZXJTdW1tYXJ5KCk7XG4gICAgfVxuICB9XG5cbiAgYWRkTGluZUl0ZW0oXG4gICAgaW52b2ljZUFyZWFJbmRleDogbnVtYmVyLFxuICAgIHNlbGVjdGVkQm9hcmQ6IFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbFxuICApIHtcbiAgICB0aGlzLm9yZGVyU3VtbWFyeS5pbnZvaWNlQXJlYXNbaW52b2ljZUFyZWFJbmRleF0ubGluZUl0ZW1zLnB1c2goe1xuICAgICAgdGV4dExlZnQ6IHNlbGVjdGVkQm9hcmQuYm9hcmROYW1lLFxuICAgICAgdGV4dFJpZ2h0OiBgJCR7c2VsZWN0ZWRCb2FyZC5ib2FyZFByaWNlfWBcbiAgICB9KTtcbiAgfVxuXG4gIGNhbGN1bGF0ZUludm9pY2VBcmVhVG90YWwoaW52b2ljZUFyZWFJbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBsZXQgaW52b2ljZUFyZWFUb3RhbCA9IDA7XG4gICAgdGhpcy5vcmRlclN1bW1hcnkuaW52b2ljZUFyZWFzW2ludm9pY2VBcmVhSW5kZXhdLmxpbmVJdGVtcy5mb3JFYWNoKGxpID0+IHtcbiAgICAgIGludm9pY2VBcmVhVG90YWwgPSBpbnZvaWNlQXJlYVRvdGFsICsgK2xpLnRleHRSaWdodC5yZXBsYWNlKCckJywgJycpO1xuICAgIH0pO1xuICAgIHRoaXMub3JkZXJTdW1tYXJ5Lmludm9pY2VBcmVhc1tcbiAgICAgIGludm9pY2VBcmVhSW5kZXhcbiAgICBdLnN1YlRvdGFsLnRleHRSaWdodCA9IGAkJHtpbnZvaWNlQXJlYVRvdGFsICpcbiAgICAgIHRoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aH1gO1xuICAgIHRoaXMub3JkZXJTdW1tYXJ5Lmludm9pY2VBcmVhc1tcbiAgICAgIGludm9pY2VBcmVhSW5kZXhcbiAgICBdLnRvdGFsLnRleHRSaWdodCA9IGAkJHtpbnZvaWNlQXJlYVRvdGFsfWA7XG4gICAgcmV0dXJuIGludm9pY2VBcmVhVG90YWwgKiB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGg7XG4gIH1cblxuICBjYWxjdWxhdGVPcmRlclRvdGFsKHBheVBlckNsaWNrQXJlYVRvdGFsOiBudW1iZXIsIGpvYkJvYXJkQXJlYVRvdGFsOiBudW1iZXIpIHtcbiAgICBjb25zdCBzZWxlY3RlZEpvYkJvYXJkcyA9IHRoaXMubW9kZWwuam9iQm9hcmRzLmZpbHRlcihqYiA9PiBqYi5pc1NlbGVjdGVkKVxuICAgICAgLmxlbmd0aDtcblxuICAgIGNvbnN0IGpvYlRvQWR2ZXJ0aXNlQ291bnQgPSB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGg7XG5cbiAgICBjb25zdCBvcmRlclN1bW1hcnlUZXh0ID0gYCgke3NlbGVjdGVkSm9iQm9hcmRzfSkgQm9hcmRzIHggJHtcbiAgICAgIHRoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aFxuICAgIH0gSm9icyA9ICgke3NlbGVjdGVkSm9iQm9hcmRzICogam9iVG9BZHZlcnRpc2VDb3VudH0pIEFkc2A7XG5cbiAgICB0aGlzLm9yZGVyU3VtbWFyeS50b3RhbCA9IHtcbiAgICAgIGxhYmVsOiAnQ3VycmVudCBUb3RhbCcsXG4gICAgICB0ZXh0TGVmdDogJycsXG4gICAgICB0ZXh0UmlnaHQ6IGAkJHtwYXlQZXJDbGlja0FyZWFUb3RhbCArIGpvYkJvYXJkQXJlYVRvdGFsfWBcbiAgICB9O1xuICB9XG5cbiAgdXBkYXRlT3JkZXJTdW1tYXJ5KCkge1xuICAgIHRoaXMub3JkZXJTdW1tYXJ5ID0ge1xuICAgICAgdGl0bGU6ICdZb3VyIE9yZGVyJyxcbiAgICAgIGludm9pY2VBcmVhczogW1xuICAgICAgICB7XG4gICAgICAgICAgbGluZUl0ZW1zOiBbXSxcbiAgICAgICAgICB0b3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdQYXktUGVyLUNsaWNrIFNpdGVzLCBTdWJ0b3RhbCBQZXIgSm9iOicsXG4gICAgICAgICAgICB0ZXh0UmlnaHQ6IGBgXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzdWJUb3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdQYXktUGVyLUNsaWNrIFNpdGVzIFN1YnRvdGFsJyxcbiAgICAgICAgICAgIHRleHRSaWdodDogYHggKCR7dGhpcy5qb2JDb3VudH0pIEpvYnMgPSAkMGBcbiAgICAgICAgICB9LFxuICAgICAgICAgIGpvYnNUb0FkdmVydGlzZTogYHggKCR7dGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UubGVuZ3RofSkgSm9icyBTZWxlY3RlZGBcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGxpbmVJdGVtczogW10sXG4gICAgICAgICAgc3ViVG90YWw6IHtcbiAgICAgICAgICAgIHRleHRMZWZ0OiAnSm9iIEJvYXJkcyBTdWJ0b3RhbCcsXG4gICAgICAgICAgICB0ZXh0UmlnaHQ6IGB4ICgke3RoaXMuam9iQ291bnR9KSBKb2JzID0gJDBgXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0b3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdEdXJhdGlvbiBKb2IgQm9hcmRzLCBTdWJ0b3RhbCBQZXIgSm9iOicsXG4gICAgICAgICAgICB0ZXh0UmlnaHQ6IGBgXG4gICAgICAgICAgfSxcbiAgICAgICAgICBqb2JzVG9BZHZlcnRpc2U6IGB4ICgke3RoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aH0pIEpvYnMgU2VsZWN0ZWRgXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICB0b3RhbDoge1xuICAgICAgICB0ZXh0TGVmdDogJycsXG4gICAgICAgIHRleHRSaWdodDogJycsXG4gICAgICAgIGxhYmVsOiAnQ3VycmVudCBUb3RhbCdcbiAgICAgIH1cbiAgICB9O1xuICAgIHRoaXMubW9kZWwuam9iQm9hcmRzLmZvckVhY2goamIgPT4ge1xuICAgICAgaWYgKGpiLmlzU2VsZWN0ZWQpIHtcbiAgICAgICAgaWYgKGpiLmlzUGF5UGVyQ2xpY2spIHtcbiAgICAgICAgICB0aGlzLmFkZExpbmVJdGVtKDAsIGpiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmFkZExpbmVJdGVtKDEsIGpiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgcGF5UGVyQ2xpY2tBcmVhVG90YWwgPSB0aGlzLmNhbGN1bGF0ZUludm9pY2VBcmVhVG90YWwoMCk7XG4gICAgY29uc3Qgam9iQm9hcmRBcmVhVG90YWwgPSB0aGlzLmNhbGN1bGF0ZUludm9pY2VBcmVhVG90YWwoMSk7XG4gICAgdGhpcy5jYWxjdWxhdGVPcmRlclRvdGFsKHBheVBlckNsaWNrQXJlYVRvdGFsLCBqb2JCb2FyZEFyZWFUb3RhbCk7XG4gICAgaWYgKHRoaXMubW9kZWwuam9iQm9hcmRzLmZpbHRlcihqYiA9PiBqYi5pc1NlbGVjdGVkKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuaXNKb2JCb2FyZE5leHRCdXR0b25EaXNhYmxlZCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNKb2JCb2FyZE5leHRCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLnBvc3RpbmdCb2FyZENoYW5nZS5lbWl0KHRoaXMubW9kZWwpO1xuICB9XG59XG4iLCI8c3ltcGhvbnktdHdvLWNvbHVtbi1tb2RhbC10ZW1wbGF0ZSAqbmdJZj1cIiFtb2RlbC5uYXZpZ2F0aW9uLnNob3dDYW5jZWxcIj5cbiAgPHN5bXBob255LWg0XG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dKb2JCb2FyZHNTZWxlY3Rpb24gJiYgIW1vZGVsLmlzTG9hZGluZ1wiXG4gICAgc2Z4LW1vZGFsLXRpdGxlXG4gICAgPlNlbGVjdCBZb3VyIEpvYiBBZCBCdXlzPC9zeW1waG9ueS1oNFxuICA+XG4gIDxzeW1waG9ueS1oNCAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd09yZGVyUmV2aWV3XCIgc2Z4LW1vZGFsLXRpdGxlXG4gICAgPlJldmlldyB5b3UgSm9iIEFkIEJ1eXM8L3N5bXBob255LWg0XG4gID5cbiAgPHN5bXBob255LWg0ICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93Q29uZmlybWF0aW9uXCIgc2Z4LW1vZGFsLXRpdGxlXG4gICAgPkNvbmZpcm1hdGlvbiBvZiB5b3VyIEpvYiBBZCBCdXlzPC9zeW1waG9ueS1oNFxuICA+XG4gIDxzeW1waG9ueS1oNCAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd1Byb2Nlc3NpbmdcIiBzZngtbW9kYWwtdGl0bGVcbiAgICA+UHJvY2Vzc2luZyBPcmRlci4uLjwvc3ltcGhvbnktaDRcbiAgPlxuICA8c3ltcGhvbnktaDQgKm5nSWY9XCJtb2RlbC5pc0xvYWRpbmdcIiBzZngtbW9kYWwtdGl0bGVcbiAgICA+TG9hZGluZyBKb2IgQm9hcmRzLi4uPC9zeW1waG9ueS1oNFxuICA+XG4gIDxzeW1waG9ueS1pY29uXG4gICAgc2Z4LWNsb3NlLWJ1dHRvblxuICAgIFtpY29uXT1cIidzaS1jbG9zZS1tb2RhbCdcIlxuICAgIChjbGlja2VkKT1cIm9uQ2xvc2VCdXR0b25DbGljaygpXCJcbiAgPjwvc3ltcGhvbnktaWNvbj5cbiAgPHN5bXBob255LWg1LXdpdGgtaWNvbiBzZngtbW9kYWwtc3VidGl0bGUgW21vZGVsXT1cInN1YlRpdGxlXCI+XG4gIDwvc3ltcGhvbnktaDUtd2l0aC1pY29uPlxuXG4gIDxzeW1waG9ueS10d28tY29sdW1uLWJvZHktdGVtcGxhdGVcbiAgICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93Sm9iQm9hcmRzU2VsZWN0aW9uXCJcbiAgICBbc2hvd0hlYWRlcl09XCJ0cnVlXCJcbiAgICBzZngtbW9kYWwtYm9keS1hcmVhXG4gID5cbiAgICA8c3ltcGhvbnktaW5wdXQtdGV4dFxuICAgICAgc2Z4LWxlZnQtY29sLWhlYWRlclxuICAgICAgW25vTWFyZ2luXT1cInRydWVcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIidTZWFyY2ggQWQgQm9hcmRzJ1wiXG4gICAgICBbaWNvbl09XCInc2ktc2VhcmNoLW5ldydcIlxuICAgICAgKHRleHRDaGFuZ2UpPVwib25LZXl3b3JkU2VhcmNoKCRldmVudClcIlxuICAgID5cbiAgICA8L3N5bXBob255LWlucHV0LXRleHQ+XG4gICAgPGRpdiBjbGFzcz1cInJpZ2h0LWNvbC1oZWFkZXItaW5uZXJcIiBzZngtcmlnaHQtY29sLWhlYWRlcj5cbiAgICAgIDxzeW1waG9ueS1oNS13aXRoLWljb25cbiAgICAgICAgc2Z4LXJpZ2h0LWNvbC1oZWFkZXJcbiAgICAgICAgKm5nSWY9XCJtb2RlbC5zaG93RnVuZHNcIlxuICAgICAgICBjbGFzcz1cInB1bGwtcmlnaHRcIlxuICAgICAgICBbbW9kZWxdPVwiZnVuZHNJbmZvXCJcbiAgICAgID48L3N5bXBob255LWg1LXdpdGgtaWNvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IHNmeC1sZWZ0LWNvbHVtbiBjbGFzcz1cInBvc3RpbmctYm9hcmRzIHNmeC1wci0xMFwiPlxuICAgICAgPHN5bXBob255LWFkdmVydGlzZS1wb3N0aW5nYm9hcmQtc2VsZWN0aW9uLWxpc3RcbiAgICAgICAgW21vZGVsXT1cIm1vZGVsLmpvYkJvYXJkc1wiXG4gICAgICAgIChwb3N0aW5nQm9hcmRDaGFuZ2UpPVwib25Qb3N0aW5nQm9hcmRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICA+PC9zeW1waG9ueS1hZHZlcnRpc2UtcG9zdGluZ2JvYXJkLXNlbGVjdGlvbi1saXN0PlxuICAgIDwvZGl2PlxuXG4gICAgPHN5bXBob255LW9yZGVyLXN1bW1hcnlcbiAgICAgIHNmeC1yaWdodC1jb2x1bW5cbiAgICAgIFttb2RlbF09XCJvcmRlclN1bW1hcnlcIlxuICAgID48L3N5bXBob255LW9yZGVyLXN1bW1hcnk+XG4gIDwvc3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlPlxuXG4gIDxzeW1waG9ueS10d28tY29sdW1uLWJvZHktdGVtcGxhdGVcbiAgICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93T3JkZXJSZXZpZXdcIlxuICAgIHNmeC1tb2RhbC1ib2R5LWFyZWFcbiAgICBjbGFzcz1cImhlaWdodC13cmFwcGVyXCJcbiAgPlxuICAgIDxzeW1waG9ueS1vcmRlci1zdW1tYXJ5XG4gICAgICBzZngtbGVmdC1jb2x1bW5cbiAgICAgIFttb2RlbF09XCJvcmRlclN1bW1hcnlcIlxuICAgID48L3N5bXBob255LW9yZGVyLXN1bW1hcnk+XG5cbiAgICA8ZGl2XG4gICAgICBzZngtcmlnaHQtY29sdW1uXG4gICAgICBjbGFzcz1cInBvc3RpbmctYm9hcmRzIHBoYXNlciBjZW50ZXItaC12IGxpZ2h0LWdyZXktYmdcIlxuICAgID5cbiAgICAgIDxzeW1waG9ueS1waGFzZXItY2FyZCBbbW9kZWxdPVwicGhhc2VyQ2FyZFJldmlld1wiPjwvc3ltcGhvbnktcGhhc2VyLWNhcmQ+XG4gICAgPC9kaXY+XG4gIDwvc3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlPlxuXG4gIDxzeW1waG9ueS10d28tY29sdW1uLWJvZHktdGVtcGxhdGVcbiAgICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93Q29uZmlybWF0aW9uXCJcbiAgICBzZngtbW9kYWwtYm9keS1hcmVhXG4gICAgY2xhc3M9XCJoZWlnaHQtd3JhcHBlclwiXG4gID5cbiAgICA8c3ltcGhvbnktb3JkZXItc3VtbWFyeVxuICAgICAgc2Z4LWxlZnQtY29sdW1uXG4gICAgICBbbW9kZWxdPVwib3JkZXJTdW1tYXJ5XCJcbiAgICA+PC9zeW1waG9ueS1vcmRlci1zdW1tYXJ5PlxuICAgIDxkaXZcbiAgICAgIHNmeC1yaWdodC1jb2x1bW5cbiAgICAgIGNsYXNzPVwicG9zdGluZy1ib2FyZHMgcGhhc2VyIGNlbnRlci1oLXYgbGlnaHQtZ3JleS1iZ1wiXG4gICAgPlxuICAgICAgPHN5bXBob255LXBoYXNlci1jYXJkXG4gICAgICAgIFttb2RlbF09XCJwaGFzZXJDYXJkQ29uZmlybWF0aW9uXCJcbiAgICAgID48L3N5bXBob255LXBoYXNlci1jYXJkPlxuICAgIDwvZGl2PlxuICA8L3N5bXBob255LXR3by1jb2x1bW4tYm9keS10ZW1wbGF0ZT5cblxuICA8ZGl2XG4gICAgKm5nSWY9XCIhbW9kZWwuaXNMb2FkaW5nICYmIG1vZGVsLm5hdmlnYXRpb24uc2hvd1Byb2Nlc3NpbmdcIlxuICAgIHNmeC1tb2RhbC1ib2R5LWFyZWFcbiAgICBjbGFzcz1cInBvc3RpbmctYm9hcmRzIHNmeC1wLTMwXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJwcm9jZXNzaW5nLWNvbnRhaW5lclwiPlxuICAgICAgPHN5bXBob255LXBhcmFncmFwaFxuICAgICAgICA+PGI+U21hc2hGbHlYPC9iPiBpcyBzdWJtaXR0aW5nIHlvdXIgb3JkZXIgdG8geW91ciBzZWxlY3RlZCBqb2IgYm9hcmRzLlxuICAgICAgICBTb21lIG9yZGVycyBoYXBwZW4gaW1tZWRpYXRlbHksIHdoaWxlIG90aGVycyB0YWtlIGEgbGl0dGxlIG1vcmUgdGltZS5cbiAgICAgICAgQ2hlY2sgeW91ciBvcmRlciBzdGF0dXMgaWYgeW91IGRvbid0IHJlY2lldmUgYSBjb25maXJtYXRpb24gaW4gdGhlIG5leHRcbiAgICAgICAgMjRob3Vycy48L3N5bXBob255LXBhcmFncmFwaFxuICAgICAgPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzZngtbXQtODBcIj5cbiAgICAgIDxzeW1waG9ueS1zZngtbG9hZGVyPjwvc3ltcGhvbnktc2Z4LWxvYWRlcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImxvYWRlci1jb250YWluZXJcIiAqbmdJZj1cIm1vZGVsLmlzTG9hZGluZ1wiIHNmeC1tb2RhbC1ib2R5LWFyZWE+XG4gICAgPHN5bXBob255LXNmeC1sb2FkZXI+PC9zeW1waG9ueS1zZngtbG9hZGVyPlxuICA8L2Rpdj5cblxuICA8c3ltcGhvbnktYnV0dG9uXG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dKb2JCb2FyZHNTZWxlY3Rpb25cIlxuICAgIHNmeC1idXR0b24tc2Vjb25kYXJ5XG4gICAgW3RleHRdPVwiJ0NhbmNlbCdcIlxuICAgIFtpc1NlY29uZGFyeV09XCJ0cnVlXCJcbiAgICBbaXNJbnZlcnNlXT1cInRydWVcIlxuICAgIChjbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gID48L3N5bXBob255LWJ1dHRvbj5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93Sm9iQm9hcmRzU2VsZWN0aW9uXCJcbiAgICBzZngtYnV0dG9uLXByaW1hcnlcbiAgICBbdGV4dF09XCInUmV2aWV3IE9yZGVyJ1wiXG4gICAgW2Rpc2FibGVkXT1cImlzSm9iQm9hcmROZXh0QnV0dG9uRGlzYWJsZWRcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuXG4gIDxzeW1waG9ueS1idXR0b25cbiAgICAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd09yZGVyUmV2aWV3XCJcbiAgICBzZngtYnV0dG9uLWJhY2tcbiAgICBbdGV4dF09XCInRWRpdCBPcmRlcidcIlxuICAgIFtpc1NlY29uZGFyeV09XCJ0cnVlXCJcbiAgICBbaXNJbnZlcnNlXT1cInRydWVcIlxuICAgIChjbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gID48L3N5bXBob255LWJ1dHRvbj5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93T3JkZXJSZXZpZXdcIlxuICAgIHNmeC1idXR0b24tc2Vjb25kYXJ5XG4gICAgW3RleHRdPVwiJ0NhbmNlbCdcIlxuICAgIFtpc1NlY29uZGFyeV09XCJ0cnVlXCJcbiAgICBbaXNJbnZlcnNlXT1cInRydWVcIlxuICAgIChjbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gID48L3N5bXBob255LWJ1dHRvbj5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93T3JkZXJSZXZpZXdcIlxuICAgIHNmeC1idXR0b24tcHJpbWFyeVxuICAgIFt0ZXh0XT1cIidCdXknXCJcbiAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuXG4gIDxzeW1waG9ueS1idXR0b25cbiAgICAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd0NvbmZpcm1hdGlvblwiXG4gICAgc2Z4LWJ1dHRvbi1wcmltYXJ5XG4gICAgW3RleHRdPVwiJ0ZpbmlzaCAmIENsb3NlJ1wiXG4gICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcbiAgICBbaXNJbnZlcnNlXT1cInRydWVcIlxuICAgIChjbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gID48L3N5bXBob255LWJ1dHRvbj5cbjwvc3ltcGhvbnktdHdvLWNvbHVtbi1tb2RhbC10ZW1wbGF0ZT5cbjxzeW1waG9ueS1jb25maXJtYXRpb24tbW9kYWxcbiAgKm5nSWY9XCIhbW9kZWwuaXNMb2FkaW5nICYmIG1vZGVsLm5hdmlnYXRpb24uc2hvd0NhbmNlbFwiXG4gIChidXR0b25DbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gIChjbG9zZUJ1dHRvbkNsaWNrZWQpPVwib25DbG9zZUJ1dHRvbkNsaWNrKClcIlxuICBbbW9kZWxdPVwiY2FuY2VsQ29udGVudFwiXG4+XG48L3N5bXBob255LWNvbmZpcm1hdGlvbi1tb2RhbD5cbiJdfQ==
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2ZXJ0aXNlLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvcGFnZXMvbW9kYWxzL2FkdmVydGlzZS1tb2RhbC9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9wYWdlcy9tb2RhbHMvYWR2ZXJ0aXNlLW1vZGFsL2FkdmVydGlzZS1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFVdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVMzRSxNQUFNLE9BQU8sdUJBQXVCO0lBNEJsQyxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQXpCbEMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzNDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDaEQsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBRTVDLENBQUM7UUFDTSx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBS3BELGNBQVMsR0FBb0I7WUFDbEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ3hCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsSUFBSSxFQUFFLGtCQUFrQjtZQUN4QixTQUFTLEVBQUUsU0FB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Qyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsb0JBQW9CLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUNsRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ2pFLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxJQUFJLENBQUM7U0FDMUM7YUFBTTtZQUNMLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxLQUFLLENBQUM7U0FDM0M7UUFDRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDOztvSEFqUFUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsOFJDL0JwQyx3aExBaUxBOzJGRGxKYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0UsMEJBQTBCLGlCQUdyQixpQkFBaUIsQ0FBQyxJQUFJO2tHQUc1QixLQUFLO3NCQUFiLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUdHLG1CQUFtQjtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi8uLi8uLi9hdG9tcy9pY29uL2ljb24uZW51bSc7XG5pbXBvcnQgeyBPcmRlclN1bW1hcnlNb2RlbCB9IGZyb20gJy4uLy4uLy4uL29yZ2FuaXNtcy9vcmRlci1zdW1tYXJ5L29yZGVyLXN1bW1hcnkubW9kZWwnO1xuaW1wb3J0IHsgSDVXaXRoSWNvbk1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9sZWN1bGVzL2g1LXdpdGgtaWNvbi9oNS13aXRoLWljb24ubW9kZWwnO1xuaW1wb3J0IHtcbiAgQWR2ZXJ0aXNlTW9kYWxNb2RlbCxcbiAgUG9zdGluZ0JvYXJkc1NlbGVjdGlvbk1vZGVsXG59IGZyb20gJy4vYWR2ZXJ0aXNlLW1vZGFsLm1vZGVsJztcbmltcG9ydCB7IEludm9pY2VNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vbGVjdWxlcy9pbnZvaWNlLWxpbmUtaXRlbS9pbnZvaWNlLWxpbmUtaXRlbS5tb2RlbCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25Nb2RlbCB9IGZyb20gJy4uLy4uLy4uL29yZ2FuaXNtcy9jb25maXJtYXRpb24tbW9kYWwvY29uZmlybWF0aW9uLW1vZGFsLm1vZGVsJztcbmltcG9ydCB7IFBoYXNlckNhcmRNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vbGVjdWxlcy9waGFzZXItY2FyZC9waGFzZXItY2FyZC5tb2RlbCc7XG5pbXBvcnQgeyBQaGFzZXJzIH0gZnJvbSAnLi4vLi4vLi4vYXRvbXMvcGhhc2VyL3BoYXNlci5lbnVtJztcbmltcG9ydCB7IENvbG9yTmFtZXMgfSBmcm9tICcuLi8uLi8uLi9hdG9tcy9jb2xvci1zYW1wbGUvY29sb3Itc2FtcGxlLmVudW0nO1xuaW1wb3J0IHsgRGVjaW1hbFBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzeW1waG9ueS1hZHZlcnRpc2UtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWR2ZXJ0aXNlLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWR2ZXJ0aXNlLW1vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQWR2ZXJ0aXNlTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIG1vZGVsOiBQYXJ0aWFsPEFkdmVydGlzZU1vZGFsTW9kZWw+O1xuXG4gIEBPdXRwdXQoKSBidXR0b25DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBjbG9zZUJ1dHRvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIHBvc3RpbmdCb2FyZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgUGFydGlhbDxBZHZlcnRpc2VNb2RhbE1vZGVsPlxuICA+KCk7XG4gIEBPdXRwdXQoKSBrZXl3b3JkU2VhcmNoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgcHVibGljIGZpbHRlcmVkUG9zdGluZ0JvYXJkTGlzdDogUG9zdGluZ0JvYXJkc1NlbGVjdGlvbk1vZGVsW107XG4gIHB1YmxpYyBvcmRlclN1bW1hcnk6IE9yZGVyU3VtbWFyeU1vZGVsO1xuICBwdWJsaWMgc3ViVGl0bGU6IEg1V2l0aEljb25Nb2RlbDtcbiAgcHVibGljIGZ1bmRzSW5mbzogSDVXaXRoSWNvbk1vZGVsID0ge1xuICAgIGljb246IEljb25zLkNPTkZJUk1BVElPTixcbiAgICBpY29uRmlyc3Q6IHRydWUsXG4gICAgdGV4dDogJ1N1ZmZpY2llbnQgRnVuZHMnLFxuICAgIGljb25Db2xvcjogJyMwMEQ1NkInXG4gIH07XG4gIHB1YmxpYyBjYW5jZWxDb250ZW50OiBDb25maXJtYXRpb25Nb2RlbDtcbiAgcHVibGljIHBoYXNlckNhcmRSZXZpZXc6IFBoYXNlckNhcmRNb2RlbDtcbiAgcHVibGljIHBoYXNlckNhcmRDb25maXJtYXRpb246IFBoYXNlckNhcmRNb2RlbDtcbiAgcHVibGljIHBheVBlckNsaWNrQm9hcmRzOiBJbnZvaWNlTW9kZWxbXSA9IFtdO1xuICBwdWJsaWMgam9iQm9hcmRzOiBJbnZvaWNlTW9kZWxbXSA9IFtdO1xuICBwdWJsaWMgam9iQ291bnQ6IG51bWJlciA9IDA7XG4gIHB1YmxpYyBtb2RhbFRpdGxlOiBzdHJpbmcgPSAnJztcbiAgcHVibGljIGlzSm9iQm9hcmROZXh0QnV0dG9uRGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkZWNpbWFsUGlwZTogRGVjaW1hbFBpcGUpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsaXNlRGVmYXVsdFZhbHVlcygpO1xuICAgIHRoaXMudXBkYXRlTW9kYWxIZWFkZXIoKTtcbiAgICBjb25zdCBzZWxlY3RlZEpvYkJvYXJkcyA9IHRoaXMubW9kZWwuam9iQm9hcmRzLmZpbHRlcihqYiA9PiBqYi5pc1NlbGVjdGVkKVxuICAgICAgLmxlbmd0aDtcbiAgICBpZiAoc2VsZWN0ZWRKb2JCb2FyZHMgPiAwKSB7XG4gICAgICB0aGlzLnVwZGF0ZU9yZGVyU3VtbWFyeSgpO1xuICAgIH1cbiAgICB0aGlzLmNhbmNlbENvbnRlbnQgPSB7XG4gICAgICB0aXRsZTogJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBhYmFuZG9uIHlvdXIgb3JkZXI/JyxcbiAgICAgIGNvbnRlbnQ6XG4gICAgICAgICdBbGwgc2VsZWN0aW9ucyB3aWxsIGJlIGRlbGV0ZWQgYW5kIHlvdSB3aWxsIGhhdmUgdG8gc3RhcnQgb3Zlci4nLFxuICAgICAgYnRuUHJpbWFyeTogJ0NvbnRpbnVlIE9yZGVyJyxcbiAgICAgIGJ0blNlY29uZGFyeTogJ0FiYW5kb24gT3JkZXInXG4gICAgfTtcbiAgICB0aGlzLnBoYXNlckNhcmRSZXZpZXcgPSB7XG4gICAgICBwaGFzZXJTdGF0ZTogUGhhc2Vycy5JTlRFTCxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogQ29sb3JOYW1lcy5PUkFOR0UsXG4gICAgICBleWVicm93VGV4dDogJ1JldmlldyBEYXRhJyxcbiAgICAgIG1lc3NhZ2VCb2R5OiAnT25jZSB5b3UgY2xpY2sgYnV5LCB3ZSB3aWxsIHByb2Nlc3MgeW91ciBvcmRlci4nLFxuICAgICAgaWNvbjogSWNvbnMuSU5GTyxcbiAgICAgIGhhc0FuaW1hdGlvbjogdHJ1ZSxcbiAgICAgIGNhcmRXaWR0aFB4OiAzMDBcbiAgICB9O1xuICAgIHRoaXMucGhhc2VyQ2FyZENvbmZpcm1hdGlvbiA9IHtcbiAgICAgIHBoYXNlclN0YXRlOiBQaGFzZXJzLkhBUFBZMixcbiAgICAgIGJhY2tncm91bmRDb2xvcjogQ29sb3JOYW1lcy5HUkVFTixcbiAgICAgIGV5ZWJyb3dUZXh0OiAnT3JkZXIgcHJvY2Vzc2VkJyxcbiAgICAgIG1lc3NhZ2VCb2R5OiAnV29vaG9vISBZb3VyIG9yZGVyIGlzIG5vdyBjb21wbGV0ZS4nLFxuICAgICAgaWNvbjogSWNvbnMuQ09ORklSTUFUSU9OLFxuICAgICAgaGFzQW5pbWF0aW9uOiB0cnVlLFxuICAgICAgY2FyZFdpZHRoUHg6IDMwMFxuICAgIH07XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJlZFBvc3RpbmdCb2FyZExpc3QgPSB0aGlzLm1vZGVsLmpvYkJvYXJkcztcbiAgfVxuXG4gIGluaXRpYWxpc2VEZWZhdWx0VmFsdWVzKCkge1xuICAgIHRoaXMuZmlsdGVyZWRQb3N0aW5nQm9hcmRMaXN0ID0gdGhpcy5tb2RlbC5qb2JCb2FyZHM7XG4gICAgdGhpcy5qb2JDb3VudCA9IHRoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aDtcbiAgICB0aGlzLm9yZGVyU3VtbWFyeSA9IHtcbiAgICAgIHRpdGxlOiAnWW91ciBPcmRlcicsXG4gICAgICBpbnZvaWNlQXJlYXM6IFtdLFxuICAgICAgdG90YWw6IHt9IGFzIGFueVxuICAgIH07XG4gIH1cblxuICB1cGRhdGVNb2RhbEhlYWRlcigpIHtcbiAgICBsZXQgc3ViVGl0bGVUb29sdGlwOiBzdHJpbmcgPSAnJztcbiAgICBsZXQgam9iTnVtYmVyID0gMTtcbiAgICB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5mb3JFYWNoKGpvYiA9PiB7XG4gICAgICBzdWJUaXRsZVRvb2x0aXAgPSBzdWJUaXRsZVRvb2x0aXAgKyBgJHtqb2Iuam9iVGl0bGV9IFske2pvYi5pZH1dYDtcbiAgICAgIGlmIChqb2JOdW1iZXIgIT0gdGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UubGVuZ3RoKSB7XG4gICAgICAgIHN1YlRpdGxlVG9vbHRpcCA9IHN1YlRpdGxlVG9vbHRpcCArICc8L2JyPic7XG4gICAgICB9XG4gICAgICBqb2JOdW1iZXIrKztcbiAgICB9KTtcbiAgICB0aGlzLnN1YlRpdGxlID0ge1xuICAgICAgdG9vbHRpcEh0bWw6IHN1YlRpdGxlVG9vbHRpcCxcbiAgICAgIHRleHQ6IGAke3RoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aH0gSm9ic2AsXG4gICAgICBpY29uRmlyc3Q6IGZhbHNlLFxuICAgICAgaWNvbjogSWNvbnMuSU5GTyxcbiAgICAgIHBsYWNlbWVudDogJ3JpZ2h0J1xuICAgIH07XG4gIH1cblxuICBvbktleXdvcmRTZWFyY2goa2V5d29yZDogc3RyaW5nKSB7XG4gICAgdGhpcy5rZXl3b3JkU2VhcmNoQ2hhbmdlLmVtaXQoa2V5d29yZCk7XG4gIH1cblxuICBvbkJ1dHRvbkNsaWNrKHRleHQ6IHN0cmluZykge1xuICAgIHRoaXMuYnV0dG9uQ2xpY2tlZC5lbWl0KHRleHQpO1xuICB9XG5cbiAgb25DbG9zZUJ1dHRvbkNsaWNrKCkge1xuICAgIHRoaXMuY2xvc2VCdXR0b25DbGlja2VkLmVtaXQoKTtcbiAgfVxuXG4gIG9uUG9zdGluZ0JvYXJkQ2hhbmdlKHNlbGVjdGVkQm9hcmQ6IFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbCkge1xuICAgIGNvbnN0IHNlbGVjdGVkSm9iQm9hcmRzID0gdGhpcy5tb2RlbC5qb2JCb2FyZHMuZmlsdGVyKGpiID0+IGpiLmlzU2VsZWN0ZWQpO1xuICAgIGlmIChzZWxlY3RlZEpvYkJvYXJkcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnVwZGF0ZU9yZGVyU3VtbWFyeSgpO1xuICAgIH1cbiAgICBjb25zdCBpbnZhbGlkSm9iQm9hcmRzID0gc2VsZWN0ZWRKb2JCb2FyZHMuZmlsdGVyKGpiID0+IGpiLmlzSW52YWxpZClcbiAgICAgIC5sZW5ndGg7XG4gICAgaWYgKGludmFsaWRKb2JCb2FyZHMgPiAwKSB7XG4gICAgICB0aGlzLmlzSm9iQm9hcmROZXh0QnV0dG9uRGlzYWJsZWQgPSB0cnVlO1xuICAgIH1cbiAgICBjb25zdCBlZGl0TW9kZUpvYkJvYXJkcyA9IHNlbGVjdGVkSm9iQm9hcmRzLmZpbHRlcihqYiA9PiBqYi5pc0luRWRpdE1vZGUpXG4gICAgICAubGVuZ3RoO1xuICAgIGlmIChlZGl0TW9kZUpvYkJvYXJkcyA+IDApIHtcbiAgICAgIHRoaXMuaXNKb2JCb2FyZE5leHRCdXR0b25EaXNhYmxlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgYWRkTGluZUl0ZW0oXG4gICAgaW52b2ljZUFyZWFJbmRleDogbnVtYmVyLFxuICAgIHNlbGVjdGVkQm9hcmQ6IFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbFxuICApIHtcbiAgICBsZXQgZm9ybWF0dGVkQm9hcmRQcmljZSA9IHRoaXMuZGVjaW1hbFBpcGUudHJhbnNmb3JtKFxuICAgICAgc2VsZWN0ZWRCb2FyZC5ib2FyZFByaWNlLFxuICAgICAgJzEuMCcsXG4gICAgICAnZW4tVVMnXG4gICAgKTtcbiAgICB0aGlzLm9yZGVyU3VtbWFyeS5pbnZvaWNlQXJlYXNbaW52b2ljZUFyZWFJbmRleF0ubGluZUl0ZW1zLnB1c2goe1xuICAgICAgdGV4dExlZnQ6IHNlbGVjdGVkQm9hcmQuYm9hcmROYW1lLFxuICAgICAgdGV4dFJpZ2h0OiBgJCR7Zm9ybWF0dGVkQm9hcmRQcmljZX1gXG4gICAgfSk7XG4gIH1cblxuICBjYWxjdWxhdGVJbnZvaWNlQXJlYVRvdGFsKGludm9pY2VBcmVhSW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgbGV0IGludm9pY2VBcmVhVG90YWwgPSAwO1xuICAgIHRoaXMub3JkZXJTdW1tYXJ5Lmludm9pY2VBcmVhc1tpbnZvaWNlQXJlYUluZGV4XS5saW5lSXRlbXMuZm9yRWFjaChsaSA9PiB7XG4gICAgICBpbnZvaWNlQXJlYVRvdGFsID1cbiAgICAgICAgaW52b2ljZUFyZWFUb3RhbCArICtsaS50ZXh0UmlnaHQucmVwbGFjZSgnJCcsICcnKS5yZXBsYWNlKCcsJywgJycpO1xuICAgIH0pO1xuICAgIGxldCBzdWJUb3RhbCA9IGludm9pY2VBcmVhVG90YWwgKiB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGg7XG4gICAgdGhpcy5vcmRlclN1bW1hcnkuaW52b2ljZUFyZWFzW1xuICAgICAgaW52b2ljZUFyZWFJbmRleFxuICAgIF0uc3ViVG90YWwudGV4dFJpZ2h0ID0gYCQke3RoaXMuZGVjaW1hbFBpcGUudHJhbnNmb3JtKFxuICAgICAgc3ViVG90YWwsXG4gICAgICAnMS4wJyxcbiAgICAgICdlbi1VUydcbiAgICApfWA7XG4gICAgdGhpcy5vcmRlclN1bW1hcnkuaW52b2ljZUFyZWFzW1xuICAgICAgaW52b2ljZUFyZWFJbmRleFxuICAgIF0udG90YWwudGV4dFJpZ2h0ID0gYCQke3RoaXMuZGVjaW1hbFBpcGUudHJhbnNmb3JtKFxuICAgICAgaW52b2ljZUFyZWFUb3RhbC50b1N0cmluZygpLnJlcGxhY2UoJywnLCAnJyksXG4gICAgICAnMS4wJyxcbiAgICAgICdlbi1VUydcbiAgICApfWA7XG4gICAgcmV0dXJuIGludm9pY2VBcmVhVG90YWwgKiB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGg7XG4gIH1cblxuICBjYWxjdWxhdGVPcmRlclRvdGFsKHBheVBlckNsaWNrQXJlYVRvdGFsOiBudW1iZXIsIGpvYkJvYXJkQXJlYVRvdGFsOiBudW1iZXIpIHtcbiAgICBjb25zdCBzZWxlY3RlZEpvYkJvYXJkcyA9IHRoaXMubW9kZWwuam9iQm9hcmRzLmZpbHRlcihqYiA9PiBqYi5pc1NlbGVjdGVkKVxuICAgICAgLmxlbmd0aDtcblxuICAgIGNvbnN0IGpvYlRvQWR2ZXJ0aXNlQ291bnQgPSB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGg7XG5cbiAgICBjb25zdCBvcmRlclN1bW1hcnlUZXh0ID0gYCgke3NlbGVjdGVkSm9iQm9hcmRzfSkgQm9hcmRzIHggJHtcbiAgICAgIHRoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aFxuICAgIH0gSm9icyA9ICgke3NlbGVjdGVkSm9iQm9hcmRzICogam9iVG9BZHZlcnRpc2VDb3VudH0pIEFkc2A7XG4gICAgbGV0IGN1cnJlbnRUb3RhbCA9IHBheVBlckNsaWNrQXJlYVRvdGFsICsgam9iQm9hcmRBcmVhVG90YWw7XG4gICAgdGhpcy5vcmRlclN1bW1hcnkudG90YWwgPSB7XG4gICAgICBsYWJlbDogJ0N1cnJlbnQgVG90YWwnLFxuICAgICAgdGV4dExlZnQ6ICcnLFxuICAgICAgdGV4dFJpZ2h0OiBgJCR7dGhpcy5kZWNpbWFsUGlwZS50cmFuc2Zvcm0oXG4gICAgICAgIGN1cnJlbnRUb3RhbC50b1N0cmluZygpLnJlcGxhY2UoJywnLCAnJyksXG4gICAgICAgICcxLjAnLFxuICAgICAgICAnZW4tVVMnXG4gICAgICApfWBcbiAgICB9O1xuICB9XG5cbiAgdXBkYXRlT3JkZXJTdW1tYXJ5KCkge1xuICAgIHRoaXMub3JkZXJTdW1tYXJ5ID0ge1xuICAgICAgdGl0bGU6ICdZb3VyIE9yZGVyJyxcbiAgICAgIGludm9pY2VBcmVhczogW1xuICAgICAgICB7XG4gICAgICAgICAgbGluZUl0ZW1zOiBbXSxcbiAgICAgICAgICB0b3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdQYXktUGVyLUNsaWNrIFNpdGVzLCBTdWJ0b3RhbCBQZXIgSm9iOicsXG4gICAgICAgICAgICB0ZXh0UmlnaHQ6IGBgXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzdWJUb3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdQYXktUGVyLUNsaWNrIFNpdGVzIFN1YnRvdGFsJyxcbiAgICAgICAgICAgIHRleHRSaWdodDogYHggKCR7dGhpcy5qb2JDb3VudH0pIEpvYnMgPSAkMGBcbiAgICAgICAgICB9LFxuICAgICAgICAgIGpvYnNUb0FkdmVydGlzZTogYHggKCR7dGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UubGVuZ3RofSkgSm9icyBTZWxlY3RlZGBcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGxpbmVJdGVtczogW10sXG4gICAgICAgICAgc3ViVG90YWw6IHtcbiAgICAgICAgICAgIHRleHRMZWZ0OiAnSm9iIEJvYXJkcyBTdWJ0b3RhbCcsXG4gICAgICAgICAgICB0ZXh0UmlnaHQ6IGB4ICgke3RoaXMuam9iQ291bnR9KSBKb2JzID0gJDBgXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0b3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdEdXJhdGlvbiBKb2IgQm9hcmRzLCBTdWJ0b3RhbCBQZXIgSm9iOicsXG4gICAgICAgICAgICB0ZXh0UmlnaHQ6IGBgXG4gICAgICAgICAgfSxcbiAgICAgICAgICBqb2JzVG9BZHZlcnRpc2U6IGB4ICgke3RoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aH0pIEpvYnMgU2VsZWN0ZWRgXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICB0b3RhbDoge1xuICAgICAgICB0ZXh0TGVmdDogJycsXG4gICAgICAgIHRleHRSaWdodDogJycsXG4gICAgICAgIGxhYmVsOiAnQ3VycmVudCBUb3RhbCdcbiAgICAgIH1cbiAgICB9O1xuICAgIHRoaXMubW9kZWwuam9iQm9hcmRzLmZvckVhY2goamIgPT4ge1xuICAgICAgaWYgKGpiLmlzU2VsZWN0ZWQpIHtcbiAgICAgICAgaWYgKGpiLmlzUGF5UGVyQ2xpY2spIHtcbiAgICAgICAgICB0aGlzLmFkZExpbmVJdGVtKDAsIGpiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmFkZExpbmVJdGVtKDEsIGpiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgcGF5UGVyQ2xpY2tBcmVhVG90YWwgPSB0aGlzLmNhbGN1bGF0ZUludm9pY2VBcmVhVG90YWwoMCk7XG4gICAgY29uc3Qgam9iQm9hcmRBcmVhVG90YWwgPSB0aGlzLmNhbGN1bGF0ZUludm9pY2VBcmVhVG90YWwoMSk7XG4gICAgdGhpcy5jYWxjdWxhdGVPcmRlclRvdGFsKHBheVBlckNsaWNrQXJlYVRvdGFsLCBqb2JCb2FyZEFyZWFUb3RhbCk7XG4gICAgaWYgKHRoaXMubW9kZWwuam9iQm9hcmRzLmZpbHRlcihqYiA9PiBqYi5pc1NlbGVjdGVkKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuaXNKb2JCb2FyZE5leHRCdXR0b25EaXNhYmxlZCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNKb2JCb2FyZE5leHRCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLnBvc3RpbmdCb2FyZENoYW5nZS5lbWl0KHRoaXMubW9kZWwpO1xuICB9XG59XG4iLCI8c3ltcGhvbnktdHdvLWNvbHVtbi1tb2RhbC10ZW1wbGF0ZSAqbmdJZj1cIiFtb2RlbC5uYXZpZ2F0aW9uLnNob3dDYW5jZWxcIj5cbiAgPHN5bXBob255LWg0XG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dKb2JCb2FyZHNTZWxlY3Rpb24gJiYgIW1vZGVsLmlzTG9hZGluZ1wiXG4gICAgc2Z4LW1vZGFsLXRpdGxlXG4gICAgPlNlbGVjdCBZb3VyIEpvYiBBZCBCdXlzPC9zeW1waG9ueS1oNFxuICA+XG4gIDxzeW1waG9ueS1oNCAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd09yZGVyUmV2aWV3XCIgc2Z4LW1vZGFsLXRpdGxlXG4gICAgPlJldmlldyB5b3UgSm9iIEFkIEJ1eXM8L3N5bXBob255LWg0XG4gID5cbiAgPHN5bXBob255LWg0ICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93Q29uZmlybWF0aW9uXCIgc2Z4LW1vZGFsLXRpdGxlXG4gICAgPkNvbmZpcm1hdGlvbiBvZiB5b3VyIEpvYiBBZCBCdXlzPC9zeW1waG9ueS1oNFxuICA+XG4gIDxzeW1waG9ueS1oNCAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd1Byb2Nlc3NpbmdcIiBzZngtbW9kYWwtdGl0bGVcbiAgICA+UHJvY2Vzc2luZyBPcmRlci4uLjwvc3ltcGhvbnktaDRcbiAgPlxuICA8c3ltcGhvbnktaDQgKm5nSWY9XCJtb2RlbC5pc0xvYWRpbmdcIiBzZngtbW9kYWwtdGl0bGVcbiAgICA+TG9hZGluZyBKb2IgQm9hcmRzLi4uPC9zeW1waG9ueS1oNFxuICA+XG4gIDxzeW1waG9ueS1pY29uXG4gICAgc2Z4LWNsb3NlLWJ1dHRvblxuICAgIFtpY29uXT1cIidzaS1jbG9zZS1tb2RhbCdcIlxuICAgIChjbGlja2VkKT1cIm9uQ2xvc2VCdXR0b25DbGljaygpXCJcbiAgPjwvc3ltcGhvbnktaWNvbj5cbiAgPHN5bXBob255LWg1LXdpdGgtaWNvbiBzZngtbW9kYWwtc3VidGl0bGUgW21vZGVsXT1cInN1YlRpdGxlXCI+XG4gIDwvc3ltcGhvbnktaDUtd2l0aC1pY29uPlxuXG4gIDxzeW1waG9ueS10d28tY29sdW1uLWJvZHktdGVtcGxhdGVcbiAgICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93Sm9iQm9hcmRzU2VsZWN0aW9uXCJcbiAgICBbc2hvd0hlYWRlcl09XCJ0cnVlXCJcbiAgICBzZngtbW9kYWwtYm9keS1hcmVhXG4gID5cbiAgICA8c3ltcGhvbnktaW5wdXQtdGV4dFxuICAgICAgc2Z4LWxlZnQtY29sLWhlYWRlclxuICAgICAgW25vTWFyZ2luXT1cInRydWVcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIidTZWFyY2ggQWQgQm9hcmRzJ1wiXG4gICAgICBbaWNvbl09XCInc2ktc2VhcmNoLW5ldydcIlxuICAgICAgKHRleHRDaGFuZ2UpPVwib25LZXl3b3JkU2VhcmNoKCRldmVudClcIlxuICAgID5cbiAgICA8L3N5bXBob255LWlucHV0LXRleHQ+XG4gICAgPGRpdiBjbGFzcz1cInJpZ2h0LWNvbC1oZWFkZXItaW5uZXJcIiBzZngtcmlnaHQtY29sLWhlYWRlcj5cbiAgICAgIDxzeW1waG9ueS1oNS13aXRoLWljb25cbiAgICAgICAgc2Z4LXJpZ2h0LWNvbC1oZWFkZXJcbiAgICAgICAgKm5nSWY9XCJtb2RlbC5zaG93RnVuZHNcIlxuICAgICAgICBjbGFzcz1cInB1bGwtcmlnaHRcIlxuICAgICAgICBbbW9kZWxdPVwiZnVuZHNJbmZvXCJcbiAgICAgID48L3N5bXBob255LWg1LXdpdGgtaWNvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IHNmeC1sZWZ0LWNvbHVtbiBjbGFzcz1cInBvc3RpbmctYm9hcmRzIHNmeC1wci0xMFwiPlxuICAgICAgPHN5bXBob255LWFkdmVydGlzZS1wb3N0aW5nYm9hcmQtc2VsZWN0aW9uLWxpc3RcbiAgICAgICAgW21vZGVsXT1cIm1vZGVsLmpvYkJvYXJkc1wiXG4gICAgICAgIChwb3N0aW5nQm9hcmRDaGFuZ2UpPVwib25Qb3N0aW5nQm9hcmRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICA+PC9zeW1waG9ueS1hZHZlcnRpc2UtcG9zdGluZ2JvYXJkLXNlbGVjdGlvbi1saXN0PlxuICAgIDwvZGl2PlxuXG4gICAgPHN5bXBob255LW9yZGVyLXN1bW1hcnlcbiAgICAgIHNmeC1yaWdodC1jb2x1bW5cbiAgICAgIFttb2RlbF09XCJvcmRlclN1bW1hcnlcIlxuICAgID48L3N5bXBob255LW9yZGVyLXN1bW1hcnk+XG4gIDwvc3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlPlxuXG4gIDxzeW1waG9ueS10d28tY29sdW1uLWJvZHktdGVtcGxhdGVcbiAgICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93T3JkZXJSZXZpZXdcIlxuICAgIHNmeC1tb2RhbC1ib2R5LWFyZWFcbiAgICBjbGFzcz1cImhlaWdodC13cmFwcGVyXCJcbiAgPlxuICAgIDxzeW1waG9ueS1vcmRlci1zdW1tYXJ5XG4gICAgICBzZngtbGVmdC1jb2x1bW5cbiAgICAgIFttb2RlbF09XCJvcmRlclN1bW1hcnlcIlxuICAgID48L3N5bXBob255LW9yZGVyLXN1bW1hcnk+XG5cbiAgICA8ZGl2XG4gICAgICBzZngtcmlnaHQtY29sdW1uXG4gICAgICBjbGFzcz1cInBvc3RpbmctYm9hcmRzIHBoYXNlciBjZW50ZXItaC12IGxpZ2h0LWdyZXktYmdcIlxuICAgID5cbiAgICAgIDxzeW1waG9ueS1waGFzZXItY2FyZCBbbW9kZWxdPVwicGhhc2VyQ2FyZFJldmlld1wiPjwvc3ltcGhvbnktcGhhc2VyLWNhcmQ+XG4gICAgPC9kaXY+XG4gIDwvc3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlPlxuXG4gIDxzeW1waG9ueS10d28tY29sdW1uLWJvZHktdGVtcGxhdGVcbiAgICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93Q29uZmlybWF0aW9uXCJcbiAgICBzZngtbW9kYWwtYm9keS1hcmVhXG4gICAgY2xhc3M9XCJoZWlnaHQtd3JhcHBlclwiXG4gID5cbiAgICA8c3ltcGhvbnktb3JkZXItc3VtbWFyeVxuICAgICAgc2Z4LWxlZnQtY29sdW1uXG4gICAgICBbbW9kZWxdPVwib3JkZXJTdW1tYXJ5XCJcbiAgICA+PC9zeW1waG9ueS1vcmRlci1zdW1tYXJ5PlxuICAgIDxkaXZcbiAgICAgIHNmeC1yaWdodC1jb2x1bW5cbiAgICAgIGNsYXNzPVwicG9zdGluZy1ib2FyZHMgcGhhc2VyIGNlbnRlci1oLXYgbGlnaHQtZ3JleS1iZ1wiXG4gICAgPlxuICAgICAgPHN5bXBob255LXBoYXNlci1jYXJkXG4gICAgICAgIFttb2RlbF09XCJwaGFzZXJDYXJkQ29uZmlybWF0aW9uXCJcbiAgICAgID48L3N5bXBob255LXBoYXNlci1jYXJkPlxuICAgIDwvZGl2PlxuICA8L3N5bXBob255LXR3by1jb2x1bW4tYm9keS10ZW1wbGF0ZT5cblxuICA8ZGl2XG4gICAgKm5nSWY9XCIhbW9kZWwuaXNMb2FkaW5nICYmIG1vZGVsLm5hdmlnYXRpb24uc2hvd1Byb2Nlc3NpbmdcIlxuICAgIHNmeC1tb2RhbC1ib2R5LWFyZWFcbiAgICBjbGFzcz1cInBvc3RpbmctYm9hcmRzIHNmeC1wLTMwXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJwcm9jZXNzaW5nLWNvbnRhaW5lclwiPlxuICAgICAgPHN5bXBob255LXBhcmFncmFwaFxuICAgICAgICA+PGI+U21hc2hGbHlYPC9iPiBpcyBzdWJtaXR0aW5nIHlvdXIgb3JkZXIgdG8geW91ciBzZWxlY3RlZCBqb2IgYm9hcmRzLlxuICAgICAgICBTb21lIG9yZGVycyBoYXBwZW4gaW1tZWRpYXRlbHksIHdoaWxlIG90aGVycyB0YWtlIGEgbGl0dGxlIG1vcmUgdGltZS5cbiAgICAgICAgQ2hlY2sgeW91ciBvcmRlciBzdGF0dXMgaWYgeW91IGRvbid0IHJlY2lldmUgYSBjb25maXJtYXRpb24gaW4gdGhlIG5leHRcbiAgICAgICAgMjRob3Vycy48L3N5bXBob255LXBhcmFncmFwaFxuICAgICAgPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzZngtbXQtODBcIj5cbiAgICAgIDxzeW1waG9ueS1zZngtbG9hZGVyPjwvc3ltcGhvbnktc2Z4LWxvYWRlcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImxvYWRlci1jb250YWluZXJcIiAqbmdJZj1cIm1vZGVsLmlzTG9hZGluZ1wiIHNmeC1tb2RhbC1ib2R5LWFyZWE+XG4gICAgPHN5bXBob255LXNmeC1sb2FkZXI+PC9zeW1waG9ueS1zZngtbG9hZGVyPlxuICA8L2Rpdj5cblxuICA8c3ltcGhvbnktYnV0dG9uXG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dKb2JCb2FyZHNTZWxlY3Rpb25cIlxuICAgIHNmeC1idXR0b24tc2Vjb25kYXJ5XG4gICAgW3RleHRdPVwiJ0NhbmNlbCdcIlxuICAgIFtpc1NlY29uZGFyeV09XCJ0cnVlXCJcbiAgICBbaXNJbnZlcnNlXT1cInRydWVcIlxuICAgIChjbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gID48L3N5bXBob255LWJ1dHRvbj5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93Sm9iQm9hcmRzU2VsZWN0aW9uXCJcbiAgICBzZngtYnV0dG9uLXByaW1hcnlcbiAgICBbdGV4dF09XCInUmV2aWV3IE9yZGVyJ1wiXG4gICAgW2Rpc2FibGVkXT1cImlzSm9iQm9hcmROZXh0QnV0dG9uRGlzYWJsZWRcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuXG4gIDxzeW1waG9ueS1idXR0b25cbiAgICAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd09yZGVyUmV2aWV3XCJcbiAgICBzZngtYnV0dG9uLWJhY2tcbiAgICBbdGV4dF09XCInRWRpdCBPcmRlcidcIlxuICAgIFtpc1NlY29uZGFyeV09XCJ0cnVlXCJcbiAgICBbaXNJbnZlcnNlXT1cInRydWVcIlxuICAgIChjbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gID48L3N5bXBob255LWJ1dHRvbj5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93T3JkZXJSZXZpZXdcIlxuICAgIHNmeC1idXR0b24tc2Vjb25kYXJ5XG4gICAgW3RleHRdPVwiJ0NhbmNlbCdcIlxuICAgIFtpc1NlY29uZGFyeV09XCJ0cnVlXCJcbiAgICBbaXNJbnZlcnNlXT1cInRydWVcIlxuICAgIChjbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gID48L3N5bXBob255LWJ1dHRvbj5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93T3JkZXJSZXZpZXdcIlxuICAgIHNmeC1idXR0b24tcHJpbWFyeVxuICAgIFt0ZXh0XT1cIidCdXknXCJcbiAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuXG4gIDxzeW1waG9ueS1idXR0b25cbiAgICAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd0NvbmZpcm1hdGlvblwiXG4gICAgc2Z4LWJ1dHRvbi1wcmltYXJ5XG4gICAgW3RleHRdPVwiJ0ZpbmlzaCAmIENsb3NlJ1wiXG4gICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcbiAgICBbaXNJbnZlcnNlXT1cInRydWVcIlxuICAgIChjbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gID48L3N5bXBob255LWJ1dHRvbj5cbjwvc3ltcGhvbnktdHdvLWNvbHVtbi1tb2RhbC10ZW1wbGF0ZT5cbjxzeW1waG9ueS1jb25maXJtYXRpb24tbW9kYWxcbiAgKm5nSWY9XCIhbW9kZWwuaXNMb2FkaW5nICYmIG1vZGVsLm5hdmlnYXRpb24uc2hvd0NhbmNlbFwiXG4gIChidXR0b25DbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gIChjbG9zZUJ1dHRvbkNsaWNrZWQpPVwib25DbG9zZUJ1dHRvbkNsaWNrKClcIlxuICBbbW9kZWxdPVwiY2FuY2VsQ29udGVudFwiXG4+XG48L3N5bXBob255LWNvbmZpcm1hdGlvbi1tb2RhbD5cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2ZXJ0aXNlLW1vZGFsLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9wYWdlcy9tb2RhbHMvYWR2ZXJ0aXNlLW1vZGFsL2FkdmVydGlzZS1tb2RhbC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBBZHZlcnRpc2VNb2RhbE1vZGVsIHtcbiAgc2hvd0Z1bmRzOiBib29sZWFuO1xuICBqb2JzVG9BZHZlcnRpc2U6IEFkdmVydGlzZUpvYk1vZGVsW107XG4gIGpvYkJvYXJkczogUG9zdGluZ0JvYXJkc1NlbGVjdGlvbk1vZGVsW107XG4gIGhhc0pvYkJvYXJkc0xvYWRpbmdGYWlsZWQ6IGJvb2xlYW47XG4gIG5hdmlnYXRpb246IEFkdmVydGlzZU1vZGFsTmF2aWdhdGlvbjtcbiAgaXNMb2FkaW5nOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkdmVydGlzZUpvYk1vZGVsIHtcbiAgaWQ6IG51bWJlcjtcbiAgam9iVGl0bGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWwge1xuICBpZDogbnVtYmVyO1xuICBib2FyZE5hbWU6IHN0cmluZztcbiAgYm9hcmRQcmljZTogbnVtYmVyO1xuICBpc1NlbGVjdGVkOiBib29sZWFuO1xuICBpc0VkaXRhYmxlOiBib29sZWFuO1xuICBpc0luRWRpdE1vZGU6IGJvb2xlYW47XG4gIGJvYXJkR3JvdXA6IHN0cmluZztcbiAgaXNQYXlQZXJDbGljazogYm9vbGVhbjtcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkdmVydGlzZU1vZGFsTmF2aWdhdGlvbiB7XG4gIHNob3dKb2JCb2FyZHNTZWxlY3Rpb246IGJvb2xlYW47XG4gIHNob3dPcmRlclJldmlldzogYm9vbGVhbjtcbiAgc2hvd09yZGVyUHJvY2Vzc2luZzogYm9vbGVhbjtcbiAgc2hvd0NvbmZpcm1hdGlvbjogYm9vbGVhbjtcbiAgc2hvd0NhbmNlbDogYm9vbGVhbjtcbiAgc2hvd1Byb2Nlc3Npbmc6IGJvb2xlYW47XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2ZXJ0aXNlLW1vZGFsLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9wYWdlcy9tb2RhbHMvYWR2ZXJ0aXNlLW1vZGFsL2FkdmVydGlzZS1tb2RhbC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBBZHZlcnRpc2VNb2RhbE1vZGVsIHtcbiAgc2hvd0Z1bmRzOiBib29sZWFuO1xuICBqb2JzVG9BZHZlcnRpc2U6IEFkdmVydGlzZUpvYk1vZGVsW107XG4gIGpvYkJvYXJkczogUG9zdGluZ0JvYXJkc1NlbGVjdGlvbk1vZGVsW107XG4gIGhhc0pvYkJvYXJkc0xvYWRpbmdGYWlsZWQ6IGJvb2xlYW47XG4gIG5hdmlnYXRpb246IEFkdmVydGlzZU1vZGFsTmF2aWdhdGlvbjtcbiAgaXNMb2FkaW5nOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkdmVydGlzZUpvYk1vZGVsIHtcbiAgaWQ6IG51bWJlcjtcbiAgam9iVGl0bGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWwge1xuICBpZDogbnVtYmVyO1xuICBib2FyZE5hbWU6IHN0cmluZztcbiAgYm9hcmRQcmljZTogbnVtYmVyO1xuICBpc1NlbGVjdGVkOiBib29sZWFuO1xuICBpc0VkaXRhYmxlOiBib29sZWFuO1xuICBpc0luRWRpdE1vZGU6IGJvb2xlYW47XG4gIGJvYXJkR3JvdXA6IHN0cmluZztcbiAgaXNQYXlQZXJDbGljazogYm9vbGVhbjtcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBtaW5WYWx1ZT86IG51bWJlcjtcbiAgbWF4VmFsdWU/OiBudW1iZXI7XG4gIGlzSW52YWxpZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWR2ZXJ0aXNlTW9kYWxOYXZpZ2F0aW9uIHtcbiAgc2hvd0pvYkJvYXJkc1NlbGVjdGlvbjogYm9vbGVhbjtcbiAgc2hvd09yZGVyUmV2aWV3OiBib29sZWFuO1xuICBzaG93T3JkZXJQcm9jZXNzaW5nOiBib29sZWFuO1xuICBzaG93Q29uZmlybWF0aW9uOiBib29sZWFuO1xuICBzaG93Q2FuY2VsOiBib29sZWFuO1xuICBzaG93UHJvY2Vzc2luZzogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
2
+ import { CommonModule, DecimalPipe } from '@angular/common';
3
3
  import { AdvertiseModalComponent } from './advertise-modal.component';
4
4
  import { H4Module } from '../../../atoms/h4/h4.module';
5
5
  import { H5Module } from '../../../atoms/h5/h5.module';
@@ -42,7 +42,7 @@ ModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
42
42
  OrderSummaryModule,
43
43
  ConfirmationModalModule,
44
44
  PhaserCardModule], exports: [AdvertiseModalComponent] });
45
- ModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: ModalModule, imports: [[
45
+ ModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: ModalModule, providers: [DecimalPipe], imports: [[
46
46
  CommonModule,
47
47
  TwoColumnModalModule,
48
48
  TwoColumnBodyTemplateModule,
@@ -88,7 +88,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
88
88
  ConfirmationModalModule,
89
89
  PhaserCardModule
90
90
  ],
91
+ providers: [DecimalPipe],
91
92
  exports: [AdvertiseModalComponent]
92
93
  }]
93
94
  }] });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2ZXJ0aXNlLW1vZGFsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvcGFnZXMvbW9kYWxzL2FkdmVydGlzZS1tb2RhbC9hZHZlcnRpc2UtbW9kYWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtGQUErRixDQUFDO0FBQ3JJLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZGQUE2RixDQUFDO0FBQzFJLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLHVHQUF1RyxDQUFDO0FBQ2pLLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUNySCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOztBQTJCckYsTUFBTSxPQUFPLFdBQVc7O3dHQUFYLFdBQVc7eUdBQVgsV0FBVyxpQkF4QlAsdUJBQXVCLGFBRXBDLFlBQVk7UUFDWixvQkFBb0I7UUFDcEIsMkJBQTJCO1FBQzNCLFFBQVE7UUFDUixRQUFRO1FBQ1IsUUFBUTtRQUNSLFFBQVE7UUFDUixlQUFlO1FBQ2YsVUFBVTtRQUNWLGVBQWU7UUFDZixZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLGdCQUFnQjtRQUNoQix3Q0FBd0M7UUFDeEMsZUFBZTtRQUNmLDBCQUEwQjtRQUMxQixrQkFBa0I7UUFDbEIsdUJBQXVCO1FBQ3ZCLGdCQUFnQixhQUVSLHVCQUF1Qjt5R0FFdEIsV0FBVyxZQXZCYjtZQUNQLFlBQVk7WUFDWixvQkFBb0I7WUFDcEIsMkJBQTJCO1lBQzNCLFFBQVE7WUFDUixRQUFRO1lBQ1IsUUFBUTtZQUNSLFFBQVE7WUFDUixlQUFlO1lBQ2YsVUFBVTtZQUNWLGVBQWU7WUFDZixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGdCQUFnQjtZQUNoQix3Q0FBd0M7WUFDeEMsZUFBZTtZQUNmLDBCQUEwQjtZQUMxQixrQkFBa0I7WUFDbEIsdUJBQXVCO1lBQ3ZCLGdCQUFnQjtTQUNqQjsyRkFHVSxXQUFXO2tCQXpCdkIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDdkMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQiwyQkFBMkI7d0JBQzNCLFFBQVE7d0JBQ1IsUUFBUTt3QkFDUixRQUFRO3dCQUNSLFFBQVE7d0JBQ1IsZUFBZTt3QkFDZixVQUFVO3dCQUNWLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsd0NBQXdDO3dCQUN4QyxlQUFlO3dCQUNmLDBCQUEwQjt3QkFDMUIsa0JBQWtCO3dCQUNsQix1QkFBdUI7d0JBQ3ZCLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBZHZlcnRpc2VNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vYWR2ZXJ0aXNlLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBINE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2F0b21zL2g0L2g0Lm1vZHVsZSc7XG5pbXBvcnQgeyBINU1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2F0b21zL2g1L2g1Lm1vZHVsZSc7XG5pbXBvcnQgeyBQYXJhZ3JhcGhNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9hdG9tcy9wYXJhZ3JhcGgvcGFyYWdyYXBoLm1vZHVsZSc7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vYXRvbXMvaWNvbi9pY29uLm1vZHVsZSc7XG5pbXBvcnQgeyBJbnB1dFRleHRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9hdG9tcy9pbnB1dC10ZXh0L2lucHV0LXRleHQubW9kdWxlJztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2F0b21zL2J1dHRvbi9idXR0b24ubW9kdWxlJztcbmltcG9ydCB7IFR3b0NvbHVtbk1vZGFsTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vdGVtcGxhdGVzL21vZGFsLXRlbXBsYXRlcy90d28tY29sdW1uLW1vZGFsLXRlbXBsYXRlL3R3by1jb2x1bW4tbW9kYWwtdGVtcGxhdGUubW9kdWxlJztcbmltcG9ydCB7IFR3b0NvbHVtbkJvZHlUZW1wbGF0ZU1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL3RlbXBsYXRlcy9tb2RhbC10ZW1wbGF0ZXMvdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlL3R3by1jb2x1bW4tYm9keS10ZW1wbGF0ZS5tb2R1bGUnO1xuaW1wb3J0IHsgUGxhY2Vob2xkZXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi90ZW1wbGF0ZXMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXIubW9kdWxlJztcbmltcG9ydCB7IEg1V2l0aEljb25Nb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9tb2xlY3VsZXMvaDUtd2l0aC1pY29uL2g1LXdpdGgtaWNvbi5tb2R1bGUnO1xuaW1wb3J0IHsgQWR2ZXJ0aXNlUG9zdGluZ2JvYXJkU2VsZWN0aW9uTGlzdE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL29yZ2FuaXNtcy9hZHZlcnRpc2UtcG9zdGluZ2JvYXJkLXNlbGVjdGlvbi1saXN0L2FkdmVydGlzZS1wb3N0aW5nYm9hcmQtc2VsZWN0aW9uLWxpc3QubW9kdWxlJztcbmltcG9ydCB7IFNmeExvYWRlck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2F0b21zL3NmeC1sb2FkZXIvc2Z4LWxvYWRlci5tb2R1bGUnO1xuaW1wb3J0IHsgQWR2ZXJ0aXNlT3JkZXJSZXZpZXdNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9tb2xlY3VsZXMvYWR2ZXJ0aXNlLW9yZGVyLXJldmlldy9hZHZlcnRpc2Utb3JkZXItcmV2aWV3Lm1vZHVsZSc7XG5pbXBvcnQgeyBPcmRlclN1bW1hcnlNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9vcmdhbmlzbXMvb3JkZXItc3VtbWFyeS9vcmRlci1zdW1tYXJ5Lm1vZHVsZSc7XG5pbXBvcnQgeyBIM01vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2F0b21zL2gzL2gzLm1vZHVsZSc7XG5pbXBvcnQgeyBIMk1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2F0b21zL2gyL2gyLm1vZHVsZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25Nb2RhbE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL29yZ2FuaXNtcy9jb25maXJtYXRpb24tbW9kYWwvY29uZmlybWF0aW9uLW1vZGFsLm1vZHVsZSc7XG5pbXBvcnQgeyBQaGFzZXJDYXJkTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vbW9sZWN1bGVzL3BoYXNlci1jYXJkL3BoYXNlci1jYXJkLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0FkdmVydGlzZU1vZGFsQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUd29Db2x1bW5Nb2RhbE1vZHVsZSxcbiAgICBUd29Db2x1bW5Cb2R5VGVtcGxhdGVNb2R1bGUsXG4gICAgSDJNb2R1bGUsXG4gICAgSDNNb2R1bGUsXG4gICAgSDRNb2R1bGUsXG4gICAgSDVNb2R1bGUsXG4gICAgUGFyYWdyYXBoTW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBQbGFjZWhvbGRlck1vZHVsZSxcbiAgICBINVdpdGhJY29uTW9kdWxlLFxuICAgIEFkdmVydGlzZVBvc3Rpbmdib2FyZFNlbGVjdGlvbkxpc3RNb2R1bGUsXG4gICAgU2Z4TG9hZGVyTW9kdWxlLFxuICAgIEFkdmVydGlzZU9yZGVyUmV2aWV3TW9kdWxlLFxuICAgIE9yZGVyU3VtbWFyeU1vZHVsZSxcbiAgICBDb25maXJtYXRpb25Nb2RhbE1vZHVsZSxcbiAgICBQaGFzZXJDYXJkTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtBZHZlcnRpc2VNb2RhbENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTW9kYWxNb2R1bGUge31cbiJdfQ==
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2ZXJ0aXNlLW1vZGFsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvcGFnZXMvbW9kYWxzL2FkdmVydGlzZS1tb2RhbC9hZHZlcnRpc2UtbW9kYWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrRkFBK0YsQ0FBQztBQUNySSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw2RkFBNkYsQ0FBQztBQUMxSSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN0RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUN2RixPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSx1R0FBdUcsQ0FBQztBQUNqSyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0seUVBQXlFLENBQUM7QUFDckgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDM0YsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUMxRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7QUE0QnJGLE1BQU0sT0FBTyxXQUFXOzt3R0FBWCxXQUFXO3lHQUFYLFdBQVcsaUJBekJQLHVCQUF1QixhQUVwQyxZQUFZO1FBQ1osb0JBQW9CO1FBQ3BCLDJCQUEyQjtRQUMzQixRQUFRO1FBQ1IsUUFBUTtRQUNSLFFBQVE7UUFDUixRQUFRO1FBQ1IsZUFBZTtRQUNmLFVBQVU7UUFDVixlQUFlO1FBQ2YsWUFBWTtRQUNaLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsd0NBQXdDO1FBQ3hDLGVBQWU7UUFDZiwwQkFBMEI7UUFDMUIsa0JBQWtCO1FBQ2xCLHVCQUF1QjtRQUN2QixnQkFBZ0IsYUFHUix1QkFBdUI7eUdBRXRCLFdBQVcsYUFIWCxDQUFDLFdBQVcsQ0FBQyxZQXJCZjtZQUNQLFlBQVk7WUFDWixvQkFBb0I7WUFDcEIsMkJBQTJCO1lBQzNCLFFBQVE7WUFDUixRQUFRO1lBQ1IsUUFBUTtZQUNSLFFBQVE7WUFDUixlQUFlO1lBQ2YsVUFBVTtZQUNWLGVBQWU7WUFDZixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGdCQUFnQjtZQUNoQix3Q0FBd0M7WUFDeEMsZUFBZTtZQUNmLDBCQUEwQjtZQUMxQixrQkFBa0I7WUFDbEIsdUJBQXVCO1lBQ3ZCLGdCQUFnQjtTQUNqQjsyRkFJVSxXQUFXO2tCQTFCdkIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDdkMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQiwyQkFBMkI7d0JBQzNCLFFBQVE7d0JBQ1IsUUFBUTt3QkFDUixRQUFRO3dCQUNSLFFBQVE7d0JBQ1IsZUFBZTt3QkFDZixVQUFVO3dCQUNWLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsd0NBQXdDO3dCQUN4QyxlQUFlO3dCQUNmLDBCQUEwQjt3QkFDMUIsa0JBQWtCO3dCQUNsQix1QkFBdUI7d0JBQ3ZCLGdCQUFnQjtxQkFDakI7b0JBQ0QsU0FBUyxFQUFFLENBQUMsV0FBVyxDQUFDO29CQUN4QixPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztpQkFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBEZWNpbWFsUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBZHZlcnRpc2VNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vYWR2ZXJ0aXNlLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBINE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2F0b21zL2g0L2g0Lm1vZHVsZSc7XG5pbXBvcnQgeyBINU1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2F0b21zL2g1L2g1Lm1vZHVsZSc7XG5pbXBvcnQgeyBQYXJhZ3JhcGhNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9hdG9tcy9wYXJhZ3JhcGgvcGFyYWdyYXBoLm1vZHVsZSc7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vYXRvbXMvaWNvbi9pY29uLm1vZHVsZSc7XG5pbXBvcnQgeyBJbnB1dFRleHRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9hdG9tcy9pbnB1dC10ZXh0L2lucHV0LXRleHQubW9kdWxlJztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2F0b21zL2J1dHRvbi9idXR0b24ubW9kdWxlJztcbmltcG9ydCB7IFR3b0NvbHVtbk1vZGFsTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vdGVtcGxhdGVzL21vZGFsLXRlbXBsYXRlcy90d28tY29sdW1uLW1vZGFsLXRlbXBsYXRlL3R3by1jb2x1bW4tbW9kYWwtdGVtcGxhdGUubW9kdWxlJztcbmltcG9ydCB7IFR3b0NvbHVtbkJvZHlUZW1wbGF0ZU1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL3RlbXBsYXRlcy9tb2RhbC10ZW1wbGF0ZXMvdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlL3R3by1jb2x1bW4tYm9keS10ZW1wbGF0ZS5tb2R1bGUnO1xuaW1wb3J0IHsgUGxhY2Vob2xkZXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi90ZW1wbGF0ZXMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXIubW9kdWxlJztcbmltcG9ydCB7IEg1V2l0aEljb25Nb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9tb2xlY3VsZXMvaDUtd2l0aC1pY29uL2g1LXdpdGgtaWNvbi5tb2R1bGUnO1xuaW1wb3J0IHsgQWR2ZXJ0aXNlUG9zdGluZ2JvYXJkU2VsZWN0aW9uTGlzdE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL29yZ2FuaXNtcy9hZHZlcnRpc2UtcG9zdGluZ2JvYXJkLXNlbGVjdGlvbi1saXN0L2FkdmVydGlzZS1wb3N0aW5nYm9hcmQtc2VsZWN0aW9uLWxpc3QubW9kdWxlJztcbmltcG9ydCB7IFNmeExvYWRlck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2F0b21zL3NmeC1sb2FkZXIvc2Z4LWxvYWRlci5tb2R1bGUnO1xuaW1wb3J0IHsgQWR2ZXJ0aXNlT3JkZXJSZXZpZXdNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9tb2xlY3VsZXMvYWR2ZXJ0aXNlLW9yZGVyLXJldmlldy9hZHZlcnRpc2Utb3JkZXItcmV2aWV3Lm1vZHVsZSc7XG5pbXBvcnQgeyBPcmRlclN1bW1hcnlNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9vcmdhbmlzbXMvb3JkZXItc3VtbWFyeS9vcmRlci1zdW1tYXJ5Lm1vZHVsZSc7XG5pbXBvcnQgeyBIM01vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2F0b21zL2gzL2gzLm1vZHVsZSc7XG5pbXBvcnQgeyBIMk1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2F0b21zL2gyL2gyLm1vZHVsZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25Nb2RhbE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL29yZ2FuaXNtcy9jb25maXJtYXRpb24tbW9kYWwvY29uZmlybWF0aW9uLW1vZGFsLm1vZHVsZSc7XG5pbXBvcnQgeyBQaGFzZXJDYXJkTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vbW9sZWN1bGVzL3BoYXNlci1jYXJkL3BoYXNlci1jYXJkLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0FkdmVydGlzZU1vZGFsQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUd29Db2x1bW5Nb2RhbE1vZHVsZSxcbiAgICBUd29Db2x1bW5Cb2R5VGVtcGxhdGVNb2R1bGUsXG4gICAgSDJNb2R1bGUsXG4gICAgSDNNb2R1bGUsXG4gICAgSDRNb2R1bGUsXG4gICAgSDVNb2R1bGUsXG4gICAgUGFyYWdyYXBoTW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBQbGFjZWhvbGRlck1vZHVsZSxcbiAgICBINVdpdGhJY29uTW9kdWxlLFxuICAgIEFkdmVydGlzZVBvc3Rpbmdib2FyZFNlbGVjdGlvbkxpc3RNb2R1bGUsXG4gICAgU2Z4TG9hZGVyTW9kdWxlLFxuICAgIEFkdmVydGlzZU9yZGVyUmV2aWV3TW9kdWxlLFxuICAgIE9yZGVyU3VtbWFyeU1vZHVsZSxcbiAgICBDb25maXJtYXRpb25Nb2RhbE1vZHVsZSxcbiAgICBQaGFzZXJDYXJkTW9kdWxlXG4gIF0sXG4gIHByb3ZpZGVyczogW0RlY2ltYWxQaXBlXSxcbiAgZXhwb3J0czogW0FkdmVydGlzZU1vZGFsQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbE1vZHVsZSB7fVxuIl19