igniteui-angular 12.2.6 → 12.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/LICENSE +16 -0
  2. package/README.md +12 -11
  3. package/bundles/igniteui-angular.umd.js +1810 -1419
  4. package/bundles/igniteui-angular.umd.js.map +1 -1
  5. package/esm2015/igniteui-angular.js +97 -97
  6. package/esm2015/lib/accordion/accordion.component.js +23 -6
  7. package/esm2015/lib/combo/combo-dropdown.component.js +9 -4
  8. package/esm2015/lib/combo/combo-item.component.js +4 -3
  9. package/esm2015/lib/combo/combo.api.js +3 -3
  10. package/esm2015/lib/combo/combo.common.js +1016 -2
  11. package/esm2015/lib/combo/combo.component.js +91 -1135
  12. package/esm2015/lib/combo/combo.pipes.js +3 -3
  13. package/esm2015/lib/data-operations/sorting-strategy.js +12 -3
  14. package/esm2015/lib/grids/filtering/base/grid-filtering-row.component.js +12 -4
  15. package/esm2015/lib/grids/filtering/excel-style/excel-style-date-expression.component.js +2 -2
  16. package/esm2015/lib/grids/filtering/excel-style/grid.excel-style-filtering.component.js +2 -2
  17. package/esm2015/lib/grids/grid-base.directive.js +2 -2
  18. package/esm2015/lib/grids/tree-grid/tree-grid.component.js +3 -3
  19. package/esm2015/lib/simple-combo/public_api.js +2 -0
  20. package/esm2015/lib/simple-combo/simple-combo.component.js +390 -0
  21. package/esm2015/public_api.js +2 -1
  22. package/fesm2015/igniteui-angular.js +1373 -1002
  23. package/fesm2015/igniteui-angular.js.map +1 -1
  24. package/igniteui-angular.d.ts +96 -96
  25. package/igniteui-angular.metadata.json +1 -1
  26. package/lib/accordion/accordion.component.d.ts +1 -0
  27. package/lib/combo/combo-dropdown.component.d.ts +2 -0
  28. package/lib/combo/combo-item.component.d.ts +2 -0
  29. package/lib/combo/combo.common.d.ts +730 -4
  30. package/lib/combo/combo.component.d.ts +38 -791
  31. package/lib/combo/combo.pipes.d.ts +1 -1
  32. package/lib/simple-combo/public_api.d.ts +1 -0
  33. package/lib/simple-combo/simple-combo.component.d.ts +126 -0
  34. package/migrations/update-13_0_0/changes/members.json +26 -0
  35. package/package.json +1 -1
  36. package/public_api.d.ts +1 -0
  37. package/schematics/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,390 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectorRef, Component, ElementRef, EventEmitter, HostListener, Inject, Injector, NgModule, Optional, Output, ViewChild } from '@angular/core';
