igniteui-angular-extras 17.1.5 → 18.0.4

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.
@@ -43,15 +43,18 @@ export class IgxChartMenuComponent {
43
43
  createChart(chartType) {
44
44
  this.currentChartType = chartType;
45
45
  this.title = chartType.split(/(?=[A-Z])/).toString().replace(',', ' ');
46
- this.chartArea.clear();
46
+ try {
47
+ this.chartArea.clear();
48
+ }
49
+ catch (e) { }
47
50
  this.chartDirective.chartFactory(chartType, this.chartArea);
48
51
  }
49
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgxChartMenuComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
50
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: IgxChartMenuComponent, selector: "igx-chart-menu", outputs: { onClose: "onClose" }, host: { properties: { "style.width.px": "this.width", "style.height.px": "this.height" } }, viewQueries: [{ propertyName: "chartArea", first: true, predicate: ["chartArea"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div class=\"header\">\r\n <span class=\"header-text\">\r\n {{ title }} Chart\r\n </span>\r\n <span class=\"action-buttons-wrapper\">\r\n <button igxButton=\"icon\" (click)=\"toggleFullScreen()\">\r\n <igx-icon class=\"material\">fullscreen{{fullScreen ? '_exit' : ''}}</igx-icon>\r\n </button>\r\n <button igxButton=\"icon\" (click)=\"onClose.emit()\">\r\n <igx-icon class=\"material\">close</igx-icon>\r\n </button>\r\n </span>\r\n</div>\r\n<div class=\"selection-area ig-scrollbar\">\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"chart-area\" [ngClass]=\"{'expanded': isConfigAreaExpanded}\">\r\n <ng-template #chartArea ></ng-template>\r\n </div>\r\n <div>\r\n <button igxButton=\"icon\" igxRipple (click)=\"isConfigAreaExpanded = !isConfigAreaExpanded\">\r\n <igx-icon family=\"material\">chevron_{{ isConfigAreaExpanded ? 'left': 'right'}}</igx-icon>\r\n </button>\r\n </div>\r\n <div #configArea [ngClass]=\"{'chart-config-area': true, 'opened': !isConfigAreaExpanded, 'closed': isConfigAreaExpanded }\">\r\n <div class=\"config-area-header\">\r\n <span>Chart Types</span>\r\n </div>\r\n <igx-divider class=\"divider\"></igx-divider>\r\n <div class=\"wrapper\" *ngFor=\"let chartType of mainChartTypes\">\r\n <ng-container *ngIf=\"hasAvailableChart(chartType)\">\r\n <div>{{chartType | titlecase}} Chart</div>\r\n <div class=\"types-section\">\r\n <ng-container *ngFor=\"let chart of allCharts\">\r\n <span *ngIf=\"chart.startsWith(chartType)\" class=\"types-section-btn\" title=\"{{chart}}\"\r\n [ngClass]=\"{'selected': chart === currentChartType}\" (click)=\"createChart(chart)\">\r\n <div [innerHTML]=\"images[chart] | svg\">\r\n </div>\r\n </span>\r\n </ng-container>\r\n </div>\r\n <igx-divider></igx-divider>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".ig-chart-legend-items-list{height:20%;display:inline-flex;flex-wrap:wrap;margin-bottom:1rem}igx-chart-menu{display:flex;flex-flow:column;overflow:hidden;background-color:#fff;transition:width .2s ease-in-out,height .3s ease-in-out}.header{height:10%;background-color:#e0e0e0;display:flex;font-size:1.8rem}.header .action-buttons-wrapper{margin-left:auto;margin-right:10px;align-self:center}.header .header-text{margin-right:auto;align-self:center;margin-left:3rem}.selection-area{width:100%;height:90%;display:inline-flex;flex-flow:row}.selection-area,.selection-area .ig-scrollbar{--scrollbar-size: var(--ig-scrollbar-scrollbar-size, 8px);--thumb-background: var(--ig-scrollbar-thumb-background, hsla(var(--ig-gray-400), var(--ig-gray-a)));--track-background: var(--ig-scrollbar-track-background, hsla(var(--ig-gray-100), var(--ig-gray-a)))}.selection-area .chart-area{margin-top:1rem;overflow-y:hidden;overflow-x:hidden;width:100%}.selection-area .chart-config-area{transition:all;transition-duration:.3s;transition-timing-function:ease-in-out}.selection-area .chart-config-area.opened{width:25%;overflow-y:auto;overflow-x:hidden}.selection-area .chart-config-area.closed{width:0;transform:translate(100%)}.selection-area .chart-config-area .config-area-header{margin-bottom:3px;font-size:1rem;font-weight:700;text-align:center}.selection-area .chart-config-area .types-section-btn{width:40%;margin-right:5px;cursor:pointer}.selection-area .chart-config-area .types-section-btn.selected{opacity:.5}.selection-area .wrapper{padding:3px}.selection-area .wrapper .types-section{display:flex;flex-wrap:wrap}.selection-area .wrapper .igx-divider{margin:5px!important;background:#000!important}\n"], dependencies: [{ kind: "directive", type: i1.IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel"], outputs: ["buttonSelected"] }, { kind: "directive", type: i1.IgxDividerDirective, selector: "igx-divider", inputs: ["id", "role", "type", "middle", "vertical", "inset"] }, { kind: "component", type: i1.IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i3.SvgPipe, name: "svg" }], encapsulation: i0.ViewEncapsulation.None }); }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: IgxChartMenuComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
53
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: IgxChartMenuComponent, selector: "igx-chart-menu", outputs: { onClose: "onClose" }, host: { properties: { "style.width.px": "this.width", "style.height.px": "this.height" } }, viewQueries: [{ propertyName: "chartArea", first: true, predicate: ["chartArea"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div class=\"header\">\r\n <span class=\"header-text\">\r\n {{ title }} Chart\r\n </span>\r\n <span class=\"action-buttons-wrapper\">\r\n <button igxIconButton=\"flat\" (click)=\"toggleFullScreen()\">\r\n <igx-icon class=\"material\">fullscreen{{fullScreen ? '_exit' : ''}}</igx-icon>\r\n </button>\r\n <button igxIconButton=\"flat\" (click)=\"onClose.emit()\">\r\n <igx-icon class=\"material\">close</igx-icon>\r\n </button>\r\n </span>\r\n</div>\r\n<div class=\"selection-area ig-scrollbar\">\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"chart-area\" [ngClass]=\"{'expanded': isConfigAreaExpanded}\">\r\n <ng-template #chartArea ></ng-template>\r\n </div>\r\n <div>\r\n <button igxIconButton=\"flat\" igxRipple (click)=\"isConfigAreaExpanded = !isConfigAreaExpanded\">\r\n <igx-icon family=\"material\">chevron_{{ isConfigAreaExpanded ? 'left': 'right'}}</igx-icon>\r\n </button>\r\n </div>\r\n <div #configArea [ngClass]=\"{'chart-config-area': true, 'opened': !isConfigAreaExpanded, 'closed': isConfigAreaExpanded }\">\r\n <div class=\"config-area-header\">\r\n <span>Chart Types</span>\r\n </div>\r\n <igx-divider class=\"divider\"></igx-divider>\r\n <div class=\"wrapper\" *ngFor=\"let chartType of mainChartTypes\">\r\n <ng-container *ngIf=\"hasAvailableChart(chartType)\">\r\n <div>{{chartType | titlecase}} Chart</div>\r\n <div class=\"types-section\">\r\n <ng-container *ngFor=\"let chart of allCharts\">\r\n <span *ngIf=\"chart.startsWith(chartType)\" class=\"types-section-btn\" title=\"{{chart}}\"\r\n [ngClass]=\"{'selected': chart === currentChartType}\" (click)=\"createChart(chart)\">\r\n <div [innerHTML]=\"images[chart] | svg\">\r\n </div>\r\n </span>\r\n </ng-container>\r\n </div>\r\n <igx-divider></igx-divider>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".ig-chart-legend-items-list{height:20%;display:inline-flex;flex-wrap:wrap;margin-bottom:1rem}igx-chart-menu{display:flex;flex-flow:column;overflow:hidden;background-color:#fff;transition:width .2s ease-in-out,height .3s ease-in-out}.header{height:10%;background-color:#e0e0e0;display:flex;font-size:1.8rem}.header .action-buttons-wrapper{margin-left:auto;margin-right:10px;align-self:center}.header .header-text{margin-right:auto;align-self:center;margin-left:3rem}.selection-area{width:100%;height:90%;display:inline-flex;flex-flow:row}.selection-area,.selection-area .ig-scrollbar{--scrollbar-size: var(--ig-scrollbar-scrollbar-size, 8px);--thumb-background: var(--ig-scrollbar-thumb-background, hsla(var(--ig-gray-400), var(--ig-gray-a)));--track-background: var(--ig-scrollbar-track-background, hsla(var(--ig-gray-100), var(--ig-gray-a)))}.selection-area .chart-area{margin-top:1rem;overflow-y:hidden;overflow-x:hidden;width:100%}.selection-area .chart-config-area{transition:all;transition-duration:.3s;transition-timing-function:ease-in-out}.selection-area .chart-config-area.opened{width:25%;overflow-y:auto;overflow-x:hidden}.selection-area .chart-config-area.closed{width:0;transform:translate(100%)}.selection-area .chart-config-area .config-area-header{margin-bottom:3px;font-size:1rem;font-weight:700;text-align:center}.selection-area .chart-config-area .types-section-btn{width:40%;margin-right:5px;cursor:pointer}.selection-area .chart-config-area .types-section-btn.selected{opacity:.5}.selection-area .wrapper{padding:3px}.selection-area .wrapper .types-section{display:flex;flex-wrap:wrap}.selection-area .wrapper .igx-divider{margin:5px!important;background:#000!important}\n"], dependencies: [{ kind: "directive", type: i1.IgxIconButtonDirective, selector: "[igxIconButton]", inputs: ["igxIconButton"] }, { kind: "directive", type: i1.IgxDividerDirective, selector: "igx-divider", inputs: ["id", "role", "type", "middle", "vertical", "inset"] }, { kind: "component", type: i1.IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i3.SvgPipe, name: "svg" }], encapsulation: i0.ViewEncapsulation.None }); }
51
54
  }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgxChartMenuComponent, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: IgxChartMenuComponent, decorators: [{
53
56
  type: Component,
54
- args: [{ selector: 'igx-chart-menu', encapsulation: ViewEncapsulation.None, template: "<div class=\"header\">\r\n <span class=\"header-text\">\r\n {{ title }} Chart\r\n </span>\r\n <span class=\"action-buttons-wrapper\">\r\n <button igxButton=\"icon\" (click)=\"toggleFullScreen()\">\r\n <igx-icon class=\"material\">fullscreen{{fullScreen ? '_exit' : ''}}</igx-icon>\r\n </button>\r\n <button igxButton=\"icon\" (click)=\"onClose.emit()\">\r\n <igx-icon class=\"material\">close</igx-icon>\r\n </button>\r\n </span>\r\n</div>\r\n<div class=\"selection-area ig-scrollbar\">\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"chart-area\" [ngClass]=\"{'expanded': isConfigAreaExpanded}\">\r\n <ng-template #chartArea ></ng-template>\r\n </div>\r\n <div>\r\n <button igxButton=\"icon\" igxRipple (click)=\"isConfigAreaExpanded = !isConfigAreaExpanded\">\r\n <igx-icon family=\"material\">chevron_{{ isConfigAreaExpanded ? 'left': 'right'}}</igx-icon>\r\n </button>\r\n </div>\r\n <div #configArea [ngClass]=\"{'chart-config-area': true, 'opened': !isConfigAreaExpanded, 'closed': isConfigAreaExpanded }\">\r\n <div class=\"config-area-header\">\r\n <span>Chart Types</span>\r\n </div>\r\n <igx-divider class=\"divider\"></igx-divider>\r\n <div class=\"wrapper\" *ngFor=\"let chartType of mainChartTypes\">\r\n <ng-container *ngIf=\"hasAvailableChart(chartType)\">\r\n <div>{{chartType | titlecase}} Chart</div>\r\n <div class=\"types-section\">\r\n <ng-container *ngFor=\"let chart of allCharts\">\r\n <span *ngIf=\"chart.startsWith(chartType)\" class=\"types-section-btn\" title=\"{{chart}}\"\r\n [ngClass]=\"{'selected': chart === currentChartType}\" (click)=\"createChart(chart)\">\r\n <div [innerHTML]=\"images[chart] | svg\">\r\n </div>\r\n </span>\r\n </ng-container>\r\n </div>\r\n <igx-divider></igx-divider>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".ig-chart-legend-items-list{height:20%;display:inline-flex;flex-wrap:wrap;margin-bottom:1rem}igx-chart-menu{display:flex;flex-flow:column;overflow:hidden;background-color:#fff;transition:width .2s ease-in-out,height .3s ease-in-out}.header{height:10%;background-color:#e0e0e0;display:flex;font-size:1.8rem}.header .action-buttons-wrapper{margin-left:auto;margin-right:10px;align-self:center}.header .header-text{margin-right:auto;align-self:center;margin-left:3rem}.selection-area{width:100%;height:90%;display:inline-flex;flex-flow:row}.selection-area,.selection-area .ig-scrollbar{--scrollbar-size: var(--ig-scrollbar-scrollbar-size, 8px);--thumb-background: var(--ig-scrollbar-thumb-background, hsla(var(--ig-gray-400), var(--ig-gray-a)));--track-background: var(--ig-scrollbar-track-background, hsla(var(--ig-gray-100), var(--ig-gray-a)))}.selection-area .chart-area{margin-top:1rem;overflow-y:hidden;overflow-x:hidden;width:100%}.selection-area .chart-config-area{transition:all;transition-duration:.3s;transition-timing-function:ease-in-out}.selection-area .chart-config-area.opened{width:25%;overflow-y:auto;overflow-x:hidden}.selection-area .chart-config-area.closed{width:0;transform:translate(100%)}.selection-area .chart-config-area .config-area-header{margin-bottom:3px;font-size:1rem;font-weight:700;text-align:center}.selection-area .chart-config-area .types-section-btn{width:40%;margin-right:5px;cursor:pointer}.selection-area .chart-config-area .types-section-btn.selected{opacity:.5}.selection-area .wrapper{padding:3px}.selection-area .wrapper .types-section{display:flex;flex-wrap:wrap}.selection-area .wrapper .igx-divider{margin:5px!important;background:#000!important}\n"] }]
57
+ args: [{ selector: 'igx-chart-menu', encapsulation: ViewEncapsulation.None, template: "<div class=\"header\">\r\n <span class=\"header-text\">\r\n {{ title }} Chart\r\n </span>\r\n <span class=\"action-buttons-wrapper\">\r\n <button igxIconButton=\"flat\" (click)=\"toggleFullScreen()\">\r\n <igx-icon class=\"material\">fullscreen{{fullScreen ? '_exit' : ''}}</igx-icon>\r\n </button>\r\n <button igxIconButton=\"flat\" (click)=\"onClose.emit()\">\r\n <igx-icon class=\"material\">close</igx-icon>\r\n </button>\r\n </span>\r\n</div>\r\n<div class=\"selection-area ig-scrollbar\">\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"chart-area\" [ngClass]=\"{'expanded': isConfigAreaExpanded}\">\r\n <ng-template #chartArea ></ng-template>\r\n </div>\r\n <div>\r\n <button igxIconButton=\"flat\" igxRipple (click)=\"isConfigAreaExpanded = !isConfigAreaExpanded\">\r\n <igx-icon family=\"material\">chevron_{{ isConfigAreaExpanded ? 'left': 'right'}}</igx-icon>\r\n </button>\r\n </div>\r\n <div #configArea [ngClass]=\"{'chart-config-area': true, 'opened': !isConfigAreaExpanded, 'closed': isConfigAreaExpanded }\">\r\n <div class=\"config-area-header\">\r\n <span>Chart Types</span>\r\n </div>\r\n <igx-divider class=\"divider\"></igx-divider>\r\n <div class=\"wrapper\" *ngFor=\"let chartType of mainChartTypes\">\r\n <ng-container *ngIf=\"hasAvailableChart(chartType)\">\r\n <div>{{chartType | titlecase}} Chart</div>\r\n <div class=\"types-section\">\r\n <ng-container *ngFor=\"let chart of allCharts\">\r\n <span *ngIf=\"chart.startsWith(chartType)\" class=\"types-section-btn\" title=\"{{chart}}\"\r\n [ngClass]=\"{'selected': chart === currentChartType}\" (click)=\"createChart(chart)\">\r\n <div [innerHTML]=\"images[chart] | svg\">\r\n </div>\r\n </span>\r\n </ng-container>\r\n </div>\r\n <igx-divider></igx-divider>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".ig-chart-legend-items-list{height:20%;display:inline-flex;flex-wrap:wrap;margin-bottom:1rem}igx-chart-menu{display:flex;flex-flow:column;overflow:hidden;background-color:#fff;transition:width .2s ease-in-out,height .3s ease-in-out}.header{height:10%;background-color:#e0e0e0;display:flex;font-size:1.8rem}.header .action-buttons-wrapper{margin-left:auto;margin-right:10px;align-self:center}.header .header-text{margin-right:auto;align-self:center;margin-left:3rem}.selection-area{width:100%;height:90%;display:inline-flex;flex-flow:row}.selection-area,.selection-area .ig-scrollbar{--scrollbar-size: var(--ig-scrollbar-scrollbar-size, 8px);--thumb-background: var(--ig-scrollbar-thumb-background, hsla(var(--ig-gray-400), var(--ig-gray-a)));--track-background: var(--ig-scrollbar-track-background, hsla(var(--ig-gray-100), var(--ig-gray-a)))}.selection-area .chart-area{margin-top:1rem;overflow-y:hidden;overflow-x:hidden;width:100%}.selection-area .chart-config-area{transition:all;transition-duration:.3s;transition-timing-function:ease-in-out}.selection-area .chart-config-area.opened{width:25%;overflow-y:auto;overflow-x:hidden}.selection-area .chart-config-area.closed{width:0;transform:translate(100%)}.selection-area .chart-config-area .config-area-header{margin-bottom:3px;font-size:1rem;font-weight:700;text-align:center}.selection-area .chart-config-area .types-section-btn{width:40%;margin-right:5px;cursor:pointer}.selection-area .chart-config-area .types-section-btn.selected{opacity:.5}.selection-area .wrapper{padding:3px}.selection-area .wrapper .types-section{display:flex;flex-wrap:wrap}.selection-area .wrapper .igx-divider{margin:5px!important;background:#000!important}\n"] }]
55
58
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { chartArea: [{
56
59
  type: ViewChild,
57
60
  args: ['chartArea', { read: ViewContainerRef }]
@@ -64,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
64
67
  type: HostBinding,
65
68
  args: ['style.height.px']
66
69
  }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXItZXh0cmFzL3NyYy9saWIvY29udGV4dC1tZW51L2NoYXJ0LWRpYWxvZy9jaGFydC1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci1leHRyYXMvc3JjL2xpYi9jb250ZXh0LW1lbnUvY2hhcnQtZGlhbG9nL2NoYXJ0LWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUN4RCxNQUFNLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sS0FBSyxNQUFNLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7O0FBUXpELE1BQU0sT0FBTyxxQkFBcUI7SUFPOUIsSUFDVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUM3RCxDQUFDO0lBQ0QsSUFBVyxLQUFLLENBQUMsS0FBSztRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFDVyxNQUFNO1FBQ2IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUMvRCxDQUFDO0lBQ0QsSUFBVyxNQUFNLENBQUMsS0FBSztRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBZUQsWUFBb0IsT0FBd0I7UUFBeEIsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUEvQnJDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBa0JsQyw0QkFBdUIsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBTXhDLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQUM3QixtQkFBYyxHQUFHLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUt4RSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN6QixDQUFDO0lBRU0sZUFBZTtRQUVsQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksY0FBYyxDQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDL0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV6RCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxnQkFBZ0I7UUFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDdkMsQ0FBQztJQUVNLGlCQUFpQixDQUFDLFNBQVM7UUFDOUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRU0sV0FBVyxDQUFDLFNBQVM7UUFDeEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFNBQVMsQ0FBQztRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEUsQ0FBQzs4R0E3RFEscUJBQXFCO2tHQUFyQixxQkFBcUIsc1FBRUUsZ0JBQWdCLDZCQ2RwRCx3cEVBNkNBOzsyRkRqQ2EscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNJLGdCQUFnQixpQkFHWCxpQkFBaUIsQ0FBQyxJQUFJOytFQUlzQixTQUFTO3NCQUFuRSxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtnQkFHM0MsT0FBTztzQkFEYixNQUFNO2dCQUlJLEtBQUs7c0JBRGYsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBU2xCLE1BQU07c0JBRGhCLFdBQVc7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLFxyXG4gICAgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYsIFZpZXdFbmNhcHN1bGF0aW9uLCBFbGVtZW50UmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgY2hhcnRzIGZyb20gJy4uLy4uLy4uL2ltYWdlcy9jaGFydHMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFJlc2l6ZU9ic2VydmVyIH0gZnJvbSAnQGp1Z2dsZS9yZXNpemUtb2JzZXJ2ZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2lneC1jaGFydC1tZW51JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jaGFydC1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hhcnQtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ3hDaGFydE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdjaGFydEFyZWEnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgcHVibGljIGNoYXJ0QXJlYTogVmlld0NvbnRhaW5lclJlZjtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBvbkNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aC5weCcpXHJcbiAgICBwdWJsaWMgZ2V0IHdpZHRoKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZ1bGxTY3JlZW4gPyB0aGlzLl93aWR0aCA6IDAuNyAqIHRoaXMuX3dpZHRoO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCB3aWR0aCh2YWx1ZSkge1xyXG4gICAgICAgIHRoaXMuX3dpZHRoID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQucHgnKVxyXG4gICAgcHVibGljIGdldCBoZWlnaHQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZnVsbFNjcmVlbiA/IHRoaXMuX2hlaWdodCA6IDAuNyAqIHRoaXMuX2hlaWdodDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgaGVpZ2h0KHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5faGVpZ2h0ID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNoYXJ0RGlhbG9nUmVzaXplTm90aWZ5ID0gbmV3IFN1YmplY3QoKTtcclxuICAgIHByaXZhdGUgY29udGVudE9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcclxuICAgIHB1YmxpYyBpbWFnZXM7XHJcbiAgICBwdWJsaWMgY2hhcnREaXJlY3RpdmU7XHJcbiAgICBwdWJsaWMgY3VycmVudENoYXJ0VHlwZTtcclxuICAgIHB1YmxpYyB0aXRsZTtcclxuICAgIHB1YmxpYyBhbGxDaGFydHMgPSBbXTtcclxuICAgIHB1YmxpYyBmdWxsU2NyZWVuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaXNDb25maWdBcmVhRXhwYW5kZWQgPSBmYWxzZTtcclxuICAgIHB1YmxpYyBtYWluQ2hhcnRUeXBlcyA9IFsnQ29sdW1uJywgJ0FyZWEnLCAnQmFyJywgJ0xpbmUnLCAnU2NhdHRlcicsICdQaWUnXTtcclxuICAgIHByaXZhdGUgX3dpZHRoO1xyXG4gICAgcHJpdmF0ZSBfaGVpZ2h0O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZjxhbnk+KSB7XHJcbiAgICAgICAgdGhpcy5pbWFnZXMgPSBjaGFydHM7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuXHJcbiAgICAgICAgdGhpcy5jb250ZW50T2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIgKCAoYXJncykgPT4gdGhpcy5jaGFydERpYWxvZ1Jlc2l6ZU5vdGlmeS5uZXh0KGFyZ3MpKTtcclxuICAgICAgICB0aGlzLmNvbnRlbnRPYnNlcnZlci5vYnNlcnZlKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50KTtcclxuXHJcbiAgICAgICAgdGhpcy5jcmVhdGVDaGFydCh0aGlzLmN1cnJlbnRDaGFydFR5cGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB0b2dnbGVGdWxsU2NyZWVuKCkge1xyXG4gICAgICAgIHRoaXMuZnVsbFNjcmVlbiA9ICF0aGlzLmZ1bGxTY3JlZW47XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhc0F2YWlsYWJsZUNoYXJ0KGNoYXJ0VHlwZSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFsbENoYXJ0cy5zb21lKGMgPT4gYy5pbmNsdWRlcyhjaGFydFR5cGUpKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY3JlYXRlQ2hhcnQoY2hhcnRUeXBlKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50Q2hhcnRUeXBlID0gY2hhcnRUeXBlO1xyXG4gICAgICAgIHRoaXMudGl0bGUgPSBjaGFydFR5cGUuc3BsaXQoLyg/PVtBLVpdKS8pLnRvU3RyaW5nKCkucmVwbGFjZSgnLCcsICcgJyk7XHJcbiAgICAgICAgdGhpcy5jaGFydEFyZWEuY2xlYXIoKTtcclxuICAgICAgICB0aGlzLmNoYXJ0RGlyZWN0aXZlLmNoYXJ0RmFjdG9yeShjaGFydFR5cGUsIHRoaXMuY2hhcnRBcmVhKTtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaGVhZGVyXCI+XHJcbiAgICA8c3BhbiBjbGFzcz1cImhlYWRlci10ZXh0XCI+XHJcbiAgICAgICAge3sgdGl0bGUgfX0gQ2hhcnRcclxuICAgIDwvc3Bhbj5cclxuICAgIDxzcGFuIGNsYXNzPVwiYWN0aW9uLWJ1dHRvbnMtd3JhcHBlclwiPlxyXG4gICAgICAgIDxidXR0b24gaWd4QnV0dG9uPVwiaWNvblwiIChjbGljayk9XCJ0b2dnbGVGdWxsU2NyZWVuKClcIj5cclxuICAgICAgICAgICAgPGlneC1pY29uIGNsYXNzPVwibWF0ZXJpYWxcIj5mdWxsc2NyZWVue3tmdWxsU2NyZWVuID8gJ19leGl0JyA6ICcnfX08L2lneC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gaWd4QnV0dG9uPVwiaWNvblwiIChjbGljayk9XCJvbkNsb3NlLmVtaXQoKVwiPlxyXG4gICAgICAgICAgICA8aWd4LWljb24gY2xhc3M9XCJtYXRlcmlhbFwiPmNsb3NlPC9pZ3gtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgIDwvc3Bhbj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJzZWxlY3Rpb24tYXJlYSBpZy1zY3JvbGxiYXJcIj5cclxuICAgIDxpZ2MtdHJpYWwtd2F0ZXJtYXJrPjwvaWdjLXRyaWFsLXdhdGVybWFyaz5cclxuICAgIDxkaXYgY2xhc3M9XCJjaGFydC1hcmVhXCIgW25nQ2xhc3NdPVwieydleHBhbmRlZCc6IGlzQ29uZmlnQXJlYUV4cGFuZGVkfVwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjY2hhcnRBcmVhID48L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2PlxyXG4gICAgICAgIDxidXR0b24gaWd4QnV0dG9uPVwiaWNvblwiIGlneFJpcHBsZSAoY2xpY2spPVwiaXNDb25maWdBcmVhRXhwYW5kZWQgPSAhaXNDb25maWdBcmVhRXhwYW5kZWRcIj5cclxuICAgICAgICAgICAgPGlneC1pY29uIGZhbWlseT1cIm1hdGVyaWFsXCI+Y2hldnJvbl97eyBpc0NvbmZpZ0FyZWFFeHBhbmRlZCA/ICdsZWZ0JzogJ3JpZ2h0J319PC9pZ3gtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAjY29uZmlnQXJlYSBbbmdDbGFzc109XCJ7J2NoYXJ0LWNvbmZpZy1hcmVhJzogdHJ1ZSwgJ29wZW5lZCc6ICFpc0NvbmZpZ0FyZWFFeHBhbmRlZCwgJ2Nsb3NlZCc6IGlzQ29uZmlnQXJlYUV4cGFuZGVkIH1cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29uZmlnLWFyZWEtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPkNoYXJ0IFR5cGVzPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxpZ3gtZGl2aWRlciBjbGFzcz1cImRpdmlkZXJcIj48L2lneC1kaXZpZGVyPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCIgKm5nRm9yPVwibGV0IGNoYXJ0VHlwZSBvZiBtYWluQ2hhcnRUeXBlc1wiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzQXZhaWxhYmxlQ2hhcnQoY2hhcnRUeXBlKVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdj57e2NoYXJ0VHlwZSB8IHRpdGxlY2FzZX19IENoYXJ0PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHlwZXMtc2VjdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNoYXJ0IG9mIGFsbENoYXJ0c1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY2hhcnQuc3RhcnRzV2l0aChjaGFydFR5cGUpXCIgIGNsYXNzPVwidHlwZXMtc2VjdGlvbi1idG5cIiB0aXRsZT1cInt7Y2hhcnR9fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3NlbGVjdGVkJzogY2hhcnQgPT09IGN1cnJlbnRDaGFydFR5cGV9XCIgKGNsaWNrKT1cImNyZWF0ZUNoYXJ0KGNoYXJ0KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICBbaW5uZXJIVE1MXT1cImltYWdlc1tjaGFydF0gfCBzdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8aWd4LWRpdmlkZXI+PC9pZ3gtZGl2aWRlcj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXItZXh0cmFzL3NyYy9saWIvY29udGV4dC1tZW51L2NoYXJ0LWRpYWxvZy9jaGFydC1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci1leHRyYXMvc3JjL2xpYi9jb250ZXh0LW1lbnUvY2hhcnQtZGlhbG9nL2NoYXJ0LWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ1ksU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQ25ELE1BQU0sRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQ3pELE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sS0FBSyxNQUFNLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7O0FBUXpELE1BQU0sT0FBTyxxQkFBcUI7SUFPOUIsSUFDVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUM3RCxDQUFDO0lBQ0QsSUFBVyxLQUFLLENBQUMsS0FBSztRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFDVyxNQUFNO1FBQ2IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUMvRCxDQUFDO0lBQ0QsSUFBVyxNQUFNLENBQUMsS0FBSztRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBZUQsWUFBb0IsT0FBd0I7UUFBeEIsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUEvQnJDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBa0JsQyw0QkFBdUIsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBTXhDLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQUM3QixtQkFBYyxHQUFHLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUt4RSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN6QixDQUFDO0lBRU0sZUFBZTtRQUVsQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksY0FBYyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDN0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV6RCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxnQkFBZ0I7UUFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDdkMsQ0FBQztJQUVNLGlCQUFpQixDQUFDLFNBQVM7UUFDOUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRU0sV0FBVyxDQUFDLFNBQVM7UUFDeEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFNBQVMsQ0FBQztRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUM7WUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNCLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEUsQ0FBQzs4R0EvRFEscUJBQXFCO2tHQUFyQixxQkFBcUIsc1FBRUUsZ0JBQWdCLDZCQ2hCcEQsb3FFQTZDQTs7MkZEL0JhLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDSSxnQkFBZ0IsaUJBR1gsaUJBQWlCLENBQUMsSUFBSTsrRUFJc0IsU0FBUztzQkFBbkUsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBRzNDLE9BQU87c0JBRGIsTUFBTTtnQkFJSSxLQUFLO3NCQURmLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQVNsQixNQUFNO3NCQURoQixXQUFXO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsXHJcbiAgICBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiwgVmlld0VuY2Fwc3VsYXRpb24sIEVsZW1lbnRSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgY2hhcnRzIGZyb20gJy4uLy4uLy4uL2ltYWdlcy9jaGFydHMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFJlc2l6ZU9ic2VydmVyIH0gZnJvbSAnQGp1Z2dsZS9yZXNpemUtb2JzZXJ2ZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2lneC1jaGFydC1tZW51JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jaGFydC1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hhcnQtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ3hDaGFydE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdjaGFydEFyZWEnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgcHVibGljIGNoYXJ0QXJlYTogVmlld0NvbnRhaW5lclJlZjtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBvbkNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aC5weCcpXHJcbiAgICBwdWJsaWMgZ2V0IHdpZHRoKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZ1bGxTY3JlZW4gPyB0aGlzLl93aWR0aCA6IDAuNyAqIHRoaXMuX3dpZHRoO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCB3aWR0aCh2YWx1ZSkge1xyXG4gICAgICAgIHRoaXMuX3dpZHRoID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQucHgnKVxyXG4gICAgcHVibGljIGdldCBoZWlnaHQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZnVsbFNjcmVlbiA/IHRoaXMuX2hlaWdodCA6IDAuNyAqIHRoaXMuX2hlaWdodDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgaGVpZ2h0KHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5faGVpZ2h0ID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNoYXJ0RGlhbG9nUmVzaXplTm90aWZ5ID0gbmV3IFN1YmplY3QoKTtcclxuICAgIHByaXZhdGUgY29udGVudE9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcclxuICAgIHB1YmxpYyBpbWFnZXM7XHJcbiAgICBwdWJsaWMgY2hhcnREaXJlY3RpdmU7XHJcbiAgICBwdWJsaWMgY3VycmVudENoYXJ0VHlwZTtcclxuICAgIHB1YmxpYyB0aXRsZTtcclxuICAgIHB1YmxpYyBhbGxDaGFydHMgPSBbXTtcclxuICAgIHB1YmxpYyBmdWxsU2NyZWVuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaXNDb25maWdBcmVhRXhwYW5kZWQgPSBmYWxzZTtcclxuICAgIHB1YmxpYyBtYWluQ2hhcnRUeXBlcyA9IFsnQ29sdW1uJywgJ0FyZWEnLCAnQmFyJywgJ0xpbmUnLCAnU2NhdHRlcicsICdQaWUnXTtcclxuICAgIHByaXZhdGUgX3dpZHRoO1xyXG4gICAgcHJpdmF0ZSBfaGVpZ2h0O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZjxhbnk+KSB7XHJcbiAgICAgICAgdGhpcy5pbWFnZXMgPSBjaGFydHM7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuXHJcbiAgICAgICAgdGhpcy5jb250ZW50T2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKGFyZ3MpID0+IHRoaXMuY2hhcnREaWFsb2dSZXNpemVOb3RpZnkubmV4dChhcmdzKSk7XHJcbiAgICAgICAgdGhpcy5jb250ZW50T2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCk7XHJcblxyXG4gICAgICAgIHRoaXMuY3JlYXRlQ2hhcnQodGhpcy5jdXJyZW50Q2hhcnRUeXBlKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdG9nZ2xlRnVsbFNjcmVlbigpIHtcclxuICAgICAgICB0aGlzLmZ1bGxTY3JlZW4gPSAhdGhpcy5mdWxsU2NyZWVuO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYXNBdmFpbGFibGVDaGFydChjaGFydFR5cGUpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hbGxDaGFydHMuc29tZShjID0+IGMuaW5jbHVkZXMoY2hhcnRUeXBlKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNyZWF0ZUNoYXJ0KGNoYXJ0VHlwZSkge1xyXG4gICAgICAgIHRoaXMuY3VycmVudENoYXJ0VHlwZSA9IGNoYXJ0VHlwZTtcclxuICAgICAgICB0aGlzLnRpdGxlID0gY2hhcnRUeXBlLnNwbGl0KC8oPz1bQS1aXSkvKS50b1N0cmluZygpLnJlcGxhY2UoJywnLCAnICcpO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhcnRBcmVhLmNsZWFyKCk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkgeyB9XHJcbiAgICAgICAgdGhpcy5jaGFydERpcmVjdGl2ZS5jaGFydEZhY3RvcnkoY2hhcnRUeXBlLCB0aGlzLmNoYXJ0QXJlYSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImhlYWRlclwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJoZWFkZXItdGV4dFwiPlxyXG4gICAgICAgIHt7IHRpdGxlIH19IENoYXJ0XHJcbiAgICA8L3NwYW4+XHJcbiAgICA8c3BhbiBjbGFzcz1cImFjdGlvbi1idXR0b25zLXdyYXBwZXJcIj5cclxuICAgICAgICA8YnV0dG9uIGlneEljb25CdXR0b249XCJmbGF0XCIgKGNsaWNrKT1cInRvZ2dsZUZ1bGxTY3JlZW4oKVwiPlxyXG4gICAgICAgICAgICA8aWd4LWljb24gY2xhc3M9XCJtYXRlcmlhbFwiPmZ1bGxzY3JlZW57e2Z1bGxTY3JlZW4gPyAnX2V4aXQnIDogJyd9fTwvaWd4LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBpZ3hJY29uQnV0dG9uPVwiZmxhdFwiIChjbGljayk9XCJvbkNsb3NlLmVtaXQoKVwiPlxyXG4gICAgICAgICAgICA8aWd4LWljb24gY2xhc3M9XCJtYXRlcmlhbFwiPmNsb3NlPC9pZ3gtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgIDwvc3Bhbj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJzZWxlY3Rpb24tYXJlYSBpZy1zY3JvbGxiYXJcIj5cclxuICAgIDxpZ2MtdHJpYWwtd2F0ZXJtYXJrPjwvaWdjLXRyaWFsLXdhdGVybWFyaz5cclxuICAgIDxkaXYgY2xhc3M9XCJjaGFydC1hcmVhXCIgW25nQ2xhc3NdPVwieydleHBhbmRlZCc6IGlzQ29uZmlnQXJlYUV4cGFuZGVkfVwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjY2hhcnRBcmVhID48L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2PlxyXG4gICAgICAgIDxidXR0b24gaWd4SWNvbkJ1dHRvbj1cImZsYXRcIiBpZ3hSaXBwbGUgKGNsaWNrKT1cImlzQ29uZmlnQXJlYUV4cGFuZGVkID0gIWlzQ29uZmlnQXJlYUV4cGFuZGVkXCI+XHJcbiAgICAgICAgICAgIDxpZ3gtaWNvbiBmYW1pbHk9XCJtYXRlcmlhbFwiPmNoZXZyb25fe3sgaXNDb25maWdBcmVhRXhwYW5kZWQgPyAnbGVmdCc6ICdyaWdodCd9fTwvaWd4LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgI2NvbmZpZ0FyZWEgW25nQ2xhc3NdPVwieydjaGFydC1jb25maWctYXJlYSc6IHRydWUsICdvcGVuZWQnOiAhaXNDb25maWdBcmVhRXhwYW5kZWQsICdjbG9zZWQnOiBpc0NvbmZpZ0FyZWFFeHBhbmRlZCB9XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbmZpZy1hcmVhLWhlYWRlclwiPlxyXG4gICAgICAgICAgICA8c3Bhbj5DaGFydCBUeXBlczwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8aWd4LWRpdmlkZXIgY2xhc3M9XCJkaXZpZGVyXCI+PC9pZ3gtZGl2aWRlcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiICpuZ0Zvcj1cImxldCBjaGFydFR5cGUgb2YgbWFpbkNoYXJ0VHlwZXNcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc0F2YWlsYWJsZUNoYXJ0KGNoYXJ0VHlwZSlcIj5cclxuICAgICAgICAgICAgICAgIDxkaXY+e3tjaGFydFR5cGUgfCB0aXRsZWNhc2V9fSBDaGFydDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR5cGVzLXNlY3Rpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjaGFydCBvZiBhbGxDaGFydHNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNoYXJ0LnN0YXJ0c1dpdGgoY2hhcnRUeXBlKVwiICBjbGFzcz1cInR5cGVzLXNlY3Rpb24tYnRuXCIgdGl0bGU9XCJ7e2NoYXJ0fX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydzZWxlY3RlZCc6IGNoYXJ0ID09PSBjdXJyZW50Q2hhcnRUeXBlfVwiIChjbGljayk9XCJjcmVhdGVDaGFydChjaGFydClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAgW2lubmVySFRNTF09XCJpbWFnZXNbY2hhcnRdIHwgc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGlneC1kaXZpZGVyPjwvaWd4LWRpdmlkZXI+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -151,12 +151,12 @@ export class IgxContextMenuComponent {
151
151
  this._dialogId = undefined;
152
152
  }
153
153
  }
154
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgxContextMenuComponent, deps: [{ token: i1.IgxOverlayService }], target: i0.ɵɵFactoryTarget.Component }); }
155
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: IgxContextMenuComponent, selector: "igx-context-menu", viewQueries: [{ propertyName: "button", first: true, predicate: ["analyticsBtn"], descendants: true }, { propertyName: "tabsMenu", first: true, predicate: ["tabsMenu"], descendants: true, read: IgxToggleDirective }, { propertyName: "chartPreview", first: true, predicate: ["chartPreview"], descendants: true, read: ViewContainerRef }, { propertyName: "chartPreviewDialog", first: true, predicate: ["chartPreviewDialog"], descendants: true, read: IgxToggleDirective }, { propertyName: "tabs", first: true, predicate: IgxTabsComponent, descendants: true }], ngImport: i0, template: "<span #analyticsBtn class=\"analytics-btn\">\r\n <button #btn igxButton=\"icon\" (click)=\"toggleTabMenu()\">\r\n <igx-icon #icon class=\"icon\" family=\"material\">insert_chart_outlined</igx-icon>\r\n </button>\r\n</span>\r\n<div #tabsMenu igxToggle class=\"toggle-content ig-scrollbar\">\r\n <!--NOTE: This component has been updated by Infragistics migration: v12.0.0\r\nPlease check your template whether all bindings/event handlers are correct.-->\r\n <igx-tabs tabsType=\"fixed\" [selectedIndex]=\"!this.textFormatters.length && chartTypes.length ? 1 : 0\">\r\n <igx-tab-item [disabled]=\"!textFormatters.length\">\r\n <igx-tab-header>\r\n <span igxTabHeaderLabel>Conditional Formatting</span>\r\n </igx-tab-header>\r\n <igx-tab-content>\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"tabs\">\r\n <span class=\"tab-option\">\r\n <span *ngFor=\"let condition of textFormatters\" class=\"action btn condition\"\r\n [ngClass]=\"{'selected--condition': condition === currentFormatter}\"\r\n (click)=\"formatCells(condition)\">\r\n <div class=\"imgSize\" [innerHTML]=\"conditionImages[condition.replace(' ', '')] | svg\">\r\n </div>\r\n <span class=\"name\">{{condition.replace('10', '10%')}}</span>\r\n </span>\r\n </span>\r\n <span class=\"clear action\"\r\n [ngClass]=\"{'disableButton': contextDirective.textFormatter ? !contextDirective.textFormatter.formatter : true }\"\r\n (click)=\"clearFormat()\">\r\n <div class=\"imgSize\" [innerHTML]=\"conditionImages['Clear'] | svg\">\r\n </div>\r\n <span class=\"btn name\">Clear All</span>\r\n </span>\r\n </div>\r\n </igx-tab-content>\r\n </igx-tab-item>\r\n <igx-tab-item [disabled]=\"!chartTypes.length\">\r\n <igx-tab-header>\r\n <span igxTabHeaderLabel>Create Chart</span>\r\n </igx-tab-header>\r\n <igx-tab-content>\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"tabs\">\r\n <span class=\"tab-option\">\r\n <span *ngFor=\"let chart of chartTypes | slice:0:4\" class=\"action btn chart\"\r\n [ngClass]=\"{'selected': chart === currentChartType}\" (mouseenter)=\"previewChart(chart)\"\r\n (mouseleave)=\"hidePreview()\" (click)=\"openDialog(chart)\">\r\n <span [innerHTML]=\"chartImages[chart] | svg\" class=\"imgSize\">\r\n </span>\r\n <span class=\"name\">{{chart}}</span>\r\n </span>\r\n </span>\r\n <span class=\"more-action chart\" [ngClass]=\"{'disableButton': !chartTypes.length}\"\r\n (click)=\"openDialog()\">\r\n <button class=\"more-btn more-icon\" igxButton=\"icon\" igxButtonBackground=\"#EBEBEB\"\r\n igxButtonColor=\"black\">\r\n <igx-icon class=\"icon\" family=\"material\">more_horiz</igx-icon>\r\n </button>\r\n <span class=\"name btn\">More...</span>\r\n </span>\r\n </div>\r\n </igx-tab-content>\r\n </igx-tab-item>\r\n </igx-tabs>\r\n</div>\r\n<div igxToggle #chartPreviewDialog class=\"chart-preview\">\r\n <div class=\"chart-preview-title\">\r\n <h5>Preview Chart</h5>\r\n </div>\r\n <div class=\"chart-preview-area\">\r\n <ng-template #chartPreview></ng-template>\r\n </div>\r\n</div>", styles: [".analytics-btn,.analytics-btn [igxButton=flat],.analytics-btn .igx-button--flat{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, transparent);--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--size: var(--igx-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--igx-button-default-size, 1);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-0));--background: var(--igx-button-background, #335e3b);--focus-foreground: var(--igx-button-focus-foreground, white);--border-radius: var(--igx-button-border-radius, 0);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-hover-background: var(--igx-button-focus-hover-background, #396a42);--focus-hover-foreground: var(--igx-button-focus-hover-foreground, white);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-400), .12));--active-foreground: var(--igx-button-active-foreground, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-0));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-0));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-0));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-0))}.analytics-btn,.analytics-btn [igxButton=outlined],.analytics-btn .igx-button--outlined{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--hover-border-color: var(--igx-button-hover-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--focus-border-color: var(--igx-button-focus-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--focus-visible-border-color: var(--igx-button-focus-visible-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--active-border-color: var(--igx-button-active-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--disabled-border-color: var(--igx-button-disabled-border-color, hsla(var(--ig-gray-300), var(--ig-gray-a)));--disabled-background: var(--igx-button-disabled-background, transparent);--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--size: var(--igx-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--igx-button-default-size, 1);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-0));--background: var(--igx-button-background, #335e3b);--focus-foreground: var(--igx-button-focus-foreground, white);--border-radius: var(--igx-button-border-radius, 0);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-hover-background: var(--igx-button-focus-hover-background, #396a42);--focus-hover-foreground: var(--igx-button-focus-hover-foreground, white);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-400), .12));--active-foreground: var(--igx-button-active-foreground, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-0));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-0));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-0));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-0))}.analytics-btn,.analytics-btn [igxButton=contained],.analytics-btn .igx-button--contained{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, hsla(var(--ig-gray-100), var(--ig-gray-a)));--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--size: var(--igx-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--igx-button-default-size, 1);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-2));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-4));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-8));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-8));--background: var(--igx-button-background, #335e3b);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-300), var(--ig-secondary-a)));--border-radius: var(--igx-button-border-radius, 0);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-hover-background: var(--igx-button-focus-hover-background, #396a42);--focus-hover-foreground: var(--igx-button-focus-hover-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-foreground: var(--igx-button-active-foreground, color-mix(in oklch, var(--ig-secondary-300-contrast) 100%, transparent));--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-2));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-4));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-8));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-8))}.analytics-btn,.analytics-btn [igxButton=fab],.analytics-btn .igx-button--fab{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, hsla(var(--ig-gray-100), var(--ig-gray-a)));--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--size: var(--igx-button-size, max(var(--is-large, 1) * max(3rem, -1 * 3rem), var(--is-medium, 1) * max(2.5rem, -1 * 2.5rem), var(--is-small, 1) * max(2rem, -1 * 2rem)));--default-size: var(--igx-button-default-size, 1);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-6));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-12));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-12));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-12));--background: var(--igx-button-background, #335e3b);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-300), var(--ig-secondary-a)));--border-radius: var(--igx-button-border-radius, 0);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-hover-background: var(--igx-button-focus-hover-background, #396a42);--focus-hover-foreground: var(--igx-button-focus-hover-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-foreground: var(--igx-button-active-foreground, color-mix(in oklch, var(--ig-secondary-300-contrast) 100%, transparent));--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-6));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-12));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-12));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-12))}.disableButton{opacity:.4;pointer-events:none}.clear,.more-action{display:flex;flex-flow:column;justify-content:center;border-left:1px solid #bdbdbd}.clear .btn,.clear .more-btn,.more-action .btn,.more-action .more-btn{width:68px;margin:0 0 7px;padding:0}.clear .more-btn,.more-action .more-btn{width:36px;height:36px;align-self:center;border-radius:20px}.clear .name,.more-action .name{font-size:.9rem;font-weight:400;text-align:center}.icon{pointer-events:none}.btn{display:inline-flex;flex-flow:column;align-items:center}.btn.condition{padding-right:16px}.btn.chart{padding-right:24px}.btn img,.btn span{pointer-events:none}.chart-preview{width:350px;height:300px;background-color:#fff;overflow:hidden}.chart-preview .chart-preview-title{margin:1rem;justify-content:center}.chart-preview .chart-preview-area{height:270px}::ng-deep .toggle-content{width:354px;max-width:358px;height:148px;background-color:#fff}::ng-deep .toggle-content,::ng-deep .toggle-content .ig-scrollbar{--scrollbar-size: var(--ig-scrollbar-scrollbar-size, 8px);--thumb-background: var(--ig-scrollbar-thumb-background, hsla(var(--ig-gray-400), var(--ig-gray-a)));--track-background: var(--ig-scrollbar-track-background, hsla(var(--ig-gray-100), var(--ig-gray-a)))}::ng-deep .toggle-content .tabs{display:flex!important;border:.2px solid;border-color:#d3d3d3}::ng-deep .toggle-content .tab-option{padding:.9rem;height:100px;width:358px;display:inline-flex;overflow-x:auto;overflow-y:hidden;white-space:nowrap;align-content:center}::ng-deep .toggle-content .tab-option .chartImgButton{width:48px;height:48px}::ng-deep .toggle-content .tab-option .imgSize,::ng-deep .toggle-content .clear.action .imgSize{width:36px;height:36px;align-self:center}::ng-deep .toggle-content .action{cursor:pointer;opacity:1}::ng-deep .toggle-content .action.selected{opacity:.62}::ng-deep .toggle-content .action.selected--condition{pointer-events:none;opacity:.62}\n"], dependencies: [{ kind: "directive", type: i1.IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel"], outputs: ["buttonSelected"] }, { kind: "component", type: i1.IgxTabsComponent, selector: "igx-tabs", inputs: ["tabAlignment"] }, { kind: "component", type: i1.IgxTabItemComponent, selector: "igx-tab-item" }, { kind: "component", type: i1.IgxTabHeaderComponent, selector: "igx-tab-header" }, { kind: "component", type: i1.IgxTabContentComponent, selector: "igx-tab-content" }, { kind: "directive", type: i1.IgxTabHeaderLabelDirective, selector: "igx-tab-header-label,[igxTabHeaderLabel]" }, { kind: "directive", type: i1.IgxToggleDirective, selector: "[igxToggle]", inputs: ["id"], outputs: ["opened", "opening", "closed", "closing", "appended"], exportAs: ["toggle"] }, { kind: "component", type: i1.IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i2.SlicePipe, name: "slice" }, { kind: "pipe", type: i3.SvgPipe, name: "svg" }] }); }
154
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: IgxContextMenuComponent, deps: [{ token: i1.IgxOverlayService }], target: i0.ɵɵFactoryTarget.Component }); }
155
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: IgxContextMenuComponent, selector: "igx-context-menu", viewQueries: [{ propertyName: "button", first: true, predicate: ["analyticsBtn"], descendants: true }, { propertyName: "tabsMenu", first: true, predicate: ["tabsMenu"], descendants: true, read: IgxToggleDirective }, { propertyName: "chartPreview", first: true, predicate: ["chartPreview"], descendants: true, read: ViewContainerRef }, { propertyName: "chartPreviewDialog", first: true, predicate: ["chartPreviewDialog"], descendants: true, read: IgxToggleDirective }, { propertyName: "tabs", first: true, predicate: IgxTabsComponent, descendants: true }], ngImport: i0, template: "<span #analyticsBtn class=\"analytics-btn\">\r\n <button #btn igxIconButton=\"flat\" (click)=\"toggleTabMenu()\">\r\n <igx-icon #icon class=\"icon\" family=\"material\">insert_chart_outlined</igx-icon>\r\n </button>\r\n</span>\r\n<div #tabsMenu igxToggle class=\"toggle-content ig-scrollbar\">\r\n <!--NOTE: This component has been updated by Infragistics migration: v12.0.0\r\nPlease check your template whether all bindings/event handlers are correct.-->\r\n <igx-tabs tabsType=\"fixed\" [selectedIndex]=\"!this.textFormatters.length && chartTypes.length ? 1 : 0\">\r\n <igx-tab-item [disabled]=\"!textFormatters.length\">\r\n <igx-tab-header>\r\n <span igxTabHeaderLabel>Conditional Formatting</span>\r\n </igx-tab-header>\r\n <igx-tab-content>\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"tabs\">\r\n <span class=\"tab-option\">\r\n <span *ngFor=\"let condition of textFormatters\" class=\"action btn condition\"\r\n [ngClass]=\"{'selected--condition': condition === currentFormatter}\"\r\n (click)=\"formatCells(condition)\">\r\n <div class=\"imgSize\" [innerHTML]=\"conditionImages[condition.replace(' ', '')] | svg\">\r\n </div>\r\n <span class=\"name\">{{condition.replace('10', '10%')}}</span>\r\n </span>\r\n </span>\r\n <span class=\"clear action\"\r\n [ngClass]=\"{'disableButton': contextDirective.textFormatter ? !contextDirective.textFormatter.formatter : true }\"\r\n (click)=\"clearFormat()\">\r\n <div class=\"imgSize\" [innerHTML]=\"conditionImages['Clear'] | svg\">\r\n </div>\r\n <span class=\"btn name\">Clear All</span>\r\n </span>\r\n </div>\r\n </igx-tab-content>\r\n </igx-tab-item>\r\n <igx-tab-item [disabled]=\"!chartTypes.length\">\r\n <igx-tab-header>\r\n <span igxTabHeaderLabel>Create Chart</span>\r\n </igx-tab-header>\r\n <igx-tab-content>\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"tabs\">\r\n <span class=\"tab-option\">\r\n <span *ngFor=\"let chart of chartTypes | slice:0:4\" class=\"action btn chart\"\r\n [ngClass]=\"{'selected': chart === currentChartType}\" (mouseenter)=\"previewChart(chart)\"\r\n (mouseleave)=\"hidePreview()\" (click)=\"openDialog(chart)\">\r\n <span [innerHTML]=\"chartImages[chart] | svg\" class=\"imgSize\">\r\n </span>\r\n <span class=\"name\">{{chart}}</span>\r\n </span>\r\n </span>\r\n <span class=\"more-action chart\" [ngClass]=\"{'disableButton': !chartTypes.length}\"\r\n (click)=\"openDialog()\">\r\n <button class=\"more-btn more-icon\" igxIconButton=\"flat\" [style.--background]=\"'#EBEBEB'\"\r\n [style.--foreground]=\"'black'\">\r\n <igx-icon class=\"icon\" family=\"material\">more_horiz</igx-icon>\r\n </button>\r\n <span class=\"name btn\">More...</span>\r\n </span>\r\n </div>\r\n </igx-tab-content>\r\n </igx-tab-item>\r\n </igx-tabs>\r\n</div>\r\n<div igxToggle #chartPreviewDialog class=\"chart-preview\">\r\n <div class=\"chart-preview-title\">\r\n <h5>Preview Chart</h5>\r\n </div>\r\n <div class=\"chart-preview-area\">\r\n <ng-template #chartPreview></ng-template>\r\n </div>\r\n</div>", styles: [".analytics-btn,.analytics-btn [igxButton=flat],.analytics-btn .igx-button--flat{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, transparent);--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--disabled-icon-color: var(--igx-button-disabled-icon-color, hsla(var(--ig-gray-500), var(--ig-gray-a)));--size: var(--igx-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--igx-button-default-size, 3);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-0));--background: var(--igx-button-background, #335e3b);--focus-foreground: var(--igx-button-focus-foreground, white);--border-radius: var(--igx-button-border-radius, 0);--foreground: var(--igx-button-foreground, #fff);--icon-color: var(--igx-button-icon-color, #fff);--icon-color-hover: var(--igx-button-icon-color-hover, black);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-hover-background: var(--igx-button-focus-hover-background, #396a42);--focus-hover-foreground: var(--igx-button-focus-hover-foreground, white);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-500), .16));--active-foreground: var(--igx-button-active-foreground, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-0));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-0));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-0));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-0))}.analytics-btn,.analytics-btn [igxButton=outlined],.analytics-btn .igx-button--outlined{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--hover-border-color: var(--igx-button-hover-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--focus-border-color: var(--igx-button-focus-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--focus-visible-border-color: var(--igx-button-focus-visible-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--active-border-color: var(--igx-button-active-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--disabled-border-color: var(--igx-button-disabled-border-color, hsla(var(--ig-gray-300), var(--ig-gray-a)));--disabled-background: var(--igx-button-disabled-background, transparent);--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--disabled-icon-color: var(--igx-button-disabled-icon-color, hsla(var(--ig-gray-500), var(--ig-gray-a)));--size: var(--igx-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--igx-button-default-size, 3);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-0));--background: var(--igx-button-background, #335e3b);--focus-foreground: var(--igx-button-focus-foreground, white);--border-radius: var(--igx-button-border-radius, 0);--foreground: var(--igx-button-foreground, #fff);--icon-color: var(--igx-button-icon-color, #fff);--icon-color-hover: var(--igx-button-icon-color-hover, black);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-hover-background: var(--igx-button-focus-hover-background, #396a42);--focus-hover-foreground: var(--igx-button-focus-hover-foreground, white);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-500), .16));--active-foreground: var(--igx-button-active-foreground, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-0));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-0));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-0));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-0))}.analytics-btn,.analytics-btn [igxButton=contained],.analytics-btn .igx-button--contained{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, hsla(var(--ig-gray-100), var(--ig-gray-a)));--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--disabled-icon-color: var(--igx-button-disabled-icon-color, hsla(var(--ig-gray-500), var(--ig-gray-a)));--size: var(--igx-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--igx-button-default-size, 3);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-2));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-4));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-8));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-8));--background: var(--igx-button-background, #335e3b);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-300), var(--ig-secondary-a)));--border-radius: var(--igx-button-border-radius, 0);--foreground: var(--igx-button-foreground, #fff);--icon-color: var(--igx-button-icon-color, #fff);--icon-color-hover: var(--igx-button-icon-color-hover, black);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-hover-background: var(--igx-button-focus-hover-background, #396a42);--focus-hover-foreground: var(--igx-button-focus-hover-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-foreground: var(--igx-button-active-foreground, color-mix(in oklch, var(--ig-secondary-300-contrast) 100%, transparent));--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-2));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-4));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-8));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-8))}.analytics-btn,.analytics-btn [igxButton=fab],.analytics-btn .igx-button--fab{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, hsla(var(--ig-gray-100), var(--ig-gray-a)));--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--disabled-icon-color: var(--igx-button-disabled-icon-color, hsla(var(--ig-gray-500), var(--ig-gray-a)));--size: var(--igx-button-size, max(var(--is-large, 1) * max(3rem, -1 * 3rem), var(--is-medium, 1) * max(2.5rem, -1 * 2.5rem), var(--is-small, 1) * max(2rem, -1 * 2rem)));--default-size: var(--igx-button-default-size, 3);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-6));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-12));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-12));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-12));--background: var(--igx-button-background, #335e3b);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-300), var(--ig-secondary-a)));--border-radius: var(--igx-button-border-radius, 0);--foreground: var(--igx-button-foreground, #fff);--icon-color: var(--igx-button-icon-color, #fff);--icon-color-hover: var(--igx-button-icon-color-hover, black);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-hover-background: var(--igx-button-focus-hover-background, #396a42);--focus-hover-foreground: var(--igx-button-focus-hover-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-foreground: var(--igx-button-active-foreground, color-mix(in oklch, var(--ig-secondary-300-contrast) 100%, transparent));--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-6));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-12));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-12));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-12))}.disableButton{opacity:.4;pointer-events:none}.clear,.more-action{display:flex;flex-flow:column;justify-content:center;border-left:1px solid #bdbdbd}.clear .btn,.clear .more-btn,.more-action .btn,.more-action .more-btn{width:68px;margin:0 0 7px;padding:0}.clear .more-btn,.more-action .more-btn{width:36px;height:36px;align-self:center;border-radius:20px}.clear .name,.more-action .name{font-size:.9rem;font-weight:400;text-align:center}.icon{pointer-events:none}.btn{display:inline-flex;flex-flow:column;align-items:center}.btn.condition{padding-right:16px}.btn.chart{padding-right:24px}.btn img,.btn span{pointer-events:none}.chart-preview{width:350px;height:300px;background-color:#fff;overflow:hidden}.chart-preview .chart-preview-title{margin:1rem;justify-content:center}.chart-preview .chart-preview-area{height:270px}::ng-deep .toggle-content{width:354px;max-width:358px;height:148px;background-color:#fff}::ng-deep .toggle-content,::ng-deep .toggle-content .ig-scrollbar{--scrollbar-size: var(--ig-scrollbar-scrollbar-size, 8px);--thumb-background: var(--ig-scrollbar-thumb-background, hsla(var(--ig-gray-400), var(--ig-gray-a)));--track-background: var(--ig-scrollbar-track-background, hsla(var(--ig-gray-100), var(--ig-gray-a)))}::ng-deep .toggle-content .tabs{display:flex!important;border:.2px solid;border-color:#d3d3d3}::ng-deep .toggle-content .tab-option{padding:.9rem;height:100px;width:358px;display:inline-flex;overflow-x:auto;overflow-y:hidden;white-space:nowrap;align-content:center}::ng-deep .toggle-content .tab-option .chartImgButton{width:48px;height:48px}::ng-deep .toggle-content .tab-option .imgSize,::ng-deep .toggle-content .clear.action .imgSize{width:36px;height:36px;align-self:center}::ng-deep .toggle-content .action{cursor:pointer;opacity:1}::ng-deep .toggle-content .action.selected{opacity:.62}::ng-deep .toggle-content .action.selected--condition{pointer-events:none;opacity:.62}\n"], dependencies: [{ kind: "directive", type: i1.IgxIconButtonDirective, selector: "[igxIconButton]", inputs: ["igxIconButton"] }, { kind: "component", type: i1.IgxTabsComponent, selector: "igx-tabs", inputs: ["tabAlignment"] }, { kind: "component", type: i1.IgxTabItemComponent, selector: "igx-tab-item" }, { kind: "component", type: i1.IgxTabHeaderComponent, selector: "igx-tab-header" }, { kind: "component", type: i1.IgxTabContentComponent, selector: "igx-tab-content" }, { kind: "directive", type: i1.IgxTabHeaderLabelDirective, selector: "igx-tab-header-label,[igxTabHeaderLabel]" }, { kind: "directive", type: i1.IgxToggleDirective, selector: "[igxToggle]", inputs: ["id"], outputs: ["opened", "opening", "closed", "closing", "appended"], exportAs: ["toggle"] }, { kind: "component", type: i1.IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i2.SlicePipe, name: "slice" }, { kind: "pipe", type: i3.SvgPipe, name: "svg" }] }); }
156
156
  }
157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgxContextMenuComponent, decorators: [{
157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: IgxContextMenuComponent, decorators: [{
158
158
  type: Component,
159
- args: [{ selector: 'igx-context-menu', template: "<span #analyticsBtn class=\"analytics-btn\">\r\n <button #btn igxButton=\"icon\" (click)=\"toggleTabMenu()\">\r\n <igx-icon #icon class=\"icon\" family=\"material\">insert_chart_outlined</igx-icon>\r\n </button>\r\n</span>\r\n<div #tabsMenu igxToggle class=\"toggle-content ig-scrollbar\">\r\n <!--NOTE: This component has been updated by Infragistics migration: v12.0.0\r\nPlease check your template whether all bindings/event handlers are correct.-->\r\n <igx-tabs tabsType=\"fixed\" [selectedIndex]=\"!this.textFormatters.length && chartTypes.length ? 1 : 0\">\r\n <igx-tab-item [disabled]=\"!textFormatters.length\">\r\n <igx-tab-header>\r\n <span igxTabHeaderLabel>Conditional Formatting</span>\r\n </igx-tab-header>\r\n <igx-tab-content>\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"tabs\">\r\n <span class=\"tab-option\">\r\n <span *ngFor=\"let condition of textFormatters\" class=\"action btn condition\"\r\n [ngClass]=\"{'selected--condition': condition === currentFormatter}\"\r\n (click)=\"formatCells(condition)\">\r\n <div class=\"imgSize\" [innerHTML]=\"conditionImages[condition.replace(' ', '')] | svg\">\r\n </div>\r\n <span class=\"name\">{{condition.replace('10', '10%')}}</span>\r\n </span>\r\n </span>\r\n <span class=\"clear action\"\r\n [ngClass]=\"{'disableButton': contextDirective.textFormatter ? !contextDirective.textFormatter.formatter : true }\"\r\n (click)=\"clearFormat()\">\r\n <div class=\"imgSize\" [innerHTML]=\"conditionImages['Clear'] | svg\">\r\n </div>\r\n <span class=\"btn name\">Clear All</span>\r\n </span>\r\n </div>\r\n </igx-tab-content>\r\n </igx-tab-item>\r\n <igx-tab-item [disabled]=\"!chartTypes.length\">\r\n <igx-tab-header>\r\n <span igxTabHeaderLabel>Create Chart</span>\r\n </igx-tab-header>\r\n <igx-tab-content>\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"tabs\">\r\n <span class=\"tab-option\">\r\n <span *ngFor=\"let chart of chartTypes | slice:0:4\" class=\"action btn chart\"\r\n [ngClass]=\"{'selected': chart === currentChartType}\" (mouseenter)=\"previewChart(chart)\"\r\n (mouseleave)=\"hidePreview()\" (click)=\"openDialog(chart)\">\r\n <span [innerHTML]=\"chartImages[chart] | svg\" class=\"imgSize\">\r\n </span>\r\n <span class=\"name\">{{chart}}</span>\r\n </span>\r\n </span>\r\n <span class=\"more-action chart\" [ngClass]=\"{'disableButton': !chartTypes.length}\"\r\n (click)=\"openDialog()\">\r\n <button class=\"more-btn more-icon\" igxButton=\"icon\" igxButtonBackground=\"#EBEBEB\"\r\n igxButtonColor=\"black\">\r\n <igx-icon class=\"icon\" family=\"material\">more_horiz</igx-icon>\r\n </button>\r\n <span class=\"name btn\">More...</span>\r\n </span>\r\n </div>\r\n </igx-tab-content>\r\n </igx-tab-item>\r\n </igx-tabs>\r\n</div>\r\n<div igxToggle #chartPreviewDialog class=\"chart-preview\">\r\n <div class=\"chart-preview-title\">\r\n <h5>Preview Chart</h5>\r\n </div>\r\n <div class=\"chart-preview-area\">\r\n <ng-template #chartPreview></ng-template>\r\n </div>\r\n</div>", styles: [".analytics-btn,.analytics-btn [igxButton=flat],.analytics-btn .igx-button--flat{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, transparent);--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--size: var(--igx-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--igx-button-default-size, 1);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-0));--background: var(--igx-button-background, #335e3b);--focus-foreground: var(--igx-button-focus-foreground, white);--border-radius: var(--igx-button-border-radius, 0);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-hover-background: var(--igx-button-focus-hover-background, #396a42);--focus-hover-foreground: var(--igx-button-focus-hover-foreground, white);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-400), .12));--active-foreground: var(--igx-button-active-foreground, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-0));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-0));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-0));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-0))}.analytics-btn,.analytics-btn [igxButton=outlined],.analytics-btn .igx-button--outlined{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--hover-border-color: var(--igx-button-hover-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--focus-border-color: var(--igx-button-focus-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--focus-visible-border-color: var(--igx-button-focus-visible-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--active-border-color: var(--igx-button-active-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--disabled-border-color: var(--igx-button-disabled-border-color, hsla(var(--ig-gray-300), var(--ig-gray-a)));--disabled-background: var(--igx-button-disabled-background, transparent);--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--size: var(--igx-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--igx-button-default-size, 1);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-0));--background: var(--igx-button-background, #335e3b);--focus-foreground: var(--igx-button-focus-foreground, white);--border-radius: var(--igx-button-border-radius, 0);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-hover-background: var(--igx-button-focus-hover-background, #396a42);--focus-hover-foreground: var(--igx-button-focus-hover-foreground, white);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-400), .12));--active-foreground: var(--igx-button-active-foreground, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-0));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-0));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-0));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-0))}.analytics-btn,.analytics-btn [igxButton=contained],.analytics-btn .igx-button--contained{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, hsla(var(--ig-gray-100), var(--ig-gray-a)));--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--size: var(--igx-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--igx-button-default-size, 1);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-2));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-4));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-8));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-8));--background: var(--igx-button-background, #335e3b);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-300), var(--ig-secondary-a)));--border-radius: var(--igx-button-border-radius, 0);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-hover-background: var(--igx-button-focus-hover-background, #396a42);--focus-hover-foreground: var(--igx-button-focus-hover-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-foreground: var(--igx-button-active-foreground, color-mix(in oklch, var(--ig-secondary-300-contrast) 100%, transparent));--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-2));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-4));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-8));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-8))}.analytics-btn,.analytics-btn [igxButton=fab],.analytics-btn .igx-button--fab{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, hsla(var(--ig-gray-100), var(--ig-gray-a)));--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--size: var(--igx-button-size, max(var(--is-large, 1) * max(3rem, -1 * 3rem), var(--is-medium, 1) * max(2.5rem, -1 * 2.5rem), var(--is-small, 1) * max(2rem, -1 * 2rem)));--default-size: var(--igx-button-default-size, 1);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-6));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-12));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-12));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-12));--background: var(--igx-button-background, #335e3b);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-300), var(--ig-secondary-a)));--border-radius: var(--igx-button-border-radius, 0);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-hover-background: var(--igx-button-focus-hover-background, #396a42);--focus-hover-foreground: var(--igx-button-focus-hover-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-foreground: var(--igx-button-active-foreground, color-mix(in oklch, var(--ig-secondary-300-contrast) 100%, transparent));--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-6));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-12));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-12));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-12))}.disableButton{opacity:.4;pointer-events:none}.clear,.more-action{display:flex;flex-flow:column;justify-content:center;border-left:1px solid #bdbdbd}.clear .btn,.clear .more-btn,.more-action .btn,.more-action .more-btn{width:68px;margin:0 0 7px;padding:0}.clear .more-btn,.more-action .more-btn{width:36px;height:36px;align-self:center;border-radius:20px}.clear .name,.more-action .name{font-size:.9rem;font-weight:400;text-align:center}.icon{pointer-events:none}.btn{display:inline-flex;flex-flow:column;align-items:center}.btn.condition{padding-right:16px}.btn.chart{padding-right:24px}.btn img,.btn span{pointer-events:none}.chart-preview{width:350px;height:300px;background-color:#fff;overflow:hidden}.chart-preview .chart-preview-title{margin:1rem;justify-content:center}.chart-preview .chart-preview-area{height:270px}::ng-deep .toggle-content{width:354px;max-width:358px;height:148px;background-color:#fff}::ng-deep .toggle-content,::ng-deep .toggle-content .ig-scrollbar{--scrollbar-size: var(--ig-scrollbar-scrollbar-size, 8px);--thumb-background: var(--ig-scrollbar-thumb-background, hsla(var(--ig-gray-400), var(--ig-gray-a)));--track-background: var(--ig-scrollbar-track-background, hsla(var(--ig-gray-100), var(--ig-gray-a)))}::ng-deep .toggle-content .tabs{display:flex!important;border:.2px solid;border-color:#d3d3d3}::ng-deep .toggle-content .tab-option{padding:.9rem;height:100px;width:358px;display:inline-flex;overflow-x:auto;overflow-y:hidden;white-space:nowrap;align-content:center}::ng-deep .toggle-content .tab-option .chartImgButton{width:48px;height:48px}::ng-deep .toggle-content .tab-option .imgSize,::ng-deep .toggle-content .clear.action .imgSize{width:36px;height:36px;align-self:center}::ng-deep .toggle-content .action{cursor:pointer;opacity:1}::ng-deep .toggle-content .action.selected{opacity:.62}::ng-deep .toggle-content .action.selected--condition{pointer-events:none;opacity:.62}\n"] }]
159
+ args: [{ selector: 'igx-context-menu', template: "<span #analyticsBtn class=\"analytics-btn\">\r\n <button #btn igxIconButton=\"flat\" (click)=\"toggleTabMenu()\">\r\n <igx-icon #icon class=\"icon\" family=\"material\">insert_chart_outlined</igx-icon>\r\n </button>\r\n</span>\r\n<div #tabsMenu igxToggle class=\"toggle-content ig-scrollbar\">\r\n <!--NOTE: This component has been updated by Infragistics migration: v12.0.0\r\nPlease check your template whether all bindings/event handlers are correct.-->\r\n <igx-tabs tabsType=\"fixed\" [selectedIndex]=\"!this.textFormatters.length && chartTypes.length ? 1 : 0\">\r\n <igx-tab-item [disabled]=\"!textFormatters.length\">\r\n <igx-tab-header>\r\n <span igxTabHeaderLabel>Conditional Formatting</span>\r\n </igx-tab-header>\r\n <igx-tab-content>\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"tabs\">\r\n <span class=\"tab-option\">\r\n <span *ngFor=\"let condition of textFormatters\" class=\"action btn condition\"\r\n [ngClass]=\"{'selected--condition': condition === currentFormatter}\"\r\n (click)=\"formatCells(condition)\">\r\n <div class=\"imgSize\" [innerHTML]=\"conditionImages[condition.replace(' ', '')] | svg\">\r\n </div>\r\n <span class=\"name\">{{condition.replace('10', '10%')}}</span>\r\n </span>\r\n </span>\r\n <span class=\"clear action\"\r\n [ngClass]=\"{'disableButton': contextDirective.textFormatter ? !contextDirective.textFormatter.formatter : true }\"\r\n (click)=\"clearFormat()\">\r\n <div class=\"imgSize\" [innerHTML]=\"conditionImages['Clear'] | svg\">\r\n </div>\r\n <span class=\"btn name\">Clear All</span>\r\n </span>\r\n </div>\r\n </igx-tab-content>\r\n </igx-tab-item>\r\n <igx-tab-item [disabled]=\"!chartTypes.length\">\r\n <igx-tab-header>\r\n <span igxTabHeaderLabel>Create Chart</span>\r\n </igx-tab-header>\r\n <igx-tab-content>\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"tabs\">\r\n <span class=\"tab-option\">\r\n <span *ngFor=\"let chart of chartTypes | slice:0:4\" class=\"action btn chart\"\r\n [ngClass]=\"{'selected': chart === currentChartType}\" (mouseenter)=\"previewChart(chart)\"\r\n (mouseleave)=\"hidePreview()\" (click)=\"openDialog(chart)\">\r\n <span [innerHTML]=\"chartImages[chart] | svg\" class=\"imgSize\">\r\n </span>\r\n <span class=\"name\">{{chart}}</span>\r\n </span>\r\n </span>\r\n <span class=\"more-action chart\" [ngClass]=\"{'disableButton': !chartTypes.length}\"\r\n (click)=\"openDialog()\">\r\n <button class=\"more-btn more-icon\" igxIconButton=\"flat\" [style.--background]=\"'#EBEBEB'\"\r\n [style.--foreground]=\"'black'\">\r\n <igx-icon class=\"icon\" family=\"material\">more_horiz</igx-icon>\r\n </button>\r\n <span class=\"name btn\">More...</span>\r\n </span>\r\n </div>\r\n </igx-tab-content>\r\n </igx-tab-item>\r\n </igx-tabs>\r\n</div>\r\n<div igxToggle #chartPreviewDialog class=\"chart-preview\">\r\n <div class=\"chart-preview-title\">\r\n <h5>Preview Chart</h5>\r\n </div>\r\n <div class=\"chart-preview-area\">\r\n <ng-template #chartPreview></ng-template>\r\n </div>\r\n</div>", styles: [".analytics-btn,.analytics-btn [igxButton=flat],.analytics-btn .igx-button--flat{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, transparent);--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--disabled-icon-color: var(--igx-button-disabled-icon-color, hsla(var(--ig-gray-500), var(--ig-gray-a)));--size: var(--igx-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--igx-button-default-size, 3);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-0));--background: var(--igx-button-background, #335e3b);--focus-foreground: var(--igx-button-focus-foreground, white);--border-radius: var(--igx-button-border-radius, 0);--foreground: var(--igx-button-foreground, #fff);--icon-color: var(--igx-button-icon-color, #fff);--icon-color-hover: var(--igx-button-icon-color-hover, black);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-hover-background: var(--igx-button-focus-hover-background, #396a42);--focus-hover-foreground: var(--igx-button-focus-hover-foreground, white);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-500), .16));--active-foreground: var(--igx-button-active-foreground, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-0));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-0));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-0));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-0))}.analytics-btn,.analytics-btn [igxButton=outlined],.analytics-btn .igx-button--outlined{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--hover-border-color: var(--igx-button-hover-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--focus-border-color: var(--igx-button-focus-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--focus-visible-border-color: var(--igx-button-focus-visible-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--active-border-color: var(--igx-button-active-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--disabled-border-color: var(--igx-button-disabled-border-color, hsla(var(--ig-gray-300), var(--ig-gray-a)));--disabled-background: var(--igx-button-disabled-background, transparent);--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--disabled-icon-color: var(--igx-button-disabled-icon-color, hsla(var(--ig-gray-500), var(--ig-gray-a)));--size: var(--igx-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--igx-button-default-size, 3);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-0));--background: var(--igx-button-background, #335e3b);--focus-foreground: var(--igx-button-focus-foreground, white);--border-radius: var(--igx-button-border-radius, 0);--foreground: var(--igx-button-foreground, #fff);--icon-color: var(--igx-button-icon-color, #fff);--icon-color-hover: var(--igx-button-icon-color-hover, black);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-hover-background: var(--igx-button-focus-hover-background, #396a42);--focus-hover-foreground: var(--igx-button-focus-hover-foreground, white);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-500), .16));--active-foreground: var(--igx-button-active-foreground, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-0));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-0));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-0));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-0))}.analytics-btn,.analytics-btn [igxButton=contained],.analytics-btn .igx-button--contained{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, hsla(var(--ig-gray-100), var(--ig-gray-a)));--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--disabled-icon-color: var(--igx-button-disabled-icon-color, hsla(var(--ig-gray-500), var(--ig-gray-a)));--size: var(--igx-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--igx-button-default-size, 3);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-2));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-4));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-8));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-8));--background: var(--igx-button-background, #335e3b);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-300), var(--ig-secondary-a)));--border-radius: var(--igx-button-border-radius, 0);--foreground: var(--igx-button-foreground, #fff);--icon-color: var(--igx-button-icon-color, #fff);--icon-color-hover: var(--igx-button-icon-color-hover, black);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-hover-background: var(--igx-button-focus-hover-background, #396a42);--focus-hover-foreground: var(--igx-button-focus-hover-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-foreground: var(--igx-button-active-foreground, color-mix(in oklch, var(--ig-secondary-300-contrast) 100%, transparent));--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-2));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-4));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-8));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-8))}.analytics-btn,.analytics-btn [igxButton=fab],.analytics-btn .igx-button--fab{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, hsla(var(--ig-gray-100), var(--ig-gray-a)));--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--disabled-icon-color: var(--igx-button-disabled-icon-color, hsla(var(--ig-gray-500), var(--ig-gray-a)));--size: var(--igx-button-size, max(var(--is-large, 1) * max(3rem, -1 * 3rem), var(--is-medium, 1) * max(2.5rem, -1 * 2.5rem), var(--is-small, 1) * max(2rem, -1 * 2rem)));--default-size: var(--igx-button-default-size, 3);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-6));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-12));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-12));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-12));--background: var(--igx-button-background, #335e3b);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-300), var(--ig-secondary-a)));--border-radius: var(--igx-button-border-radius, 0);--foreground: var(--igx-button-foreground, #fff);--icon-color: var(--igx-button-icon-color, #fff);--icon-color-hover: var(--igx-button-icon-color-hover, black);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-hover-background: var(--igx-button-focus-hover-background, #396a42);--focus-hover-foreground: var(--igx-button-focus-hover-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-foreground: var(--igx-button-active-foreground, color-mix(in oklch, var(--ig-secondary-300-contrast) 100%, transparent));--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-6));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-12));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-12));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-12))}.disableButton{opacity:.4;pointer-events:none}.clear,.more-action{display:flex;flex-flow:column;justify-content:center;border-left:1px solid #bdbdbd}.clear .btn,.clear .more-btn,.more-action .btn,.more-action .more-btn{width:68px;margin:0 0 7px;padding:0}.clear .more-btn,.more-action .more-btn{width:36px;height:36px;align-self:center;border-radius:20px}.clear .name,.more-action .name{font-size:.9rem;font-weight:400;text-align:center}.icon{pointer-events:none}.btn{display:inline-flex;flex-flow:column;align-items:center}.btn.condition{padding-right:16px}.btn.chart{padding-right:24px}.btn img,.btn span{pointer-events:none}.chart-preview{width:350px;height:300px;background-color:#fff;overflow:hidden}.chart-preview .chart-preview-title{margin:1rem;justify-content:center}.chart-preview .chart-preview-area{height:270px}::ng-deep .toggle-content{width:354px;max-width:358px;height:148px;background-color:#fff}::ng-deep .toggle-content,::ng-deep .toggle-content .ig-scrollbar{--scrollbar-size: var(--ig-scrollbar-scrollbar-size, 8px);--thumb-background: var(--ig-scrollbar-thumb-background, hsla(var(--ig-gray-400), var(--ig-gray-a)));--track-background: var(--ig-scrollbar-track-background, hsla(var(--ig-gray-100), var(--ig-gray-a)))}::ng-deep .toggle-content .tabs{display:flex!important;border:.2px solid;border-color:#d3d3d3}::ng-deep .toggle-content .tab-option{padding:.9rem;height:100px;width:358px;display:inline-flex;overflow-x:auto;overflow-y:hidden;white-space:nowrap;align-content:center}::ng-deep .toggle-content .tab-option .chartImgButton{width:48px;height:48px}::ng-deep .toggle-content .tab-option .imgSize,::ng-deep .toggle-content .clear.action .imgSize{width:36px;height:36px;align-self:center}::ng-deep .toggle-content .action{cursor:pointer;opacity:1}::ng-deep .toggle-content .action.selected{opacity:.62}::ng-deep .toggle-content .action.selected--condition{pointer-events:none;opacity:.62}\n"] }]
160
160
  }], ctorParameters: () => [{ type: i1.IgxOverlayService }], propDecorators: { button: [{
161
161
  type: ViewChild,
162
162
  args: ['analyticsBtn']
@@ -173,4 +173,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
173
173
  type: ViewChild,
174
174
  args: [IgxTabsComponent]
175
175
  }] } });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXItZXh0cmFzL3NyYy9saWIvY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyLWV4dHJhcy9zcmMvbGliL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsU0FBUyxFQUFFLGdCQUFnQixFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBMEIsb0JBQW9CLEVBQUUsbUJBQW1CLEVBRW5ELGtCQUFrQixFQUE4QixpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBbUIsbUJBQW1CLEVBQW9CLE1BQU0sa0JBQWtCLENBQUM7QUFDN0wsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxLQUFLLE1BQU0sTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEtBQUssVUFBVSxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7QUFPekUsTUFBTSxPQUFPLHVCQUF1QjtJQStDaEMsWUFBb0IsY0FBaUM7UUFBakMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBdEM5QyxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBR25CLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO1FBRTlCLG1CQUFjLEdBQUcsRUFB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QUFnQixtSEFDVixrQkFBa0Isb0RBQ2hELGdCQUFnQixnREN2Qi9CLDQ5SEF1RU07OzJGRHRETyx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0ksa0JBQWtCO3NGQU1NLE1BQU07c0JBQXZDLFNBQVM7dUJBQUMsY0FBYztnQkFDbUMsUUFBUTtzQkFBbkUsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUU7Z0JBQ1csWUFBWTtzQkFBekUsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ2lCLGtCQUFrQjtzQkFBdkYsU0FBUzt1QkFBQyxvQkFBb0IsRUFBRSxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRTtnQkFDekIsSUFBSTtzQkFBdkMsU0FBUzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic29sdXRlU2Nyb2xsU3RyYXRlZ3ksIEF1dG9Qb3NpdGlvblN0cmF0ZWd5LCBIb3Jpem9udGFsQWxpZ25tZW50LFxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBtYXgtbGluZS1sZW5ndGhcclxuICAgIElneE92ZXJsYXlTZXJ2aWNlLCBJZ3hUb2dnbGVEaXJlY3RpdmUsIE92ZXJsYXlDYW5jZWxhYmxlRXZlbnRBcmdzLCBWZXJ0aWNhbEFsaWdubWVudCwgSWd4VGFic0NvbXBvbmVudCwgT3ZlcmxheVNldHRpbmdzLCBDbG9zZVNjcm9sbFN0cmF0ZWd5LCBPdmVybGF5RXZlbnRBcmdzIH0gZnJvbSAnaWduaXRldWktYW5ndWxhcic7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBJZ3hDaGFydE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NoYXJ0LWRpYWxvZy9jaGFydC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0ICogYXMgY2hhcnRzIGZyb20gJy4uLy4uL2ltYWdlcy9jaGFydHMnO1xyXG5pbXBvcnQgKiBhcyBjb25kaXRpb25zIGZyb20gJy4uLy4uL2ltYWdlcy9jb25kaXRpb25zJztcclxuaW1wb3J0IHsgSWd4Q29udGV4dE1lbnVEaXJlY3RpdmUgfSBmcm9tICcuL2lneC1jb250ZXh0LW1lbnUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ0hBUlRfVFlQRSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvY2hhcnQtaW50ZWdyYXRpb24vY2hhcnQtdHlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2lneC1jb250ZXh0LW1lbnUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbnRleHQtbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9jb250ZXh0LW1lbnUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWd4Q29udGV4dE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2FuYWx5dGljc0J0bicpIHB1YmxpYyBidXR0b246IEVsZW1lbnRSZWY7XHJcbiAgICBAVmlld0NoaWxkKCd0YWJzTWVudScsIHsgcmVhZDogSWd4VG9nZ2xlRGlyZWN0aXZlIH0pIHB1YmxpYyB0YWJzTWVudTogSWd4VG9nZ2xlRGlyZWN0aXZlO1xyXG4gICAgQFZpZXdDaGlsZCgnY2hhcnRQcmV2aWV3JywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIHB1YmxpYyBjaGFydFByZXZpZXc6IFZpZXdDb250YWluZXJSZWY7XHJcbiAgICBAVmlld0NoaWxkKCdjaGFydFByZXZpZXdEaWFsb2cnLCB7IHJlYWQ6IElneFRvZ2dsZURpcmVjdGl2ZSB9KSBwdWJsaWMgY2hhcnRQcmV2aWV3RGlhbG9nOiBJZ3hUb2dnbGVEaXJlY3RpdmU7XHJcbiAgICBAVmlld0NoaWxkKElneFRhYnNDb21wb25lbnQpIHB1YmxpYyB0YWJzOiBJZ3hUYWJzQ29tcG9uZW50O1xyXG5cclxuICAgIHB1YmxpYyBjb250ZXh0RGlyZWN0aXZlOiBJZ3hDb250ZXh0TWVudURpcmVjdGl2ZTtcclxuICAgIHB1YmxpYyBjaGFydFR5cGVzID0gW107XHJcbiAgICBwdWJsaWMgdGV4dEZvcm1hdHRlcnMgPSBbXTtcclxuICAgIHB1YmxpYyBjdXJyZW50Q2hhcnRUeXBlO1xyXG4gICAgcHVibGljIGN1cnJlbnRGb3JtYXR0ZXI7XHJcbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG4gICAgcHJpdmF0ZSBfZGlhbG9nSWQ7XHJcbiAgICBwcml2YXRlIF9jaGFydERpYWxvZ09TID0geyBjbG9zZU9uT3V0c2lkZUNsaWNrOiBmYWxzZSB9O1xyXG5cclxuICAgIHByaXZhdGUgX3RhYnNNZW51T3ZlcmxheVNldHRpbmdzOiBPdmVybGF5U2V0dGluZ3MgPSB7XHJcbiAgICAgICAgY2xvc2VPbk91dHNpZGVDbGljazogZmFsc2UsXHJcbiAgICAgICAgbW9kYWw6IGZhbHNlLFxyXG4gICAgICAgIG91dGxldDogbnVsbCxcclxuICAgICAgICBzY3JvbGxTdHJhdGVneTogbmV3IENsb3NlU2Nyb2xsU3RyYXRlZ3koKSxcclxuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiBuZXcgQXV0b1Bvc2l0aW9uU3RyYXRlZ3koe1xyXG4gICAgICAgICAgICBob3Jpem9udGFsRGlyZWN0aW9uOiBIb3Jpem9udGFsQWxpZ25tZW50LkNlbnRlcixcclxuICAgICAgICAgICAgaG9yaXpvbnRhbFN0YXJ0UG9pbnQ6IEhvcml6b250YWxBbGlnbm1lbnQuQ2VudGVyLFxyXG4gICAgICAgICAgICB2ZXJ0aWNhbFN0YXJ0UG9pbnQ6IFZlcnRpY2FsQWxpZ25tZW50LkJvdHRvbSxcclxuICAgICAgICAgICAgdmVydGljYWxEaXJlY3Rpb246IFZlcnRpY2FsQWxpZ25tZW50LkJvdHRvbSxcclxuICAgICAgICAgICAgb3BlbkFuaW1hdGlvbjogbnVsbCxcclxuICAgICAgICAgICAgY2xvc2VBbmltYXRpb246IG51bGxcclxuICAgICAgICB9KVxyXG4gICAgfTtcclxuICAgIHByaXZhdGUgX2NoYXJ0UHJldmlld0RpYWxvZ092ZXJsYXlTZXR0aW5nczogT3ZlcmxheVNldHRpbmdzID0ge1xyXG4gICAgICAgIGNsb3NlT25PdXRzaWRlQ2xpY2s6IGZhbHNlLFxyXG4gICAgICAgIG1vZGFsOiBmYWxzZSxcclxuICAgICAgICBvdXRsZXQ6IG51bGwsXHJcbiAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IG5ldyBDbG9zZVNjcm9sbFN0cmF0ZWd5KCksXHJcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneTogbmV3IEF1dG9Qb3NpdGlvblN0cmF0ZWd5KHtcclxuICAgICAgICAgICAgaG9yaXpvbnRhbERpcmVjdGlvbjogSG9yaXpvbnRhbEFsaWdubWVudC5DZW50ZXIsXHJcbiAgICAgICAgICAgIGhvcml6b250YWxTdGFydFBvaW50OiBIb3Jpem9udGFsQWxpZ25tZW50LkNlbnRlcixcclxuICAgICAgICAgICAgdmVydGljYWxTdGFydFBvaW50OiBWZXJ0aWNhbEFsaWdubWVudC5Ub3AsXHJcbiAgICAgICAgICAgIHZlcnRpY2FsRGlyZWN0aW9uOiBWZXJ0aWNhbEFsaWdubWVudC5Ub3AsXHJcbiAgICAgICAgICAgIG9wZW5BbmltYXRpb246IG51bGwsXHJcbiAgICAgICAgICAgIGNsb3NlQW5pbWF0aW9uOiBudWxsXHJcbiAgICAgICAgfSlcclxuICAgIH07XHJcbiAgICBwdWJsaWMgY2hhcnRJbWFnZXM7XHJcbiAgICBwdWJsaWMgY29uZGl0aW9uSW1hZ2VzO1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBvdmVybGF5U2VydmljZTogSWd4T3ZlcmxheVNlcnZpY2UpIHtcclxuICAgICAgICB0aGlzLmNoYXJ0SW1hZ2VzID0gY2hhcnRzO1xyXG4gICAgICAgIHRoaXMuY29uZGl0aW9uSW1hZ2VzID0gY29uZGl0aW9ucztcclxuICAgICB9XHJcblxyXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICB0aGlzLmNoYXJ0VHlwZXMgPSB0aGlzLmNvbnRleHREaXJlY3RpdmUuY2hhcnRzO1xyXG4gICAgICAgIHRoaXMudGV4dEZvcm1hdHRlcnMgPSB0aGlzLmNvbnRleHREaXJlY3RpdmUuZm9ybWF0dGVycztcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dERpcmVjdGl2ZS5jaGFydHNEaXJlY3RpdmUpIHtcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0RGlyZWN0aXZlLmNoYXJ0c0RpcmVjdGl2ZS5vbkNoYXJ0VHlwZXNEZXRlcm1pbmVkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoYXJncykgPT4gdGhpcy5jaGFydFR5cGVzID0gYXJncy5jaGFydHNGb3JDcmVhdGlvbik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5jb250ZXh0RGlyZWN0aXZlLnRleHRGb3JtYXR0ZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0RGlyZWN0aXZlLnRleHRGb3JtYXR0ZXIub25Gb3JtYXR0ZXJzUmVhZHkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKG5hbWVzID0+IHRoaXMudGV4dEZvcm1hdHRlcnMgPSBuYW1lcyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmNvbnRleHREaXJlY3RpdmUub25CdXR0b25DbG9zZS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7IGlmICh0aGlzLnRhYnNNZW51ICYmICF0aGlzLnRhYnNNZW51LmNvbGxhcHNlZCkgeyB0aGlzLnRhYnNNZW51LmNsb3NlKCk7IH0gfSk7XHJcblxyXG4gICAgICAgIHRoaXMuY29udGV4dERpcmVjdGl2ZS5ncmlkUmVzaXplTm90aWZ5LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMudGFic01lbnUuY29sbGFwc2VkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGFic01lbnUuY2xvc2UoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMudGFic01lbnUub3BlbmluZy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgaWYgKHRoaXMudGFicy5zZWxlY3RlZEl0ZW0uZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgICAvLyBjb25zdCBpID0gdGhpcy50YWJzLml0ZW1zLmZpbmQodGFiID0+ICF0YWIuZGlzYWJsZWQpPy5pbmRleCB8fCAwO1xyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy50YWJzLnNlbGVjdFRhYih0aGlzLnRhYnMudGFicy50b0FycmF5KClbaV0sIHRydWUpO1xyXG4gICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5vdmVybGF5U2VydmljZS5vcGVuaW5nLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChhcmdzOiBPdmVybGF5Q2FuY2VsYWJsZUV2ZW50QXJncykgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGFyZ3MuY29tcG9uZW50UmVmKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5zdGFuY2UgPSAoYXJncy5jb21wb25lbnRSZWYuaW5zdGFuY2UgYXMgSWd4Q2hhcnRNZW51Q29tcG9uZW50KTtcclxuICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS53aWR0aCA9IHRoaXMuY29udGV4dERpcmVjdGl2ZS5ncmlkLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2UuaGVpZ2h0ID0gdGhpcy5jb250ZXh0RGlyZWN0aXZlLmdyaWQubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2UuY3VycmVudENoYXJ0VHlwZSA9IHRoaXMuY3VycmVudENoYXJ0VHlwZTtcclxuICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5hbGxDaGFydHMgPSB0aGlzLmNoYXJ0VHlwZXM7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2UuY2hhcnREaXJlY3RpdmUgPSB0aGlzLmNvbnRleHREaXJlY3RpdmUuY2hhcnRzRGlyZWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLm9uQ2xvc2U/LnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VEaWFsb2coKVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLmNoYXJ0RGlhbG9nUmVzaXplTm90aWZ5Py5zdWJzY3JpYmUocmVzaXplZENvbnRlbnRBcmdzID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBhIHRlbXBvcmFyeSBmaXgsIHdoaWNoIHNob3VsZCBiZSByZW1vdmVkIHJpZ2h0IGFmdGVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBvdmVybGF5IHNlcnZpY2UgaXMgY2FwYWJsZSBvZiBub3RpZnlpbmcgdGhlIG92ZXJsYXkgY29udGVudCBlbGVtZW50c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGF0IHRoZWlyIGNoaWxkcmVuIGhhcyBiZWVuIHJlc2l6ZWQuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHRoaXMub3ZlcmxheVNlcnZpY2UgYXMgYW55KS5fb3ZlcmxheUVsZW1lbnQuY2hpbGRyZW5bMV0pe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBtYXgtbGluZS1sZW5ndGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0aGlzLm92ZXJsYXlTZXJ2aWNlIGFzIGFueSkuX292ZXJsYXlFbGVtZW50LmNoaWxkcmVuWzFdLmNoaWxkcmVuWzBdLnN0eWxlLndpZHRoID0gcmVzaXplZENvbnRlbnRBcmdzWzBdLmNvbnRlbnRSZWN0LndpZHRoICsgJ3B4JztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLmNsb3NpbmcucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoYXJnczogT3ZlcmxheUV2ZW50QXJncykgPT4ge1xyXG4gICAgICAgICAgICBpZiAoYXJncy5jb21wb25lbnRSZWYgJiYgYXJncy5jb21wb25lbnRSZWYuaW5zdGFuY2UgaW5zdGFuY2VvZiBJZ3hDaGFydE1lbnVDb21wb25lbnQpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9kaWFsb2dJZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFic01lbnUub3Blbih0aGlzLl90YWJzTWVudU92ZXJsYXlTZXR0aW5ncylcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB0b2dnbGVUYWJNZW51KCkge1xyXG4gICAgICAgIHRoaXMuY3VycmVudENoYXJ0VHlwZSA9IHRoaXMuY3VycmVudENoYXJ0VHlwZSA/IHRoaXMuY3VycmVudENoYXJ0VHlwZSA6IENIQVJUX1RZUEUuQ09MVU1OX0dST1VQRUQ7XHJcbiAgICAgICAgdGhpcy5fdGFic01lbnVPdmVybGF5U2V0dGluZ3MudGFyZ2V0ID0gdGhpcy5idXR0b24ubmF0aXZlRWxlbWVudDtcclxuICAgICAgICB0aGlzLnRhYnNNZW51LmNvbGxhcHNlZCA/IHRoaXMudGFic01lbnUub3Blbih0aGlzLl90YWJzTWVudU92ZXJsYXlTZXR0aW5ncykgOiB0aGlzLnRhYnNNZW51LmNsb3NlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGZvcm1hdENlbGxzKGNvbmRpdGlvbikge1xyXG4gICAgICAgIHRoaXMuY3VycmVudEZvcm1hdHRlciA9IGNvbmRpdGlvbjtcclxuICAgICAgICB0aGlzLmNvbnRleHREaXJlY3RpdmUudGV4dEZvcm1hdHRlci5mb3JtYXRDZWxscyhjb25kaXRpb24pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjbGVhckZvcm1hdCgpIHtcclxuICAgICAgICB0aGlzLmNvbnRleHREaXJlY3RpdmUudGV4dEZvcm1hdHRlci5jbGVhckZvcm1hdHRpbmcoKTtcclxuICAgICAgICB0aGlzLmN1cnJlbnRGb3JtYXR0ZXIgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHByZXZpZXdDaGFydChjdXJyZW50Q2hhcnRUeXBlKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50Q2hhcnRUeXBlID0gY3VycmVudENoYXJ0VHlwZTtcclxuICAgICAgICB0aGlzLmNoYXJ0UHJldmlldy5jbGVhcigpO1xyXG4gICAgICAgIHRoaXMuY29udGV4dERpcmVjdGl2ZS5jaGFydHNEaXJlY3RpdmUuY2hhcnRGYWN0b3J5KGN1cnJlbnRDaGFydFR5cGUsIHRoaXMuY2hhcnRQcmV2aWV3KTtcclxuICAgICAgICB0aGlzLl9jaGFydFByZXZpZXdEaWFsb2dPdmVybGF5U2V0dGluZ3MudGFyZ2V0ID0gdGhpcy50YWJzTWVudS5lbGVtZW50O1xyXG4gICAgICAgIHRoaXMuY2hhcnRQcmV2aWV3RGlhbG9nLm9wZW4odGhpcy5fY2hhcnRQcmV2aWV3RGlhbG9nT3ZlcmxheVNldHRpbmdzKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGlkZVByZXZpZXcoKSB7XHJcbiAgICAgICAgdGhpcy5jaGFydFByZXZpZXdEaWFsb2cuY2xvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb3BlbkRpYWxvZyh0eXBlPzogQ0hBUlRfVFlQRSkge1xyXG4gICAgICAgIHRoaXMuY3VycmVudENoYXJ0VHlwZSA9IHR5cGUgPyB0eXBlIDogdGhpcy5jdXJyZW50Q2hhcnRUeXBlID8gdGhpcy5jdXJyZW50Q2hhcnRUeXBlIDogQ0hBUlRfVFlQRS5DT0xVTU5fR1JPVVBFRDtcclxuICAgICAgICB0aGlzLl9kaWFsb2dJZCA9IHRoaXMuX2RpYWxvZ0lkID8gdGhpcy5fZGlhbG9nSWQgOlxyXG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLmF0dGFjaChJZ3hDaGFydE1lbnVDb21wb25lbnQsIHRoaXMuX2NoYXJ0RGlhbG9nT1MpO1xyXG4gICAgICAgIHRoaXMudGFic01lbnUuY2xvc2UoKTtcclxuICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLnNob3codGhpcy5fZGlhbG9nSWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjbG9zZURpYWxvZygpIHtcclxuICAgICAgICBjb25zdCBpbmZvID0gdGhpcy5vdmVybGF5U2VydmljZS5nZXRPdmVybGF5QnlJZCh0aGlzLl9kaWFsb2dJZCk7XHJcbiAgICAgICAgaWYgKGluZm8pIHtcclxuICAgICAgICAgICAgdGhpcy5vdmVybGF5U2VydmljZS5oaWRlKHRoaXMuX2RpYWxvZ0lkKTtcclxuICAgICAgICAgICAgdGhpcy5vdmVybGF5U2VydmljZS5kZXRhY2godGhpcy5fZGlhbG9nSWQpO1xyXG4gICAgICAgICAgICB0aGlzLl9kaWFsb2dJZCA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiIsIjxzcGFuICNhbmFseXRpY3NCdG4gY2xhc3M9XCJhbmFseXRpY3MtYnRuXCI+XHJcbiAgICA8YnV0dG9uICNidG4gaWd4QnV0dG9uPVwiaWNvblwiIChjbGljayk9XCJ0b2dnbGVUYWJNZW51KClcIj5cclxuICAgICAgICA8aWd4LWljb24gI2ljb24gY2xhc3M9XCJpY29uXCIgZmFtaWx5PVwibWF0ZXJpYWxcIj5pbnNlcnRfY2hhcnRfb3V0bGluZWQ8L2lneC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbjwvc3Bhbj5cclxuPGRpdiAjdGFic01lbnUgaWd4VG9nZ2xlIGNsYXNzPVwidG9nZ2xlLWNvbnRlbnQgaWctc2Nyb2xsYmFyXCI+XHJcbiAgICA8IS0tTk9URTogVGhpcyBjb21wb25lbnQgaGFzIGJlZW4gdXBkYXRlZCBieSBJbmZyYWdpc3RpY3MgbWlncmF0aW9uOiB2MTIuMC4wXHJcblBsZWFzZSBjaGVjayB5b3VyIHRlbXBsYXRlIHdoZXRoZXIgYWxsIGJpbmRpbmdzL2V2ZW50IGhhbmRsZXJzIGFyZSBjb3JyZWN0Li0tPlxyXG4gICAgPGlneC10YWJzIHRhYnNUeXBlPVwiZml4ZWRcIiBbc2VsZWN0ZWRJbmRleF09XCIhdGhpcy50ZXh0Rm9ybWF0dGVycy5sZW5ndGggJiYgY2hhcnRUeXBlcy5sZW5ndGggPyAxIDogMFwiPlxyXG4gICAgICAgIDxpZ3gtdGFiLWl0ZW0gW2Rpc2FibGVkXT1cIiF0ZXh0Rm9ybWF0dGVycy5sZW5ndGhcIj5cclxuICAgICAgICAgICAgPGlneC10YWItaGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gaWd4VGFiSGVhZGVyTGFiZWw+Q29uZGl0aW9uYWwgRm9ybWF0dGluZzwvc3Bhbj5cclxuICAgICAgICAgICAgPC9pZ3gtdGFiLWhlYWRlcj5cclxuICAgICAgICAgICAgPGlneC10YWItY29udGVudD5cclxuICAgICAgICAgICAgICAgIDxpZ2MtdHJpYWwtd2F0ZXJtYXJrPjwvaWdjLXRyaWFsLXdhdGVybWFyaz5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0YWItb3B0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBjb25kaXRpb24gb2YgdGV4dEZvcm1hdHRlcnNcIiBjbGFzcz1cImFjdGlvbiBidG4gY29uZGl0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnc2VsZWN0ZWQtLWNvbmRpdGlvbic6IGNvbmRpdGlvbiA9PT0gY3VycmVudEZvcm1hdHRlcn1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImZvcm1hdENlbGxzKGNvbmRpdGlvbilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWdTaXplXCIgW2lubmVySFRNTF09XCJjb25kaXRpb25JbWFnZXNbY29uZGl0aW9uLnJlcGxhY2UoJyAnLCAnJyldIHwgc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibmFtZVwiPnt7Y29uZGl0aW9uLnJlcGxhY2UoJzEwJywgJzEwJScpfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjbGVhciBhY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2Rpc2FibGVCdXR0b24nOiBjb250ZXh0RGlyZWN0aXZlLnRleHRGb3JtYXR0ZXIgPyAhY29udGV4dERpcmVjdGl2ZS50ZXh0Rm9ybWF0dGVyLmZvcm1hdHRlciA6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGVhckZvcm1hdCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWdTaXplXCIgW2lubmVySFRNTF09XCJjb25kaXRpb25JbWFnZXNbJ0NsZWFyJ10gfCBzdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYnRuIG5hbWVcIj5DbGVhciBBbGw8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvaWd4LXRhYi1jb250ZW50PlxyXG4gICAgICAgIDwvaWd4LXRhYi1pdGVtPlxyXG4gICAgICAgIDxpZ3gtdGFiLWl0ZW0gW2Rpc2FibGVkXT1cIiFjaGFydFR5cGVzLmxlbmd0aFwiPlxyXG4gICAgICAgICAgICA8aWd4LXRhYi1oZWFkZXI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBpZ3hUYWJIZWFkZXJMYWJlbD5DcmVhdGUgQ2hhcnQ8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvaWd4LXRhYi1oZWFkZXI+XHJcbiAgICAgICAgICAgIDxpZ3gtdGFiLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICA8aWdjLXRyaWFsLXdhdGVybWFyaz48L2lnYy10cmlhbC13YXRlcm1hcms+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFic1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGFiLW9wdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgY2hhcnQgb2YgY2hhcnRUeXBlcyB8IHNsaWNlOjA6NFwiIGNsYXNzPVwiYWN0aW9uIGJ0biBjaGFydFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3NlbGVjdGVkJzogY2hhcnQgPT09IGN1cnJlbnRDaGFydFR5cGV9XCIgKG1vdXNlZW50ZXIpPVwicHJldmlld0NoYXJ0KGNoYXJ0KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW91c2VsZWF2ZSk9XCJoaWRlUHJldmlldygpXCIgKGNsaWNrKT1cIm9wZW5EaWFsb2coY2hhcnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImNoYXJ0SW1hZ2VzW2NoYXJ0XSB8IHN2Z1wiIGNsYXNzPVwiaW1nU2l6ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuYW1lXCI+e3tjaGFydH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibW9yZS1hY3Rpb24gY2hhcnRcIiBbbmdDbGFzc109XCJ7J2Rpc2FibGVCdXR0b24nOiAhY2hhcnRUeXBlcy5sZW5ndGh9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5EaWFsb2coKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibW9yZS1idG4gbW9yZS1pY29uXCIgaWd4QnV0dG9uPVwiaWNvblwiIGlneEJ1dHRvbkJhY2tncm91bmQ9XCIjRUJFQkVCXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlneEJ1dHRvbkNvbG9yPVwiYmxhY2tcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpZ3gtaWNvbiBjbGFzcz1cImljb25cIiBmYW1pbHk9XCJtYXRlcmlhbFwiPm1vcmVfaG9yaXo8L2lneC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuYW1lIGJ0blwiPk1vcmUuLi48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvaWd4LXRhYi1jb250ZW50PlxyXG4gICAgICAgIDwvaWd4LXRhYi1pdGVtPlxyXG4gICAgPC9pZ3gtdGFicz5cclxuPC9kaXY+XHJcbjxkaXYgaWd4VG9nZ2xlICNjaGFydFByZXZpZXdEaWFsb2cgY2xhc3M9XCJjaGFydC1wcmV2aWV3XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2hhcnQtcHJldmlldy10aXRsZVwiPlxyXG4gICAgICAgIDxoNT5QcmV2aWV3IENoYXJ0PC9oNT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNoYXJ0LXByZXZpZXctYXJlYVwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjY2hhcnRQcmV2aWV3PjwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXItZXh0cmFzL3NyYy9saWIvY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyLWV4dHJhcy9zcmMvbGliL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsU0FBUyxFQUFFLGdCQUFnQixFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBMEIsb0JBQW9CLEVBQUUsbUJBQW1CLEVBRW5ELGtCQUFrQixFQUE4QixpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBbUIsbUJBQW1CLEVBQW9CLE1BQU0sa0JBQWtCLENBQUM7QUFDN0wsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxLQUFLLE1BQU0sTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEtBQUssVUFBVSxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7QUFPekUsTUFBTSxPQUFPLHVCQUF1QjtJQStDaEMsWUFBb0IsY0FBaUM7UUFBakMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBdEM5QyxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBR25CLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO1FBRTlCLG1CQUFjLEdBQUcsRUFB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QUFnQixtSEFDVixrQkFBa0Isb0RBQ2hELGdCQUFnQixnREN2Qi9CLCsrSEF1RU07OzJGRHRETyx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0ksa0JBQWtCO3NGQU1NLE1BQU07c0JBQXZDLFNBQVM7dUJBQUMsY0FBYztnQkFDbUMsUUFBUTtzQkFBbkUsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUU7Z0JBQ1csWUFBWTtzQkFBekUsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ2lCLGtCQUFrQjtzQkFBdkYsU0FBUzt1QkFBQyxvQkFBb0IsRUFBRSxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRTtnQkFDekIsSUFBSTtzQkFBdkMsU0FBUzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic29sdXRlU2Nyb2xsU3RyYXRlZ3ksIEF1dG9Qb3NpdGlvblN0cmF0ZWd5LCBIb3Jpem9udGFsQWxpZ25tZW50LFxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBtYXgtbGluZS1sZW5ndGhcclxuICAgIElneE92ZXJsYXlTZXJ2aWNlLCBJZ3hUb2dnbGVEaXJlY3RpdmUsIE92ZXJsYXlDYW5jZWxhYmxlRXZlbnRBcmdzLCBWZXJ0aWNhbEFsaWdubWVudCwgSWd4VGFic0NvbXBvbmVudCwgT3ZlcmxheVNldHRpbmdzLCBDbG9zZVNjcm9sbFN0cmF0ZWd5LCBPdmVybGF5RXZlbnRBcmdzIH0gZnJvbSAnaWduaXRldWktYW5ndWxhcic7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBJZ3hDaGFydE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NoYXJ0LWRpYWxvZy9jaGFydC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0ICogYXMgY2hhcnRzIGZyb20gJy4uLy4uL2ltYWdlcy9jaGFydHMnO1xyXG5pbXBvcnQgKiBhcyBjb25kaXRpb25zIGZyb20gJy4uLy4uL2ltYWdlcy9jb25kaXRpb25zJztcclxuaW1wb3J0IHsgSWd4Q29udGV4dE1lbnVEaXJlY3RpdmUgfSBmcm9tICcuL2lneC1jb250ZXh0LW1lbnUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ0hBUlRfVFlQRSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvY2hhcnQtaW50ZWdyYXRpb24vY2hhcnQtdHlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2lneC1jb250ZXh0LW1lbnUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbnRleHQtbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9jb250ZXh0LW1lbnUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWd4Q29udGV4dE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2FuYWx5dGljc0J0bicpIHB1YmxpYyBidXR0b246IEVsZW1lbnRSZWY7XHJcbiAgICBAVmlld0NoaWxkKCd0YWJzTWVudScsIHsgcmVhZDogSWd4VG9nZ2xlRGlyZWN0aXZlIH0pIHB1YmxpYyB0YWJzTWVudTogSWd4VG9nZ2xlRGlyZWN0aXZlO1xyXG4gICAgQFZpZXdDaGlsZCgnY2hhcnRQcmV2aWV3JywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIHB1YmxpYyBjaGFydFByZXZpZXc6IFZpZXdDb250YWluZXJSZWY7XHJcbiAgICBAVmlld0NoaWxkKCdjaGFydFByZXZpZXdEaWFsb2cnLCB7IHJlYWQ6IElneFRvZ2dsZURpcmVjdGl2ZSB9KSBwdWJsaWMgY2hhcnRQcmV2aWV3RGlhbG9nOiBJZ3hUb2dnbGVEaXJlY3RpdmU7XHJcbiAgICBAVmlld0NoaWxkKElneFRhYnNDb21wb25lbnQpIHB1YmxpYyB0YWJzOiBJZ3hUYWJzQ29tcG9uZW50O1xyXG5cclxuICAgIHB1YmxpYyBjb250ZXh0RGlyZWN0aXZlOiBJZ3hDb250ZXh0TWVudURpcmVjdGl2ZTtcclxuICAgIHB1YmxpYyBjaGFydFR5cGVzID0gW107XHJcbiAgICBwdWJsaWMgdGV4dEZvcm1hdHRlcnMgPSBbXTtcclxuICAgIHB1YmxpYyBjdXJyZW50Q2hhcnRUeXBlO1xyXG4gICAgcHVibGljIGN1cnJlbnRGb3JtYXR0ZXI7XHJcbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG4gICAgcHJpdmF0ZSBfZGlhbG9nSWQ7XHJcbiAgICBwcml2YXRlIF9jaGFydERpYWxvZ09TID0geyBjbG9zZU9uT3V0c2lkZUNsaWNrOiBmYWxzZSB9O1xyXG5cclxuICAgIHByaXZhdGUgX3RhYnNNZW51T3ZlcmxheVNldHRpbmdzOiBPdmVybGF5U2V0dGluZ3MgPSB7XHJcbiAgICAgICAgY2xvc2VPbk91dHNpZGVDbGljazogZmFsc2UsXHJcbiAgICAgICAgbW9kYWw6IGZhbHNlLFxyXG4gICAgICAgIG91dGxldDogbnVsbCxcclxuICAgICAgICBzY3JvbGxTdHJhdGVneTogbmV3IENsb3NlU2Nyb2xsU3RyYXRlZ3koKSxcclxuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiBuZXcgQXV0b1Bvc2l0aW9uU3RyYXRlZ3koe1xyXG4gICAgICAgICAgICBob3Jpem9udGFsRGlyZWN0aW9uOiBIb3Jpem9udGFsQWxpZ25tZW50LkNlbnRlcixcclxuICAgICAgICAgICAgaG9yaXpvbnRhbFN0YXJ0UG9pbnQ6IEhvcml6b250YWxBbGlnbm1lbnQuQ2VudGVyLFxyXG4gICAgICAgICAgICB2ZXJ0aWNhbFN0YXJ0UG9pbnQ6IFZlcnRpY2FsQWxpZ25tZW50LkJvdHRvbSxcclxuICAgICAgICAgICAgdmVydGljYWxEaXJlY3Rpb246IFZlcnRpY2FsQWxpZ25tZW50LkJvdHRvbSxcclxuICAgICAgICAgICAgb3BlbkFuaW1hdGlvbjogbnVsbCxcclxuICAgICAgICAgICAgY2xvc2VBbmltYXRpb246IG51bGxcclxuICAgICAgICB9KVxyXG4gICAgfTtcclxuICAgIHByaXZhdGUgX2NoYXJ0UHJldmlld0RpYWxvZ092ZXJsYXlTZXR0aW5nczogT3ZlcmxheVNldHRpbmdzID0ge1xyXG4gICAgICAgIGNsb3NlT25PdXRzaWRlQ2xpY2s6IGZhbHNlLFxyXG4gICAgICAgIG1vZGFsOiBmYWxzZSxcclxuICAgICAgICBvdXRsZXQ6IG51bGwsXHJcbiAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IG5ldyBDbG9zZVNjcm9sbFN0cmF0ZWd5KCksXHJcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneTogbmV3IEF1dG9Qb3NpdGlvblN0cmF0ZWd5KHtcclxuICAgICAgICAgICAgaG9yaXpvbnRhbERpcmVjdGlvbjogSG9yaXpvbnRhbEFsaWdubWVudC5DZW50ZXIsXHJcbiAgICAgICAgICAgIGhvcml6b250YWxTdGFydFBvaW50OiBIb3Jpem9udGFsQWxpZ25tZW50LkNlbnRlcixcclxuICAgICAgICAgICAgdmVydGljYWxTdGFydFBvaW50OiBWZXJ0aWNhbEFsaWdubWVudC5Ub3AsXHJcbiAgICAgICAgICAgIHZlcnRpY2FsRGlyZWN0aW9uOiBWZXJ0aWNhbEFsaWdubWVudC5Ub3AsXHJcbiAgICAgICAgICAgIG9wZW5BbmltYXRpb246IG51bGwsXHJcbiAgICAgICAgICAgIGNsb3NlQW5pbWF0aW9uOiBudWxsXHJcbiAgICAgICAgfSlcclxuICAgIH07XHJcbiAgICBwdWJsaWMgY2hhcnRJbWFnZXM7XHJcbiAgICBwdWJsaWMgY29uZGl0aW9uSW1hZ2VzO1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBvdmVybGF5U2VydmljZTogSWd4T3ZlcmxheVNlcnZpY2UpIHtcclxuICAgICAgICB0aGlzLmNoYXJ0SW1hZ2VzID0gY2hhcnRzO1xyXG4gICAgICAgIHRoaXMuY29uZGl0aW9uSW1hZ2VzID0gY29uZGl0aW9ucztcclxuICAgICB9XHJcblxyXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICB0aGlzLmNoYXJ0VHlwZXMgPSB0aGlzLmNvbnRleHREaXJlY3RpdmUuY2hhcnRzO1xyXG4gICAgICAgIHRoaXMudGV4dEZvcm1hdHRlcnMgPSB0aGlzLmNvbnRleHREaXJlY3RpdmUuZm9ybWF0dGVycztcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dERpcmVjdGl2ZS5jaGFydHNEaXJlY3RpdmUpIHtcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0RGlyZWN0aXZlLmNoYXJ0c0RpcmVjdGl2ZS5vbkNoYXJ0VHlwZXNEZXRlcm1pbmVkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoYXJncykgPT4gdGhpcy5jaGFydFR5cGVzID0gYXJncy5jaGFydHNGb3JDcmVhdGlvbik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5jb250ZXh0RGlyZWN0aXZlLnRleHRGb3JtYXR0ZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0RGlyZWN0aXZlLnRleHRGb3JtYXR0ZXIub25Gb3JtYXR0ZXJzUmVhZHkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKG5hbWVzID0+IHRoaXMudGV4dEZvcm1hdHRlcnMgPSBuYW1lcyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmNvbnRleHREaXJlY3RpdmUub25CdXR0b25DbG9zZS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7IGlmICh0aGlzLnRhYnNNZW51ICYmICF0aGlzLnRhYnNNZW51LmNvbGxhcHNlZCkgeyB0aGlzLnRhYnNNZW51LmNsb3NlKCk7IH0gfSk7XHJcblxyXG4gICAgICAgIHRoaXMuY29udGV4dERpcmVjdGl2ZS5ncmlkUmVzaXplTm90aWZ5LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMudGFic01lbnUuY29sbGFwc2VkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGFic01lbnUuY2xvc2UoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMudGFic01lbnUub3BlbmluZy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgaWYgKHRoaXMudGFicy5zZWxlY3RlZEl0ZW0uZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgICAvLyBjb25zdCBpID0gdGhpcy50YWJzLml0ZW1zLmZpbmQodGFiID0+ICF0YWIuZGlzYWJsZWQpPy5pbmRleCB8fCAwO1xyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy50YWJzLnNlbGVjdFRhYih0aGlzLnRhYnMudGFicy50b0FycmF5KClbaV0sIHRydWUpO1xyXG4gICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5vdmVybGF5U2VydmljZS5vcGVuaW5nLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChhcmdzOiBPdmVybGF5Q2FuY2VsYWJsZUV2ZW50QXJncykgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGFyZ3MuY29tcG9uZW50UmVmKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5zdGFuY2UgPSAoYXJncy5jb21wb25lbnRSZWYuaW5zdGFuY2UgYXMgSWd4Q2hhcnRNZW51Q29tcG9uZW50KTtcclxuICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS53aWR0aCA9IHRoaXMuY29udGV4dERpcmVjdGl2ZS5ncmlkLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2UuaGVpZ2h0ID0gdGhpcy5jb250ZXh0RGlyZWN0aXZlLmdyaWQubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2UuY3VycmVudENoYXJ0VHlwZSA9IHRoaXMuY3VycmVudENoYXJ0VHlwZTtcclxuICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5hbGxDaGFydHMgPSB0aGlzLmNoYXJ0VHlwZXM7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2UuY2hhcnREaXJlY3RpdmUgPSB0aGlzLmNvbnRleHREaXJlY3RpdmUuY2hhcnRzRGlyZWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLm9uQ2xvc2U/LnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VEaWFsb2coKVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLmNoYXJ0RGlhbG9nUmVzaXplTm90aWZ5Py5zdWJzY3JpYmUocmVzaXplZENvbnRlbnRBcmdzID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBhIHRlbXBvcmFyeSBmaXgsIHdoaWNoIHNob3VsZCBiZSByZW1vdmVkIHJpZ2h0IGFmdGVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBvdmVybGF5IHNlcnZpY2UgaXMgY2FwYWJsZSBvZiBub3RpZnlpbmcgdGhlIG92ZXJsYXkgY29udGVudCBlbGVtZW50c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGF0IHRoZWlyIGNoaWxkcmVuIGhhcyBiZWVuIHJlc2l6ZWQuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHRoaXMub3ZlcmxheVNlcnZpY2UgYXMgYW55KS5fb3ZlcmxheUVsZW1lbnQuY2hpbGRyZW5bMV0pe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBtYXgtbGluZS1sZW5ndGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0aGlzLm92ZXJsYXlTZXJ2aWNlIGFzIGFueSkuX292ZXJsYXlFbGVtZW50LmNoaWxkcmVuWzFdLmNoaWxkcmVuWzBdLnN0eWxlLndpZHRoID0gcmVzaXplZENvbnRlbnRBcmdzWzBdLmNvbnRlbnRSZWN0LndpZHRoICsgJ3B4JztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLmNsb3NpbmcucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoYXJnczogT3ZlcmxheUV2ZW50QXJncykgPT4ge1xyXG4gICAgICAgICAgICBpZiAoYXJncy5jb21wb25lbnRSZWYgJiYgYXJncy5jb21wb25lbnRSZWYuaW5zdGFuY2UgaW5zdGFuY2VvZiBJZ3hDaGFydE1lbnVDb21wb25lbnQpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9kaWFsb2dJZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFic01lbnUub3Blbih0aGlzLl90YWJzTWVudU92ZXJsYXlTZXR0aW5ncylcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB0b2dnbGVUYWJNZW51KCkge1xyXG4gICAgICAgIHRoaXMuY3VycmVudENoYXJ0VHlwZSA9IHRoaXMuY3VycmVudENoYXJ0VHlwZSA/IHRoaXMuY3VycmVudENoYXJ0VHlwZSA6IENIQVJUX1RZUEUuQ09MVU1OX0dST1VQRUQ7XHJcbiAgICAgICAgdGhpcy5fdGFic01lbnVPdmVybGF5U2V0dGluZ3MudGFyZ2V0ID0gdGhpcy5idXR0b24ubmF0aXZlRWxlbWVudDtcclxuICAgICAgICB0aGlzLnRhYnNNZW51LmNvbGxhcHNlZCA/IHRoaXMudGFic01lbnUub3Blbih0aGlzLl90YWJzTWVudU92ZXJsYXlTZXR0aW5ncykgOiB0aGlzLnRhYnNNZW51LmNsb3NlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGZvcm1hdENlbGxzKGNvbmRpdGlvbikge1xyXG4gICAgICAgIHRoaXMuY3VycmVudEZvcm1hdHRlciA9IGNvbmRpdGlvbjtcclxuICAgICAgICB0aGlzLmNvbnRleHREaXJlY3RpdmUudGV4dEZvcm1hdHRlci5mb3JtYXRDZWxscyhjb25kaXRpb24pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjbGVhckZvcm1hdCgpIHtcclxuICAgICAgICB0aGlzLmNvbnRleHREaXJlY3RpdmUudGV4dEZvcm1hdHRlci5jbGVhckZvcm1hdHRpbmcoKTtcclxuICAgICAgICB0aGlzLmN1cnJlbnRGb3JtYXR0ZXIgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHByZXZpZXdDaGFydChjdXJyZW50Q2hhcnRUeXBlKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50Q2hhcnRUeXBlID0gY3VycmVudENoYXJ0VHlwZTtcclxuICAgICAgICB0aGlzLmNoYXJ0UHJldmlldy5jbGVhcigpO1xyXG4gICAgICAgIHRoaXMuY29udGV4dERpcmVjdGl2ZS5jaGFydHNEaXJlY3RpdmUuY2hhcnRGYWN0b3J5KGN1cnJlbnRDaGFydFR5cGUsIHRoaXMuY2hhcnRQcmV2aWV3KTtcclxuICAgICAgICB0aGlzLl9jaGFydFByZXZpZXdEaWFsb2dPdmVybGF5U2V0dGluZ3MudGFyZ2V0ID0gdGhpcy50YWJzTWVudS5lbGVtZW50O1xyXG4gICAgICAgIHRoaXMuY2hhcnRQcmV2aWV3RGlhbG9nLm9wZW4odGhpcy5fY2hhcnRQcmV2aWV3RGlhbG9nT3ZlcmxheVNldHRpbmdzKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGlkZVByZXZpZXcoKSB7XHJcbiAgICAgICAgdGhpcy5jaGFydFByZXZpZXdEaWFsb2cuY2xvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb3BlbkRpYWxvZyh0eXBlPzogQ0hBUlRfVFlQRSkge1xyXG4gICAgICAgIHRoaXMuY3VycmVudENoYXJ0VHlwZSA9IHR5cGUgPyB0eXBlIDogdGhpcy5jdXJyZW50Q2hhcnRUeXBlID8gdGhpcy5jdXJyZW50Q2hhcnRUeXBlIDogQ0hBUlRfVFlQRS5DT0xVTU5fR1JPVVBFRDtcclxuICAgICAgICB0aGlzLl9kaWFsb2dJZCA9IHRoaXMuX2RpYWxvZ0lkID8gdGhpcy5fZGlhbG9nSWQgOlxyXG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLmF0dGFjaChJZ3hDaGFydE1lbnVDb21wb25lbnQsIHRoaXMuX2NoYXJ0RGlhbG9nT1MpO1xyXG4gICAgICAgIHRoaXMudGFic01lbnUuY2xvc2UoKTtcclxuICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLnNob3codGhpcy5fZGlhbG9nSWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjbG9zZURpYWxvZygpIHtcclxuICAgICAgICBjb25zdCBpbmZvID0gdGhpcy5vdmVybGF5U2VydmljZS5nZXRPdmVybGF5QnlJZCh0aGlzLl9kaWFsb2dJZCk7XHJcbiAgICAgICAgaWYgKGluZm8pIHtcclxuICAgICAgICAgICAgdGhpcy5vdmVybGF5U2VydmljZS5oaWRlKHRoaXMuX2RpYWxvZ0lkKTtcclxuICAgICAgICAgICAgdGhpcy5vdmVybGF5U2VydmljZS5kZXRhY2godGhpcy5fZGlhbG9nSWQpO1xyXG4gICAgICAgICAgICB0aGlzLl9kaWFsb2dJZCA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiIsIjxzcGFuICNhbmFseXRpY3NCdG4gY2xhc3M9XCJhbmFseXRpY3MtYnRuXCI+XHJcbiAgICA8YnV0dG9uICNidG4gaWd4SWNvbkJ1dHRvbj1cImZsYXRcIiAoY2xpY2spPVwidG9nZ2xlVGFiTWVudSgpXCI+XHJcbiAgICAgICAgPGlneC1pY29uICNpY29uIGNsYXNzPVwiaWNvblwiIGZhbWlseT1cIm1hdGVyaWFsXCI+aW5zZXJ0X2NoYXJ0X291dGxpbmVkPC9pZ3gtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG48L3NwYW4+XHJcbjxkaXYgI3RhYnNNZW51IGlneFRvZ2dsZSBjbGFzcz1cInRvZ2dsZS1jb250ZW50IGlnLXNjcm9sbGJhclwiPlxyXG4gICAgPCEtLU5PVEU6IFRoaXMgY29tcG9uZW50IGhhcyBiZWVuIHVwZGF0ZWQgYnkgSW5mcmFnaXN0aWNzIG1pZ3JhdGlvbjogdjEyLjAuMFxyXG5QbGVhc2UgY2hlY2sgeW91ciB0ZW1wbGF0ZSB3aGV0aGVyIGFsbCBiaW5kaW5ncy9ldmVudCBoYW5kbGVycyBhcmUgY29ycmVjdC4tLT5cclxuICAgIDxpZ3gtdGFicyB0YWJzVHlwZT1cImZpeGVkXCIgW3NlbGVjdGVkSW5kZXhdPVwiIXRoaXMudGV4dEZvcm1hdHRlcnMubGVuZ3RoICYmIGNoYXJ0VHlwZXMubGVuZ3RoID8gMSA6IDBcIj5cclxuICAgICAgICA8aWd4LXRhYi1pdGVtIFtkaXNhYmxlZF09XCIhdGV4dEZvcm1hdHRlcnMubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgIDxpZ3gtdGFiLWhlYWRlcj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGlneFRhYkhlYWRlckxhYmVsPkNvbmRpdGlvbmFsIEZvcm1hdHRpbmc8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvaWd4LXRhYi1oZWFkZXI+XHJcbiAgICAgICAgICAgIDxpZ3gtdGFiLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICA8aWdjLXRyaWFsLXdhdGVybWFyaz48L2lnYy10cmlhbC13YXRlcm1hcms+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFic1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGFiLW9wdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgY29uZGl0aW9uIG9mIHRleHRGb3JtYXR0ZXJzXCIgY2xhc3M9XCJhY3Rpb24gYnRuIGNvbmRpdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3NlbGVjdGVkLS1jb25kaXRpb24nOiBjb25kaXRpb24gPT09IGN1cnJlbnRGb3JtYXR0ZXJ9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJmb3JtYXRDZWxscyhjb25kaXRpb24pXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1nU2l6ZVwiIFtpbm5lckhUTUxdPVwiY29uZGl0aW9uSW1hZ2VzW2NvbmRpdGlvbi5yZXBsYWNlKCcgJywgJycpXSB8IHN2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hbWVcIj57e2NvbmRpdGlvbi5yZXBsYWNlKCcxMCcsICcxMCUnKX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2xlYXIgYWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydkaXNhYmxlQnV0dG9uJzogY29udGV4dERpcmVjdGl2ZS50ZXh0Rm9ybWF0dGVyID8gIWNvbnRleHREaXJlY3RpdmUudGV4dEZvcm1hdHRlci5mb3JtYXR0ZXIgOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJGb3JtYXQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1nU2l6ZVwiIFtpbm5lckhUTUxdPVwiY29uZGl0aW9uSW1hZ2VzWydDbGVhciddIHwgc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJ0biBuYW1lXCI+Q2xlYXIgQWxsPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2lneC10YWItY29udGVudD5cclxuICAgICAgICA8L2lneC10YWItaXRlbT5cclxuICAgICAgICA8aWd4LXRhYi1pdGVtIFtkaXNhYmxlZF09XCIhY2hhcnRUeXBlcy5sZW5ndGhcIj5cclxuICAgICAgICAgICAgPGlneC10YWItaGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gaWd4VGFiSGVhZGVyTGFiZWw+Q3JlYXRlIENoYXJ0PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2lneC10YWItaGVhZGVyPlxyXG4gICAgICAgICAgICA8aWd4LXRhYi1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPGlnYy10cmlhbC13YXRlcm1hcms+PC9pZ2MtdHJpYWwtd2F0ZXJtYXJrPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYnNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRhYi1vcHRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IGNoYXJ0IG9mIGNoYXJ0VHlwZXMgfCBzbGljZTowOjRcIiBjbGFzcz1cImFjdGlvbiBidG4gY2hhcnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydzZWxlY3RlZCc6IGNoYXJ0ID09PSBjdXJyZW50Q2hhcnRUeXBlfVwiIChtb3VzZWVudGVyKT1cInByZXZpZXdDaGFydChjaGFydClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwiaGlkZVByZXZpZXcoKVwiIChjbGljayk9XCJvcGVuRGlhbG9nKGNoYXJ0KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJjaGFydEltYWdlc1tjaGFydF0gfCBzdmdcIiBjbGFzcz1cImltZ1NpemVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibmFtZVwiPnt7Y2hhcnR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1vcmUtYWN0aW9uIGNoYXJ0XCIgW25nQ2xhc3NdPVwieydkaXNhYmxlQnV0dG9uJzogIWNoYXJ0VHlwZXMubGVuZ3RofVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuRGlhbG9nKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1vcmUtYnRuIG1vcmUtaWNvblwiIGlneEljb25CdXR0b249XCJmbGF0XCIgW3N0eWxlLi0tYmFja2dyb3VuZF09XCInI0VCRUJFQidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLi0tZm9yZWdyb3VuZF09XCInYmxhY2snXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aWd4LWljb24gY2xhc3M9XCJpY29uXCIgZmFtaWx5PVwibWF0ZXJpYWxcIj5tb3JlX2hvcml6PC9pZ3gtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibmFtZSBidG5cIj5Nb3JlLi4uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2lneC10YWItY29udGVudD5cclxuICAgICAgICA8L2lneC10YWItaXRlbT5cclxuICAgIDwvaWd4LXRhYnM+XHJcbjwvZGl2PlxyXG48ZGl2IGlneFRvZ2dsZSAjY2hhcnRQcmV2aWV3RGlhbG9nIGNsYXNzPVwiY2hhcnQtcHJldmlld1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNoYXJ0LXByZXZpZXctdGl0bGVcIj5cclxuICAgICAgICA8aDU+UHJldmlldyBDaGFydDwvaDU+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjaGFydC1wcmV2aWV3LWFyZWFcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2NoYXJ0UHJldmlldz48L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
@@ -136,10 +136,10 @@ export class IgxContextMenuDirective {
136
136
  return rInex >= this._range.rowStart && rInex <= this._range.rowEnd
137
137
  && cIndex >= this._range.columnStart && cIndex <= this._range.columnEnd;
138
138
  }
139
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgxContextMenuDirective, deps: [{ token: i1.IgxGridComponent }, { token: i2.IgxConditionalFormattingDirective, optional: true }, { token: i3.IgxChartIntegrationDirective, optional: true }, { token: i1.IgxOverlayService }], target: i0.ɵɵFactoryTarget.Directive }); }
140
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.1", type: IgxContextMenuDirective, selector: "[igxContextMenu]", outputs: { onButtonClose: "onButtonClose" }, ngImport: i0 }); }
139
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: IgxContextMenuDirective, deps: [{ token: i1.IgxGridComponent }, { token: i2.IgxConditionalFormattingDirective, optional: true }, { token: i3.IgxChartIntegrationDirective, optional: true }, { token: i1.IgxOverlayService }], target: i0.ɵɵFactoryTarget.Directive }); }
140
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0", type: IgxContextMenuDirective, selector: "[igxContextMenu]", outputs: { onButtonClose: "onButtonClose" }, ngImport: i0 }); }
141
141
  }
142
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgxContextMenuDirective, decorators: [{
142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: IgxContextMenuDirective, decorators: [{
143
143
  type: Directive,
144
144
  args: [{
145
145
  selector: '[igxContextMenu]'
@@ -151,4 +151,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
151
151
  }] }, { type: i1.IgxOverlayService }], propDecorators: { onButtonClose: [{
152
152
  type: Output
153
153
  }] } });
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWd4LWNvbnRleHQtbWVudS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyLWV4dHJhcy9zcmMvbGliL2NvbnRleHQtbWVudS9pZ3gtY29udGV4dC1tZW51LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLG9CQUFvQixFQUFFLG1CQUFtQixFQUN2QixpQkFBaUIsRUFBbUIsTUFBTSxrQkFBa0IsQ0FBQztBQUNoSCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7O0FBS3pELE1BQU0sT0FBTyx1QkFBdUI7SUFnQmhDLFlBQW1CLElBQXNCLEVBQ1YsYUFBZ0QsRUFDaEQsZUFBNkMsRUFDeEQsY0FBaUM7UUFIbEMsU0FBSSxHQUFKLElBQUksQ0FBa0I7UUFDVixrQkFBYSxHQUFiLGFBQWEsQ0FBbUM7UUFDaEQsb0JBQWUsR0FBZixlQUFlLENBQThCO1FBQ3hELG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQWpCcEMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRWxELGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNaLHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFJaEMsZUFBVSxHQUFHLElBQUks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QUM7UUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUM7SUFDekIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxLQUFLLEVBQUUsTUFBTTtRQUMvQixPQUFPLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO2VBQzVELE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDaEYsQ0FBQzs4R0F4SVEsdUJBQXVCO2tHQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBSG5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtpQkFDL0I7OzBCQWtCZ0IsUUFBUTs7MEJBQ1IsUUFBUTt5RUFoQkosYUFBYTtzQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBPcHRpb25hbCwgT3V0cHV0LCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnNvbHV0ZVNjcm9sbFN0cmF0ZWd5LCBBdXRvUG9zaXRpb25TdHJhdGVneSwgSG9yaXpvbnRhbEFsaWdubWVudCwgSWd4R3JpZENvbXBvbmVudCxcclxuICAgIElneE92ZXJsYXlTZXJ2aWNlLCBPdmVybGF5Q2FuY2VsYWJsZUV2ZW50QXJncywgVmVydGljYWxBbGlnbm1lbnQsIE92ZXJsYXlTZXR0aW5ncyB9IGZyb20gJ2lnbml0ZXVpLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyLCBtZXJnZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBJZ3hDaGFydEludGVncmF0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9jaGFydC1pbnRlZ3JhdGlvbi9jaGFydC1pbnRlZ3JhdGlvbi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBJZ3hDb25kaXRpb25hbEZvcm1hdHRpbmdEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2NvbmRpdGlvbmFsLWZvcm1hdHRpbmcvY29uZGl0aW9uYWwtZm9ybWF0dGluZy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBJZ3hDb250ZXh0TWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29udGV4dC1tZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlc2l6ZU9ic2VydmVyIH0gZnJvbSAnQGp1Z2dsZS9yZXNpemUtb2JzZXJ2ZXInO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tpZ3hDb250ZXh0TWVudV0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ3hDb250ZXh0TWVudURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgICBAT3V0cHV0KCkgcHVibGljIG9uQnV0dG9uQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgICBwdWJsaWMgZm9ybWF0dGVycyA9IFtdO1xyXG4gICAgcHVibGljIGNoYXJ0cyA9IFtdO1xyXG4gICAgcHVibGljIGdyaWRSZXNpemVOb3RpZnkgPSBuZXcgU3ViamVjdCgpO1xyXG4gICAgcHJpdmF0ZSBjb250ZW50T2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyO1xyXG4gICAgcHJpdmF0ZSBfcmFuZ2U7XHJcbiAgICBwcml2YXRlIF9pZDtcclxuICAgIHByaXZhdGUgX2NvbGxhcHNlZCA9IHRydWU7XHJcbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG4gICAgcHJpdmF0ZSBfYW5hbHl0aWNzQnRuU2V0dGluZ3M6IE92ZXJsYXlTZXR0aW5ncyA9IHtcclxuICAgICAgICBjbG9zZU9uT3V0c2lkZUNsaWNrOiBmYWxzZSxcclxuICAgICAgICBtb2RhbDogZmFsc2VcclxuICAgIH07XHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZ3JpZDogSWd4R3JpZENvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIHB1YmxpYyB0ZXh0Rm9ybWF0dGVyOiBJZ3hDb25kaXRpb25hbEZvcm1hdHRpbmdEaXJlY3RpdmUsXHJcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBwdWJsaWMgY2hhcnRzRGlyZWN0aXZlOiBJZ3hDaGFydEludGVncmF0aW9uRGlyZWN0aXZlLFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBvdmVybGF5U2VydmljZTogSWd4T3ZlcmxheVNlcnZpY2UpIHsgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uSW5pdCAoKSB7XHJcbiAgICAgICAgdGhpcy5ncmlkUmVzaXplTm90aWZ5LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2lkICYmICF0aGlzLl9jb2xsYXBzZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlckJ1dHRvbigpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5zZXRVcEdyaWRMaXN0ZW5lcnMoKTtcclxuICAgICAgICBpZiAodGhpcy50ZXh0Rm9ybWF0dGVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGV4dEZvcm1hdHRlci5vbkZvcm1hdHRlcnNSZWFkeS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUobmFtZXMgPT4gdGhpcy5mb3JtYXR0ZXJzID0gbmFtZXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5jaGFydHNEaXJlY3RpdmUpIHtcclxuICAgICAgICAgICAgdGhpcy5jaGFydHNEaXJlY3RpdmUub25DaGFydFR5cGVzRGV0ZXJtaW5lZC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGFyZ3MpID0+IHRoaXMuY2hhcnRzID0gYXJncy5jaGFydHNGb3JDcmVhdGlvbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMub3ZlcmxheVNlcnZpY2Uub3BlbmluZy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoYXJnczogT3ZlcmxheUNhbmNlbGFibGVFdmVudEFyZ3MpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChhcmdzLmNvbXBvbmVudFJlZikge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlID0gKGFyZ3MuY29tcG9uZW50UmVmLmluc3RhbmNlIGFzIElneENvbnRleHRNZW51Q29tcG9uZW50KTtcclxuICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5jb250ZXh0RGlyZWN0aXZlID0gdGhpcztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9jb2xsYXBzZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldFVwR3JpZExpc3RlbmVycygpIHtcclxuICAgICAgICB0aGlzLmNvbnRlbnRPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB0aGlzLmdyaWRSZXNpemVOb3RpZnkubmV4dCgpKTtcclxuICAgICAgICB0aGlzLmNvbnRlbnRPYnNlcnZlci5vYnNlcnZlKHRoaXMuZ3JpZC5uYXRpdmVFbGVtZW50KTtcclxuXHJcbiAgICAgICAgdGhpcy5ncmlkLnJhbmdlU2VsZWN0ZWQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGFyZ3MpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3JhbmdlID0gYXJncztcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNoYXJ0c0RpcmVjdGl2ZSApIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIHRoaXMuZ3JpZC5nZXRTZWxlY3RlZFJhbmdlcygpLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYXJ0c0RpcmVjdGl2ZS5jaGFydERhdGEgPSB0aGlzLmdyaWQuZ2V0U2VsZWN0ZWREYXRhKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFydHNEaXJlY3RpdmUuY2hhcnREYXRhID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLl9jb2xsYXBzZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uQnV0dG9uQ2xvc2UuZW1pdCgpO1xyXG4gICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyQnV0dG9uKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuZ3JpZC52ZXJ0aWNhbFNjcm9sbENvbnRhaW5lci5jaHVua0xvYWQucGlwZShcclxuICAgICAgICAgICAgbWVyZ2UodGhpcy5ncmlkLnBhcmVudFZpcnREaXIuY2h1bmtMb2FkLCB0aGlzLmdyaWQuZmlsdGVyaW5nRG9uZSwgdGhpcy5ncmlkLmNvbHVtblJlc2l6ZWQsXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWQuY29sdW1uVmlzaWJpbGl0eUNoYW5nZWQucGlwZShkZWJvdW5jZVRpbWUoMzApKSksXHJcbiAgICAgICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLl9yYW5nZSksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMub25CdXR0b25DbG9zZS5lbWl0KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlckJ1dHRvbigpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlbmRlckJ1dHRvbigpIHtcclxuICAgICAgICBpZiAoIXRoaXMuX3JhbmdlKSB7IHJldHVybjsgfVxyXG4gICAgICAgIGxldCByb3dJbmRleCA9IHRoaXMuX3JhbmdlLnJvd0VuZDtcclxuICAgICAgICBsZXQgY29sSW5kZXggPSArdGhpcy5fcmFuZ2UuY29sdW1uRW5kO1xyXG4gICAgICAgIHdoaWxlIChjb2xJbmRleCA+PSB0aGlzLl9yYW5nZS5jb2x1bW5TdGFydCAmJiAhdGhpcy5ncmlkLm5hdmlnYXRpb24uaXNDb2x1bW5GdWxseVZpc2libGUoY29sSW5kZXgpKSB7XHJcbiAgICAgICAgICAgIGNvbEluZGV4LS07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHdoaWxlIChyb3dJbmRleCA+PSB0aGlzLl9yYW5nZS5yb3dTdGFydCAmJiB0aGlzLmdyaWQubmF2aWdhdGlvbi5zaG91bGRQZXJmb3JtVmVydGljYWxTY3JvbGwocm93SW5kZXgsIC0xKSkge1xyXG4gICAgICAgICAgICByb3dJbmRleC0tO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBmaWVsZCA9IHRoaXMuZ3JpZC52aXNpYmxlQ29sdW1uc1tjb2xJbmRleF0gPyB0aGlzLmdyaWQudmlzaWJsZUNvbHVtbnNbY29sSW5kZXhdLmZpZWxkIDogJyc7XHJcbiAgICAgICAgY29uc3QgY2VsbCA9IHRoaXMuZ3JpZC5ncmlkQVBJLmdldF9jZWxsX2J5X2luZGV4KHJvd0luZGV4LCBmaWVsZCk7XHJcbiAgICAgICAgaWYgKCFjZWxsIHx8ICF0aGlzLmlzV2l0aEluUmFuZ2UoY2VsbC5yb3cua2V5LCBjZWxsLmNvbHVtbi5pbmRleCAtIDEpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9hbmFseXRpY3NCdG5TZXR0aW5ncy5wb3NpdGlvblN0cmF0ZWd5ID0gbmV3IEF1dG9Qb3NpdGlvblN0cmF0ZWd5KHtcclxuICAgICAgICAgICAgaG9yaXpvbnRhbERpcmVjdGlvbjogSG9yaXpvbnRhbEFsaWdubWVudC5SaWdodCxcclxuICAgICAgICAgICAgaG9yaXpvbnRhbFN0YXJ0UG9pbnQ6IEhvcml6b250YWxBbGlnbm1lbnQuUmlnaHQsXHJcbiAgICAgICAgICAgIHZlcnRpY2FsU3RhcnRQb2ludDogVmVydGljYWxBbGlnbm1lbnQuQm90dG9tLFxyXG4gICAgICAgICAgICB2ZXJ0aWNhbERpcmVjdGlvbjogVmVydGljYWxBbGlnbm1lbnQuQm90dG9tLCBjbG9zZUFuaW1hdGlvbjogbnVsbCxcclxuICAgICAgICAgICAgdGFyZ2V0OiBjZWxsLm5hdGl2ZUVsZW1lbnRcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl9hbmFseXRpY3NCdG5TZXR0aW5ncy5zY3JvbGxTdHJhdGVneSA9IG5ldyBBYnNvbHV0ZVNjcm9sbFN0cmF0ZWd5KCk7XHJcbiAgICAgICAgY29uc3QgaW5mbyA9IHRoaXMub3ZlcmxheVNlcnZpY2UuZ2V0T3ZlcmxheUJ5SWQodGhpcy5faWQpO1xyXG4gICAgICAgIGlmIChpbmZvKSB7XHJcbiAgICAgICAgICAgIGluZm8uc2V0dGluZ3MucG9zaXRpb25TdHJhdGVneSA9IHRoaXMuX2FuYWx5dGljc0J0blNldHRpbmdzLnBvc2l0aW9uU3RyYXRlZ3k7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2NvbGxhcHNlZCA/IHRoaXMuc2hvdygpIDogdGhpcy5vdmVybGF5U2VydmljZS5yZXBvc2l0aW9uKHRoaXMuX2lkKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNob3coKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9jb2xsYXBzZWQpIHsgcmV0dXJuOyB9XHJcbiAgICAgICAgdGhpcy5fY29sbGFwc2VkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5faWQgPSB0aGlzLl9pZCA/IHRoaXMuX2lkIDpcclxuICAgICAgICAgICAgdGhpcy5vdmVybGF5U2VydmljZS5hdHRhY2goSWd4Q29udGV4dE1lbnVDb21wb25lbnQsIHRoaXMuX2FuYWx5dGljc0J0blNldHRpbmdzKTtcclxuICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLnNob3codGhpcy5faWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY2xvc2UoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2NvbGxhcHNlZCkgeyByZXR1cm47IH1cclxuICAgICAgICB0aGlzLl9jb2xsYXBzZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMub3ZlcmxheVNlcnZpY2UuaGlkZSh0aGlzLl9pZCk7XHJcbiAgICAgICAgdGhpcy5vbkJ1dHRvbkNsb3NlLmVtaXQoKTtcclxuICAgICAgICB0aGlzLl9pZCA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGlzV2l0aEluUmFuZ2UockluZXgsIGNJbmRleCkge1xyXG4gICAgICAgIHJldHVybiBySW5leCA+PSB0aGlzLl9yYW5nZS5yb3dTdGFydCAmJiBySW5leCA8PSB0aGlzLl9yYW5nZS5yb3dFbmRcclxuICAgICAgICAgICAgJiYgY0luZGV4ID49IHRoaXMuX3JhbmdlLmNvbHVtblN0YXJ0ICYmIGNJbmRleCA8PSB0aGlzLl9yYW5nZS5jb2x1bW5FbmQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbiJdfQ==
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWd4LWNvbnRleHQtbWVudS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyLWV4dHJhcy9zcmMvbGliL2NvbnRleHQtbWVudS9pZ3gtY29udGV4dC1tZW51LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLG9CQUFvQixFQUFFLG1CQUFtQixFQUN2QixpQkFBaUIsRUFBbUIsTUFBTSxrQkFBa0IsQ0FBQztBQUNoSCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7O0FBS3pELE1BQU0sT0FBTyx1QkFBdUI7SUFnQmhDLFlBQW1CLElBQXNCLEVBQ1YsYUFBZ0QsRUFDaEQsZUFBNkMsRUFDeEQsY0FBaUM7UUFIbEMsU0FBSSxHQUFKLElBQUksQ0FBa0I7UUFDVixrQkFBYSxHQUFiLGFBQWEsQ0FBbUM7UUFDaEQsb0JBQWUsR0FBZixlQUFlLENBQThCO1FBQ3hELG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQWpCcEMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRWxELGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNaLHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFJdEMsZUFBVSxHQUFHLElBQUks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QUM7UUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUM7SUFDekIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxLQUFLLEVBQUUsTUFBTTtRQUMvQixPQUFPLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO2VBQzVELE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDaEYsQ0FBQzs4R0F4SVEsdUJBQXVCO2tHQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBSG5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtpQkFDL0I7OzBCQWtCZ0IsUUFBUTs7MEJBQ1IsUUFBUTt5RUFoQkosYUFBYTtzQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBPcHRpb25hbCwgT3V0cHV0LCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnNvbHV0ZVNjcm9sbFN0cmF0ZWd5LCBBdXRvUG9zaXRpb25TdHJhdGVneSwgSG9yaXpvbnRhbEFsaWdubWVudCwgSWd4R3JpZENvbXBvbmVudCxcclxuICAgIElneE92ZXJsYXlTZXJ2aWNlLCBPdmVybGF5Q2FuY2VsYWJsZUV2ZW50QXJncywgVmVydGljYWxBbGlnbm1lbnQsIE92ZXJsYXlTZXR0aW5ncyB9IGZyb20gJ2lnbml0ZXVpLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyLCBtZXJnZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBJZ3hDaGFydEludGVncmF0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9jaGFydC1pbnRlZ3JhdGlvbi9jaGFydC1pbnRlZ3JhdGlvbi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBJZ3hDb25kaXRpb25hbEZvcm1hdHRpbmdEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2NvbmRpdGlvbmFsLWZvcm1hdHRpbmcvY29uZGl0aW9uYWwtZm9ybWF0dGluZy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBJZ3hDb250ZXh0TWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29udGV4dC1tZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlc2l6ZU9ic2VydmVyIH0gZnJvbSAnQGp1Z2dsZS9yZXNpemUtb2JzZXJ2ZXInO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tpZ3hDb250ZXh0TWVudV0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ3hDb250ZXh0TWVudURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgICBAT3V0cHV0KCkgcHVibGljIG9uQnV0dG9uQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgICBwdWJsaWMgZm9ybWF0dGVycyA9IFtdO1xyXG4gICAgcHVibGljIGNoYXJ0cyA9IFtdO1xyXG4gICAgcHVibGljIGdyaWRSZXNpemVOb3RpZnkgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgcHJpdmF0ZSBjb250ZW50T2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyO1xyXG4gICAgcHJpdmF0ZSBfcmFuZ2U7XHJcbiAgICBwcml2YXRlIF9pZDtcclxuICAgIHByaXZhdGUgX2NvbGxhcHNlZCA9IHRydWU7XHJcbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICAgIHByaXZhdGUgX2FuYWx5dGljc0J0blNldHRpbmdzOiBPdmVybGF5U2V0dGluZ3MgPSB7XHJcbiAgICAgICAgY2xvc2VPbk91dHNpZGVDbGljazogZmFsc2UsXHJcbiAgICAgICAgbW9kYWw6IGZhbHNlXHJcbiAgICB9O1xyXG4gICAgY29uc3RydWN0b3IocHVibGljIGdyaWQ6IElneEdyaWRDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBwdWJsaWMgdGV4dEZvcm1hdHRlcjogSWd4Q29uZGl0aW9uYWxGb3JtYXR0aW5nRGlyZWN0aXZlLFxyXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHVibGljIGNoYXJ0c0RpcmVjdGl2ZTogSWd4Q2hhcnRJbnRlZ3JhdGlvbkRpcmVjdGl2ZSxcclxuICAgICAgICAgICAgICAgIHByaXZhdGUgb3ZlcmxheVNlcnZpY2U6IElneE92ZXJsYXlTZXJ2aWNlKSB7IH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkluaXQgKCkge1xyXG4gICAgICAgIHRoaXMuZ3JpZFJlc2l6ZU5vdGlmeS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9pZCAmJiAhdGhpcy5fY29sbGFwc2VkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJCdXR0b24oKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIHRoaXMuc2V0VXBHcmlkTGlzdGVuZXJzKCk7XHJcbiAgICAgICAgaWYgKHRoaXMudGV4dEZvcm1hdHRlcikge1xyXG4gICAgICAgICAgICB0aGlzLnRleHRGb3JtYXR0ZXIub25Gb3JtYXR0ZXJzUmVhZHkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKG5hbWVzID0+IHRoaXMuZm9ybWF0dGVycyA9IG5hbWVzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuY2hhcnRzRGlyZWN0aXZlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhcnRzRGlyZWN0aXZlLm9uQ2hhcnRUeXBlc0RldGVybWluZWQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChhcmdzKSA9PiB0aGlzLmNoYXJ0cyA9IGFyZ3MuY2hhcnRzRm9yQ3JlYXRpb24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLm9wZW5pbmcucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGFyZ3M6IE92ZXJsYXlDYW5jZWxhYmxlRXZlbnRBcmdzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoYXJncy5jb21wb25lbnRSZWYpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnN0YW5jZSA9IChhcmdzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBJZ3hDb250ZXh0TWVudUNvbXBvbmVudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2UuY29udGV4dERpcmVjdGl2ZSA9IHRoaXM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgICAgIGlmICghdGhpcy5fY29sbGFwc2VkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRVcEdyaWRMaXN0ZW5lcnMoKSB7XHJcbiAgICAgICAgdGhpcy5jb250ZW50T2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4gdGhpcy5ncmlkUmVzaXplTm90aWZ5Lm5leHQoKSk7XHJcbiAgICAgICAgdGhpcy5jb250ZW50T2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmdyaWQubmF0aXZlRWxlbWVudCk7XHJcblxyXG4gICAgICAgIHRoaXMuZ3JpZC5yYW5nZVNlbGVjdGVkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChhcmdzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9yYW5nZSA9IGFyZ3M7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jaGFydHNEaXJlY3RpdmUgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCB0aGlzLmdyaWQuZ2V0U2VsZWN0ZWRSYW5nZXMoKS5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFydHNEaXJlY3RpdmUuY2hhcnREYXRhID0gdGhpcy5ncmlkLmdldFNlbGVjdGVkRGF0YSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhcnRzRGlyZWN0aXZlLmNoYXJ0RGF0YSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5fY29sbGFwc2VkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkJ1dHRvbkNsb3NlLmVtaXQoKTtcclxuICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlckJ1dHRvbigpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmdyaWQudmVydGljYWxTY3JvbGxDb250YWluZXIuY2h1bmtMb2FkLnBpcGUoXHJcbiAgICAgICAgICAgIG1lcmdlKHRoaXMuZ3JpZC5wYXJlbnRWaXJ0RGlyLmNodW5rTG9hZCwgdGhpcy5ncmlkLmZpbHRlcmluZ0RvbmUsIHRoaXMuZ3JpZC5jb2x1bW5SZXNpemVkLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5ncmlkLmNvbHVtblZpc2liaWxpdHlDaGFuZ2VkLnBpcGUoZGVib3VuY2VUaW1lKDMwKSkpLFxyXG4gICAgICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5fcmFuZ2UpLCB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9uQnV0dG9uQ2xvc2UuZW1pdCgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJCdXR0b24oKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSByZW5kZXJCdXR0b24oKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9yYW5nZSkgeyByZXR1cm47IH1cclxuICAgICAgICBsZXQgcm93SW5kZXggPSB0aGlzLl9yYW5nZS5yb3dFbmQ7XHJcbiAgICAgICAgbGV0IGNvbEluZGV4ID0gK3RoaXMuX3JhbmdlLmNvbHVtbkVuZDtcclxuICAgICAgICB3aGlsZSAoY29sSW5kZXggPj0gdGhpcy5fcmFuZ2UuY29sdW1uU3RhcnQgJiYgIXRoaXMuZ3JpZC5uYXZpZ2F0aW9uLmlzQ29sdW1uRnVsbHlWaXNpYmxlKGNvbEluZGV4KSkge1xyXG4gICAgICAgICAgICBjb2xJbmRleC0tO1xyXG4gICAgICAgIH1cclxuICAgICAgICB3aGlsZSAocm93SW5kZXggPj0gdGhpcy5fcmFuZ2Uucm93U3RhcnQgJiYgdGhpcy5ncmlkLm5hdmlnYXRpb24uc2hvdWxkUGVyZm9ybVZlcnRpY2FsU2Nyb2xsKHJvd0luZGV4LCAtMSkpIHtcclxuICAgICAgICAgICAgcm93SW5kZXgtLTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZmllbGQgPSB0aGlzLmdyaWQudmlzaWJsZUNvbHVtbnNbY29sSW5kZXhdID8gdGhpcy5ncmlkLnZpc2libGVDb2x1bW5zW2NvbEluZGV4XS5maWVsZCA6ICcnO1xyXG4gICAgICAgIGNvbnN0IGNlbGwgPSB0aGlzLmdyaWQuZ3JpZEFQSS5nZXRfY2VsbF9ieV9pbmRleChyb3dJbmRleCwgZmllbGQpO1xyXG4gICAgICAgIGlmICghY2VsbCB8fCAhdGhpcy5pc1dpdGhJblJhbmdlKGNlbGwucm93LmtleSwgY2VsbC5jb2x1bW4uaW5kZXggLSAxKSkge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fYW5hbHl0aWNzQnRuU2V0dGluZ3MucG9zaXRpb25TdHJhdGVneSA9IG5ldyBBdXRvUG9zaXRpb25TdHJhdGVneSh7XHJcbiAgICAgICAgICAgIGhvcml6b250YWxEaXJlY3Rpb246IEhvcml6b250YWxBbGlnbm1lbnQuUmlnaHQsXHJcbiAgICAgICAgICAgIGhvcml6b250YWxTdGFydFBvaW50OiBIb3Jpem9udGFsQWxpZ25tZW50LlJpZ2h0LFxyXG4gICAgICAgICAgICB2ZXJ0aWNhbFN0YXJ0UG9pbnQ6IFZlcnRpY2FsQWxpZ25tZW50LkJvdHRvbSxcclxuICAgICAgICAgICAgdmVydGljYWxEaXJlY3Rpb246IFZlcnRpY2FsQWxpZ25tZW50LkJvdHRvbSwgY2xvc2VBbmltYXRpb246IG51bGwsXHJcbiAgICAgICAgICAgIHRhcmdldDogY2VsbC5uYXRpdmVFbGVtZW50XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5fYW5hbHl0aWNzQnRuU2V0dGluZ3Muc2Nyb2xsU3RyYXRlZ3kgPSBuZXcgQWJzb2x1dGVTY3JvbGxTdHJhdGVneSgpO1xyXG4gICAgICAgIGNvbnN0IGluZm8gPSB0aGlzLm92ZXJsYXlTZXJ2aWNlLmdldE92ZXJsYXlCeUlkKHRoaXMuX2lkKTtcclxuICAgICAgICBpZiAoaW5mbykge1xyXG4gICAgICAgICAgICBpbmZvLnNldHRpbmdzLnBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLl9hbmFseXRpY3NCdG5TZXR0aW5ncy5wb3NpdGlvblN0cmF0ZWd5O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9jb2xsYXBzZWQgPyB0aGlzLnNob3coKSA6IHRoaXMub3ZlcmxheVNlcnZpY2UucmVwb3NpdGlvbih0aGlzLl9pZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzaG93KCkge1xyXG4gICAgICAgIGlmICghdGhpcy5fY29sbGFwc2VkKSB7IHJldHVybjsgfVxyXG4gICAgICAgIHRoaXMuX2NvbGxhcHNlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX2lkID0gdGhpcy5faWQgPyB0aGlzLl9pZCA6XHJcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVNlcnZpY2UuYXR0YWNoKElneENvbnRleHRNZW51Q29tcG9uZW50LCB0aGlzLl9hbmFseXRpY3NCdG5TZXR0aW5ncyk7XHJcbiAgICAgICAgdGhpcy5vdmVybGF5U2VydmljZS5zaG93KHRoaXMuX2lkKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNsb3NlKCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9jb2xsYXBzZWQpIHsgcmV0dXJuOyB9XHJcbiAgICAgICAgdGhpcy5fY29sbGFwc2VkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLmhpZGUodGhpcy5faWQpO1xyXG4gICAgICAgIHRoaXMub25CdXR0b25DbG9zZS5lbWl0KCk7XHJcbiAgICAgICAgdGhpcy5faWQgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpc1dpdGhJblJhbmdlKHJJbmV4LCBjSW5kZXgpIHtcclxuICAgICAgICByZXR1cm4gckluZXggPj0gdGhpcy5fcmFuZ2Uucm93U3RhcnQgJiYgckluZXggPD0gdGhpcy5fcmFuZ2Uucm93RW5kXHJcbiAgICAgICAgICAgICYmIGNJbmRleCA+PSB0aGlzLl9yYW5nZS5jb2x1bW5TdGFydCAmJiBjSW5kZXggPD0gdGhpcy5fcmFuZ2UuY29sdW1uRW5kO1xyXG4gICAgfVxyXG59XHJcblxyXG4iXX0=
@@ -286,10 +286,10 @@ export class IgxChartIntegrationDirective {
286
286
  this.customChartComponentOptions.get(chart)[optionsType][property] = options[property];
287
287
  });
288
288
  }
