@bcgov/nr-ngx-component-lib 0.0.50 → 0.0.51

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.
@@ -76,35 +76,38 @@ export class FilterSelectComponent extends NrclBase {
76
76
  if (changes.options) {
77
77
  let pv = JSON.stringify(changes.options.previousValue);
78
78
  let cv = JSON.stringify(changes.options.currentValue);
79
+ // console.log('options',pv,cv)
79
80
  if (pv != cv) {
81
+ this.value = [];
80
82
  this.selection.setValue(null);
81
83
  this.setInputToSelection();
82
84
  this.setFilter();
83
85
  }
84
86
  }
85
87
  if (changes.value) {
86
- let pv = JSON.stringify(changes.value.previousValue);
87
- let cv = JSON.stringify(changes.value.currentValue);
88
- if (pv != cv) {
89
- if (this.value) {
90
- this.hasValue = this.value.length > 0;
91
- this.selection.setValue(this.value);
92
- if (this.selectMax > 1 && this.value.length >= this.selectMax) {
93
- this.selection.disable();
94
- }
95
- else {
96
- this.selection.enable();
97
- }
88
+ // let pv = JSON.stringify( changes.value.previousValue )
89
+ // let cv = JSON.stringify( changes.value.currentValue )
90
+ // console.log('value',pv,cv)
91
+ // if ( pv != cv ) {
92
+ if (this.value) {
93
+ this.hasValue = this.value.length > 0;
94
+ this.selection.setValue(this.value);
95
+ if (this.selectMax > 1 && this.value.length >= this.selectMax) {
96
+ this.selection.disable();
98
97
  }
99
98
  else {
100
- this.hasValue = false;
101
- this.selection.setValue(null);
102
99
  this.selection.enable();
103
100
  }
104
- this.setFilter();
105
- this.setInputToSelection();
106
- this.changeDetectorRef.detectChanges();
107
101
  }
102
+ else {
103
+ this.hasValue = false;
104
+ this.selection.setValue(null);
105
+ this.selection.enable();
106
+ }
107
+ this.setFilter();
108
+ this.setInputToSelection();
109
+ this.changeDetectorRef.detectChanges();
110
+ // }
108
111
  }
109
112
  }
110
113
  ngAfterViewInit() {
@@ -344,4 +347,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
344
347
  }], valueChange: [{
345
348
  type: Output
346
349
  }] } });