3
+ import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
4
+ import { takeUntil } from 'rxjs/operators';
5
+ import { IgxCheckboxModule } from '../checkbox/checkbox.component';
6
+ import { IgxComboAddItemComponent } from '../combo/combo-add-item.component';
7
+ import { IgxComboDropDownComponent } from '../combo/combo-dropdown.component';
8
+ import { IgxComboAPIService } from '../combo/combo.api';
9
+ import { IgxComboBaseDirective, IGX_COMBO_COMPONENT } from '../combo/combo.common';
10
+ import { IgxComboModule } from '../combo/combo.component';
11
+ import { DisplayDensityToken } from '../core/displayDensity';
12
+ import { IgxSelectionAPIService } from '../core/selection';
13
+ import { PlatformUtil } from '../core/utils';
14
+ import { IgxButtonModule } from '../directives/button/button.directive';
15
+ import { IgxForOfModule } from '../directives/for-of/for_of.directive';
16
+ import { IgxRippleModule } from '../directives/ripple/ripple.directive';
17
+ import { IgxTextSelectionDirective, IgxTextSelectionModule } from '../directives/text-selection/text-selection.directive';
18
+ import { IgxToggleModule } from '../directives/toggle/toggle.directive';
19
+ import { IgxDropDownModule } from '../drop-down/public_api';
20
+ import { IgxIconModule, IgxIconService } from '../icon/public_api';
21
+ import { IgxInputGroupModule, IGX_INPUT_GROUP_TYPE } from '../input-group/public_api';
22
+ /**
23
+ * Represents a drop-down list that provides filtering functionality, allowing users to choose a single option from a predefined list.
24
+ *
25
+ * @igxModule IgxSimpleComboModule
26
+ * @igxTheme igx-combo-theme
27
+ * @igxKeywords combobox, single combo selection
28
+ * @igxGroup Grids & Lists
29
+ *
30
+ * @remarks
31
+ * It provides the ability to filter items as well as perform single selection on the provided data.
32
+ * Additionally, it exposes keyboard navigation and custom styling capabilities.
33
+ * @example
34
+ * ```html
35
+ * <igx-simple-combo [itemsMaxHeight]="250" [data]="locationData"
36
+ * [displayKey]="'field'" [valueKey]="'field'"
37
+ * placeholder="Location" searchPlaceholder="Search...">
38
+ * </igx-simple-combo>
39
+ * ```
40
+ */
41
+ export class IgxSimpleComboComponent extends IgxComboBaseDirective {
42
+ constructor(elementRef, cdr, selectionService, comboAPI, _iconService, platformUtil, _displayDensityOptions, _inputGroupType, _injector) {
43
+ super(elementRef, cdr, selectionService, comboAPI, _iconService, _displayDensityOptions, _inputGroupType, _injector);
44
+ this.elementRef = elementRef;
45
+ this.cdr = cdr;
46
+ this.selectionService = selectionService;
47
+ this.comboAPI = comboAPI;
48
+ this._iconService = _iconService;
49
+ this.platformUtil = platformUtil;
50
+ this._displayDensityOptions = _displayDensityOptions;
51
+ this._inputGroupType = _inputGroupType;
52
+ this._injector = _injector;
53
+ /**
54
+ * Emitted when item selection is changing, before the selection completes
55
+ *
56
+ * ```html
57
+ * <igx-simple-combo (selectionChanging)='handleSelection()'></igx-simple-combo>
58
+ * ```
59
+ */
60
+ this.selectionChanging = new EventEmitter();
61
+ /** @hidden @internal */
62
+ this.composing = false;
63
+ this._updateInput = true;
64
+ this.findMatch = (element) => {
65
+ const value = this.displayKey ? element[this.displayKey] : element;
66
+ return value.toString().toLowerCase().includes(this.searchValue.trim().toLowerCase());
67
+ };
68
+ this.comboAPI.register(this);
69
+ }
70
+ /** @hidden @internal */
71
+ get filteredData() {
72
+ return this._filteredData;
73
+ }
74
+ /** @hidden @internal */
75
+ set filteredData(val) {
76
+ this._filteredData = this.groupKey ? (val || []).filter((e) => e.isHeader !== true) : val;
77
+ this.checkMatch();
78
+ }
79
+ /** @hidden @internal */
80
+ onArrowDown(event) {
81
+ if (this.collapsed) {
82
+ event.preventDefault();
83
+ event.stopPropagation();
84
+ this.open();
85
+ }
86
+ else {
87
+ if (this.virtDir.igxForOf.length > 0) {
88
+ this.dropdown.navigateFirst();
89
+ this.dropdownContainer.nativeElement.focus();
90
+ }
91
+ else if (this.allowCustomValues) {
92
+ this.addItem.element.nativeElement.focus();
93
+ }
94
+ }
95
+ }
96
+ /**
97
+ * Select a defined item
98
+ *
99
+ * @param item the item to be selected
100
+ * ```typescript
101
+ * this.combo.select("New York");
102
+ * ```
103
+ */
104
+ select(item) {
105
+ if (item !== null && item !== undefined) {
106
+ const newSelection = this.selectionService.add_items(this.id, item instanceof Array ? item : [item], true);
107
+ this.setSelection(newSelection);
108
+ }
109
+ }
110
+ /**
111
+ * Deselect the currently selected item
112
+ *
113
+ * @param item the items to be deselected
114
+ * ```typescript
115
+ * this.combo.deselect("New York");
116
+ * ```
117
+ */
118
+ deselect() {
119
+ this.clearSelection();
120
+ }
121
+ /** @hidden @internal */
122
+ writeValue(value) {
123
+ const oldSelection = this.selection;
124
+ this.selectionService.select_items(this.id, value ? [value] : [], true);
125
+ this.cdr.markForCheck();
126
+ this._value = this.createDisplayText(this.selection, oldSelection);
127
+ }
128
+ /** @hidden @internal */
129
+ ngAfterViewInit() {
130
+ this.virtDir.contentSizeChange.pipe(takeUntil(this.destroy$)).subscribe(() => {
131
+ if (this.selection.length > 0) {
132
+ const index = this.virtDir.igxForOf.findIndex(e => {
133
+ let current = e[this.valueKey];
134
+ if (this.valueKey === null || this.valueKey === undefined) {
135
+ current = e;
136
+ }
137
+ return current === this.selection[0];
138
+ });
139
+ this.dropdown.navigateItem(index);
140
+ }
141
+ });
142
+ this.dropdown.opened.pipe(takeUntil(this.destroy$)).subscribe(() => {
143
+ if (this.composing) {
144
+ this.comboInput.focus();
145
+ }
146
+ });
147
+ this.dropdown.closing.pipe(takeUntil(this.destroy$)).subscribe((args) => {
148
+ if (this.getEditElement() && !args.event) {
149
+ this.comboInput.focus();
150
+ }
151
+ else {
152
+ this.clearOnBlur();
153
+ this._onTouchedCallback();
154
+ }
155
+ });
156
+ super.ngAfterViewInit();
157
+ }
158
+ /** @hidden @internal */
159
+ handleInputChange(event) {
160
+ this.searchValue = event.target.value;
161
+ this._onChangeCallback(this.searchValue);
162
+ if (this.collapsed && this.comboInput.focused) {
163
+ this.open();
164
+ this.dropdown.navigateFirst();
165
+ }
166
+ if (!this.comboInput.value.trim()) {
167
+ // handle clearing of input by space
168
+ this.clearSelection();
169
+ this._onChangeCallback(null);
170
+ }
171
+ super.handleInputChange(event);
172
+ this.composing = true;
173
+ }
174
+ /** @hidden @internal */
175
+ handleKeyDown(event) {
176
+ if (event.key === this.platformUtil.KEYMAP.ENTER) {
177
+ const filtered = this.filteredData.find(this.findMatch);
178
+ if (filtered === null || filtered === undefined) {
179
+ return;
180
+ }
181
+ this.select(this.dropdown.focusedItem.itemID);
182
+ event.preventDefault();
183
+ event.stopPropagation();
184
+ this.close();
185
+ // manually trigger text selection as it will not be triggered during editing
186
+ this.textSelection.trigger();
187
+ return;
188
+ }
189
+ if (event.key === this.platformUtil.KEYMAP.BACKSPACE
190
+ || event.key === this.platformUtil.KEYMAP.DELETE) {
191
+ this._updateInput = false;
192
+ this.clearSelection();
193
+ }
194
+ if (!this.collapsed && event.key === this.platformUtil.KEYMAP.TAB) {
195
+ this.close();
196
+ this.clearOnBlur();
197
+ }
198
+ this.composing = false;
199
+ super.handleKeyDown(event);
200
+ }
201
+ /** @hidden @internal */
202
+ handleKeyUp(event) {
203
+ if (event.key === this.platformUtil.KEYMAP.ARROW_DOWN) {
204
+ const firstItem = this.selectionService.first_item(this.id);
205
+ this.dropdown.focusedItem = firstItem && this.filteredData.length > 0
206
+ ? this.dropdown.items.find(i => i.itemID === firstItem)
207
+ : this.dropdown.items[0];
208
+ this.dropdownContainer.nativeElement.focus();
209
+ }
210
+ }
211
+ /** @hidden @internal */
212
+ handleItemKeyDown(event) {
213
+ if (event.key === this.platformUtil.KEYMAP.ARROW_UP && event.altKey) {
214
+ this.close();
215
+ this.comboInput.focus();
216
+ return;
217
+ }
218
+ if (event.key === this.platformUtil.KEYMAP.ENTER) {
219
+ this.comboInput.focus();
220
+ }
221
+ }
222
+ /** @hidden @internal */
223
+ handleItemClick() {
224
+ this.close();
225
+ this.comboInput.focus();
226
+ }
227
+ /** @hidden @internal */
228
+ onBlur() {
229
+ if (this.collapsed) {
230
+ this.clearOnBlur();
231
+ }
232
+ super.onBlur();
233
+ }
234
+ /** @hidden @internal */
235
+ getEditElement() {
236
+ return this.comboInput.nativeElement;
237
+ }
238
+ /** @hidden @internal */
239
+ handleClear(event) {
240
+ if (this.disabled) {
241
+ return;
242
+ }
243
+ this.clearSelection(true);
244
+ if (this.collapsed) {
245
+ this.open();
246
+ this.dropdown.navigateFirst();
247
+ }
248
+ else {
249
+ this.focusSearchInput(true);
250
+ }
251
+ event.stopPropagation();
252
+ this.comboInput.value = this.filterValue = this.searchValue = '';
253
+ this.dropdown.focusedItem = null;
254
+ this.composing = false;
255
+ this.comboInput.focus();
256
+ }
257
+ /** @hidden @internal */
258
+ handleOpened() {
259
+ this.triggerCheck();
260
+ this.dropdownContainer.nativeElement.focus();
261
+ this.opened.emit({ owner: this });
262
+ }
263
+ /** @hidden @internal */
264
+ handleClosing(e) {
265
+ const args = { owner: this, event: e.event, cancel: e.cancel };
266
+ this.closing.emit(args);
267
+ e.cancel = args.cancel;
268
+ if (e.cancel) {
269
+ return;
270
+ }
271
+ this.composing = false;
272
+ // explicitly update selection and trigger text selection so that we don't have to force CD
273
+ this.textSelection.selected = true;
274
+ this.textSelection.trigger();
275
+ }
276
+ /** @hidden @internal */
277
+ focusSearchInput(opening) {
278
+ if (opening) {
279
+ this.dropdownContainer.nativeElement.focus();
280
+ }
281
+ else {
282
+ this.comboInput.nativeElement.focus();
283
+ this.toggle();
284
+ }
285
+ }
286
+ /** @hidden @internal */
287
+ onClick(event) {
288
+ super.onClick(event);
289
+ if (this.comboInput.value.length === 0) {
290
+ this.virtDir.scrollTo(0);
291
+ }
292
+ }
293
+ setSelection(newSelection) {
294
+ const newSelectionAsArray = newSelection ? Array.from(newSelection) : [];
295
+ const oldSelectionAsArray = Array.from(this.selectionService.get(this.id) || []);
296
+ const displayText = this.createDisplayText(newSelectionAsArray, oldSelectionAsArray);
297
+ const args = {
298
+ newSelection: newSelectionAsArray[0],
299
+ oldSelection: oldSelectionAsArray[0],
300
+ displayText,
301
+ owner: this,
302
+ cancel: false
303
+ };
304
+ this.selectionChanging.emit(args);
305
+ if (!args.cancel) {
306
+ const argsSelection = args.newSelection !== undefined
307
+ && args.newSelection !== null
308
+ ? [args.newSelection]
309
+ : [];
310
+ this.selectionService.select_items(this.id, argsSelection, true);
311
+ if (this._updateInput) {
312
+ this.comboInput.value = this._value = displayText !== args.displayText
313
+ ? args.displayText
314
+ : this.createDisplayText(argsSelection, [args.oldSelection]);
315
+ }
316
+ this._onChangeCallback(args.newSelection);
317
+ this._updateInput = true;
318
+ }
319
+ }
320
+ createDisplayText(newSelection, oldSelection) {
321
+ if (this.isRemote) {
322
+ return this.getRemoteSelection(newSelection, oldSelection);
323
+ }
324
+ if (this.displayKey !== null && this.displayKey !== undefined
325
+ && newSelection.length > 0) {
326
+ return this.convertKeysToItems(newSelection).map(e => e[this.displayKey])[0];
327
+ }
328
+ return newSelection[0] || '';
329
+ }
330
+ clearSelection(ignoreFilter) {
331
+ let newSelection = this.selectionService.get_empty();
332
+ if (this.filteredData.length !== this.data.length && !ignoreFilter) {
333
+ newSelection = this.selectionService.delete_items(this.id, this.selectionService.get_all_ids(this.filteredData, this.valueKey));
334
+ }
335
+ this.setSelection(newSelection);
336
+ }
337
+ clearOnBlur() {
338
+ const filtered = this.filteredData.find(this.findMatch);
339
+ if ((filtered === undefined || filtered === null)) {
340
+ this.close();
341
+ this.clearSelection();
342
+ this.searchValue = '';
343
+ }
344
+ }
345
+ }
346
+ IgxSimpleComboComponent.decorators = [
347
+ { type: Component, args: [{
348
+ selector: 'igx-simple-combo',
349
+ template: "<igx-input-group #inputGroup [displayDensity]=\"displayDensity\" [suppressInputAutofocus]=\"true\" [type]=\"type\">\n <ng-container ngProjectAs=\"[igxLabel]\">\n <ng-content select=\"[igxLabel]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-prefix\">\n <ng-content select=\"igx-prefix\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-hint, [igxHint]\">\n <ng-content select=\"igx-hint, [igxHint]\"></ng-content>\n </ng-container>\n\n <input #comboInput igxInput [value]=\"value\" (input)=\"handleInputChange($event)\" (keyup)=\"handleKeyUp($event)\"\n (keydown)=\"handleKeyDown($event)\" (blur)=\"onBlur()\" [attr.placeholder]=\"placeholder\" aria-autocomplete=\"both\"\n [attr.aria-owns]=\"dropdown.id\" [attr.aria-labelledby]=\"ariaLabelledBy\" [disabled]=\"disabled\"\n [igxTextSelection]=\"!composing\" />\n\n <ng-container ngProjectAs=\"igx-suffix\">\n <ng-content select=\"igx-suffix\"></ng-content>\n </ng-container>\n <igx-suffix *ngIf=\"comboInput.value.length\" aria-label=\"Clear Selection\" class=\"igx-combo__clear-button\"\n (click)=\"handleClear($event)\">\n <ng-container *ngIf=\"clearIconTemplate\">\n <ng-container *ngTemplateOutlet=\"clearIconTemplate\"></ng-container>\n </ng-container>\n <igx-icon *ngIf=\"!clearIconTemplate\">\n clear\n </igx-icon>\n </igx-suffix>\n <igx-suffix *ngIf=\"showSearchCaseIcon\">\n <igx-icon family=\"imx-icons\" name=\"case-sensitive\" [active]=\"filteringOptions.caseSensitive\"\n (click)=\"toggleCaseSensitive()\">\n </igx-icon>\n </igx-suffix>\n <igx-suffix class=\"igx-combo__toggle-button\">\n <ng-container *ngIf=\"toggleIconTemplate\">\n <ng-container *ngTemplateOutlet=\"toggleIconTemplate; context: {$implicit: collapsed}\"></ng-container>\n </ng-container>\n <igx-icon (click)=\"onClick($event)\" *ngIf=\"!toggleIconTemplate\">\n {{ dropdown.collapsed ? 'arrow_drop_down' : 'arrow_drop_up'}}\n </igx-icon>\n </igx-suffix>\n</igx-input-group>\n\n<igx-combo-drop-down #igxComboDropDown class=\"igx-combo__drop-down\" [displayDensity]=\"displayDensity\"\n [width]=\"itemsWidth || '100%'\" (opening)=\"handleOpening($event)\" (closing)=\"handleClosing($event)\"\n (opened)=\"handleOpened()\" (closed)=\"handleClosed()\" [singleMode]=\"true\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\">\n </ng-container>\n <div #dropdownItemContainer class=\"igx-combo__content\" [style.overflow]=\"'hidden'\"\n [style.maxHeight.px]=\"itemsMaxHeight\" [igxDropDownItemNavigation]=\"dropdown\" (focus)=\"dropdown.onFocus()\"\n [tabindex]=\"dropdown.collapsed ? -1 : 0\" role=\"listbox\" [attr.id]=\"dropdown.id\"\n (keydown)=\"handleItemKeyDown($event)\">\n <igx-combo-item role=\"option\" [singleMode]=\"true\" [itemHeight]='itemHeight' (click)=\"handleItemClick()\" *igxFor=\"let item of data\n | comboFiltering:filterValue:displayKey:filteringOptions:true\n | comboGrouping:groupKey:valueKey\n index as rowIndex; containerSize: itemsMaxHeight; scrollOrientation: 'vertical'; itemSize: itemHeight\"\n [value]=\"item\" [isHeader]=\"item.isHeader\" [index]=\"rowIndex\">\n <ng-container *ngIf=\"item.isHeader\">\n <ng-container\n *ngTemplateOutlet=\"headerItemTemplate ? headerItemTemplate : headerItemBase;\n context: {$implicit: item, data: data, valueKey: valueKey, groupKey: groupKey, displayKey: displayKey}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!item.isHeader\">\n <ng-container #listItem\n *ngTemplateOutlet=\"template; context: {$implicit: item, data: data, valueKey: valueKey, displayKey: displayKey};\">\n </ng-container>\n </ng-container>\n </igx-combo-item>\n </div>\n\n <div class=\"igx-combo__add\" *ngIf=\"filteredData.length === 0 || isAddButtonVisible()\">\n <div class=\"igx-combo__empty\" *ngIf=\"filteredData.length === 0\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate ? emptyTemplate : empty\">\n </ng-container>\n </div>\n <igx-combo-add-item #addItem [itemHeight]=\"itemHeight\" *ngIf=\"isAddButtonVisible()\"\n [tabindex]=\"dropdown.collapsed ? -1 : customValueFlag ? 1 : -1\" class=\"igx-combo__add-item\" role=\"button\"\n aria-label=\"Add Item\" [index]=\"virtualScrollContainer.igxForOf.length\">\n <ng-container *ngTemplateOutlet=\"addItemTemplate ? addItemTemplate : addItemDefault\">\n </ng-container>\n </igx-combo-add-item>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate\">\n </ng-container>\n</igx-combo-drop-down>\n\n<ng-template #complex let-display let-data=\"data\" let-key=\"displayKey\">\n {{display[key]}}\n</ng-template>\n<ng-template #primitive let-display>\n {{display}}\n</ng-template>\n<ng-template #empty>\n <span>The list is empty</span>\n</ng-template>\n<ng-template #addItemDefault let-control>\n <button igxButton=\"flat\" igxRipple>Add item</button>\n</ng-template>\n<ng-template #headerItemBase let-item let-key=\"valueKey\" let-groupKey=\"groupKey\">\n {{ item[key] }}\n</ng-template>\n",
350
+ providers: [
351
+ IgxComboAPIService,
352
+ { provide: IGX_COMBO_COMPONENT, useExisting: IgxSimpleComboComponent },
353
+ { provide: NG_VALUE_ACCESSOR, useExisting: IgxSimpleComboComponent, multi: true }
354
+ ]
355
+ },] }
356
+ ];
357
+ IgxSimpleComboComponent.ctorParameters = () => [
358
+ { type: ElementRef },
359
+ { type: ChangeDetectorRef },
360
+ { type: IgxSelectionAPIService },
361
+ { type: IgxComboAPIService },
362
+ { type: IgxIconService },
363
+ { type: PlatformUtil },
364
+ { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DisplayDensityToken,] }] },
365
+ { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [IGX_INPUT_GROUP_TYPE,] }] },
366
+ { type: Injector, decorators: [{ type: Optional }] }
367
+ ];
368
+ IgxSimpleComboComponent.propDecorators = {
369
+ dropdown: [{ type: ViewChild, args: [IgxComboDropDownComponent, { static: true },] }],
370
+ addItem: [{ type: ViewChild, args: [IgxComboAddItemComponent,] }],
371
+ selectionChanging: [{ type: Output }],
372
+ textSelection: [{ type: ViewChild, args: [IgxTextSelectionDirective, { static: true },] }],
373
+ onArrowDown: [{ type: HostListener, args: ['keydown.ArrowDown', ['$event'],] }, { type: HostListener, args: ['keydown.Alt.ArrowDown', ['$event'],] }]
374
+ };
375
+ export class IgxSimpleComboModule {
376
+ }
377
+ IgxSimpleComboModule.decorators = [
378
+ { type: NgModule, args: [{
379
+ declarations: [IgxSimpleComboComponent],
380
+ imports: [
381
+ IgxComboModule, IgxRippleModule, CommonModule,
382
+ IgxInputGroupModule, FormsModule, ReactiveFormsModule,
383
+ IgxForOfModule, IgxToggleModule, IgxCheckboxModule,
384
+ IgxDropDownModule, IgxButtonModule, IgxIconModule,
385
+ IgxTextSelectionModule
386
+ ],
387
+ exports: [IgxSimpleComboComponent, IgxComboModule]
388
+ },] }
389
+ ];
390
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLWNvbWJvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9zaW1wbGUtY29tYm8vc2ltcGxlLWNvbWJvLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNZLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUNyRyxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQ3hDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0csT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQTBCLE1BQU0sd0JBQXdCLENBQUM7QUFDckYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0QsT0FBTyxFQUF3RSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7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QUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7c0JBSXJELFNBQVMsU0FBQyx3QkFBd0I7Z0NBVWxDLE1BQU07NEJBR04sU0FBUyxTQUFDLHlCQUF5QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTswQkFpQ3JELFlBQVksU0FBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxjQUM1QyxZQUFZLFNBQUMsdUJBQXVCLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0FBZ1RyRCxNQUFNLE9BQU8sb0JBQW9COzs7WUFYaEMsUUFBUSxTQUFDO2dCQUNOLFlBQVksRUFBRSxDQUFDLHVCQUF1QixDQUFDO2dCQUN2QyxPQUFPLEVBQUU7b0JBQ0wsY0FBYyxFQUFFLGVBQWUsRUFBRSxZQUFZO29CQUM3QyxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsbUJBQW1CO29CQUNyRCxjQUFjLEVBQUUsZUFBZSxFQUFFLGlCQUFpQjtvQkFDbEQsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLGFBQWE7b0JBQ2pELHNCQUFzQjtpQkFDekI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsdUJBQXVCLEVBQUUsY0FBYyxDQUFDO2FBQ3JEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgSW5qZWN0b3IsXG4gICAgTmdNb2R1bGUsIE9wdGlvbmFsLCBPdXRwdXQsIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJZ3hDaGVja2JveE1vZHVsZSB9IGZyb20gJy4uL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJZ3hDb21ib0FkZEl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9jb21iby9jb21iby1hZGQtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWd4Q29tYm9Ecm9wRG93bkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbWJvL2NvbWJvLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJZ3hDb21ib0l0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9jb21iby9jb21iby1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJZ3hDb21ib0FQSVNlcnZpY2UgfSBmcm9tICcuLi9jb21iby9jb21iby5hcGknO1xuaW1wb3J0IHsgSWd4Q29tYm9CYXNlRGlyZWN0aXZlLCBJR1hfQ09NQk9fQ09NUE9ORU5UIH0gZnJvbSAnLi4vY29tYm8vY29tYm8uY29tbW9uJztcbmltcG9ydCB7IElneENvbWJvTW9kdWxlIH0gZnJvbSAnLi4vY29tYm8vY29tYm8uY29tcG9uZW50JztcbmltcG9ydCB7IERpc3BsYXlEZW5zaXR5VG9rZW4sIElEaXNwbGF5RGVuc2l0eU9wdGlvbnMgfSBmcm9tICcuLi9jb3JlL2Rpc3BsYXlEZW5zaXR5JztcbmltcG9ydCB7IElneFNlbGVjdGlvbkFQSVNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3NlbGVjdGlvbic7XG5pbXBvcnQgeyBDYW5jZWxhYmxlRXZlbnRBcmdzLCBJQmFzZUNhbmNlbGFibGVCcm93c2VyRXZlbnRBcmdzLCBJQmFzZUV2ZW50QXJncywgUGxhdGZvcm1VdGlsIH0gZnJvbSAnLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBJZ3hCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2J1dHRvbi9idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IElneEZvck9mTW9kdWxlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9mb3Itb2YvZm9yX29mLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJZ3hSaXBwbGVNb2R1bGUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3JpcHBsZS9yaXBwbGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IElneFRleHRTZWxlY3Rpb25EaXJlY3RpdmUsIElneFRleHRTZWxlY3Rpb25Nb2R1bGUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3RleHQtc2VsZWN0aW9uL3RleHQtc2VsZWN0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJZ3hUb2dnbGVNb2R1bGUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3RvZ2dsZS90b2dnbGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IElneERyb3BEb3duTW9kdWxlIH0gZnJvbSAnLi4vZHJvcC1kb3duL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgSWd4SWNvbk1vZHVsZSwgSWd4SWNvblNlcnZpY2UgfSBmcm9tICcuLi9pY29uL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgSWd4SW5wdXRHcm91cE1vZHVsZSwgSWd4SW5wdXRHcm91cFR5cGUsIElHWF9JTlBVVF9HUk9VUF9UWVBFIH0gZnJvbSAnLi4vaW5wdXQtZ3JvdXAvcHVibGljX2FwaSc7XG5cbi8qKiBFbWl0dGVkIHdoZW4gYW4gaWd4LXNpbXBsZS1jb21ibydzIHNlbGVjdGlvbiBpcyBjaGFuZ2luZy4gICovXG5leHBvcnQgaW50ZXJmYWNlIElTaW1wbGVDb21ib1NlbGVjdGlvbkNoYW5naW5nRXZlbnRBcmdzIGV4dGVuZHMgQ2FuY2VsYWJsZUV2ZW50QXJncywgSUJhc2VFdmVudEFyZ3Mge1xuICAgIC8qKiBBbiBvYmplY3Qgd2hpY2ggcmVwcmVzZW50cyB0aGUgdmFsdWUgdGhhdCBpcyBjdXJyZW50bHkgc2VsZWN0ZWQgKi9cbiAgICBvbGRTZWxlY3Rpb246IGFueTtcbiAgICAvKiogQW4gb2JqZWN0IHdoaWNoIHJlcHJlc2VudHMgdGhlIHZhbHVlIHRoYXQgd2lsbCBiZSBzZWxlY3RlZCBhZnRlciB0aGlzIGV2ZW50ICovXG4gICAgbmV3U2VsZWN0aW9uOiBhbnk7XG4gICAgLyoqIFRoZSB0ZXh0IHRoYXQgd2lsbCBiZSBkaXNwbGF5ZWQgaW4gdGhlIGNvbWJvIHRleHQgYm94ICovXG4gICAgZGlzcGxheVRleHQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgZHJvcC1kb3duIGxpc3QgdGhhdCBwcm92aWRlcyBmaWx0ZXJpbmcgZnVuY3Rpb25hbGl0eSwgYWxsb3dpbmcgdXNlcnMgdG8gY2hvb3NlIGEgc2luZ2xlIG9wdGlvbiBmcm9tIGEgcHJlZGVmaW5lZCBsaXN0LlxuICpcbiAqIEBpZ3hNb2R1bGUgSWd4U2ltcGxlQ29tYm9Nb2R1bGVcbiAqIEBpZ3hUaGVtZSBpZ3gtY29tYm8tdGhlbWVcbiAqIEBpZ3hLZXl3b3JkcyBjb21ib2JveCwgc2luZ2xlIGNvbWJvIHNlbGVjdGlvblxuICogQGlneEdyb3VwIEdyaWRzICYgTGlzdHNcbiAqXG4gKiBAcmVtYXJrc1xuICogSXQgcHJvdmlkZXMgdGhlIGFiaWxpdHkgdG8gZmlsdGVyIGl0ZW1zIGFzIHdlbGwgYXMgcGVyZm9ybSBzaW5nbGUgc2VsZWN0aW9uIG9uIHRoZSBwcm92aWRlZCBkYXRhLlxuICogQWRkaXRpb25hbGx5LCBpdCBleHBvc2VzIGtleWJvYXJkIG5hdmlnYXRpb24gYW5kIGN1c3RvbSBzdHlsaW5nIGNhcGFiaWxpdGllcy5cbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8aWd4LXNpbXBsZS1jb21ibyBbaXRlbXNNYXhIZWlnaHRdPVwiMjUwXCIgW2RhdGFdPVwibG9jYXRpb25EYXRhXCJcbiAqICBbZGlzcGxheUtleV09XCInZmllbGQnXCIgW3ZhbHVlS2V5XT1cIidmaWVsZCdcIlxuICogIHBsYWNlaG9sZGVyPVwiTG9jYXRpb25cIiBzZWFyY2hQbGFjZWhvbGRlcj1cIlNlYXJjaC4uLlwiPlxuICogPC9pZ3gtc2ltcGxlLWNvbWJvPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnaWd4LXNpbXBsZS1jb21ibycsXG4gICAgdGVtcGxhdGVVcmw6ICdzaW1wbGUtY29tYm8uY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBJZ3hDb21ib0FQSVNlcnZpY2UsXG4gICAgICAgIHsgcHJvdmlkZTogSUdYX0NPTUJPX0NPTVBPTkVOVCwgdXNlRXhpc3Rpbmc6IElneFNpbXBsZUNvbWJvQ29tcG9uZW50IH0sXG4gICAgICAgIHsgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBJZ3hTaW1wbGVDb21ib0NvbXBvbmVudCwgbXVsdGk6IHRydWUgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgSWd4U2ltcGxlQ29tYm9Db21wb25lbnQgZXh0ZW5kcyBJZ3hDb21ib0Jhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgQFZpZXdDaGlsZChJZ3hDb21ib0Ryb3BEb3duQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHB1YmxpYyBkcm9wZG93bjogSWd4Q29tYm9Ecm9wRG93bkNvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIEBWaWV3Q2hpbGQoSWd4Q29tYm9BZGRJdGVtQ29tcG9uZW50KVxuICAgIHB1YmxpYyBhZGRJdGVtOiBJZ3hDb21ib0FkZEl0ZW1Db21wb25lbnQ7XG5cbiAgICAvKipcbiAgICAgKiBFbWl0dGVkIHdoZW4gaXRlbSBzZWxlY3Rpb24gaXMgY2hhbmdpbmcsIGJlZm9yZSB0aGUgc2VsZWN0aW9uIGNvbXBsZXRlc1xuICAgICAqXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtc2ltcGxlLWNvbWJvIChzZWxlY3Rpb25DaGFuZ2luZyk9J2hhbmRsZVNlbGVjdGlvbigpJz48L2lneC1zaW1wbGUtY29tYm8+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHNlbGVjdGlvbkNoYW5naW5nID0gbmV3IEV2ZW50RW1pdHRlcjxJU2ltcGxlQ29tYm9TZWxlY3Rpb25DaGFuZ2luZ0V2ZW50QXJncz4oKTtcblxuICAgIEBWaWV3Q2hpbGQoSWd4VGV4dFNlbGVjdGlvbkRpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBwcml2YXRlIHRleHRTZWxlY3Rpb246IElneFRleHRTZWxlY3Rpb25EaXJlY3RpdmU7XG5cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgY29tcG9zaW5nID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIF91cGRhdGVJbnB1dCA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgZ2V0IGZpbHRlcmVkRGF0YSgpOiBhbnlbXSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlsdGVyZWREYXRhO1xuICAgIH1cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgc2V0IGZpbHRlcmVkRGF0YSh2YWw6IGFueVtdIHwgbnVsbCkge1xuICAgICAgICB0aGlzLl9maWx0ZXJlZERhdGEgPSB0aGlzLmdyb3VwS2V5ID8gKHZhbCB8fCBbXSkuZmlsdGVyKChlKSA9PiBlLmlzSGVhZGVyICE9PSB0cnVlKSA6IHZhbDtcbiAgICAgICAgdGhpcy5jaGVja01hdGNoKCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcm90ZWN0ZWQgc2VsZWN0aW9uU2VydmljZTogSWd4U2VsZWN0aW9uQVBJU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIGNvbWJvQVBJOiBJZ3hDb21ib0FQSVNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBfaWNvblNlcnZpY2U6IElneEljb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHBsYXRmb3JtVXRpbDogUGxhdGZvcm1VdGlsLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERpc3BsYXlEZW5zaXR5VG9rZW4pIHByb3RlY3RlZCBfZGlzcGxheURlbnNpdHlPcHRpb25zOiBJRGlzcGxheURlbnNpdHlPcHRpb25zLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KElHWF9JTlBVVF9HUk9VUF9UWVBFKSBwcm90ZWN0ZWQgX2lucHV0R3JvdXBUeXBlOiBJZ3hJbnB1dEdyb3VwVHlwZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF9pbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyLCBzZWxlY3Rpb25TZXJ2aWNlLCBjb21ib0FQSSxcbiAgICAgICAgICAgIF9pY29uU2VydmljZSwgX2Rpc3BsYXlEZW5zaXR5T3B0aW9ucywgX2lucHV0R3JvdXBUeXBlLCBfaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLmNvbWJvQVBJLnJlZ2lzdGVyKHRoaXMpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uQXJyb3dEb3duJywgWyckZXZlbnQnXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLkFsdC5BcnJvd0Rvd24nLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbkFycm93RG93bihldmVudDogRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuY29sbGFwc2VkKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnZpcnREaXIuaWd4Rm9yT2YubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZHJvcGRvd24ubmF2aWdhdGVGaXJzdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuZHJvcGRvd25Db250YWluZXIubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmFsbG93Q3VzdG9tVmFsdWVzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRJdGVtLmVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VsZWN0IGEgZGVmaW5lZCBpdGVtXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaXRlbSB0aGUgaXRlbSB0byBiZSBzZWxlY3RlZFxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiB0aGlzLmNvbWJvLnNlbGVjdChcIk5ldyBZb3JrXCIpO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBzZWxlY3QoaXRlbTogYW55KTogdm9pZCB7XG4gICAgICAgIGlmIChpdGVtICE9PSBudWxsICYmIGl0ZW0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29uc3QgbmV3U2VsZWN0aW9uID0gdGhpcy5zZWxlY3Rpb25TZXJ2aWNlLmFkZF9pdGVtcyh0aGlzLmlkLCBpdGVtIGluc3RhbmNlb2YgQXJyYXkgPyBpdGVtIDogW2l0ZW1dLCB0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuc2V0U2VsZWN0aW9uKG5ld1NlbGVjdGlvbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXNlbGVjdCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGl0ZW1cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtIHRoZSBpdGVtcyB0byBiZSBkZXNlbGVjdGVkXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIHRoaXMuY29tYm8uZGVzZWxlY3QoXCJOZXcgWW9ya1wiKTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xlYXJTZWxlY3Rpb24oKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgICAgIGNvbnN0IG9sZFNlbGVjdGlvbiA9IHRoaXMuc2VsZWN0aW9uO1xuICAgICAgICB0aGlzLnNlbGVjdGlvblNlcnZpY2Uuc2VsZWN0X2l0ZW1zKHRoaXMuaWQsIHZhbHVlID8gW3ZhbHVlXSA6IFtdLCB0cnVlKTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5jcmVhdGVEaXNwbGF5VGV4dCh0aGlzLnNlbGVjdGlvbiwgb2xkU2VsZWN0aW9uKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLnZpcnREaXIuY29udGVudFNpemVDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb24ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy52aXJ0RGlyLmlneEZvck9mLmZpbmRJbmRleChlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGN1cnJlbnQgPSBlW3RoaXMudmFsdWVLZXldO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy52YWx1ZUtleSA9PT0gbnVsbCB8fCB0aGlzLnZhbHVlS2V5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgPSBlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjdXJyZW50ID09PSB0aGlzLnNlbGVjdGlvblswXTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmRyb3Bkb3duLm5hdmlnYXRlSXRlbShpbmRleCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmRyb3Bkb3duLm9wZW5lZC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbXBvc2luZykge1xuICAgICAgICAgICAgICAgIHRoaXMuY29tYm9JbnB1dC5mb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5kcm9wZG93bi5jbG9zaW5nLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGFyZ3MpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmdldEVkaXRFbGVtZW50KCkgJiYgIWFyZ3MuZXZlbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbWJvSW5wdXQuZm9jdXMoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhck9uQmx1cigpO1xuICAgICAgICAgICAgICAgIHRoaXMuX29uVG91Y2hlZENhbGxiYWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHB1YmxpYyBoYW5kbGVJbnB1dENoYW5nZShldmVudD86IGFueSkge1xuICAgICAgICB0aGlzLnNlYXJjaFZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuICAgICAgICB0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKHRoaXMuc2VhcmNoVmFsdWUpO1xuICAgICAgICBpZiAodGhpcy5jb2xsYXBzZWQgJiYgdGhpcy5jb21ib0lucHV0LmZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93bi5uYXZpZ2F0ZUZpcnN0KCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmNvbWJvSW5wdXQudmFsdWUudHJpbSgpKSB7XG4gICAgICAgICAgICAvLyBoYW5kbGUgY2xlYXJpbmcgb2YgaW5wdXQgYnkgc3BhY2VcbiAgICAgICAgICAgIHRoaXMuY2xlYXJTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2sobnVsbCk7XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIuaGFuZGxlSW5wdXRDaGFuZ2UoZXZlbnQpO1xuICAgICAgICB0aGlzLmNvbXBvc2luZyA9IHRydWU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgcHVibGljIGhhbmRsZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gdGhpcy5wbGF0Zm9ybVV0aWwuS0VZTUFQLkVOVEVSKSB7XG4gICAgICAgICAgICBjb25zdCBmaWx0ZXJlZCA9IHRoaXMuZmlsdGVyZWREYXRhLmZpbmQodGhpcy5maW5kTWF0Y2gpO1xuICAgICAgICAgICAgaWYgKGZpbHRlcmVkID09PSBudWxsIHx8IGZpbHRlcmVkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNlbGVjdCh0aGlzLmRyb3Bkb3duLmZvY3VzZWRJdGVtLml0ZW1JRCk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICAvLyBtYW51YWxseSB0cmlnZ2VyIHRleHQgc2VsZWN0aW9uIGFzIGl0IHdpbGwgbm90IGJlIHRyaWdnZXJlZCBkdXJpbmcgZWRpdGluZ1xuICAgICAgICAgICAgdGhpcy50ZXh0U2VsZWN0aW9uLnRyaWdnZXIoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSB0aGlzLnBsYXRmb3JtVXRpbC5LRVlNQVAuQkFDS1NQQUNFXG4gICAgICAgICAgICB8fCBldmVudC5rZXkgPT09IHRoaXMucGxhdGZvcm1VdGlsLktFWU1BUC5ERUxFVEUpIHtcbiAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUlucHV0ID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmNvbGxhcHNlZCAmJiBldmVudC5rZXkgPT09IHRoaXMucGxhdGZvcm1VdGlsLktFWU1BUC5UQUIpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJPbkJsdXIoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbXBvc2luZyA9IGZhbHNlO1xuICAgICAgICBzdXBlci5oYW5kbGVLZXlEb3duKGV2ZW50KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgaGFuZGxlS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gdGhpcy5wbGF0Zm9ybVV0aWwuS0VZTUFQLkFSUk9XX0RPV04pIHtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0SXRlbSA9IHRoaXMuc2VsZWN0aW9uU2VydmljZS5maXJzdF9pdGVtKHRoaXMuaWQpO1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93bi5mb2N1c2VkSXRlbSA9IGZpcnN0SXRlbSAmJiB0aGlzLmZpbHRlcmVkRGF0YS5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgPyB0aGlzLmRyb3Bkb3duLml0ZW1zLmZpbmQoaSA9PiBpLml0ZW1JRCA9PT0gZmlyc3RJdGVtKVxuICAgICAgICAgICAgICAgIDogdGhpcy5kcm9wZG93bi5pdGVtc1swXTtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25Db250YWluZXIubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgcHVibGljIGhhbmRsZUl0ZW1LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IHRoaXMucGxhdGZvcm1VdGlsLktFWU1BUC5BUlJPV19VUCAmJiBldmVudC5hbHRLZXkpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgIHRoaXMuY29tYm9JbnB1dC5mb2N1cygpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IHRoaXMucGxhdGZvcm1VdGlsLktFWU1BUC5FTlRFUikge1xuICAgICAgICAgICAgdGhpcy5jb21ib0lucHV0LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgaGFuZGxlSXRlbUNsaWNrKCkge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIHRoaXMuY29tYm9JbnB1dC5mb2N1cygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHB1YmxpYyBvbkJsdXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbGxhcHNlZCkge1xuICAgICAgICAgICAgdGhpcy5jbGVhck9uQmx1cigpO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLm9uQmx1cigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHB1YmxpYyBnZXRFZGl0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbWJvSW5wdXQubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgaGFuZGxlQ2xlYXIoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jbGVhclNlbGVjdGlvbih0cnVlKTtcbiAgICAgICAgaWYgKHRoaXMuY29sbGFwc2VkKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd24ubmF2aWdhdGVGaXJzdCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5mb2N1c1NlYXJjaElucHV0KHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIHRoaXMuY29tYm9JbnB1dC52YWx1ZSA9IHRoaXMuZmlsdGVyVmFsdWUgPSB0aGlzLnNlYXJjaFZhbHVlID0gJyc7XG4gICAgICAgIHRoaXMuZHJvcGRvd24uZm9jdXNlZEl0ZW0gPSBudWxsO1xuICAgICAgICB0aGlzLmNvbXBvc2luZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNvbWJvSW5wdXQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgaGFuZGxlT3BlbmVkKCkge1xuICAgICAgICB0aGlzLnRyaWdnZXJDaGVjaygpO1xuICAgICAgICB0aGlzLmRyb3Bkb3duQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgdGhpcy5vcGVuZWQuZW1pdCh7IG93bmVyOiB0aGlzIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHB1YmxpYyBoYW5kbGVDbG9zaW5nKGU6IElCYXNlQ2FuY2VsYWJsZUJyb3dzZXJFdmVudEFyZ3MpIHtcbiAgICAgICAgY29uc3QgYXJnczogSUJhc2VDYW5jZWxhYmxlQnJvd3NlckV2ZW50QXJncyA9IHsgb3duZXI6IHRoaXMsIGV2ZW50OiBlLmV2ZW50LCBjYW5jZWw6IGUuY2FuY2VsIH07XG4gICAgICAgIHRoaXMuY2xvc2luZy5lbWl0KGFyZ3MpO1xuICAgICAgICBlLmNhbmNlbCA9IGFyZ3MuY2FuY2VsO1xuICAgICAgICBpZiAoZS5jYW5jZWwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29tcG9zaW5nID0gZmFsc2U7XG4gICAgICAgIC8vIGV4cGxpY2l0bHkgdXBkYXRlIHNlbGVjdGlvbiBhbmQgdHJpZ2dlciB0ZXh0IHNlbGVjdGlvbiBzbyB0aGF0IHdlIGRvbid0IGhhdmUgdG8gZm9yY2UgQ0RcbiAgICAgICAgdGhpcy50ZXh0U2VsZWN0aW9uLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy50ZXh0U2VsZWN0aW9uLnRyaWdnZXIoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgZm9jdXNTZWFyY2hJbnB1dChvcGVuaW5nPzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAob3BlbmluZykge1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93bkNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNvbWJvSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBzdXBlci5vbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgaWYgKHRoaXMuY29tYm9JbnB1dC52YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMudmlydERpci5zY3JvbGxUbygwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBmaW5kTWF0Y2ggPSAoZWxlbWVudDogYW55KTogYm9vbGVhbiA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5kaXNwbGF5S2V5ID8gZWxlbWVudFt0aGlzLmRpc3BsYXlLZXldIDogZWxlbWVudDtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLnNlYXJjaFZhbHVlLnRyaW0oKS50b0xvd2VyQ2FzZSgpKTtcbiAgICB9O1xuXG4gICAgcHJvdGVjdGVkIHNldFNlbGVjdGlvbihuZXdTZWxlY3Rpb246IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZXdTZWxlY3Rpb25Bc0FycmF5ID0gbmV3U2VsZWN0aW9uID8gQXJyYXkuZnJvbShuZXdTZWxlY3Rpb24pIGFzIElneENvbWJvSXRlbUNvbXBvbmVudFtdIDogW107XG4gICAgICAgIGNvbnN0IG9sZFNlbGVjdGlvbkFzQXJyYXkgPSBBcnJheS5mcm9tKHRoaXMuc2VsZWN0aW9uU2VydmljZS5nZXQodGhpcy5pZCkgfHwgW10pO1xuICAgICAgICBjb25zdCBkaXNwbGF5VGV4dCA9IHRoaXMuY3JlYXRlRGlzcGxheVRleHQobmV3U2VsZWN0aW9uQXNBcnJheSwgb2xkU2VsZWN0aW9uQXNBcnJheSk7XG4gICAgICAgIGNvbnN0IGFyZ3M6IElTaW1wbGVDb21ib1NlbGVjdGlvbkNoYW5naW5nRXZlbnRBcmdzID0ge1xuICAgICAgICAgICAgbmV3U2VsZWN0aW9uOiBuZXdTZWxlY3Rpb25Bc0FycmF5WzBdLFxuICAgICAgICAgICAgb2xkU2VsZWN0aW9uOiBvbGRTZWxlY3Rpb25Bc0FycmF5WzBdLFxuICAgICAgICAgICAgZGlzcGxheVRleHQsXG4gICAgICAgICAgICBvd25lcjogdGhpcyxcbiAgICAgICAgICAgIGNhbmNlbDogZmFsc2VcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2luZy5lbWl0KGFyZ3MpO1xuICAgICAgICBpZiAoIWFyZ3MuY2FuY2VsKSB7XG4gICAgICAgICAgICBjb25zdCBhcmdzU2VsZWN0aW9uID0gYXJncy5uZXdTZWxlY3Rpb24gIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICYmIGFyZ3MubmV3U2VsZWN0aW9uICE9PSBudWxsXG4gICAgICAgICAgICAgICAgPyBbYXJncy5uZXdTZWxlY3Rpb25dXG4gICAgICAgICAgICAgICAgOiBbXTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uU2VydmljZS5zZWxlY3RfaXRlbXModGhpcy5pZCwgYXJnc1NlbGVjdGlvbiwgdHJ1ZSk7XG4gICAgICAgICAgICBpZiAodGhpcy5fdXBkYXRlSW5wdXQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbWJvSW5wdXQudmFsdWUgPSB0aGlzLl92YWx1ZSA9IGRpc3BsYXlUZXh0ICE9PSBhcmdzLmRpc3BsYXlUZXh0XG4gICAgICAgICAgICAgICAgICAgID8gYXJncy5kaXNwbGF5VGV4dFxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuY3JlYXRlRGlzcGxheVRleHQoYXJnc1NlbGVjdGlvbiwgW2FyZ3Mub2xkU2VsZWN0aW9uXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKGFyZ3MubmV3U2VsZWN0aW9uKTtcbiAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUlucHV0ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVEaXNwbGF5VGV4dChuZXdTZWxlY3Rpb246IGFueVtdLCBvbGRTZWxlY3Rpb246IGFueVtdKSB7XG4gICAgICAgIGlmICh0aGlzLmlzUmVtb3RlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRSZW1vdGVTZWxlY3Rpb24obmV3U2VsZWN0aW9uLCBvbGRTZWxlY3Rpb24pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZGlzcGxheUtleSAhPT0gbnVsbCAmJiB0aGlzLmRpc3BsYXlLZXkgIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgJiYgbmV3U2VsZWN0aW9uLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbnZlcnRLZXlzVG9JdGVtcyhuZXdTZWxlY3Rpb24pLm1hcChlID0+IGVbdGhpcy5kaXNwbGF5S2V5XSlbMF07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV3U2VsZWN0aW9uWzBdIHx8ICcnO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJTZWxlY3Rpb24oaWdub3JlRmlsdGVyPzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBsZXQgbmV3U2VsZWN0aW9uID0gdGhpcy5zZWxlY3Rpb25TZXJ2aWNlLmdldF9lbXB0eSgpO1xuICAgICAgICBpZiAodGhpcy5maWx0ZXJlZERhdGEubGVuZ3RoICE9PSB0aGlzLmRhdGEubGVuZ3RoICYmICFpZ25vcmVGaWx0ZXIpIHtcbiAgICAgICAgICAgIG5ld1NlbGVjdGlvbiA9IHRoaXMuc2VsZWN0aW9uU2VydmljZS5kZWxldGVfaXRlbXModGhpcy5pZCwgdGhpcy5zZWxlY3Rpb25TZXJ2aWNlLmdldF9hbGxfaWRzKHRoaXMuZmlsdGVyZWREYXRhLCB0aGlzLnZhbHVlS2V5KSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRTZWxlY3Rpb24obmV3U2VsZWN0aW9uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsZWFyT25CbHVyKCkge1xuICAgICAgICBjb25zdCBmaWx0ZXJlZCA9IHRoaXMuZmlsdGVyZWREYXRhLmZpbmQodGhpcy5maW5kTWF0Y2gpO1xuICAgICAgICBpZiAoKGZpbHRlcmVkID09PSB1bmRlZmluZWQgfHwgZmlsdGVyZWQgPT09IG51bGwpKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICB0aGlzLmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZhbHVlID0gJyc7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbSWd4U2ltcGxlQ29tYm9Db21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgSWd4Q29tYm9Nb2R1bGUsIElneFJpcHBsZU1vZHVsZSwgQ29tbW9uTW9kdWxlLFxuICAgICAgICBJZ3hJbnB1dEdyb3VwTW9kdWxlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgSWd4Rm9yT2ZNb2R1bGUsIElneFRvZ2dsZU1vZHVsZSwgSWd4Q2hlY2tib3hNb2R1bGUsXG4gICAgICAgIElneERyb3BEb3duTW9kdWxlLCBJZ3hCdXR0b25Nb2R1bGUsIElneEljb25Nb2R1bGUsXG4gICAgICAgIElneFRleHRTZWxlY3Rpb25Nb2R1bGVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtJZ3hTaW1wbGVDb21ib0NvbXBvbmVudCwgSWd4Q29tYm9Nb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIElneFNpbXBsZUNvbWJvTW9kdWxlIHsgfVxuIl19
@@ -58,6 +58,7 @@ export * from './lib/carousel/public_api';
58
58
  export * from './lib/checkbox/checkbox.component';