289
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgxChartIntegrationDirective, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Directive }); }
290
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.1", type: IgxChartIntegrationDirective, selector: "[igxChartIntegration]", inputs: { chartData: "chartData", useLegend: "useLegend", defaultLabelMemberPath: "defaultLabelMemberPath", scatterChartYAxisValueMemberPath: "scatterChartYAxisValueMemberPath", bubbleChartRadiusMemberPath: "bubbleChartRadiusMemberPath" }, outputs: { onChartTypesDetermined: "onChartTypesDetermined", onChartCreationDone: "onChartCreationDone" }, ngImport: i0 }); }
289
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: IgxChartIntegrationDirective, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Directive }); }
290
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0", type: IgxChartIntegrationDirective, selector: "[igxChartIntegration]", inputs: { chartData: "chartData", useLegend: "useLegend", defaultLabelMemberPath: "defaultLabelMemberPath", scatterChartYAxisValueMemberPath: "scatterChartYAxisValueMemberPath", bubbleChartRadiusMemberPath: "bubbleChartRadiusMemberPath" }, outputs: { onChartTypesDetermined: "onChartTypesDetermined", onChartCreationDone: "onChartCreationDone" }, ngImport: i0 }); }
291
291
  }
292
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgxChartIntegrationDirective, decorators: [{
292
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: IgxChartIntegrationDirective, decorators: [{
293
293
  type: Directive,
294
294
  args: [{
295
295
  selector: '[igxChartIntegration]'
@@ -289,10 +289,10 @@ export class IgxConditionalFormattingDirective {
289
289
  data.forEach(rec => result = result.concat(Object.values(rec)));
290
290
  return result;
291
291
  }
292
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgxConditionalFormattingDirective, deps: [{ token: i1.IgxGridComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
293
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.1", type: IgxConditionalFormattingDirective, selector: "[igxConditionalFormatting]", inputs: { formatter: "formatter", formatColors: "formatColors" }, outputs: { onFormattersReady: "onFormattersReady" }, ngImport: i0 }); }
292
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: IgxConditionalFormattingDirective, deps: [{ token: i1.IgxGridComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
293
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0", type: IgxConditionalFormattingDirective, selector: "[igxConditionalFormatting]", inputs: { formatter: "formatter", formatColors: "formatColors" }, outputs: { onFormattersReady: "onFormattersReady" }, ngImport: i0 }); }
294
294
  }
295
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgxConditionalFormattingDirective, decorators: [{
295
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: IgxConditionalFormattingDirective, decorators: [{
296
296
  type: Directive,
297
297
  args: [{
298
298
  selector: '[igxConditionalFormatting]'