igniteui-angular 12.3.44 → 12.3.45

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.
@@ -126,6 +126,16 @@ export class IgxAutocompleteDirective extends IgxDropDownItemNavigationDirective
126
126
  onInput() {
127
127
  this.open();
128
128
  }
129
+ /** @hidden @internal */
130
+ onCompositionStart() {
131
+ if (!this._composing) {
132
+ this._composing = true;
133
+ }
134
+ }
135
+ /** @hidden @internal */
136
+ onCompositionEnd() {
137
+ this._composing = false;
138
+ }
129
139
  /** @hidden @internal */
130
140
  onArrowDown(event) {
131
141
  event.preventDefault();
@@ -137,7 +147,7 @@ export class IgxAutocompleteDirective extends IgxDropDownItemNavigationDirective
137
147
  }
138
148
  /** @hidden @internal */
139
149
  handleKeyDown(event) {
140
- if (!this.collapsed) {
150
+ if (!this.collapsed && !this._composing) {
141
151
  switch (event.key.toLowerCase()) {
142
152
  case 'space':
143
153
  case 'spacebar':
@@ -284,6 +294,8 @@ IgxAutocompleteDirective.propDecorators = {
284
294
  ariaActiveDescendant: [{ type: HostBinding, args: ['attr.aria-activedescendant',] }],
285
295
  ariaAutocomplete: [{ type: HostBinding, args: ['attr.aria-autocomplete',] }],
286
296
  onInput: [{ type: HostListener, args: ['input',] }],
297
+ onCompositionStart: [{ type: HostListener, args: ['compositionstart',] }],
298
+ onCompositionEnd: [{ type: HostListener, args: ['compositionend',] }],
287
299
  onArrowDown: [{ type: HostListener, args: ['keydown.ArrowDown', ['$event'],] }, { type: HostListener, args: ['keydown.Alt.ArrowDown', ['$event'],] }, { type: HostListener, args: ['keydown.ArrowUp', ['$event'],] }, { type: HostListener, args: ['keydown.Alt.ArrowUp', ['$event'],] }],
288
300
  onTab: [{ type: HostListener, args: ['keydown.Tab',] }, { type: HostListener, args: ['keydown.Shift.Tab',] }]
289
301
  };
@@ -297,4 +309,4 @@ IgxAutocompleteModule.decorators = [
297
309
  exports: [IgxAutocompleteDirective]
298
310
  },] }
299
311
  ];
300
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9kaXJlY3RpdmVzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFFUixRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLG9CQUFvQixFQUl2QixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFFSCxrQ0FBa0MsRUFDbEMsaUJBQWlCLEVBRXBCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUF3QnRFOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBS0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGtDQUFrQztJQThJNUUsWUFBMkQsT0FBZ0IsRUFDaEIsV0FBNEIsRUFDN0QsS0FBNkIsRUFDekMsVUFBc0IsRUFDdEIsR0FBc0I7UUFDaEMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBTDJDLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBQzdELFVBQUssR0FBTCxLQUFLLENBQXdCO1FBQ3pDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFyR3BDLHdCQUF3QjtRQUVqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRXhCLHlCQUF5QjtRQUVsQixTQUFJLEdBQUcsVUFBVSxDQUFDO1FBRXpCOzs7Ozs7Ozs7Ozs7Ozs7V0FlRztRQUVJLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFeEI7Ozs7OztXQU1HO1FBRUksc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQTBDLENBQUM7UUEwRDlFLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBU2pDLENBQUM7SUFuSkQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxJQUNXLE1BQU07UUFDYixPQUFPLElBQUksQ0FBQyxPQUErQixDQUFDO0lBQ2hELENBQUM7SUFDRCxJQUFXLE1BQU0sQ0FBQyxDQUF1QjtRQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBK0RELHdCQUF3QjtJQUN4QixJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUN6QyxDQUFDO0lBRUQsd0JBQXdCO0lBQ3hCLElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5RSxDQUFDO0lBRUQsSUFBWSxRQUFRO1FBQ2hCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDcEYsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUM1RSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsTUFBTSxxQkFBcUIsR0FBc0IsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25GLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUNyQyxRQUFRLENBQUMsZ0JBQWdCLEdBQUcscUJBQXFCLENBQUM7U0FDckQ7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRUQseUJBQXlCO0lBQ3pCLElBQ1csWUFBWTtRQUNuQixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMzQixDQUFDO0lBRUQseUJBQXlCO0lBQ3pCLElBQ1csUUFBUTtRQUNmLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFFRCx5QkFBeUI7SUFDekIsSUFDVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUM5QixDQUFDO0lBRUQseUJBQXlCO0lBQ3pCLElBQ1csb0JBQW9CO1FBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDakcsQ0FBQztJQUVELHlCQUF5QjtJQUN6QixJQUNXLGdCQUFnQjtRQUN2QixPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBR0QsSUFBYyxLQUFLO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUMsQ0FBQztJQWNELHlCQUF5QjtJQUVsQixPQUFPO1FBQ1YsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCx5QkFBeUI7SUFLbEIsV0FBVyxDQUFDLEtBQVk7UUFDM0IsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQseUJBQXlCO0lBR2xCLEtBQUs7UUFDUixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELHlCQUF5QjtJQUNsQixhQUFhLENBQUMsS0FBSztRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNqQixRQUFRLEtBQUssQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEVBQUU7Z0JBQzdCLEtBQUssT0FBTyxDQUFDO2dCQUNiLEtBQUssVUFBVSxDQUFDO2dCQUNoQixLQUFLLEdBQUcsQ0FBQztnQkFDVCxLQUFLLE1BQU0sQ0FBQztnQkFDWixLQUFLLEtBQUs7b0JBQ04sT0FBTztnQkFDWDtvQkFDSSxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2xDO1NBQ0o7SUFDTCxDQUFDO0lBRUQseUJBQXlCO0lBQ2xCLGtCQUFrQjtRQUNyQixLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQseUJBQXlCO0lBQ2xCLGdCQUFnQjtRQUNuQixLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQseUJBQXlCO0lBQ2xCLFlBQVk7UUFDZixLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELHlCQUF5QjtJQUNsQixhQUFhO1FBQ2hCLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLO1FBQ1IsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksSUFBSTtRQUNQLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN2RSxPQUFPO1NBQ1Y7UUFDRCx5RkFBeUY7UUFDekYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELHdCQUF3QjtJQUNqQixRQUFRO1FBQ1gsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN6QyxJQUFJLENBQUMsZUFBZSxHQUFHO1lBQ25CLE1BQU0sRUFBRSxhQUFhO1lBQ3JCLEtBQUssRUFBRSxLQUFLO1lBQ1osY0FBYyxFQUFFLElBQUksc0JBQXNCLEVBQUU7WUFDNUMsZ0JBQWdCLEVBQUUsSUFBSSxvQkFBb0IsRUFBRTtZQUM1Qyx1QkFBdUIsRUFBRSxDQUFDLGFBQWEsQ0FBQztTQUMzQyxDQUFDO0lBQ04sQ0FBQztJQUVELGNBQWM7SUFDUCxXQUFXO1FBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxlQUFlO1FBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdkUsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO29CQUNqQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztpQkFDN0I7cUJBQU0sSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO29CQUMzQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7aUJBQ2Y7YUFDSjtpQkFBTTtnQkFDSCxnSEFBZ0g7Z0JBQ2hILHdEQUF3RDtnQkFDeEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUN2QjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ25HLENBQUM7SUFFRCxJQUFZLFNBQVM7UUFDakIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3RELENBQUM7SUFFTyxNQUFNLENBQUMsS0FBMEI7UUFDckMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUU7WUFDckIsT0FBTztTQUNWO1FBQ0QsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyx3RkFBd0Y7UUFDN0csTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDMUMsTUFBTSxJQUFJLEdBQTJDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDeEYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDYixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFYixxRkFBcUY7UUFDckYsd0dBQXdHO1FBQ3hHLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN6QzthQUFNO1lBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQztJQUFBLENBQUM7SUFFTSxrQkFBa0I7UUFDdEIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRTtZQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUNsQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBQUEsQ0FBQzs7O1lBbFRMLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QixRQUFRLEVBQUUsaUJBQWlCO2FBQzlCOzs7WUE5RFEsT0FBTyx1QkE2TUMsSUFBSSxZQUFJLFFBQVEsWUFBSSxNQUFNLFNBQUMsT0FBTztZQTdNakMsZUFBZSx1QkE4TXhCLElBQUksWUFBSSxRQUFRLFlBQUksTUFBTSxTQUFDLGVBQWU7WUE1TDFDLHNCQUFzQix1QkE2THRCLFFBQVE7WUE3TmIsVUFBVTtZQUZWLGlCQUFpQjs7O3FCQTRGaEIsS0FBSyxTQUFDLGlCQUFpQjttQ0E2QnZCLEtBQUssU0FBQyx5QkFBeUI7dUJBSS9CLFdBQVcsU0FBQyxtQkFBbUI7bUJBSS9CLFdBQVcsU0FBQyxXQUFXO3VCQW1CdkIsS0FBSyxTQUFDLHlCQUF5QjtnQ0FVL0IsTUFBTTsyQkF5Qk4sV0FBVyxTQUFDLG9CQUFvQjt1QkFNaEMsV0FBVyxTQUFDLG9CQUFvQjt1QkFNaEMsV0FBVyxTQUFDLGdCQUFnQjttQ0FNNUIsV0FBVyxTQUFDLDRCQUE0QjsrQkFNeEMsV0FBVyxTQUFDLHdCQUF3QjtzQkF1QnBDLFlBQVksU0FBQyxPQUFPOzBCQU1wQixZQUFZLFNBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLENBQUMsY0FDNUMsWUFBWSxTQUFDLHVCQUF1QixFQUFFLENBQUMsUUFBUSxDQUFDLGNBQ2hELFlBQVksU0FBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxjQUMxQyxZQUFZLFNBQUMscUJBQXFCLEVBQUUsQ0FBQyxRQUFRLENBQUM7b0JBTzlDLFlBQVksU0FBQyxhQUFhLGNBQzFCLFlBQVksU0FBQyxtQkFBbUI7O0FBeUlyQyxjQUFjO0FBTWQsTUFBTSxPQUFPLHFCQUFxQjs7O1lBTGpDLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxZQUFZLENBQUM7Z0JBQzFDLFlBQVksRUFBRSxDQUFDLHdCQUF3QixDQUFDO2dCQUN4QyxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQzthQUN0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdNb2R1bGUsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTZWxmLFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgT25Jbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdNb2RlbCwgRm9ybUNvbnRyb2xOYW1lIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENhbmNlbGFibGVFdmVudEFyZ3MsIElCYXNlRXZlbnRBcmdzIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XG5pbXBvcnQge1xuICAgIEFic29sdXRlU2Nyb2xsU3RyYXRlZ3ksXG4gICAgQXV0b1Bvc2l0aW9uU3RyYXRlZ3ksXG4gICAgSVBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgSVNjcm9sbFN0cmF0ZWd5LFxuICAgIE92ZXJsYXlTZXR0aW5nc1xufSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wdWJsaWNfYXBpJztcbmltcG9ydCB7XG4gICAgSWd4RHJvcERvd25Db21wb25lbnQsXG4gICAgSWd4RHJvcERvd25JdGVtTmF2aWdhdGlvbkRpcmVjdGl2ZSxcbiAgICBJZ3hEcm9wRG93bk1vZHVsZSxcbiAgICBJU2VsZWN0aW9uRXZlbnRBcmdzXG59IGZyb20gJy4uLy4uL2Ryb3AtZG93bi9wdWJsaWNfYXBpJztcbmltcG9ydCB7IElneElucHV0R3JvdXBDb21wb25lbnQgfSBmcm9tICcuLi8uLi9pbnB1dC1ncm91cC9wdWJsaWNfYXBpJztcbmltcG9ydCB7IElneE92ZXJsYXlPdXRsZXREaXJlY3RpdmUgfSBmcm9tICcuLi90b2dnbGUvdG9nZ2xlLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogSW50ZXJmYWNlIHRoYXQgZW5jYXBzdWxhdGVzIG9uSXRlbVNlbGVjdGlvbiBldmVudCBhcmd1bWVudHMgLSBuZXcgdmFsdWUgYW5kIGNhbmNlbCBzZWxlY3Rpb24uXG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9jb21wbGV0ZVNlbGVjdGlvbkNoYW5naW5nRXZlbnRBcmdzIGV4dGVuZHMgQ2FuY2VsYWJsZUV2ZW50QXJncywgSUJhc2VFdmVudEFyZ3Mge1xuICAgIC8qKlxuICAgICAqIE5ldyB2YWx1ZSBzZWxlY3RlZCBmcm9tIHRoZSBkcm9wIGRvd25cbiAgICAgKi9cbiAgICB2YWx1ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9jb21wbGV0ZU92ZXJsYXlTZXR0aW5ncyB7XG4gICAgLyoqIFBvc2l0aW9uIHN0cmF0ZWd5IHRvIHVzZSB3aXRoIHRoaXMgc2V0dGluZ3MgKi9cbiAgICBwb3NpdGlvblN0cmF0ZWd5PzogSVBvc2l0aW9uU3RyYXRlZ3k7XG4gICAgLyoqIFNjcm9sbCBzdHJhdGVneSB0byB1c2Ugd2l0aCB0aGlzIHNldHRpbmdzICovXG4gICAgc2Nyb2xsU3RyYXRlZ3k/OiBJU2Nyb2xsU3RyYXRlZ3k7XG4gICAgLyoqIFNldCB0aGUgb3V0bGV0IGNvbnRhaW5lciB0byBhdHRhY2ggdGhlIG92ZXJsYXkgdG8gKi9cbiAgICBvdXRsZXQ/OiBJZ3hPdmVybGF5T3V0bGV0RGlyZWN0aXZlIHwgRWxlbWVudFJlZjtcbn1cblxuLyoqXG4gKiAqKklnbml0ZSBVSSBmb3IgQW5ndWxhciBBdXRvY29tcGxldGUqKiAtXG4gKiBbRG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly93d3cuaW5mcmFnaXN0aWNzLmNvbS9wcm9kdWN0cy9pZ25pdGUtdWktYW5ndWxhci9hbmd1bGFyL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlLmh0bWwpXG4gKlxuICogVGhlIGlneEF1dG9jb21wbGV0ZSBkaXJlY3RpdmUgcHJvdmlkZXMgYSB3YXkgdG8gZW5oYW5jZSBhIHRleHQgaW5wdXRcbiAqIGJ5IHNob3dpbmcgYSBkcm9wIGRvd24gb2Ygc3VnZ2VzdGVkIG9wdGlvbnMsIHByb3ZpZGVkIGJ5IHRoZSBkZXZlbG9wZXIuXG4gKlxuICogRXhhbXBsZTpcbiAqIGBgYGh0bWxcbiAqIDxpbnB1dCB0eXBlPVwidGV4dFwiIFtpZ3hBdXRvY29tcGxldGVdPVwidG93bnNQYW5lbFwiICNhdXRvY29tcGxldGVSZWY9XCJpZ3hBdXRvY29tcGxldGVcIi8+XG4gKiA8aWd4LWRyb3AtZG93biAjdG93bnNQYW5lbD5cbiAqICAgICA8aWd4LWRyb3AtZG93bi1pdGVtICpuZ0Zvcj1cImxldCB0b3duIG9mIHRvd25zIHwgc3RhcnRzV2l0aDp0b3duU2VsZWN0ZWRcIiBbdmFsdWVdPVwidG93blwiPlxuICogICAgICAgICB7e3Rvd259fVxuICogICAgIDwvaWd4LWRyb3AtZG93bi1pdGVtPlxuICogPC9pZ3gtZHJvcC1kb3duPlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2lneEF1dG9jb21wbGV0ZV0nLFxuICAgIGV4cG9ydEFzOiAnaWd4QXV0b2NvbXBsZXRlJ1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hBdXRvY29tcGxldGVEaXJlY3RpdmUgZXh0ZW5kcyBJZ3hEcm9wRG93bkl0ZW1OYXZpZ2F0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95LCBBZnRlclZpZXdJbml0LCBPbkluaXQge1xuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHRhcmdldCBvZiB0aGUgYXV0b2NvbXBsZXRlIGRpcmVjdGl2ZVxuICAgICAqXG4gICAgICogYGBgaHRtbFxuICAgICAqIDwhLS0gU2V0IC0tPlxuICAgICAqIDxpbnB1dCBbaWd4QXV0b2NvbXBsZXRlXT1cImRyb3Bkb3duXCIgLz5cbiAgICAgKiAuLi5cbiAgICAgKiA8aWd4LWRyb3AtZG93biAjZHJvcGRvd24+XG4gICAgICogLi4uXG4gICAgICogPC9pZ3gtZHJvcC1kb3duPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgnaWd4QXV0b2NvbXBsZXRlJylcbiAgICBwdWJsaWMgZ2V0IHRhcmdldCgpOiBJZ3hEcm9wRG93bkNvbXBvbmVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLl90YXJnZXQgYXMgSWd4RHJvcERvd25Db21wb25lbnQ7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgdGFyZ2V0KHY6IElneERyb3BEb3duQ29tcG9uZW50KSB7XG4gICAgICAgIHRoaXMuX3RhcmdldCA9IHY7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvdmlkZSBvdmVybGF5IHNldHRpbmdzIGZvciB0aGUgYXV0b2NvbXBsZXRlIGRyb3AgZG93blxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIC8vIGdldFxuICAgICAqIGxldCBzZXR0aW5ncyA9IHRoaXMuYXV0b2NvbXBsZXRlLmF1dG9jb21wbGV0ZVNldHRpbmdzO1xuICAgICAqIGBgYFxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8IS0tc2V0LS0+XG4gICAgICogPGlucHV0IHR5cGU9XCJ0ZXh0XCIgW2lneEF1dG9jb21wbGV0ZV09XCJ0b3duc1BhbmVsXCIgW2lneEF1dG9jb21wbGV0ZVNldHRpbmdzXT1cInNldHRpbmdzXCIvPlxuICAgICAqIGBgYFxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiAvLyBzZXRcbiAgICAgKiB0aGlzLnNldHRpbmdzID0ge1xuICAgICAqICBwb3NpdGlvblN0cmF0ZWd5OiBuZXcgQ29ubmVjdGVkUG9zaXRpb25pbmdTdHJhdGVneSh7XG4gICAgICogICAgICBjbG9zZUFuaW1hdGlvbjogbnVsbCxcbiAgICAgKiAgICAgIG9wZW5BbmltYXRpb246IG51bGxcbiAgICAgKiAgfSlcbiAgICAgKiB9O1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgnaWd4QXV0b2NvbXBsZXRlU2V0dGluZ3MnKVxuICAgIHB1YmxpYyBhdXRvY29tcGxldGVTZXR0aW5nczogQXV0b2NvbXBsZXRlT3ZlcmxheVNldHRpbmdzO1xuXG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmF1dG9jb21wbGV0ZScpXG4gICAgcHVibGljIGF1dG9maWxsID0gJ29mZic7XG5cbiAgICAvKiogQGhpZGRlbiAgQGludGVybmFsICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICAgIHB1YmxpYyByb2xlID0gJ2NvbWJvYm94JztcblxuICAgIC8qKlxuICAgICAqIEVuYWJsZXMvZGlzYWJsZXMgYXV0b2NvbXBsZXRlIGNvbXBvbmVudFxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIC8vIGdldFxuICAgICAqIGxldCBkaXNhYmxlZCA9IHRoaXMuYXV0b2NvbXBsZXRlLmRpc2FibGVkO1xuICAgICAqIGBgYFxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8IS0tc2V0LS0+XG4gICAgICogPGlucHV0IHR5cGU9XCJ0ZXh0XCIgW2lneEF1dG9jb21wbGV0ZV09XCJ0b3duc1BhbmVsXCIgW2lneEF1dG9jb21wbGV0ZURpc2FibGVkXT1cImRpc2FibGVkXCIvPlxuICAgICAqIGBgYFxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiAvLyBzZXRcbiAgICAgKiBwdWJsaWMgZGlzYWJsZWQgPSB0cnVlO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgnaWd4QXV0b2NvbXBsZXRlRGlzYWJsZWQnKVxuICAgIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCBhZnRlciBpdGVtIGZyb20gdGhlIGRyb3AgZG93biBpcyBzZWxlY3RlZFxuICAgICAqXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpbnB1dCBpZ3hJbnB1dCBbaWd4QXV0b2NvbXBsZXRlXT1cInRvd25zUGFuZWxcIiAoc2VsZWN0aW9uQ2hhbmdpbmcpPSdzZWxlY3Rpb25DaGFuZ2luZygkZXZlbnQpJyAvPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBzZWxlY3Rpb25DaGFuZ2luZyA9IG5ldyBFdmVudEVtaXR0ZXI8QXV0b2NvbXBsZXRlU2VsZWN0aW9uQ2hhbmdpbmdFdmVudEFyZ3M+KCk7XG5cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgZ2V0IG5hdGl2ZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgZ2V0IHBhcmVudEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5ncm91cCA/IHRoaXMuZ3JvdXAuZWxlbWVudC5uYXRpdmVFbGVtZW50IDogdGhpcy5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHNldHRpbmdzKCk6IE92ZXJsYXlTZXR0aW5ncyB7XG4gICAgICAgIGNvbnN0IHNldHRpbmdzID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5kZWZhdWx0U2V0dGluZ3MsIHRoaXMuYXV0b2NvbXBsZXRlU2V0dGluZ3MpO1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBzZXR0aW5ncy50YXJnZXQgfHwgc2V0dGluZ3MucG9zaXRpb25TdHJhdGVneS5zZXR0aW5ncy50YXJnZXQ7XG4gICAgICAgIGlmICghdGFyZ2V0KSB7XG4gICAgICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5Q2xvbmU6IElQb3NpdGlvblN0cmF0ZWd5ID0gc2V0dGluZ3MucG9zaXRpb25TdHJhdGVneS5jbG9uZSgpO1xuICAgICAgICAgICAgc2V0dGluZ3MudGFyZ2V0ID0gdGhpcy5wYXJlbnRFbGVtZW50O1xuICAgICAgICAgICAgc2V0dGluZ3MucG9zaXRpb25TdHJhdGVneSA9IHBvc2l0aW9uU3RyYXRlZ3lDbG9uZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2V0dGluZ3M7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gIEBpbnRlcm5hbCAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWV4cGFuZGVkJylcbiAgICBwdWJsaWMgZ2V0IGFyaWFFeHBhbmRlZCgpIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmNvbGxhcHNlZDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAgQGludGVybmFsICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGFzcG9wdXAnKVxuICAgIHB1YmxpYyBnZXQgaGFzUG9wVXAoKSB7XG4gICAgICAgIHJldHVybiAnbGlzdGJveCc7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gIEBpbnRlcm5hbCAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLW93bnMnKVxuICAgIHB1YmxpYyBnZXQgYXJpYU93bnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhcmdldC5saXN0SWQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gIEBpbnRlcm5hbCAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWFjdGl2ZWRlc2NlbmRhbnQnKVxuICAgIHB1YmxpYyBnZXQgYXJpYUFjdGl2ZURlc2NlbmRhbnQoKSB7XG4gICAgICAgIHJldHVybiAhdGhpcy50YXJnZXQuY29sbGFwc2VkICYmIHRoaXMudGFyZ2V0LmZvY3VzZWRJdGVtID8gdGhpcy50YXJnZXQuZm9jdXNlZEl0ZW0uaWQgOiBudWxsO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICBAaW50ZXJuYWwgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1hdXRvY29tcGxldGUnKVxuICAgIHB1YmxpYyBnZXQgYXJpYUF1dG9jb21wbGV0ZSgpIHtcbiAgICAgICAgcmV0dXJuICdsaXN0JztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaWQ6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgZ2V0IG1vZGVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5uZ01vZGVsIHx8IHRoaXMuZm9ybUNvbnRyb2w7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2hvdWxkQmVPcGVuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG4gICAgcHJpdmF0ZSBkZWZhdWx0U2V0dGluZ3M6IE92ZXJsYXlTZXR0aW5ncztcblxuICAgIGNvbnN0cnVjdG9yKEBTZWxmKCkgQE9wdGlvbmFsKCkgQEluamVjdChOZ01vZGVsKSBwcm90ZWN0ZWQgbmdNb2RlbDogTmdNb2RlbCxcbiAgICAgICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBASW5qZWN0KEZvcm1Db250cm9sTmFtZSkgcHJvdGVjdGVkIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbE5hbWUsXG4gICAgICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCBncm91cDogSWd4SW5wdXRHcm91cENvbXBvbmVudCxcbiAgICAgICAgcHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKG51bGwpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICBAaW50ZXJuYWwgKi9cbiAgICBASG9zdExpc3RlbmVyKCdpbnB1dCcpXG4gICAgcHVibGljIG9uSW5wdXQoKSB7XG4gICAgICAgIHRoaXMub3BlbigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICBAaW50ZXJuYWwgKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLkFycm93RG93bicsIFsnJGV2ZW50J10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5BbHQuQXJyb3dEb3duJywgWyckZXZlbnQnXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLkFycm93VXAnLCBbJyRldmVudCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uQWx0LkFycm93VXAnLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbkFycm93RG93bihldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gIEBpbnRlcm5hbCAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uVGFiJylcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLlNoaWZ0LlRhYicpXG4gICAgcHVibGljIG9uVGFiKCkge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gIEBpbnRlcm5hbCAqL1xuICAgIHB1YmxpYyBoYW5kbGVLZXlEb3duKGV2ZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5jb2xsYXBzZWQpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoZXZlbnQua2V5LnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdzcGFjZSc6XG4gICAgICAgICAgICAgICAgY2FzZSAnc3BhY2ViYXInOlxuICAgICAgICAgICAgICAgIGNhc2UgJyAnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ2hvbWUnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ2VuZCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBzdXBlci5oYW5kbGVLZXlEb3duKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgb25BcnJvd0Rvd25LZXlEb3duKCkge1xuICAgICAgICBzdXBlci5vbkFycm93RG93bktleURvd24oKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAgQGludGVybmFsICovXG4gICAgcHVibGljIG9uQXJyb3dVcEtleURvd24oKSB7XG4gICAgICAgIHN1cGVyLm9uQXJyb3dVcEtleURvd24oKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAgQGludGVybmFsICovXG4gICAgcHVibGljIG9uRW5kS2V5RG93bigpIHtcbiAgICAgICAgc3VwZXIub25FbmRLZXlEb3duKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gIEBpbnRlcm5hbCAqL1xuICAgIHB1YmxpYyBvbkhvbWVLZXlEb3duKCkge1xuICAgICAgICBzdXBlci5vbkhvbWVLZXlEb3duKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xvc2VzIGF1dG9jb21wbGV0ZSBkcm9wIGRvd25cbiAgICAgKi9cbiAgICBwdWJsaWMgY2xvc2UoKSB7XG4gICAgICAgIHRoaXMuX3Nob3VsZEJlT3BlbiA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5jb2xsYXBzZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRhcmdldC5jbG9zZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9wZW5zIGF1dG9jb21wbGV0ZSBkcm9wIGRvd25cbiAgICAgKi9cbiAgICBwdWJsaWMgb3BlbigpIHtcbiAgICAgICAgdGhpcy5fc2hvdWxkQmVPcGVuID0gdHJ1ZTtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgIXRoaXMuY29sbGFwc2VkIHx8IHRoaXMudGFyZ2V0LmNoaWxkcmVuLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIGlmIG5vIGRyb3AtZG93biB3aWR0aCBpcyBzZXQsIHRoZSBkcm9wLWRvd24gd2lsbCBiZSBhcyB3aWRlIGFzIHRoZSBhdXRvY29tcGxldGUgaW5wdXQ7XG4gICAgICAgIHRoaXMudGFyZ2V0LndpZHRoID0gdGhpcy50YXJnZXQud2lkdGggfHwgKHRoaXMucGFyZW50RWxlbWVudC5jbGllbnRXaWR0aCArICdweCcpO1xuICAgICAgICB0aGlzLnRhcmdldC5vcGVuKHRoaXMuc2V0dGluZ3MpO1xuICAgICAgICB0aGlzLmhpZ2hsaWdodEZpcnN0SXRlbSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IHRoaXMucGFyZW50RWxlbWVudDtcbiAgICAgICAgdGhpcy5kZWZhdWx0U2V0dGluZ3MgPSB7XG4gICAgICAgICAgICB0YXJnZXQ6IHRhcmdldEVsZW1lbnQsXG4gICAgICAgICAgICBtb2RhbDogZmFsc2UsXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogbmV3IEFic29sdXRlU2Nyb2xsU3RyYXRlZ3koKSxcbiAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IG5ldyBBdXRvUG9zaXRpb25TdHJhdGVneSgpLFxuICAgICAgICAgICAgZXhjbHVkZUZyb21PdXRzaWRlQ2xpY2s6IFt0YXJnZXRFbGVtZW50XVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMudGFyZ2V0LmNoaWxkcmVuLmNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy50YXJnZXQuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmNvbGxhcHNlZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhpZ2hsaWdodEZpcnN0SXRlbSgpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5fc2hvdWxkQmVPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gX3Nob3VsZEJlT3BlbiBmbGFnIHNob3VsZCByZW1haW4gdW5jaGFuZ2VkIHNpbmNlIHRoaXMgc3RhdGUgY2hhbmdlIGRvZXNuJ3QgY29tZSBmcm9tIG91dHNpZGUgb2YgdGhlIGNvbXBvbmVudFxuICAgICAgICAgICAgICAgIC8vIChsaWtlIGluIHRoZSBjYXNlIG9mIHB1YmxpYyBBUEkgb3IgdXNlciBpbnRlcmFjdGlvbikuXG4gICAgICAgICAgICAgICAgdGhpcy50YXJnZXQuY2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudGFyZ2V0LnNlbGVjdGlvbkNoYW5naW5nLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUodGhpcy5zZWxlY3QuYmluZCh0aGlzKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgY29sbGFwc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50YXJnZXQgPyB0aGlzLnRhcmdldC5jb2xsYXBzZWQgOiB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2VsZWN0KHZhbHVlOiBJU2VsZWN0aW9uRXZlbnRBcmdzKSB7XG4gICAgICAgIGlmICghdmFsdWUubmV3U2VsZWN0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdmFsdWUuY2FuY2VsID0gdHJ1ZTsgLy8gRGlzYWJsZSBzZWxlY3Rpb24gaW4gdGhlIGRyb3AgZG93biwgYmVjYXVzZSBpbiBhdXRvY29tcGxldGUgd2UgZG8gbm90IHNhdmUgc2VsZWN0aW9uLlxuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHZhbHVlLm5ld1NlbGVjdGlvbi52YWx1ZTtcbiAgICAgICAgY29uc3QgYXJnczogQXV0b2NvbXBsZXRlU2VsZWN0aW9uQ2hhbmdpbmdFdmVudEFyZ3MgPSB7IHZhbHVlOiBuZXdWYWx1ZSwgY2FuY2VsOiBmYWxzZSB9O1xuICAgICAgICB0aGlzLnNlbGVjdGlvbkNoYW5naW5nLmVtaXQoYXJncyk7XG4gICAgICAgIGlmIChhcmdzLmNhbmNlbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcblxuICAgICAgICAvLyBVcGRhdGUgbW9kZWwgYWZ0ZXIgdGhlIGlucHV0IGlzIHJlLWZvY3VzZWQsIGluIG9yZGVyIHRvIGhhdmUgcHJvcGVyIHZhbGlkIHN0eWxpbmcuXG4gICAgICAgIC8vIE90aGVyd2lzZSB3aGVuIGl0ZW0gaXMgc2VsZWN0ZWQgdXNpbmcgbW91c2UgKGFuZCBpbnB1dCBpcyBibHVycmVkKSwgdGhlbiB2YWxpZCBzdHlsZSB3aWxsIGJlIHJlbW92ZWQuXG4gICAgICAgIGlmICh0aGlzLm1vZGVsKSB7XG4gICAgICAgICAgICB0aGlzLm1vZGVsLmNvbnRyb2wuc2V0VmFsdWUobmV3VmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnZhbHVlID0gbmV3VmFsdWU7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBoaWdobGlnaHRGaXJzdEl0ZW0oKSB7XG4gICAgICAgIGlmICh0aGlzLnRhcmdldC5mb2N1c2VkSXRlbSkge1xuICAgICAgICAgICAgdGhpcy50YXJnZXQuZm9jdXNlZEl0ZW0uZm9jdXNlZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy50YXJnZXQuZm9jdXNlZEl0ZW0gPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGFyZ2V0Lm5hdmlnYXRlRmlyc3QoKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH07XG59XG5cbi8qKiBAaGlkZGVuICovXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtJZ3hEcm9wRG93bk1vZHVsZSwgQ29tbW9uTW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtJZ3hBdXRvY29tcGxldGVEaXJlY3RpdmVdLFxuICAgIGV4cG9ydHM6IFtJZ3hBdXRvY29tcGxldGVEaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIElneEF1dG9jb21wbGV0ZU1vZHVsZSB7IH1cbiJdfQ==
312
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9kaXJlY3RpdmVzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFFUixRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLG9CQUFvQixFQUl2QixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFFSCxrQ0FBa0MsRUFDbEMsaUJBQWlCLEVBRXBCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUF3QnRFOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBS0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGtDQUFrQztJQStJNUUsWUFBMkQsT0FBZ0IsRUFDaEIsV0FBNEIsRUFDN0QsS0FBNkIsRUFDekMsVUFBc0IsRUFDdEIsR0FBc0I7UUFDaEMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBTDJDLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIsZ0JBQVcsR0FB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LGlCQUFpQjttQ0E2QnZCLEtBQUssU0FBQyx5QkFBeUI7dUJBSS9CLFdBQVcsU0FBQyxtQkFBbUI7bUJBSS9CLFdBQVcsU0FBQyxXQUFXO3VCQW1CdkIsS0FBSyxTQUFDLHlCQUF5QjtnQ0FVL0IsTUFBTTsyQkF5Qk4sV0FBVyxTQUFDLG9CQUFvQjt1QkFNaEMsV0FBVyxTQUFDLG9CQUFvQjt1QkFNaEMsV0FBVyxTQUFDLGdCQUFnQjttQ0FNNUIsV0FBVyxTQUFDLDRCQUE0QjsrQkFNeEMsV0FBVyxTQUFDLHdCQUF3QjtzQkF3QnBDLFlBQVksU0FBQyxPQUFPO2lDQU1wQixZQUFZLFNBQUMsa0JBQWtCOytCQVEvQixZQUFZLFNBQUMsZ0JBQWdCOzBCQU03QixZQUFZLFNBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLENBQUMsY0FDNUMsWUFBWSxTQUFDLHVCQUF1QixFQUFFLENBQUMsUUFBUSxDQUFDLGNBQ2hELFlBQVksU0FBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxjQUMxQyxZQUFZLFNBQUMscUJBQXFCLEVBQUUsQ0FBQyxRQUFRLENBQUM7b0JBTzlDLFlBQVksU0FBQyxhQUFhLGNBQzFCLFlBQVksU0FBQyxtQkFBbUI7O0FBeUlyQyxjQUFjO0FBTWQsTUFBTSxPQUFPLHFCQUFxQjs7O1lBTGpDLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxZQUFZLENBQUM7Z0JBQzFDLFlBQVksRUFBRSxDQUFDLHdCQUF3QixDQUFDO2dCQUN4QyxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQzthQUN0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdNb2R1bGUsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTZWxmLFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgT25Jbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdNb2RlbCwgRm9ybUNvbnRyb2xOYW1lIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENhbmNlbGFibGVFdmVudEFyZ3MsIElCYXNlRXZlbnRBcmdzIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XG5pbXBvcnQge1xuICAgIEFic29sdXRlU2Nyb2xsU3RyYXRlZ3ksXG4gICAgQXV0b1Bvc2l0aW9uU3RyYXRlZ3ksXG4gICAgSVBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgSVNjcm9sbFN0cmF0ZWd5LFxuICAgIE92ZXJsYXlTZXR0aW5nc1xufSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wdWJsaWNfYXBpJztcbmltcG9ydCB7XG4gICAgSWd4RHJvcERvd25Db21wb25lbnQsXG4gICAgSWd4RHJvcERvd25JdGVtTmF2aWdhdGlvbkRpcmVjdGl2ZSxcbiAgICBJZ3hEcm9wRG93bk1vZHVsZSxcbiAgICBJU2VsZWN0aW9uRXZlbnRBcmdzXG59IGZyb20gJy4uLy4uL2Ryb3AtZG93bi9wdWJsaWNfYXBpJztcbmltcG9ydCB7IElneElucHV0R3JvdXBDb21wb25lbnQgfSBmcm9tICcuLi8uLi9pbnB1dC1ncm91cC9wdWJsaWNfYXBpJztcbmltcG9ydCB7IElneE92ZXJsYXlPdXRsZXREaXJlY3RpdmUgfSBmcm9tICcuLi90b2dnbGUvdG9nZ2xlLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogSW50ZXJmYWNlIHRoYXQgZW5jYXBzdWxhdGVzIG9uSXRlbVNlbGVjdGlvbiBldmVudCBhcmd1bWVudHMgLSBuZXcgdmFsdWUgYW5kIGNhbmNlbCBzZWxlY3Rpb24uXG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9jb21wbGV0ZVNlbGVjdGlvbkNoYW5naW5nRXZlbnRBcmdzIGV4dGVuZHMgQ2FuY2VsYWJsZUV2ZW50QXJncywgSUJhc2VFdmVudEFyZ3Mge1xuICAgIC8qKlxuICAgICAqIE5ldyB2YWx1ZSBzZWxlY3RlZCBmcm9tIHRoZSBkcm9wIGRvd25cbiAgICAgKi9cbiAgICB2YWx1ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9jb21wbGV0ZU92ZXJsYXlTZXR0aW5ncyB7XG4gICAgLyoqIFBvc2l0aW9uIHN0cmF0ZWd5IHRvIHVzZSB3aXRoIHRoaXMgc2V0dGluZ3MgKi9cbiAgICBwb3NpdGlvblN0cmF0ZWd5PzogSVBvc2l0aW9uU3RyYXRlZ3k7XG4gICAgLyoqIFNjcm9sbCBzdHJhdGVneSB0byB1c2Ugd2l0aCB0aGlzIHNldHRpbmdzICovXG4gICAgc2Nyb2xsU3RyYXRlZ3k/OiBJU2Nyb2xsU3RyYXRlZ3k7XG4gICAgLyoqIFNldCB0aGUgb3V0bGV0IGNvbnRhaW5lciB0byBhdHRhY2ggdGhlIG92ZXJsYXkgdG8gKi9cbiAgICBvdXRsZXQ/OiBJZ3hPdmVybGF5T3V0bGV0RGlyZWN0aXZlIHwgRWxlbWVudFJlZjtcbn1cblxuLyoqXG4gKiAqKklnbml0ZSBVSSBmb3IgQW5ndWxhciBBdXRvY29tcGxldGUqKiAtXG4gKiBbRG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly93d3cuaW5mcmFnaXN0aWNzLmNvbS9wcm9kdWN0cy9pZ25pdGUtdWktYW5ndWxhci9hbmd1bGFyL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlLmh0bWwpXG4gKlxuICogVGhlIGlneEF1dG9jb21wbGV0ZSBkaXJlY3RpdmUgcHJvdmlkZXMgYSB3YXkgdG8gZW5oYW5jZSBhIHRleHQgaW5wdXRcbiAqIGJ5IHNob3dpbmcgYSBkcm9wIGRvd24gb2Ygc3VnZ2VzdGVkIG9wdGlvbnMsIHByb3ZpZGVkIGJ5IHRoZSBkZXZlbG9wZXIuXG4gKlxuICogRXhhbXBsZTpcbiAqIGBgYGh0bWxcbiAqIDxpbnB1dCB0eXBlPVwidGV4dFwiIFtpZ3hBdXRvY29tcGxldGVdPVwidG93bnNQYW5lbFwiICNhdXRvY29tcGxldGVSZWY9XCJpZ3hBdXRvY29tcGxldGVcIi8+XG4gKiA8aWd4LWRyb3AtZG93biAjdG93bnNQYW5lbD5cbiAqICAgICA8aWd4LWRyb3AtZG93bi1pdGVtICpuZ0Zvcj1cImxldCB0b3duIG9mIHRvd25zIHwgc3RhcnRzV2l0aDp0b3duU2VsZWN0ZWRcIiBbdmFsdWVdPVwidG93blwiPlxuICogICAgICAgICB7e3Rvd259fVxuICogICAgIDwvaWd4LWRyb3AtZG93bi1pdGVtPlxuICogPC9pZ3gtZHJvcC1kb3duPlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2lneEF1dG9jb21wbGV0ZV0nLFxuICAgIGV4cG9ydEFzOiAnaWd4QXV0b2NvbXBsZXRlJ1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hBdXRvY29tcGxldGVEaXJlY3RpdmUgZXh0ZW5kcyBJZ3hEcm9wRG93bkl0ZW1OYXZpZ2F0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95LCBBZnRlclZpZXdJbml0LCBPbkluaXQge1xuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHRhcmdldCBvZiB0aGUgYXV0b2NvbXBsZXRlIGRpcmVjdGl2ZVxuICAgICAqXG4gICAgICogYGBgaHRtbFxuICAgICAqIDwhLS0gU2V0IC0tPlxuICAgICAqIDxpbnB1dCBbaWd4QXV0b2NvbXBsZXRlXT1cImRyb3Bkb3duXCIgLz5cbiAgICAgKiAuLi5cbiAgICAgKiA8aWd4LWRyb3AtZG93biAjZHJvcGRvd24+XG4gICAgICogLi4uXG4gICAgICogPC9pZ3gtZHJvcC1kb3duPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgnaWd4QXV0b2NvbXBsZXRlJylcbiAgICBwdWJsaWMgZ2V0IHRhcmdldCgpOiBJZ3hEcm9wRG93bkNvbXBvbmVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLl90YXJnZXQgYXMgSWd4RHJvcERvd25Db21wb25lbnQ7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgdGFyZ2V0KHY6IElneERyb3BEb3duQ29tcG9uZW50KSB7XG4gICAgICAgIHRoaXMuX3RhcmdldCA9IHY7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvdmlkZSBvdmVybGF5IHNldHRpbmdzIGZvciB0aGUgYXV0b2NvbXBsZXRlIGRyb3AgZG93blxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIC8vIGdldFxuICAgICAqIGxldCBzZXR0aW5ncyA9IHRoaXMuYXV0b2NvbXBsZXRlLmF1dG9jb21wbGV0ZVNldHRpbmdzO1xuICAgICAqIGBgYFxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8IS0tc2V0LS0+XG4gICAgICogPGlucHV0IHR5cGU9XCJ0ZXh0XCIgW2lneEF1dG9jb21wbGV0ZV09XCJ0b3duc1BhbmVsXCIgW2lneEF1dG9jb21wbGV0ZVNldHRpbmdzXT1cInNldHRpbmdzXCIvPlxuICAgICAqIGBgYFxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiAvLyBzZXRcbiAgICAgKiB0aGlzLnNldHRpbmdzID0ge1xuICAgICAqICBwb3NpdGlvblN0cmF0ZWd5OiBuZXcgQ29ubmVjdGVkUG9zaXRpb25pbmdTdHJhdGVneSh7XG4gICAgICogICAgICBjbG9zZUFuaW1hdGlvbjogbnVsbCxcbiAgICAgKiAgICAgIG9wZW5BbmltYXRpb246IG51bGxcbiAgICAgKiAgfSlcbiAgICAgKiB9O1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgnaWd4QXV0b2NvbXBsZXRlU2V0dGluZ3MnKVxuICAgIHB1YmxpYyBhdXRvY29tcGxldGVTZXR0aW5nczogQXV0b2NvbXBsZXRlT3ZlcmxheVNldHRpbmdzO1xuXG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmF1dG9jb21wbGV0ZScpXG4gICAgcHVibGljIGF1dG9maWxsID0gJ29mZic7XG5cbiAgICAvKiogQGhpZGRlbiAgQGludGVybmFsICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICAgIHB1YmxpYyByb2xlID0gJ2NvbWJvYm94JztcblxuICAgIC8qKlxuICAgICAqIEVuYWJsZXMvZGlzYWJsZXMgYXV0b2NvbXBsZXRlIGNvbXBvbmVudFxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIC8vIGdldFxuICAgICAqIGxldCBkaXNhYmxlZCA9IHRoaXMuYXV0b2NvbXBsZXRlLmRpc2FibGVkO1xuICAgICAqIGBgYFxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8IS0tc2V0LS0+XG4gICAgICogPGlucHV0IHR5cGU9XCJ0ZXh0XCIgW2lneEF1dG9jb21wbGV0ZV09XCJ0b3duc1BhbmVsXCIgW2lneEF1dG9jb21wbGV0ZURpc2FibGVkXT1cImRpc2FibGVkXCIvPlxuICAgICAqIGBgYFxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiAvLyBzZXRcbiAgICAgKiBwdWJsaWMgZGlzYWJsZWQgPSB0cnVlO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgnaWd4QXV0b2NvbXBsZXRlRGlzYWJsZWQnKVxuICAgIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCBhZnRlciBpdGVtIGZyb20gdGhlIGRyb3AgZG93biBpcyBzZWxlY3RlZFxuICAgICAqXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpbnB1dCBpZ3hJbnB1dCBbaWd4QXV0b2NvbXBsZXRlXT1cInRvd25zUGFuZWxcIiAoc2VsZWN0aW9uQ2hhbmdpbmcpPSdzZWxlY3Rpb25DaGFuZ2luZygkZXZlbnQpJyAvPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBzZWxlY3Rpb25DaGFuZ2luZyA9IG5ldyBFdmVudEVtaXR0ZXI8QXV0b2NvbXBsZXRlU2VsZWN0aW9uQ2hhbmdpbmdFdmVudEFyZ3M+KCk7XG5cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgZ2V0IG5hdGl2ZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgZ2V0IHBhcmVudEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5ncm91cCA/IHRoaXMuZ3JvdXAuZWxlbWVudC5uYXRpdmVFbGVtZW50IDogdGhpcy5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHNldHRpbmdzKCk6IE92ZXJsYXlTZXR0aW5ncyB7XG4gICAgICAgIGNvbnN0IHNldHRpbmdzID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5kZWZhdWx0U2V0dGluZ3MsIHRoaXMuYXV0b2NvbXBsZXRlU2V0dGluZ3MpO1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBzZXR0aW5ncy50YXJnZXQgfHwgc2V0dGluZ3MucG9zaXRpb25TdHJhdGVneS5zZXR0aW5ncy50YXJnZXQ7XG4gICAgICAgIGlmICghdGFyZ2V0KSB7XG4gICAgICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5Q2xvbmU6IElQb3NpdGlvblN0cmF0ZWd5ID0gc2V0dGluZ3MucG9zaXRpb25TdHJhdGVneS5jbG9uZSgpO1xuICAgICAgICAgICAgc2V0dGluZ3MudGFyZ2V0ID0gdGhpcy5wYXJlbnRFbGVtZW50O1xuICAgICAgICAgICAgc2V0dGluZ3MucG9zaXRpb25TdHJhdGVneSA9IHBvc2l0aW9uU3RyYXRlZ3lDbG9uZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2V0dGluZ3M7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gIEBpbnRlcm5hbCAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWV4cGFuZGVkJylcbiAgICBwdWJsaWMgZ2V0IGFyaWFFeHBhbmRlZCgpIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmNvbGxhcHNlZDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAgQGludGVybmFsICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGFzcG9wdXAnKVxuICAgIHB1YmxpYyBnZXQgaGFzUG9wVXAoKSB7XG4gICAgICAgIHJldHVybiAnbGlzdGJveCc7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gIEBpbnRlcm5hbCAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLW93bnMnKVxuICAgIHB1YmxpYyBnZXQgYXJpYU93bnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhcmdldC5saXN0SWQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gIEBpbnRlcm5hbCAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWFjdGl2ZWRlc2NlbmRhbnQnKVxuICAgIHB1YmxpYyBnZXQgYXJpYUFjdGl2ZURlc2NlbmRhbnQoKSB7XG4gICAgICAgIHJldHVybiAhdGhpcy50YXJnZXQuY29sbGFwc2VkICYmIHRoaXMudGFyZ2V0LmZvY3VzZWRJdGVtID8gdGhpcy50YXJnZXQuZm9jdXNlZEl0ZW0uaWQgOiBudWxsO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICBAaW50ZXJuYWwgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1hdXRvY29tcGxldGUnKVxuICAgIHB1YmxpYyBnZXQgYXJpYUF1dG9jb21wbGV0ZSgpIHtcbiAgICAgICAgcmV0dXJuICdsaXN0JztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2NvbXBvc2luZzogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgaWQ6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgZ2V0IG1vZGVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5uZ01vZGVsIHx8IHRoaXMuZm9ybUNvbnRyb2w7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2hvdWxkQmVPcGVuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG4gICAgcHJpdmF0ZSBkZWZhdWx0U2V0dGluZ3M6IE92ZXJsYXlTZXR0aW5ncztcblxuICAgIGNvbnN0cnVjdG9yKEBTZWxmKCkgQE9wdGlvbmFsKCkgQEluamVjdChOZ01vZGVsKSBwcm90ZWN0ZWQgbmdNb2RlbDogTmdNb2RlbCxcbiAgICAgICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBASW5qZWN0KEZvcm1Db250cm9sTmFtZSkgcHJvdGVjdGVkIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbE5hbWUsXG4gICAgICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCBncm91cDogSWd4SW5wdXRHcm91cENvbXBvbmVudCxcbiAgICAgICAgcHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKG51bGwpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICBAaW50ZXJuYWwgKi9cbiAgICBASG9zdExpc3RlbmVyKCdpbnB1dCcpXG4gICAgcHVibGljIG9uSW5wdXQoKSB7XG4gICAgICAgIHRoaXMub3BlbigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2NvbXBvc2l0aW9uc3RhcnQnKVxuICAgIHB1YmxpYyBvbkNvbXBvc2l0aW9uU3RhcnQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fY29tcG9zaW5nKSB7XG4gICAgICAgICAgICB0aGlzLl9jb21wb3NpbmcgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgQEhvc3RMaXN0ZW5lcignY29tcG9zaXRpb25lbmQnKVxuICAgIHB1YmxpYyBvbkNvbXBvc2l0aW9uRW5kKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jb21wb3NpbmcgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAgQGludGVybmFsICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5BcnJvd0Rvd24nLCBbJyRldmVudCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uQWx0LkFycm93RG93bicsIFsnJGV2ZW50J10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5BcnJvd1VwJywgWyckZXZlbnQnXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLkFsdC5BcnJvd1VwJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgb25BcnJvd0Rvd24oZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMub3BlbigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICBAaW50ZXJuYWwgKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLlRhYicpXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5TaGlmdC5UYWInKVxuICAgIHB1YmxpYyBvblRhYigpIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgaGFuZGxlS2V5RG93bihldmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuY29sbGFwc2VkICYmICF0aGlzLl9jb21wb3NpbmcpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoZXZlbnQua2V5LnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdzcGFjZSc6XG4gICAgICAgICAgICAgICAgY2FzZSAnc3BhY2ViYXInOlxuICAgICAgICAgICAgICAgIGNhc2UgJyAnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ2hvbWUnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ2VuZCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBzdXBlci5oYW5kbGVLZXlEb3duKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgb25BcnJvd0Rvd25LZXlEb3duKCkge1xuICAgICAgICBzdXBlci5vbkFycm93RG93bktleURvd24oKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAgQGludGVybmFsICovXG4gICAgcHVibGljIG9uQXJyb3dVcEtleURvd24oKSB7XG4gICAgICAgIHN1cGVyLm9uQXJyb3dVcEtleURvd24oKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAgQGludGVybmFsICovXG4gICAgcHVibGljIG9uRW5kS2V5RG93bigpIHtcbiAgICAgICAgc3VwZXIub25FbmRLZXlEb3duKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gIEBpbnRlcm5hbCAqL1xuICAgIHB1YmxpYyBvbkhvbWVLZXlEb3duKCkge1xuICAgICAgICBzdXBlci5vbkhvbWVLZXlEb3duKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xvc2VzIGF1dG9jb21wbGV0ZSBkcm9wIGRvd25cbiAgICAgKi9cbiAgICBwdWJsaWMgY2xvc2UoKSB7XG4gICAgICAgIHRoaXMuX3Nob3VsZEJlT3BlbiA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5jb2xsYXBzZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRhcmdldC5jbG9zZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9wZW5zIGF1dG9jb21wbGV0ZSBkcm9wIGRvd25cbiAgICAgKi9cbiAgICBwdWJsaWMgb3BlbigpIHtcbiAgICAgICAgdGhpcy5fc2hvdWxkQmVPcGVuID0gdHJ1ZTtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgIXRoaXMuY29sbGFwc2VkIHx8IHRoaXMudGFyZ2V0LmNoaWxkcmVuLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIGlmIG5vIGRyb3AtZG93biB3aWR0aCBpcyBzZXQsIHRoZSBkcm9wLWRvd24gd2lsbCBiZSBhcyB3aWRlIGFzIHRoZSBhdXRvY29tcGxldGUgaW5wdXQ7XG4gICAgICAgIHRoaXMudGFyZ2V0LndpZHRoID0gdGhpcy50YXJnZXQud2lkdGggfHwgKHRoaXMucGFyZW50RWxlbWVudC5jbGllbnRXaWR0aCArICdweCcpO1xuICAgICAgICB0aGlzLnRhcmdldC5vcGVuKHRoaXMuc2V0dGluZ3MpO1xuICAgICAgICB0aGlzLmhpZ2hsaWdodEZpcnN0SXRlbSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IHRoaXMucGFyZW50RWxlbWVudDtcbiAgICAgICAgdGhpcy5kZWZhdWx0U2V0dGluZ3MgPSB7XG4gICAgICAgICAgICB0YXJnZXQ6IHRhcmdldEVsZW1lbnQsXG4gICAgICAgICAgICBtb2RhbDogZmFsc2UsXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogbmV3IEFic29sdXRlU2Nyb2xsU3RyYXRlZ3koKSxcbiAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IG5ldyBBdXRvUG9zaXRpb25TdHJhdGVneSgpLFxuICAgICAgICAgICAgZXhjbHVkZUZyb21PdXRzaWRlQ2xpY2s6IFt0YXJnZXRFbGVtZW50XVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMudGFyZ2V0LmNoaWxkcmVuLmNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy50YXJnZXQuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmNvbGxhcHNlZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhpZ2hsaWdodEZpcnN0SXRlbSgpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5fc2hvdWxkQmVPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gX3Nob3VsZEJlT3BlbiBmbGFnIHNob3VsZCByZW1haW4gdW5jaGFuZ2VkIHNpbmNlIHRoaXMgc3RhdGUgY2hhbmdlIGRvZXNuJ3QgY29tZSBmcm9tIG91dHNpZGUgb2YgdGhlIGNvbXBvbmVudFxuICAgICAgICAgICAgICAgIC8vIChsaWtlIGluIHRoZSBjYXNlIG9mIHB1YmxpYyBBUEkgb3IgdXNlciBpbnRlcmFjdGlvbikuXG4gICAgICAgICAgICAgICAgdGhpcy50YXJnZXQuY2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudGFyZ2V0LnNlbGVjdGlvbkNoYW5naW5nLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUodGhpcy5zZWxlY3QuYmluZCh0aGlzKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgY29sbGFwc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50YXJnZXQgPyB0aGlzLnRhcmdldC5jb2xsYXBzZWQgOiB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2VsZWN0KHZhbHVlOiBJU2VsZWN0aW9uRXZlbnRBcmdzKSB7XG4gICAgICAgIGlmICghdmFsdWUubmV3U2VsZWN0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdmFsdWUuY2FuY2VsID0gdHJ1ZTsgLy8gRGlzYWJsZSBzZWxlY3Rpb24gaW4gdGhlIGRyb3AgZG93biwgYmVjYXVzZSBpbiBhdXRvY29tcGxldGUgd2UgZG8gbm90IHNhdmUgc2VsZWN0aW9uLlxuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHZhbHVlLm5ld1NlbGVjdGlvbi52YWx1ZTtcbiAgICAgICAgY29uc3QgYXJnczogQXV0b2NvbXBsZXRlU2VsZWN0aW9uQ2hhbmdpbmdFdmVudEFyZ3MgPSB7IHZhbHVlOiBuZXdWYWx1ZSwgY2FuY2VsOiBmYWxzZSB9O1xuICAgICAgICB0aGlzLnNlbGVjdGlvbkNoYW5naW5nLmVtaXQoYXJncyk7XG4gICAgICAgIGlmIChhcmdzLmNhbmNlbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcblxuICAgICAgICAvLyBVcGRhdGUgbW9kZWwgYWZ0ZXIgdGhlIGlucHV0IGlzIHJlLWZvY3VzZWQsIGluIG9yZGVyIHRvIGhhdmUgcHJvcGVyIHZhbGlkIHN0eWxpbmcuXG4gICAgICAgIC8vIE90aGVyd2lzZSB3aGVuIGl0ZW0gaXMgc2VsZWN0ZWQgdXNpbmcgbW91c2UgKGFuZCBpbnB1dCBpcyBibHVycmVkKSwgdGhlbiB2YWxpZCBzdHlsZSB3aWxsIGJlIHJlbW92ZWQuXG4gICAgICAgIGlmICh0aGlzLm1vZGVsKSB7XG4gICAgICAgICAgICB0aGlzLm1vZGVsLmNvbnRyb2wuc2V0VmFsdWUobmV3VmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnZhbHVlID0gbmV3VmFsdWU7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBoaWdobGlnaHRGaXJzdEl0ZW0oKSB7XG4gICAgICAgIGlmICh0aGlzLnRhcmdldC5mb2N1c2VkSXRlbSkge1xuICAgICAgICAgICAgdGhpcy50YXJnZXQuZm9jdXNlZEl0ZW0uZm9jdXNlZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy50YXJnZXQuZm9jdXNlZEl0ZW0gPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGFyZ2V0Lm5hdmlnYXRlRmlyc3QoKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH07XG59XG5cbi8qKiBAaGlkZGVuICovXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtJZ3hEcm9wRG93bk1vZHVsZSwgQ29tbW9uTW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtJZ3hBdXRvY29tcGxldGVEaXJlY3RpdmVdLFxuICAgIGV4cG9ydHM6IFtJZ3hBdXRvY29tcGxldGVEaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIElneEF1dG9jb21wbGV0ZU1vZHVsZSB7IH1cbiJdfQ==
@@ -51,7 +51,7 @@ export class IgxTreeGridRowComponent extends IgxRowDirective {
51
51
  if (isPinnedArea) {
52
52
  treeRec = this.grid.unpinnedRecords.find(x => x.data === this.rowData);
53
53
  }
54
- return treeRec.level === 0;
54
+ return (treeRec === null || treeRec === void 0 ? void 0 : treeRec.level) === 0;
55
55
  }
56
56
  /**
57
57
  * @hidden
@@ -140,4 +140,4 @@ IgxTreeGridRowComponent.propDecorators = {
140
140
  treeRow: [{ type: Input }],
141
141
  expanded: [{ type: HostBinding, args: ['attr.aria-expanded',] }]
142
142
  };
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ncmlkLXJvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvdHJlZS1ncmlkL3RyZWUtZ3JpZC1yb3cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQWEsV0FBVyxFQUFXLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJJLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQVVuRCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsZUFBcUM7SUFXOUU7Ozs7Ozs7T0FPRztJQUNILElBQ1csT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxPQUFPLENBQUMsS0FBc0I7UUFDckMsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssRUFBRTtZQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1NBQ3JDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILElBQVcsTUFBTSxDQUFDLEtBQWM7UUFDNUIsSUFBSSxLQUFLLEVBQUU7WUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDaEM7YUFBTTtZQUNILElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNsQztJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQVcsTUFBTTtRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFD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R0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUMsRUFBRSxDQUFDO2FBQ3BHOzs7cUJBRUksWUFBWSxTQUFDLFVBQVU7c0JBa0J2QixLQUFLO3VCQWdFTCxXQUFXLFNBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgVmlld0NoaWxkcmVuLCBRdWVyeUxpc3QsIEhvc3RCaW5kaW5nLCBEb0NoZWNrLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWd4VHJlZUdyaWRDb21wb25lbnQgfSBmcm9tICcuL3RyZWUtZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWd4Um93RGlyZWN0aXZlIH0gZnJvbSAnLi4vcm93LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJVHJlZUdyaWRSZWNvcmQgfSBmcm9tICcuL3RyZWUtZ3JpZC5pbnRlcmZhY2VzJztcbmltcG9ydCB7IElneFRyZWVHcmlkQVBJU2VydmljZSB9IGZyb20gJy4vdHJlZS1ncmlkLWFwaS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc2VsZWN0b3I6ICdpZ3gtdHJlZS1ncmlkLXJvdycsXG4gICAgdGVtcGxhdGVVcmw6ICd0cmVlLWdyaWQtcm93LmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IElneFJvd0RpcmVjdGl2ZSwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSWd4VHJlZUdyaWRSb3dDb21wb25lbnQpIH1dXG59KVxuZXhwb3J0IGNsYXNzIElneFRyZWVHcmlkUm93Q29tcG9uZW50IGV4dGVuZHMgSWd4Um93RGlyZWN0aXZlPElneFRyZWVHcmlkQ29tcG9uZW50PiBpbXBsZW1lbnRzIERvQ2hlY2sge1xuICAgIEBWaWV3Q2hpbGRyZW4oJ3RyZWVDZWxsJylcbiAgICBwcm90ZWN0ZWQgX2NlbGxzOiBRdWVyeUxpc3Q8YW55PjtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNMb2FkaW5nOiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBfdHJlZVJvdzogSVRyZWVHcmlkUmVjb3JkO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGBJVHJlZUdyaWRSZWNvcmRgIHBhc3NlZCB0byB0aGUgcm93IGNvbXBvbmVudC5cbiAgICAgKlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBjb25zdCByb3cgPSB0aGlzLmdyaWQuZ2V0Um93QnlLZXkoMSkgYXMgSWd4VHJlZUdyaWRSb3dDb21wb25lbnQ7XG4gICAgICogY29uc3QgdHJlZVJvdyA9IHJvdy50cmVlUm93O1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCB0cmVlUm93KCk6IElUcmVlR3JpZFJlY29yZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl90cmVlUm93O1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgdHJlZVJvdyh2YWx1ZTogSVRyZWVHcmlkUmVjb3JkKSB7XG4gICAgICAgIGlmICh0aGlzLl90cmVlUm93ICE9PSB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fdHJlZVJvdyA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5yb3dEYXRhID0gdGhpcy5fdHJlZVJvdy5kYXRhO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB3aGV0aGVyIHRoZSByb3cgaXMgcGlubmVkLlxuICAgICAqIERlZmF1bHQgdmFsdWUgaXMgYGZhbHNlYC5cbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogdGhpcy5ncmlkLnNlbGVjdGVkUm93c1swXS5waW5uZWQgPSB0cnVlO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBzZXQgcGlubmVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5ncmlkLnBpblJvdyh0aGlzLnJvd0lEKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZ3JpZC51bnBpblJvdyh0aGlzLnJvd0lEKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgd2hldGhlciB0aGUgcm93IGlzIHBpbm5lZC5cbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IGlzUGlubmVkID0gcm93LnBpbm5lZDtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHBpbm5lZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JpZC5pc1JlY29yZFBpbm5lZCh0aGlzLl90cmVlUm93KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIGdldCBpc1Jvb3QoKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCB0cmVlUmVjID0gdGhpcy50cmVlUm93O1xuICAgICAgICBjb25zdCBpc1Bpbm5lZEFyZWEgPSB0aGlzLnBpbm5lZCAmJiAhdGhpcy5kaXNhYmxlZDtcbiAgICAgICAgaWYgKGlzUGlubmVkQXJlYSkge1xuICAgICAgICAgICAgdHJlZVJlYyA9IHRoaXMuZ3JpZC51bnBpbm5lZFJlY29yZHMuZmluZCh4ID0+IHguZGF0YSA9PT0gdGhpcy5yb3dEYXRhKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJlZVJlYy5sZXZlbCA9PT0gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIGdldCBoYXNDaGlsZHJlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciB0aGUgcm93IGNvbXBvbmVudCBpcyBleHBhbmRlZC5cbiAgICAgKlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBjb25zdCByb3cgPSB0aGlzLmdyaWQuZ2V0Um93QnlLZXkoMSkgYXMgSWd4VHJlZUdyaWRSb3dDb21wb25lbnQ7XG4gICAgICogY29uc3QgZXhwYW5kZWQgPSByb3cuZXhwYW5kZWQ7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKVxuICAgIHB1YmxpYyBnZXQgZXhwYW5kZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl90cmVlUm93LmV4cGFuZGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgYSB2YWx1ZSBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHJvdyBjb21wb25lbnQgaXMgZXhwYW5kZWQuXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogY29uc3Qgcm93ID0gdGhpcy5ncmlkLmdldFJvd0J5S2V5KDEpIGFzIElneFRyZWVHcmlkUm93Q29tcG9uZW50O1xuICAgICAqIHJvdy5leHBhbmRlZCA9IHRydWU7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIHNldCBleHBhbmRlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICAodGhpcy5ncmlkQVBJIGFzIElneFRyZWVHcmlkQVBJU2VydmljZSkuc2V0X3Jvd19leHBhbnNpb25fc3RhdGUodGhpcy5fdHJlZVJvdy5yb3dJRCwgdmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHZpZXdJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmRleCArIHRoaXMuZ3JpZC5wYWdlICogdGhpcy5ncmlkLnBlclBhZ2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgc2hvd0luZGljYXRvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JpZC5sb2FkQ2hpbGRyZW5PbkRlbWFuZCA/XG4gICAgICAgICAgICB0aGlzLmdyaWQuZXhwYW5zaW9uU3RhdGVzLmhhcyh0aGlzLnJvd0lEKSA/XG4gICAgICAgICAgICAgICAgdGhpcy50cmVlUm93LmNoaWxkcmVuICYmIHRoaXMudHJlZVJvdy5jaGlsZHJlbi5sZW5ndGggOlxuICAgICAgICAgICAgICAgIHRoaXMuZ3JpZC5oYXNDaGlsZHJlbktleSA/XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm93RGF0YVt0aGlzLmdyaWQuaGFzQ2hpbGRyZW5LZXldIDpcbiAgICAgICAgICAgICAgICAgICAgdHJ1ZSA6XG4gICAgICAgICAgICB0aGlzLnRyZWVSb3cuY2hpbGRyZW4gJiYgdGhpcy50cmVlUm93LmNoaWxkcmVuLmxlbmd0aDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIGdldCBpbmRldGVybWluYXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25TZXJ2aWNlLmlzUm93SW5JbmRldGVybWluYXRlU3RhdGUodGhpcy5yb3dJRCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBuZ0RvQ2hlY2soKSB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdGhpcy5ncmlkLmxvYWRDaGlsZHJlbk9uRGVtYW5kID8gdGhpcy5ncmlkLmxvYWRpbmdSb3dzLmhhcyh0aGlzLnJvd0lEKSA6IGZhbHNlO1xuICAgICAgICBzdXBlci5uZ0RvQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTcGF3bnMgdGhlIGFkZCBjaGlsZCByb3cgVUkgZm9yIHRoZSBzcGVjaWZpYyByb3cuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBjb25zdCByb3cgPSB0aGlzLmdyaWQuZ2V0Um93QnlLZXkoMSkgYXMgSWd4VHJlZUdyaWRSb3dDb21wb25lbnQ7XG4gICAgICogcm93LmJlZ2luQWRkQ2hpbGQoKTtcbiAgICAgKiBgYGBcbiAgICAgKiBAcGFyYW0gcm93SURcbiAgICAgKi9cbiAgICBwdWJsaWMgYmVnaW5BZGRDaGlsZCgpIHtcbiAgICAgICAgdGhpcy5ncmlkLmNydWRTZXJ2aWNlLmVudGVyQWRkUm93TW9kZSh0aGlzLCB0cnVlKTtcbiAgICB9XG59XG4iXX0=
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ncmlkLXJvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvdHJlZS1ncmlkL3RyZWUtZ3JpZC1yb3cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQWEsV0FBVyxFQUFXLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJJLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQVVuRCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsZUFBcUM7SUFXOUU7Ozs7Ozs7T0FPRztJQUNILElBQ1csT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxPQUFPLENBQUMsS0FBc0I7UUFDckMsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssRUFBRTtZQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1NBQ3JDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILElBQVcsTUFBTSxDQUFDLEtBQWM7UUFDNUIsSUFBSSxLQUFLLEVBQUU7WUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDaEM7YUFBTTtZQUNILElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNsQztJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQVcsTUFBTTtRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFD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LEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLENBQUM7YUFDcEc7OztxQkFFSSxZQUFZLFNBQUMsVUFBVTtzQkFrQnZCLEtBQUs7dUJBZ0VMLFdBQVcsU0FBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBWaWV3Q2hpbGRyZW4sIFF1ZXJ5TGlzdCwgSG9zdEJpbmRpbmcsIERvQ2hlY2ssIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJZ3hUcmVlR3JpZENvbXBvbmVudCB9IGZyb20gJy4vdHJlZS1ncmlkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJZ3hSb3dEaXJlY3RpdmUgfSBmcm9tICcuLi9yb3cuZGlyZWN0aXZlJztcbmltcG9ydCB7IElUcmVlR3JpZFJlY29yZCB9IGZyb20gJy4vdHJlZS1ncmlkLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgSWd4VHJlZUdyaWRBUElTZXJ2aWNlIH0gZnJvbSAnLi90cmVlLWdyaWQtYXBpLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzZWxlY3RvcjogJ2lneC10cmVlLWdyaWQtcm93JyxcbiAgICB0ZW1wbGF0ZVVybDogJ3RyZWUtZ3JpZC1yb3cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogSWd4Um93RGlyZWN0aXZlLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJZ3hUcmVlR3JpZFJvd0NvbXBvbmVudCkgfV1cbn0pXG5leHBvcnQgY2xhc3MgSWd4VHJlZUdyaWRSb3dDb21wb25lbnQgZXh0ZW5kcyBJZ3hSb3dEaXJlY3RpdmU8SWd4VHJlZUdyaWRDb21wb25lbnQ+IGltcGxlbWVudHMgRG9DaGVjayB7XG4gICAgQFZpZXdDaGlsZHJlbigndHJlZUNlbGwnKVxuICAgIHByb3RlY3RlZCBfY2VsbHM6IFF1ZXJ5TGlzdDxhbnk+O1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBpc0xvYWRpbmc6IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIF90cmVlUm93OiBJVHJlZUdyaWRSZWNvcmQ7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYElUcmVlR3JpZFJlY29yZGAgcGFzc2VkIHRvIHRoZSByb3cgY29tcG9uZW50LlxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGNvbnN0IHJvdyA9IHRoaXMuZ3JpZC5nZXRSb3dCeUtleSgxKSBhcyBJZ3hUcmVlR3JpZFJvd0NvbXBvbmVudDtcbiAgICAgKiBjb25zdCB0cmVlUm93ID0gcm93LnRyZWVSb3c7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IHRyZWVSb3coKTogSVRyZWVHcmlkUmVjb3JkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyZWVSb3c7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCB0cmVlUm93KHZhbHVlOiBJVHJlZUdyaWRSZWNvcmQpIHtcbiAgICAgICAgaWYgKHRoaXMuX3RyZWVSb3cgIT09IHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl90cmVlUm93ID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLnJvd0RhdGEgPSB0aGlzLl90cmVlUm93LmRhdGE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHdoZXRoZXIgdGhlIHJvdyBpcyBwaW5uZWQuXG4gICAgICogRGVmYXVsdCB2YWx1ZSBpcyBgZmFsc2VgLlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiB0aGlzLmdyaWQuc2VsZWN0ZWRSb3dzWzBdLnBpbm5lZCA9IHRydWU7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIHNldCBwaW5uZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmdyaWQucGluUm93KHRoaXMucm93SUQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5ncmlkLnVucGluUm93KHRoaXMucm93SUQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB3aGV0aGVyIHRoZSByb3cgaXMgcGlubmVkLlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsZXQgaXNQaW5uZWQgPSByb3cucGlubmVkO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgcGlubmVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5ncmlkLmlzUmVjb3JkUGlubmVkKHRoaXMuX3RyZWVSb3cpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGlzUm9vdCgpOiBib29sZWFuIHtcbiAgICAgICAgbGV0IHRyZWVSZWMgPSB0aGlzLnRyZWVSb3c7XG4gICAgICAgIGNvbnN0IGlzUGlubmVkQXJlYSA9IHRoaXMucGlubmVkICYmICF0aGlzLmRpc2FibGVkO1xuICAgICAgICBpZiAoaXNQaW5uZWRBcmVhKSB7XG4gICAgICAgICAgICB0cmVlUmVjID0gdGhpcy5ncmlkLnVucGlubmVkUmVjb3Jkcy5maW5kKHggPT4geC5kYXRhID09PSB0aGlzLnJvd0RhdGEpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cmVlUmVjPy5sZXZlbCA9PT0gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIGdldCBoYXNDaGlsZHJlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciB0aGUgcm93IGNvbXBvbmVudCBpcyBleHBhbmRlZC5cbiAgICAgKlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBjb25zdCByb3cgPSB0aGlzLmdyaWQuZ2V0Um93QnlLZXkoMSkgYXMgSWd4VHJlZUdyaWRSb3dDb21wb25lbnQ7XG4gICAgICogY29uc3QgZXhwYW5kZWQgPSByb3cuZXhwYW5kZWQ7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKVxuICAgIHB1YmxpYyBnZXQgZXhwYW5kZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl90cmVlUm93LmV4cGFuZGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgYSB2YWx1ZSBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHJvdyBjb21wb25lbnQgaXMgZXhwYW5kZWQuXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogY29uc3Qgcm93ID0gdGhpcy5ncmlkLmdldFJvd0J5S2V5KDEpIGFzIElneFRyZWVHcmlkUm93Q29tcG9uZW50O1xuICAgICAqIHJvdy5leHBhbmRlZCA9IHRydWU7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIHNldCBleHBhbmRlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICAodGhpcy5ncmlkQVBJIGFzIElneFRyZWVHcmlkQVBJU2VydmljZSkuc2V0X3Jvd19leHBhbnNpb25fc3RhdGUodGhpcy5fdHJlZVJvdy5yb3dJRCwgdmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHZpZXdJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmRleCArIHRoaXMuZ3JpZC5wYWdlICogdGhpcy5ncmlkLnBlclBhZ2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgc2hvd0luZGljYXRvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JpZC5sb2FkQ2hpbGRyZW5PbkRlbWFuZCA/XG4gICAgICAgICAgICB0aGlzLmdyaWQuZXhwYW5zaW9uU3RhdGVzLmhhcyh0aGlzLnJvd0lEKSA/XG4gICAgICAgICAgICAgICAgdGhpcy50cmVlUm93LmNoaWxkcmVuICYmIHRoaXMudHJlZVJvdy5jaGlsZHJlbi5sZW5ndGggOlxuICAgICAgICAgICAgICAgIHRoaXMuZ3JpZC5oYXNDaGlsZHJlbktleSA/XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm93RGF0YVt0aGlzLmdyaWQuaGFzQ2hpbGRyZW5LZXldIDpcbiAgICAgICAgICAgICAgICAgICAgdHJ1ZSA6XG4gICAgICAgICAgICB0aGlzLnRyZWVSb3cuY2hpbGRyZW4gJiYgdGhpcy50cmVlUm93LmNoaWxkcmVuLmxlbmd0aDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIGdldCBpbmRldGVybWluYXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25TZXJ2aWNlLmlzUm93SW5JbmRldGVybWluYXRlU3RhdGUodGhpcy5yb3dJRCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBuZ0RvQ2hlY2soKSB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdGhpcy5ncmlkLmxvYWRDaGlsZHJlbk9uRGVtYW5kID8gdGhpcy5ncmlkLmxvYWRpbmdSb3dzLmhhcyh0aGlzLnJvd0lEKSA6IGZhbHNlO1xuICAgICAgICBzdXBlci5uZ0RvQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTcGF3bnMgdGhlIGFkZCBjaGlsZCByb3cgVUkgZm9yIHRoZSBzcGVjaWZpYyByb3cuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBjb25zdCByb3cgPSB0aGlzLmdyaWQuZ2V0Um93QnlLZXkoMSkgYXMgSWd4VHJlZUdyaWRSb3dDb21wb25lbnQ7XG4gICAgICogcm93LmJlZ2luQWRkQ2hpbGQoKTtcbiAgICAgKiBgYGBcbiAgICAgKiBAcGFyYW0gcm93SURcbiAgICAgKi9cbiAgICBwdWJsaWMgYmVnaW5BZGRDaGlsZCgpIHtcbiAgICAgICAgdGhpcy5ncmlkLmNydWRTZXJ2aWNlLmVudGVyQWRkUm93TW9kZSh0aGlzLCB0cnVlKTtcbiAgICB9XG59XG4iXX0=
@@ -20158,6 +20158,16 @@ class IgxAutocompleteDirective extends IgxDropDownItemNavigationDirective {
20158
20158
  onInput() {
20159
20159
  this.open();
20160
20160
  }
20161
+ /** @hidden @internal */
20162
+ onCompositionStart() {
20163
+ if (!this._composing) {
20164
+ this._composing = true;
20165
+ }
20166
+ }
20167
+ /** @hidden @internal */
20168
+ onCompositionEnd() {
20169
+ this._composing = false;
20170
+ }
20161
20171
  /** @hidden @internal */
20162
20172
  onArrowDown(event) {
20163
20173
  event.preventDefault();
@@ -20169,7 +20179,7 @@ class IgxAutocompleteDirective extends IgxDropDownItemNavigationDirective {
20169
20179
  }
20170
20180
  /** @hidden @internal */
20171
20181
  handleKeyDown(event) {
20172
- if (!this.collapsed) {
20182
+ if (!this.collapsed && !this._composing) {
20173
20183
  switch (event.key.toLowerCase()) {
20174
20184
  case 'space':
20175
20185
  case 'spacebar':
@@ -20316,6 +20326,8 @@ IgxAutocompleteDirective.propDecorators = {
20316
20326
  ariaActiveDescendant: [{ type: HostBinding, args: ['attr.aria-activedescendant',] }],
20317
20327
  ariaAutocomplete: [{ type: HostBinding, args: ['attr.aria-autocomplete',] }],
20318
20328
  onInput: [{ type: HostListener, args: ['input',] }],
20329
+ onCompositionStart: [{ type: HostListener, args: ['compositionstart',] }],
20330
+ onCompositionEnd: [{ type: HostListener, args: ['compositionend',] }],
20319
20331
  onArrowDown: [{ type: HostListener, args: ['keydown.ArrowDown', ['$event'],] }, { type: HostListener, args: ['keydown.Alt.ArrowDown', ['$event'],] }, { type: HostListener, args: ['keydown.ArrowUp', ['$event'],] }, { type: HostListener, args: ['keydown.Alt.ArrowUp', ['$event'],] }],
20320
20332
  onTab: [{ type: HostListener, args: ['keydown.Tab',] }, { type: HostListener, args: ['keydown.Shift.Tab',] }]
20321
20333
  };
@@ -66562,7 +66574,7 @@ class IgxTreeGridRowComponent extends IgxRowDirective {
66562
66574
  if (isPinnedArea) {
66563
66575
  treeRec = this.grid.unpinnedRecords.find(x => x.data === this.rowData);
66564
66576
  }
66565
- return treeRec.level === 0;
66577
+ return (treeRec === null || treeRec === void 0 ? void 0 : treeRec.level) === 0;
66566
66578
  }
66567
66579
  /**
66568
66580
  * @hidden