@flywheel-io/vision 1.7.1 → 1.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/date-input/date-input.component.d.ts +1 -1
- package/components/select-menu/multi-select-menu/multi-select-menu.component.d.ts +1 -2
- package/components/wrapped-input/wrapped-input.component.d.ts +8 -0
- package/components/wrapped-input/wrapped-input.module.d.ts +9 -0
- package/esm2020/components/app-icon/app-icon.component.mjs +2 -2
- package/esm2020/components/date-input/date-input.component.mjs +3 -3
- package/esm2020/components/menu/menu-item/menu-item.component.mjs +17 -11
- package/esm2020/components/menu/menu-sub-item/menu-sub-item.component.mjs +17 -11
- package/esm2020/components/select-menu/multi-select-menu/multi-select-menu.component.mjs +62 -51
- package/esm2020/components/select-menu/select-menu.component.mjs +26 -4
- package/esm2020/components/wrapped-input/wrapped-input.component.mjs +26 -0
- package/esm2020/components/wrapped-input/wrapped-input.module.mjs +28 -0
- package/esm2020/public-api.mjs +3 -1
- package/fesm2015/flywheel-io-vision.mjs +168 -78
- package/fesm2015/flywheel-io-vision.mjs.map +1 -1
- package/fesm2020/flywheel-io-vision.mjs +168 -78
- package/fesm2020/flywheel-io-vision.mjs.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
|
@@ -37,6 +37,7 @@ export class FwMultiSelectMenuComponent {
|
|
|
37
37
|
this.focused = 0;
|
|
38
38
|
this.touched = false;
|
|
39
39
|
this._isOpen = false;
|
|
40
|
+
this._value = [];
|
|
40
41
|
this.onTouched = () => {
|
|
41
42
|
};
|
|
42
43
|
}
|
|
@@ -53,12 +54,6 @@ export class FwMultiSelectMenuComponent {
|
|
|
53
54
|
return this._value;
|
|
54
55
|
}
|
|
55
56
|
set value(newValue) {
|
|
56
|
-
if (newValue && newValue.length > 0) {
|
|
57
|
-
this._valueType = typeof newValue[0];
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
this._valueType = typeof newValue;
|
|
61
|
-
}
|
|
62
57
|
this.updateValue(newValue);
|
|
63
58
|
}
|
|
64
59
|
registerOnChange(fn) {
|
|
@@ -89,7 +84,11 @@ export class FwMultiSelectMenuComponent {
|
|
|
89
84
|
if (this.options && this.options.length === 0) {
|
|
90
85
|
this.options = [];
|
|
91
86
|
this.menuItems.forEach(item => {
|
|
92
|
-
const opt = {
|
|
87
|
+
const opt = {
|
|
88
|
+
value: item.value,
|
|
89
|
+
label: item.title,
|
|
90
|
+
icon: item.icon,
|
|
91
|
+
};
|
|
93
92
|
this.options.push(opt);
|
|
94
93
|
if (this.selectedValues.indexOf(item.value.toString()) >= 0) {
|
|
95
94
|
this.selectedOptions.push(opt);
|
|
@@ -105,7 +104,7 @@ export class FwMultiSelectMenuComponent {
|
|
|
105
104
|
this.touched = true;
|
|
106
105
|
}
|
|
107
106
|
handleClose(chip) {
|
|
108
|
-
this.value.splice(this.value.indexOf(chip), 1);
|
|
107
|
+
this.value.splice(this.value.indexOf(chip[this.valueProperty]), 1);
|
|
109
108
|
this.updateValue(this.value);
|
|
110
109
|
this.trigger.close();
|
|
111
110
|
}
|
|
@@ -145,7 +144,6 @@ export class FwMultiSelectMenuComponent {
|
|
|
145
144
|
}
|
|
146
145
|
}
|
|
147
146
|
updateValue(value) {
|
|
148
|
-
this._value = value;
|
|
149
147
|
this.selectedValues = [];
|
|
150
148
|
this.selectedOptions = [];
|
|
151
149
|
if (value) {
|
|
@@ -167,6 +165,7 @@ export class FwMultiSelectMenuComponent {
|
|
|
167
165
|
}
|
|
168
166
|
});
|
|
169
167
|
}
|
|
168
|
+
this._value = this.selectedValues;
|
|
170
169
|
this.updateFilteredItems();
|
|
171
170
|
if (this.onChange) {
|
|
172
171
|
this.onChange(value);
|
|
@@ -196,49 +195,60 @@ export class FwMultiSelectMenuComponent {
|
|
|
196
195
|
}
|
|
197
196
|
}
|
|
198
197
|
handleKeyDown(event) {
|
|
199
|
-
if (
|
|
200
|
-
if (
|
|
201
|
-
this.
|
|
202
|
-
this.updateValue(this.value);
|
|
198
|
+
if (this.trigger.isOpen()) {
|
|
199
|
+
if (event.key === 'ArrowDown') {
|
|
200
|
+
this.moveFocused('down');
|
|
203
201
|
}
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
this.
|
|
202
|
+
else if (event.key === 'ArrowUp') {
|
|
203
|
+
this.moveFocused('up');
|
|
204
|
+
}
|
|
205
|
+
else if (event.key === 'Tab') {
|
|
206
|
+
this.trigger.close();
|
|
207
|
+
if (event.target) {
|
|
208
|
+
event.target['value'] = '';
|
|
209
|
+
}
|
|
210
|
+
this.filteredOptions = this.options;
|
|
211
|
+
}
|
|
212
|
+
else if (event.key === 'Escape') {
|
|
213
|
+
this.trigger.close();
|
|
214
|
+
if (event.target) {
|
|
215
|
+
event.target['value'] = '';
|
|
216
|
+
}
|
|
217
|
+
this.filteredOptions = this.options;
|
|
218
|
+
}
|
|
219
|
+
else if (event.key === 'Enter') {
|
|
220
|
+
if (this.filteredOptions.length > this.focused) {
|
|
221
|
+
if (!this.value.includes(this.filteredOptions[this.focused])) {
|
|
222
|
+
const newValue = [...this.value, this.filteredOptions[this.focused][this.valueProperty]];
|
|
223
|
+
if (event.target) {
|
|
224
|
+
event.target['value'] = '';
|
|
225
|
+
}
|
|
226
|
+
this.filteredOptions = this.options;
|
|
227
|
+
this.updateValue(newValue);
|
|
228
|
+
if (this.closeOnSelect) {
|
|
229
|
+
setTimeout(() => {
|
|
230
|
+
this.trigger.close();
|
|
231
|
+
}, 0);
|
|
232
|
+
}
|
|
233
|
+
else {
|
|
234
|
+
setTimeout(() => {
|
|
235
|
+
this.trigger.open();
|
|
236
|
+
}, 0);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
224
239
|
}
|
|
225
240
|
}
|
|
226
|
-
event.target['value'] = '';
|
|
227
241
|
}
|
|
228
242
|
else {
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
this.
|
|
233
|
-
rmi.focused = false;
|
|
234
|
-
});
|
|
235
|
-
const item = this.renderedMenuItems.get(this.focused);
|
|
236
|
-
if (item) {
|
|
237
|
-
item.focused = true;
|
|
238
|
-
}
|
|
243
|
+
if (event.key === 'Backspace') {
|
|
244
|
+
if (this.value.length > 0 && event.target['value'].length === 0) {
|
|
245
|
+
this.value.splice(this.value.length - 1, 1);
|
|
246
|
+
this.updateValue(this.value);
|
|
239
247
|
}
|
|
240
|
-
}
|
|
248
|
+
}
|
|
241
249
|
}
|
|
250
|
+
}
|
|
251
|
+
handleInput(event) {
|
|
242
252
|
if (event.target['value'].length > 0) {
|
|
243
253
|
this.filteredOptions = this.options.filter(option => {
|
|
244
254
|
if (option[this.titleProperty].toLowerCase().includes(event.target['value'].toLowerCase())) {
|
|
@@ -248,14 +258,15 @@ export class FwMultiSelectMenuComponent {
|
|
|
248
258
|
return false;
|
|
249
259
|
}
|
|
250
260
|
});
|
|
251
|
-
if (event.key !== 'ArrowDown' && event.key !== 'ArrowUp') {
|
|
252
|
-
this.moveFocused('zero');
|
|
253
|
-
}
|
|
254
261
|
}
|
|
255
262
|
else {
|
|
256
263
|
this.filteredOptions = this.options;
|
|
257
264
|
this.updateFilteredItems();
|
|
258
265
|
}
|
|
266
|
+
if (!this.trigger.isOpen()) {
|
|
267
|
+
this.trigger.open();
|
|
268
|
+
}
|
|
269
|
+
this.moveFocused('zero');
|
|
259
270
|
}
|
|
260
271
|
}
|
|
261
272
|
FwMultiSelectMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwMultiSelectMenuComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -265,7 +276,7 @@ FwMultiSelectMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
|
|
|
265
276
|
useExisting: forwardRef(() => FwMultiSelectMenuComponent),
|
|
266
277
|
multi: true,
|
|
267
278
|
},
|
|
268
|
-
], queries: [{ propertyName: "menuItems", predicate: FwMenuItemComponent }], viewQueries: [{ propertyName: "trigger", first: true, predicate: CdkMenuTrigger, descendants: true }, { propertyName: "menu", first: true, predicate: FwMenuComponent, descendants: true }, { propertyName: "textInput", first: true, predicate: ["textInput"], descendants: true }, { propertyName: "textInitialInput", first: true, predicate: ["textInitialInput"], descendants: true }, { propertyName: "renderedMenuItems", predicate: FwMenuItemComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div [ngStyle]=\"{width: width}\">\n <div\n class=\"chip-grid\"\n [ngStyle]=\"{minHeight: minHeight, maxHeight: maxHeight}\"\n [cdkMenuTriggerFor]=\"selectMenu\">\n <div class=\"inner-chip-grid\" *ngIf=\"value && value.length>0\">\n <fw-chip\n *ngFor=\"let chip of selectedOptions | slice:0:maxSelectedShown\"\n [title]=\"chip[titleProperty]\"\n [value]=\"chip[valueProperty]\"\n [icon]=\"chip[iconProperty]\"\n color=\"primary\"\n [showClose]=\"true\"\n (close)=\"handleClose(chip)\"\n [selectable]=\"false\">\n </fw-chip>\n <span *ngIf=\"value.length>maxSelectedShown\" class=\"max-exceeded\">+{{ value.length - maxSelectedShown }}\n more</span>\n <input\n type=\"text\" #textInput\n class=\"placeholder\"\n (keydown)=\"handleKeyDown($event)\" (
|
|
279
|
+
], queries: [{ propertyName: "menuItems", predicate: FwMenuItemComponent }], viewQueries: [{ propertyName: "trigger", first: true, predicate: CdkMenuTrigger, descendants: true }, { propertyName: "menu", first: true, predicate: FwMenuComponent, descendants: true }, { propertyName: "textInput", first: true, predicate: ["textInput"], descendants: true }, { propertyName: "textInitialInput", first: true, predicate: ["textInitialInput"], descendants: true }, { propertyName: "renderedMenuItems", predicate: FwMenuItemComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div [ngStyle]=\"{width: width}\">\n <div\n class=\"chip-grid\"\n [ngStyle]=\"{minHeight: minHeight, maxHeight: maxHeight}\"\n [cdkMenuTriggerFor]=\"selectMenu\">\n <div class=\"inner-chip-grid\" *ngIf=\"value && value.length>0\">\n <fw-chip\n *ngFor=\"let chip of selectedOptions | slice:0:maxSelectedShown\"\n [title]=\"chip[titleProperty]\"\n [value]=\"chip[valueProperty]\"\n [icon]=\"chip[iconProperty]\"\n color=\"primary\"\n [showClose]=\"true\"\n (close)=\"handleClose(chip)\"\n [selectable]=\"false\">\n </fw-chip>\n <span *ngIf=\"value.length>maxSelectedShown\" class=\"max-exceeded\">+{{ value.length - maxSelectedShown }}\n more</span>\n <input\n type=\"text\" #textInput\n class=\"placeholder\"\n (keydown)=\"handleKeyDown($event)\" (input)=\"handleInput($event)\">\n </div>\n <input\n type=\"text\" #textInitialInput\n *ngIf=\"!value || value.length===0\"\n class=\"placeholder\" [placeholder]=\"placeholder\"\n (focus)=\"handleTouched()\"\n (keydown)=\"handleKeyDown($event)\" (input)=\"handleInput($event)\">\n <fw-icon>chevron-down</fw-icon>\n </div>\n <ng-template #selectMenu>\n <fw-menu-container [width]=\"optionsWidth || width\" [maxHeight]=\"maxOptionsHeight\">\n <fw-menu\n [multiSelect]=\"true\"\n [useCheckbox]=\"useCheckbox\"\n [disabled]=\"disabled || (filteredOptions && filteredOptions.length===0)\"\n [value]=\"selectedValues\"\n (change)=\"handleChange($event)\">\n <ng-container *ngIf=\"menuItems && menuItems.length===0\">\n <fw-menu-item\n *ngFor=\"let item of filteredOptions; index as $index\"\n [title]=\"item[titleProperty]\"\n [value]=\"item[valueProperty]\"\n [icon]=\"item[iconProperty]\"\n [multiSelect]=\"true\"\n [showCheckbox]=\"useCheckbox\"\n [focused]=\"focused===$index\"\n >\n </fw-menu-item>\n <fw-menu-item\n *ngIf=\"filteredOptions && filteredOptions.length===0\"\n [disabled]=\"true\" label=\"No options\">\n </fw-menu-item>\n </ng-container>\n <ng-content select=\"[fw-menu-item, fw-menu-separator]\"></ng-content>\n </fw-menu>\n </fw-menu-container>\n </ng-template>\n</div>\n", styles: [":host .chip-grid{min-height:36px;box-sizing:border-box;color:var(--typography-light);background:var(--page-light);display:flex;padding:6px;align-items:center;border-radius:6px;border:1px solid var(--separations-input);cursor:pointer;font-family:Inter,sans-serif}:host .chip-grid:focus-within{border-color:var(--primary-base)}:host .chip-grid .inner-chip-grid{display:flex;flex-wrap:wrap;gap:4px;overflow:hidden auto;align-items:center;flex:1}:host .chip-grid .inner-chip-grid input{display:inline-flex;width:10px;flex-grow:1}:host .chip-grid .placeholder{padding:0 2px 0 4px;font-size:14px;color:var(--typography-base);background:var(--page-light);border:0;outline:0;display:inline-flex;width:10px;flex-grow:1}:host .chip-grid .placeholder:focus{outline:none!important}:host .chip-grid .placeholder::placeholder{color:var(--typography-light)}:host .chip-grid fw-icon{font-size:20px}:host .chip-grid fw-icon:hover{color:var(--primary-base)}:host .chip-grid .max-exceeded{font-size:12px}\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.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.CdkMenuTrigger, selector: "[cdkMenuTriggerFor]", inputs: ["cdkMenuTriggerFor", "cdkMenuPosition"], outputs: ["cdkMenuOpened", "cdkMenuClosed"], exportAs: ["cdkMenuTriggerFor"] }, { kind: "component", type: i3.FwChipComponent, selector: "fw-chip", inputs: ["value", "variant", "color", "icon", "title", "description", "showClose", "disabled", "selected", "selectable"], outputs: ["close", "select"] }, { kind: "component", type: i4.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }, { kind: "component", type: i5.FwMenuComponent, selector: "fw-menu", inputs: ["disabled", "size", "multiSelect", "useCheckbox", "value", "variant", "collapsed", "collapsedWidth", "openWidth"], outputs: ["change", "filteredItemsChange"] }, { kind: "component", type: i6.FwMenuContainerComponent, selector: "fw-menu-container", inputs: ["width", "maxHeight", "border", "shadow", "showFilter", "filterText", "offset", "collapsed"] }, { kind: "component", type: i7.FwMenuItemComponent, selector: "fw-menu-item", inputs: ["value", "size", "title", "description", "icon", "iconColor", "disabled", "showCheckbox", "multiSelect", "hidden", "showTooltip", "collapsed", "href", "target", "subItemsOpen", "focused", "selected", "variant"], outputs: ["click"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }] });
|
|
269
280
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwMultiSelectMenuComponent, decorators: [{
|
|
270
281
|
type: Component,
|
|
271
282
|
args: [{ selector: 'fw-multi-select', providers: [
|
|
@@ -274,7 +285,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
274
285
|
useExisting: forwardRef(() => FwMultiSelectMenuComponent),
|
|
275
286
|
multi: true,
|
|
276
287
|
},
|
|
277
|
-
], template: "<div [ngStyle]=\"{width: width}\">\n <div\n class=\"chip-grid\"\n [ngStyle]=\"{minHeight: minHeight, maxHeight: maxHeight}\"\n [cdkMenuTriggerFor]=\"selectMenu\">\n <div class=\"inner-chip-grid\" *ngIf=\"value && value.length>0\">\n <fw-chip\n *ngFor=\"let chip of selectedOptions | slice:0:maxSelectedShown\"\n [title]=\"chip[titleProperty]\"\n [value]=\"chip[valueProperty]\"\n [icon]=\"chip[iconProperty]\"\n color=\"primary\"\n [showClose]=\"true\"\n (close)=\"handleClose(chip)\"\n [selectable]=\"false\">\n </fw-chip>\n <span *ngIf=\"value.length>maxSelectedShown\" class=\"max-exceeded\">+{{ value.length - maxSelectedShown }}\n more</span>\n <input\n type=\"text\" #textInput\n class=\"placeholder\"\n (keydown)=\"handleKeyDown($event)\" (
|
|
288
|
+
], template: "<div [ngStyle]=\"{width: width}\">\n <div\n class=\"chip-grid\"\n [ngStyle]=\"{minHeight: minHeight, maxHeight: maxHeight}\"\n [cdkMenuTriggerFor]=\"selectMenu\">\n <div class=\"inner-chip-grid\" *ngIf=\"value && value.length>0\">\n <fw-chip\n *ngFor=\"let chip of selectedOptions | slice:0:maxSelectedShown\"\n [title]=\"chip[titleProperty]\"\n [value]=\"chip[valueProperty]\"\n [icon]=\"chip[iconProperty]\"\n color=\"primary\"\n [showClose]=\"true\"\n (close)=\"handleClose(chip)\"\n [selectable]=\"false\">\n </fw-chip>\n <span *ngIf=\"value.length>maxSelectedShown\" class=\"max-exceeded\">+{{ value.length - maxSelectedShown }}\n more</span>\n <input\n type=\"text\" #textInput\n class=\"placeholder\"\n (keydown)=\"handleKeyDown($event)\" (input)=\"handleInput($event)\">\n </div>\n <input\n type=\"text\" #textInitialInput\n *ngIf=\"!value || value.length===0\"\n class=\"placeholder\" [placeholder]=\"placeholder\"\n (focus)=\"handleTouched()\"\n (keydown)=\"handleKeyDown($event)\" (input)=\"handleInput($event)\">\n <fw-icon>chevron-down</fw-icon>\n </div>\n <ng-template #selectMenu>\n <fw-menu-container [width]=\"optionsWidth || width\" [maxHeight]=\"maxOptionsHeight\">\n <fw-menu\n [multiSelect]=\"true\"\n [useCheckbox]=\"useCheckbox\"\n [disabled]=\"disabled || (filteredOptions && filteredOptions.length===0)\"\n [value]=\"selectedValues\"\n (change)=\"handleChange($event)\">\n <ng-container *ngIf=\"menuItems && menuItems.length===0\">\n <fw-menu-item\n *ngFor=\"let item of filteredOptions; index as $index\"\n [title]=\"item[titleProperty]\"\n [value]=\"item[valueProperty]\"\n [icon]=\"item[iconProperty]\"\n [multiSelect]=\"true\"\n [showCheckbox]=\"useCheckbox\"\n [focused]=\"focused===$index\"\n >\n </fw-menu-item>\n <fw-menu-item\n *ngIf=\"filteredOptions && filteredOptions.length===0\"\n [disabled]=\"true\" label=\"No options\">\n </fw-menu-item>\n </ng-container>\n <ng-content select=\"[fw-menu-item, fw-menu-separator]\"></ng-content>\n </fw-menu>\n </fw-menu-container>\n </ng-template>\n</div>\n", styles: [":host .chip-grid{min-height:36px;box-sizing:border-box;color:var(--typography-light);background:var(--page-light);display:flex;padding:6px;align-items:center;border-radius:6px;border:1px solid var(--separations-input);cursor:pointer;font-family:Inter,sans-serif}:host .chip-grid:focus-within{border-color:var(--primary-base)}:host .chip-grid .inner-chip-grid{display:flex;flex-wrap:wrap;gap:4px;overflow:hidden auto;align-items:center;flex:1}:host .chip-grid .inner-chip-grid input{display:inline-flex;width:10px;flex-grow:1}:host .chip-grid .placeholder{padding:0 2px 0 4px;font-size:14px;color:var(--typography-base);background:var(--page-light);border:0;outline:0;display:inline-flex;width:10px;flex-grow:1}:host .chip-grid .placeholder:focus{outline:none!important}:host .chip-grid .placeholder::placeholder{color:var(--typography-light)}:host .chip-grid fw-icon{font-size:20px}:host .chip-grid fw-icon:hover{color:var(--primary-base)}:host .chip-grid .max-exceeded{font-size:12px}\n"] }]
|
|
278
289
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { outsideClick: [{
|
|
279
290
|
type: HostListener,
|
|
280
291
|
args: ['document:click']
|
|
@@ -331,4 +342,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
331
342
|
}], value: [{
|
|
332
343
|
type: Input
|
|
333
344
|
}] } });
|
|
334
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc2VsZWN0LW1lbnUvbXVsdGktc2VsZWN0LW1lbnUvbXVsdGktc2VsZWN0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc2VsZWN0LW1lbnUvbXVsdGktc2VsZWN0LW1lbnUvbXVsdGktc2VsZWN0LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0RBQXdEO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBR0wsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUdOLFNBQVMsRUFDVCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7O0FBYy9FLE1BQU0sT0FBTywwQkFBMEI7SUEyRHJDLFlBQXNCLGtCQUFxQztRQUFyQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBaERsRCxZQUFPLEdBQWEsRUFBRSxDQUFDO1FBQ3ZCLGtCQUFhLEdBQVksT0FBTyxDQUFDO1FBQ2pDLGtCQUFhLEdBQVksT0FBTyxDQUFDO1FBQ2pDLGlCQUFZLEdBQVksTUFBTSxDQUFDO1FBQy9CLGFBQVEsR0FBYSxLQUFLLENBQUM7UUFDM0IsZ0JBQVcsR0FBYSxLQUFLLENBQUM7UUFDOUIsa0JBQWEsR0FBYSxJQUFJLENBQUM7UUFDL0Isd0JBQW1CLEdBQWEsSUFBSSxDQUFDO1FBQ3JDLHFCQUFnQixHQUFXLEdBQUcsQ0FBQztRQUMvQixVQUFLLEdBQVcsT0FBTyxDQUFDO1FBQ3hCLGNBQVMsR0FBVyxNQUFNLENBQUM7UUFDM0IsY0FBUyxHQUFXLE9BQU8sQ0FBQztRQUc1QixnQkFBVyxHQUFXLHFCQUFxQixDQUFDO1FBS3JELG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBQzlCLG9CQUFlLEdBQWEsRUFBRSxDQUFDO1FBQy9CLG9CQUFlLEdBQWEsRUFBRSxDQUFDO1FBQ3ZCLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUczQyw0REFBNEQ7UUFDbEQsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDM0MsWUFBTyxHQUFHLENBQUMsQ0FBQztRQUNKLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQXdCeEIsY0FBUyxHQUFHLEdBQVMsRUFBRTtRQUN2QixDQUFDLENBQUM7SUFMRixDQUFDO0lBM0QrQixZQUFZO1FBQzFDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDekMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBaUNELElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsUUFBZTtRQUN2QixJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RDO2FBQU07WUFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sUUFBUSxDQUFDO1NBQ25DO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBYUQsZ0JBQWdCLENBQUMsRUFBMEI7UUFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQWM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGdCQUFnQixDQUFFLFVBQW1CO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQzdCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBWTtRQUNyQiwyQkFBMkI7UUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDbkIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxLQUFLLE1BQU0sWUFBWSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDN0MsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQy9DLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQzdDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDNUIsTUFBTSxHQUFHLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO29CQUN0RSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDdkIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFO3dCQUMzRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDaEM7b0JBQ0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO29CQUN2RSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDL0IsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7YUFDNUI7U0FDRjtJQUNILENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFZO1FBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFlBQVksQ0FBQyxDQUFXO1FBQ3RCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwQixJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNuRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7b0JBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQ3RCO2FBQ0Y7WUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDMUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDOUY7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDM0IsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDZCxtRUFBbUU7b0JBQ25FLElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTt3QkFDaEYsdUVBQXVFO3dCQUN2RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO3FCQUM3QztnQkFDSCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDVDtpQkFBTTtnQkFDTCxVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNkLG1FQUFtRTtvQkFDbkUsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7d0JBQ2xFLHVFQUF1RTt3QkFDdkUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7cUJBQ3RDO2dCQUNILENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUNUO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVk7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDMUIsSUFBSSxLQUFLLEVBQUU7WUFDVCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNsQixJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtvQkFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO29CQUNsRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDaEM7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQzlCLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTt3QkFDdkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7d0JBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFOzRCQUN6QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQ0FDL0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7NkJBQ2hDO3dCQUNILENBQUMsQ0FBQyxDQUFDO3FCQUNKO2lCQUNGO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3RCO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxTQUFpQjtRQUMzQixRQUFRLFNBQVMsRUFBRTtZQUNqQixLQUFLLE1BQU0sQ0FBQyxDQUFDO2dCQUNYLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDZixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUU7b0JBQy9DLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO2lCQUNsQjtnQkFDRCxNQUFNO2FBQ1A7WUFDRCxLQUFLLElBQUksQ0FBQyxDQUFDO2dCQUNULElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDZixJQUFJLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFO29CQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztpQkFDaEQ7Z0JBQ0QsTUFBTTthQUNQO1lBQ0QsT0FBTyxDQUFDLENBQUM7Z0JBQ1AsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7Z0JBQ2pCLE1BQU07YUFDUDtTQUNGO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFvQjtRQUNoQyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssV0FBVyxFQUFFO1lBQzdCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDL0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUM1QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM5QjtTQUNGO2FBQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFdBQVcsRUFBRTtZQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzFCO2FBQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFNBQVMsRUFBRTtZQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hCO2FBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssS0FBSyxFQUFFO1lBQ3ZELElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDdEI7YUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxRQUFRLEVBQUU7WUFDMUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUN0QjtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsS0FBb0I7UUFDOUIsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLE9BQU8sRUFBRTtZQUN6QixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFO29CQUM1RCxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO29CQUNyRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUM1QjthQUNGO1lBQ0QsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7U0FDNUI7YUFBTTtZQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDcEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtvQkFDMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTt3QkFDbkMsR0FBRyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBQ3RCLENBQUMsQ0FBQyxDQUFDO29CQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUN0RCxJQUFJLElBQUksRUFBRTt3QkFDUixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztxQkFDckI7aUJBQ0Y7WUFDSCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDVDtRQUNELElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ2xELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFO29CQUMxRixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ3JDO3FCQUFNO29CQUNMLE9BQU8sS0FBSyxDQUFDO2lCQUNkO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssV0FBVyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssU0FBUyxFQUFFO2dCQUN4RCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzFCO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNwQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7O3VIQTVRVSwwQkFBMEI7MkdBQTFCLDBCQUEwQix3bEJBUjFCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMEJBQTBCLENBQUM7WUFDekQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLG9EQStCZ0IsbUJBQW1CLHNFQUh6QixjQUFjLHVFQUNkLGVBQWUsdVFBQ1osbUJBQW1CLHFFQ2xFbkMsd3RFQXlEQTsyRkRuQmEsMEJBQTBCO2tCQVp0QyxTQUFTOytCQUNFLGlCQUFpQixhQUdoQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwyQkFBMkIsQ0FBQzs0QkFDekQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7d0dBRytCLFlBQVk7c0JBQTNDLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQVVyQixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ3FCLE9BQU87c0JBQWpDLFNBQVM7dUJBQUMsY0FBYztnQkFDRyxJQUFJO3NCQUEvQixTQUFTO3VCQUFDLGVBQWU7Z0JBQ1MsaUJBQWlCO3NCQUFuRCxZQUFZO3VCQUFDLG1CQUFtQjtnQkFDSyxTQUFTO3NCQUE5QyxlQUFlO3VCQUFDLG1CQUFtQjtnQkFLWixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ1MsZ0JBQWdCO3NCQUE5QyxTQUFTO3VCQUFDLGtCQUFrQjtnQkFFbkIsTUFBTTtzQkFBZixNQUFNO2dCQU1ILEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlICBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBDZGtNZW51VHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9tZW51JztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBGd01lbnVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tZW51L21lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IEZ3TWVudUl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9tZW51L21lbnUtaXRlbS9tZW51LWl0ZW0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctbXVsdGktc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL211bHRpLXNlbGVjdC1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGktc2VsZWN0LW1lbnUuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGd011bHRpU2VsZWN0TWVudUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGd011bHRpU2VsZWN0TWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlckNvbnRlbnRJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJykgb3V0c2lkZUNsaWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9pc09wZW4pIHtcbiAgICAgIHRoaXMudHJpZ2dlci5jbG9zZSgpO1xuICAgICAgdGhpcy5faXNPcGVuID0gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0aGlzLnRyaWdnZXIgJiYgdGhpcy50cmlnZ2VyLmlzT3BlbigpKSB7XG4gICAgICB0aGlzLl9pc09wZW4gPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpIG9wdGlvbnM6IG9iamVjdFtdID0gW107XG4gIEBJbnB1dCgpIHZhbHVlUHJvcGVydHk/OiBzdHJpbmcgPSAndmFsdWUnO1xuICBASW5wdXQoKSB0aXRsZVByb3BlcnR5Pzogc3RyaW5nID0gJ3RpdGxlJztcbiAgQElucHV0KCkgaWNvblByb3BlcnR5Pzogc3RyaW5nID0gJ2ljb24nO1xuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgdXNlQ2hlY2tib3g/OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNsb3NlT25TZWxlY3Q/OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgZmlsdGVySXRlbXNPblNlbGVjdD86IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBtYXhTZWxlY3RlZFNob3duOiBudW1iZXIgPSAxMDA7XG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgPSAnMjAwcHgnO1xuICBASW5wdXQoKSBtaW5IZWlnaHQ6IHN0cmluZyA9ICczNnB4JztcbiAgQElucHV0KCkgbWF4SGVpZ2h0OiBzdHJpbmcgPSAnMjAwcHgnO1xuICBASW5wdXQoKSBvcHRpb25zV2lkdGg/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1heE9wdGlvbnNIZWlnaHQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnU2VsZWN0IHNvbWV0aGluZy4uLic7XG4gIEBWaWV3Q2hpbGQoQ2RrTWVudVRyaWdnZXIpIHRyaWdnZXI6IENka01lbnVUcmlnZ2VyO1xuICBAVmlld0NoaWxkKEZ3TWVudUNvbXBvbmVudCkgbWVudTogRndNZW51Q29tcG9uZW50O1xuICBAVmlld0NoaWxkcmVuKEZ3TWVudUl0ZW1Db21wb25lbnQpIHJlbmRlcmVkTWVudUl0ZW1zOiBRdWVyeUxpc3Q8RndNZW51SXRlbUNvbXBvbmVudD47XG4gIEBDb250ZW50Q2hpbGRyZW4oRndNZW51SXRlbUNvbXBvbmVudCkgbWVudUl0ZW1zOiBRdWVyeUxpc3Q8RndNZW51SXRlbUNvbXBvbmVudD47XG4gIHNlbGVjdGVkVmFsdWVzOiBzdHJpbmdbXSA9IFtdO1xuICBzZWxlY3RlZE9wdGlvbnM6IG9iamVjdFtdID0gW107XG4gIGZpbHRlcmVkT3B0aW9uczogb2JqZWN0W10gPSBbXTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuICBAVmlld0NoaWxkKCd0ZXh0SW5wdXQnKSB0ZXh0SW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoJ3RleHRJbml0aWFsSW5wdXQnKSB0ZXh0SW5pdGlhbElucHV0OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBmb2N1c2VkID0gMDtcbiAgcHJpdmF0ZSB0b3VjaGVkID0gZmFsc2U7XG4gIHByaXZhdGUgX2lzT3BlbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2YWx1ZSgpOiBhbnlbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgc2V0IHZhbHVlKG5ld1ZhbHVlOiBhbnlbXSkge1xuICAgIGlmIChuZXdWYWx1ZSAmJiBuZXdWYWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLl92YWx1ZVR5cGUgPSB0eXBlb2YgbmV3VmFsdWVbMF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3ZhbHVlVHlwZSA9IHR5cGVvZiBuZXdWYWx1ZTtcbiAgICB9XG4gICAgdGhpcy51cGRhdGVWYWx1ZShuZXdWYWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIF92YWx1ZTogYW55O1xuICBwcml2YXRlIF92YWx1ZVR5cGU6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICB9XG5cblxuICBvbkNoYW5nZTogKHZhbHVlOiBhbnlbXSkgPT4gdm9pZDtcbiAgb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge1xuICB9O1xuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55W10pID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnlbXSk6IHZvaWQge1xuICAgIC8vIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5vcHRpb25zKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiB0aGlzLnN1YnNjcmlwdGlvbnMpIHtcbiAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tZW51SXRlbXMgJiYgdGhpcy5tZW51SXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgaWYgKHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IFtdO1xuICAgICAgICB0aGlzLm1lbnVJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgIGNvbnN0IG9wdCA9IHsgdmFsdWU6IGl0ZW0udmFsdWUsIGxhYmVsOiBpdGVtLnRpdGxlLCBpY29uOiBpdGVtLmljb24gfTtcbiAgICAgICAgICB0aGlzLm9wdGlvbnMucHVzaChvcHQpO1xuICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVmFsdWVzLmluZGV4T2YoaXRlbS52YWx1ZS50b1N0cmluZygpKSA+PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucy5wdXNoKG9wdCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IHN1YiA9IGl0ZW0uY2xpY2suc3Vic2NyaWJlKHZhbHVlID0+IHRoaXMubWVudS53cml0ZVZhbHVlKHZhbHVlKSk7XG4gICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3ViKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudXBkYXRlRmlsdGVyZWRJdGVtcygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZVRvdWNoZWQoKTogdm9pZCB7XG4gICAgdGhpcy50b3VjaGVkID0gdHJ1ZTtcbiAgfVxuXG4gIGhhbmRsZUNsb3NlKGNoaXA6IG9iamVjdCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUuc3BsaWNlKHRoaXMudmFsdWUuaW5kZXhPZihjaGlwKSwgMSk7XG4gICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLnRyaWdnZXIuY2xvc2UoKTtcbiAgfVxuXG4gIGhhbmRsZUNoYW5nZShlOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGUpKSB7XG4gICAgICBpZiAoZS50b1N0cmluZygpICE9PSB0aGlzLnNlbGVjdGVkVmFsdWVzLnRvU3RyaW5nKCkpIHtcbiAgICAgICAgaWYgKHRoaXMuY2xvc2VPblNlbGVjdCkge1xuICAgICAgICAgIHRoaXMudHJpZ2dlci5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlKGUpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZUZpbHRlcmVkSXRlbXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmlsdGVySXRlbXNPblNlbGVjdCAmJiB0aGlzLm9wdGlvbnMgJiYgdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLm9wdGlvbnMuZmlsdGVyKGkgPT4gIXRoaXMudmFsdWUuaW5jbHVkZXMoaVt0aGlzLnZhbHVlUHJvcGVydHldKSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgIGlmICh0aGlzLnZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAvLyB0aGlzIG5lZWRzIHRvIGJlIGRlbGF5ZWQgdG8gZ2l2ZSB0aW1lIGZvciBlbGVtZW50IHN3YXAgdG8gaGFwcGVuXG4gICAgICAgICAgaWYgKHRoaXMudGV4dEluaXRpYWxJbnB1dCAmJiB0aGlzLnRleHRJbml0aWFsSW5wdXQubmF0aXZlRWxlbWVudCAmJiB0aGlzLnRvdWNoZWQpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAcngtYW5ndWxhci9wcmVmZXItbm8tbGF5b3V0LXNlbnNpdGl2ZS1hcGlzXG4gICAgICAgICAgICB0aGlzLnRleHRJbml0aWFsSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgMTAwKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIC8vIHRoaXMgbmVlZHMgdG8gYmUgZGVsYXllZCB0byBnaXZlIHRpbWUgZm9yIGVsZW1lbnQgc3dhcCB0byBoYXBwZW5cbiAgICAgICAgICBpZiAodGhpcy50ZXh0SW5wdXQgJiYgdGhpcy50ZXh0SW5wdXQubmF0aXZlRWxlbWVudCAmJiB0aGlzLnRvdWNoZWQpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAcngtYW5ndWxhci9wcmVmZXItbm8tbGF5b3V0LXNlbnNpdGl2ZS1hcGlzXG4gICAgICAgICAgICB0aGlzLnRleHRJbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LCAxMDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVZhbHVlKHZhbHVlOiBhbnlbXSk6IHZvaWQge1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlcyA9IFtdO1xuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zID0gW107XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB2YWx1ZS5mb3JFYWNoKHZhbCA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMucHVzaCh2YWxbdGhpcy52YWx1ZVByb3BlcnR5XSk7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMucHVzaCh2YWwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMucHVzaCh2YWwpO1xuICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMgPSBbXTtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5mb3JFYWNoKG9wdCA9PiB7XG4gICAgICAgICAgICAgIGlmICh2YWx1ZS5pbmRleE9mKG9wdFt0aGlzLnZhbHVlUHJvcGVydHldKSA+PSAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMucHVzaChvcHQpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZUZpbHRlcmVkSXRlbXMoKTtcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkge1xuICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgfVxuICAgIHRoaXMuY2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgbW92ZUZvY3VzZWQoZGlyZWN0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGRpcmVjdGlvbikge1xuICAgICAgY2FzZSAnZG93bic6IHtcbiAgICAgICAgdGhpcy5mb2N1c2VkKys7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWQgPj0gdGhpcy5maWx0ZXJlZE9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5mb2N1c2VkID0gMDtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3VwJzoge1xuICAgICAgICB0aGlzLmZvY3VzZWQtLTtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZCA8IDApIHtcbiAgICAgICAgICB0aGlzLmZvY3VzZWQgPSB0aGlzLmZpbHRlcmVkT3B0aW9ucy5sZW5ndGggLSAxO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICB0aGlzLmZvY3VzZWQgPSAwO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0JhY2tzcGFjZScpIHtcbiAgICAgIGlmICh0aGlzLnZhbHVlLmxlbmd0aCA+IDAgJiYgZXZlbnQudGFyZ2V0Wyd2YWx1ZSddLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICB0aGlzLnZhbHVlLnNwbGljZSh0aGlzLnZhbHVlLmxlbmd0aCAtIDEsIDEpO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJykge1xuICAgICAgdGhpcy5tb3ZlRm9jdXNlZCgnZG93bicpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcbiAgICAgIHRoaXMubW92ZUZvY3VzZWQoJ3VwJyk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRyaWdnZXIuaXNPcGVuKCkgJiYgZXZlbnQua2V5ID09PSAnVGFiJykge1xuICAgICAgdGhpcy50cmlnZ2VyLmNsb3NlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRyaWdnZXIuaXNPcGVuKCkgJiYgZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgdGhpcy50cmlnZ2VyLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICBpZiAodGhpcy5maWx0ZXJlZE9wdGlvbnMubGVuZ3RoID4gdGhpcy5mb2N1c2VkKSB7XG4gICAgICAgIGlmICghdGhpcy52YWx1ZS5pbmNsdWRlcyh0aGlzLmZpbHRlcmVkT3B0aW9uc1t0aGlzLmZvY3VzZWRdKSkge1xuICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gWy4uLnRoaXMudmFsdWUsIHRoaXMuZmlsdGVyZWRPcHRpb25zW3RoaXMuZm9jdXNlZF1dO1xuICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUobmV3VmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBldmVudC50YXJnZXRbJ3ZhbHVlJ10gPSAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50cmlnZ2VyLm9wZW4oKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5yZW5kZXJlZE1lbnVJdGVtcykge1xuICAgICAgICAgIHRoaXMucmVuZGVyZWRNZW51SXRlbXMuZm9yRWFjaChybWkgPT4ge1xuICAgICAgICAgICAgcm1pLmZvY3VzZWQgPSBmYWxzZTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5yZW5kZXJlZE1lbnVJdGVtcy5nZXQodGhpcy5mb2N1c2VkKTtcbiAgICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgaXRlbS5mb2N1c2VkID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sIDIwMCk7XG4gICAgfVxuICAgIGlmIChldmVudC50YXJnZXRbJ3ZhbHVlJ10ubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLm9wdGlvbnMuZmlsdGVyKG9wdGlvbiA9PiB7XG4gICAgICAgIGlmIChvcHRpb25bdGhpcy50aXRsZVByb3BlcnR5XS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGV2ZW50LnRhcmdldFsndmFsdWUnXS50b0xvd2VyQ2FzZSgpKSkge1xuICAgICAgICAgIHJldHVybiAhdGhpcy52YWx1ZS5pbmNsdWRlcyhvcHRpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpZiAoZXZlbnQua2V5ICE9PSAnQXJyb3dEb3duJyAmJiBldmVudC5rZXkgIT09ICdBcnJvd1VwJykge1xuICAgICAgICB0aGlzLm1vdmVGb2N1c2VkKCd6ZXJvJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgICAgdGhpcy51cGRhdGVGaWx0ZXJlZEl0ZW1zKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IFtuZ1N0eWxlXT1cInt3aWR0aDogd2lkdGh9XCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImNoaXAtZ3JpZFwiXG4gICAgW25nU3R5bGVdPVwie21pbkhlaWdodDogbWluSGVpZ2h0LCBtYXhIZWlnaHQ6IG1heEhlaWdodH1cIlxuICAgIFtjZGtNZW51VHJpZ2dlckZvcl09XCJzZWxlY3RNZW51XCI+XG4gICAgPGRpdiBjbGFzcz1cImlubmVyLWNoaXAtZ3JpZFwiICpuZ0lmPVwidmFsdWUgJiYgdmFsdWUubGVuZ3RoPjBcIj5cbiAgICAgIDxmdy1jaGlwXG4gICAgICAgICpuZ0Zvcj1cImxldCBjaGlwIG9mIHNlbGVjdGVkT3B0aW9ucyB8IHNsaWNlOjA6bWF4U2VsZWN0ZWRTaG93blwiXG4gICAgICAgIFt0aXRsZV09XCJjaGlwW3RpdGxlUHJvcGVydHldXCJcbiAgICAgICAgW3ZhbHVlXT1cImNoaXBbdmFsdWVQcm9wZXJ0eV1cIlxuICAgICAgICBbaWNvbl09XCJjaGlwW2ljb25Qcm9wZXJ0eV1cIlxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICBbc2hvd0Nsb3NlXT1cInRydWVcIlxuICAgICAgICAoY2xvc2UpPVwiaGFuZGxlQ2xvc2UoY2hpcClcIlxuICAgICAgICBbc2VsZWN0YWJsZV09XCJmYWxzZVwiPlxuICAgICAgPC9mdy1jaGlwPlxuICAgICAgPHNwYW4gKm5nSWY9XCJ2YWx1ZS5sZW5ndGg+bWF4U2VsZWN0ZWRTaG93blwiIGNsYXNzPVwibWF4LWV4Y2VlZGVkXCI+K3t7IHZhbHVlLmxlbmd0aCAtIG1heFNlbGVjdGVkU2hvd24gfX1cbiAgICAgICAgbW9yZTwvc3Bhbj5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwidGV4dFwiICN0ZXh0SW5wdXRcbiAgICAgICAgY2xhc3M9XCJwbGFjZWhvbGRlclwiXG4gICAgICAgIChrZXlkb3duKT1cImhhbmRsZUtleURvd24oJGV2ZW50KVwiIChrZXl1cCk9XCJoYW5kbGVLZXlVcCgkZXZlbnQpXCI+XG4gICAgPC9kaXY+XG4gICAgPGlucHV0XG4gICAgICB0eXBlPVwidGV4dFwiICN0ZXh0SW5pdGlhbElucHV0XG4gICAgICAqbmdJZj1cIiF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGg9PT0wXCJcbiAgICAgIGNsYXNzPVwicGxhY2Vob2xkZXJcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgKGZvY3VzKT1cImhhbmRsZVRvdWNoZWQoKVwiXG4gICAgICAoa2V5ZG93bik9XCJoYW5kbGVLZXlEb3duKCRldmVudClcIiAoa2V5dXApPVwiaGFuZGxlS2V5VXAoJGV2ZW50KVwiPlxuICAgIDxmdy1pY29uPmNoZXZyb24tZG93bjwvZnctaWNvbj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjc2VsZWN0TWVudT5cbiAgICA8ZnctbWVudS1jb250YWluZXIgW3dpZHRoXT1cIm9wdGlvbnNXaWR0aCB8fCB3aWR0aFwiIFttYXhIZWlnaHRdPVwibWF4T3B0aW9uc0hlaWdodFwiPlxuICAgICAgPGZ3LW1lbnVcbiAgICAgICAgW211bHRpU2VsZWN0XT1cInRydWVcIlxuICAgICAgICBbdXNlQ2hlY2tib3hdPVwidXNlQ2hlY2tib3hcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgKGZpbHRlcmVkT3B0aW9ucyAmJiBmaWx0ZXJlZE9wdGlvbnMubGVuZ3RoPT09MClcIlxuICAgICAgICBbdmFsdWVdPVwic2VsZWN0ZWRWYWx1ZXNcIlxuICAgICAgICAoY2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtZW51SXRlbXMgJiYgbWVudUl0ZW1zLmxlbmd0aD09PTBcIj5cbiAgICAgICAgICA8ZnctbWVudS1pdGVtXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJlZE9wdGlvbnNcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIml0ZW1bdGl0bGVQcm9wZXJ0eV1cIlxuICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW1bdmFsdWVQcm9wZXJ0eV1cIlxuICAgICAgICAgICAgW2ljb25dPVwiaXRlbVtpY29uUHJvcGVydHldXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9mdy1tZW51LWl0ZW0+XG4gICAgICAgICAgPGZ3LW1lbnUtaXRlbVxuICAgICAgICAgICAgKm5nSWY9XCJmaWx0ZXJlZE9wdGlvbnMgJiYgZmlsdGVyZWRPcHRpb25zLmxlbmd0aD09PTBcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cInRydWVcIiBsYWJlbD1cIk5vIG9wdGlvbnNcIj5cbiAgICAgICAgICA8L2Z3LW1lbnUtaXRlbT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmdy1tZW51LWl0ZW0sIGZ3LW1lbnUtc2VwYXJhdG9yXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZnctbWVudT5cbiAgICA8L2Z3LW1lbnUtY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
|
|
345
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc2VsZWN0LW1lbnUvbXVsdGktc2VsZWN0LW1lbnUvbXVsdGktc2VsZWN0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc2VsZWN0LW1lbnUvbXVsdGktc2VsZWN0LW1lbnUvbXVsdGktc2VsZWN0LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0RBQXdEO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBR0wsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUdOLFNBQVMsRUFDVCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7O0FBYy9FLE1BQU0sT0FBTywwQkFBMEI7SUFxRHJDLFlBQXNCLGtCQUFxQztRQUFyQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBMUNsRCxZQUFPLEdBQWEsRUFBRSxDQUFDO1FBQ3ZCLGtCQUFhLEdBQVksT0FBTyxDQUFDO1FBQ2pDLGtCQUFhLEdBQVksT0FBTyxDQUFDO1FBQ2pDLGlCQUFZLEdBQVksTUFBTSxDQUFDO1FBQy9CLGFBQVEsR0FBYSxLQUFLLENBQUM7UUFDM0IsZ0JBQVcsR0FBYSxLQUFLLENBQUM7UUFDOUIsa0JBQWEsR0FBYSxJQUFJLENBQUM7UUFDL0Isd0JBQW1CLEdBQWEsSUFB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QWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNxQixPQUFPO3NCQUFqQyxTQUFTO3VCQUFDLGNBQWM7Z0JBQ0csSUFBSTtzQkFBL0IsU0FBUzt1QkFBQyxlQUFlO2dCQUNTLGlCQUFpQjtzQkFBbkQsWUFBWTt1QkFBQyxtQkFBbUI7Z0JBQ0ssU0FBUztzQkFBOUMsZUFBZTt1QkFBQyxtQkFBbUI7Z0JBS1osU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUNTLGdCQUFnQjtzQkFBOUMsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBRW5CLE1BQU07c0JBQWYsTUFBTTtnQkFNSCxLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSAgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgQ2RrTWVudVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbWVudSc7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRndNZW51Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbWVudS9tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGd01lbnVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbWVudS9tZW51LWl0ZW0vbWVudS1pdGVtLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z3LW11bHRpLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tdWx0aS1zZWxlY3QtbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL211bHRpLXNlbGVjdC1tZW51LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRndNdWx0aVNlbGVjdE1lbnVDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRndNdWx0aVNlbGVjdE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycpIG91dHNpZGVDbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5faXNPcGVuKSB7XG4gICAgICB0aGlzLnRyaWdnZXIuY2xvc2UoKTtcbiAgICAgIHRoaXMuX2lzT3BlbiA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAodGhpcy50cmlnZ2VyICYmIHRoaXMudHJpZ2dlci5pc09wZW4oKSkge1xuICAgICAgdGhpcy5faXNPcGVuID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKSBvcHRpb25zOiBvYmplY3RbXSA9IFtdO1xuICBASW5wdXQoKSB2YWx1ZVByb3BlcnR5Pzogc3RyaW5nID0gJ3ZhbHVlJztcbiAgQElucHV0KCkgdGl0bGVQcm9wZXJ0eT86IHN0cmluZyA9ICd0aXRsZSc7XG4gIEBJbnB1dCgpIGljb25Qcm9wZXJ0eT86IHN0cmluZyA9ICdpY29uJztcbiAgQElucHV0KCkgZGlzYWJsZWQ/OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHVzZUNoZWNrYm94PzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBjbG9zZU9uU2VsZWN0PzogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGZpbHRlckl0ZW1zT25TZWxlY3Q/OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgbWF4U2VsZWN0ZWRTaG93bjogbnVtYmVyID0gMTAwO1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gJzIwMHB4JztcbiAgQElucHV0KCkgbWluSGVpZ2h0OiBzdHJpbmcgPSAnMzZweCc7XG4gIEBJbnB1dCgpIG1heEhlaWdodDogc3RyaW5nID0gJzIwMHB4JztcbiAgQElucHV0KCkgb3B0aW9uc1dpZHRoPzogc3RyaW5nO1xuICBASW5wdXQoKSBtYXhPcHRpb25zSGVpZ2h0Pzogc3RyaW5nO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJ1NlbGVjdCBzb21ldGhpbmcuLi4nO1xuICBAVmlld0NoaWxkKENka01lbnVUcmlnZ2VyKSB0cmlnZ2VyOiBDZGtNZW51VHJpZ2dlcjtcbiAgQFZpZXdDaGlsZChGd01lbnVDb21wb25lbnQpIG1lbnU6IEZ3TWVudUNvbXBvbmVudDtcbiAgQFZpZXdDaGlsZHJlbihGd01lbnVJdGVtQ29tcG9uZW50KSByZW5kZXJlZE1lbnVJdGVtczogUXVlcnlMaXN0PEZ3TWVudUl0ZW1Db21wb25lbnQ+O1xuICBAQ29udGVudENoaWxkcmVuKEZ3TWVudUl0ZW1Db21wb25lbnQpIG1lbnVJdGVtczogUXVlcnlMaXN0PEZ3TWVudUl0ZW1Db21wb25lbnQ+O1xuICBzZWxlY3RlZFZhbHVlczogc3RyaW5nW10gPSBbXTtcbiAgc2VsZWN0ZWRPcHRpb25zOiBvYmplY3RbXSA9IFtdO1xuICBmaWx0ZXJlZE9wdGlvbnM6IG9iamVjdFtdID0gW107XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgQFZpZXdDaGlsZCgndGV4dElucHV0JykgdGV4dElucHV0OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCd0ZXh0SW5pdGlhbElucHV0JykgdGV4dEluaXRpYWxJbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIEBPdXRwdXQoKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgZm9jdXNlZCA9IDA7XG4gIHByaXZhdGUgdG91Y2hlZCA9IGZhbHNlO1xuICBwcml2YXRlIF9pc09wZW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBnZXQgdmFsdWUoKTogYW55W10ge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIHNldCB2YWx1ZShuZXdWYWx1ZTogYW55W10pIHtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKG5ld1ZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3ZhbHVlOiBhbnlbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gIH1cblxuXG4gIG9uQ2hhbmdlOiAodmFsdWU6IGFueVtdKSA9PiB2b2lkO1xuICBvblRvdWNoZWQgPSAoKTogdm9pZCA9PiB7XG4gIH07XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnlbXSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueVtdKTogdm9pZCB7XG4gICAgLy8gdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLm9wdGlvbnMpIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHRoaXMuc3Vic2NyaXB0aW9ucykge1xuICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1lbnVJdGVtcyAmJiB0aGlzLm1lbnVJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAodGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gW107XG4gICAgICAgIHRoaXMubWVudUl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgY29uc3Qgb3B0ID0ge1xuICAgICAgICAgICAgdmFsdWU6IGl0ZW0udmFsdWUsXG4gICAgICAgICAgICBsYWJlbDogaXRlbS50aXRsZSxcbiAgICAgICAgICAgIGljb246IGl0ZW0uaWNvbixcbiAgICAgICAgICB9O1xuICAgICAgICAgIHRoaXMub3B0aW9ucy5wdXNoKG9wdCk7XG4gICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRWYWx1ZXMuaW5kZXhPZihpdGVtLnZhbHVlLnRvU3RyaW5nKCkpID49IDApIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zLnB1c2gob3B0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3Qgc3ViID0gaXRlbS5jbGljay5zdWJzY3JpYmUodmFsdWUgPT4gdGhpcy5tZW51LndyaXRlVmFsdWUodmFsdWUpKTtcbiAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdWIpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy51cGRhdGVGaWx0ZXJlZEl0ZW1zKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlVG91Y2hlZCgpOiB2b2lkIHtcbiAgICB0aGlzLnRvdWNoZWQgPSB0cnVlO1xuICB9XG5cbiAgaGFuZGxlQ2xvc2UoY2hpcDogb2JqZWN0KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZS5zcGxpY2UodGhpcy52YWx1ZS5pbmRleE9mKGNoaXBbdGhpcy52YWx1ZVByb3BlcnR5XSksIDEpO1xuICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy52YWx1ZSk7XG4gICAgdGhpcy50cmlnZ2VyLmNsb3NlKCk7XG4gIH1cblxuICBoYW5kbGVDaGFuZ2UoZTogc3RyaW5nW10pOiB2b2lkIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShlKSkge1xuICAgICAgaWYgKGUudG9TdHJpbmcoKSAhPT0gdGhpcy5zZWxlY3RlZFZhbHVlcy50b1N0cmluZygpKSB7XG4gICAgICAgIGlmICh0aGlzLmNsb3NlT25TZWxlY3QpIHtcbiAgICAgICAgICB0aGlzLnRyaWdnZXIuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy51cGRhdGVWYWx1ZShlKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVGaWx0ZXJlZEl0ZW1zKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZpbHRlckl0ZW1zT25TZWxlY3QgJiYgdGhpcy5vcHRpb25zICYmIHRoaXMudmFsdWUpIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gdGhpcy5vcHRpb25zLmZpbHRlcihpID0+ICF0aGlzLnZhbHVlLmluY2x1ZGVzKGlbdGhpcy52YWx1ZVByb3BlcnR5XSkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICBpZiAodGhpcy52YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgLy8gdGhpcyBuZWVkcyB0byBiZSBkZWxheWVkIHRvIGdpdmUgdGltZSBmb3IgZWxlbWVudCBzd2FwIHRvIGhhcHBlblxuICAgICAgICAgIGlmICh0aGlzLnRleHRJbml0aWFsSW5wdXQgJiYgdGhpcy50ZXh0SW5pdGlhbElucHV0Lm5hdGl2ZUVsZW1lbnQgJiYgdGhpcy50b3VjaGVkKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHJ4LWFuZ3VsYXIvcHJlZmVyLW5vLWxheW91dC1zZW5zaXRpdmUtYXBpc1xuICAgICAgICAgICAgdGhpcy50ZXh0SW5pdGlhbElucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDEwMCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAvLyB0aGlzIG5lZWRzIHRvIGJlIGRlbGF5ZWQgdG8gZ2l2ZSB0aW1lIGZvciBlbGVtZW50IHN3YXAgdG8gaGFwcGVuXG4gICAgICAgICAgaWYgKHRoaXMudGV4dElucHV0ICYmIHRoaXMudGV4dElucHV0Lm5hdGl2ZUVsZW1lbnQgJiYgdGhpcy50b3VjaGVkKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHJ4LWFuZ3VsYXIvcHJlZmVyLW5vLWxheW91dC1zZW5zaXRpdmUtYXBpc1xuICAgICAgICAgICAgdGhpcy50ZXh0SW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgMTAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1cGRhdGVWYWx1ZSh2YWx1ZTogYW55W10pOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWVzID0gW107XG4gICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMgPSBbXTtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHZhbHVlLmZvckVhY2godmFsID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5wdXNoKHZhbFt0aGlzLnZhbHVlUHJvcGVydHldKTtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucy5wdXNoKHZhbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5wdXNoKHZhbCk7XG4gICAgICAgICAgaWYgKHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5vcHRpb25zLmZvckVhY2gob3B0ID0+IHtcbiAgICAgICAgICAgICAgaWYgKHZhbHVlLmluZGV4T2Yob3B0W3RoaXMudmFsdWVQcm9wZXJ0eV0pID49IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucy5wdXNoKG9wdCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5zZWxlY3RlZFZhbHVlcztcbiAgICB0aGlzLnVwZGF0ZUZpbHRlcmVkSXRlbXMoKTtcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkge1xuICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgfVxuICAgIHRoaXMuY2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgbW92ZUZvY3VzZWQoZGlyZWN0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGRpcmVjdGlvbikge1xuICAgICAgY2FzZSAnZG93bic6IHtcbiAgICAgICAgdGhpcy5mb2N1c2VkKys7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWQgPj0gdGhpcy5maWx0ZXJlZE9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5mb2N1c2VkID0gMDtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3VwJzoge1xuICAgICAgICB0aGlzLmZvY3VzZWQtLTtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZCA8IDApIHtcbiAgICAgICAgICB0aGlzLmZvY3VzZWQgPSB0aGlzLmZpbHRlcmVkT3B0aW9ucy5sZW5ndGggLSAxO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICB0aGlzLmZvY3VzZWQgPSAwO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMudHJpZ2dlci5pc09wZW4oKSkge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICAgICAgdGhpcy5tb3ZlRm9jdXNlZCgnZG93bicpO1xuICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1VwJykge1xuICAgICAgICB0aGlzLm1vdmVGb2N1c2VkKCd1cCcpO1xuICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdUYWInKSB7XG4gICAgICAgIHRoaXMudHJpZ2dlci5jbG9zZSgpO1xuICAgICAgICBpZiAoZXZlbnQudGFyZ2V0KSB7XG4gICAgICAgICAgZXZlbnQudGFyZ2V0Wyd2YWx1ZSddID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgdGhpcy50cmlnZ2VyLmNsb3NlKCk7XG4gICAgICAgIGlmIChldmVudC50YXJnZXQpIHtcbiAgICAgICAgICBldmVudC50YXJnZXRbJ3ZhbHVlJ10gPSAnJztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgIGlmICh0aGlzLmZpbHRlcmVkT3B0aW9ucy5sZW5ndGggPiB0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICBpZiAoIXRoaXMudmFsdWUuaW5jbHVkZXModGhpcy5maWx0ZXJlZE9wdGlvbnNbdGhpcy5mb2N1c2VkXSkpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gWy4uLnRoaXMudmFsdWUsIHRoaXMuZmlsdGVyZWRPcHRpb25zW3RoaXMuZm9jdXNlZF1bdGhpcy52YWx1ZVByb3BlcnR5XV07XG4gICAgICAgICAgICBpZiAoZXZlbnQudGFyZ2V0KSB7XG4gICAgICAgICAgICAgIGV2ZW50LnRhcmdldFsndmFsdWUnXSA9ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG5ld1ZhbHVlKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmNsb3NlT25TZWxlY3QpIHtcbiAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50cmlnZ2VyLmNsb3NlKCk7XG4gICAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50cmlnZ2VyLm9wZW4oKTtcbiAgICAgICAgICAgICAgfSwgMCk7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0JhY2tzcGFjZScpIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUubGVuZ3RoID4gMCAmJiBldmVudC50YXJnZXRbJ3ZhbHVlJ10ubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgdGhpcy52YWx1ZS5zcGxpY2UodGhpcy52YWx1ZS5sZW5ndGggLSAxLCAxKTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlSW5wdXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LnRhcmdldFsndmFsdWUnXS5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucy5maWx0ZXIob3B0aW9uID0+IHtcbiAgICAgICAgaWYgKG9wdGlvblt0aGlzLnRpdGxlUHJvcGVydHldLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZXZlbnQudGFyZ2V0Wyd2YWx1ZSddLnRvTG93ZXJDYXNlKCkpKSB7XG4gICAgICAgICAgcmV0dXJuICF0aGlzLnZhbHVlLmluY2x1ZGVzKG9wdGlvbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG4gICAgICB0aGlzLnVwZGF0ZUZpbHRlcmVkSXRlbXMoKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnRyaWdnZXIuaXNPcGVuKCkpIHtcbiAgICAgIHRoaXMudHJpZ2dlci5vcGVuKCk7XG4gICAgfVxuICAgIHRoaXMubW92ZUZvY3VzZWQoJ3plcm8nKTtcbiAgfVxufVxuIiwiPGRpdiBbbmdTdHlsZV09XCJ7d2lkdGg6IHdpZHRofVwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJjaGlwLWdyaWRcIlxuICAgIFtuZ1N0eWxlXT1cInttaW5IZWlnaHQ6IG1pbkhlaWdodCwgbWF4SGVpZ2h0OiBtYXhIZWlnaHR9XCJcbiAgICBbY2RrTWVudVRyaWdnZXJGb3JdPVwic2VsZWN0TWVudVwiPlxuICAgIDxkaXYgY2xhc3M9XCJpbm5lci1jaGlwLWdyaWRcIiAqbmdJZj1cInZhbHVlICYmIHZhbHVlLmxlbmd0aD4wXCI+XG4gICAgICA8ZnctY2hpcFxuICAgICAgICAqbmdGb3I9XCJsZXQgY2hpcCBvZiBzZWxlY3RlZE9wdGlvbnMgfCBzbGljZTowOm1heFNlbGVjdGVkU2hvd25cIlxuICAgICAgICBbdGl0bGVdPVwiY2hpcFt0aXRsZVByb3BlcnR5XVwiXG4gICAgICAgIFt2YWx1ZV09XCJjaGlwW3ZhbHVlUHJvcGVydHldXCJcbiAgICAgICAgW2ljb25dPVwiY2hpcFtpY29uUHJvcGVydHldXCJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgW3Nob3dDbG9zZV09XCJ0cnVlXCJcbiAgICAgICAgKGNsb3NlKT1cImhhbmRsZUNsb3NlKGNoaXApXCJcbiAgICAgICAgW3NlbGVjdGFibGVdPVwiZmFsc2VcIj5cbiAgICAgIDwvZnctY2hpcD5cbiAgICAgIDxzcGFuICpuZ0lmPVwidmFsdWUubGVuZ3RoPm1heFNlbGVjdGVkU2hvd25cIiBjbGFzcz1cIm1heC1leGNlZWRlZFwiPit7eyB2YWx1ZS5sZW5ndGggLSBtYXhTZWxlY3RlZFNob3duIH19XG4gICAgICAgIG1vcmU8L3NwYW4+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInRleHRcIiAjdGV4dElucHV0XG4gICAgICAgIGNsYXNzPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAoa2V5ZG93bik9XCJoYW5kbGVLZXlEb3duKCRldmVudClcIiAoaW5wdXQpPVwiaGFuZGxlSW5wdXQoJGV2ZW50KVwiPlxuICAgIDwvZGl2PlxuICAgIDxpbnB1dFxuICAgICAgdHlwZT1cInRleHRcIiAjdGV4dEluaXRpYWxJbnB1dFxuICAgICAgKm5nSWY9XCIhdmFsdWUgfHwgdmFsdWUubGVuZ3RoPT09MFwiXG4gICAgICBjbGFzcz1cInBsYWNlaG9sZGVyXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgIChmb2N1cyk9XCJoYW5kbGVUb3VjaGVkKClcIlxuICAgICAgKGtleWRvd24pPVwiaGFuZGxlS2V5RG93bigkZXZlbnQpXCIgKGlucHV0KT1cImhhbmRsZUlucHV0KCRldmVudClcIj5cbiAgICA8ZnctaWNvbj5jaGV2cm9uLWRvd248L2Z3LWljb24+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI3NlbGVjdE1lbnU+XG4gICAgPGZ3LW1lbnUtY29udGFpbmVyIFt3aWR0aF09XCJvcHRpb25zV2lkdGggfHwgd2lkdGhcIiBbbWF4SGVpZ2h0XT1cIm1heE9wdGlvbnNIZWlnaHRcIj5cbiAgICAgIDxmdy1tZW51XG4gICAgICAgIFttdWx0aVNlbGVjdF09XCJ0cnVlXCJcbiAgICAgICAgW3VzZUNoZWNrYm94XT1cInVzZUNoZWNrYm94XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IChmaWx0ZXJlZE9wdGlvbnMgJiYgZmlsdGVyZWRPcHRpb25zLmxlbmd0aD09PTApXCJcbiAgICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkVmFsdWVzXCJcbiAgICAgICAgKGNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWVudUl0ZW1zICYmIG1lbnVJdGVtcy5sZW5ndGg9PT0wXCI+XG4gICAgICAgICAgPGZ3LW1lbnUtaXRlbVxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZmlsdGVyZWRPcHRpb25zOyBpbmRleCBhcyAkaW5kZXhcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIml0ZW1bdGl0bGVQcm9wZXJ0eV1cIlxuICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW1bdmFsdWVQcm9wZXJ0eV1cIlxuICAgICAgICAgICAgW2ljb25dPVwiaXRlbVtpY29uUHJvcGVydHldXCJcbiAgICAgICAgICAgIFttdWx0aVNlbGVjdF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtzaG93Q2hlY2tib3hdPVwidXNlQ2hlY2tib3hcIlxuICAgICAgICAgICAgW2ZvY3VzZWRdPVwiZm9jdXNlZD09PSRpbmRleFwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvZnctbWVudS1pdGVtPlxuICAgICAgICAgIDxmdy1tZW51LWl0ZW1cbiAgICAgICAgICAgICpuZ0lmPVwiZmlsdGVyZWRPcHRpb25zICYmIGZpbHRlcmVkT3B0aW9ucy5sZW5ndGg9PT0wXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ0cnVlXCIgbGFiZWw9XCJObyBvcHRpb25zXCI+XG4gICAgICAgICAgPC9mdy1tZW51LWl0ZW0+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZnctbWVudS1pdGVtLCBmdy1tZW51LXNlcGFyYXRvcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Z3LW1lbnU+XG4gICAgPC9mdy1tZW51LWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
|
|
@@ -158,11 +158,21 @@ export class FwSelectMenuComponent {
|
|
|
158
158
|
if (this.inFocusOpen) {
|
|
159
159
|
if (event.key === 'ArrowDown') {
|
|
160
160
|
this.moveFocused('down');
|
|
161
|
-
|
|
161
|
+
if (this._valueType === 'object') {
|
|
162
|
+
this.updateValue(this.options[this.focused]);
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
this.updateValue(this.options[this.focused][this.valueProperty]);
|
|
166
|
+
}
|
|
162
167
|
}
|
|
163
168
|
if (event.key === 'ArrowUp') {
|
|
164
169
|
this.moveFocused('up');
|
|
165
|
-
|
|
170
|
+
if (this._valueType === 'object') {
|
|
171
|
+
this.updateValue(this.options[this.focused]);
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
this.updateValue(this.options[this.focused][this.valueProperty]);
|
|
175
|
+
}
|
|
166
176
|
}
|
|
167
177
|
if (event.key === 'Tab') {
|
|
168
178
|
this.trigger.close();
|
|
@@ -190,6 +200,13 @@ export class FwSelectMenuComponent {
|
|
|
190
200
|
this.updateValue(this.preFocusValue);
|
|
191
201
|
}
|
|
192
202
|
}
|
|
203
|
+
else {
|
|
204
|
+
if (this.showReset) {
|
|
205
|
+
if (event.key === 'Escape') {
|
|
206
|
+
this.handleReset();
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
193
210
|
}
|
|
194
211
|
updateValue(value) {
|
|
195
212
|
this._value = value;
|
|
@@ -229,7 +246,12 @@ export class FwSelectMenuComponent {
|
|
|
229
246
|
}
|
|
230
247
|
handleReset() {
|
|
231
248
|
if (this.showReset) {
|
|
232
|
-
this.
|
|
249
|
+
if (this._valueType === 'object') {
|
|
250
|
+
this.updateValue(null);
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
this.updateValue('');
|
|
254
|
+
}
|
|
233
255
|
}
|
|
234
256
|
}
|
|
235
257
|
}
|
|
@@ -291,4 +313,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
291
313
|
}], value: [{
|
|
292
314
|
type: Input
|
|
293
315
|
}] } });
|
|
294
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc2VsZWN0LW1lbnUvc2VsZWN0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc2VsZWN0LW1lbnUvc2VsZWN0LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0RBQXdEO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBR0wsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7OztBQWM1RSxNQUFNLE9BQU8scUJBQXFCO0lBa0RoQyxZQUFzQixrQkFBcUM7UUFBckMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQXZDbEQsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUN2QixrQkFBYSxHQUFZLE9BQU8sQ0FBQztRQUNqQyxrQkFBYSxHQUFZLE9BQU8sQ0FBQztRQUNqQyxpQkFBWSxHQUFZLE1BQU0sQ0FBQztRQUMvQix3QkFBbUIsR0FBWSxhQUFhLENBQUM7UUFDN0MsZUFBVSxHQUFhLEtBQUssQ0FBQztRQUM3QixjQUFTLEdBQWEsS0FBSyxDQUFDO1FBQzVCLGFBQVEsR0FBYSxLQUFLLENBQUM7UUFDM0IsVUFBSyxHQUFXLE9BQU8sQ0FBQztRQUd4QixnQkFBVyxHQUFXLHFCQUFxQixDQUFDO1FBSXJELDREQUE0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Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDcUIsT0FBTztzQkFBakMsU0FBUzt1QkFBQyxjQUFjO2dCQUNHLElBQUk7c0JBQS9CLFNBQVM7dUJBQUMsZUFBZTtnQkFDWSxTQUFTO3NCQUE5QyxlQUFlO3VCQUFDLG1CQUFtQjtnQkFFMUIsTUFBTTtzQkFBZixNQUFNO2dCQVdILEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlICBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBDZGtNZW51VHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9tZW51JztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZ3TWVudUNvbXBvbmVudCB9IGZyb20gJy4uL21lbnUvbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRndNZW51SXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL21lbnUvbWVudS1pdGVtL21lbnUtaXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtbWVudS5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZ3U2VsZWN0TWVudUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGd1NlbGVjdE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudC50YXJnZXQnXSkgb3V0c2lkZUNsaWNrKGV2dDogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2lzT3BlbiAmJiBldnQubm9kZU5hbWUgIT09ICdJTlBVVCcpIHtcbiAgICAgIHRoaXMudHJpZ2dlci5jbG9zZSgpO1xuICAgICAgdGhpcy5faXNPcGVuID0gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0aGlzLnRyaWdnZXIgJiYgdGhpcy50cmlnZ2VyLmlzT3BlbigpKSB7XG4gICAgICB0aGlzLl9pc09wZW4gPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpIG9wdGlvbnM6IG9iamVjdFtdID0gW107XG4gIEBJbnB1dCgpIHZhbHVlUHJvcGVydHk/OiBzdHJpbmcgPSAndmFsdWUnO1xuICBASW5wdXQoKSB0aXRsZVByb3BlcnR5Pzogc3RyaW5nID0gJ3RpdGxlJztcbiAgQElucHV0KCkgaWNvblByb3BlcnR5Pzogc3RyaW5nID0gJ2ljb24nO1xuICBASW5wdXQoKSBkZXNjcmlwdGlvblByb3BlcnR5Pzogc3RyaW5nID0gJ2Rlc2NyaXB0aW9uJztcbiAgQElucHV0KCkgc2hvd0ZpbHRlcj86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2hvd1Jlc2V0PzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgd2lkdGg6IHN0cmluZyA9ICcyMDBweCc7XG4gIEBJbnB1dCgpIG9wdGlvbnNXaWR0aD86IHN0cmluZztcbiAgQElucHV0KCkgbWF4T3B0aW9uc0hlaWdodD86IHN0cmluZztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICdTZWxlY3Qgc29tZXRoaW5nLi4uJztcbiAgQFZpZXdDaGlsZChDZGtNZW51VHJpZ2dlcikgdHJpZ2dlcjogQ2RrTWVudVRyaWdnZXI7XG4gIEBWaWV3Q2hpbGQoRndNZW51Q29tcG9uZW50KSBtZW51OiBGd01lbnVDb21wb25lbnQ7XG4gIEBDb250ZW50Q2hpbGRyZW4oRndNZW51SXRlbUNvbXBvbmVudCkgbWVudUl0ZW1zOiBRdWVyeUxpc3Q8RndNZW51SXRlbUNvbXBvbmVudD47XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIHNlbGVjdFZhbHVlOiBzdHJpbmcgPSAnJztcbiAgc2VsZWN0VGl0bGU6IHN0cmluZyA9ICcnO1xuICBzZWxlY3RJY29uOiBzdHJpbmcgPSAnJztcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuICBwcml2YXRlIF9pc09wZW4gPSBmYWxzZTtcbiAgZm9jdXNlZCA9IDA7XG4gIGluRm9jdXNPcGVuID0gZmFsc2U7XG4gIHByZUZvY3VzVmFsdWU6IGFueTtcblxuICBASW5wdXQoKVxuICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBzZXQgdmFsdWUobmV3VmFsdWU6IGFueSkge1xuICAgIHRoaXMuX3ZhbHVlVHlwZSA9IHR5cGVvZiBuZXdWYWx1ZTtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKG5ld1ZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3ZhbHVlOiBhbnk7XG4gIHByaXZhdGUgX3ZhbHVlVHlwZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gIH1cblxuICBvbkNoYW5nZTogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XG4gIG9uVG91Y2hlZCA9ICgpOiB2b2lkID0+IHtcbiAgfTtcblxuICAvKipcbiAgICogU2F2ZXMgYSBjYWxsYmFjayBmdW5jdGlvbiB0byBiZSBpbnZva2VkIHdoZW4gdGhlIHNlbGVjdCdzIHZhbHVlXG4gICAqIGNoYW5nZXMgZnJvbSB1c2VyIGlucHV0LiBQYXJ0IG9mIHRoZSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcbiAgICogcmVxdWlyZWQgdG8gaW50ZWdyYXRlIHdpdGggQW5ndWxhcidzIGNvcmUgZm9ybXMgQVBJLlxuICAgKlxuICAgKiBAcGFyYW0gZm4gQ2FsbGJhY2sgdG8gYmUgdHJpZ2dlcmVkIHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlcyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGJlIGludm9rZWQgd2hlbiB0aGUgc2VsZWN0IGlzIGJsdXJyZWRcbiAgICogYnkgdGhlIHVzZXIuIFBhcnQgb2YgdGhlIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZSByZXF1aXJlZFxuICAgKiB0byBpbnRlZ3JhdGUgd2l0aCBBbmd1bGFyJ3MgY29yZSBmb3JtcyBBUEkuXG4gICAqXG4gICAqIEBwYXJhbSBmbiBDYWxsYmFjayB0byBiZSB0cmlnZ2VyZWQgd2hlbiB0aGUgY29tcG9uZW50IGhhcyBiZWVuIHRvdWNoZWQuXG4gICAqL1xuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4ge30pOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc2FibGVzIHRoZSBzZWxlY3QuIFBhcnQgb2YgdGhlIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZSByZXF1aXJlZFxuICAgKiB0byBpbnRlZ3JhdGUgd2l0aCBBbmd1bGFyJ3MgY29yZSBmb3JtcyBBUEkuXG4gICAqXG4gICAqIEBwYXJhbSBpc0Rpc2FibGVkIFNldHMgd2hldGhlciB0aGUgY29tcG9uZW50IGlzIGRpc2FibGVkLlxuICAgKi9cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAcngtYW5ndWxhci9uby1leHBsaWNpdC1jaGFuZ2UtZGV0ZWN0aW9uLWFwaXNcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzZWxlY3QncyB2YWx1ZS4gUGFydCBvZiB0aGUgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXG4gICAqIHJlcXVpcmVkIHRvIGludGVncmF0ZSB3aXRoIEFuZ3VsYXIncyBjb3JlIGZvcm1zIEFQSS5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIE5ldyB2YWx1ZSB0byBiZSB3cml0dGVuIHRvIHRoZSBtb2RlbC5cbiAgICovXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2YgdGhpcy5zdWJzY3JpcHRpb25zKSB7XG4gICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMgfHwgKHRoaXMub3B0aW9ucy5sZW5ndGggPT09IDAgJiYgdGhpcy5tZW51SXRlbXMgJiYgdGhpcy5tZW51SXRlbXMubGVuZ3RoID4gMCkpIHtcbiAgICAgIHRoaXMub3B0aW9ucyA9IFtdO1xuICAgICAgdGhpcy5tZW51SXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgdGhpcy5vcHRpb25zLnB1c2goe1xuICAgICAgICAgIHZhbHVlOiBpdGVtLnZhbHVlLnRvU3RyaW5nKCksXG4gICAgICAgICAgdGl0bGU6IGl0ZW0udGl0bGUudG9TdHJpbmcoKSxcbiAgICAgICAgICBpY29uOiBpdGVtLmljb24sXG4gICAgICAgICAgZGVzY3JpcHRpb246IGl0ZW0uZGVzY3JpcHRpb24sXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzdWIgPSBpdGVtLmNsaWNrLnN1YnNjcmliZSh2YWx1ZSA9PiB0aGlzLm1lbnUud3JpdGVWYWx1ZSh2YWx1ZSkpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdWIpO1xuICAgICAgICBpZiAoaXRlbS52YWx1ZS50b1N0cmluZygpID09PSB0aGlzLnNlbGVjdFZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RUaXRsZSA9IGl0ZW0udGl0bGUudG9TdHJpbmcoKTtcbiAgICAgICAgICB0aGlzLnNlbGVjdEljb24gPSBpdGVtLmljb247XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUNsaWNrKGU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdFZhbHVlICE9PSBlKSB7XG4gICAgICB0aGlzLm9wdGlvbnMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaWYgKGl0ZW1bdGhpcy52YWx1ZVByb3BlcnR5XS50b1N0cmluZygpID09PSBlKSB7XG4gICAgICAgICAgaWYgKHRoaXMuX3ZhbHVlVHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUoaXRlbSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUoaXRlbVt0aGlzLnZhbHVlUHJvcGVydHldKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLnRyaWdnZXIuY2xvc2UoKTtcbiAgfVxuXG4gIG1vdmVGb2N1c2VkKGRpcmVjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgc3dpdGNoIChkaXJlY3Rpb24pIHtcbiAgICAgIGNhc2UgJ2Rvd24nOiB7XG4gICAgICAgIHRoaXMuZm9jdXNlZCsrO1xuICAgICAgICBpZiAodGhpcy5mb2N1c2VkID49IHRoaXMub3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLmZvY3VzZWQgPSAwO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAndXAnOiB7XG4gICAgICAgIHRoaXMuZm9jdXNlZC0tO1xuICAgICAgICBpZiAodGhpcy5mb2N1c2VkIDwgMCkge1xuICAgICAgICAgIHRoaXMuZm9jdXNlZCA9IHRoaXMub3B0aW9ucy5sZW5ndGggLSAxO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICB0aGlzLmZvY3VzZWQgPSAwO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMudHJpZ2dlci5pc09wZW4oKSkge1xuICAgICAgaWYgKHRoaXMuaW5Gb2N1c09wZW4pIHtcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICAgICAgICB0aGlzLm1vdmVGb2N1c2VkKCdkb3duJyk7XG4gICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLm9wdGlvbnNbdGhpcy5mb2N1c2VkXSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnKSB7XG4gICAgICAgICAgdGhpcy5tb3ZlRm9jdXNlZCgndXAnKTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMub3B0aW9uc1t0aGlzLmZvY3VzZWRdKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnVGFiJykge1xuICAgICAgICAgIHRoaXMudHJpZ2dlci5jbG9zZSgpO1xuICAgICAgICAgIHRoaXMuaW5Gb2N1c09wZW4gPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMucHJlRm9jdXNWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaW5Gb2N1c09wZW4gPSB0cnVlO1xuICAgICAgICB0aGlzLnByZUZvY3VzVmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgIHRoaXMuaW5Gb2N1c09wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5wcmVGb2N1c1ZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoYW5kbGVLZXlVcChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRyaWdnZXIuaXNPcGVuKCkpIHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgIHRoaXMudHJpZ2dlci5jbG9zZSgpO1xuICAgICAgICB0aGlzLmluRm9jdXNPcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy5wcmVGb2N1c1ZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIHVwZGF0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIGlmICh2YWx1ZSAmJiB0aGlzLl92YWx1ZVR5cGUgPT09ICdvYmplY3QnICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHRoaXMuc2VsZWN0VmFsdWUgPSB2YWx1ZVt0aGlzLnZhbHVlUHJvcGVydHldLnRvU3RyaW5nKCk7XG4gICAgICB0aGlzLnNlbGVjdFRpdGxlID0gdmFsdWVbdGhpcy50aXRsZVByb3BlcnR5XS50b1N0cmluZygpO1xuICAgICAgdGhpcy5zZWxlY3RJY29uID0gdmFsdWVbdGhpcy5pY29uUHJvcGVydHldO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgc2VsZWN0ZWRPcHRpb246IG9iamVjdDtcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmxlbmd0aCA+IDAgJiYgdGhpcy52YWx1ZVByb3BlcnR5ICYmIHRoaXMudmFsdWUpIHtcbiAgICAgICAgc2VsZWN0ZWRPcHRpb24gPSB0aGlzLm9wdGlvbnMuZmluZChvcHRpb24gPT4gb3B0aW9uW3RoaXMudmFsdWVQcm9wZXJ0eV0gPT09IHZhbHVlW3RoaXMudmFsdWVQcm9wZXJ0eV0pO1xuICAgICAgfVxuICAgICAgaWYgKHNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0VmFsdWUgPSBzZWxlY3RlZE9wdGlvblt0aGlzLnZhbHVlUHJvcGVydHldLnRvU3RyaW5nKCk7XG4gICAgICAgIHRoaXMuc2VsZWN0VGl0bGUgPSBzZWxlY3RlZE9wdGlvblt0aGlzLnRpdGxlUHJvcGVydHldLnRvU3RyaW5nKCk7XG4gICAgICAgIHRoaXMuc2VsZWN0SWNvbiA9IHNlbGVjdGVkT3B0aW9uW3RoaXMuaWNvblByb3BlcnR5XTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0VmFsdWUgPSB2YWx1ZSA/IHZhbHVlLnRvU3RyaW5nKCkgOiAnJztcbiAgICAgICAgdGhpcy5zZWxlY3RUaXRsZSA9IHZhbHVlID8gdmFsdWUudG9TdHJpbmcoKSA6ICcnO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucy5mb3JFYWNoKChvcHQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgaWYgKG9wdFt0aGlzLnZhbHVlUHJvcGVydHldID09PSB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RUaXRsZSA9IG9wdFt0aGlzLnRpdGxlUHJvcGVydHldLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdEljb24gPSBvcHRbdGhpcy5pY29uUHJvcGVydHldO1xuICAgICAgICAgICAgdGhpcy5mb2N1c2VkID0gaW5kZXg7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcbiAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLmNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIGhhbmRsZVJlc2V0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNob3dSZXNldCkge1xuICAgICAgdGhpcy51cGRhdGVWYWx1ZSgnJyk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IFtuZ1N0eWxlXT1cInt3aWR0aDogd2lkdGgsIGN1cnNvcjogJ3BvaW50ZXInfVwiPlxuICA8ZnctdGV4dC1pbnB1dFxuICAgIFtjZGtNZW51VHJpZ2dlckZvcl09XCJzZWxlY3RNZW51XCJcbiAgICBbdmFsdWVdPVwic2VsZWN0VGl0bGVcIlxuICAgIFtsZWZ0SWNvbl09XCJzZWxlY3RJY29uXCJcbiAgICBbcmlnaHRJY29uXT1cIihzZWxlY3RUaXRsZSYmc2hvd1Jlc2V0KT8nY2xvc2UtY2lyY2xlZCc6J2NoZXZyb24tZG93bidcIlxuICAgIChyaWdodEljb25BY3Rpb24pPVwiaGFuZGxlUmVzZXQoKVwiXG4gICAgW3VzZUFjdGlvbmFibGVJY29uc109XCJ0cnVlXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgKGtleXVwKT1cImhhbmRsZUtleVVwKCRldmVudClcIlxuICAgIChrZXlkb3duKT1cImhhbmRsZUtleURvd24oJGV2ZW50KVwiXG4gICAgcmVhZE9ubHk9XCJ0cnVlXCI+XG4gIDwvZnctdGV4dC1pbnB1dD5cbiAgPG5nLXRlbXBsYXRlICNzZWxlY3RNZW51PlxuICAgIDxmdy1tZW51LWNvbnRhaW5lciBbc2hvd0ZpbHRlcl09XCJzaG93RmlsdGVyXCIgW3dpZHRoXT1cIm9wdGlvbnNXaWR0aCB8fCB3aWR0aFwiIFttYXhIZWlnaHRdPVwibWF4T3B0aW9uc0hlaWdodFwiPlxuICAgICAgPGZ3LW1lbnVcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW3ZhbHVlXT1cInNlbGVjdFZhbHVlXCJcbiAgICAgICAgKGNoYW5nZSk9XCJoYW5kbGVDbGljaygkZXZlbnQpXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtZW51SXRlbXMubGVuZ3RoPT09MFwiPlxuICAgICAgICAgIDxmdy1tZW51LWl0ZW1cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIG9wdGlvbnNcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIml0ZW1bdGl0bGVQcm9wZXJ0eV0udG9TdHJpbmcoKVwiXG4gICAgICAgICAgICBbZGVzY3JpcHRpb25dPVwiaXRlbVtkZXNjcmlwdGlvblByb3BlcnR5XVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwiaXRlbVt2YWx1ZVByb3BlcnR5XS50b1N0cmluZygpXCJcbiAgICAgICAgICAgIFtpY29uXT1cIml0ZW1baWNvblByb3BlcnR5XVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvZnctbWVudS1pdGVtPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Z3LW1lbnUtaXRlbSwgZnctbWVudS1zZXBhcmF0b3JdXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9mdy1tZW51PlxuICAgIDwvZnctbWVudS1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
|
|
316
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc2VsZWN0LW1lbnUvc2VsZWN0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc2VsZWN0LW1lbnUvc2VsZWN0LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0RBQXdEO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBR0wsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7OztBQWM1RSxNQUFNLE9BQU8scUJBQXFCO0lBa0RoQyxZQUFzQixrQkFBcUM7UUFBckMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQXZDbEQsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUN2QixrQkFBYSxHQUFZLE9BQU8sQ0FBQztRQUNqQyxrQkFBYSxHQUFZLE9BQU8sQ0FBQztRQUNqQyxpQkFBWSxHQUFZLE1BQU0sQ0FBQztRQUMvQix3QkFBbUIsR0FBWSxhQUFhLENBQUM7UUFDN0MsZUFBVSxHQUFhLEtBQUssQ0FBQztRQUM3QixjQUFTLEdBQWEsS0FBSyxDQUFDO1FBQzVCLGFBQVEsR0FBYSxLQUFLLENBQUM7UUFDM0IsVUFBSyxHQUFXLE9BQU8sQ0FBQztRQUd4QixnQkFBVyxHQUFXLHFCQUFxQixDQUFDO1FBSXJELDREQUE0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c0JBQWYsTUFBTTtnQkFXSCxLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSAgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgQ2RrTWVudVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbWVudSc7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBGd01lbnVDb21wb25lbnQgfSBmcm9tICcuLi9tZW51L21lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IEZ3TWVudUl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9tZW51L21lbnUtaXRlbS9tZW51LWl0ZW0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LW1lbnUuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGd1NlbGVjdE1lbnVDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRndTZWxlY3RNZW51Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pIG91dHNpZGVDbGljayhldnQ6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9pc09wZW4gJiYgZXZ0Lm5vZGVOYW1lICE9PSAnSU5QVVQnKSB7XG4gICAgICB0aGlzLnRyaWdnZXIuY2xvc2UoKTtcbiAgICAgIHRoaXMuX2lzT3BlbiA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAodGhpcy50cmlnZ2VyICYmIHRoaXMudHJpZ2dlci5pc09wZW4oKSkge1xuICAgICAgdGhpcy5faXNPcGVuID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKSBvcHRpb25zOiBvYmplY3RbXSA9IFtdO1xuICBASW5wdXQoKSB2YWx1ZVByb3BlcnR5Pzogc3RyaW5nID0gJ3ZhbHVlJztcbiAgQElucHV0KCkgdGl0bGVQcm9wZXJ0eT86IHN0cmluZyA9ICd0aXRsZSc7XG4gIEBJbnB1dCgpIGljb25Qcm9wZXJ0eT86IHN0cmluZyA9ICdpY29uJztcbiAgQElucHV0KCkgZGVzY3JpcHRpb25Qcm9wZXJ0eT86IHN0cmluZyA9ICdkZXNjcmlwdGlvbic7XG4gIEBJbnB1dCgpIHNob3dGaWx0ZXI/OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dSZXNldD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzYWJsZWQ/OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgPSAnMjAwcHgnO1xuICBASW5wdXQoKSBvcHRpb25zV2lkdGg/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1heE9wdGlvbnNIZWlnaHQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnU2VsZWN0IHNvbWV0aGluZy4uLic7XG4gIEBWaWV3Q2hpbGQoQ2RrTWVudVRyaWdnZXIpIHRyaWdnZXI6IENka01lbnVUcmlnZ2VyO1xuICBAVmlld0NoaWxkKEZ3TWVudUNvbXBvbmVudCkgbWVudTogRndNZW51Q29tcG9uZW50O1xuICBAQ29udGVudENoaWxkcmVuKEZ3TWVudUl0ZW1Db21wb25lbnQpIG1lbnVJdGVtczogUXVlcnlMaXN0PEZ3TWVudUl0ZW1Db21wb25lbnQ+O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBzZWxlY3RWYWx1ZTogc3RyaW5nID0gJyc7XG4gIHNlbGVjdFRpdGxlOiBzdHJpbmcgPSAnJztcbiAgc2VsZWN0SWNvbjogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSBfaXNPcGVuID0gZmFsc2U7XG4gIGZvY3VzZWQgPSAwO1xuICBpbkZvY3VzT3BlbiA9IGZhbHNlO1xuICBwcmVGb2N1c1ZhbHVlOiBhbnk7XG5cbiAgQElucHV0KClcbiAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgc2V0IHZhbHVlKG5ld1ZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLl92YWx1ZVR5cGUgPSB0eXBlb2YgbmV3VmFsdWU7XG4gICAgdGhpcy51cGRhdGVWYWx1ZShuZXdWYWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIF92YWx1ZTogYW55O1xuICBwcml2YXRlIF92YWx1ZVR5cGU6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICB9XG5cbiAgb25DaGFuZ2U6ICh2YWx1ZTogYW55KSA9PiB2b2lkO1xuICBvblRvdWNoZWQgPSAoKTogdm9pZCA9PiB7XG4gIH07XG5cbiAgLyoqXG4gICAqIFNhdmVzIGEgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYmUgaW52b2tlZCB3aGVuIHRoZSBzZWxlY3QncyB2YWx1ZVxuICAgKiBjaGFuZ2VzIGZyb20gdXNlciBpbnB1dC4gUGFydCBvZiB0aGUgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXG4gICAqIHJlcXVpcmVkIHRvIGludGVncmF0ZSB3aXRoIEFuZ3VsYXIncyBjb3JlIGZvcm1zIEFQSS5cbiAgICpcbiAgICogQHBhcmFtIGZuIENhbGxiYWNrIHRvIGJlIHRyaWdnZXJlZCB3aGVuIHRoZSB2YWx1ZSBjaGFuZ2VzLlxuICAgKi9cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvKipcbiAgICogU2F2ZXMgYSBjYWxsYmFjayBmdW5jdGlvbiB0byBiZSBpbnZva2VkIHdoZW4gdGhlIHNlbGVjdCBpcyBibHVycmVkXG4gICAqIGJ5IHRoZSB1c2VyLiBQYXJ0IG9mIHRoZSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2UgcmVxdWlyZWRcbiAgICogdG8gaW50ZWdyYXRlIHdpdGggQW5ndWxhcidzIGNvcmUgZm9ybXMgQVBJLlxuICAgKlxuICAgKiBAcGFyYW0gZm4gQ2FsbGJhY2sgdG8gYmUgdHJpZ2dlcmVkIHdoZW4gdGhlIGNvbXBvbmVudCBoYXMgYmVlbiB0b3VjaGVkLlxuICAgKi9cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHt9KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNhYmxlcyB0aGUgc2VsZWN0LiBQYXJ0IG9mIHRoZSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2UgcmVxdWlyZWRcbiAgICogdG8gaW50ZWdyYXRlIHdpdGggQW5ndWxhcidzIGNvcmUgZm9ybXMgQVBJLlxuICAgKlxuICAgKiBAcGFyYW0gaXNEaXNhYmxlZCBTZXRzIHdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyBkaXNhYmxlZC5cbiAgICovXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHJ4LWFuZ3VsYXIvbm8tZXhwbGljaXQtY2hhbmdlLWRldGVjdGlvbi1hcGlzXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgc2VsZWN0J3MgdmFsdWUuIFBhcnQgb2YgdGhlIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZVxuICAgKiByZXF1aXJlZCB0byBpbnRlZ3JhdGUgd2l0aCBBbmd1bGFyJ3MgY29yZSBmb3JtcyBBUEkuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBOZXcgdmFsdWUgdG8gYmUgd3JpdHRlbiB0byB0aGUgbW9kZWwuXG4gICAqL1xuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHRoaXMuc3Vic2NyaXB0aW9ucykge1xuICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5vcHRpb25zIHx8ICh0aGlzLm9wdGlvbnMubGVuZ3RoID09PSAwICYmIHRoaXMubWVudUl0ZW1zICYmIHRoaXMubWVudUl0ZW1zLmxlbmd0aCA+IDApKSB7XG4gICAgICB0aGlzLm9wdGlvbnMgPSBbXTtcbiAgICAgIHRoaXMubWVudUl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIHRoaXMub3B0aW9ucy5wdXNoKHtcbiAgICAgICAgICB2YWx1ZTogaXRlbS52YWx1ZS50b1N0cmluZygpLFxuICAgICAgICAgIHRpdGxlOiBpdGVtLnRpdGxlLnRvU3RyaW5nKCksXG4gICAgICAgICAgaWNvbjogaXRlbS5pY29uLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBpdGVtLmRlc2NyaXB0aW9uLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3Qgc3ViID0gaXRlbS5jbGljay5zdWJzY3JpYmUodmFsdWUgPT4gdGhpcy5tZW51LndyaXRlVmFsdWUodmFsdWUpKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3ViKTtcbiAgICAgICAgaWYgKGl0ZW0udmFsdWUudG9TdHJpbmcoKSA9PT0gdGhpcy5zZWxlY3RWYWx1ZSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0VGl0bGUgPSBpdGVtLnRpdGxlLnRvU3RyaW5nKCk7XG4gICAgICAgICAgdGhpcy5zZWxlY3RJY29uID0gaXRlbS5pY29uO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVDbGljayhlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RWYWx1ZSAhPT0gZSkge1xuICAgICAgdGhpcy5vcHRpb25zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGlmIChpdGVtW3RoaXMudmFsdWVQcm9wZXJ0eV0udG9TdHJpbmcoKSA9PT0gZSkge1xuICAgICAgICAgIGlmICh0aGlzLl92YWx1ZVR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKGl0ZW0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKGl0ZW1bdGhpcy52YWx1ZVByb3BlcnR5XSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy50cmlnZ2VyLmNsb3NlKCk7XG4gIH1cblxuICBtb3ZlRm9jdXNlZChkaXJlY3Rpb246IHN0cmluZyk6IHZvaWQge1xuICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XG4gICAgICBjYXNlICdkb3duJzoge1xuICAgICAgICB0aGlzLmZvY3VzZWQrKztcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZCA+PSB0aGlzLm9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5mb2N1c2VkID0gMDtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3VwJzoge1xuICAgICAgICB0aGlzLmZvY3VzZWQtLTtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZCA8IDApIHtcbiAgICAgICAgICB0aGlzLmZvY3VzZWQgPSB0aGlzLm9wdGlvbnMubGVuZ3RoIC0gMTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgdGhpcy5mb2N1c2VkID0gMDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRyaWdnZXIuaXNPcGVuKCkpIHtcbiAgICAgIGlmICh0aGlzLmluRm9jdXNPcGVuKSB7XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICAgICAgdGhpcy5tb3ZlRm9jdXNlZCgnZG93bicpO1xuICAgICAgICAgIGlmICh0aGlzLl92YWx1ZVR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMub3B0aW9uc1t0aGlzLmZvY3VzZWRdKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLm9wdGlvbnNbdGhpcy5mb2N1c2VkXVt0aGlzLnZhbHVlUHJvcGVydHldKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnKSB7XG4gICAgICAgICAgdGhpcy5tb3ZlRm9jdXNlZCgndXAnKTtcbiAgICAgICAgICBpZiAodGhpcy5fdmFsdWVUeXBlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLm9wdGlvbnNbdGhpcy5mb2N1c2VkXSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy5vcHRpb25zW3RoaXMuZm9jdXNlZF1bdGhpcy52YWx1ZVByb3BlcnR5XSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdUYWInKSB7XG4gICAgICAgICAgdGhpcy50cmlnZ2VyLmNsb3NlKCk7XG4gICAgICAgICAgdGhpcy5pbkZvY3VzT3BlbiA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy5wcmVGb2N1c1ZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pbkZvY3VzT3BlbiA9IHRydWU7XG4gICAgICAgIHRoaXMucHJlRm9jdXNWYWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgdGhpcy5pbkZvY3VzT3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnByZUZvY3VzVmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUtleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMudHJpZ2dlci5pc09wZW4oKSkge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgdGhpcy50cmlnZ2VyLmNsb3NlKCk7XG4gICAgICAgIHRoaXMuaW5Gb2N1c09wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnByZUZvY3VzVmFsdWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5zaG93UmVzZXQpIHtcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgICB0aGlzLmhhbmRsZVJlc2V0KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIHVwZGF0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIGlmICh2YWx1ZSAmJiB0aGlzLl92YWx1ZVR5cGUgPT09ICdvYmplY3QnICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHRoaXMuc2VsZWN0VmFsdWUgPSB2YWx1ZVt0aGlzLnZhbHVlUHJvcGVydHldLnRvU3RyaW5nKCk7XG4gICAgICB0aGlzLnNlbGVjdFRpdGxlID0gdmFsdWVbdGhpcy50aXRsZVByb3BlcnR5XS50b1N0cmluZygpO1xuICAgICAgdGhpcy5zZWxlY3RJY29uID0gdmFsdWVbdGhpcy5pY29uUHJvcGVydHldO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgc2VsZWN0ZWRPcHRpb246IG9iamVjdDtcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmxlbmd0aCA+IDAgJiYgdGhpcy52YWx1ZVByb3BlcnR5ICYmIHRoaXMudmFsdWUpIHtcbiAgICAgICAgc2VsZWN0ZWRPcHRpb24gPSB0aGlzLm9wdGlvbnMuZmluZChvcHRpb24gPT4gb3B0aW9uW3RoaXMudmFsdWVQcm9wZXJ0eV0gPT09IHZhbHVlW3RoaXMudmFsdWVQcm9wZXJ0eV0pO1xuICAgICAgfVxuICAgICAgaWYgKHNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0VmFsdWUgPSBzZWxlY3RlZE9wdGlvblt0aGlzLnZhbHVlUHJvcGVydHldLnRvU3RyaW5nKCk7XG4gICAgICAgIHRoaXMuc2VsZWN0VGl0bGUgPSBzZWxlY3RlZE9wdGlvblt0aGlzLnRpdGxlUHJvcGVydHldLnRvU3RyaW5nKCk7XG4gICAgICAgIHRoaXMuc2VsZWN0SWNvbiA9IHNlbGVjdGVkT3B0aW9uW3RoaXMuaWNvblByb3BlcnR5XTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0VmFsdWUgPSB2YWx1ZSA/IHZhbHVlLnRvU3RyaW5nKCkgOiAnJztcbiAgICAgICAgdGhpcy5zZWxlY3RUaXRsZSA9IHZhbHVlID8gdmFsdWUudG9TdHJpbmcoKSA6ICcnO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucy5mb3JFYWNoKChvcHQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgaWYgKG9wdFt0aGlzLnZhbHVlUHJvcGVydHldID09PSB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RUaXRsZSA9IG9wdFt0aGlzLnRpdGxlUHJvcGVydHldLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdEljb24gPSBvcHRbdGhpcy5pY29uUHJvcGVydHldO1xuICAgICAgICAgICAgdGhpcy5mb2N1c2VkID0gaW5kZXg7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcbiAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLmNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIGhhbmRsZVJlc2V0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNob3dSZXNldCkge1xuICAgICAgaWYgKHRoaXMuX3ZhbHVlVHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoJycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBbbmdTdHlsZV09XCJ7d2lkdGg6IHdpZHRoLCBjdXJzb3I6ICdwb2ludGVyJ31cIj5cbiAgPGZ3LXRleHQtaW5wdXRcbiAgICBbY2RrTWVudVRyaWdnZXJGb3JdPVwic2VsZWN0TWVudVwiXG4gICAgW3ZhbHVlXT1cInNlbGVjdFRpdGxlXCJcbiAgICBbbGVmdEljb25dPVwic2VsZWN0SWNvblwiXG4gICAgW3JpZ2h0SWNvbl09XCIoc2VsZWN0VGl0bGUmJnNob3dSZXNldCk/J2Nsb3NlLWNpcmNsZWQnOidjaGV2cm9uLWRvd24nXCJcbiAgICAocmlnaHRJY29uQWN0aW9uKT1cImhhbmRsZVJlc2V0KClcIlxuICAgIFt1c2VBY3Rpb25hYmxlSWNvbnNdPVwidHJ1ZVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIChrZXl1cCk9XCJoYW5kbGVLZXlVcCgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bik9XCJoYW5kbGVLZXlEb3duKCRldmVudClcIlxuICAgIHJlYWRPbmx5PVwidHJ1ZVwiPlxuICA8L2Z3LXRleHQtaW5wdXQ+XG4gIDxuZy10ZW1wbGF0ZSAjc2VsZWN0TWVudT5cbiAgICA8ZnctbWVudS1jb250YWluZXIgW3Nob3dGaWx0ZXJdPVwic2hvd0ZpbHRlclwiIFt3aWR0aF09XCJvcHRpb25zV2lkdGggfHwgd2lkdGhcIiBbbWF4SGVpZ2h0XT1cIm1heE9wdGlvbnNIZWlnaHRcIj5cbiAgICAgIDxmdy1tZW51XG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFt2YWx1ZV09XCJzZWxlY3RWYWx1ZVwiXG4gICAgICAgIChjaGFuZ2UpPVwiaGFuZGxlQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWVudUl0ZW1zLmxlbmd0aD09PTBcIj5cbiAgICAgICAgICA8ZnctbWVudS1pdGVtXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBvcHRpb25zXCJcbiAgICAgICAgICAgIFt0aXRsZV09XCJpdGVtW3RpdGxlUHJvcGVydHldLnRvU3RyaW5nKClcIlxuICAgICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cIml0ZW1bZGVzY3JpcHRpb25Qcm9wZXJ0eV1cIlxuICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW1bdmFsdWVQcm9wZXJ0eV0udG9TdHJpbmcoKVwiXG4gICAgICAgICAgICBbaWNvbl09XCJpdGVtW2ljb25Qcm9wZXJ0eV1cIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L2Z3LW1lbnUtaXRlbT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmdy1tZW51LWl0ZW0sIGZ3LW1lbnUtc2VwYXJhdG9yXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZnctbWVudT5cbiAgICA8L2Z3LW1lbnUtY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "../form-heading/form-heading.component";
|
|
5
|
+
export class FwWrappedInputComponent {
|
|
6
|
+
get classes() {
|
|
7
|
+
return [
|
|
8
|
+
'fw-wrapped-input',
|
|
9
|
+
].join(' ');
|
|
10
|
+
}
|
|
11
|
+
;
|
|
12
|
+
}
|
|
13
|
+
FwWrappedInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwWrappedInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
+
FwWrappedInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwWrappedInputComponent, selector: "fw-wrapped-input", inputs: { title: "title", description: "description" }, host: { properties: { "attr.class": "this.classes" } }, ngImport: i0, template: "<label>\n <fw-form-heading *ngIf=\"title\" [title]=\"title\" [description]=\"description\"></fw-form-heading>\n <ng-content select=\"fw-form-heading\"></ng-content>\n</label>\n<div class=\"input-wrapper\">\n <ng-content\n select=\"fw-button-toggle, fw-date-input, fw-text-input, fw-phone-input, fw-textarea-input, fw-select, fw-multi-select\"></ng-content>\n</div>\n", styles: [".fw-wrapped-input{display:flex;flex-direction:column;flex:1}.fw-wrapped-input .input-wrapper{display:flex;flex-direction:row;flex:1;gap:16px}.fw-wrapped-input .input-wrapper>*{flex:1}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FwFormHeadingComponent, selector: "fw-form-heading", inputs: ["title", "description", "status"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwWrappedInputComponent, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{ selector: 'fw-wrapped-input', encapsulation: ViewEncapsulation.None, template: "<label>\n <fw-form-heading *ngIf=\"title\" [title]=\"title\" [description]=\"description\"></fw-form-heading>\n <ng-content select=\"fw-form-heading\"></ng-content>\n</label>\n<div class=\"input-wrapper\">\n <ng-content\n select=\"fw-button-toggle, fw-date-input, fw-text-input, fw-phone-input, fw-textarea-input, fw-select, fw-multi-select\"></ng-content>\n</div>\n", styles: [".fw-wrapped-input{display:flex;flex-direction:column;flex:1}.fw-wrapped-input .input-wrapper{display:flex;flex-direction:row;flex:1;gap:16px}.fw-wrapped-input .input-wrapper>*{flex:1}\n"] }]
|
|
18
|
+
}], propDecorators: { title: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}], description: [{
|
|
21
|
+
type: Input
|
|
22
|
+
}], classes: [{
|
|
23
|
+
type: HostBinding,
|
|
24
|
+
args: ['attr.class']
|
|
25
|
+
}] } });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JhcHBlZC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy93cmFwcGVkLWlucHV0L3dyYXBwZWQtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvd3JhcHBlZC1pbnB1dC93cmFwcGVkLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVFqRixNQUFNLE9BQU8sdUJBQXVCO0lBSWhDLElBQStCLE9BQU87UUFDbEMsT0FBTztZQUNILGtCQUFrQjtTQUNyQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBQUEsQ0FBQzs7b0hBUk8sdUJBQXVCO3dHQUF2Qix1QkFBdUIsd0tDUnBDLG9ZQVFBOzJGREFhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDSSxrQkFBa0IsaUJBR2IsaUJBQWlCLENBQUMsSUFBSTs4QkFHNUIsS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRXlCLE9BQU87c0JBQXJDLFdBQVc7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2Z3LXdyYXBwZWQtaW5wdXQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi93cmFwcGVkLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi93cmFwcGVkLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRndXcmFwcGVkSW5wdXRDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuY2xhc3MnKSBnZXQgY2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgJ2Z3LXdyYXBwZWQtaW5wdXQnLFxuICAgICAgICBdLmpvaW4oJyAnKTtcbiAgICB9O1xufVxuXG5cbiIsIjxsYWJlbD5cbiAgICA8ZnctZm9ybS1oZWFkaW5nICpuZ0lmPVwidGl0bGVcIiBbdGl0bGVdPVwidGl0bGVcIiBbZGVzY3JpcHRpb25dPVwiZGVzY3JpcHRpb25cIj48L2Z3LWZvcm0taGVhZGluZz5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1mb3JtLWhlYWRpbmdcIj48L25nLWNvbnRlbnQ+XG48L2xhYmVsPlxuPGRpdiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIj5cbiAgICA8bmctY29udGVudFxuICAgICAgICAgICAgc2VsZWN0PVwiZnctYnV0dG9uLXRvZ2dsZSwgZnctZGF0ZS1pbnB1dCwgZnctdGV4dC1pbnB1dCwgZnctcGhvbmUtaW5wdXQsIGZ3LXRleHRhcmVhLWlucHV0LCBmdy1zZWxlY3QsIGZ3LW11bHRpLXNlbGVjdFwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { FwFormHeadingModule } from '../form-heading/form-heading.module';
|
|
4
|
+
import { FwWrappedInputComponent } from './wrapped-input.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class FwWrappedInputModule {
|
|
7
|
+
}
|
|
8
|
+
FwWrappedInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwWrappedInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
FwWrappedInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: FwWrappedInputModule, declarations: [FwWrappedInputComponent], imports: [CommonModule,
|
|
10
|
+
FwFormHeadingModule], exports: [FwWrappedInputComponent] });
|
|
11
|
+
FwWrappedInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwWrappedInputModule, imports: [CommonModule,
|
|
12
|
+
FwFormHeadingModule] });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwWrappedInputModule, decorators: [{
|
|
14
|
+
type: NgModule,
|
|
15
|
+
args: [{
|
|
16
|
+
imports: [
|
|
17
|
+
CommonModule,
|
|
18
|
+
FwFormHeadingModule,
|
|
19
|
+
],
|
|
20
|
+
exports: [
|
|
21
|
+
FwWrappedInputComponent,
|
|
22
|
+
],
|
|
23
|
+
declarations: [
|
|
24
|
+
FwWrappedInputComponent,
|
|
25
|
+
],
|
|
26
|
+
}]
|
|
27
|
+
}] });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JhcHBlZC1pbnB1dC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy93cmFwcGVkLWlucHV0L3dyYXBwZWQtaW5wdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQWNwRSxNQUFNLE9BQU8sb0JBQW9COztpSEFBcEIsb0JBQW9CO2tIQUFwQixvQkFBb0IsaUJBSDdCLHVCQUF1QixhQVB2QixZQUFZO1FBQ1osbUJBQW1CLGFBR25CLHVCQUF1QjtrSEFNZCxvQkFBb0IsWUFWN0IsWUFBWTtRQUNaLG1CQUFtQjsyRkFTVixvQkFBb0I7a0JBWmhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsdUJBQXVCO3FCQUN4QjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osdUJBQXVCO3FCQUN4QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGd0Zvcm1IZWFkaW5nTW9kdWxlIH0gZnJvbSAnLi4vZm9ybS1oZWFkaW5nL2Zvcm0taGVhZGluZy5tb2R1bGUnO1xuaW1wb3J0IHsgRndXcmFwcGVkSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3dyYXBwZWQtaW5wdXQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGd0Zvcm1IZWFkaW5nTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRndXcmFwcGVkSW5wdXRDb21wb25lbnQsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEZ3V3JhcHBlZElucHV0Q29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGd1dyYXBwZWRJbnB1dE1vZHVsZSB7XG59XG4iXX0=
|