59
59
  export * from './lib/chips/public_api';
60
60
  export * from './lib/combo/public_api';
61
+ export * from './lib/simple-combo/public_api';
61
62
  export * from './lib/date-picker/public_api';
62
63
  export * from './lib/dialog/dialog.component';
63
64
  export * from './lib/drop-down/public_api';
@@ -108,4 +109,4 @@ export * from './lib/core/density';
108
109
  export { changei18n, getCurrentResourceStrings } from './lib/core/i18n/resources';
109
110
  export { PickerInteractionMode } from './lib/date-common/types';
110
111
  export { SplitterType } from './lib/splitter/splitter.component';
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7O0dBRUc7QUFFSDs7R0FFRztBQUNILGNBQWMsdUJBQXVCLENBQUM7QUFHdEM7O0dBRUc7QUFDSCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw4Q0FBOEMsQ0FBQztBQUU3RDs7R0FFRztBQUNILGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRDs7R0FFRztBQUNILGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw4QkFBOEIsQ0FBQztBQUU3QyxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx1QkFBdUIsQ0FBQztBQUV0Qzs7R0FFRztBQUNILGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG9CQUFvQixDQUFDO0FBRW5DLE9BQU8sRUFBRSxVQUFVLEVBQUUseUJBQXlCLEVBQW9CLE1BQU0sMkJBQTJCLENBQUM7QUFhcEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG4vKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGlnbml0ZXVpLWFuZ3VsYXJcbiAqL1xuXG4vKipcbiAqIEFuaW1hdGlvbnNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYW5pbWF0aW9ucy9tYWluJztcblxuXG4vKipcbiAqIERpcmVjdGl2ZXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9uYXZpZ2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9idXR0b24vYnV0dG9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2RpdmlkZXIvZGl2aWRlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9kcmFnLWRyb3AvZHJhZy1kcm9wLnN0cmF0ZWd5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZHJhZy1kcm9wL2RyYWctZHJvcC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9maWx0ZXIvZmlsdGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2ZvY3VzL2ZvY3VzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2Zvci1vZi9mb3Jfb2YuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvbGF5b3V0L2xheW91dC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9tYXNrL21hc2suZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvcmFkaW8vcmFkaW8tZ3JvdXAuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvcmlwcGxlL3JpcHBsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy90ZXh0LWhpZ2hsaWdodC90ZXh0LWhpZ2hsaWdodC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy90ZXh0LXNlbGVjdGlvbi90ZXh0LXNlbGVjdGlvbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy90b2dnbGUvdG9nZ2xlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9kYXRlLXRpbWUtZWRpdG9yL3B1YmxpY19hcGknO1xuXG4vKipcbiAqIERhdGEgb3BlcmF0aW9uc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZmlsdGVyaW5nLWV4cHJlc3Npb24uaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9maWx0ZXJpbmctZXhwcmVzc2lvbnMtdHJlZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZmlsdGVyaW5nLWNvbmRpdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZmlsdGVyaW5nLXN0YXRlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZmlsdGVyaW5nLXN0cmF0ZWd5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9ncm91cGJ5LWV4cGFuZC1zdGF0ZS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS1vcGVyYXRpb25zL2dyb3VwYnktcmVjb3JkLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBieS1zdGF0ZS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS1vcGVyYXRpb25zL2dyb3VwaW5nLWV4cHJlc3Npb24uaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9ncm91cGluZy1zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvc29ydGluZy1leHByZXNzaW9uLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvc29ydGluZy1zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvcGFnaW5nLXN0YXRlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZGF0YS11dGlsJztcblxuLyoqXG4gKiBDb21wb25lbnRzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2FjdGlvbi1zdHJpcC9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FjY29yZGlvbi9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhZGdlL2JhZGdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYW5uZXIvYmFubmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9idXR0b25Hcm91cC9idXR0b25Hcm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FsZW5kYXIvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYXJkL2NhcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Nhcm91c2VsL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoaXBzL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tYm8vcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXBpY2tlci9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Ryb3AtZG93bi9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL2NvbW1vbi9lbnVtcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy9jb21tb24vZXZlbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL2ZpbHRlcmluZy9leGNlbC1zdHlsZS9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL2dyaWQvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy90cmVlLWdyaWQvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy9oaWVyYXJjaGljYWwtZ3JpZC9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL2NvbHVtbnMvdGVtcGxhdGVzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy9jb2x1bW5zL2NvbHVtbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZHMvY29sdW1ucy9jb2x1bW4tZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL2NvbHVtbnMvY29sdW1uLWxheW91dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZHMvaGllcmFyY2hpY2FsLWdyaWQvaGllcmFyY2hpY2FsLWdyaWQucGlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaWNvbi9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2lucHV0LWdyb3VwL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGlzdC9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2V4cGFuc2lvbi1wYW5lbC9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25hdmJhci9uYXZiYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25hdmlnYXRpb24tZHJhd2VyL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnaW5hdG9yL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnaW5hdG9yL3BhZ2luYXRvci1pbnRlcmZhY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Byb2dyZXNzYmFyL3Byb2dyZXNzYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yYWRpby9yYWRpby5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2xpZGVyL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc25hY2tiYXIvc25hY2tiYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N3aXRjaC9zd2l0Y2guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYnMvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJzL2JvdHRvbS1uYXYvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJzL3RhYnMvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9hc3QvdG9hc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlbGVjdC9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NwbGl0dGVyL3NwbGl0dGVyLXBhbmUvc3BsaXR0ZXItcGFuZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3BsaXR0ZXIvc3BsaXR0ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NwbGl0dGVyL3NwbGl0dGVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXJhbmdlLXBpY2tlci9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtY29tbW9uL3B1YmxpY19hcGknO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy9jb2x1bW4tYWN0aW9ucy9jb2x1bW4tYWN0aW9ucy1iYXNlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy9jb2x1bW4tYWN0aW9ucy9jb2x1bW4tYWN0aW9ucy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHJlZS9wdWJsaWNfYXBpJztcblxuLyoqXG4gKiBFeHBvcnRlciBzZXJ2aWNlcywgY2xhc3NlcywgaW50ZXJmYWNlcyBhbmQgZW51bXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL2RhdGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvZGVuc2l0eSc7XG5leHBvcnQgeyBDYW5jZWxhYmxlRXZlbnRBcmdzLCBDYW5jZWxhYmxlQnJvd3NlckV2ZW50QXJncyB9IGZyb20gJy4vbGliL2NvcmUvdXRpbHMnO1xuZXhwb3J0IHsgY2hhbmdlaTE4biwgZ2V0Q3VycmVudFJlc291cmNlU3RyaW5ncywgSVJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4vbGliL2NvcmUvaTE4bi9yZXNvdXJjZXMnO1xuZXhwb3J0IHsgSUNhcm91c2VsUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL2Nhcm91c2VsLXJlc291cmNlcyc7XG5leHBvcnQgeyBJR3JpZFJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4vbGliL2NvcmUvaTE4bi9ncmlkLXJlc291cmNlcyc7XG5leHBvcnQgeyBJUGFnaW5hdG9yUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL3BhZ2luYXRvci1yZXNvdXJjZXMnO1xuZXhwb3J0IHsgSUNhbGVuZGFyUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL2NhbGVuZGFyLXJlc291cmNlcyc7XG5leHBvcnQgeyBJVGltZVBpY2tlclJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4vbGliL2NvcmUvaTE4bi90aW1lLXBpY2tlci1yZXNvdXJjZXMnO1xuZXhwb3J0IHsgSURhdGVQaWNrZXJSZXNvdXJjZVN0cmluZ3MgfSBmcm9tICcuL2xpYi9jb3JlL2kxOG4vZGF0ZS1waWNrZXItcmVzb3VyY2VzJztcbmV4cG9ydCB7IElEYXRlUmFuZ2VQaWNrZXJSZXNvdXJjZVN0cmluZ3MgfSBmcm9tICcuL2xpYi9jb3JlL2kxOG4vZGF0ZS1yYW5nZS1waWNrZXItcmVzb3VyY2VzJztcbmV4cG9ydCB7IElMaXN0UmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL2xpc3QtcmVzb3VyY2VzJztcbmV4cG9ydCB7IElUcmVlUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL3RyZWUtcmVzb3VyY2VzJztcbmV4cG9ydCB7IElJbnB1dFJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4vbGliL2NvcmUvaTE4bi9pbnB1dC1yZXNvdXJjZXMnO1xuZXhwb3J0IHsgSUNoaXBSZXNvdXJjZVN0cmluZ3MgfSBmcm9tICcuL2xpYi9jb3JlL2kxOG4vY2hpcC1yZXNvdXJjZXMnO1xuZXhwb3J0IHsgSUFjdGlvblN0cmlwUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL2FjdGlvbi1zdHJpcC1yZXNvdXJjZXMnO1xuZXhwb3J0IHsgUGlja2VySW50ZXJhY3Rpb25Nb2RlIH0gZnJvbSAnLi9saWIvZGF0ZS1jb21tb24vdHlwZXMnO1xuZXhwb3J0IHsgU3BsaXR0ZXJUeXBlIH0gZnJvbSAnLi9saWIvc3BsaXR0ZXIvc3BsaXR0ZXIuY29tcG9uZW50JztcbiJdfQ==
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7O0dBRUc7QUFFSDs7R0FFRztBQUNILGNBQWMsdUJBQXVCLENBQUM7QUFHdEM7O0dBRUc7QUFDSCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw4Q0FBOEMsQ0FBQztBQUU3RDs7R0FFRztBQUNILGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRDs7R0FFRztBQUNILGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDhCQUE4QixDQUFDO0FBRTdDLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLHVCQUF1QixDQUFDO0FBRXRDOztHQUVHO0FBQ0gsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsT0FBTyxFQUFFLFVBQVUsRUFBRSx5QkFBeUIsRUFBb0IsTUFBTSwyQkFBMkIsQ0FBQztBQWFwRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgaWduaXRldWktYW5ndWxhclxuICovXG5cbi8qKlxuICogQW5pbWF0aW9uc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hbmltYXRpb25zL21haW4nO1xuXG5cbi8qKlxuICogRGlyZWN0aXZlc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL25hdmlnYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2J1dHRvbi9idXR0b24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZGl2aWRlci9kaXZpZGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2RyYWctZHJvcC9kcmFnLWRyb3Auc3RyYXRlZ3knO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9kcmFnLWRyb3AvZHJhZy1kcm9wLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2ZpbHRlci9maWx0ZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZm9jdXMvZm9jdXMuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZm9yLW9mL2Zvcl9vZi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9sYXlvdXQvbGF5b3V0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL21hc2svbWFzay5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9yYWRpby9yYWRpby1ncm91cC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9yaXBwbGUvcmlwcGxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3RleHQtaGlnaGxpZ2h0L3RleHQtaGlnaGxpZ2h0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3RleHQtc2VsZWN0aW9uL3RleHQtc2VsZWN0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3RvZ2dsZS90b2dnbGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2RhdGUtdGltZS1lZGl0b3IvcHVibGljX2FwaSc7XG5cbi8qKlxuICogRGF0YSBvcGVyYXRpb25zXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9maWx0ZXJpbmctZXhwcmVzc2lvbi5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS1vcGVyYXRpb25zL2ZpbHRlcmluZy1leHByZXNzaW9ucy10cmVlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9maWx0ZXJpbmctY29uZGl0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9maWx0ZXJpbmctc3RhdGUuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9maWx0ZXJpbmctc3RyYXRlZ3knO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS1vcGVyYXRpb25zL2dyb3VwYnktZXhwYW5kLXN0YXRlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBieS1yZWNvcmQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9ncm91cGJ5LXN0YXRlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBpbmctZXhwcmVzc2lvbi5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS1vcGVyYXRpb25zL2dyb3VwaW5nLXN0cmF0ZWd5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9zb3J0aW5nLWV4cHJlc3Npb24uaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9zb3J0aW5nLXN0cmF0ZWd5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9wYWdpbmctc3RhdGUuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9kYXRhLXV0aWwnO1xuXG4vKipcbiAqIENvbXBvbmVudHNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWN0aW9uLXN0cmlwL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWNjb3JkaW9uL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFkZ2UvYmFkZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhbm5lci9iYW5uZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2J1dHRvbkdyb3VwL2J1dHRvbkdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWxlbmRhci9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhcmQvY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2Fyb3VzZWwvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hpcHMvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21iby9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NpbXBsZS1jb21iby9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtcGlja2VyL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJvcC1kb3duL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZHMvY29tbW9uL2VudW1zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL2NvbW1vbi9ldmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZHMvZmlsdGVyaW5nL2V4Y2VsLXN0eWxlL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZHMvZ3JpZC9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL3RyZWUtZ3JpZC9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL2hpZXJhcmNoaWNhbC1ncmlkL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZHMvY29sdW1ucy90ZW1wbGF0ZXMuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL2NvbHVtbnMvY29sdW1uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy9jb2x1bW5zL2NvbHVtbi1ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZHMvY29sdW1ucy9jb2x1bW4tbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy9oaWVyYXJjaGljYWwtZ3JpZC9oaWVyYXJjaGljYWwtZ3JpZC5waXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pY29uL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW5wdXQtZ3JvdXAvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9saXN0L3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZXhwYW5zaW9uLXBhbmVsL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmF2YmFyL25hdmJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmF2aWdhdGlvbi1kcmF3ZXIvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdpbmF0b3IvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdpbmF0b3IvcGFnaW5hdG9yLWludGVyZmFjZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvZ3Jlc3NiYXIvcHJvZ3Jlc3NiYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JhZGlvL3JhZGlvLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbGlkZXIvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbmFja2Jhci9zbmFja2Jhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3dpdGNoL3N3aXRjaC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFicy9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYnMvYm90dG9tLW5hdi9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYnMvdGFicy9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2FzdC90b2FzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VsZWN0L3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3BsaXR0ZXIvc3BsaXR0ZXItcGFuZS9zcGxpdHRlci1wYW5lLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zcGxpdHRlci9zcGxpdHRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3BsaXR0ZXIvc3BsaXR0ZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtcmFuZ2UtcGlja2VyL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS1jb21tb24vcHVibGljX2FwaSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL2NvbHVtbi1hY3Rpb25zL2NvbHVtbi1hY3Rpb25zLWJhc2UuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL2NvbHVtbi1hY3Rpb25zL2NvbHVtbi1hY3Rpb25zLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90cmVlL3B1YmxpY19hcGknO1xuXG4vKipcbiAqIEV4cG9ydGVyIHNlcnZpY2VzLCBjbGFzc2VzLCBpbnRlcmZhY2VzIGFuZCBlbnVtc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvZGF0ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9kZW5zaXR5JztcbmV4cG9ydCB7IENhbmNlbGFibGVFdmVudEFyZ3MsIENhbmNlbGFibGVCcm93c2VyRXZlbnRBcmdzIH0gZnJvbSAnLi9saWIvY29yZS91dGlscyc7XG5leHBvcnQgeyBjaGFuZ2VpMThuLCBnZXRDdXJyZW50UmVzb3VyY2VTdHJpbmdzLCBJUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL3Jlc291cmNlcyc7XG5leHBvcnQgeyBJQ2Fyb3VzZWxSZXNvdXJjZVN0cmluZ3MgfSBmcm9tICcuL2xpYi9jb3JlL2kxOG4vY2Fyb3VzZWwtcmVzb3VyY2VzJztcbmV4cG9ydCB7IElHcmlkUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL2dyaWQtcmVzb3VyY2VzJztcbmV4cG9ydCB7IElQYWdpbmF0b3JSZXNvdXJjZVN0cmluZ3MgfSBmcm9tICcuL2xpYi9jb3JlL2kxOG4vcGFnaW5hdG9yLXJlc291cmNlcyc7XG5leHBvcnQgeyBJQ2FsZW5kYXJSZXNvdXJjZVN0cmluZ3MgfSBmcm9tICcuL2xpYi9jb3JlL2kxOG4vY2FsZW5kYXItcmVzb3VyY2VzJztcbmV4cG9ydCB7IElUaW1lUGlja2VyUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL3RpbWUtcGlja2VyLXJlc291cmNlcyc7XG5leHBvcnQgeyBJRGF0ZVBpY2tlclJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4vbGliL2NvcmUvaTE4bi9kYXRlLXBpY2tlci1yZXNvdXJjZXMnO1xuZXhwb3J0IHsgSURhdGVSYW5nZVBpY2tlclJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4vbGliL2NvcmUvaTE4bi9kYXRlLXJhbmdlLXBpY2tlci1yZXNvdXJjZXMnO1xuZXhwb3J0IHsgSUxpc3RSZXNvdXJjZVN0cmluZ3MgfSBmcm9tICcuL2xpYi9jb3JlL2kxOG4vbGlzdC1yZXNvdXJjZXMnO1xuZXhwb3J0IHsgSVRyZWVSZXNvdXJjZVN0cmluZ3MgfSBmcm9tICcuL2xpYi9jb3JlL2kxOG4vdHJlZS1yZXNvdXJjZXMnO1xuZXhwb3J0IHsgSUlucHV0UmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL2lucHV0LXJlc291cmNlcyc7XG5leHBvcnQgeyBJQ2hpcFJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4vbGliL2NvcmUvaTE4bi9jaGlwLXJlc291cmNlcyc7XG5leHBvcnQgeyBJQWN0aW9uU3RyaXBSZXNvdXJjZVN0cmluZ3MgfSBmcm9tICcuL2xpYi9jb3JlL2kxOG4vYWN0aW9uLXN0cmlwLXJlc291cmNlcyc7XG5leHBvcnQgeyBQaWNrZXJJbnRlcmFjdGlvbk1vZGUgfSBmcm9tICcuL2xpYi9kYXRlLWNvbW1vbi90eXBlcyc7XG5leHBvcnQgeyBTcGxpdHRlclR5cGUgfSBmcm9tICcuL2xpYi9zcGxpdHRlci9zcGxpdHRlci5jb21wb25lbnQnO1xuIl19