347
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uci1uZ3gtY29tcG9uZW50LWxpYi9zcmMvY29tcG9uZW50cy9maWx0ZXItc2VsZWN0L2ZpbHRlci1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvZmlsdGVyLXNlbGVjdC9maWx0ZXItc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUVILGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLGVBQWUsRUFJZixNQUFNLEVBRU4sV0FBVyxFQUNYLFNBQVMsRUFDVCxnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7O0FBRXpEOzs7Ozs7OztHQVFHO0FBY0gsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFFBQVE7SUFibkQ7O1FBY0ksc0JBQWlCLEdBQUcsTUFBTSxDQUFFLGlCQUFpQixDQUFFLENBQUE7UUFDL0MsWUFBTyxHQUFHLE1BQU0sQ0FBRSxPQUFPLENBQUUsQ0FBQTtRQUMz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bSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBudW1iZXJBdHRyaWJ1dGUsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBNYXRTZWxlY3Rpb25MaXN0Q2hhbmdlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2xpc3RcIjtcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBOcmNsQmFzZSB9IGZyb20gXCIuLi8uLi9kaXJlY3RpdmVzL25yY2wuYmFzZVwiO1xuaW1wb3J0IHsgQ29kZURlc2NyaXB0aW9uIH0gZnJvbSBcIi4uLy4uL3V0aWxzL2NvZGUtdGFibGUudXRpbFwiO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcblxuLyoqXG4gKiBBIGZpbHRlciBzZWxlY3QgY29tcG9uZW50IHRoYXQgYWxsb3dzIHVzZXJzIHRvIHNlbGVjdCBtdWx0aXBsZSBvcHRpb25zIGZyb20gYSBsaXN0LlxuICpcbiAqIEZlYXR1cmVzOlxuICogLSBNdWx0aS1zZWxlY3Qgd2l0aCBvcHRpb25hbCBtYXhpbXVtIHNlbGVjdGlvbiBsaW1pdFxuICogLSBTZWFyY2gvZmlsdGVyIGZ1bmN0aW9uYWxpdHlcbiAqIC0gVG9vbHRpcHMgZm9yIGxvbmcgZGVzY3JpcHRpb25zXG4gKiAtIFN1bW1hcnkgZGlzcGxheSBvZiBzZWxlY3RlZCBpdGVtc1xuICovXG5AQ29tcG9uZW50KCB7XG4gICAgc2VsZWN0b3I6IFwibnJjbC1maWx0ZXItc2VsZWN0XCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9maWx0ZXItc2VsZWN0LmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmw6IFwiLi9maWx0ZXItc2VsZWN0LmNvbXBvbmVudC5zY3NzXCIsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLmhhcy12YWx1ZV0nOiBcImhhc1ZhbHVlXCIsXG4gICAgICAgICdbY2xhc3MuaXMtb3Blbl0nOiBcImlzT3BlblwiLFxuICAgICAgICAnW2NsYXNzLmlzLWNsb3NlZF0nOiBcIiFpc09wZW5cIixcbiAgICAgICAgJ1tjbGFzcy51c2UtZmlsdGVyXSc6IFwiZmlsdGVyXCIsXG4gICAgICAgICdbc3R5bGUuLS1ucmNsLWZpbHRlci1zZWxlY3Qtd2lkdGhdJzogJ3RoaXMud2lkZSA/IFwidmFyKCAtLW5yY2wtZmlsdGVyLXdpZHRoLVwiICsgdGhpcy53aWRlICsgXCIgKVwiIDogbnVsbCdcbiAgICB9XG59IClcbmV4cG9ydCBjbGFzcyBGaWx0ZXJTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBOcmNsQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICAgIGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KCBDaGFuZ2VEZXRlY3RvclJlZiApXG4gICAgb3ZlcmxheSA9IGluamVjdCggT3ZlcmxheSApXG4gICAgdmlld0NvbnRhaW5lclJlZiA9IGluamVjdCggVmlld0NvbnRhaW5lclJlZiApXG4gICAgZG9tU2FuaXRpemVyID0gaW5qZWN0KCBEb21TYW5pdGl6ZXIgKVxuXG4gICAgQFZpZXdDaGlsZCggJ3RyaWdnZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSApIHRyaWdnZXIhOiBFbGVtZW50UmVmXG4gICAgQFZpZXdDaGlsZCggJ2ZpbHRlcklucHV0JyApIGZpbHRlcklucHV0ITogRWxlbWVudFJlZlxuICAgIEBWaWV3Q2hpbGQoICdvdmVybGF5VGVtcGxhdGUnICkgb3ZlcmxheVRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PlxuICAgIEBWaWV3Q2hpbGQoICdkZWZhdWx0T3B0aW9uVGVtcGxhdGVSZWYnICkgZGVmYXVsdE9wdGlvblRlbXBsYXRlUmVmITogVGVtcGxhdGVSZWY8YW55PlxuXG4gICAgQENvbnRlbnRDaGlsZCggVGVtcGxhdGVSZWYgKSBvcHRpb25UZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBJbnB1dCgpIGxhYmVsXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnRmlsdGVyLi4uJ1xuICAgIEBJbnB1dCgpIGhpbnRcbiAgICBASW5wdXQoKSBvcHRpb25zOiBDb2RlRGVzY3JpcHRpb25bXVxuICAgIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmdbXVxuICAgIEBJbnB1dCggeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9ICkgc2VsZWN0TWF4ID0gMFxuICAgIEBJbnB1dCggeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSApIHRvb2x0aXBzID0gdHJ1ZVxuICAgIEBJbnB1dCggeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSApIHN1bW1hcnkgPSB0cnVlXG4gICAgQElucHV0KCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9ICkgY2xlYXIgPSB0cnVlXG4gICAgQElucHV0KCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9ICkgZmlsdGVyID0gdHJ1ZVxuICAgIEBJbnB1dCggeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9ICkgZmlsdGVyQ2hhcnNNaW4gPSAwXG4gICAgQElucHV0KCkgb3B0aW9uRm9ybWF0dGVyOiAoIG9wdGlvbjogQ29kZURlc2NyaXB0aW9uLCBwbGFpbnRleHQ6IGJvb2xlYW4gKSA9PiBzdHJpbmcgPSAoIG8sIHAgKSA9PiBvLmRlc2NyaXB0aW9uICAgIFxuICAgIEBJbnB1dCgpIG9wdGlvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IFxuICAgIEBJbnB1dCgpIG92ZXJsYXlDbGFzc1xuICAgIEBJbnB1dCgpIHdpZGUgXG4gICAgQElucHV0KCkgZmlsdGVyQ2hhcnNNaW5NZXNzYWdlID0gJ1RvbyBtYW55IG9wdGlvbnMnXG5cbiAgICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuXG4gICAgZmxvYXRMYWJlbCA9ICdhdXRvJ1xuICAgIGlucHV0VmFsdWVcbiAgICBvcGVuaW5nVmFsdWVcbiAgICBpc0ZpbHRlcmVkID0gZmFsc2VcbiAgICBpc09wZW4gPSBmYWxzZVxuICAgIGhhc1ZhbHVlID0gZmFsc2VcbiAgICBvdmVybGF5UmVmOiBPdmVybGF5UmVmXG4gICAgc2VsZWN0aW9uID0gbmV3IEZvcm1Db250cm9sKClcbiAgICBtYXRjaDogKCBvcHRpb246IENvZGVEZXNjcmlwdGlvbiApID0+IGJvb2xlYW4gPSAoIG8gKSA9PiB0cnVlXG4gICAgY2xpY2tTdWJzY3JpcHRpb25cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpXG5cbiAgICAgICAgdGhpcy5jbGlja1N1YnNjcmlwdGlvbiA9IGZyb21FdmVudDxNb3VzZUV2ZW50PiggZG9jdW1lbnQsICdjbGljaycgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSggKCBldmVudDogTW91c2VFdmVudCApID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjbGlja1RhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudFxuICAgICAgICAgICAgICAgIGNvbnN0IHRyaWdnZXJFbCA9IHRoaXMudHJpZ2dlci5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICAgICAgY29uc3Qgb3ZlcmxheUVsID0gdGhpcy5vdmVybGF5UmVmPy5vdmVybGF5RWxlbWVudFxuXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5sYWJlbCwndGFyZ2V0JyxjbGlja1RhcmdldClcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmxhYmVsLCd0cmlnZ2VyRWwnLHRyaWdnZXJFbD8uY29udGFpbnMoY2xpY2tUYXJnZXQpLHRyaWdnZXJFbClcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmxhYmVsLCdvdmVybGF5RWwnLG92ZXJsYXlFbD8uY29udGFpbnMoY2xpY2tUYXJnZXQpLG92ZXJsYXlFbClcblxuICAgICAgICAgICAgICAgIC8vIE9ubHkgY2xvc2UgaWYgY2xpY2sgaXMgb3V0c2lkZSBib3RoIHRyaWdnZXIgYW5kIG92ZXJsYXlcbiAgICAgICAgICAgICAgICBpZiAoIHRyaWdnZXJFbD8uY29udGFpbnMoY2xpY2tUYXJnZXQpICkgcmV0dXJuIFxuICAgICAgICAgICAgICAgIGlmICggIW92ZXJsYXlFbCApIHJldHVybiBcbiAgICAgICAgICAgICAgICBpZiAoIG92ZXJsYXlFbD8uY29udGFpbnMoY2xpY2tUYXJnZXQpICkgcmV0dXJuIFxuXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5sYWJlbCwnb3V0c2lkZSBjbGljaycpXG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRJbnB1dFRvU2VsZWN0aW9uKClcbiAgICAgICAgICAgICAgICB0aGlzLmZsb2F0TGFiZWwgPSAnYXV0bydcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKVxuICAgICAgICAgICAgfSApXG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoIGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMgKTogdm9pZCB7XG4gICAgICAgIGlmICggdGhpcy5pc09wZW4gKSByZXR1cm5cblxuICAgICAgICBpZiAoIGNoYW5nZXMub3B0aW9ucyApIHtcbiAgICAgICAgICAgIGxldCBwdiA9IEpTT04uc3RyaW5naWZ5KCBjaGFuZ2VzLm9wdGlvbnMucHJldmlvdXNWYWx1ZSApXG4gICAgICAgICAgICBsZXQgY3YgPSBKU09OLnN0cmluZ2lmeSggY2hhbmdlcy5vcHRpb25zLmN1cnJlbnRWYWx1ZSApXG4gICAgICAgICAgICBpZiAoIHB2ICE9IGN2ICkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLnNldFZhbHVlKCBudWxsIClcbiAgICAgICAgICAgICAgICB0aGlzLnNldElucHV0VG9TZWxlY3Rpb24oKVxuICAgICAgICAgICAgICAgIHRoaXMuc2V0RmlsdGVyKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICggY2hhbmdlcy52YWx1ZSApIHtcbiAgICAgICAgICAgIGxldCBwdiA9IEpTT04uc3RyaW5naWZ5KCBjaGFuZ2VzLnZhbHVlLnByZXZpb3VzVmFsdWUgKVxuICAgICAgICAgICAgbGV0IGN2ID0gSlNPTi5zdHJpbmdpZnkoIGNoYW5nZXMudmFsdWUuY3VycmVudFZhbHVlIClcbiAgICAgICAgICAgIGlmICggcHYgIT0gY3YgKSB7XG4gICAgICAgICAgICAgICAgaWYgKCB0aGlzLnZhbHVlICkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhc1ZhbHVlID0gdGhpcy52YWx1ZS5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLnNldFZhbHVlKCB0aGlzLnZhbHVlIClcbiAgICAgICAgICAgICAgICAgICAgaWYgKCB0aGlzLnNlbGVjdE1heCA+IDEgJiYgdGhpcy52YWx1ZS5sZW5ndGggPj0gdGhpcy5zZWxlY3RNYXggKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5kaXNhYmxlKClcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLmVuYWJsZSgpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFzVmFsdWUgPSBmYWxzZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5zZXRWYWx1ZSggbnVsbCApXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLmVuYWJsZSgpXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRGaWx0ZXIoKVxuICAgICAgICAgICAgICAgIHRoaXMuc2V0SW5wdXRUb1NlbGVjdGlvbigpXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCAhdGhpcy5vcHRpb25UZW1wbGF0ZSApIHtcbiAgICAgICAgICAgIGlmICggdGhpcy5vcHRpb25UZW1wbGF0ZVJlZiApIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvblRlbXBsYXRlID0gdGhpcy5vcHRpb25UZW1wbGF0ZVJlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25UZW1wbGF0ZSA9IHRoaXMuZGVmYXVsdE9wdGlvblRlbXBsYXRlUmVmXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2Rlc3Ryb3knLHRoaXMuaW5zdClcbiAgICAgICAgdGhpcy5jbGlja1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKVxuICAgIH1cblxuICAgIGdldCBzaW5nbGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdE1heCA9PSAxXG4gICAgfVxuXG4gICAgZW1pdFZhbHVlQ2hhbmdlKCkge1xuICAgICAgICB0aGlzLmhhc1ZhbHVlID0gKCB0aGlzLnNlbGVjdGlvbi52YWx1ZSB8fCBbXSApLmxlbmd0aCA+IDBcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KCB0aGlzLnNlbGVjdGlvbi52YWx1ZSB8fCBbXSApXG4gICAgfVxuXG4gICAgb3BlbigpIHtcbiAgICAgICAgLy8gY29uc29sZS53YXJuKCdvcGVuJyx0aGlzLmlzT3BlbilcbiAgICAgICAgaWYgKCB0aGlzLmlzT3BlbiApIHJldHVyblxuXG4gICAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZVxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpXG5cbiAgICAgICAgLy8gQ3JlYXRlIG92ZXJsYXlcbiAgICAgICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVxuICAgICAgICAgICAgLnBvc2l0aW9uKClcbiAgICAgICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKCB0aGlzLnRyaWdnZXIgKVxuICAgICAgICAgICAgLndpdGhQb3NpdGlvbnMoIFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICAgICAgICAgICAgICBvZmZzZXRZOiAwXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgICAgICAgICAgICAgICAgICBvZmZzZXRZOiAwXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSApXG4gICAgICAgICAgICAud2l0aFB1c2goIGZhbHNlIClcblxuICAgICAgICBjb25zdCBzY3JvbGxTdHJhdGVneSA9IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxuXG4gICAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoIHtcbiAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneSxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICAgIG1heFdpZHRoOiB0aGlzLnRyaWdnZXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCAqIDIsXG4gICAgICAgICAgICBtaW5XaWR0aDogdGhpcy50cmlnZ2VyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgsXG4gICAgICAgICAgICBtYXhIZWlnaHQ6IDMwMCxcbiAgICAgICAgfSApXG5cbiAgICAgICAgLy8gQXR0YWNoIHRlbXBsYXRlXG4gICAgICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCggdGhpcy5vdmVybGF5VGVtcGxhdGUsIHRoaXMudmlld0NvbnRhaW5lclJlZiApXG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2goIHBvcnRhbCApXG5cbiAgICAgICAgLy8gRm9jdXMgaW5wdXQgYWZ0ZXIgb3ZlcmxheSBpcyBhdHRhY2hlZFxuICAgICAgICBzZXRUaW1lb3V0KCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcklucHV0Py5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cbiAgICAgICAgICAgIC8vIHByZXZlbnQgbGlzdCBmcm9tIHNjcm9sbGluZyB3aGVuIHNlbGVjdGlvbiBjaGFuZ2VzICAgICAgICAgICAgXG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWY/Lm92ZXJsYXlFbGVtZW50LmNoaWxkcmVuWzBdLnNjcm9sbCggMCwgMSApXG4gICAgICAgIH0sMTAwIClcblxuICAgICAgICB0aGlzLm9wZW5pbmdWYWx1ZSA9IEpTT04uc3RyaW5naWZ5KCB0aGlzLnNlbGVjdGlvbi52YWx1ZSApXG4gICAgfVxuXG4gICAgY2xvc2UoKSB7XG4gICAgICAgIC8vIGNvbnNvbGUud2FybignY2xvc2UnLHRoaXMuaXNPcGVuKVxuICAgICAgICBpZiAoICF0aGlzLmlzT3BlbiApIHJldHVyblxuXG4gICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2VcblxuICAgICAgICBpZiAoIHRoaXMub3ZlcmxheVJlZiApIHtcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKClcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZiA9IG51bGxcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpXG5cbiAgICAgICAgbGV0IGNsb3NpbmdWYWx1ZSA9IEpTT04uc3RyaW5naWZ5KCB0aGlzLnNlbGVjdGlvbi52YWx1ZSApXG4gICAgICAgIGlmICggdGhpcy5vcGVuaW5nVmFsdWUgIT0gY2xvc2luZ1ZhbHVlIClcbiAgICAgICAgICAgIHRoaXMuZW1pdFZhbHVlQ2hhbmdlKClcbiAgICB9XG5cbiAgICBzZXRJbnB1dFRvU2VsZWN0aW9uKCkge1xuICAgICAgICAvLyBjb25zb2xlLndhcm4oJ3NldElucHV0VG9TZWxlY3Rpb24nKVxuICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSB0aGlzLnNlbGVjdGlvbj8udmFsdWU/Lm1hcCggYyA9PiB0aGlzLm9wdGlvbkZvcm1hdHRlciggdGhpcy5vcHRpb25Gb3JDb2RlKCBjICksIHRydWUgKSApLmpvaW4oICcsICcgKSB8fCBudWxsXG4gICAgICAgIHRoaXMuaXNGaWx0ZXJlZCA9IGZhbHNlXG4gICAgfVxuXG4gICAgb25JbnB1dCggZXY/KSB7XG4gICAgICAgIHRoaXMuc2V0RmlsdGVyKCBldj8udGFyZ2V0Py52YWx1ZSApXG4gICAgfVxuXG4gICAgc2V0RmlsdGVyKCB0ZXh0Pzogc3RyaW5nICkge1xuICAgICAgICBsZXQgdCA9IHRleHQ/LnRyaW0oKS50b0xvd2VyQ2FzZSgpXG5cbiAgICAgICAgaWYgKCB0Py5sZW5ndGggPj0gdGhpcy5maWx0ZXJDaGFyc01pbiApIHtcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdmaWx0ZXJpbmcnKVxuICAgICAgICAgICAgdGhpcy5pc0ZpbHRlcmVkID0gdHJ1ZVxuICAgICAgICAgICAgdGhpcy5tYXRjaCA9ICggb3B0aW9uICkgPT4gb3B0aW9uLmRlc2NyaXB0aW9uLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoIHQgKVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ25vdCBmaWx0ZXJpbmcnKVxuICAgICAgICAgICAgdGhpcy5pc0ZpbHRlcmVkID0gZmFsc2VcbiAgICAgICAgICAgIHRoaXMubWF0Y2ggPSAoIG8gKSA9PiB0cnVlXG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKVxuICAgIH1cblxuICAgIG1hdGNoZXNGaWx0ZXIoIG9wdGlvbjogQ29kZURlc2NyaXB0aW9uICkge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXRjaCggb3B0aW9uIClcbiAgICB9XG5cbiAgICBvblNlbGVjdGlvbkNoYW5nZSggZXYgKSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdvblNlbGVjdGlvbkNoYW5nZScsdGhpcy5zaW5nbGUpXG4gICAgICAgIGlmICggdGhpcy5zaW5nbGUgKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKClcbiAgICAgICAgICAgIHRoaXMuc2V0SW5wdXRUb1NlbGVjdGlvbigpXG4gICAgICAgICAgICB0aGlzLmZsb2F0TGFiZWwgPSAnYXV0bydcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVySW5wdXQ/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCB0aGlzLnNlbGVjdE1heCA+IDEgKSB7XG4gICAgICAgICAgICBpZiAoIHRoaXMuc2VsZWN0aW9uLnZhbHVlLmxlbmd0aCA+PSB0aGlzLnNlbGVjdE1heCApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5kaXNhYmxlKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLmVuYWJsZSgpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKVxuICAgIH1cblxuICAgIG9uVXBwZXJTZWxlY3Rpb25DaGFuZ2UoIGV2OiBNYXRTZWxlY3Rpb25MaXN0Q2hhbmdlICkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGxldCBjb2RlcyA9IHRoaXMuc2VsZWN0aW9uLnZhbHVlLmZpbHRlciggYyA9PiBjICE9IGV2Lm9wdGlvbnNbIDAgXS52YWx1ZSApXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5zZXRWYWx1ZSggY29kZXMgKVxuXG4gICAgICAgICAgICB0aGlzLm9uU2VsZWN0aW9uQ2hhbmdlKCBldiApXG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgb25DYW5jZWxDbGljaygpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ29uQ2FuY2VsQ2xpY2snKVxuICAgICAgICB0aGlzLnNlbGVjdGlvbi5zZXRWYWx1ZSggbnVsbCApXG4gICAgICAgIHRoaXMuc2VsZWN0aW9uLmVuYWJsZSgpXG4gICAgICAgIHRoaXMuc2V0SW5wdXRUb1NlbGVjdGlvbigpXG4gICAgICAgIHRoaXMuZW1pdFZhbHVlQ2hhbmdlKClcbiAgICB9XG5cbiAgICBvbklucHV0Rm9jdXMoKSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdvbklucHV0Rm9jdXMnKVxuICAgICAgICB0aGlzLmZsb2F0TGFiZWwgPSAnYWx3YXlzJ1xuXG4gICAgICAgIGlmICggdGhpcy5maWx0ZXIgKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSAnJ1xuICAgICAgICAgICAgdGhpcy5zZXRGaWx0ZXIoKVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vcGVuKClcbiAgICB9XG5cbiAgICBvbkNsb3NlQ2xpY2soKSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdvbkNsb3NlQ2xpY2snKVxuICAgICAgICB0aGlzLmNsb3NlKClcbiAgICAgICAgdGhpcy5zZXRJbnB1dFRvU2VsZWN0aW9uKClcbiAgICAgICAgdGhpcy5mbG9hdExhYmVsID0gJ2F1dG8nXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpXG4gICAgfVxuXG4gICAgZGVzY3JpcHRpb25Gb3JDb2RlKCBjb2RlOiBzdHJpbmcgKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5maW5kKCBvID0+IG8uY29kZSA9PSBjb2RlICk/LmRlc2NyaXB0aW9uXG4gICAgfVxuXG4gICAgb3B0aW9uRm9yQ29kZSggY29kZTogc3RyaW5nICk6IENvZGVEZXNjcmlwdGlvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZmluZCggbyA9PiBvLmNvZGUgPT0gY29kZSApXG4gICAgfVxuXG4gICAgZ2V0IGlzQ2xvc2VkTm9TZWxlY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pc09wZW4gJiYgISggdGhpcy5zZWxlY3Rpb24/LnZhbHVlPy5sZW5ndGggPiAwICYmIHRoaXMuY2xlYXIgKVxuICAgIH1cblxuICAgIGdldCBpc0Nsb3NlZFNlbGVjdGlvbigpIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzT3BlbiAmJiB0aGlzLnNlbGVjdGlvbj8udmFsdWU/Lmxlbmd0aCA+IDAgJiYgdGhpcy5jbGVhclxuICAgIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCAjdHJpZ2dlclxuICAgIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIlxuICAgIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCJcbiAgICBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCJcbj5cbiAgICBAaWYgKCBsYWJlbCApIHtcbiAgICAgICAgPG1hdC1sYWJlbD57eyBsYWJlbCB9fTwvbWF0LWxhYmVsPlxuICAgIH1cblxuICAgIDxpbnB1dCBjbGFzcz1cImZpbHRlci1pbnB1dFwiICNmaWx0ZXJJbnB1dFxuICAgICAgICBtYXRJbnB1dCBcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgXG4gICAgICAgIFt2YWx1ZV09XCJpbnB1dFZhbHVlXCJcbiAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQoICRldmVudCApXCJcbiAgICAgICAgKGtleWRvd24uZXNjYXBlKT1cImNsb3NlKClcIlxuICAgICAgICAoZm9jdXMpPVwib25JbnB1dEZvY3VzKClcIlxuICAgICAgICBbbWF0VG9vbHRpcF09XCJpbnB1dFZhbHVlXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cIiFmaWx0ZXJcIlxuICAgID5cbjwvbWF0LWZvcm0tZmllbGQ+ICAgICAgICBcblxuPG5yY2wtYnV0dG9uIHRlcnRpYXJ5IFtjbGFzcy5oaWRlXT1cIiFpc09wZW5cIlxuICAgIGljb249XCJhcnJvd19kcm9wX3VwXCJcbiAgICAoY2xpY2spPVwib25DbG9zZUNsaWNrKClcIlxuPjwvbnJjbC1idXR0b24+XG5cbjxucmNsLWJ1dHRvbiB0ZXJ0aWFyeSBbY2xhc3MuaGlkZV09XCIhaXNDbG9zZWRTZWxlY3Rpb25cIlxuICAgIGljb249XCJjbG9zZVwiXG4gICAgKGNsaWNrKT1cIm9uQ2FuY2VsQ2xpY2soKVwiXG4+PC9ucmNsLWJ1dHRvbj5cblxuPG5yY2wtYnV0dG9uIHRlcnRpYXJ5IFtjbGFzcy5oaWRlXT1cIiFpc0Nsb3NlZE5vU2VsZWN0aW9uXCJcbiAgICBpY29uPVwiYXJyb3dfZHJvcF9kb3duXCJcbiAgICAoY2xpY2spPVwib25JbnB1dEZvY3VzKClcIlxuPjwvbnJjbC1idXR0b24+XG5cbjxuZy10ZW1wbGF0ZSAjb3ZlcmxheVRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJucmNsIGZpbHRlci1zZWxlY3Qtb3B0aW9uc1wiIFtjbGFzcy5tdWx0aXBsZV09XCIhc2luZ2xlXCIgW2NsYXNzLnNpbmdsZV09XCJzaW5nbGVcIiBbY2xhc3NdPVwib3ZlcmxheUNsYXNzXCI+XG4gICAgICAgIEBpZiAoICFpc0ZpbHRlcmVkICYmICggIXNpbmdsZSB8fCBmaWx0ZXJDaGFyc01pbiApICYmIHN1bW1hcnkgKSB7XG4gICAgICAgICAgICBAaWYgKCAhc2VsZWN0aW9uPy52YWx1ZT8ubGVuZ3RoICYmICggaGludCB8fCBmaWx0ZXJDaGFyc01pbiApICkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3Rpb24tb3ZlcnZpZXdcIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmICggaGludCApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdW1tYXJ5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgaGludCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICBcblxuICAgICAgICAgICAgICAgICAgICBAaWYgKCBmaWx0ZXJDaGFyc01pbiAmJiBmaWx0ZXJDaGFyc01pbk1lc3NhZ2UgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VtbWFyeVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGZpbHRlckNoYXJzTWluTWVzc2FnZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoIHNlbGVjdGlvbj8udmFsdWU/Lmxlbmd0aCA+IDAgJiYgc2VsZWN0aW9uPy52YWx1ZT8ubGVuZ3RoIDwgb3B0aW9ucz8ubGVuZ3RoICkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3Rpb24tb3ZlcnZpZXdcIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmICggIXNpbmdsZSApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdW1tYXJ5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+U2VsZWN0ZWQge3sgc2VsZWN0aW9uPy52YWx1ZT8ubGVuZ3RoIH19IG9mIHt7IG9wdGlvbnM/Lmxlbmd0aCB9fSBvcHRpb25zPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdGlvbi1saXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uVXBwZXJTZWxlY3Rpb25DaGFuZ2UoICRldmVudCApXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoIGNvZGUgb2Ygc2VsZWN0aW9uPy52YWx1ZTsgdHJhY2sgY29kZSApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxpc3Qtb3B0aW9uIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiY29kZVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVQb3NpdGlvbj1cImJlZm9yZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXBzID8gZGVzY3JpcHRpb25Gb3JDb2RlKCBjb2RlICkgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWZ0ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvblRlbXBsYXRlXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IG9wdGlvbkZvckNvZGUoIGNvZGUgKSB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWxpc3Qtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Rpb24tbGlzdD5cblxuICAgICAgICAgICAgICAgICAgICBAaWYgKCBoaW50ICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1bW1hcnlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBoaW50IH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgIFxuXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoIGZpbHRlckNoYXJzTWluICYmIGZpbHRlckNoYXJzTWluTWVzc2FnZSApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdW1tYXJ5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZmlsdGVyQ2hhcnNNaW5NZXNzYWdlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICggc2VsZWN0aW9uPy52YWx1ZT8ubGVuZ3RoID09IG9wdGlvbnM/Lmxlbmd0aCApIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0aW9uLW92ZXJ2aWV3XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdW1tYXJ5XCI+QWxsIG9wdGlvbnMgc2VsZWN0ZWQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoICFmaWx0ZXJDaGFyc01pbiB8fCBpc0ZpbHRlcmVkICkge1xuICAgICAgICAgICAgPG1hdC1zZWxlY3Rpb24tbGlzdFxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzZWxlY3Rpb25cIlxuICAgICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoICRldmVudCApXCJcbiAgICAgICAgICAgICAgICBbbXVsdGlwbGVdPVwiIXNpbmdsZVwiXG4gICAgICAgICAgICAgICAgaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvclxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEBmb3IgKCBvcHRpb24gb2Ygb3B0aW9uczsgdHJhY2sgb3B0aW9uICkge1xuICAgICAgICAgICAgICAgICAgICA8bWF0LWxpc3Qtb3B0aW9uIFtjbGFzcy5oaWRlXT1cIiFtYXRjaGVzRmlsdGVyKCBvcHRpb24gKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLmNvZGVcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZVBvc2l0aW9uPVwiYmVmb3JlXCIgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcHMgPyBvcHRpb24uZGVzY3JpcHRpb24gOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFmdGVyXCIgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25UZW1wbGF0ZVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogb3B0aW9uIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1saXN0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Rpb24tbGlzdD5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0T3B0aW9uVGVtcGxhdGVSZWYgbGV0LWN0eD5cbiAgICA8c3Bhbj57eyBjdHguZGVzY3JpcHRpb24gfX08L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuIl19
350
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uci1uZ3gtY29tcG9uZW50LWxpYi9zcmMvY29tcG9uZW50cy9maWx0ZXItc2VsZWN0L2ZpbHRlci1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvZmlsdGVyLXNlbGVjdC9maWx0ZXItc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUVILGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLGVBQWUsRUFJZixNQUFNLEVBRU4sV0FBVyxFQUNYLFNBQVMsRUFDVCxnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7O0FBRXpEOzs7Ozs7OztHQVFHO0FBY0gsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFFBQVE7SUFibkQ7O1FBY0ksc0JBQWlCLEdBQUcsTUFBTSxDQUFFLGlCQUFpQixDQUFFLENBQUE7UUFDL0MsWUFBTyxHQUFHLE1BQU0sQ0FBRSxPQUFPLENBQUUsQ0FBQTtRQUMz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RUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUNmLFdBQVc7c0JBQXRDLFNBQVM7dUJBQUUsYUFBYTtnQkFDTyxlQUFlO3NCQUE5QyxTQUFTO3VCQUFFLGlCQUFpQjtnQkFDWSx3QkFBd0I7c0JBQWhFLFNBQVM7dUJBQUUsMEJBQTBCO2dCQUVULGlCQUFpQjtzQkFBN0MsWUFBWTt1QkFBRSxXQUFXO2dCQUVqQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDbUMsU0FBUztzQkFBakQsS0FBSzt1QkFBRSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBQ0ksUUFBUTtzQkFBakQsS0FBSzt1QkFBRSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRyxPQUFPO3NCQUFoRCxLQUFLO3VCQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNHLEtBQUs7c0JBQTlDLEtBQUs7dUJBQUUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0csTUFBTTtzQkFBL0MsS0FBSzt1QkFBRSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxjQUFjO3NCQUF0RCxLQUFLO3VCQUFFLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFDN0IsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgbnVtYmVyQXR0cmlidXRlLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgTWF0U2VsZWN0aW9uTGlzdENoYW5nZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9saXN0XCI7XG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgTnJjbEJhc2UgfSBmcm9tIFwiLi4vLi4vZGlyZWN0aXZlcy9ucmNsLmJhc2VcIjtcbmltcG9ydCB7IENvZGVEZXNjcmlwdGlvbiB9IGZyb20gXCIuLi8uLi91dGlscy9jb2RlLXRhYmxlLnV0aWxcIjtcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XG5cbi8qKlxuICogQSBmaWx0ZXIgc2VsZWN0IGNvbXBvbmVudCB0aGF0IGFsbG93cyB1c2VycyB0byBzZWxlY3QgbXVsdGlwbGUgb3B0aW9ucyBmcm9tIGEgbGlzdC5cbiAqXG4gKiBGZWF0dXJlczpcbiAqIC0gTXVsdGktc2VsZWN0IHdpdGggb3B0aW9uYWwgbWF4aW11bSBzZWxlY3Rpb24gbGltaXRcbiAqIC0gU2VhcmNoL2ZpbHRlciBmdW5jdGlvbmFsaXR5XG4gKiAtIFRvb2x0aXBzIGZvciBsb25nIGRlc2NyaXB0aW9uc1xuICogLSBTdW1tYXJ5IGRpc3BsYXkgb2Ygc2VsZWN0ZWQgaXRlbXNcbiAqL1xuQENvbXBvbmVudCgge1xuICAgIHNlbGVjdG9yOiBcIm5yY2wtZmlsdGVyLXNlbGVjdFwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vZmlsdGVyLXNlbGVjdC5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsOiBcIi4vZmlsdGVyLXNlbGVjdC5jb21wb25lbnQuc2Nzc1wiLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy5oYXMtdmFsdWVdJzogXCJoYXNWYWx1ZVwiLFxuICAgICAgICAnW2NsYXNzLmlzLW9wZW5dJzogXCJpc09wZW5cIixcbiAgICAgICAgJ1tjbGFzcy5pcy1jbG9zZWRdJzogXCIhaXNPcGVuXCIsXG4gICAgICAgICdbY2xhc3MudXNlLWZpbHRlcl0nOiBcImZpbHRlclwiLFxuICAgICAgICAnW3N0eWxlLi0tbnJjbC1maWx0ZXItc2VsZWN0LXdpZHRoXSc6ICd0aGlzLndpZGUgPyBcInZhciggLS1ucmNsLWZpbHRlci13aWR0aC1cIiArIHRoaXMud2lkZSArIFwiIClcIiA6IG51bGwnXG4gICAgfVxufSApXG5leHBvcnQgY2xhc3MgRmlsdGVyU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgTnJjbEJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgICBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdCggQ2hhbmdlRGV0ZWN0b3JSZWYgKVxuICAgIG92ZXJsYXkgPSBpbmplY3QoIE92ZXJsYXkgKVxuICAgIHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoIFZpZXdDb250YWluZXJSZWYgKVxuICAgIGRvbVNhbml0aXplciA9IGluamVjdCggRG9tU2FuaXRpemVyIClcblxuICAgIEBWaWV3Q2hpbGQoICd0cmlnZ2VyJywgeyByZWFkOiBFbGVtZW50UmVmIH0gKSB0cmlnZ2VyITogRWxlbWVudFJlZlxuICAgIEBWaWV3Q2hpbGQoICdmaWx0ZXJJbnB1dCcgKSBmaWx0ZXJJbnB1dCE6IEVsZW1lbnRSZWZcbiAgICBAVmlld0NoaWxkKCAnb3ZlcmxheVRlbXBsYXRlJyApIG92ZXJsYXlUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT5cbiAgICBAVmlld0NoaWxkKCAnZGVmYXVsdE9wdGlvblRlbXBsYXRlUmVmJyApIGRlZmF1bHRPcHRpb25UZW1wbGF0ZVJlZiE6IFRlbXBsYXRlUmVmPGFueT5cblxuICAgIEBDb250ZW50Q2hpbGQoIFRlbXBsYXRlUmVmICkgb3B0aW9uVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBASW5wdXQoKSBsYWJlbFxuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJ0ZpbHRlci4uLidcbiAgICBASW5wdXQoKSBoaW50XG4gICAgQElucHV0KCkgb3B0aW9uczogQ29kZURlc2NyaXB0aW9uW11cbiAgICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nW11cbiAgICBASW5wdXQoIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSApIHNlbGVjdE1heCA9IDBcbiAgICBASW5wdXQoIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0gKSB0b29sdGlwcyA9IHRydWVcbiAgICBASW5wdXQoIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0gKSBzdW1tYXJ5ID0gdHJ1ZVxuICAgIEBJbnB1dCggeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSApIGNsZWFyID0gdHJ1ZVxuICAgIEBJbnB1dCggeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSApIGZpbHRlciA9IHRydWVcbiAgICBASW5wdXQoIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSApIGZpbHRlckNoYXJzTWluID0gMFxuICAgIEBJbnB1dCgpIG9wdGlvbkZvcm1hdHRlcjogKCBvcHRpb246IENvZGVEZXNjcmlwdGlvbiwgcGxhaW50ZXh0OiBib29sZWFuICkgPT4gc3RyaW5nID0gKCBvLCBwICkgPT4gby5kZXNjcmlwdGlvbiAgICBcbiAgICBASW5wdXQoKSBvcHRpb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiBcbiAgICBASW5wdXQoKSBvdmVybGF5Q2xhc3NcbiAgICBASW5wdXQoKSB3aWRlIFxuICAgIEBJbnB1dCgpIGZpbHRlckNoYXJzTWluTWVzc2FnZSA9ICdUb28gbWFueSBvcHRpb25zJ1xuXG4gICAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcblxuICAgIGZsb2F0TGFiZWwgPSAnYXV0bydcbiAgICBpbnB1dFZhbHVlXG4gICAgb3BlbmluZ1ZhbHVlXG4gICAgaXNGaWx0ZXJlZCA9IGZhbHNlXG4gICAgaXNPcGVuID0gZmFsc2VcbiAgICBoYXNWYWx1ZSA9IGZhbHNlXG4gICAgb3ZlcmxheVJlZjogT3ZlcmxheVJlZlxuICAgIHNlbGVjdGlvbiA9IG5ldyBGb3JtQ29udHJvbCgpXG4gICAgbWF0Y2g6ICggb3B0aW9uOiBDb2RlRGVzY3JpcHRpb24gKSA9PiBib29sZWFuID0gKCBvICkgPT4gdHJ1ZVxuICAgIGNsaWNrU3Vic2NyaXB0aW9uXG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKVxuXG4gICAgICAgIHRoaXMuY2xpY2tTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4oIGRvY3VtZW50LCAnY2xpY2snIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoICggZXZlbnQ6IE1vdXNlRXZlbnQgKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2xpY2tUYXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnRcbiAgICAgICAgICAgICAgICBjb25zdCB0cmlnZ2VyRWwgPSB0aGlzLnRyaWdnZXIubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgICAgIGNvbnN0IG92ZXJsYXlFbCA9IHRoaXMub3ZlcmxheVJlZj8ub3ZlcmxheUVsZW1lbnRcblxuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMubGFiZWwsJ3RhcmdldCcsY2xpY2tUYXJnZXQpXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5sYWJlbCwndHJpZ2dlckVsJyx0cmlnZ2VyRWw/LmNvbnRhaW5zKGNsaWNrVGFyZ2V0KSx0cmlnZ2VyRWwpXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5sYWJlbCwnb3ZlcmxheUVsJyxvdmVybGF5RWw/LmNvbnRhaW5zKGNsaWNrVGFyZ2V0KSxvdmVybGF5RWwpXG5cbiAgICAgICAgICAgICAgICAvLyBPbmx5IGNsb3NlIGlmIGNsaWNrIGlzIG91dHNpZGUgYm90aCB0cmlnZ2VyIGFuZCBvdmVybGF5XG4gICAgICAgICAgICAgICAgaWYgKCB0cmlnZ2VyRWw/LmNvbnRhaW5zKGNsaWNrVGFyZ2V0KSApIHJldHVybiBcbiAgICAgICAgICAgICAgICBpZiAoICFvdmVybGF5RWwgKSByZXR1cm4gXG4gICAgICAgICAgICAgICAgaWYgKCBvdmVybGF5RWw/LmNvbnRhaW5zKGNsaWNrVGFyZ2V0KSApIHJldHVybiBcblxuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMubGFiZWwsJ291dHNpZGUgY2xpY2snKVxuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKVxuICAgICAgICAgICAgICAgIHRoaXMuc2V0SW5wdXRUb1NlbGVjdGlvbigpXG4gICAgICAgICAgICAgICAgdGhpcy5mbG9hdExhYmVsID0gJ2F1dG8nXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKClcbiAgICAgICAgICAgIH0gKVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKCBjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzICk6IHZvaWQge1xuICAgICAgICBpZiAoIHRoaXMuaXNPcGVuICkgcmV0dXJuXG5cbiAgICAgICAgaWYgKCBjaGFuZ2VzLm9wdGlvbnMgKSB7XG4gICAgICAgICAgICBsZXQgcHYgPSBKU09OLnN0cmluZ2lmeSggY2hhbmdlcy5vcHRpb25zLnByZXZpb3VzVmFsdWUgKVxuICAgICAgICAgICAgbGV0IGN2ID0gSlNPTi5zdHJpbmdpZnkoIGNoYW5nZXMub3B0aW9ucy5jdXJyZW50VmFsdWUgKVxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ29wdGlvbnMnLHB2LGN2KVxuICAgICAgICAgICAgaWYgKCBwdiAhPSBjdiApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gW11cbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5zZXRWYWx1ZSggbnVsbCApXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRJbnB1dFRvU2VsZWN0aW9uKClcbiAgICAgICAgICAgICAgICB0aGlzLnNldEZpbHRlcigpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIGNoYW5nZXMudmFsdWUgKSB7XG4gICAgICAgICAgICAvLyBsZXQgcHYgPSBKU09OLnN0cmluZ2lmeSggY2hhbmdlcy52YWx1ZS5wcmV2aW91c1ZhbHVlIClcbiAgICAgICAgICAgIC8vIGxldCBjdiA9IEpTT04uc3RyaW5naWZ5KCBjaGFuZ2VzLnZhbHVlLmN1cnJlbnRWYWx1ZSApXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZygndmFsdWUnLHB2LGN2KVxuICAgICAgICAgICAgLy8gaWYgKCBwdiAhPSBjdiApIHtcbiAgICAgICAgICAgICAgICBpZiAoIHRoaXMudmFsdWUgKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFzVmFsdWUgPSB0aGlzLnZhbHVlLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2V0VmFsdWUoIHRoaXMudmFsdWUgKVxuICAgICAgICAgICAgICAgICAgICBpZiAoIHRoaXMuc2VsZWN0TWF4ID4gMSAmJiB0aGlzLnZhbHVlLmxlbmd0aCA+PSB0aGlzLnNlbGVjdE1heCApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLmRpc2FibGUoKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uZW5hYmxlKClcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYXNWYWx1ZSA9IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLnNldFZhbHVlKCBudWxsIClcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uZW5hYmxlKClcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLnNldEZpbHRlcigpXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRJbnB1dFRvU2VsZWN0aW9uKClcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKVxuICAgICAgICAgICAgLy8gfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoICF0aGlzLm9wdGlvblRlbXBsYXRlICkge1xuICAgICAgICAgICAgaWYgKCB0aGlzLm9wdGlvblRlbXBsYXRlUmVmICkge1xuICAgICAgICAgICAgICAgIHRoaXMub3B0aW9uVGVtcGxhdGUgPSB0aGlzLm9wdGlvblRlbXBsYXRlUmVmXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvblRlbXBsYXRlID0gdGhpcy5kZWZhdWx0T3B0aW9uVGVtcGxhdGVSZWZcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnZGVzdHJveScsdGhpcy5pbnN0KVxuICAgICAgICB0aGlzLmNsaWNrU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpXG4gICAgfVxuXG4gICAgZ2V0IHNpbmdsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0TWF4ID09IDFcbiAgICB9XG5cbiAgICBlbWl0VmFsdWVDaGFuZ2UoKSB7XG4gICAgICAgIHRoaXMuaGFzVmFsdWUgPSAoIHRoaXMuc2VsZWN0aW9uLnZhbHVlIHx8IFtdICkubGVuZ3RoID4gMFxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoIHRoaXMuc2VsZWN0aW9uLnZhbHVlIHx8IFtdIClcbiAgICB9XG5cbiAgICBvcGVuKCkge1xuICAgICAgICAvLyBjb25zb2xlLndhcm4oJ29wZW4nLHRoaXMuaXNPcGVuKVxuICAgICAgICBpZiAoIHRoaXMuaXNPcGVuICkgcmV0dXJuXG5cbiAgICAgICAgdGhpcy5pc09wZW4gPSB0cnVlXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKClcblxuICAgICAgICAvLyBDcmVhdGUgb3ZlcmxheVxuICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG4gICAgICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8oIHRoaXMudHJpZ2dlciApXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9ucyggW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldFk6IDBcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldFk6IDBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdIClcbiAgICAgICAgICAgIC53aXRoUHVzaCggZmFsc2UgKVxuXG4gICAgICAgIGNvbnN0IHNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpXG5cbiAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSgge1xuICAgICAgICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5LFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgICAgbWF4V2lkdGg6IHRoaXMudHJpZ2dlci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoICogMixcbiAgICAgICAgICAgIG1pbldpZHRoOiB0aGlzLnRyaWdnZXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCxcbiAgICAgICAgICAgIG1heEhlaWdodDogMzAwLFxuICAgICAgICB9IClcblxuICAgICAgICAvLyBBdHRhY2ggdGVtcGxhdGVcbiAgICAgICAgY29uc3QgcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKCB0aGlzLm92ZXJsYXlUZW1wbGF0ZSwgdGhpcy52aWV3Q29udGFpbmVyUmVmIClcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaCggcG9ydGFsIClcblxuICAgICAgICAvLyBGb2N1cyBpbnB1dCBhZnRlciBvdmVybGF5IGlzIGF0dGFjaGVkXG4gICAgICAgIHNldFRpbWVvdXQoICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVySW5wdXQ/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcblxuICAgICAgICAgICAgLy8gcHJldmVudCBsaXN0IGZyb20gc2Nyb2xsaW5nIHdoZW4gc2VsZWN0aW9uIGNoYW5nZXMgICAgICAgICAgICBcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZj8ub3ZlcmxheUVsZW1lbnQuY2hpbGRyZW5bMF0uc2Nyb2xsKCAwLCAxIClcbiAgICAgICAgfSwxMDAgKVxuXG4gICAgICAgIHRoaXMub3BlbmluZ1ZhbHVlID0gSlNPTi5zdHJpbmdpZnkoIHRoaXMuc2VsZWN0aW9uLnZhbHVlIClcbiAgICB9XG5cbiAgICBjbG9zZSgpIHtcbiAgICAgICAgLy8gY29uc29sZS53YXJuKCdjbG9zZScsdGhpcy5pc09wZW4pXG4gICAgICAgIGlmICggIXRoaXMuaXNPcGVuICkgcmV0dXJuXG5cbiAgICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZVxuXG4gICAgICAgIGlmICggdGhpcy5vdmVybGF5UmVmICkge1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKVxuICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gbnVsbFxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKClcblxuICAgICAgICBsZXQgY2xvc2luZ1ZhbHVlID0gSlNPTi5zdHJpbmdpZnkoIHRoaXMuc2VsZWN0aW9uLnZhbHVlIClcbiAgICAgICAgaWYgKCB0aGlzLm9wZW5pbmdWYWx1ZSAhPSBjbG9zaW5nVmFsdWUgKVxuICAgICAgICAgICAgdGhpcy5lbWl0VmFsdWVDaGFuZ2UoKVxuICAgIH1cblxuICAgIHNldElucHV0VG9TZWxlY3Rpb24oKSB7XG4gICAgICAgIC8vIGNvbnNvbGUud2Fybignc2V0SW5wdXRUb1NlbGVjdGlvbicpXG4gICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHRoaXMuc2VsZWN0aW9uPy52YWx1ZT8ubWFwKCBjID0+IHRoaXMub3B0aW9uRm9ybWF0dGVyKCB0aGlzLm9wdGlvbkZvckNvZGUoIGMgKSwgdHJ1ZSApICkuam9pbiggJywgJyApIHx8IG51bGxcbiAgICAgICAgdGhpcy5pc0ZpbHRlcmVkID0gZmFsc2VcbiAgICB9XG5cbiAgICBvbklucHV0KCBldj8pIHtcbiAgICAgICAgdGhpcy5zZXRGaWx0ZXIoIGV2Py50YXJnZXQ/LnZhbHVlIClcbiAgICB9XG5cbiAgICBzZXRGaWx0ZXIoIHRleHQ/OiBzdHJpbmcgKSB7XG4gICAgICAgIGxldCB0ID0gdGV4dD8udHJpbSgpLnRvTG93ZXJDYXNlKClcblxuICAgICAgICBpZiAoIHQ/Lmxlbmd0aCA+PSB0aGlzLmZpbHRlckNoYXJzTWluICkge1xuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ2ZpbHRlcmluZycpXG4gICAgICAgICAgICB0aGlzLmlzRmlsdGVyZWQgPSB0cnVlXG4gICAgICAgICAgICB0aGlzLm1hdGNoID0gKCBvcHRpb24gKSA9PiBvcHRpb24uZGVzY3JpcHRpb24udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyggdCApXG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZygnbm90IGZpbHRlcmluZycpXG4gICAgICAgICAgICB0aGlzLmlzRmlsdGVyZWQgPSBmYWxzZVxuICAgICAgICAgICAgdGhpcy5tYXRjaCA9ICggbyApID0+IHRydWVcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpXG4gICAgfVxuXG4gICAgbWF0Y2hlc0ZpbHRlciggb3B0aW9uOiBDb2RlRGVzY3JpcHRpb24gKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1hdGNoKCBvcHRpb24gKVxuICAgIH1cblxuICAgIG9uU2VsZWN0aW9uQ2hhbmdlKCBldiApIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ29uU2VsZWN0aW9uQ2hhbmdlJyx0aGlzLnNpbmdsZSlcbiAgICAgICAgaWYgKCB0aGlzLnNpbmdsZSApIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKVxuICAgICAgICAgICAgdGhpcy5zZXRJbnB1dFRvU2VsZWN0aW9uKClcbiAgICAgICAgICAgIHRoaXMuZmxvYXRMYWJlbCA9ICdhdXRvJ1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJJbnB1dD8ubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIHRoaXMuc2VsZWN0TWF4ID4gMSApIHtcbiAgICAgICAgICAgIGlmICggdGhpcy5zZWxlY3Rpb24udmFsdWUubGVuZ3RoID49IHRoaXMuc2VsZWN0TWF4ICkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLmRpc2FibGUoKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uZW5hYmxlKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpXG4gICAgfVxuXG4gICAgb25VcHBlclNlbGVjdGlvbkNoYW5nZSggZXY6IE1hdFNlbGVjdGlvbkxpc3RDaGFuZ2UgKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgbGV0IGNvZGVzID0gdGhpcy5zZWxlY3Rpb24udmFsdWUuZmlsdGVyKCBjID0+IGMgIT0gZXYub3B0aW9uc1sgMCBdLnZhbHVlIClcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLnNldFZhbHVlKCBjb2RlcyApXG5cbiAgICAgICAgICAgIHRoaXMub25TZWxlY3Rpb25DaGFuZ2UoIGV2IClcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBvbkNhbmNlbENsaWNrKCkge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnb25DYW5jZWxDbGljaycpXG4gICAgICAgIHRoaXMuc2VsZWN0aW9uLnNldFZhbHVlKCBudWxsIClcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uZW5hYmxlKClcbiAgICAgICAgdGhpcy5zZXRJbnB1dFRvU2VsZWN0aW9uKClcbiAgICAgICAgdGhpcy5lbWl0VmFsdWVDaGFuZ2UoKVxuICAgIH1cblxuICAgIG9uSW5wdXRGb2N1cygpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ29uSW5wdXRGb2N1cycpXG4gICAgICAgIHRoaXMuZmxvYXRMYWJlbCA9ICdhbHdheXMnXG5cbiAgICAgICAgaWYgKCB0aGlzLmZpbHRlciApIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9ICcnXG4gICAgICAgICAgICB0aGlzLnNldEZpbHRlcigpXG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9wZW4oKVxuICAgIH1cblxuICAgIG9uQ2xvc2VDbGljaygpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ29uQ2xvc2VDbGljaycpXG4gICAgICAgIHRoaXMuY2xvc2UoKVxuICAgICAgICB0aGlzLnNldElucHV0VG9TZWxlY3Rpb24oKVxuICAgICAgICB0aGlzLmZsb2F0TGFiZWwgPSAnYXV0bydcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKClcbiAgICB9XG5cbiAgICBkZXNjcmlwdGlvbkZvckNvZGUoIGNvZGU6IHN0cmluZyApOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmZpbmQoIG8gPT4gby5jb2RlID09IGNvZGUgKT8uZGVzY3JpcHRpb25cbiAgICB9XG5cbiAgICBvcHRpb25Gb3JDb2RlKCBjb2RlOiBzdHJpbmcgKTogQ29kZURlc2NyaXB0aW9uIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5maW5kKCBvID0+IG8uY29kZSA9PSBjb2RlIClcbiAgICB9XG5cbiAgICBnZXQgaXNDbG9zZWROb1NlbGVjdGlvbigpIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzT3BlbiAmJiAhKCB0aGlzLnNlbGVjdGlvbj8udmFsdWU/Lmxlbmd0aCA+IDAgJiYgdGhpcy5jbGVhciApXG4gICAgfVxuXG4gICAgZ2V0IGlzQ2xvc2VkU2VsZWN0aW9uKCkge1xuICAgICAgICByZXR1cm4gIXRoaXMuaXNPcGVuICYmIHRoaXMuc2VsZWN0aW9uPy52YWx1ZT8ubGVuZ3RoID4gMCAmJiB0aGlzLmNsZWFyXG4gICAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkICN0cmlnZ2VyXG4gICAgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiXG4gICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxuICAgIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIlxuPlxuICAgIEBpZiAoIGxhYmVsICkge1xuICAgICAgICA8bWF0LWxhYmVsPnt7IGxhYmVsIH19PC9tYXQtbGFiZWw+XG4gICAgfVxuXG4gICAgPGlucHV0IGNsYXNzPVwiZmlsdGVyLWlucHV0XCIgI2ZpbHRlcklucHV0XG4gICAgICAgIG1hdElucHV0IFxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBcbiAgICAgICAgW3ZhbHVlXT1cImlucHV0VmFsdWVcIlxuICAgICAgICAoaW5wdXQpPVwib25JbnB1dCggJGV2ZW50IClcIlxuICAgICAgICAoa2V5ZG93bi5lc2NhcGUpPVwiY2xvc2UoKVwiXG4gICAgICAgIChmb2N1cyk9XCJvbklucHV0Rm9jdXMoKVwiXG4gICAgICAgIFttYXRUb29sdGlwXT1cImlucHV0VmFsdWVcIlxuICAgICAgICBbcmVhZG9ubHldPVwiIWZpbHRlclwiXG4gICAgPlxuPC9tYXQtZm9ybS1maWVsZD4gICAgICAgIFxuXG48bnJjbC1idXR0b24gdGVydGlhcnkgW2NsYXNzLmhpZGVdPVwiIWlzT3BlblwiXG4gICAgaWNvbj1cImFycm93X2Ryb3BfdXBcIlxuICAgIChjbGljayk9XCJvbkNsb3NlQ2xpY2soKVwiXG4+PC9ucmNsLWJ1dHRvbj5cblxuPG5yY2wtYnV0dG9uIHRlcnRpYXJ5IFtjbGFzcy5oaWRlXT1cIiFpc0Nsb3NlZFNlbGVjdGlvblwiXG4gICAgaWNvbj1cImNsb3NlXCJcbiAgICAoY2xpY2spPVwib25DYW5jZWxDbGljaygpXCJcbj48L25yY2wtYnV0dG9uPlxuXG48bnJjbC1idXR0b24gdGVydGlhcnkgW2NsYXNzLmhpZGVdPVwiIWlzQ2xvc2VkTm9TZWxlY3Rpb25cIlxuICAgIGljb249XCJhcnJvd19kcm9wX2Rvd25cIlxuICAgIChjbGljayk9XCJvbklucHV0Rm9jdXMoKVwiXG4+PC9ucmNsLWJ1dHRvbj5cblxuPG5nLXRlbXBsYXRlICNvdmVybGF5VGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cIm5yY2wgZmlsdGVyLXNlbGVjdC1vcHRpb25zXCIgW2NsYXNzLm11bHRpcGxlXT1cIiFzaW5nbGVcIiBbY2xhc3Muc2luZ2xlXT1cInNpbmdsZVwiIFtjbGFzc109XCJvdmVybGF5Q2xhc3NcIj5cbiAgICAgICAgQGlmICggIWlzRmlsdGVyZWQgJiYgKCAhc2luZ2xlIHx8IGZpbHRlckNoYXJzTWluICkgJiYgc3VtbWFyeSApIHtcbiAgICAgICAgICAgIEBpZiAoICFzZWxlY3Rpb24/LnZhbHVlPy5sZW5ndGggJiYgKCBoaW50IHx8IGZpbHRlckNoYXJzTWluICkgKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGlvbi1vdmVydmlld1wiPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKCBoaW50ICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1bW1hcnlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBoaW50IH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgIFxuXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoIGZpbHRlckNoYXJzTWluICYmIGZpbHRlckNoYXJzTWluTWVzc2FnZSApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdW1tYXJ5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZmlsdGVyQ2hhcnNNaW5NZXNzYWdlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICggc2VsZWN0aW9uPy52YWx1ZT8ubGVuZ3RoID4gMCAmJiBzZWxlY3Rpb24/LnZhbHVlPy5sZW5ndGggPCBvcHRpb25zPy5sZW5ndGggKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGlvbi1vdmVydmlld1wiPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKCAhc2luZ2xlICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1bW1hcnlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5TZWxlY3RlZCB7eyBzZWxlY3Rpb24/LnZhbHVlPy5sZW5ndGggfX0gb2Yge3sgb3B0aW9ucz8ubGVuZ3RoIH19IG9wdGlvbnM8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0aW9uLWxpc3RcbiAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25VcHBlclNlbGVjdGlvbkNoYW5nZSggJGV2ZW50IClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yICggY29kZSBvZiBzZWxlY3Rpb24/LnZhbHVlOyB0cmFjayBjb2RlICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGlzdC1vcHRpb24gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJjb2RlXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZVBvc2l0aW9uPVwiYmVmb3JlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcHMgPyBkZXNjcmlwdGlvbkZvckNvZGUoIGNvZGUgKSA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJhZnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uVGVtcGxhdGVcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogb3B0aW9uRm9yQ29kZSggY29kZSApIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGlzdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdGlvbi1saXN0PlxuXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoIGhpbnQgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VtbWFyeVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGhpbnQgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgICAgICAgICAgQGlmICggZmlsdGVyQ2hhcnNNaW4gJiYgZmlsdGVyQ2hhcnNNaW5NZXNzYWdlICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1bW1hcnlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBmaWx0ZXJDaGFyc01pbk1lc3NhZ2UgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCBzZWxlY3Rpb24/LnZhbHVlPy5sZW5ndGggPT0gb3B0aW9ucz8ubGVuZ3RoICkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3Rpb24tb3ZlcnZpZXdcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1bW1hcnlcIj5BbGwgb3B0aW9ucyBzZWxlY3RlZDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICggIWZpbHRlckNoYXJzTWluIHx8IGlzRmlsdGVyZWQgKSB7XG4gICAgICAgICAgICA8bWF0LXNlbGVjdGlvbi1saXN0XG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInNlbGVjdGlvblwiXG4gICAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZSggJGV2ZW50IClcIlxuICAgICAgICAgICAgICAgIFttdWx0aXBsZV09XCIhc2luZ2xlXCJcbiAgICAgICAgICAgICAgICBoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgQGZvciAoIG9wdGlvbiBvZiBvcHRpb25zOyB0cmFjayBvcHRpb24gKSB7XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbGlzdC1vcHRpb24gW2NsYXNzLmhpZGVdPVwiIW1hdGNoZXNGaWx0ZXIoIG9wdGlvbiApXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24uY29kZVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlUG9zaXRpb249XCJiZWZvcmVcIiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwcyA/IG9wdGlvbi5kZXNjcmlwdGlvbiA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWZ0ZXJcIiAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvblRlbXBsYXRlXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBvcHRpb24gfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWxpc3Qtb3B0aW9uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdGlvbi1saXN0PlxuICAgICAgICB9XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRPcHRpb25UZW1wbGF0ZVJlZiBsZXQtY3R4PlxuICAgIDxzcGFuPnt7IGN0eC5kZXNjcmlwdGlvbiB9fTwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -26,7 +26,6 @@ export class TabGroupComponent extends NrclBase {
26
26
  let self = this;
27
27
  this.tabGroup._handleClick = (function (inner) {
28
28
  return function (tab, tabHeader, index) {
29
- console.log(index);
30
29
  // return inner.call( this, tab, tabHeader, index )
31
30
  if (index == self.tabGroup.selectedIndex)
32
31
  return;
@@ -82,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
82
81
  type: ContentChildren,
83
82
  args: [TabComponent]
84
83
  }] } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25yLW5neC1jb21wb25lbnQtbGliL3NyYy9jb21wb25lbnRzL3RhYnMvdGFiLWdyb3VwL3RhYi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uci1uZ3gtY29tcG9uZW50LWxpYi9zcmMvY29tcG9uZW50cy90YWJzL3RhYi1ncm91cC90YWItZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQTRCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoTixPQUFPLEVBQVUsV0FBVyxFQUF5QixNQUFNLHdCQUF3QixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFpQnBELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxRQUFRO0lBVC9DOztRQVVJLGVBQVUsR0FBRyxNQUFNLENBQUUsVUFBVSxDQUFFLENBQUE7UUFDakMsc0JBQWlCLEdBQUcsTUFBTSxDQUFFLGlCQUFpQixDQUFFLENBQUE7UUFFTCxhQUFRLEdBQUcsS0FBSyxDQUFBO1FBQ2hCLFlBQU8sR0FBRyxLQUFLLENBQUE7UUFDaEQsZ0JBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUVmLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFvQyxDQUFBO1FBQ3hFLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUE7UUFNNUQsZUFBVSxHQUFHLEtBQUssQ0FBQTtRQUNsQixjQUFTLEdBQUcs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ZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgUXVlcnlMaXN0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFRhYiwgTWF0VGFiR3JvdXAsIE1hdFRhYkdyb3VwQmFzZUhlYWRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHsgTnJjbEJhc2UgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL25yY2wuYmFzZSc7XG5pbXBvcnQgeyBUYWJDb21wb25lbnQgfSBmcm9tICcuLi90YWIvdGFiLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIEFjdGl2YXRlVGFiRXZlbnQgPSB7XG4gICAgdGFiOiBudW1iZXIsXG4gICAgbmFtZT86IHN0cmluZyxcbiAgICBjYW5jZWw6ICggc2hvdWxkQ2FuY2VsOiBQcm9taXNlPGJvb2xlYW4+ICkgPT4gdm9pZFxufVxuXG5AQ29tcG9uZW50KCB7XG4gICAgc2VsZWN0b3I6ICducmNsLXRhYi1ncm91cCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYi1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3RhYi1ncm91cC5jb21wb25lbnQuc2NzcycsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLmxvb2stc3RhbmRhcmRdJzogJ2lzU3RhbmRhcmQnLFxuICAgICAgICAnW2NsYXNzLmxvb2stY2xhc3NpY10nOiAnaXNDbGFzc2ljJyxcbiAgICB9XG59IClcbmV4cG9ydCBjbGFzcyBUYWJHcm91cENvbXBvbmVudCBleHRlbmRzIE5yY2xCYXNlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcbiAgICBlbGVtZW50UmVmID0gaW5qZWN0KCBFbGVtZW50UmVmIClcbiAgICBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdCggQ2hhbmdlRGV0ZWN0b3JSZWYgKVxuXG4gICAgQElucHV0KCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9ICkgc3RhbmRhcmQgPSBmYWxzZVxuICAgIEBJbnB1dCggeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSApIGNsYXNzaWMgPSBmYWxzZVxuICAgIEBJbnB1dCgpIHNlbGVjdGVkVGFiID0gLTFcblxuICAgIEBPdXRwdXQoKSBzZWxlY3RlZFRhYkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpbmRleDogbnVtYmVyLCBuYW1lPzogc3RyaW5nIH0+KClcbiAgICBAT3V0cHV0KCkgYWN0aXZhdGVUYWIgPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGl2YXRlVGFiRXZlbnQ+KClcblxuICAgIEBWaWV3Q2hpbGQoTWF0VGFiR3JvdXApIHRhYkdyb3VwOiBNYXRUYWJHcm91cDtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oVGFiQ29tcG9uZW50KSB0YWJzITogUXVlcnlMaXN0PFRhYkNvbXBvbmVudD47XG5cbiAgICBpc1N0YW5kYXJkID0gZmFsc2VcbiAgICBpc0NsYXNzaWMgPSBmYWxzZVxuXG4gICAgbmdPbkNoYW5nZXMoIGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMgKTogdm9pZCB7XG4gICAgICAgIGNvbnNvbGUubG9nKGNoYW5nZXMpXG4gICAgICAgIHRoaXMudXBkYXRlU3RhdGUoKVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgbGV0IHNlbGYgPSB0aGlzXG5cbiAgICAgICAgdGhpcy50YWJHcm91cC5faGFuZGxlQ2xpY2sgPSAoIGZ1bmN0aW9uICggaW5uZXIgKSB7XG4gICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCB0YWI6IE1hdFRhYiwgdGFiSGVhZGVyOiBNYXRUYWJHcm91cEJhc2VIZWFkZXIsIGluZGV4OiBudW1iZXIgKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coaW5kZXgpXG4gICAgICAgICAgICAgICAgLy8gICAgcmV0dXJuIGlubmVyLmNhbGwoIHRoaXMsIHRhYiwgdGFiSGVhZGVyLCBpbmRleCApXG4gICAgICAgICAgICAgICAgaWYgKCBpbmRleCA9PSBzZWxmLnRhYkdyb3VwLnNlbGVjdGVkSW5kZXggKSByZXR1cm5cblxuICAgICAgICAgICAgICAgIGxldCBzaG91bGRDYW5jZWwgPSBQcm9taXNlLnJlc29sdmUoIGZhbHNlIClcbiAgICAgICAgICAgICAgICBsZXQgYWN0aXZhdGU6IEFjdGl2YXRlVGFiRXZlbnQgPSB7IFxuICAgICAgICAgICAgICAgICAgICB0YWI6IGluZGV4LCBcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogc2VsZi50YWJzLmdldCggaW5kZXggKT8ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgY2FuY2VsOiAoIHNob3VsZDogUHJvbWlzZTxib29sZWFuPiApID0+IHsgc2hvdWxkQ2FuY2VsID0gc2hvdWxkIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzZWxmLmFjdGl2YXRlVGFiLmVtaXQoIGFjdGl2YXRlIClcblxuICAgICAgICAgICAgICAgIHNob3VsZENhbmNlbC50aGVuKCBjYW5jZWwgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIGNhbmNlbCApIHJldHVyblxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIGlubmVyLmNhbGwoIHRoaXMsIHRhYiwgdGFiSGVhZGVyLCBpbmRleCApXG4gICAgICAgICAgICAgICAgICAgIC8vIHNlbGYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpXG4gICAgICAgICAgICAgICAgfSApXG4gICAgICAgICAgICB9XG4gICAgICAgIH0gKSggdGhpcy50YWJHcm91cC5faGFuZGxlQ2xpY2sgKVxuICAgIH1cblxuICAgIHVwZGF0ZVN0YXRlKCkge1xuICAgICAgICB0aGlzLmlzU3RhbmRhcmQgPSB0aGlzLnN0YW5kYXJkICYmICF0aGlzLmNsYXNzaWNcbiAgICAgICAgdGhpcy5pc0NsYXNzaWMgPSB0aGlzLmNsYXNzaWMgJiYgIXRoaXMuc3RhbmRhcmRcbiAgICB9XG5cbiAgICBvblNlbGVjdGVkSW5kZXhDaGFuZ2UoIGluZGV4OiBudW1iZXIgKSB7XG4gICAgICAgIGxldCB0ID0gdGhpcy50YWJzLmdldCggaW5kZXggKVxuICAgICAgICB0aGlzLnNlbGVjdGVkVGFiQ2hhbmdlLmVtaXQoIHsgaW5kZXgsIG5hbWU6IHQ/Lm5hbWUgfSApXG4gICAgfVxufVxuIiwiPG1hdC10YWItZ3JvdXAgXG4gICAgbWF0LXN0cmV0Y2gtdGFicz1cImZhbHNlXCJcbiAgICBhbmltYXRpb25EdXJhdGlvbj1cIjBtc1wiIFxuICAgIGRpc2FibGVSaXBwbGU9XCJmYWxzZVwiXG4gICAgW3NlbGVjdGVkSW5kZXhdPVwic2VsZWN0ZWRUYWJcIlxuICAgIChzZWxlY3RlZEluZGV4Q2hhbmdlKT1cIm9uU2VsZWN0ZWRJbmRleENoYW5nZSggJGV2ZW50IClcIlxuPiAgICBcbiAgICBAZm9yICggdGFiIG9mIHRhYnM7IHRyYWNrIHRhYiApIHtcbiAgICAgICAgPG1hdC10YWIgXG4gICAgICAgICAgICBbbGFiZWxdPVwidGFiLmxhYmVsXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ0YWIuZGlzYWJsZWRcIlxuICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKCB0YWIubGFiZWxUZW1wbGF0ZSApIHtcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0LXRhYi1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYi5sYWJlbFRlbXBsYXRlLnRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgQGlmICggdGFiLmNvbnRlbnRUZW1wbGF0ZSApIHtcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYi5jb250ZW50VGVtcGxhdGUudGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGVsc2UgaWYgKCB0YWIuY29udGVudCApIHtcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYi5jb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT4gICAgXG4gICAgICAgIDwvbWF0LXRhYj5cbiAgICB9XG48L21hdC10YWItZ3JvdXA+XG4iXX0=
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25yLW5neC1jb21wb25lbnQtbGliL3NyYy9jb21wb25lbnRzL3RhYnMvdGFiLWdyb3VwL3RhYi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uci1uZ3gtY29tcG9uZW50LWxpYi9zcmMvY29tcG9uZW50cy90YWJzL3RhYi1ncm91cC90YWItZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQTRCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoTixPQUFPLEVBQVUsV0FBVyxFQUF5QixNQUFNLHdCQUF3QixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFpQnBELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxRQUFRO0lBVC9DOztRQVVJLGVBQVUsR0FBRyxNQUFNLENBQUUsVUFBVSxDQUFFLENBQUE7UUFDakMsc0JBQWlCLEdBQUcsTUFBTSxDQUFFLGlCQUFpQixDQUFFLENBQUE7UUFFTCxhQUFRLEdBQUcsS0FBSyxDQUFBO1FBQ2hCLFlBQU8sR0FBRyxLQUFLLENBQUE7UUFDaEQsZ0JBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUVmLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFvQyxDQUFBO1FBQ3hFLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUE7UUFNNUQsZUFBVSxHQUFHLEtBQUssQ0FBQTtRQUNsQixjQUFTLEdBQUcsS0FBSyxDQUFBO0tBMkNwQjtJQXpDRyxXQUFXLENBQUUsT0FBc0I7UUFDL0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNwQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDdEIsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUE7UUFFZixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksR0FBRyxDQUFFLFVBQVcsS0FBSztZQUMzQyxPQUFPLFVBQVcsR0FBVyxFQUFFLFNBQWdDLEVBQUUsS0FBYTtnQkFDMUUsc0RBQXNEO2dCQUN0RCxJQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWE7b0JBQUcsT0FBTTtnQkFFbEQsSUFBSSxZQUFZLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBRSxLQUFLLENBQUUsQ0FBQTtnQkFDM0MsSUFBSSxRQUFRLEdBQXFCO29CQUM3QixHQUFHLEVBQUUsS0FBSztvQkFDVixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUUsS0FBSyxDQUFFLEVBQUUsSUFBSTtvQkFDbEMsTUFBTSxFQUFFLENBQUUsTUFBd0IsRUFBRyxFQUFFLEdBQUcsWUFBWSxHQUFHLE1BQU0sQ0FBQSxDQUFDLENBQUM7aUJBQ3BFLENBQUE7Z0JBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUUsUUFBUSxDQUFFLENBQUE7Z0JBRWpDLFlBQVksQ0FBQyxJQUFJLENBQUUsTUFBTSxDQUFDLEVBQUU7b0JBQ3hCLElBQUssTUFBTTt3QkFBRyxPQUFNO29CQUVwQixLQUFLLENBQUMsSUFBSSxDQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBRSxDQUFBO29CQUN6Qyx5Q0FBeUM7Z0JBQzdDLENBQUMsQ0FBRSxDQUFBO1lBQ1AsQ0FBQyxDQUFBO1FBQ0wsQ0FBQyxDQUFFLENBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUUsQ0FBQTtJQUNyQyxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7UUFDaEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQTtJQUNuRCxDQUFDO0lBRUQscUJBQXFCLENBQUUsS0FBYTtRQUNoQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBRSxLQUFLLENBQUUsQ0FBQTtRQUM5QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUUsQ0FBQTtJQUMzRCxDQUFDOytHQTFEUSxpQkFBaUI7bUdBQWpCLGlCQUFpQiwyRUFJTCxnQkFBZ0IsbUNBQ2hCLGdCQUFnQixpUUFRcEIsWUFBWSx1RUFGbEIsV0FBVyw0RkMvQjFCLHlnQ0E2QkE7OzRGRFRhLGlCQUFpQjtrQkFUN0IsU0FBUzsrQkFDSSxnQkFBZ0IsUUFHcEI7d0JBQ0YsdUJBQXVCLEVBQUUsWUFBWTt3QkFDckMsc0JBQXNCLEVBQUUsV0FBVztxQkFDdEM7OEJBTXlDLFFBQVE7c0JBQWpELEtBQUs7dUJBQUUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0csT0FBTztzQkFBaEQsS0FBSzt1QkFBRSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDOUIsV0FBVztzQkFBbkIsS0FBSztnQkFFSSxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFFaUIsUUFBUTtzQkFBL0IsU0FBUzt1QkFBQyxXQUFXO2dCQUVTLElBQUk7c0JBQWxDLGVBQWU7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIGJvb2xlYW5BdHRyaWJ1dGUsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgUXVlcnlMaXN0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFRhYiwgTWF0VGFiR3JvdXAsIE1hdFRhYkdyb3VwQmFzZUhlYWRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHsgTnJjbEJhc2UgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL25yY2wuYmFzZSc7XG5pbXBvcnQgeyBUYWJDb21wb25lbnQgfSBmcm9tICcuLi90YWIvdGFiLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIEFjdGl2YXRlVGFiRXZlbnQgPSB7XG4gICAgdGFiOiBudW1iZXIsXG4gICAgbmFtZT86IHN0cmluZyxcbiAgICBjYW5jZWw6ICggc2hvdWxkQ2FuY2VsOiBQcm9taXNlPGJvb2xlYW4+ICkgPT4gdm9pZFxufVxuXG5AQ29tcG9uZW50KCB7XG4gICAgc2VsZWN0b3I6ICducmNsLXRhYi1ncm91cCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYi1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3RhYi1ncm91cC5jb21wb25lbnQuc2NzcycsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLmxvb2stc3RhbmRhcmRdJzogJ2lzU3RhbmRhcmQnLFxuICAgICAgICAnW2NsYXNzLmxvb2stY2xhc3NpY10nOiAnaXNDbGFzc2ljJyxcbiAgICB9XG59IClcbmV4cG9ydCBjbGFzcyBUYWJHcm91cENvbXBvbmVudCBleHRlbmRzIE5yY2xCYXNlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcbiAgICBlbGVtZW50UmVmID0gaW5qZWN0KCBFbGVtZW50UmVmIClcbiAgICBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdCggQ2hhbmdlRGV0ZWN0b3JSZWYgKVxuXG4gICAgQElucHV0KCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9ICkgc3RhbmRhcmQgPSBmYWxzZVxuICAgIEBJbnB1dCggeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSApIGNsYXNzaWMgPSBmYWxzZVxuICAgIEBJbnB1dCgpIHNlbGVjdGVkVGFiID0gLTFcblxuICAgIEBPdXRwdXQoKSBzZWxlY3RlZFRhYkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpbmRleDogbnVtYmVyLCBuYW1lPzogc3RyaW5nIH0+KClcbiAgICBAT3V0cHV0KCkgYWN0aXZhdGVUYWIgPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGl2YXRlVGFiRXZlbnQ+KClcblxuICAgIEBWaWV3Q2hpbGQoTWF0VGFiR3JvdXApIHRhYkdyb3VwOiBNYXRUYWJHcm91cDtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oVGFiQ29tcG9uZW50KSB0YWJzITogUXVlcnlMaXN0PFRhYkNvbXBvbmVudD47XG5cbiAgICBpc1N0YW5kYXJkID0gZmFsc2VcbiAgICBpc0NsYXNzaWMgPSBmYWxzZVxuXG4gICAgbmdPbkNoYW5nZXMoIGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMgKTogdm9pZCB7XG4gICAgICAgIGNvbnNvbGUubG9nKGNoYW5nZXMpXG4gICAgICAgIHRoaXMudXBkYXRlU3RhdGUoKVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgbGV0IHNlbGYgPSB0aGlzXG5cbiAgICAgICAgdGhpcy50YWJHcm91cC5faGFuZGxlQ2xpY2sgPSAoIGZ1bmN0aW9uICggaW5uZXIgKSB7XG4gICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCB0YWI6IE1hdFRhYiwgdGFiSGVhZGVyOiBNYXRUYWJHcm91cEJhc2VIZWFkZXIsIGluZGV4OiBudW1iZXIgKSB7XG4gICAgICAgICAgICAgICAgLy8gICAgcmV0dXJuIGlubmVyLmNhbGwoIHRoaXMsIHRhYiwgdGFiSGVhZGVyLCBpbmRleCApXG4gICAgICAgICAgICAgICAgaWYgKCBpbmRleCA9PSBzZWxmLnRhYkdyb3VwLnNlbGVjdGVkSW5kZXggKSByZXR1cm5cblxuICAgICAgICAgICAgICAgIGxldCBzaG91bGRDYW5jZWwgPSBQcm9taXNlLnJlc29sdmUoIGZhbHNlIClcbiAgICAgICAgICAgICAgICBsZXQgYWN0aXZhdGU6IEFjdGl2YXRlVGFiRXZlbnQgPSB7IFxuICAgICAgICAgICAgICAgICAgICB0YWI6IGluZGV4LCBcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogc2VsZi50YWJzLmdldCggaW5kZXggKT8ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgY2FuY2VsOiAoIHNob3VsZDogUHJvbWlzZTxib29sZWFuPiApID0+IHsgc2hvdWxkQ2FuY2VsID0gc2hvdWxkIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzZWxmLmFjdGl2YXRlVGFiLmVtaXQoIGFjdGl2YXRlIClcblxuICAgICAgICAgICAgICAgIHNob3VsZENhbmNlbC50aGVuKCBjYW5jZWwgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIGNhbmNlbCApIHJldHVyblxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIGlubmVyLmNhbGwoIHRoaXMsIHRhYiwgdGFiSGVhZGVyLCBpbmRleCApXG4gICAgICAgICAgICAgICAgICAgIC8vIHNlbGYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpXG4gICAgICAgICAgICAgICAgfSApXG4gICAgICAgICAgICB9XG4gICAgICAgIH0gKSggdGhpcy50YWJHcm91cC5faGFuZGxlQ2xpY2sgKVxuICAgIH1cblxuICAgIHVwZGF0ZVN0YXRlKCkge1xuICAgICAgICB0aGlzLmlzU3RhbmRhcmQgPSB0aGlzLnN0YW5kYXJkICYmICF0aGlzLmNsYXNzaWNcbiAgICAgICAgdGhpcy5pc0NsYXNzaWMgPSB0aGlzLmNsYXNzaWMgJiYgIXRoaXMuc3RhbmRhcmRcbiAgICB9XG5cbiAgICBvblNlbGVjdGVkSW5kZXhDaGFuZ2UoIGluZGV4OiBudW1iZXIgKSB7XG4gICAgICAgIGxldCB0ID0gdGhpcy50YWJzLmdldCggaW5kZXggKVxuICAgICAgICB0aGlzLnNlbGVjdGVkVGFiQ2hhbmdlLmVtaXQoIHsgaW5kZXgsIG5hbWU6IHQ/Lm5hbWUgfSApXG4gICAgfVxufVxuIiwiPG1hdC10YWItZ3JvdXAgXG4gICAgbWF0LXN0cmV0Y2gtdGFicz1cImZhbHNlXCJcbiAgICBhbmltYXRpb25EdXJhdGlvbj1cIjBtc1wiIFxuICAgIGRpc2FibGVSaXBwbGU9XCJmYWxzZVwiXG4gICAgW3NlbGVjdGVkSW5kZXhdPVwic2VsZWN0ZWRUYWJcIlxuICAgIChzZWxlY3RlZEluZGV4Q2hhbmdlKT1cIm9uU2VsZWN0ZWRJbmRleENoYW5nZSggJGV2ZW50IClcIlxuPiAgICBcbiAgICBAZm9yICggdGFiIG9mIHRhYnM7IHRyYWNrIHRhYiApIHtcbiAgICAgICAgPG1hdC10YWIgXG4gICAgICAgICAgICBbbGFiZWxdPVwidGFiLmxhYmVsXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ0YWIuZGlzYWJsZWRcIlxuICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKCB0YWIubGFiZWxUZW1wbGF0ZSApIHtcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0LXRhYi1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYi5sYWJlbFRlbXBsYXRlLnRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgQGlmICggdGFiLmNvbnRlbnRUZW1wbGF0ZSApIHtcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYi5jb250ZW50VGVtcGxhdGUudGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGVsc2UgaWYgKCB0YWIuY29udGVudCApIHtcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYi5jb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT4gICAgXG4gICAgICAgIDwvbWF0LXRhYj5cbiAgICB9XG48L21hdC10YWItZ3JvdXA+XG4iXX0=
@@ -726,35 +726,38 @@ class FilterSelectComponent extends NrclBase {
726
726
  if (changes.options) {
727
727
  let pv = JSON.stringify(changes.options.previousValue);
728
728
  let cv = JSON.stringify(changes.options.currentValue);
729
+ // console.log('options',pv,cv)
729
730
  if (pv != cv) {
731
+ this.value = [];
730
732
  this.selection.setValue(null);
731
733
  this.setInputToSelection();
732
734
  this.setFilter();
733
735
  }
734
736
  }
735
737
  if (changes.value) {
736
- let pv = JSON.stringify(changes.value.previousValue);
737
- let cv = JSON.stringify(changes.value.currentValue);
738
- if (pv != cv) {
739
- if (this.value) {
740
- this.hasValue = this.value.length > 0;
741
- this.selection.setValue(this.value);
742
- if (this.selectMax > 1 && this.value.length >= this.selectMax) {
743
- this.selection.disable();
744
- }
745
- else {
746
- this.selection.enable();
747
- }
738
+ // let pv = JSON.stringify( changes.value.previousValue )
739
+ // let cv = JSON.stringify( changes.value.currentValue )
740
+ // console.log('value',pv,cv)
741
+ // if ( pv != cv ) {
742
+ if (this.value) {
743
+ this.hasValue = this.value.length > 0;
744
+ this.selection.setValue(this.value);
745
+ if (this.selectMax > 1 && this.value.length >= this.selectMax) {
746
+ this.selection.disable();
748
747
  }
749
748
  else {
750
- this.hasValue = false;
751
- this.selection.setValue(null);
752
749
  this.selection.enable();
753
750
  }
754
- this.setFilter();
755
- this.setInputToSelection();
756
- this.changeDetectorRef.detectChanges();
757
751
  }
752
+ else {
753
+ this.hasValue = false;
754
+ this.selection.setValue(null);
755
+ this.selection.enable();
756
+ }
757
+ this.setFilter();
758
+ this.setInputToSelection();
759
+ this.changeDetectorRef.detectChanges();
760
+ // }
758
761
  }
759
762
  }
760
763
  ngAfterViewInit() {
@@ -2156,7 +2159,6 @@ class TabGroupComponent extends NrclBase {
2156
2159
  let self = this;
2157
2160
  this.tabGroup._handleClick = (function (inner) {
2158
2161
  return function (tab, tabHeader, index) {
2159
- console.log(index);
2160
2162
  // return inner.call( this, tab, tabHeader, index )
2161
2163
  if (index == self.tabGroup.selectedIndex)
2162
2164
  return;