@progressio_resources/gravity-design-system 2.2.0 → 2.2.2

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.
@@ -6,7 +6,6 @@ export class GravityTableComponent {
6
6
  this.renderer = renderer;
7
7
  this.tableDensity = "standard";
8
8
  this.tableSizeInput = "auto";
9
- this.firstTime = true;
10
9
  this.tableElement = null;
11
10
  this.tableSize = 'xl';
12
11
  let milliseconds = new Date().getTime();
@@ -16,11 +15,7 @@ export class GravityTableComponent {
16
15
  ngAfterViewInit() {
17
16
  this.tableElement = this.tableContainer?.nativeElement?.childNodes[0];
18
17
  this.renderer.setAttribute(this.tableElement, 'table-id', this.tableId);
19
- let tableHeaders = this.getTableHeaders();
20
- this.initializeTable(tableHeaders);
21
- this.adjustTableDensity(this.tableDensity);
22
- this.adjustButtonsSize();
23
- this.onResize();
18
+ this.initializeComponent();
24
19
  }
25
20
  ngOnChanges(changes) {
26
21
  if (this.tableElement) {
@@ -33,15 +28,6 @@ export class GravityTableComponent {
33
28
  }
34
29
  }
35
30
  }
36
- ngAfterContentChecked() {
37
- if (this.tableElement) {
38
- let tableHeaders = this.getTableHeaders();
39
- this.initializeTable(tableHeaders);
40
- this.adjustTableDensity(this.tableDensity);
41
- this.adjustButtonsSize();
42
- this.onResize();
43
- }
44
- }
45
31
  getTableHeaders() {
46
32
  let tableHeaderItems = document.querySelectorAll('thead tr th');
47
33
  let tableHeaders = [];
@@ -50,51 +36,55 @@ export class GravityTableComponent {
50
36
  });
51
37
  return tableHeaders;
52
38
  }
39
+ initializeComponent() {
40
+ let tableHeaders = this.getTableHeaders();
41
+ this.initializeTable(tableHeaders);
42
+ this.adjustTableDensity(this.tableDensity);
43
+ this.adjustButtonsSize();
44
+ this.onResize();
45
+ }
53
46
  initializeTable(tableHeaders) {
54
- if (this.firstTime) {
55
- this.firstTime = false;
56
- //Set corresponding tableHeader as an attribute of each td
57
- let tableBody = document.querySelectorAll('table[table-id="' + this.tableId + '"] tbody tr td');
58
- tableBody.forEach((tableBodyRow, index) => {
59
- this.renderer.setAttribute(tableBodyRow, 'header-name', tableHeaders[index % tableHeaders.length]);
60
- });
61
- //Creates a copy of mobile-menu-trigger element for each tr
62
- let tableBodyRows = document.querySelectorAll('table[table-id="' + this.tableId + '"] tbody tr');
63
- let closeButtons = document.querySelectorAll('gravity-button[id-reference="close-button"]');
64
- tableBodyRows.forEach((tr, index) => {
65
- let mobileMenuTrigger = document.createElement('div');
66
- this.renderer.addClass(mobileMenuTrigger, 'mobile-menu-trigger');
67
- this.renderer.setAttribute(mobileMenuTrigger, 'cloned-node', 'true');
68
- let menuToggle = document.createElement('div');
69
- this.renderer.addClass(menuToggle, 'menu-toggle');
70
- menuToggle.appendChild(document.createElement('span'));
71
- menuToggle.appendChild(document.createElement('span'));
72
- menuToggle.appendChild(document.createElement('span'));
73
- menuToggle.addEventListener("click", () => {
74
- if (menuToggle.classList.contains('open')) {
75
- this.renderer.removeClass(menuToggle, 'open');
76
- this.renderer.removeClass(menuToggle.parentElement.lastElementChild, 'open');
77
- }
78
- else {
79
- this.renderer.addClass(menuToggle, 'open');
80
- this.renderer.addClass(menuToggle.parentElement.lastElementChild, 'open');
81
- }
82
- });
83
- mobileMenuTrigger.appendChild(menuToggle);
84
- let panel = document.createElement('div');
85
- this.renderer.addClass(panel, 'panel');
86
- let closeButtonFromNodeList = closeButtons.item(index);
87
- let closeButtonRemoved = closeButtonFromNodeList.parentNode.removeChild(closeButtonFromNodeList);
88
- this.renderer.setAttribute(closeButtonRemoved, 'cloned-button', 'true');
89
- closeButtonRemoved.addEventListener("click", () => {
47
+ //Set corresponding tableHeader as an attribute of each td
48
+ let tableBody = document.querySelectorAll('table[table-id="' + this.tableId + '"] tbody tr td');
49
+ tableBody.forEach((tableBodyRow, index) => {
50
+ this.renderer.setAttribute(tableBodyRow, 'header-name', tableHeaders[index % tableHeaders.length]);
51
+ });
52
+ //Creates a copy of mobile-menu-trigger element for each tr
53
+ let tableBodyRows = document.querySelectorAll('table[table-id="' + this.tableId + '"] tbody tr');
54
+ let closeButtons = document.querySelectorAll('gravity-button[id-reference="close-button"]');
55
+ tableBodyRows.forEach((tr, index) => {
56
+ let mobileMenuTrigger = document.createElement('div');
57
+ this.renderer.addClass(mobileMenuTrigger, 'mobile-menu-trigger');
58
+ this.renderer.setAttribute(mobileMenuTrigger, 'cloned-node', 'true');
59
+ let menuToggle = document.createElement('div');
60
+ this.renderer.addClass(menuToggle, 'menu-toggle');
61
+ menuToggle.appendChild(document.createElement('span'));
62
+ menuToggle.appendChild(document.createElement('span'));
63
+ menuToggle.appendChild(document.createElement('span'));
64
+ menuToggle.addEventListener("click", () => {
65
+ if (menuToggle.classList.contains('open')) {
90
66
  this.renderer.removeClass(menuToggle, 'open');
91
67
  this.renderer.removeClass(menuToggle.parentElement.lastElementChild, 'open');
92
- });
93
- panel.append(closeButtonRemoved);
94
- mobileMenuTrigger.appendChild(panel);
95
- tr.insertBefore(mobileMenuTrigger, tr.firstChild);
68
+ }
69
+ else {
70
+ this.renderer.addClass(menuToggle, 'open');
71
+ this.renderer.addClass(menuToggle.parentElement.lastElementChild, 'open');
72
+ }
96
73
  });
97
- }
74
+ mobileMenuTrigger.appendChild(menuToggle);
75
+ let panel = document.createElement('div');
76
+ this.renderer.addClass(panel, 'panel');
77
+ let closeButtonFromNodeList = closeButtons.item(index);
78
+ let closeButtonRemoved = closeButtonFromNodeList.parentNode.removeChild(closeButtonFromNodeList);
79
+ this.renderer.setAttribute(closeButtonRemoved, 'cloned-button', 'true');
80
+ closeButtonRemoved.addEventListener("click", () => {
81
+ this.renderer.removeClass(menuToggle, 'open');
82
+ this.renderer.removeClass(menuToggle.parentElement.lastElementChild, 'open');
83
+ });
84
+ panel.append(closeButtonRemoved);
85
+ mobileMenuTrigger.appendChild(panel);
86
+ tr.insertBefore(mobileMenuTrigger, tr.firstChild);
87
+ });
98
88
  }
99
89
  adjustTableDensity(densityValue) {
100
90
  this.renderer.removeClass(this.tableElement, 'standard-table');
@@ -179,7 +169,7 @@ export class GravityTableComponent {
179
169
  }
180
170
  if (this.tableSize == 'lg' || this.tableSize == 'xl') {
181
171
  let nodeListIndex = nodesList.length - 1;
182
- while (nodesList.length != 1) {
172
+ while (nodesList.length > 1) {
183
173
  let item = nodesList.item(nodeListIndex);
184
174
  let closeButtonNode = item.parentNode.querySelectorAll('gravity-button[id-reference="close-button"]').item(0);
185
175
  if (item != closeButtonNode) {
@@ -192,11 +182,11 @@ export class GravityTableComponent {
192
182
  }
193
183
  }
194
184
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityTableComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
195
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GravityTableComponent, selector: "gravity-table", inputs: { tableDensity: "tableDensity", tableSizeInput: "tableSizeInput" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "tableContainer", first: true, predicate: ["tableContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"table-container {{tableSize}}\" #tableContainer>\n <ng-content></ng-content>\n</div>\n\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n", styles: [":host{display:block;margin-block:1rem}.table-container{overflow-x:auto}\n"], dependencies: [{ kind: "component", type: i1.GravityButtonComponent, selector: "gravity-button", inputs: ["cypressTag", "disabled", "customState", "iconName", "isLoading", "showContent", "size", "type"] }] }); }
185
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GravityTableComponent, selector: "gravity-table", inputs: { tableDensity: "tableDensity", tableSizeInput: "tableSizeInput" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "tableContainer", first: true, predicate: ["tableContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"table-container {{tableSize}}\" #tableContainer>\n <ng-content></ng-content>\n</div>\n\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n", styles: [":host{display:block;margin-block:1rem}.table-container{overflow-x:auto}\n"], dependencies: [{ kind: "component", type: i1.GravityButtonComponent, selector: "gravity-button", inputs: ["cypressTag", "disabled", "customState", "iconName", "isLoading", "showContent", "size", "type"] }] }); }
196
186
  }
197
187
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityTableComponent, decorators: [{
198
188
  type: Component,
199
- args: [{ selector: 'gravity-table', template: "<div class=\"table-container {{tableSize}}\" #tableContainer>\n <ng-content></ng-content>\n</div>\n\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n", styles: [":host{display:block;margin-block:1rem}.table-container{overflow-x:auto}\n"] }]
189
+ args: [{ selector: 'gravity-table', template: "<div class=\"table-container {{tableSize}}\" #tableContainer>\n <ng-content></ng-content>\n</div>\n\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n", styles: [":host{display:block;margin-block:1rem}.table-container{overflow-x:auto}\n"] }]
200
190
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { tableDensity: [{
201
191
  type: Input
202
192
  }], tableSizeInput: [{
@@ -208,4 +198,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
208
198
  type: HostListener,
209
199
  args: ['window:resize', ['$event']]
210
200
  }] } });
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktdGFibGUvZ3Jhdml0eS10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktdGFibGUvZ3Jhdml0eS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBSUwsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDOzs7QUFPdkIsTUFBTSxPQUFPLHFCQUFxQjtJQVVoQyxZQUE2QixRQUFtQjtRQUFuQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBVGhDLGlCQUFZLEdBQThCLFVBQVUsQ0FBQztRQUNyRCxtQkFBYyxHQUF1QyxNQUFNLENBQUM7UUFHcEUsY0FBUyxHQUFZLElBQUksQ0FBQztRQUMxQixpQkFBWSxHQUFlLElBQUksQ0FBQztRQUVqQyxjQUFTLEdBQThCLElBQUksQ0FBQztRQUdqRCxJQUFJLFlBQVksR0FBVyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hELElBQUksWUFBWSxHQUFXLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFFOUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLEdBQUcsQ0FBQyxZQUFZLEdBQUcsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEUsSUFBSSxD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U0FBUyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksRUFBRTtZQUNwRCxJQUFJLGFBQWEsR0FBVyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUVqRCxPQUFPLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO2dCQUM1QixJQUFJLElBQUksR0FBUyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUMvQyxJQUFJLGVBQWUsR0FBUyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLDZDQUE2QyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUVwSCxJQUFJLElBQUksSUFBSSxlQUFlLEVBQUU7b0JBQzNCLElBQUksV0FBVyxHQUFTLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUMxRCxlQUFlLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQ3ZFO2dCQUVELGFBQWEsRUFBRSxDQUFDO2FBQ2pCO1lBRUQsT0FBTyxlQUFlLENBQUM7U0FDeEI7SUFDSCxDQUFDOytHQXZPVSxxQkFBcUI7bUdBQXJCLHFCQUFxQixzVUNsQmxDLHd2REFnQkE7OzRGREVhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxlQUFlO2dHQUtULFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsY0FBYztzQkFBN0IsS0FBSztnQkFDdUMsY0FBYztzQkFBMUQsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBNkluQixRQUFRO3NCQURmLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdncmF2aXR5LXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dyYXZpdHktdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmF2aXR5LXRhYmxlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgR3Jhdml0eVRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBBZnRlckNvbnRlbnRDaGVja2VkIHtcbiAgQElucHV0KCkgcHVibGljIHRhYmxlRGVuc2l0eTogJ3N0YW5kYXJkJyB8ICdjb21wcmVzc2VkJyA9IFwic3RhbmRhcmRcIjtcbiAgQElucHV0KCkgcHVibGljIHRhYmxlU2l6ZUlucHV0OiAneGwnIHwgJ2xnJyB8ICdtZCcgfCAnc20nIHwgJ2F1dG8nID0gXCJhdXRvXCI7XG4gIEBWaWV3Q2hpbGQoJ3RhYmxlQ29udGFpbmVyJykgcHVibGljIHJlYWRvbmx5IHRhYmxlQ29udGFpbmVyOiBFbGVtZW50UmVmO1xuXG4gIHByaXZhdGUgZmlyc3RUaW1lOiBib29sZWFuID0gdHJ1ZTtcbiAgcHJpdmF0ZSB0YWJsZUVsZW1lbnQ6IEVsZW1lbnRSZWYgPSBudWxsO1xuICBwdWJsaWMgdGFibGVJZDogc3RyaW5nO1xuICBwdWJsaWMgdGFibGVTaXplOiAneGwnIHwgJ2xnJyB8ICdtZCcgfCAnc20nID0gJ3hsJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICBsZXQgbWlsbGlzZWNvbmRzOiBudW1iZXIgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICBsZXQgcmFuZG9tTnVtYmVyOiBudW1iZXIgPSBNYXRoLnJhbmRvbSgpICogMTA7XG5cbiAgICB0aGlzLnRhYmxlSWQgPSAnJyArIChtaWxsaXNlY29uZHMgKiByYW5kb21OdW1iZXIgLyAyKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRhYmxlRWxlbWVudCA9IHRoaXMudGFibGVDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQ/LmNoaWxkTm9kZXNbMF07XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy50YWJsZUVsZW1lbnQsICd0YWJsZS1pZCcsIHRoaXMudGFibGVJZCk7XG5cbiAgICBsZXQgdGFibGVIZWFkZXJzOiBzdHJpbmdbXSA9IHRoaXMuZ2V0VGFibGVIZWFkZXJzKCk7XG4gICAgdGhpcy5pbml0aWFsaXplVGFibGUodGFibGVIZWFkZXJzKTtcbiAgICB0aGlzLmFkanVzdFRhYmxlRGVuc2l0eSh0aGlzLnRhYmxlRGVuc2l0eSk7XG4gICAgdGhpcy5hZGp1c3RCdXR0b25zU2l6ZSgpO1xuICAgIHRoaXMub25SZXNpemUoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAodGhpcy50YWJsZUVsZW1lbnQpIHtcbiAgICAgIGlmIChjaGFuZ2VzWyd0YWJsZURlbnNpdHknXSkge1xuICAgICAgICB0aGlzLmFkanVzdFRhYmxlRGVuc2l0eShjaGFuZ2VzWyd0YWJsZURlbnNpdHknXS5jdXJyZW50VmFsdWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAoY2hhbmdlc1sndGFibGVTaXplSW5wdXQnXSkge1xuICAgICAgICB0aGlzLnRhYmxlU2l6ZUlucHV0ID0gY2hhbmdlc1sndGFibGVTaXplSW5wdXQnXS5jdXJyZW50VmFsdWU7XG4gICAgICAgIHRoaXMub25SZXNpemUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKSB7XG4gICAgaWYgKHRoaXMudGFibGVFbGVtZW50KSB7XG4gICAgICBsZXQgdGFibGVIZWFkZXJzOiBzdHJpbmdbXSA9IHRoaXMuZ2V0VGFibGVIZWFkZXJzKCk7XG4gICAgICB0aGlzLmluaXRpYWxpemVUYWJsZSh0YWJsZUhlYWRlcnMpO1xuICAgICAgdGhpcy5hZGp1c3RUYWJsZURlbnNpdHkodGhpcy50YWJsZURlbnNpdHkpO1xuICAgICAgdGhpcy5hZGp1c3RCdXR0b25zU2l6ZSgpO1xuICAgICAgdGhpcy5vblJlc2l6ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGFibGVIZWFkZXJzKCk6IHN0cmluZ1tdIHtcbiAgICBsZXQgdGFibGVIZWFkZXJJdGVtczogTm9kZUxpc3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCd0aGVhZCB0ciB0aCcpO1xuICAgIGxldCB0YWJsZUhlYWRlcnM6IHN0cmluZ1tdID0gW107XG5cbiAgICB0YWJsZUhlYWRlckl0ZW1zLmZvckVhY2goKHRhYmxlSGVhZGVySXRlbTogTm9kZSkgPT4ge1xuICAgICAgdGFibGVIZWFkZXJzLnB1c2godGFibGVIZWFkZXJJdGVtLmNoaWxkTm9kZXNbMF0ubm9kZVZhbHVlKTtcbiAgICB9KTtcblxuICAgIHJldHVybiB0YWJsZUhlYWRlcnM7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVUYWJsZSh0YWJsZUhlYWRlcnM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmlyc3RUaW1lKSB7XG4gICAgICB0aGlzLmZpcnN0VGltZSA9IGZhbHNlO1xuXG4gICAgICAvL1NldCBjb3JyZXNwb25kaW5nIHRhYmxlSGVhZGVyIGFzIGFuIGF0dHJpYnV0ZSBvZiBlYWNoIHRkXG4gICAgICBsZXQgdGFibGVCb2R5OiBOb2RlTGlzdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3RhYmxlW3RhYmxlLWlkPVwiJyArIHRoaXMudGFibGVJZCArICdcIl0gdGJvZHkgdHIgdGQnKTtcbiAgICAgIHRhYmxlQm9keS5mb3JFYWNoKCh0YWJsZUJvZHlSb3c6IE5vZGUsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGFibGVCb2R5Um93LCAnaGVhZGVyLW5hbWUnLCB0YWJsZUhlYWRlcnNbaW5kZXggJSB0YWJsZUhlYWRlcnMubGVuZ3RoXSk7XG4gICAgICB9KTtcblxuICAgICAgLy9DcmVhdGVzIGEgY29weSBvZiBtb2JpbGUtbWVudS10cmlnZ2VyIGVsZW1lbnQgZm9yIGVhY2ggdHJcbiAgICAgIGxldCB0YWJsZUJvZHlSb3dzOiBOb2RlTGlzdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3RhYmxlW3RhYmxlLWlkPVwiJyArIHRoaXMudGFibGVJZCArICdcIl0gdGJvZHkgdHInKTtcbiAgICAgIGxldCBjbG9zZUJ1dHRvbnM6IE5vZGVMaXN0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZ3Jhdml0eS1idXR0b25baWQtcmVmZXJlbmNlPVwiY2xvc2UtYnV0dG9uXCJdJyk7XG5cbiAgICAgIHRhYmxlQm9keVJvd3MuZm9yRWFjaCgodHI6IE5vZGUsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgbGV0IG1vYmlsZU1lbnVUcmlnZ2VyOiBIVE1MRGl2RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKG1vYmlsZU1lbnVUcmlnZ2VyLCAnbW9iaWxlLW1lbnUtdHJpZ2dlcicpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShtb2JpbGVNZW51VHJpZ2dlciwgJ2Nsb25lZC1ub2RlJywgJ3RydWUnKTtcblxuICAgICAgICBsZXQgbWVudVRvZ2dsZTogSFRNTERpdkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhtZW51VG9nZ2xlLCAnbWVudS10b2dnbGUnKTtcbiAgICAgICAgbWVudVRvZ2dsZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJykpO1xuICAgICAgICBtZW51VG9nZ2xlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKSk7XG4gICAgICAgIG1lbnVUb2dnbGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpKTtcbiAgICAgICAgbWVudVRvZ2dsZS5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4ge1xuICAgICAgICAgIGlmIChtZW51VG9nZ2xlLmNsYXNzTGlzdC5jb250YWlucygnb3BlbicpKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKG1lbnVUb2dnbGUsICdvcGVuJyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKG1lbnVUb2dnbGUucGFyZW50RWxlbWVudC5sYXN0RWxlbWVudENoaWxkLCAnb3BlbicpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKG1lbnVUb2dnbGUsICdvcGVuJyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKG1lbnVUb2dnbGUucGFyZW50RWxlbWVudC5sYXN0RWxlbWVudENoaWxkLCAnb3BlbicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIG1vYmlsZU1lbnVUcmlnZ2VyLmFwcGVuZENoaWxkKG1lbnVUb2dnbGUpO1xuXG4gICAgICAgIGxldCBwYW5lbDogSFRNTERpdkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhwYW5lbCwgJ3BhbmVsJyk7XG5cbiAgICAgICAgbGV0IGNsb3NlQnV0dG9uRnJvbU5vZGVMaXN0OiBOb2RlID0gY2xvc2VCdXR0b25zLml0ZW0oaW5kZXgpO1xuICAgICAgICBsZXQgY2xvc2VCdXR0b25SZW1vdmVkOiBOb2RlID0gY2xvc2VCdXR0b25Gcm9tTm9kZUxpc3QucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChjbG9zZUJ1dHRvbkZyb21Ob2RlTGlzdCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGNsb3NlQnV0dG9uUmVtb3ZlZCwgJ2Nsb25lZC1idXR0b24nLCAndHJ1ZScpO1xuICAgICAgICBjbG9zZUJ1dHRvblJlbW92ZWQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKG1lbnVUb2dnbGUsICdvcGVuJyk7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhtZW51VG9nZ2xlLnBhcmVudEVsZW1lbnQubGFzdEVsZW1lbnRDaGlsZCwgJ29wZW4nKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcGFuZWwuYXBwZW5kKGNsb3NlQnV0dG9uUmVtb3ZlZCk7XG5cbiAgICAgICAgbW9iaWxlTWVudVRyaWdnZXIuYXBwZW5kQ2hpbGQocGFuZWwpO1xuXG4gICAgICAgIHRyLmluc2VydEJlZm9yZShtb2JpbGVNZW51VHJpZ2dlciwgdHIuZmlyc3RDaGlsZCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkanVzdFRhYmxlRGVuc2l0eShkZW5zaXR5VmFsdWU6ICdzdGFuZGFyZCcgfCAnY29tcHJlc3NlZCcpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMudGFibGVFbGVtZW50LCAnc3RhbmRhcmQtdGFibGUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMudGFibGVFbGVtZW50LCAnY29tcHJlc3NlZC10YWJsZScpO1xuXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRhYmxlRWxlbWVudCwgZGVuc2l0eVZhbHVlICsgJy10YWJsZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGp1c3RCdXR0b25zU2l6ZSgpOiB2b2lkIHtcbiAgICBsZXQgYWN0aW9uc0NvbHVtbnM6IE5vZGVMaXN0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgndGFibGVbdGFibGUtaWQ9XCInICsgdGhpcy50YWJsZUlkICsgJ1wiXSAuYWN0aW9ucy1jb2x1bW4nKTtcbiAgICBhY3Rpb25zQ29sdW1ucy5mb3JFYWNoKChhY3Rpb25zQ29sdW1uOiBOb2RlKSA9PiB7XG4gICAgICBhY3Rpb25zQ29sdW1uLmNoaWxkTm9kZXMuZm9yRWFjaCgoZ3Jhdml0eUJ1dHRvbjogTm9kZSkgPT4ge1xuICAgICAgICBsZXQgYnV0dG9uOiBOb2RlID0gZ3Jhdml0eUJ1dHRvbi5jaGlsZE5vZGVzWzBdO1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoYnV0dG9uLCAnZ3Jhdml0eS1zaXplLWxnJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoYnV0dG9uLCAnZ3Jhdml0eS1zaXplLW1kJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoYnV0dG9uLCAnZ3Jhdml0eS1zaXplLXNtJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoYnV0dG9uLCAnbGctYm9sZCcpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKGJ1dHRvbiwgJ21kLWJvbGQnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhidXR0b24sICdzbS1ib2xkJyk7XG5cbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhidXR0b24sICdncmF2aXR5LXNpemUtc20nKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhidXR0b24sICdzbS1ib2xkJyk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICBwcml2YXRlIG9uUmVzaXplKCk6IHZvaWQge1xuICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8PSA1NzYpIHtcbiAgICAgIHRoaXMudGFibGVTaXplID0gJ3NtJztcbiAgICB9IGVsc2UgaWYgKHdpbmRvdy5pbm5lcldpZHRoIDw9IDk5Mikge1xuICAgICAgdGhpcy50YWJsZVNpemUgPSAnbWQnO1xuICAgIH0gZWxzZSBpZiAod2luZG93LmlubmVyV2lkdGggPD0gMTQ0MCkge1xuICAgICAgdGhpcy50YWJsZVNpemUgPSAnbGcnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRhYmxlU2l6ZSA9ICd4bCc7XG4gICAgfVxuXG4gICAgdGhpcy5hZGp1c3RUYWJsZVNpemUoKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRqdXN0VGFibGVTaXplKCk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy50YWJsZUVsZW1lbnQsICdzbS10YWJsZScpO1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy50YWJsZUVsZW1lbnQsICdtZC10YWJsZScpO1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy50YWJsZUVsZW1lbnQsICdsZy10YWJsZScpO1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy50YWJsZUVsZW1lbnQsICd4bC10YWJsZScpO1xuXG4gICAgaWYgKHRoaXMudGFibGVTaXplSW5wdXQgIT0gJ2F1dG8nKSB7XG4gICAgICB0aGlzLnRhYmxlU2l6ZSA9IHRoaXMudGFibGVTaXplSW5wdXQ7XG4gICAgfVxuXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRhYmxlRWxlbWVudCwgdGhpcy50YWJsZVNpemUgKyAnLXRhYmxlJyk7XG4gICAgdGhpcy5hZGp1c3RUYWJsZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGp1c3RUYWJsZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50YWJsZVNpemUgPT0gJ21kJyB8fCB0aGlzLnRhYmxlU2l6ZSA9PSAnc20nKSB7XG4gICAgICBsZXQgdGFibGVCb2R5Um93czogTm9kZUxpc3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCd0YWJsZVt0YWJsZS1pZD1cIicgKyB0aGlzLnRhYmxlSWQgKyAnXCJdIHRib2R5IHRyJyk7XG4gICAgICBsZXQgdGFibGVCb2R5Um93c0FjdGlvbnM6IE5vZGVMaXN0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgndGFibGVbdGFibGUtaWQ9XCInICsgdGhpcy50YWJsZUlkICsgJ1wiXSB0Ym9keSB0ciB0ZC5hY3Rpb25zLWNvbHVtbicpO1xuICAgICAgbGV0IHRhYmxlQm9keVJvd3NNZW51VHJpZ2dlcjogTm9kZUxpc3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCd0YWJsZVt0YWJsZS1pZD1cIicgKyB0aGlzLnRhYmxlSWQgKyAnXCJdIHRib2R5IHRyIC5tb2JpbGUtbWVudS10cmlnZ2VyW2Nsb25lZC1ub2RlPVwidHJ1ZVwiXScpO1xuXG4gICAgICB0YWJsZUJvZHlSb3dzLmZvckVhY2goKHRyOiBOb2RlLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGxldCBtb2JpbGVNZW51VHJpZ2dlcjogTm9kZSA9IHRhYmxlQm9keVJvd3NNZW51VHJpZ2dlci5pdGVtKGluZGV4KTtcbiAgICAgICAgbGV0IG1vYmlsZU1lbnVUcmlnZ2VyUGFuZWw6IE5vZGUgPSBtb2JpbGVNZW51VHJpZ2dlci5sYXN0Q2hpbGQ7XG5cbiAgICAgICAgaWYgKHRhYmxlQm9keVJvd3NBY3Rpb25zLml0ZW0oaW5kZXgpICYmIG1vYmlsZU1lbnVUcmlnZ2VyUGFuZWwpIHtcbiAgICAgICAgICB0aGlzLmFwcGVuZE5vZGVzTGlzdChtb2JpbGVNZW51VHJpZ2dlclBhbmVsLCB0YWJsZUJvZHlSb3dzQWN0aW9ucy5pdGVtKGluZGV4KS5jaGlsZE5vZGVzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudGFibGVTaXplID09ICdsZycgfHwgdGhpcy50YWJsZVNpemUgPT0gJ3hsJykge1xuICAgICAgbGV0IHRhYmxlQm9keVJvd3M6IE5vZGVMaXN0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgndGFibGVbdGFibGUtaWQ9XCInICsgdGhpcy50YWJsZUlkICsgJ1wiXSB0Ym9keSB0cicpO1xuICAgICAgbGV0IHRhYmxlQm9keVJvd3NBY3Rpb25zOiBOb2RlTGlzdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3RhYmxlW3RhYmxlLWlkPVwiJyArIHRoaXMudGFibGVJZCArICdcIl0gdGJvZHkgdHIgdGQuYWN0aW9ucy1jb2x1bW4nKTtcbiAgICAgIGxldCB0YWJsZUJvZHlSb3dzTWVudVRyaWdnZXI6IE5vZGVMaXN0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgndGFibGVbdGFibGUtaWQ9XCInICsgdGhpcy50YWJsZUlkICsgJ1wiXSB0Ym9keSB0ciAubW9iaWxlLW1lbnUtdHJpZ2dlcltjbG9uZWQtbm9kZT1cInRydWVcIl0nKTtcblxuICAgICAgdGFibGVCb2R5Um93cy5mb3JFYWNoKCh0cjogTm9kZSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICBpZiAodGFibGVCb2R5Um93c0FjdGlvbnMuaXRlbShpbmRleCkpIHtcbiAgICAgICAgICB0aGlzLmFwcGVuZE5vZGVzTGlzdCh0YWJsZUJvZHlSb3dzQWN0aW9ucy5pdGVtKGluZGV4KSwgdGFibGVCb2R5Um93c01lbnVUcmlnZ2VyLml0ZW0oaW5kZXgpLmxhc3RDaGlsZC5jaGlsZE5vZGVzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBlbmROb2Rlc0xpc3QoZWxlbWVudFRvQXBwZW5kOiBOb2RlLCBub2Rlc0xpc3Q6IE5vZGVMaXN0T2Y8Q2hpbGROb2RlPik6IE5vZGUge1xuICAgIGlmICh0aGlzLnRhYmxlU2l6ZSA9PSAnbWQnIHx8IHRoaXMudGFibGVTaXplID09ICdzbScpIHtcbiAgICAgIGxldCBub2RlTGlzdEluZGV4OiBudW1iZXIgPSBub2Rlc0xpc3QubGVuZ3RoIC0gMTtcblxuICAgICAgd2hpbGUgKG5vZGVzTGlzdC5sZW5ndGggIT0gMCkge1xuICAgICAgICBsZXQgcmVtb3ZlZE5vZGU6IE5vZGUgPSBub2Rlc0xpc3QuaXRlbShub2RlTGlzdEluZGV4KS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG5vZGVzTGlzdC5pdGVtKG5vZGVMaXN0SW5kZXgpKTtcbiAgICAgICAgZWxlbWVudFRvQXBwZW5kLmluc2VydEJlZm9yZShyZW1vdmVkTm9kZSwgZWxlbWVudFRvQXBwZW5kLmZpcnN0Q2hpbGQpO1xuICAgICAgICBub2RlTGlzdEluZGV4LS07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBlbGVtZW50VG9BcHBlbmQ7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudGFibGVTaXplID09ICdsZycgfHwgdGhpcy50YWJsZVNpemUgPT0gJ3hsJykge1xuICAgICAgbGV0IG5vZGVMaXN0SW5kZXg6IG51bWJlciA9IG5vZGVzTGlzdC5sZW5ndGggLSAxO1xuXG4gICAgICB3aGlsZSAobm9kZXNMaXN0Lmxlbmd0aCAhPSAxKSB7XG4gICAgICAgIGxldCBpdGVtOiBOb2RlID0gbm9kZXNMaXN0Lml0ZW0obm9kZUxpc3RJbmRleCk7XG4gICAgICAgIGxldCBjbG9zZUJ1dHRvbk5vZGU6IE5vZGUgPSBpdGVtLnBhcmVudE5vZGUucXVlcnlTZWxlY3RvckFsbCgnZ3Jhdml0eS1idXR0b25baWQtcmVmZXJlbmNlPVwiY2xvc2UtYnV0dG9uXCJdJykuaXRlbSgwKTtcblxuICAgICAgICBpZiAoaXRlbSAhPSBjbG9zZUJ1dHRvbk5vZGUpIHtcbiAgICAgICAgICBsZXQgcmVtb3ZlZE5vZGU6IE5vZGUgPSBpdGVtLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaXRlbSk7XG4gICAgICAgICAgZWxlbWVudFRvQXBwZW5kLmluc2VydEJlZm9yZShyZW1vdmVkTm9kZSwgZWxlbWVudFRvQXBwZW5kLmZpcnN0Q2hpbGQpO1xuICAgICAgICB9XG5cbiAgICAgICAgbm9kZUxpc3RJbmRleC0tO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZWxlbWVudFRvQXBwZW5kO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRhYmxlLWNvbnRhaW5lciB7e3RhYmxlU2l6ZX19XCIgI3RhYmxlQ29udGFpbmVyPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cblxuPGdyYXZpdHktYnV0dG9uIGlkLXJlZmVyZW5jZT1cImNsb3NlLWJ1dHRvblwiIFtpY29uTmFtZV09XCIndW5zdWNjZXNzJ1wiIFt0eXBlXT1cIid0ZXJ0aWFyeSdcIiBbc2l6ZV09XCInc20nXCI+Q2xvc2UgbWVudTwvZ3Jhdml0eS1idXR0b24+XG48Z3Jhdml0eS1idXR0b24gaWQtcmVmZXJlbmNlPVwiY2xvc2UtYnV0dG9uXCIgW2ljb25OYW1lXT1cIid1bnN1Y2Nlc3MnXCIgW3R5cGVdPVwiJ3RlcnRpYXJ5J1wiIFtzaXplXT1cIidzbSdcIj5DbG9zZSBtZW51PC9ncmF2aXR5LWJ1dHRvbj5cbjxncmF2aXR5LWJ1dHRvbiBpZC1yZWZlcmVuY2U9XCJjbG9zZS1idXR0b25cIiBbaWNvbk5hbWVdPVwiJ3Vuc3VjY2VzcydcIiBbdHlwZV09XCIndGVydGlhcnknXCIgW3NpemVdPVwiJ3NtJ1wiPkNsb3NlIG1lbnU8L2dyYXZpdHktYnV0dG9uPlxuPGdyYXZpdHktYnV0dG9uIGlkLXJlZmVyZW5jZT1cImNsb3NlLWJ1dHRvblwiIFtpY29uTmFtZV09XCIndW5zdWNjZXNzJ1wiIFt0eXBlXT1cIid0ZXJ0aWFyeSdcIiBbc2l6ZV09XCInc20nXCI+Q2xvc2UgbWVudTwvZ3Jhdml0eS1idXR0b24+XG48Z3Jhdml0eS1idXR0b24gaWQtcmVmZXJlbmNlPVwiY2xvc2UtYnV0dG9uXCIgW2ljb25OYW1lXT1cIid1bnN1Y2Nlc3MnXCIgW3R5cGVdPVwiJ3RlcnRpYXJ5J1wiIFtzaXplXT1cIidzbSdcIj5DbG9zZSBtZW51PC9ncmF2aXR5LWJ1dHRvbj5cbjxncmF2aXR5LWJ1dHRvbiBpZC1yZWZlcmVuY2U9XCJjbG9zZS1idXR0b25cIiBbaWNvbk5hbWVdPVwiJ3Vuc3VjY2VzcydcIiBbdHlwZV09XCIndGVydGlhcnknXCIgW3NpemVdPVwiJ3NtJ1wiPkNsb3NlIG1lbnU8L2dyYXZpdHktYnV0dG9uPlxuPGdyYXZpdHktYnV0dG9uIGlkLXJlZmVyZW5jZT1cImNsb3NlLWJ1dHRvblwiIFtpY29uTmFtZV09XCIndW5zdWNjZXNzJ1wiIFt0eXBlXT1cIid0ZXJ0aWFyeSdcIiBbc2l6ZV09XCInc20nXCI+Q2xvc2UgbWVudTwvZ3Jhdml0eS1idXR0b24+XG48Z3Jhdml0eS1idXR0b24gaWQtcmVmZXJlbmNlPVwiY2xvc2UtYnV0dG9uXCIgW2ljb25OYW1lXT1cIid1bnN1Y2Nlc3MnXCIgW3R5cGVdPVwiJ3RlcnRpYXJ5J1wiIFtzaXplXT1cIidzbSdcIj5DbG9zZSBtZW51PC9ncmF2aXR5LWJ1dHRvbj5cbjxncmF2aXR5LWJ1dHRvbiBpZC1yZWZlcmVuY2U9XCJjbG9zZS1idXR0b25cIiBbaWNvbk5hbWVdPVwiJ3Vuc3VjY2VzcydcIiBbdHlwZV09XCIndGVydGlhcnknXCIgW3NpemVdPVwiJ3NtJ1wiPkNsb3NlIG1lbnU8L2dyYXZpdHktYnV0dG9uPlxuPGdyYXZpdHktYnV0dG9uIGlkLXJlZmVyZW5jZT1cImNsb3NlLWJ1dHRvblwiIFtpY29uTmFtZV09XCIndW5zdWNjZXNzJ1wiIFt0eXBlXT1cIid0ZXJ0aWFyeSdcIiBbc2l6ZV09XCInc20nXCI+Q2xvc2UgbWVudTwvZ3Jhdml0eS1idXR0b24+XG48Z3Jhdml0eS1idXR0b24gaWQtcmVmZXJlbmNlPVwiY2xvc2UtYnV0dG9uXCIgW2ljb25OYW1lXT1cIid1bnN1Y2Nlc3MnXCIgW3R5cGVdPVwiJ3RlcnRpYXJ5J1wiIFtzaXplXT1cIidzbSdcIj5DbG9zZSBtZW51PC9ncmF2aXR5LWJ1dHRvbj5cbjxncmF2aXR5LWJ1dHRvbiBpZC1yZWZlcmVuY2U9XCJjbG9zZS1idXR0b25cIiBbaWNvbk5hbWVdPVwiJ3Vuc3VjY2VzcydcIiBbdHlwZV09XCIndGVydGlhcnknXCIgW3NpemVdPVwiJ3NtJ1wiPkNsb3NlIG1lbnU8L2dyYXZpdHktYnV0dG9uPlxuIl19
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktdGFibGUvZ3Jhdml0eS10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktdGFibGUvZ3Jhdml0eS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBSUwsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDOzs7QUFPdkIsTUFBTSxPQUFPLHFCQUFxQjtJQVNoQyxZQUE2QixRQUFtQjtRQUFuQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBUmhDLGlCQUFZLEdBQThCLFVBQVUsQ0FBQztRQUNyRCxtQkFBYyxHQUF1QyxNQUFNLENBQUM7UUFHcEUsaUJBQVksR0FBZSxJQUFJLENBQUM7UUFFakMsY0FBUyxHQUE4QixJQUFJLENBQUM7UUFHakQsSUFBSSxZQUFZLEdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoRCxJQUFJLFlBQVksR0FBVyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBRTlDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxHQUFHLENBQUMsWUFBWSxHQUFHLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElB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b0JBQzNCLElBQUksV0FBVyxHQUFTLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUMxRCxlQUFlLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQ3ZFO2dCQUVELGFBQWEsRUFBRSxDQUFDO2FBQ2pCO1lBRUQsT0FBTyxlQUFlLENBQUM7U0FDeEI7SUFDSCxDQUFDOytHQTNOVSxxQkFBcUI7bUdBQXJCLHFCQUFxQixzVUNqQmxDLDRtREFlQTs7NEZERWEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGVBQWU7Z0dBS1QsWUFBWTtzQkFBM0IsS0FBSztnQkFDVSxjQUFjO3NCQUE3QixLQUFLO2dCQUN1QyxjQUFjO3NCQUExRCxTQUFTO3VCQUFDLGdCQUFnQjtnQkFpSW5CLFFBQVE7c0JBRGYsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYXZpdHktdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3Jhdml0eS10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dyYXZpdHktdGFibGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBHcmF2aXR5VGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBwdWJsaWMgdGFibGVEZW5zaXR5OiAnc3RhbmRhcmQnIHwgJ2NvbXByZXNzZWQnID0gXCJzdGFuZGFyZFwiO1xuICBASW5wdXQoKSBwdWJsaWMgdGFibGVTaXplSW5wdXQ6ICd4bCcgfCAnbGcnIHwgJ21kJyB8ICdzbScgfCAnYXV0bycgPSBcImF1dG9cIjtcbiAgQFZpZXdDaGlsZCgndGFibGVDb250YWluZXInKSBwdWJsaWMgcmVhZG9ubHkgdGFibGVDb250YWluZXI6IEVsZW1lbnRSZWY7XG5cbiAgcHJpdmF0ZSB0YWJsZUVsZW1lbnQ6IEVsZW1lbnRSZWYgPSBudWxsO1xuICBwdWJsaWMgdGFibGVJZDogc3RyaW5nO1xuICBwdWJsaWMgdGFibGVTaXplOiAneGwnIHwgJ2xnJyB8ICdtZCcgfCAnc20nID0gJ3hsJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICBsZXQgbWlsbGlzZWNvbmRzOiBudW1iZXIgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICBsZXQgcmFuZG9tTnVtYmVyOiBudW1iZXIgPSBNYXRoLnJhbmRvbSgpICogMTA7XG5cbiAgICB0aGlzLnRhYmxlSWQgPSAnJyArIChtaWxsaXNlY29uZHMgKiByYW5kb21OdW1iZXIgLyAyKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRhYmxlRWxlbWVudCA9IHRoaXMudGFibGVDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQ/LmNoaWxkTm9kZXNbMF07XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy50YWJsZUVsZW1lbnQsICd0YWJsZS1pZCcsIHRoaXMudGFibGVJZCk7XG4gICAgdGhpcy5pbml0aWFsaXplQ29tcG9uZW50KCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHRoaXMudGFibGVFbGVtZW50KSB7XG4gICAgICBpZiAoY2hhbmdlc1sndGFibGVEZW5zaXR5J10pIHtcbiAgICAgICAgdGhpcy5hZGp1c3RUYWJsZURlbnNpdHkoY2hhbmdlc1sndGFibGVEZW5zaXR5J10uY3VycmVudFZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGNoYW5nZXNbJ3RhYmxlU2l6ZUlucHV0J10pIHtcbiAgICAgICAgdGhpcy50YWJsZVNpemVJbnB1dCA9IGNoYW5nZXNbJ3RhYmxlU2l6ZUlucHV0J10uY3VycmVudFZhbHVlO1xuICAgICAgICB0aGlzLm9uUmVzaXplKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRUYWJsZUhlYWRlcnMoKTogc3RyaW5nW10ge1xuICAgIGxldCB0YWJsZUhlYWRlckl0ZW1zOiBOb2RlTGlzdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3RoZWFkIHRyIHRoJyk7XG4gICAgbGV0IHRhYmxlSGVhZGVyczogc3RyaW5nW10gPSBbXTtcblxuICAgIHRhYmxlSGVhZGVySXRlbXMuZm9yRWFjaCgodGFibGVIZWFkZXJJdGVtOiBOb2RlKSA9PiB7XG4gICAgICB0YWJsZUhlYWRlcnMucHVzaCh0YWJsZUhlYWRlckl0ZW0uY2hpbGROb2Rlc1swXS5ub2RlVmFsdWUpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRhYmxlSGVhZGVycztcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplQ29tcG9uZW50KCk6IHZvaWQge1xuICAgIGxldCB0YWJsZUhlYWRlcnM6IHN0cmluZ1tdID0gdGhpcy5nZXRUYWJsZUhlYWRlcnMoKTtcbiAgICB0aGlzLmluaXRpYWxpemVUYWJsZSh0YWJsZUhlYWRlcnMpO1xuICAgIHRoaXMuYWRqdXN0VGFibGVEZW5zaXR5KHRoaXMudGFibGVEZW5zaXR5KTtcbiAgICB0aGlzLmFkanVzdEJ1dHRvbnNTaXplKCk7XG4gICAgdGhpcy5vblJlc2l6ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplVGFibGUodGFibGVIZWFkZXJzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIC8vU2V0IGNvcnJlc3BvbmRpbmcgdGFibGVIZWFkZXIgYXMgYW4gYXR0cmlidXRlIG9mIGVhY2ggdGRcbiAgICBsZXQgdGFibGVCb2R5OiBOb2RlTGlzdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3RhYmxlW3RhYmxlLWlkPVwiJyArIHRoaXMudGFibGVJZCArICdcIl0gdGJvZHkgdHIgdGQnKTtcbiAgICB0YWJsZUJvZHkuZm9yRWFjaCgodGFibGVCb2R5Um93OiBOb2RlLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0YWJsZUJvZHlSb3csICdoZWFkZXItbmFtZScsIHRhYmxlSGVhZGVyc1tpbmRleCAlIHRhYmxlSGVhZGVycy5sZW5ndGhdKTtcbiAgICB9KTtcblxuICAgIC8vQ3JlYXRlcyBhIGNvcHkgb2YgbW9iaWxlLW1lbnUtdHJpZ2dlciBlbGVtZW50IGZvciBlYWNoIHRyXG4gICAgbGV0IHRhYmxlQm9keVJvd3M6IE5vZGVMaXN0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgndGFibGVbdGFibGUtaWQ9XCInICsgdGhpcy50YWJsZUlkICsgJ1wiXSB0Ym9keSB0cicpO1xuICAgIGxldCBjbG9zZUJ1dHRvbnM6IE5vZGVMaXN0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZ3Jhdml0eS1idXR0b25baWQtcmVmZXJlbmNlPVwiY2xvc2UtYnV0dG9uXCJdJyk7XG5cbiAgICB0YWJsZUJvZHlSb3dzLmZvckVhY2goKHRyOiBOb2RlLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICBsZXQgbW9iaWxlTWVudVRyaWdnZXI6IEhUTUxEaXZFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKG1vYmlsZU1lbnVUcmlnZ2VyLCAnbW9iaWxlLW1lbnUtdHJpZ2dlcicpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUobW9iaWxlTWVudVRyaWdnZXIsICdjbG9uZWQtbm9kZScsICd0cnVlJyk7XG5cbiAgICAgIGxldCBtZW51VG9nZ2xlOiBIVE1MRGl2RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhtZW51VG9nZ2xlLCAnbWVudS10b2dnbGUnKTtcbiAgICAgIG1lbnVUb2dnbGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpKTtcbiAgICAgIG1lbnVUb2dnbGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpKTtcbiAgICAgIG1lbnVUb2dnbGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpKTtcbiAgICAgIG1lbnVUb2dnbGUuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcbiAgICAgICAgaWYgKG1lbnVUb2dnbGUuY2xhc3NMaXN0LmNvbnRhaW5zKCdvcGVuJykpIHtcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKG1lbnVUb2dnbGUsICdvcGVuJyk7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhtZW51VG9nZ2xlLnBhcmVudEVsZW1lbnQubGFzdEVsZW1lbnRDaGlsZCwgJ29wZW4nKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKG1lbnVUb2dnbGUsICdvcGVuJyk7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhtZW51VG9nZ2xlLnBhcmVudEVsZW1lbnQubGFzdEVsZW1lbnRDaGlsZCwgJ29wZW4nKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBtb2JpbGVNZW51VHJpZ2dlci5hcHBlbmRDaGlsZChtZW51VG9nZ2xlKTtcblxuICAgICAgbGV0IHBhbmVsOiBIVE1MRGl2RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhwYW5lbCwgJ3BhbmVsJyk7XG5cbiAgICAgIGxldCBjbG9zZUJ1dHRvbkZyb21Ob2RlTGlzdDogTm9kZSA9IGNsb3NlQnV0dG9ucy5pdGVtKGluZGV4KTtcbiAgICAgIGxldCBjbG9zZUJ1dHRvblJlbW92ZWQ6IE5vZGUgPSBjbG9zZUJ1dHRvbkZyb21Ob2RlTGlzdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGNsb3NlQnV0dG9uRnJvbU5vZGVMaXN0KTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGNsb3NlQnV0dG9uUmVtb3ZlZCwgJ2Nsb25lZC1idXR0b24nLCAndHJ1ZScpO1xuICAgICAgY2xvc2VCdXR0b25SZW1vdmVkLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MobWVudVRvZ2dsZSwgJ29wZW4nKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhtZW51VG9nZ2xlLnBhcmVudEVsZW1lbnQubGFzdEVsZW1lbnRDaGlsZCwgJ29wZW4nKTtcbiAgICAgIH0pO1xuXG4gICAgICBwYW5lbC5hcHBlbmQoY2xvc2VCdXR0b25SZW1vdmVkKTtcblxuICAgICAgbW9iaWxlTWVudVRyaWdnZXIuYXBwZW5kQ2hpbGQocGFuZWwpO1xuXG4gICAgICB0ci5pbnNlcnRCZWZvcmUobW9iaWxlTWVudVRyaWdnZXIsIHRyLmZpcnN0Q2hpbGQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGp1c3RUYWJsZURlbnNpdHkoZGVuc2l0eVZhbHVlOiAnc3RhbmRhcmQnIHwgJ2NvbXByZXNzZWQnKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnRhYmxlRWxlbWVudCwgJ3N0YW5kYXJkLXRhYmxlJyk7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnRhYmxlRWxlbWVudCwgJ2NvbXByZXNzZWQtdGFibGUnKTtcblxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50YWJsZUVsZW1lbnQsIGRlbnNpdHlWYWx1ZSArICctdGFibGUnKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRqdXN0QnV0dG9uc1NpemUoKTogdm9pZCB7XG4gICAgbGV0IGFjdGlvbnNDb2x1bW5zOiBOb2RlTGlzdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3RhYmxlW3RhYmxlLWlkPVwiJyArIHRoaXMudGFibGVJZCArICdcIl0gLmFjdGlvbnMtY29sdW1uJyk7XG4gICAgYWN0aW9uc0NvbHVtbnMuZm9yRWFjaCgoYWN0aW9uc0NvbHVtbjogTm9kZSkgPT4ge1xuICAgICAgYWN0aW9uc0NvbHVtbi5jaGlsZE5vZGVzLmZvckVhY2goKGdyYXZpdHlCdXR0b246IE5vZGUpID0+IHtcbiAgICAgICAgbGV0IGJ1dHRvbjogTm9kZSA9IGdyYXZpdHlCdXR0b24uY2hpbGROb2Rlc1swXTtcblxuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKGJ1dHRvbiwgJ2dyYXZpdHktc2l6ZS1sZycpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKGJ1dHRvbiwgJ2dyYXZpdHktc2l6ZS1tZCcpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKGJ1dHRvbiwgJ2dyYXZpdHktc2l6ZS1zbScpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKGJ1dHRvbiwgJ2xnLWJvbGQnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhidXR0b24sICdtZC1ib2xkJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoYnV0dG9uLCAnc20tYm9sZCcpO1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoYnV0dG9uLCAnZ3Jhdml0eS1zaXplLXNtJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoYnV0dG9uLCAnc20tYm9sZCcpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgcHJpdmF0ZSBvblJlc2l6ZSgpOiB2b2lkIHtcbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggPD0gNTc2KSB7XG4gICAgICB0aGlzLnRhYmxlU2l6ZSA9ICdzbSc7XG4gICAgfSBlbHNlIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8PSA5OTIpIHtcbiAgICAgIHRoaXMudGFibGVTaXplID0gJ21kJztcbiAgICB9IGVsc2UgaWYgKHdpbmRvdy5pbm5lcldpZHRoIDw9IDE0NDApIHtcbiAgICAgIHRoaXMudGFibGVTaXplID0gJ2xnJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50YWJsZVNpemUgPSAneGwnO1xuICAgIH1cblxuICAgIHRoaXMuYWRqdXN0VGFibGVTaXplKCk7XG4gIH1cblxuICBwcml2YXRlIGFkanVzdFRhYmxlU2l6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMudGFibGVFbGVtZW50LCAnc20tdGFibGUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMudGFibGVFbGVtZW50LCAnbWQtdGFibGUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMudGFibGVFbGVtZW50LCAnbGctdGFibGUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMudGFibGVFbGVtZW50LCAneGwtdGFibGUnKTtcblxuICAgIGlmICh0aGlzLnRhYmxlU2l6ZUlucHV0ICE9ICdhdXRvJykge1xuICAgICAgdGhpcy50YWJsZVNpemUgPSB0aGlzLnRhYmxlU2l6ZUlucHV0O1xuICAgIH1cblxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50YWJsZUVsZW1lbnQsIHRoaXMudGFibGVTaXplICsgJy10YWJsZScpO1xuICAgIHRoaXMuYWRqdXN0VGFibGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRqdXN0VGFibGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGFibGVTaXplID09ICdtZCcgfHwgdGhpcy50YWJsZVNpemUgPT0gJ3NtJykge1xuICAgICAgbGV0IHRhYmxlQm9keVJvd3M6IE5vZGVMaXN0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgndGFibGVbdGFibGUtaWQ9XCInICsgdGhpcy50YWJsZUlkICsgJ1wiXSB0Ym9keSB0cicpO1xuICAgICAgbGV0IHRhYmxlQm9keVJvd3NBY3Rpb25zOiBOb2RlTGlzdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3RhYmxlW3RhYmxlLWlkPVwiJyArIHRoaXMudGFibGVJZCArICdcIl0gdGJvZHkgdHIgdGQuYWN0aW9ucy1jb2x1bW4nKTtcbiAgICAgIGxldCB0YWJsZUJvZHlSb3dzTWVudVRyaWdnZXI6IE5vZGVMaXN0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgndGFibGVbdGFibGUtaWQ9XCInICsgdGhpcy50YWJsZUlkICsgJ1wiXSB0Ym9keSB0ciAubW9iaWxlLW1lbnUtdHJpZ2dlcltjbG9uZWQtbm9kZT1cInRydWVcIl0nKTtcblxuICAgICAgdGFibGVCb2R5Um93cy5mb3JFYWNoKCh0cjogTm9kZSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICBsZXQgbW9iaWxlTWVudVRyaWdnZXI6IE5vZGUgPSB0YWJsZUJvZHlSb3dzTWVudVRyaWdnZXIuaXRlbShpbmRleCk7XG4gICAgICAgIGxldCBtb2JpbGVNZW51VHJpZ2dlclBhbmVsOiBOb2RlID0gbW9iaWxlTWVudVRyaWdnZXIubGFzdENoaWxkO1xuXG4gICAgICAgIGlmICh0YWJsZUJvZHlSb3dzQWN0aW9ucy5pdGVtKGluZGV4KSAmJiBtb2JpbGVNZW51VHJpZ2dlclBhbmVsKSB7XG4gICAgICAgICAgdGhpcy5hcHBlbmROb2Rlc0xpc3QobW9iaWxlTWVudVRyaWdnZXJQYW5lbCwgdGFibGVCb2R5Um93c0FjdGlvbnMuaXRlbShpbmRleCkuY2hpbGROb2Rlcyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnRhYmxlU2l6ZSA9PSAnbGcnIHx8IHRoaXMudGFibGVTaXplID09ICd4bCcpIHtcbiAgICAgIGxldCB0YWJsZUJvZHlSb3dzOiBOb2RlTGlzdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3RhYmxlW3RhYmxlLWlkPVwiJyArIHRoaXMudGFibGVJZCArICdcIl0gdGJvZHkgdHInKTtcbiAgICAgIGxldCB0YWJsZUJvZHlSb3dzQWN0aW9uczogTm9kZUxpc3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCd0YWJsZVt0YWJsZS1pZD1cIicgKyB0aGlzLnRhYmxlSWQgKyAnXCJdIHRib2R5IHRyIHRkLmFjdGlvbnMtY29sdW1uJyk7XG4gICAgICBsZXQgdGFibGVCb2R5Um93c01lbnVUcmlnZ2VyOiBOb2RlTGlzdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3RhYmxlW3RhYmxlLWlkPVwiJyArIHRoaXMudGFibGVJZCArICdcIl0gdGJvZHkgdHIgLm1vYmlsZS1tZW51LXRyaWdnZXJbY2xvbmVkLW5vZGU9XCJ0cnVlXCJdJyk7XG5cbiAgICAgIHRhYmxlQm9keVJvd3MuZm9yRWFjaCgodHI6IE5vZGUsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgaWYgKHRhYmxlQm9keVJvd3NBY3Rpb25zLml0ZW0oaW5kZXgpKSB7XG4gICAgICAgICAgdGhpcy5hcHBlbmROb2Rlc0xpc3QodGFibGVCb2R5Um93c0FjdGlvbnMuaXRlbShpbmRleCksIHRhYmxlQm9keVJvd3NNZW51VHJpZ2dlci5pdGVtKGluZGV4KS5sYXN0Q2hpbGQuY2hpbGROb2Rlcyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwZW5kTm9kZXNMaXN0KGVsZW1lbnRUb0FwcGVuZDogTm9kZSwgbm9kZXNMaXN0OiBOb2RlTGlzdE9mPENoaWxkTm9kZT4pOiBOb2RlIHtcbiAgICBpZiAodGhpcy50YWJsZVNpemUgPT0gJ21kJyB8fCB0aGlzLnRhYmxlU2l6ZSA9PSAnc20nKSB7XG4gICAgICBsZXQgbm9kZUxpc3RJbmRleDogbnVtYmVyID0gbm9kZXNMaXN0Lmxlbmd0aCAtIDE7XG5cbiAgICAgIHdoaWxlIChub2Rlc0xpc3QubGVuZ3RoICE9IDApIHtcbiAgICAgICAgbGV0IHJlbW92ZWROb2RlOiBOb2RlID0gbm9kZXNMaXN0Lml0ZW0obm9kZUxpc3RJbmRleCkucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChub2Rlc0xpc3QuaXRlbShub2RlTGlzdEluZGV4KSk7XG4gICAgICAgIGVsZW1lbnRUb0FwcGVuZC5pbnNlcnRCZWZvcmUocmVtb3ZlZE5vZGUsIGVsZW1lbnRUb0FwcGVuZC5maXJzdENoaWxkKTtcbiAgICAgICAgbm9kZUxpc3RJbmRleC0tO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZWxlbWVudFRvQXBwZW5kO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnRhYmxlU2l6ZSA9PSAnbGcnIHx8IHRoaXMudGFibGVTaXplID09ICd4bCcpIHtcbiAgICAgIGxldCBub2RlTGlzdEluZGV4OiBudW1iZXIgPSBub2Rlc0xpc3QubGVuZ3RoIC0gMTtcblxuICAgICAgd2hpbGUgKG5vZGVzTGlzdC5sZW5ndGggPiAxKSB7XG4gICAgICAgIGxldCBpdGVtOiBOb2RlID0gbm9kZXNMaXN0Lml0ZW0obm9kZUxpc3RJbmRleCk7XG4gICAgICAgIGxldCBjbG9zZUJ1dHRvbk5vZGU6IE5vZGUgPSBpdGVtLnBhcmVudE5vZGUucXVlcnlTZWxlY3RvckFsbCgnZ3Jhdml0eS1idXR0b25baWQtcmVmZXJlbmNlPVwiY2xvc2UtYnV0dG9uXCJdJykuaXRlbSgwKTtcblxuICAgICAgICBpZiAoaXRlbSAhPSBjbG9zZUJ1dHRvbk5vZGUpIHtcbiAgICAgICAgICBsZXQgcmVtb3ZlZE5vZGU6IE5vZGUgPSBpdGVtLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaXRlbSk7XG4gICAgICAgICAgZWxlbWVudFRvQXBwZW5kLmluc2VydEJlZm9yZShyZW1vdmVkTm9kZSwgZWxlbWVudFRvQXBwZW5kLmZpcnN0Q2hpbGQpO1xuICAgICAgICB9XG5cbiAgICAgICAgbm9kZUxpc3RJbmRleC0tO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZWxlbWVudFRvQXBwZW5kO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRhYmxlLWNvbnRhaW5lciB7e3RhYmxlU2l6ZX19XCIgI3RhYmxlQ29udGFpbmVyPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cblxuPGdyYXZpdHktYnV0dG9uIGlkLXJlZmVyZW5jZT1cImNsb3NlLWJ1dHRvblwiIFtpY29uTmFtZV09XCIndW5zdWNjZXNzJ1wiIFt0eXBlXT1cIid0ZXJ0aWFyeSdcIiBbc2l6ZV09XCInc20nXCI+Q2xvc2UgbWVudTwvZ3Jhdml0eS1idXR0b24+XG48Z3Jhdml0eS1idXR0b24gaWQtcmVmZXJlbmNlPVwiY2xvc2UtYnV0dG9uXCIgW2ljb25OYW1lXT1cIid1bnN1Y2Nlc3MnXCIgW3R5cGVdPVwiJ3RlcnRpYXJ5J1wiIFtzaXplXT1cIidzbSdcIj5DbG9zZSBtZW51PC9ncmF2aXR5LWJ1dHRvbj5cbjxncmF2aXR5LWJ1dHRvbiBpZC1yZWZlcmVuY2U9XCJjbG9zZS1idXR0b25cIiBbaWNvbk5hbWVdPVwiJ3Vuc3VjY2VzcydcIiBbdHlwZV09XCIndGVydGlhcnknXCIgW3NpemVdPVwiJ3NtJ1wiPkNsb3NlIG1lbnU8L2dyYXZpdHktYnV0dG9uPlxuPGdyYXZpdHktYnV0dG9uIGlkLXJlZmVyZW5jZT1cImNsb3NlLWJ1dHRvblwiIFtpY29uTmFtZV09XCIndW5zdWNjZXNzJ1wiIFt0eXBlXT1cIid0ZXJ0aWFyeSdcIiBbc2l6ZV09XCInc20nXCI+Q2xvc2UgbWVudTwvZ3Jhdml0eS1idXR0b24+XG48Z3Jhdml0eS1idXR0b24gaWQtcmVmZXJlbmNlPVwiY2xvc2UtYnV0dG9uXCIgW2ljb25OYW1lXT1cIid1bnN1Y2Nlc3MnXCIgW3R5cGVdPVwiJ3RlcnRpYXJ5J1wiIFtzaXplXT1cIidzbSdcIj5DbG9zZSBtZW51PC9ncmF2aXR5LWJ1dHRvbj5cbjxncmF2aXR5LWJ1dHRvbiBpZC1yZWZlcmVuY2U9XCJjbG9zZS1idXR0b25cIiBbaWNvbk5hbWVdPVwiJ3Vuc3VjY2VzcydcIiBbdHlwZV09XCIndGVydGlhcnknXCIgW3NpemVdPVwiJ3NtJ1wiPkNsb3NlIG1lbnU8L2dyYXZpdHktYnV0dG9uPlxuPGdyYXZpdHktYnV0dG9uIGlkLXJlZmVyZW5jZT1cImNsb3NlLWJ1dHRvblwiIFtpY29uTmFtZV09XCIndW5zdWNjZXNzJ1wiIFt0eXBlXT1cIid0ZXJ0aWFyeSdcIiBbc2l6ZV09XCInc20nXCI+Q2xvc2UgbWVudTwvZ3Jhdml0eS1idXR0b24+XG48Z3Jhdml0eS1idXR0b24gaWQtcmVmZXJlbmNlPVwiY2xvc2UtYnV0dG9uXCIgW2ljb25OYW1lXT1cIid1bnN1Y2Nlc3MnXCIgW3R5cGVdPVwiJ3RlcnRpYXJ5J1wiIFtzaXplXT1cIidzbSdcIj5DbG9zZSBtZW51PC9ncmF2aXR5LWJ1dHRvbj5cbjxncmF2aXR5LWJ1dHRvbiBpZC1yZWZlcmVuY2U9XCJjbG9zZS1idXR0b25cIiBbaWNvbk5hbWVdPVwiJ3Vuc3VjY2VzcydcIiBbdHlwZV09XCIndGVydGlhcnknXCIgW3NpemVdPVwiJ3NtJ1wiPkNsb3NlIG1lbnU8L2dyYXZpdHktYnV0dG9uPlxuPGdyYXZpdHktYnV0dG9uIGlkLXJlZmVyZW5jZT1cImNsb3NlLWJ1dHRvblwiIFtpY29uTmFtZV09XCIndW5zdWNjZXNzJ1wiIFt0eXBlXT1cIid0ZXJ0aWFyeSdcIiBbc2l6ZV09XCInc20nXCI+Q2xvc2UgbWVudTwvZ3Jhdml0eS1idXR0b24+XG48Z3Jhdml0eS1idXR0b24gaWQtcmVmZXJlbmNlPVwiY2xvc2UtYnV0dG9uXCIgW2ljb25OYW1lXT1cIid1bnN1Y2Nlc3MnXCIgW3R5cGVdPVwiJ3RlcnRpYXJ5J1wiIFtzaXplXT1cIidzbSdcIj5DbG9zZSBtZW51PC9ncmF2aXR5LWJ1dHRvbj5cbiJdfQ==
@@ -27,6 +27,11 @@ export class GravityTextFieldComponent {
27
27
  ngOnInit() {
28
28
  this.inputValue = this.customInputValue ? this.customInputValue : '';
29
29
  }
30
+ ngOnChanges(changes) {
31
+ if (changes['customInputValue']) {
32
+ this.inputValue = changes['customInputValue'].currentValue;
33
+ }
34
+ }
30
35
  getPlaceholder() {
31
36
  if (this.customPlaceholder && this.customPlaceholder != '') {
32
37
  return this.customPlaceholder;
@@ -81,7 +86,7 @@ export class GravityTextFieldComponent {
81
86
  }
82
87
  }
83
88
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityTextFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
84
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GravityTextFieldComponent, selector: "gravity-text-field", inputs: { autocomplete: "autocomplete", clickOnIconName: "clickOnIconName", currentLang: "currentLang", customPlaceholder: "customPlaceholder", customInputValue: "customInputValue", cypressTag: "cypressTag", iconColor: "iconColor", iconNames: "iconNames", iconsSizes: "iconsSizes", iconPlacement: "iconPlacement", inputContentType: "inputContentType", label: "label", placeholderType: "placeholderType", prefix: "prefix", required: "required", state: "state", supportTextContent: "supportTextContent", supportTextType: "supportTextType", textFieldType: "textFieldType", validations: "validations" }, outputs: { iconResponse: "clickIcon", textFieldValueResponse: "response" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }, { propertyName: "textAreaElement", first: true, predicate: ["textAreaElement"], descendants: true }], ngImport: i0, template: "<label class=\"hr-body-text sm-regular {{state}}\" [class.empty]=\"inputValue == '' && !focusInput\"\n [class.focused]=\"focusInput\" [class.full-input]=\"inputValue != '' && !focusInput\" *ngIf=\"label\">\n {{label}}\n <ng-container *ngIf=\"required\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Requerido <span class=\"text-negative\">*</span></ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Required <span class=\"text-negative\">*</span></ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'readonly'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- S\u00F3lo lectura</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Readonly</ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'disabled'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Deshabilitado</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Disabled</ng-container>\n </ng-container>\n</label>\n<div class=\"gravity-input-field {{textFieldType}} {{state}}\" [class.empty]=\"inputValue == '' && !focusInput\"\n [class.focused]=\"focusInput\" [class.full-input]=\"inputValue != '' && !focusInput\">\n <ng-container *ngIf=\"iconPlacement == 'left'\">\n <ng-container *ngTemplateOutlet=\"icons\"></ng-container>\n </ng-container>\n <span class=\"hr-label md-regular prefix\">{{prefix}}</span>\n <input [attr.data-cy]=\"cypressTag\"\n [attr.disabled]=\"state == 'disabled' ? true : null\"\n [attr.readonly]=\"state == 'readonly' ? true : null\"\n [autocomplete]=\"autocomplete\"\n [maxLength]=\"validations?.maxLength ? validations?.maxLength : 100\"\n [minLength]=\"validations?.minLength ? validations?.minLength : 0\"\n [placeholder]=\"getPlaceholder()\"\n [type]=\"inputContentType\"\n [value]=\"inputValue\"\n\n (blur)=\"focusInput = false\"\n (focus)=\"focusInput = true\"\n (keyup)=\"onInputKeyup()\"\n\n class=\"hr-label md-regular\"\n\n #inputElement\n\n *ngIf=\"textFieldType == 'input'\">\n <textarea [attr.data-cy]=\"cypressTag\"\n [attr.disabled]=\"state == 'disabled' ? true : null\"\n [attr.readonly]=\"state == 'readonly' ? true : null\"\n [maxLength]=\"validations?.maxLength ? validations?.maxLength : 200\"\n [minLength]=\"validations?.minLength ? validations?.minLength : 0\"\n [placeholder]=\"getPlaceholder()\"\n [value]=\"inputValue\"\n\n (blur)=\"focusInput = false\"\n (focus)=\"focusInput = true\"\n (keyup)=\"onInputKeyup()\"\n\n class=\"hr-label md-regular\"\n rows=\"1\"\n\n #textAreaElement\n\n *ngIf=\"textFieldType == 'textarea'\"></textarea>\n <ng-container *ngIf=\"iconPlacement == 'right'\">\n <ng-container *ngTemplateOutlet=\"icons\"></ng-container>\n </ng-container>\n</div>\n<p class=\"hr-body-text sm-regular support-text text-{{supportTextType}}\" *ngIf=\"supportTextContent\">\n {{supportTextContent}}\n</p>\n\n<ng-template #icons>\n <gravity-icon (click)=\"$event.stopPropagation(); handleIconClick(name)\" class=\"placement-{{iconPlacement}}\"\n [class.pointer]=\"!!clickOnIconName\" [customIconColorVariable]=\"getIconColor(i)\"\n [hoverIcon]=\"!!clickOnIconName\" [iconName]=\"name\" *ngFor=\"let name of iconNames; let i = index\"\n [size]=\"iconsSizes[i]\"></gravity-icon>\n</ng-template>\n", styles: [".border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:50%}.text-negative{color:var(--negative-primary)}.text-neutro{color:var(--text-primary)}.text-positive{color:var(--positive-primary)}.support-text{margin-left:0;margin-top:.3125rem;padding-inline:1rem}:host{display:block}label{color:var(--text-field-label-color);margin-inline:1rem}label.empty.enabled{--text-field-label-color: var(--label-text-empty-enabled-primary)}label.empty.disabled{--text-field-label-color: var(--label-text-empty-disabled-primary)}label.full-input.enabled{--text-field-label-color: var(--label-text-full-enabled-primary)}label.full-input.disabled{--text-field-label-color: var(--label-text-full-disabled-primary)}label.full-input.readonly{--text-field-label-color: var(--label-text-full-read-only-primary)}label.focused{--text-field-label-color: var(--label-text-full-enabled-pressed-primary)}.gravity-input-field{align-items:center;background-color:var(--text-field-input-field-background-color);border:1px solid var(--text-field-input-field-border-color);border-radius:.625rem;display:flex;padding:.75rem 1rem}.gravity-input-field .prefix{color:var(--text-field-input-field-input-color)}.gravity-input-field.input{height:3rem;max-height:3rem;min-height:1.5rem}.gravity-input-field.textarea{min-height:3rem}.gravity-input-field gravity-icon.pointer{cursor:pointer}.gravity-input-field gravity-icon ::ng-deep svg-icon{pointer-events:none}.gravity-input-field gravity-icon.placement-left{margin-right:.5rem}.gravity-input-field gravity-icon.placement-right{margin-left:.5rem}.gravity-input-field input{background-color:transparent;border:none;box-shadow:none;color:var(--text-field-input-field-input-color);line-height:0;outline:none;padding:0;width:100%}.gravity-input-field input:-webkit-autofill{-webkit-box-shadow:0 0 0 30px var(--text-field-input-field-background-color) inset!important;-webkit-text-fill-color:var(--text-field-input-field-input-color)!important}.gravity-input-field input::placeholder{color:var(--text-field-input-field-placeholder-color)}.gravity-input-field textarea{background-color:transparent;border:none;box-shadow:none;color:var(--text-field-input-field-input-color);font-family:var(--font-family);line-height:1;max-height:5rem;max-width:100%;min-height:1rem;outline:none;padding:0;width:100%}.gravity-input-field textarea::placeholder{color:var(--text-field-input-field-placeholder-color)}.gravity-input-field.empty.enabled{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-empty-enabled-primary);--text-field-input-field-input-color: var(--placeholder-empty-enabled-primary);--text-field-input-field-placeholder-color: var(--placeholder-empty-enabled-primary)}.gravity-input-field.empty.enabled:hover{--text-field-input-field-background-color: var(--bg-field-empty-enabled-hover-primary)}.gravity-input-field.empty.disabled{--text-field-input-field-background-color: var(--bg-field-empty-disabled-primary);--text-field-input-field-border-color: var(--bg-field-empty-disabled-primary);--text-field-input-field-input-color: var(--placeholder-empty-disabled-primary);--text-field-input-field-placeholder-color: var(--placeholder-empty-disabled-primary)}.gravity-input-field.empty.disabled gravity-icon{--icon-color: var(--placeholder-empty-disabled-primary)}.gravity-input-field.full-input.enabled{--text-field-input-field-background-color: var(--bg-field-full-enabled-primary);--text-field-input-field-border-color: var(--outline-field-full-enabled-primary);--text-field-input-field-input-color: var(--input-text-full-enabled-primary)}.gravity-input-field.full-input.enabled:hover{--text-field-input-field-background-color: var(--bg-field-full-enabled-hover-primary)}.gravity-input-field.full-input.disabled{--text-field-input-field-background-color: var(--bg-field-full-disabled-primary);--text-field-input-field-border-color: var(--bg-field-full-disabled-primary);--text-field-input-field-input-color: var(--input-text-full-disabled-primary)}.gravity-input-field.full-input.disabled gravity-icon{--icon-color: var(--input-text-full-disabled-primary)}.gravity-input-field.readonly{--text-field-input-field-background-color: var(--bg-field-full-read-only-primary);--text-field-input-field-border-color: var(--bg-field-full-read-only-primary);--text-field-input-field-input-color: var(--input-text-full-read-only-primary)}.gravity-input-field.readonly gravity-icon{--icon-color: var(--input-text-full-read-only-primary)}.gravity-input-field.focused:not(.readonly){--text-field-input-field-background-color: var(--bg-field-full-enabled-pressed-primary);--text-field-input-field-border-color: var(--outline-field-full-enabled-pressed-primary);--text-field-input-field-input-color: var(--placeholder-full-enabled-pressed-primary)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.GravityIconComponent, selector: "gravity-icon", inputs: ["customIconColorVariable", "iconName", "hoverIcon", "size"] }] }); }
89
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GravityTextFieldComponent, selector: "gravity-text-field", inputs: { autocomplete: "autocomplete", clickOnIconName: "clickOnIconName", currentLang: "currentLang", customPlaceholder: "customPlaceholder", customInputValue: "customInputValue", cypressTag: "cypressTag", iconColor: "iconColor", iconNames: "iconNames", iconsSizes: "iconsSizes", iconPlacement: "iconPlacement", inputContentType: "inputContentType", label: "label", placeholderType: "placeholderType", prefix: "prefix", required: "required", state: "state", supportTextContent: "supportTextContent", supportTextType: "supportTextType", textFieldType: "textFieldType", validations: "validations" }, outputs: { iconResponse: "clickIcon", textFieldValueResponse: "response" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }, { propertyName: "textAreaElement", first: true, predicate: ["textAreaElement"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<label class=\"hr-body-text sm-regular {{state}}\" [class.empty]=\"inputValue == '' && !focusInput\"\n [class.focused]=\"focusInput\" [class.full-input]=\"inputValue != '' && !focusInput\" *ngIf=\"label\">\n {{label}}\n <ng-container *ngIf=\"required\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Requerido <span class=\"text-negative\">*</span></ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Required <span class=\"text-negative\">*</span></ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'readonly'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- S\u00F3lo lectura</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Readonly</ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'disabled'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Deshabilitado</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Disabled</ng-container>\n </ng-container>\n</label>\n<div class=\"gravity-input-field {{textFieldType}} {{state}}\" [class.empty]=\"inputValue == '' && !focusInput\"\n [class.focused]=\"focusInput\" [class.full-input]=\"inputValue != '' && !focusInput\">\n <ng-container *ngIf=\"iconPlacement == 'left'\">\n <ng-container *ngTemplateOutlet=\"icons\"></ng-container>\n </ng-container>\n <span class=\"hr-label md-regular prefix\">{{prefix}}</span>\n <input [attr.data-cy]=\"cypressTag\"\n [attr.disabled]=\"state == 'disabled' ? true : null\"\n [attr.readonly]=\"state == 'readonly' ? true : null\"\n [autocomplete]=\"autocomplete\"\n [maxLength]=\"validations?.maxLength ? validations?.maxLength : 100\"\n [minLength]=\"validations?.minLength ? validations?.minLength : 0\"\n [placeholder]=\"getPlaceholder()\"\n [type]=\"inputContentType\"\n [value]=\"inputValue\"\n\n (blur)=\"focusInput = false\"\n (focus)=\"focusInput = true\"\n (keyup)=\"onInputKeyup()\"\n\n class=\"hr-label md-regular\"\n\n #inputElement\n\n *ngIf=\"textFieldType == 'input'\">\n <textarea [attr.data-cy]=\"cypressTag\"\n [attr.disabled]=\"state == 'disabled' ? true : null\"\n [attr.readonly]=\"state == 'readonly' ? true : null\"\n [maxLength]=\"validations?.maxLength ? validations?.maxLength : 200\"\n [minLength]=\"validations?.minLength ? validations?.minLength : 0\"\n [placeholder]=\"getPlaceholder()\"\n [value]=\"inputValue\"\n\n (blur)=\"focusInput = false\"\n (focus)=\"focusInput = true\"\n (keyup)=\"onInputKeyup()\"\n\n class=\"hr-label md-regular\"\n rows=\"1\"\n\n #textAreaElement\n\n *ngIf=\"textFieldType == 'textarea'\"></textarea>\n <ng-container *ngIf=\"iconPlacement == 'right'\">\n <ng-container *ngTemplateOutlet=\"icons\"></ng-container>\n </ng-container>\n</div>\n<p class=\"hr-body-text sm-regular support-text text-{{supportTextType}}\" *ngIf=\"supportTextContent\">\n {{supportTextContent}}\n</p>\n\n<ng-template #icons>\n <gravity-icon (click)=\"$event.stopPropagation(); handleIconClick(name)\" class=\"placement-{{iconPlacement}}\"\n [class.pointer]=\"!!clickOnIconName\" [customIconColorVariable]=\"getIconColor(i)\"\n [hoverIcon]=\"!!clickOnIconName\" [iconName]=\"name\" *ngFor=\"let name of iconNames; let i = index\"\n [size]=\"iconsSizes[i]\"></gravity-icon>\n</ng-template>\n", styles: [".border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:50%}.text-negative{color:var(--negative-primary)}.text-neutro{color:var(--text-primary)}.text-positive{color:var(--positive-primary)}.support-text{margin-left:0;margin-top:.3125rem;padding-inline:1rem}:host{display:block}label{color:var(--text-field-label-color);margin-inline:1rem}label.empty.enabled{--text-field-label-color: var(--label-text-empty-enabled-primary)}label.empty.disabled{--text-field-label-color: var(--label-text-empty-disabled-primary)}label.full-input.enabled{--text-field-label-color: var(--label-text-full-enabled-primary)}label.full-input.disabled{--text-field-label-color: var(--label-text-full-disabled-primary)}label.full-input.readonly{--text-field-label-color: var(--label-text-full-read-only-primary)}label.focused{--text-field-label-color: var(--label-text-full-enabled-pressed-primary)}.gravity-input-field{align-items:center;background-color:var(--text-field-input-field-background-color);border:1px solid var(--text-field-input-field-border-color);border-radius:.625rem;display:flex;padding:.75rem 1rem}.gravity-input-field .prefix{color:var(--text-field-input-field-input-color)}.gravity-input-field.input{height:3rem;max-height:3rem;min-height:1.5rem}.gravity-input-field.textarea{min-height:3rem}.gravity-input-field gravity-icon.pointer{cursor:pointer}.gravity-input-field gravity-icon ::ng-deep svg-icon{pointer-events:none}.gravity-input-field gravity-icon.placement-left{margin-right:.5rem}.gravity-input-field gravity-icon.placement-right{margin-left:.5rem}.gravity-input-field input{background-color:transparent;border:none;box-shadow:none;color:var(--text-field-input-field-input-color);line-height:0;outline:none;padding:0;width:100%}.gravity-input-field input:-webkit-autofill{-webkit-box-shadow:0 0 0 30px var(--text-field-input-field-background-color) inset!important;-webkit-text-fill-color:var(--text-field-input-field-input-color)!important}.gravity-input-field input::placeholder{color:var(--text-field-input-field-placeholder-color)}.gravity-input-field textarea{background-color:transparent;border:none;box-shadow:none;color:var(--text-field-input-field-input-color);font-family:var(--font-family);line-height:1;max-height:5rem;max-width:100%;min-height:1rem;outline:none;padding:0;width:100%}.gravity-input-field textarea::placeholder{color:var(--text-field-input-field-placeholder-color)}.gravity-input-field.empty.enabled{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-empty-enabled-primary);--text-field-input-field-input-color: var(--placeholder-empty-enabled-primary);--text-field-input-field-placeholder-color: var(--placeholder-empty-enabled-primary)}.gravity-input-field.empty.enabled:hover{--text-field-input-field-background-color: var(--bg-field-empty-enabled-hover-primary)}.gravity-input-field.empty.disabled{--text-field-input-field-background-color: var(--bg-field-empty-disabled-primary);--text-field-input-field-border-color: var(--bg-field-empty-disabled-primary);--text-field-input-field-input-color: var(--placeholder-empty-disabled-primary);--text-field-input-field-placeholder-color: var(--placeholder-empty-disabled-primary)}.gravity-input-field.empty.disabled gravity-icon{--icon-color: var(--placeholder-empty-disabled-primary)}.gravity-input-field.full-input.enabled{--text-field-input-field-background-color: var(--bg-field-full-enabled-primary);--text-field-input-field-border-color: var(--outline-field-full-enabled-primary);--text-field-input-field-input-color: var(--input-text-full-enabled-primary)}.gravity-input-field.full-input.enabled:hover{--text-field-input-field-background-color: var(--bg-field-full-enabled-hover-primary)}.gravity-input-field.full-input.disabled{--text-field-input-field-background-color: var(--bg-field-full-disabled-primary);--text-field-input-field-border-color: var(--bg-field-full-disabled-primary);--text-field-input-field-input-color: var(--input-text-full-disabled-primary)}.gravity-input-field.full-input.disabled gravity-icon{--icon-color: var(--input-text-full-disabled-primary)}.gravity-input-field.readonly{--text-field-input-field-background-color: var(--bg-field-full-read-only-primary);--text-field-input-field-border-color: var(--bg-field-full-read-only-primary);--text-field-input-field-input-color: var(--input-text-full-read-only-primary)}.gravity-input-field.readonly gravity-icon{--icon-color: var(--input-text-full-read-only-primary)}.gravity-input-field.focused:not(.readonly){--text-field-input-field-background-color: var(--bg-field-full-enabled-pressed-primary);--text-field-input-field-border-color: var(--outline-field-full-enabled-pressed-primary);--text-field-input-field-input-color: var(--placeholder-full-enabled-pressed-primary)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.GravityIconComponent, selector: "gravity-icon", inputs: ["customIconColorVariable", "iconName", "hoverIcon", "size"] }] }); }
85
90
  }
86
91
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityTextFieldComponent, decorators: [{
87
92
  type: Component,
@@ -139,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
139
144
  type: ViewChild,
140
145
  args: ['textAreaElement', { static: false }]
141
146
  }] } });
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS10ZXh0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS10ZXh0LWZpZWxkL2dyYXZpdHktdGV4dC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktdGV4dC1maWVsZC9ncmF2aXR5LXRleHQtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7QUFPeEYsTUFBTSxPQUFPLHlCQUF5QjtJQUx0QztRQU04QixpQkFBWSxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFELDJCQUFzQixHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTdFLGlCQUFZLEdBQVcsS0FBSyxDQUFDO1FBQzdCLG9CQUFlLEdBQXFCLEtBQUssQ0FBQztRQUMxQyxnQkFBVyxHQUFXLElBQUksQ0FBQztRQU0zQixlQUFVLEdBQTJCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsa0JBQWEsR0FBcUIsTUFBTSxDQUFDO1FBQ3pDLHFCQUFnQixHQUFxRCxNQUFNLENBQUM7UUFFNUUsb0JBQWUsR0FBZ0MsU0FBUyxDQUFDO1FBQ3pELFdBQU0sR0FBVyxFQUFFLENBQUM7UUFFcEIsVUFBSyxHQUF3QyxTQUFTLENBQUM7UUFFdkQsb0JBQWUsR0FBdUMsUUFBUSxDQUFDO1FBQy9ELGtCQUFhLEdBQXlCLE9BQU8sQ0FBQztRQU12RCxlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFFZCxpQkFBWSxHQUFHO1lBQzlCLE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsS0FBSyxFQUFFLHNCQUFzQjtTQUM5QixDQUFBO0tBeURGO0lBdkRDLFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDdkUsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBRTtZQUMxRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztTQUMvQjthQUFNLElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxTQUFTLEVBQUU7WUFDNUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQ25CO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ2hEO0lBQ0gsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLGdCQUFnQixDQUFDLGFBQXNCLEtBQUs7UUFDbEQsSUFBSSxVQUFVLEVBQUU7WUFDZCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztTQUN0QjthQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxPQUFPLEVBQUU7WUFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7U0FDekQ7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1NBQzVEO1FBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsRUFBRTtZQUN6QixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3RDO2FBQU07WUFDTCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ2pFO0lBQ0gsQ0FBQztJQUVNLGVBQWUsQ0FBQyxRQUFnQjtRQUNyQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5QjthQUFNLElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxRQUFRLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRU0sWUFBWSxDQUFDLFNBQWlCO1FBQ25DLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxRQUFRLEVBQUU7WUFDdkMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQ3ZCO2FBQU0sSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLFdBQVcsRUFBRTtZQUNqRCxPQUFPLElBQUksQ0FBQztTQUNiO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDbEM7SUFDSCxDQUFDOytHQTFGVSx5QkFBeUI7bUdBQXpCLHlCQUF5QixpN0JDUHRDLHc4R0F5RUE7OzRGRGxFYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0Usb0JBQW9COzhCQUtGLFlBQVk7c0JBQXZDLE1BQU07dUJBQUMsV0FBVztnQkFDUSxzQkFBc0I7c0JBQWhELE1BQU07dUJBQUMsVUFBVTtnQkFFRixZQUFZO3NCQUEzQixLQUFLO2dCQUNVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxpQkFBaUI7c0JBQWhDLEtBQUs7Z0JBQ1UsZ0JBQWdCO3NCQUEvQixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxlQUFlO3NCQUE5QixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLGtCQUFrQjtzQkFBakMsS0FBSztnQkFDVSxlQUFlO3NCQUE5QixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFFOEMsWUFBWTtzQkFBL0QsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO2dCQUNhLGVBQWU7c0JBQXJFLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdncmF2aXR5LXRleHQtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3Jhdml0eS10ZXh0LWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3Jhdml0eS10ZXh0LWZpZWxkLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgR3Jhdml0eVRleHRGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBPdXRwdXQoJ2NsaWNrSWNvbicpIHB1YmxpYyBpY29uUmVzcG9uc2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgncmVzcG9uc2UnKSBwdWJsaWMgdGV4dEZpZWxkVmFsdWVSZXNwb25zZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQElucHV0KCkgcHVibGljIGF1dG9jb21wbGV0ZTogc3RyaW5nID0gJ29mZic7XG4gIEBJbnB1dCgpIHB1YmxpYyBjbGlja09uSWNvbk5hbWU6IHN0cmluZyB8IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGN1cnJlbnRMYW5nOiBzdHJpbmcgPSAnZW4nO1xuICBASW5wdXQoKSBwdWJsaWMgY3VzdG9tUGxhY2Vob2xkZXI6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbUlucHV0VmFsdWU6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGN5cHJlc3NUYWc6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGljb25Db2xvcj86IHN0cmluZyB8IHN0cmluZ1tdO1xuICBASW5wdXQoKSBwdWJsaWMgaWNvbk5hbWVzOiBzdHJpbmdbXTtcbiAgQElucHV0KCkgcHVibGljIGljb25zU2l6ZXM6ICgnc20nIHwgJ21kJyB8ICdsZycpW10gPSBbJ3NtJ107XG4gIEBJbnB1dCgpIHB1YmxpYyBpY29uUGxhY2VtZW50OiAnbGVmdCcgfCAncmlnaHQnID0gXCJsZWZ0XCI7XG4gIEBJbnB1dCgpIHB1YmxpYyBpbnB1dENvbnRlbnRUeXBlOiAnZW1haWwnIHwgJ251bWJlcicgfCAncGFzc3dvcmQnIHwgJ3RlbCcgfCAndGV4dCcgPSBcInRleHRcIjtcbiAgQElucHV0KCkgcHVibGljIGxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlclR5cGU6ICdkZWZhdWx0JyB8ICdlbWFpbCcgfCAndXJsJyA9IFwiZGVmYXVsdFwiO1xuICBASW5wdXQoKSBwdWJsaWMgcHJlZml4OiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHB1YmxpYyBzdGF0ZTogJ3JlYWRvbmx5JyB8ICdkaXNhYmxlZCcgfCAnZW5hYmxlZCcgPSBcImVuYWJsZWRcIjtcbiAgQElucHV0KCkgcHVibGljIHN1cHBvcnRUZXh0Q29udGVudDogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgc3VwcG9ydFRleHRUeXBlOiAnbmV1dHJvJyB8ICduZWdhdGl2ZScgfCAncG9zaXRpdmUnID0gXCJuZXV0cm9cIjtcbiAgQElucHV0KCkgcHVibGljIHRleHRGaWVsZFR5cGU6ICdpbnB1dCcgfCAndGV4dGFyZWEnID0gXCJpbnB1dFwiO1xuICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbnM6IHsgbWF4TGVuZ3RoPzogbnVtYmVyOyBtaW5MZW5ndGg/OiBudW1iZXIgfTtcblxuICBAVmlld0NoaWxkKCdpbnB1dEVsZW1lbnQnLCB7c3RhdGljOiBmYWxzZX0pIHByaXZhdGUgaW5wdXRFbGVtZW50OiBhbnk7XG4gIEBWaWV3Q2hpbGQoJ3RleHRBcmVhRWxlbWVudCcsIHtzdGF0aWM6IGZhbHNlfSkgcHJpdmF0ZSB0ZXh0QXJlYUVsZW1lbnQ6IGFueTtcblxuICBwdWJsaWMgZm9jdXNJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgaW5wdXRWYWx1ZTogc3RyaW5nID0gJyc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBwbGFjZWhvbGRlcnMgPSB7XG4gICAgJ2VtYWlsJzogJ3Rlc3RAZW1haWwuY29tJyxcbiAgICAndXJsJzogJ2h0dHBzOi8vd3d3LnRlc3QuY29tJ1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dFZhbHVlID0gdGhpcy5jdXN0b21JbnB1dFZhbHVlID8gdGhpcy5jdXN0b21JbnB1dFZhbHVlIDogJyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0UGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5jdXN0b21QbGFjZWhvbGRlciAmJiB0aGlzLmN1c3RvbVBsYWNlaG9sZGVyICE9ICcnKSB7XG4gICAgICByZXR1cm4gdGhpcy5jdXN0b21QbGFjZWhvbGRlcjtcbiAgICB9IGVsc2UgaWYgKHRoaXMucGxhY2Vob2xkZXJUeXBlID09ICdkZWZhdWx0Jykge1xuICAgICAgcmV0dXJuIHRoaXMubGFiZWw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnBsYWNlaG9sZGVyc1t0aGlzLnBsYWNlaG9sZGVyVHlwZV07XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsZWFySW5wdXQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VJbnB1dFZhbHVlKHRydWUpO1xuICB9XG5cbiAgcHVibGljIG9uSW5wdXRLZXl1cCgpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZUlucHV0VmFsdWUoKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hhbmdlSW5wdXRWYWx1ZShjbGVhcklucHV0OiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICBpZiAoY2xlYXJJbnB1dCkge1xuICAgICAgdGhpcy5pbnB1dFZhbHVlID0gJyc7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRleHRGaWVsZFR5cGUgPT0gJ2lucHV0Jykge1xuICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdGhpcy50ZXh0QXJlYUVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pbnB1dFZhbHVlID09ICcnKSB7XG4gICAgICB0aGlzLnRleHRGaWVsZFZhbHVlUmVzcG9uc2UuZW1pdCgnJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGV4dEZpZWxkVmFsdWVSZXNwb25zZS5lbWl0KHRoaXMucHJlZml4ICsgdGhpcy5pbnB1dFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlSWNvbkNsaWNrKGljb25OYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pY29uTmFtZXMubGVuZ3RoID09IDEpIHtcbiAgICAgIHRoaXMuaWNvblJlc3BvbnNlLmVtaXQodHJ1ZSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNsaWNrT25JY29uTmFtZSA9PSBpY29uTmFtZSkge1xuICAgICAgdGhpcy5pY29uUmVzcG9uc2UuZW1pdCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0SWNvbkNvbG9yKGljb25JbmRleDogbnVtYmVyKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHR5cGVvZiAodGhpcy5pY29uQ29sb3IpID09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gdGhpcy5pY29uQ29sb3I7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgKHRoaXMuaWNvbkNvbG9yKSA9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuaWNvbkNvbG9yW2ljb25JbmRleF07XG4gICAgfVxuICB9XG59XG4iLCI8bGFiZWwgY2xhc3M9XCJoci1ib2R5LXRleHQgc20tcmVndWxhciB7e3N0YXRlfX1cIiBbY2xhc3MuZW1wdHldPVwiaW5wdXRWYWx1ZSA9PSAnJyAmJiAhZm9jdXNJbnB1dFwiXG4gICAgICAgW2NsYXNzLmZvY3VzZWRdPVwiZm9jdXNJbnB1dFwiIFtjbGFzcy5mdWxsLWlucHV0XT1cImlucHV0VmFsdWUgIT0gJycgJiYgIWZvY3VzSW5wdXRcIiAqbmdJZj1cImxhYmVsXCI+XG4gIHt7bGFiZWx9fVxuICA8bmctY29udGFpbmVyICpuZ0lmPVwicmVxdWlyZWRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudExhbmcgPT0gJ2VzJ1wiPi0gUmVxdWVyaWRvIDxzcGFuIGNsYXNzPVwidGV4dC1uZWdhdGl2ZVwiPio8L3NwYW4+PC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRMYW5nID09ICdlbidcIj4tIFJlcXVpcmVkIDxzcGFuIGNsYXNzPVwidGV4dC1uZWdhdGl2ZVwiPio8L3NwYW4+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdGUgPT0gJ3JlYWRvbmx5J1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXJyZW50TGFuZyA9PSAnZXMnXCI+LSBTw7NsbyBsZWN0dXJhPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRMYW5nID09ICdlbidcIj4tIFJlYWRvbmx5PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdGUgPT0gJ2Rpc2FibGVkJ1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXJyZW50TGFuZyA9PSAnZXMnXCI+LSBEZXNoYWJpbGl0YWRvPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRMYW5nID09ICdlbidcIj4tIERpc2FibGVkPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9sYWJlbD5cbjxkaXYgY2xhc3M9XCJncmF2aXR5LWlucHV0LWZpZWxkIHt7dGV4dEZpZWxkVHlwZX19IHt7c3RhdGV9fVwiIFtjbGFzcy5lbXB0eV09XCJpbnB1dFZhbHVlID09ICcnICYmICFmb2N1c0lucHV0XCJcbiAgICAgW2NsYXNzLmZvY3VzZWRdPVwiZm9jdXNJbnB1dFwiIFtjbGFzcy5mdWxsLWlucHV0XT1cImlucHV0VmFsdWUgIT0gJycgJiYgIWZvY3VzSW5wdXRcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImljb25QbGFjZW1lbnQgPT0gJ2xlZnQnXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImljb25zXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8c3BhbiBjbGFzcz1cImhyLWxhYmVsIG1kLXJlZ3VsYXIgcHJlZml4XCI+e3twcmVmaXh9fTwvc3Bhbj5cbiAgPGlucHV0IFthdHRyLmRhdGEtY3ldPVwiY3lwcmVzc1RhZ1wiXG4gICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJzdGF0ZSA9PSAnZGlzYWJsZWQnID8gdHJ1ZSA6IG51bGxcIlxuICAgICAgICAgW2F0dHIucmVhZG9ubHldPVwic3RhdGUgPT0gJ3JlYWRvbmx5JyA/IHRydWUgOiBudWxsXCJcbiAgICAgICAgIFthdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlXCJcbiAgICAgICAgIFttYXhMZW5ndGhdPVwidmFsaWRhdGlvbnM/Lm1heExlbmd0aCA/IHZhbGlkYXRpb25zPy5tYXhMZW5ndGggOiAxMDBcIlxuICAgICAgICAgW21pbkxlbmd0aF09XCJ2YWxpZGF0aW9ucz8ubWluTGVuZ3RoID8gdmFsaWRhdGlvbnM/Lm1pbkxlbmd0aCA6IDBcIlxuICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImdldFBsYWNlaG9sZGVyKClcIlxuICAgICAgICAgW3R5cGVdPVwiaW5wdXRDb250ZW50VHlwZVwiXG4gICAgICAgICBbdmFsdWVdPVwiaW5wdXRWYWx1ZVwiXG5cbiAgICAgICAgIChibHVyKT1cImZvY3VzSW5wdXQgPSBmYWxzZVwiXG4gICAgICAgICAoZm9jdXMpPVwiZm9jdXNJbnB1dCA9IHRydWVcIlxuICAgICAgICAgKGtleXVwKT1cIm9uSW5wdXRLZXl1cCgpXCJcblxuICAgICAgICAgY2xhc3M9XCJoci1sYWJlbCBtZC1yZWd1bGFyXCJcblxuICAgICAgICAgI2lucHV0RWxlbWVudFxuXG4gICAgICAgICAqbmdJZj1cInRleHRGaWVsZFR5cGUgPT0gJ2lucHV0J1wiPlxuICA8dGV4dGFyZWEgW2F0dHIuZGF0YS1jeV09XCJjeXByZXNzVGFnXCJcbiAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cInN0YXRlID09ICdkaXNhYmxlZCcgPyB0cnVlIDogbnVsbFwiXG4gICAgICAgICAgICBbYXR0ci5yZWFkb25seV09XCJzdGF0ZSA9PSAncmVhZG9ubHknID8gdHJ1ZSA6IG51bGxcIlxuICAgICAgICAgICAgW21heExlbmd0aF09XCJ2YWxpZGF0aW9ucz8ubWF4TGVuZ3RoID8gdmFsaWRhdGlvbnM/Lm1heExlbmd0aCA6IDIwMFwiXG4gICAgICAgICAgICBbbWluTGVuZ3RoXT1cInZhbGlkYXRpb25zPy5taW5MZW5ndGggPyB2YWxpZGF0aW9ucz8ubWluTGVuZ3RoIDogMFwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZ2V0UGxhY2Vob2xkZXIoKVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwiaW5wdXRWYWx1ZVwiXG5cbiAgICAgICAgICAgIChibHVyKT1cImZvY3VzSW5wdXQgPSBmYWxzZVwiXG4gICAgICAgICAgICAoZm9jdXMpPVwiZm9jdXNJbnB1dCA9IHRydWVcIlxuICAgICAgICAgICAgKGtleXVwKT1cIm9uSW5wdXRLZXl1cCgpXCJcblxuICAgICAgICAgICAgY2xhc3M9XCJoci1sYWJlbCBtZC1yZWd1bGFyXCJcbiAgICAgICAgICAgIHJvd3M9XCIxXCJcblxuICAgICAgICAgICAgI3RleHRBcmVhRWxlbWVudFxuXG4gICAgICAgICAgICAqbmdJZj1cInRleHRGaWVsZFR5cGUgPT0gJ3RleHRhcmVhJ1wiPjwvdGV4dGFyZWE+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpY29uUGxhY2VtZW50ID09ICdyaWdodCdcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaWNvbnNcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbjxwIGNsYXNzPVwiaHItYm9keS10ZXh0IHNtLXJlZ3VsYXIgc3VwcG9ydC10ZXh0IHRleHQte3tzdXBwb3J0VGV4dFR5cGV9fVwiICpuZ0lmPVwic3VwcG9ydFRleHRDb250ZW50XCI+XG4gIHt7c3VwcG9ydFRleHRDb250ZW50fX1cbjwvcD5cblxuPG5nLXRlbXBsYXRlICNpY29ucz5cbiAgPGdyYXZpdHktaWNvbiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBoYW5kbGVJY29uQ2xpY2sobmFtZSlcIiBjbGFzcz1cInBsYWNlbWVudC17e2ljb25QbGFjZW1lbnR9fVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnBvaW50ZXJdPVwiISFjbGlja09uSWNvbk5hbWVcIiBbY3VzdG9tSWNvbkNvbG9yVmFyaWFibGVdPVwiZ2V0SWNvbkNvbG9yKGkpXCJcbiAgICAgICAgICAgICAgICBbaG92ZXJJY29uXT1cIiEhY2xpY2tPbkljb25OYW1lXCIgW2ljb25OYW1lXT1cIm5hbWVcIiAqbmdGb3I9XCJsZXQgbmFtZSBvZiBpY29uTmFtZXM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgIFtzaXplXT1cImljb25zU2l6ZXNbaV1cIj48L2dyYXZpdHktaWNvbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS10ZXh0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS10ZXh0LWZpZWxkL2dyYXZpdHktdGV4dC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktdGV4dC1maWVsZC9ncmF2aXR5LXRleHQtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7OztBQU9sSCxNQUFNLE9BQU8seUJBQXlCO0lBTHRDO1FBTThCLGlCQUFZLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUQsMkJBQXNCLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFN0UsaUJBQVksR0FBVyxLQUFLLENBQUM7UUFDN0Isb0JBQWUsR0FBcUIsS0FBSyxDQUFDO1FBQzFDLGdCQUFXLEdBQVcsSUFBSSxDQUFDO1FBTTNCLGVBQVUsR0FBMkIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxrQkFBYSxHQUFxQixNQUFNLENBQUM7UUFDekMscUJBQWdCLEdBQXFELE1BQU0sQ0FBQztRQUU1RSxvQkFBZSxHQUFnQyxTQUFTLENBQUM7UUFDekQsV0FBTSxHQUFXLEVBQUUsQ0FBQztRQUVwQixVQUFLLEdBQXdDLFNBQVMsQ0FBQztRQUV2RCxvQkFBZSxHQUF1QyxRQUFRLENBQUM7UUFDL0Qsa0JBQWEsR0FBeUIsT0FBTyxDQUFDO1FBTXZELGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsZUFBVSxHQUFXLEVBQUUs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QkFBdkMsTUFBTTt1QkFBQyxXQUFXO2dCQUNRLHNCQUFzQjtzQkFBaEQsTUFBTTt1QkFBQyxVQUFVO2dCQUVGLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsZUFBZTtzQkFBOUIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLGlCQUFpQjtzQkFBaEMsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLGdCQUFnQjtzQkFBL0IsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1Usa0JBQWtCO3NCQUFqQyxLQUFLO2dCQUNVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUU4QyxZQUFZO3NCQUEvRCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUM7Z0JBQ2EsZUFBZTtzQkFBckUsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ3Jhdml0eS10ZXh0LWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dyYXZpdHktdGV4dC1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dyYXZpdHktdGV4dC1maWVsZC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEdyYXZpdHlUZXh0RmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBPdXRwdXQoJ2NsaWNrSWNvbicpIHB1YmxpYyBpY29uUmVzcG9uc2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgncmVzcG9uc2UnKSBwdWJsaWMgdGV4dEZpZWxkVmFsdWVSZXNwb25zZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQElucHV0KCkgcHVibGljIGF1dG9jb21wbGV0ZTogc3RyaW5nID0gJ29mZic7XG4gIEBJbnB1dCgpIHB1YmxpYyBjbGlja09uSWNvbk5hbWU6IHN0cmluZyB8IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGN1cnJlbnRMYW5nOiBzdHJpbmcgPSAnZW4nO1xuICBASW5wdXQoKSBwdWJsaWMgY3VzdG9tUGxhY2Vob2xkZXI6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbUlucHV0VmFsdWU6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGN5cHJlc3NUYWc6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGljb25Db2xvcj86IHN0cmluZyB8IHN0cmluZ1tdO1xuICBASW5wdXQoKSBwdWJsaWMgaWNvbk5hbWVzOiBzdHJpbmdbXTtcbiAgQElucHV0KCkgcHVibGljIGljb25zU2l6ZXM6ICgnc20nIHwgJ21kJyB8ICdsZycpW10gPSBbJ3NtJ107XG4gIEBJbnB1dCgpIHB1YmxpYyBpY29uUGxhY2VtZW50OiAnbGVmdCcgfCAncmlnaHQnID0gXCJsZWZ0XCI7XG4gIEBJbnB1dCgpIHB1YmxpYyBpbnB1dENvbnRlbnRUeXBlOiAnZW1haWwnIHwgJ251bWJlcicgfCAncGFzc3dvcmQnIHwgJ3RlbCcgfCAndGV4dCcgPSBcInRleHRcIjtcbiAgQElucHV0KCkgcHVibGljIGxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlclR5cGU6ICdkZWZhdWx0JyB8ICdlbWFpbCcgfCAndXJsJyA9IFwiZGVmYXVsdFwiO1xuICBASW5wdXQoKSBwdWJsaWMgcHJlZml4OiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHB1YmxpYyBzdGF0ZTogJ3JlYWRvbmx5JyB8ICdkaXNhYmxlZCcgfCAnZW5hYmxlZCcgPSBcImVuYWJsZWRcIjtcbiAgQElucHV0KCkgcHVibGljIHN1cHBvcnRUZXh0Q29udGVudDogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgc3VwcG9ydFRleHRUeXBlOiAnbmV1dHJvJyB8ICduZWdhdGl2ZScgfCAncG9zaXRpdmUnID0gXCJuZXV0cm9cIjtcbiAgQElucHV0KCkgcHVibGljIHRleHRGaWVsZFR5cGU6ICdpbnB1dCcgfCAndGV4dGFyZWEnID0gXCJpbnB1dFwiO1xuICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbnM6IHsgbWF4TGVuZ3RoPzogbnVtYmVyOyBtaW5MZW5ndGg/OiBudW1iZXIgfTtcblxuICBAVmlld0NoaWxkKCdpbnB1dEVsZW1lbnQnLCB7c3RhdGljOiBmYWxzZX0pIHByaXZhdGUgaW5wdXRFbGVtZW50OiBhbnk7XG4gIEBWaWV3Q2hpbGQoJ3RleHRBcmVhRWxlbWVudCcsIHtzdGF0aWM6IGZhbHNlfSkgcHJpdmF0ZSB0ZXh0QXJlYUVsZW1lbnQ6IGFueTtcblxuICBwdWJsaWMgZm9jdXNJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgaW5wdXRWYWx1ZTogc3RyaW5nID0gJyc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBwbGFjZWhvbGRlcnMgPSB7XG4gICAgJ2VtYWlsJzogJ3Rlc3RAZW1haWwuY29tJyxcbiAgICAndXJsJzogJ2h0dHBzOi8vd3d3LnRlc3QuY29tJ1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dFZhbHVlID0gdGhpcy5jdXN0b21JbnB1dFZhbHVlID8gdGhpcy5jdXN0b21JbnB1dFZhbHVlIDogJyc7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ2N1c3RvbUlucHV0VmFsdWUnXSkge1xuICAgICAgdGhpcy5pbnB1dFZhbHVlID0gY2hhbmdlc1snY3VzdG9tSW5wdXRWYWx1ZSddLmN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0UGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5jdXN0b21QbGFjZWhvbGRlciAmJiB0aGlzLmN1c3RvbVBsYWNlaG9sZGVyICE9ICcnKSB7XG4gICAgICByZXR1cm4gdGhpcy5jdXN0b21QbGFjZWhvbGRlcjtcbiAgICB9IGVsc2UgaWYgKHRoaXMucGxhY2Vob2xkZXJUeXBlID09ICdkZWZhdWx0Jykge1xuICAgICAgcmV0dXJuIHRoaXMubGFiZWw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnBsYWNlaG9sZGVyc1t0aGlzLnBsYWNlaG9sZGVyVHlwZV07XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsZWFySW5wdXQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VJbnB1dFZhbHVlKHRydWUpO1xuICB9XG5cbiAgcHVibGljIG9uSW5wdXRLZXl1cCgpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZUlucHV0VmFsdWUoKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hhbmdlSW5wdXRWYWx1ZShjbGVhcklucHV0OiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICBpZiAoY2xlYXJJbnB1dCkge1xuICAgICAgdGhpcy5pbnB1dFZhbHVlID0gJyc7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRleHRGaWVsZFR5cGUgPT0gJ2lucHV0Jykge1xuICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdGhpcy50ZXh0QXJlYUVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pbnB1dFZhbHVlID09ICcnKSB7XG4gICAgICB0aGlzLnRleHRGaWVsZFZhbHVlUmVzcG9uc2UuZW1pdCgnJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGV4dEZpZWxkVmFsdWVSZXNwb25zZS5lbWl0KHRoaXMucHJlZml4ICsgdGhpcy5pbnB1dFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlSWNvbkNsaWNrKGljb25OYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pY29uTmFtZXMubGVuZ3RoID09IDEpIHtcbiAgICAgIHRoaXMuaWNvblJlc3BvbnNlLmVtaXQodHJ1ZSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNsaWNrT25JY29uTmFtZSA9PSBpY29uTmFtZSkge1xuICAgICAgdGhpcy5pY29uUmVzcG9uc2UuZW1pdCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0SWNvbkNvbG9yKGljb25JbmRleDogbnVtYmVyKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHR5cGVvZiAodGhpcy5pY29uQ29sb3IpID09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gdGhpcy5pY29uQ29sb3I7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgKHRoaXMuaWNvbkNvbG9yKSA9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuaWNvbkNvbG9yW2ljb25JbmRleF07XG4gICAgfVxuICB9XG59XG4iLCI8bGFiZWwgY2xhc3M9XCJoci1ib2R5LXRleHQgc20tcmVndWxhciB7e3N0YXRlfX1cIiBbY2xhc3MuZW1wdHldPVwiaW5wdXRWYWx1ZSA9PSAnJyAmJiAhZm9jdXNJbnB1dFwiXG4gICAgICAgW2NsYXNzLmZvY3VzZWRdPVwiZm9jdXNJbnB1dFwiIFtjbGFzcy5mdWxsLWlucHV0XT1cImlucHV0VmFsdWUgIT0gJycgJiYgIWZvY3VzSW5wdXRcIiAqbmdJZj1cImxhYmVsXCI+XG4gIHt7bGFiZWx9fVxuICA8bmctY29udGFpbmVyICpuZ0lmPVwicmVxdWlyZWRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudExhbmcgPT0gJ2VzJ1wiPi0gUmVxdWVyaWRvIDxzcGFuIGNsYXNzPVwidGV4dC1uZWdhdGl2ZVwiPio8L3NwYW4+PC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRMYW5nID09ICdlbidcIj4tIFJlcXVpcmVkIDxzcGFuIGNsYXNzPVwidGV4dC1uZWdhdGl2ZVwiPio8L3NwYW4+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdGUgPT0gJ3JlYWRvbmx5J1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXJyZW50TGFuZyA9PSAnZXMnXCI+LSBTw7NsbyBsZWN0dXJhPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRMYW5nID09ICdlbidcIj4tIFJlYWRvbmx5PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdGUgPT0gJ2Rpc2FibGVkJ1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXJyZW50TGFuZyA9PSAnZXMnXCI+LSBEZXNoYWJpbGl0YWRvPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRMYW5nID09ICdlbidcIj4tIERpc2FibGVkPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9sYWJlbD5cbjxkaXYgY2xhc3M9XCJncmF2aXR5LWlucHV0LWZpZWxkIHt7dGV4dEZpZWxkVHlwZX19IHt7c3RhdGV9fVwiIFtjbGFzcy5lbXB0eV09XCJpbnB1dFZhbHVlID09ICcnICYmICFmb2N1c0lucHV0XCJcbiAgICAgW2NsYXNzLmZvY3VzZWRdPVwiZm9jdXNJbnB1dFwiIFtjbGFzcy5mdWxsLWlucHV0XT1cImlucHV0VmFsdWUgIT0gJycgJiYgIWZvY3VzSW5wdXRcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImljb25QbGFjZW1lbnQgPT0gJ2xlZnQnXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImljb25zXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8c3BhbiBjbGFzcz1cImhyLWxhYmVsIG1kLXJlZ3VsYXIgcHJlZml4XCI+e3twcmVmaXh9fTwvc3Bhbj5cbiAgPGlucHV0IFthdHRyLmRhdGEtY3ldPVwiY3lwcmVzc1RhZ1wiXG4gICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJzdGF0ZSA9PSAnZGlzYWJsZWQnID8gdHJ1ZSA6IG51bGxcIlxuICAgICAgICAgW2F0dHIucmVhZG9ubHldPVwic3RhdGUgPT0gJ3JlYWRvbmx5JyA/IHRydWUgOiBudWxsXCJcbiAgICAgICAgIFthdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlXCJcbiAgICAgICAgIFttYXhMZW5ndGhdPVwidmFsaWRhdGlvbnM/Lm1heExlbmd0aCA/IHZhbGlkYXRpb25zPy5tYXhMZW5ndGggOiAxMDBcIlxuICAgICAgICAgW21pbkxlbmd0aF09XCJ2YWxpZGF0aW9ucz8ubWluTGVuZ3RoID8gdmFsaWRhdGlvbnM/Lm1pbkxlbmd0aCA6IDBcIlxuICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImdldFBsYWNlaG9sZGVyKClcIlxuICAgICAgICAgW3R5cGVdPVwiaW5wdXRDb250ZW50VHlwZVwiXG4gICAgICAgICBbdmFsdWVdPVwiaW5wdXRWYWx1ZVwiXG5cbiAgICAgICAgIChibHVyKT1cImZvY3VzSW5wdXQgPSBmYWxzZVwiXG4gICAgICAgICAoZm9jdXMpPVwiZm9jdXNJbnB1dCA9IHRydWVcIlxuICAgICAgICAgKGtleXVwKT1cIm9uSW5wdXRLZXl1cCgpXCJcblxuICAgICAgICAgY2xhc3M9XCJoci1sYWJlbCBtZC1yZWd1bGFyXCJcblxuICAgICAgICAgI2lucHV0RWxlbWVudFxuXG4gICAgICAgICAqbmdJZj1cInRleHRGaWVsZFR5cGUgPT0gJ2lucHV0J1wiPlxuICA8dGV4dGFyZWEgW2F0dHIuZGF0YS1jeV09XCJjeXByZXNzVGFnXCJcbiAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cInN0YXRlID09ICdkaXNhYmxlZCcgPyB0cnVlIDogbnVsbFwiXG4gICAgICAgICAgICBbYXR0ci5yZWFkb25seV09XCJzdGF0ZSA9PSAncmVhZG9ubHknID8gdHJ1ZSA6IG51bGxcIlxuICAgICAgICAgICAgW21heExlbmd0aF09XCJ2YWxpZGF0aW9ucz8ubWF4TGVuZ3RoID8gdmFsaWRhdGlvbnM/Lm1heExlbmd0aCA6IDIwMFwiXG4gICAgICAgICAgICBbbWluTGVuZ3RoXT1cInZhbGlkYXRpb25zPy5taW5MZW5ndGggPyB2YWxpZGF0aW9ucz8ubWluTGVuZ3RoIDogMFwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZ2V0UGxhY2Vob2xkZXIoKVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwiaW5wdXRWYWx1ZVwiXG5cbiAgICAgICAgICAgIChibHVyKT1cImZvY3VzSW5wdXQgPSBmYWxzZVwiXG4gICAgICAgICAgICAoZm9jdXMpPVwiZm9jdXNJbnB1dCA9IHRydWVcIlxuICAgICAgICAgICAgKGtleXVwKT1cIm9uSW5wdXRLZXl1cCgpXCJcblxuICAgICAgICAgICAgY2xhc3M9XCJoci1sYWJlbCBtZC1yZWd1bGFyXCJcbiAgICAgICAgICAgIHJvd3M9XCIxXCJcblxuICAgICAgICAgICAgI3RleHRBcmVhRWxlbWVudFxuXG4gICAgICAgICAgICAqbmdJZj1cInRleHRGaWVsZFR5cGUgPT0gJ3RleHRhcmVhJ1wiPjwvdGV4dGFyZWE+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpY29uUGxhY2VtZW50ID09ICdyaWdodCdcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaWNvbnNcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbjxwIGNsYXNzPVwiaHItYm9keS10ZXh0IHNtLXJlZ3VsYXIgc3VwcG9ydC10ZXh0IHRleHQte3tzdXBwb3J0VGV4dFR5cGV9fVwiICpuZ0lmPVwic3VwcG9ydFRleHRDb250ZW50XCI+XG4gIHt7c3VwcG9ydFRleHRDb250ZW50fX1cbjwvcD5cblxuPG5nLXRlbXBsYXRlICNpY29ucz5cbiAgPGdyYXZpdHktaWNvbiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBoYW5kbGVJY29uQ2xpY2sobmFtZSlcIiBjbGFzcz1cInBsYWNlbWVudC17e2ljb25QbGFjZW1lbnR9fVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnBvaW50ZXJdPVwiISFjbGlja09uSWNvbk5hbWVcIiBbY3VzdG9tSWNvbkNvbG9yVmFyaWFibGVdPVwiZ2V0SWNvbkNvbG9yKGkpXCJcbiAgICAgICAgICAgICAgICBbaG92ZXJJY29uXT1cIiEhY2xpY2tPbkljb25OYW1lXCIgW2ljb25OYW1lXT1cIm5hbWVcIiAqbmdGb3I9XCJsZXQgbmFtZSBvZiBpY29uTmFtZXM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgIFtzaXplXT1cImljb25zU2l6ZXNbaV1cIj48L2dyYXZpdHktaWNvbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -4,10 +4,12 @@ import { timer } from "rxjs";
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "./service/tree-service";
6
6
  import * as i2 from "@angular/common";
7
- import * as i3 from "./node/node.component";
7
+ import * as i3 from "../gravity-text-field/gravity-text-field.component";
8
+ import * as i4 from "./node/node.component";
8
9
  export class GravityTreeViewComponent {
9
10
  constructor(treeService) {
10
11
  this.treeService = treeService;
12
+ this.showFilterInput = false;
11
13
  this.selectedItems = new EventEmitter();
12
14
  this.treeServiceSubscription = treeService.connect().subscribe((items) => {
13
15
  const subscription = timer(0).subscribe(() => {
@@ -46,17 +48,22 @@ export class GravityTreeViewComponent {
46
48
  });
47
49
  return treeStructure;
48
50
  }
51
+ changeFilter(newValue) {
52
+ this.treeService.filterChanged(newValue.toLowerCase());
53
+ }
49
54
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityTreeViewComponent, deps: [{ token: i1.TreeService }], target: i0.ɵɵFactoryTarget.Component }); }
50
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GravityTreeViewComponent, selector: "gravity-tree-view", inputs: { callbacks: "callbacks", nodeItems: "nodeItems" }, outputs: { selectedItems: "selectedItems" }, providers: [TreeService], usesOnChanges: true, ngImport: i0, template: "<tree-node [nodeState]=\"state\" *ngFor=\"let state of treeService.treeState\"></tree-node>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.NodeComponent, selector: "tree-node", inputs: ["nodeState"] }] }); }
55
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GravityTreeViewComponent, selector: "gravity-tree-view", inputs: { callbacks: "callbacks", nodeItems: "nodeItems", showFilterInput: "showFilterInput" }, outputs: { selectedItems: "selectedItems" }, providers: [TreeService], usesOnChanges: true, ngImport: i0, template: "<gravity-text-field [label]=\"'Change filter'\" *ngIf=\"showFilterInput\"\n (response)=\"changeFilter($event)\"></gravity-text-field>\n<tree-node [nodeState]=\"state\" *ngFor=\"let state of treeService.treeState\"></tree-node>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.GravityTextFieldComponent, selector: "gravity-text-field", inputs: ["autocomplete", "clickOnIconName", "currentLang", "customPlaceholder", "customInputValue", "cypressTag", "iconColor", "iconNames", "iconsSizes", "iconPlacement", "inputContentType", "label", "placeholderType", "prefix", "required", "state", "supportTextContent", "supportTextType", "textFieldType", "validations"], outputs: ["clickIcon", "response"] }, { kind: "component", type: i4.NodeComponent, selector: "tree-node", inputs: ["nodeState"] }] }); }
51
56
  }
52
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityTreeViewComponent, decorators: [{
53
58
  type: Component,
54
- args: [{ selector: 'gravity-tree-view', providers: [TreeService], template: "<tree-node [nodeState]=\"state\" *ngFor=\"let state of treeService.treeState\"></tree-node>\n" }]
59
+ args: [{ selector: 'gravity-tree-view', providers: [TreeService], template: "<gravity-text-field [label]=\"'Change filter'\" *ngIf=\"showFilterInput\"\n (response)=\"changeFilter($event)\"></gravity-text-field>\n<tree-node [nodeState]=\"state\" *ngFor=\"let state of treeService.treeState\"></tree-node>\n" }]
55
60
  }], ctorParameters: function () { return [{ type: i1.TreeService }]; }, propDecorators: { callbacks: [{
56
61
  type: Input
57
62
  }], nodeItems: [{
58
63
  type: Input
64
+ }], showFilterInput: [{
65
+ type: Input
59
66
  }], selectedItems: [{
60
67
  type: Output
61
68
  }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS10cmVlLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LXRyZWUtdmlldy9ncmF2aXR5LXRyZWUtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktdHJlZS12aWV3L2dyYXZpdHktdHJlZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBd0IsTUFBTSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFlLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFXekMsTUFBTSxPQUFPLHdCQUF3QjtJQU9uQyxZQUE0QixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUYxQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFHaEQsSUFBSSxDQUFDLHVCQUF1QixHQUFHLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFZLEVBQUUsRUFBRTtZQUM5RSxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDM0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQy9CLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsdUJBQXVCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUM3QztRQUVELElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUNyQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzVDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFFNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU8saUJBQWlCLENBQUMsTUFBaUIsRUFBRSxTQUEwQjtRQUNyRSxNQUFNLGFBQWEsR0FBZ0IsRUFBRSxDQUFDO1FBRXRDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUF1QixFQUFFLEVBQUU7WUFDNUMsTUFBTSxTQUFTLEdBQWMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFFckUsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFO2dCQUNyQixTQUFTLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUMxRSxTQUFTLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQzthQUNqRDtZQUVELGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDOytHQXREVSx3QkFBd0I7bUdBQXhCLHdCQUF3QixxSkFGeEIsQ0FBQyxXQUFXLENBQUMsK0NDWDFCLCtGQUNBOzs0RkRZYSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0UsbUJBQW1CLGFBR2xCLENBQUMsV0FBVyxDQUFDO2tHQUtmLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUcmVlU2VydmljZX0gZnJvbSBcIi4vc2VydmljZS90cmVlLXNlcnZpY2VcIjtcbmltcG9ydCB7U3Vic2NyaXB0aW9uLCB0aW1lcn0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7Tm9kZUl0ZW19IGZyb20gXCIuL21vZGVscy9ub2RlLWl0ZW1cIjtcbmltcG9ydCB7VHJlZUNhbGxiYWNrc30gZnJvbSBcIi4vbW9kZWxzL3RyZWUtY2FsbGJhY2tzXCI7XG5pbXBvcnQge05vZGVTdGF0ZX0gZnJvbSBcIi4vbW9kZWxzL25vZGUtc3RhdGVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ3Jhdml0eS10cmVlLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3Jhdml0eS10cmVlLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmF2aXR5LXRyZWUtdmlldy5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtUcmVlU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgR3Jhdml0eVRyZWVWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICBwcml2YXRlIHJlYWRvbmx5IHRyZWVTZXJ2aWNlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgQElucHV0KCkgY2FsbGJhY2tzOiBUcmVlQ2FsbGJhY2tzO1xuICBASW5wdXQoKSBub2RlSXRlbXM6IE5vZGVJdGVtPGFueT5bXTtcbiAgQE91dHB1dCgpIHNlbGVjdGVkSXRlbXMgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgdHJlZVNlcnZpY2U6IFRyZWVTZXJ2aWNlKSB7XG4gICAgdGhpcy50cmVlU2VydmljZVN1YnNjcmlwdGlvbiA9IHRyZWVTZXJ2aWNlLmNvbm5lY3QoKS5zdWJzY3JpYmUoKGl0ZW1zOiBhbnlbXSkgPT4ge1xuICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGltZXIoMCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmVtaXQoaXRlbXMpO1xuICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy50cmVlU2VydmljZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzLmNhbGxiYWNrcykge1xuICAgICAgdGhpcy50cmVlU2VydmljZS5jYWxsYmFja3MgPSB0aGlzLmNhbGxiYWNrcztcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlcy5ub2RlSXRlbXMpIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRyZWVTZXJ2aWNlLmNhbGxiYWNrcyA9IHRoaXMuY2FsbGJhY2tzO1xuICAgIHRoaXMudHJlZVNlcnZpY2Uubm9kZUl0ZW1zID0gdGhpcy5ub2RlSXRlbXM7XG5cbiAgICB0aGlzLnRyZWVTZXJ2aWNlLnRyZWVTdGF0ZSA9IHRoaXMuaW5pdFRyZWVTdHJ1Y3R1cmUobnVsbCwgdGhpcy50cmVlU2VydmljZS5ub2RlSXRlbXMpO1xuICAgIHRoaXMudHJlZVNlcnZpY2UuY2xlYXIoKTtcbiAgICB0aGlzLnRyZWVTZXJ2aWNlLnNldEluaXRpYWxTdGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0VHJlZVN0cnVjdHVyZShwYXJlbnQ6IE5vZGVTdGF0ZSwgbm9kZUl0ZW1zOiBOb2RlSXRlbTxhbnk+W10pOiBOb2RlU3RhdGVbXSB7XG4gICAgY29uc3QgdHJlZVN0cnVjdHVyZTogTm9kZVN0YXRlW10gPSBbXTtcblxuICAgIG5vZGVJdGVtcy5mb3JFYWNoKChub2RlSXRlbTogTm9kZUl0ZW08YW55PikgPT4ge1xuICAgICAgY29uc3Qgbm9kZVN0YXRlOiBOb2RlU3RhdGUgPSBUcmVlU2VydmljZS5pbml0U3RhdGUocGFyZW50LCBub2RlSXRlbSk7XG5cbiAgICAgIGlmIChub2RlSXRlbS5jaGlsZHJlbikge1xuICAgICAgICBub2RlU3RhdGUuY2hpbGRyZW4gPSB0aGlzLmluaXRUcmVlU3RydWN0dXJlKG5vZGVTdGF0ZSwgbm9kZUl0ZW0uY2hpbGRyZW4pO1xuICAgICAgICBub2RlU3RhdGUuZmlsdGVyZWRDaGlsZHJlbiA9IG5vZGVTdGF0ZS5jaGlsZHJlbjtcbiAgICAgIH1cblxuICAgICAgdHJlZVN0cnVjdHVyZS5wdXNoKG5vZGVTdGF0ZSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdHJlZVN0cnVjdHVyZTtcbiAgfVxufVxuIiwiPHRyZWUtbm9kZSBbbm9kZVN0YXRlXT1cInN0YXRlXCIgKm5nRm9yPVwibGV0IHN0YXRlIG9mIHRyZWVTZXJ2aWNlLnRyZWVTdGF0ZVwiPjwvdHJlZS1ub2RlPlxuIl19
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS10cmVlLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LXRyZWUtdmlldy9ncmF2aXR5LXRyZWUtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktdHJlZS12aWV3L2dyYXZpdHktdHJlZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBd0IsTUFBTSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFlLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBV3pDLE1BQU0sT0FBTyx3QkFBd0I7SUFRbkMsWUFBNEIsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFIM0Msb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFDaEMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBR2hELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBWSxFQUFFLEVBQUU7WUFDOUUsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMvQixZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7U0FDN0M7UUFFRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDckIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzVDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFFNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU8saUJBQWlCLENBQUMsTUFBaUIsRUFBRSxTQUEwQjtRQUNyRSxNQUFNLGFBQWEsR0FBZ0IsRUFBRSxDQUFDO1FBRXRDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUF1QixFQUFFLEVBQUU7WUFDNUMsTUFBTSxTQUFTLEdBQWMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFFckUsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFO2dCQUNyQixTQUFTLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUMxRSxTQUFTLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQzthQUNqRDtZQUVELGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRU0sWUFBWSxDQUFDLFFBQWdCO1FBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7K0dBM0RVLHdCQUF3QjttR0FBeEIsd0JBQXdCLHlMQUZ4QixDQUFDLFdBQVcsQ0FBQywrQ0NYMUIseVBBR0E7OzRGRFVhLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSxtQkFBbUIsYUFHbEIsQ0FBQyxXQUFXLENBQUM7a0dBS2YsU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHJlZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2UvdHJlZS1zZXJ2aWNlXCI7XG5pbXBvcnQge1N1YnNjcmlwdGlvbiwgdGltZXJ9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge05vZGVJdGVtfSBmcm9tIFwiLi9tb2RlbHMvbm9kZS1pdGVtXCI7XG5pbXBvcnQge1RyZWVDYWxsYmFja3N9IGZyb20gXCIuL21vZGVscy90cmVlLWNhbGxiYWNrc1wiO1xuaW1wb3J0IHtOb2RlU3RhdGV9IGZyb20gXCIuL21vZGVscy9ub2RlLXN0YXRlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYXZpdHktdHJlZS12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dyYXZpdHktdHJlZS12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3Jhdml0eS10cmVlLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbVHJlZVNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIEdyYXZpdHlUcmVlVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmVlU2VydmljZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIEBJbnB1dCgpIGNhbGxiYWNrczogVHJlZUNhbGxiYWNrcztcbiAgQElucHV0KCkgbm9kZUl0ZW1zOiBOb2RlSXRlbTxhbnk+W107XG4gIEBJbnB1dCgpIHNob3dGaWx0ZXJJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRJdGVtcyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSB0cmVlU2VydmljZTogVHJlZVNlcnZpY2UpIHtcbiAgICB0aGlzLnRyZWVTZXJ2aWNlU3Vic2NyaXB0aW9uID0gdHJlZVNlcnZpY2UuY29ubmVjdCgpLnN1YnNjcmliZSgoaXRlbXM6IGFueVtdKSA9PiB7XG4gICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aW1lcigwKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuZW1pdChpdGVtcyk7XG4gICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnRyZWVTZXJ2aWNlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMuY2FsbGJhY2tzKSB7XG4gICAgICB0aGlzLnRyZWVTZXJ2aWNlLmNhbGxiYWNrcyA9IHRoaXMuY2FsbGJhY2tzO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLm5vZGVJdGVtcykge1xuICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgdGhpcy50cmVlU2VydmljZS5jYWxsYmFja3MgPSB0aGlzLmNhbGxiYWNrcztcbiAgICB0aGlzLnRyZWVTZXJ2aWNlLm5vZGVJdGVtcyA9IHRoaXMubm9kZUl0ZW1zO1xuXG4gICAgdGhpcy50cmVlU2VydmljZS50cmVlU3RhdGUgPSB0aGlzLmluaXRUcmVlU3RydWN0dXJlKG51bGwsIHRoaXMudHJlZVNlcnZpY2Uubm9kZUl0ZW1zKTtcbiAgICB0aGlzLnRyZWVTZXJ2aWNlLmNsZWFyKCk7XG4gICAgdGhpcy50cmVlU2VydmljZS5zZXRJbml0aWFsU3RhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFRyZWVTdHJ1Y3R1cmUocGFyZW50OiBOb2RlU3RhdGUsIG5vZGVJdGVtczogTm9kZUl0ZW08YW55PltdKTogTm9kZVN0YXRlW10ge1xuICAgIGNvbnN0IHRyZWVTdHJ1Y3R1cmU6IE5vZGVTdGF0ZVtdID0gW107XG5cbiAgICBub2RlSXRlbXMuZm9yRWFjaCgobm9kZUl0ZW06IE5vZGVJdGVtPGFueT4pID0+IHtcbiAgICAgIGNvbnN0IG5vZGVTdGF0ZTogTm9kZVN0YXRlID0gVHJlZVNlcnZpY2UuaW5pdFN0YXRlKHBhcmVudCwgbm9kZUl0ZW0pO1xuXG4gICAgICBpZiAobm9kZUl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgbm9kZVN0YXRlLmNoaWxkcmVuID0gdGhpcy5pbml0VHJlZVN0cnVjdHVyZShub2RlU3RhdGUsIG5vZGVJdGVtLmNoaWxkcmVuKTtcbiAgICAgICAgbm9kZVN0YXRlLmZpbHRlcmVkQ2hpbGRyZW4gPSBub2RlU3RhdGUuY2hpbGRyZW47XG4gICAgICB9XG5cbiAgICAgIHRyZWVTdHJ1Y3R1cmUucHVzaChub2RlU3RhdGUpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRyZWVTdHJ1Y3R1cmU7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlRmlsdGVyKG5ld1ZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnRyZWVTZXJ2aWNlLmZpbHRlckNoYW5nZWQobmV3VmFsdWUudG9Mb3dlckNhc2UoKSk7XG4gIH1cbn1cbiIsIjxncmF2aXR5LXRleHQtZmllbGQgW2xhYmVsXT1cIidDaGFuZ2UgZmlsdGVyJ1wiICpuZ0lmPVwic2hvd0ZpbHRlcklucHV0XCJcbiAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKT1cImNoYW5nZUZpbHRlcigkZXZlbnQpXCI+PC9ncmF2aXR5LXRleHQtZmllbGQ+XG48dHJlZS1ub2RlIFtub2RlU3RhdGVdPVwic3RhdGVcIiAqbmdGb3I9XCJsZXQgc3RhdGUgb2YgdHJlZVNlcnZpY2UudHJlZVN0YXRlXCI+PC90cmVlLW5vZGU+XG4iXX0=
@@ -6,12 +6,12 @@ import * as i3 from "./node-checkbox/node-checkbox.component";
6
6
  import * as i4 from "./node-name/node-name.component";
7
7
  export class NodeComponent {
8
8
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NodeComponent, selector: "tree-node", inputs: { nodeState: "nodeState" }, ngImport: i0, template: "<div class=\"node-container\">\n <div class=\"node-content\">\n <node-toggle [state]=\"nodeState\"></node-toggle>\n <node-checkbox [state]=\"nodeState\"></node-checkbox>\n <node-name [state]=\"nodeState\"></node-name>\n </div>\n <div class=\"collapsible-wrapper\" *ngIf=\"nodeState.nodeItem.children\"\n [class.collapsed]=\"!nodeState.expanded && nodeState.nodeItem.children.length > 0 && nodeState.filteredChildren.length > 0\">\n <div class=\"collapsible\">\n <tree-node class=\"node-offset\" [nodeState]=\"child\"\n *ngFor=\"let child of nodeState.filteredChildren\"></tree-node>\n </div>\n </div>\n</div>\n", styles: [".node-container{display:flex;flex:1 1 auto;flex-direction:column}.node-container .node-content{display:inline-flex;padding-bottom:.1rem}.node-container node-toggle,.node-container node-checkbox{display:inline-flex;align-items:center}.node-container .collapsible-wrapper{display:flex;overflow:hidden}.node-container .collapsible-wrapper .collapsible{transition:margin-bottom .3s cubic-bezier(0,0,0,1);margin-bottom:0;max-height:1000000px}.node-container .collapsible-wrapper .collapsible tree-node.node-offset{display:flex;margin-left:1.25rem}.node-container .collapsible-wrapper.collapsed>.collapsible{margin-bottom:-20000px;transition:margin-bottom .3s cubic-bezier(1,0,1,1),visibility 0s .3s,max-height 0s .3s;visibility:hidden;max-height:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NodeComponent, selector: "tree-node", inputs: ["nodeState"] }, { kind: "component", type: i2.NodeToggleComponent, selector: "node-toggle", inputs: ["state"] }, { kind: "component", type: i3.NodeCheckboxComponent, selector: "node-checkbox", inputs: ["state"] }, { kind: "component", type: i4.NodeNameComponent, selector: "node-name", inputs: ["state"] }] }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NodeComponent, selector: "tree-node", inputs: { nodeState: "nodeState" }, ngImport: i0, template: "<div class=\"node-container\">\n <div class=\"node-content\">\n <node-toggle [state]=\"nodeState\"></node-toggle>\n <node-checkbox [state]=\"nodeState\"></node-checkbox>\n <node-name [state]=\"nodeState\"></node-name>\n </div>\n <div class=\"collapsible-wrapper\" *ngIf=\"nodeState.nodeItem.children\"\n [class.collapsed]=\"!nodeState.expanded && nodeState.nodeItem.children.length > 0 && nodeState.filteredChildren.length > 0\">\n <div class=\"collapsible\">\n <tree-node class=\"node-offset\" [nodeState]=\"child\"\n *ngFor=\"let child of nodeState.filteredChildren\"></tree-node>\n </div>\n </div>\n</div>\n", styles: [".node-container{display:flex;flex:1 1 auto;flex-direction:column}.node-container .node-content{display:inline-flex;padding-block:.3rem}.node-container node-toggle,.node-container node-checkbox{display:inline-flex;align-items:center}.node-container .collapsible-wrapper{display:flex;overflow:hidden}.node-container .collapsible-wrapper .collapsible{margin-bottom:0;max-height:1000000px}.node-container .collapsible-wrapper .collapsible tree-node.node-offset{display:flex;margin-left:1.25rem}.node-container .collapsible-wrapper.collapsed>.collapsible{margin-bottom:-20000px;visibility:hidden;max-height:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NodeComponent, selector: "tree-node", inputs: ["nodeState"] }, { kind: "component", type: i2.NodeToggleComponent, selector: "node-toggle", inputs: ["state"] }, { kind: "component", type: i3.NodeCheckboxComponent, selector: "node-checkbox", inputs: ["state"] }, { kind: "component", type: i4.NodeNameComponent, selector: "node-name", inputs: ["state"] }] }); }
10
10
  }
11
11
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NodeComponent, decorators: [{
12
12
  type: Component,
13
- args: [{ selector: 'tree-node', template: "<div class=\"node-container\">\n <div class=\"node-content\">\n <node-toggle [state]=\"nodeState\"></node-toggle>\n <node-checkbox [state]=\"nodeState\"></node-checkbox>\n <node-name [state]=\"nodeState\"></node-name>\n </div>\n <div class=\"collapsible-wrapper\" *ngIf=\"nodeState.nodeItem.children\"\n [class.collapsed]=\"!nodeState.expanded && nodeState.nodeItem.children.length > 0 && nodeState.filteredChildren.length > 0\">\n <div class=\"collapsible\">\n <tree-node class=\"node-offset\" [nodeState]=\"child\"\n *ngFor=\"let child of nodeState.filteredChildren\"></tree-node>\n </div>\n </div>\n</div>\n", styles: [".node-container{display:flex;flex:1 1 auto;flex-direction:column}.node-container .node-content{display:inline-flex;padding-bottom:.1rem}.node-container node-toggle,.node-container node-checkbox{display:inline-flex;align-items:center}.node-container .collapsible-wrapper{display:flex;overflow:hidden}.node-container .collapsible-wrapper .collapsible{transition:margin-bottom .3s cubic-bezier(0,0,0,1);margin-bottom:0;max-height:1000000px}.node-container .collapsible-wrapper .collapsible tree-node.node-offset{display:flex;margin-left:1.25rem}.node-container .collapsible-wrapper.collapsed>.collapsible{margin-bottom:-20000px;transition:margin-bottom .3s cubic-bezier(1,0,1,1),visibility 0s .3s,max-height 0s .3s;visibility:hidden;max-height:0}\n"] }]
13
+ args: [{ selector: 'tree-node', template: "<div class=\"node-container\">\n <div class=\"node-content\">\n <node-toggle [state]=\"nodeState\"></node-toggle>\n <node-checkbox [state]=\"nodeState\"></node-checkbox>\n <node-name [state]=\"nodeState\"></node-name>\n </div>\n <div class=\"collapsible-wrapper\" *ngIf=\"nodeState.nodeItem.children\"\n [class.collapsed]=\"!nodeState.expanded && nodeState.nodeItem.children.length > 0 && nodeState.filteredChildren.length > 0\">\n <div class=\"collapsible\">\n <tree-node class=\"node-offset\" [nodeState]=\"child\"\n *ngFor=\"let child of nodeState.filteredChildren\"></tree-node>\n </div>\n </div>\n</div>\n", styles: [".node-container{display:flex;flex:1 1 auto;flex-direction:column}.node-container .node-content{display:inline-flex;padding-block:.3rem}.node-container node-toggle,.node-container node-checkbox{display:inline-flex;align-items:center}.node-container .collapsible-wrapper{display:flex;overflow:hidden}.node-container .collapsible-wrapper .collapsible{margin-bottom:0;max-height:1000000px}.node-container .collapsible-wrapper .collapsible tree-node.node-offset{display:flex;margin-left:1.25rem}.node-container .collapsible-wrapper.collapsed>.collapsible{margin-bottom:-20000px;visibility:hidden;max-height:0}\n"] }]
14
14
  }], propDecorators: { nodeState: [{
15
15
  type: Input
16
16
  }] } });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktdHJlZS12aWV3L25vZGUvbm9kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktdHJlZS12aWV3L25vZGUvbm9kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBUS9DLE1BQU0sT0FBTyxhQUFhOytHQUFiLGFBQWE7bUdBQWIsYUFBYSxxRkNSMUIsa3BCQWNBLG9nQ0ROYSxhQUFhOzs0RkFBYixhQUFhO2tCQUx6QixTQUFTOytCQUNFLFdBQVc7OEJBS0wsU0FBUztzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05vZGVTdGF0ZX0gZnJvbSAnLi4vbW9kZWxzL25vZGUtc3RhdGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0cmVlLW5vZGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vbm9kZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25vZGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBOb2RlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHVibGljIG5vZGVTdGF0ZTogTm9kZVN0YXRlO1xufVxuIiwiPGRpdiBjbGFzcz1cIm5vZGUtY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJub2RlLWNvbnRlbnRcIj5cbiAgICA8bm9kZS10b2dnbGUgW3N0YXRlXT1cIm5vZGVTdGF0ZVwiPjwvbm9kZS10b2dnbGU+XG4gICAgPG5vZGUtY2hlY2tib3ggW3N0YXRlXT1cIm5vZGVTdGF0ZVwiPjwvbm9kZS1jaGVja2JveD5cbiAgICA8bm9kZS1uYW1lIFtzdGF0ZV09XCJub2RlU3RhdGVcIj48L25vZGUtbmFtZT5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjb2xsYXBzaWJsZS13cmFwcGVyXCIgKm5nSWY9XCJub2RlU3RhdGUubm9kZUl0ZW0uY2hpbGRyZW5cIlxuICAgICAgIFtjbGFzcy5jb2xsYXBzZWRdPVwiIW5vZGVTdGF0ZS5leHBhbmRlZCAmJiBub2RlU3RhdGUubm9kZUl0ZW0uY2hpbGRyZW4ubGVuZ3RoID4gMCAmJiBub2RlU3RhdGUuZmlsdGVyZWRDaGlsZHJlbi5sZW5ndGggPiAwXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbGxhcHNpYmxlXCI+XG4gICAgICA8dHJlZS1ub2RlIGNsYXNzPVwibm9kZS1vZmZzZXRcIiBbbm9kZVN0YXRlXT1cImNoaWxkXCJcbiAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNoaWxkIG9mIG5vZGVTdGF0ZS5maWx0ZXJlZENoaWxkcmVuXCI+PC90cmVlLW5vZGU+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktdHJlZS12aWV3L25vZGUvbm9kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktdHJlZS12aWV3L25vZGUvbm9kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBUS9DLE1BQU0sT0FBTyxhQUFhOytHQUFiLGFBQWE7bUdBQWIsYUFBYSxxRkNSMUIsa3BCQWNBLHkzQkROYSxhQUFhOzs0RkFBYixhQUFhO2tCQUx6QixTQUFTOytCQUNFLFdBQVc7OEJBS0wsU0FBUztzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05vZGVTdGF0ZX0gZnJvbSAnLi4vbW9kZWxzL25vZGUtc3RhdGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0cmVlLW5vZGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vbm9kZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25vZGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBOb2RlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHVibGljIG5vZGVTdGF0ZTogTm9kZVN0YXRlO1xufVxuIiwiPGRpdiBjbGFzcz1cIm5vZGUtY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJub2RlLWNvbnRlbnRcIj5cbiAgICA8bm9kZS10b2dnbGUgW3N0YXRlXT1cIm5vZGVTdGF0ZVwiPjwvbm9kZS10b2dnbGU+XG4gICAgPG5vZGUtY2hlY2tib3ggW3N0YXRlXT1cIm5vZGVTdGF0ZVwiPjwvbm9kZS1jaGVja2JveD5cbiAgICA8bm9kZS1uYW1lIFtzdGF0ZV09XCJub2RlU3RhdGVcIj48L25vZGUtbmFtZT5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjb2xsYXBzaWJsZS13cmFwcGVyXCIgKm5nSWY9XCJub2RlU3RhdGUubm9kZUl0ZW0uY2hpbGRyZW5cIlxuICAgICAgIFtjbGFzcy5jb2xsYXBzZWRdPVwiIW5vZGVTdGF0ZS5leHBhbmRlZCAmJiBub2RlU3RhdGUubm9kZUl0ZW0uY2hpbGRyZW4ubGVuZ3RoID4gMCAmJiBub2RlU3RhdGUuZmlsdGVyZWRDaGlsZHJlbi5sZW5ndGggPiAwXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbGxhcHNpYmxlXCI+XG4gICAgICA8dHJlZS1ub2RlIGNsYXNzPVwibm9kZS1vZmZzZXRcIiBbbm9kZVN0YXRlXT1cImNoaWxkXCJcbiAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNoaWxkIG9mIG5vZGVTdGF0ZS5maWx0ZXJlZENoaWxkcmVuXCI+PC90cmVlLW5vZGU+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=