@elderbyte/ngx-starter 14.7.0 → 14.8.0

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.
@@ -140,10 +140,10 @@ export class ElderBreadCrumbsComponent {
140
140
  }
141
141
  }
142
142
  ElderBreadCrumbsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ElderBreadCrumbsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
143
- ElderBreadCrumbsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: ElderBreadCrumbsComponent, selector: "elder-bread-crumbs", inputs: { root: "root", rootTranslation: "rootTranslation", rootIcon: "rootIcon", backgroundColor: "backgroundColor", editModeEnabled: "editModeEnabled", path: "path" }, outputs: { pathChange: "pathChange" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "\n<!-- main container-->\n<div fxLayout=\"row\" fxLayoutAlign=\"start center\" fxFlex\n [style.background-color]=\"backgroundColor\" class=\"breadcrumb-bar\"\n *ngIf=\"{enabled: editMode$ | async} as editMode\"\n>\n\n <!-- path container -->\n <form #breadCrumbForm=\"ngForm\" fxLayout=\"row\" fxLayoutAlign=\"start center\" fxFlex\n fxLayoutGap=\"12px\" class=\"breadcrumb-path\"\n (click)=\"enableEditMode()\"\n\n >\n <!-- path edit control -->\n <mat-form-field fxFlex *ngIf=\"editMode.enabled\" elderDense >\n {{ pathInput.focus() }}\n <input matInput type=\"text\" name=\"pathInput\" #pathInput\n [ngModel]=\"path\" (ngModelChange)=\"onPathInputChange($event)\"\n (blur)=\"onPathEditBlur($event)\"\n elderKeyEvent [elderKeyEventFilter]=\"'Enter'\" (onElderKeyEvent)=\"onEnter()\">\n </mat-form-field>\n\n <!-- navigation control -->\n <ng-container *ngIf=\"!editMode.enabled\">\n\n <div fxFlex fxLayoutAlign=\"start center\">\n\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\"\n *ngFor=\"let node of nodes$ | async;let isFirst = first;let isLast = last\">\n\n <mat-icon *ngIf=\"!isFirst\" class=\"noselect breadcrumb-arrow\">keyboard_arrow_right</mat-icon>\n\n <!-- root element -->\n <a *ngIf=\"isFirst && rootIcon\"\n mat-icon-button class=\"breadcrumb\"\n (click)=\"goToPath(node)\" elderStopEventPropagation\n >\n <mat-icon>{{rootIcon}}</mat-icon>\n </a>\n\n <!-- intermediate elements -->\n <a *ngIf=\"!isLast && (!isFirst || !rootIcon)\"\n mat-button class=\"breadcrumb\"\n (click)=\"goToPath(node)\" elderStopEventPropagation\n >\n <span>{{node.name}}</span>\n </a>\n\n <!-- last element -->\n <a mat-button class=\"breadcrumb\" *ngIf=\"isLast && (!rootIcon || !isFirst)\"\n (click)=\"null\" elderStopEventPropagation\n >\n {{node.name}}\n <mat-icon>arrow_drop_down</mat-icon>\n </a>\n\n </div>\n\n </div>\n\n </ng-container>\n\n </form>\n\n <!-- bread crumb menu -->\n <button mat-icon-button type=\"button\" [matMenuTriggerFor]=\"menu\">\n\n <mat-icon style=\"font-size: 22px\">arrow_drop_down</mat-icon>\n\n <mat-menu #menu=\"matMenu\">\n\n <button mat-menu-item type=\"button\" [elderClipboardPut]=\"path\">\n <mat-icon>content_copy</mat-icon>\n <span>{{'Pfad kopieren'}}</span>\n </button>\n\n <button mat-menu-item type=\"button\" (click)=\"onMenuEditPathClick($event)\" elderStopEventPropagation>\n <mat-icon *ngIf=\"!editMode.enabled\">edit</mat-icon>\n <mat-icon *ngIf=\"editMode.enabled\">done</mat-icon>\n <span *ngIf=\"!editMode.enabled\">{{'Pfad editieren'}}</span>\n <span *ngIf=\"editMode.enabled\">{{'Pfad best\u00E4tigen'}}</span>\n </button>\n\n </mat-menu>\n\n </button>\n</div>\n\n\n", styles: [".breadcrumb-path{padding:0 10px}.breadcrumb{font-size:18px;font-weight:400}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i3.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab], a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i8.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i8.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i9.ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "directive", type: i10.ElderKeyEventDirective, selector: "[elderKeyEvent]", inputs: ["elderKeyEventFilter", "elderKeyEventDown", "elderKeyEventChildren", "elderKeyEventCallback"], outputs: ["onElderKeyEvent"] }, { kind: "directive", type: i11.ElderClipboardPutDirective, selector: "[elderClipboardPut]", inputs: ["elderClipboardPut"], outputs: ["clipboardCopied"] }, { kind: "directive", type: i12.ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
143
+ ElderBreadCrumbsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: ElderBreadCrumbsComponent, selector: "elder-bread-crumbs", inputs: { root: "root", rootTranslation: "rootTranslation", rootIcon: "rootIcon", backgroundColor: "backgroundColor", editModeEnabled: "editModeEnabled", path: "path" }, outputs: { pathChange: "pathChange" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "\n<!-- main container-->\n<div fxLayout=\"row\" fxLayoutAlign=\"start center\" fxFlex\n [style.background-color]=\"backgroundColor\" class=\"breadcrumb-bar\"\n *ngIf=\"{enabled: editMode$ | async} as editMode\"\n>\n\n <!-- path container -->\n <form #breadCrumbForm=\"ngForm\" fxLayout=\"row\" fxLayoutAlign=\"start center\" fxFlex\n fxLayoutGap=\"12px\" class=\"breadcrumb-path\"\n (click)=\"enableEditMode()\"\n >\n <!-- path edit control (if editMode:enabled) -->\n <mat-form-field fxFlex *ngIf=\"editMode.enabled\" elderDense >\n {{ pathInput.focus() }}\n <input matInput type=\"text\" name=\"pathInput\" #pathInput\n [ngModel]=\"path\" (ngModelChange)=\"onPathInputChange($event)\"\n (blur)=\"onPathEditBlur($event)\"\n elderKeyEvent [elderKeyEventFilter]=\"'Enter'\" (onElderKeyEvent)=\"onEnter()\">\n </mat-form-field>\n\n <!-- navigation control (if editMode:disabled) -->\n <ng-container *ngIf=\"!editMode.enabled\">\n\n <div fxFlex fxLayoutAlign=\"start center\">\n\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\"\n *ngFor=\"let node of nodes$ | async;let isFirst = first;let isLast = last\">\n\n <!-- arrow right icon as path element delimiter -->\n <mat-icon *ngIf=\"!isFirst\" class=\"noselect breadcrumb-arrow\">keyboard_arrow_right</mat-icon>\n\n <!-- root element (case root icon) -->\n <a *ngIf=\"isFirst && rootIcon\"\n mat-icon-button class=\"breadcrumb\"\n (click)=\"goToPath(node)\" elderStopEventPropagation\n >\n <mat-icon>{{rootIcon}}</mat-icon>\n </a>\n\n <!-- intermediate elements (not last and (not first or root icon)) -->\n <a *ngIf=\"!isLast && (!isFirst || !rootIcon)\"\n mat-button class=\"breadcrumb\"\n (click)=\"goToPath(node)\" elderStopEventPropagation\n >\n <span>{{node.name}}</span>\n </a>\n\n <!-- last element (is last and (not first or root icon)) -->\n <a mat-button class=\"breadcrumb\" *ngIf=\"isLast && (!isFirst || !rootIcon)\"\n (click)=\"null\" elderStopEventPropagation\n >\n {{node.name}}\n <mat-icon>arrow_drop_down</mat-icon>\n </a>\n\n </div>\n\n </div>\n\n </ng-container>\n\n </form>\n\n <!-- bread crumb action menu button -->\n <button mat-icon-button type=\"button\" [matMenuTriggerFor]=\"menu\">\n\n <mat-icon style=\"font-size: 22px\">arrow_drop_down</mat-icon>\n\n <mat-menu #menu=\"matMenu\">\n\n <button mat-menu-item type=\"button\" [elderClipboardPut]=\"path\">\n <mat-icon>content_copy</mat-icon>\n <span>{{'Pfad kopieren'}}</span>\n </button>\n\n <button mat-menu-item type=\"button\" (click)=\"onMenuEditPathClick($event)\" elderStopEventPropagation>\n <mat-icon *ngIf=\"!editMode.enabled\">edit</mat-icon>\n <mat-icon *ngIf=\"editMode.enabled\">done</mat-icon>\n <span *ngIf=\"!editMode.enabled\">{{'Pfad editieren'}}</span>\n <span *ngIf=\"editMode.enabled\">{{'Pfad best\u00E4tigen'}}</span>\n </button>\n\n </mat-menu>\n\n </button>\n</div>\n\n\n", styles: [".breadcrumb-path{padding:0 10px}.breadcrumb{font-size:18px;font-weight:400}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i3.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab], a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i8.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i8.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i9.ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "directive", type: i10.ElderKeyEventDirective, selector: "[elderKeyEvent]", inputs: ["elderKeyEventFilter", "elderKeyEventDown", "elderKeyEventChildren", "elderKeyEventCallback"], outputs: ["onElderKeyEvent"] }, { kind: "directive", type: i11.ElderClipboardPutDirective, selector: "[elderClipboardPut]", inputs: ["elderClipboardPut"], outputs: ["clipboardCopied"] }, { kind: "directive", type: i12.ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
144
144
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ElderBreadCrumbsComponent, decorators: [{
145
145
  type: Component,
146
- args: [{ selector: 'elder-bread-crumbs', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<!-- main container-->\n<div fxLayout=\"row\" fxLayoutAlign=\"start center\" fxFlex\n [style.background-color]=\"backgroundColor\" class=\"breadcrumb-bar\"\n *ngIf=\"{enabled: editMode$ | async} as editMode\"\n>\n\n <!-- path container -->\n <form #breadCrumbForm=\"ngForm\" fxLayout=\"row\" fxLayoutAlign=\"start center\" fxFlex\n fxLayoutGap=\"12px\" class=\"breadcrumb-path\"\n (click)=\"enableEditMode()\"\n\n >\n <!-- path edit control -->\n <mat-form-field fxFlex *ngIf=\"editMode.enabled\" elderDense >\n {{ pathInput.focus() }}\n <input matInput type=\"text\" name=\"pathInput\" #pathInput\n [ngModel]=\"path\" (ngModelChange)=\"onPathInputChange($event)\"\n (blur)=\"onPathEditBlur($event)\"\n elderKeyEvent [elderKeyEventFilter]=\"'Enter'\" (onElderKeyEvent)=\"onEnter()\">\n </mat-form-field>\n\n <!-- navigation control -->\n <ng-container *ngIf=\"!editMode.enabled\">\n\n <div fxFlex fxLayoutAlign=\"start center\">\n\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\"\n *ngFor=\"let node of nodes$ | async;let isFirst = first;let isLast = last\">\n\n <mat-icon *ngIf=\"!isFirst\" class=\"noselect breadcrumb-arrow\">keyboard_arrow_right</mat-icon>\n\n <!-- root element -->\n <a *ngIf=\"isFirst && rootIcon\"\n mat-icon-button class=\"breadcrumb\"\n (click)=\"goToPath(node)\" elderStopEventPropagation\n >\n <mat-icon>{{rootIcon}}</mat-icon>\n </a>\n\n <!-- intermediate elements -->\n <a *ngIf=\"!isLast && (!isFirst || !rootIcon)\"\n mat-button class=\"breadcrumb\"\n (click)=\"goToPath(node)\" elderStopEventPropagation\n >\n <span>{{node.name}}</span>\n </a>\n\n <!-- last element -->\n <a mat-button class=\"breadcrumb\" *ngIf=\"isLast && (!rootIcon || !isFirst)\"\n (click)=\"null\" elderStopEventPropagation\n >\n {{node.name}}\n <mat-icon>arrow_drop_down</mat-icon>\n </a>\n\n </div>\n\n </div>\n\n </ng-container>\n\n </form>\n\n <!-- bread crumb menu -->\n <button mat-icon-button type=\"button\" [matMenuTriggerFor]=\"menu\">\n\n <mat-icon style=\"font-size: 22px\">arrow_drop_down</mat-icon>\n\n <mat-menu #menu=\"matMenu\">\n\n <button mat-menu-item type=\"button\" [elderClipboardPut]=\"path\">\n <mat-icon>content_copy</mat-icon>\n <span>{{'Pfad kopieren'}}</span>\n </button>\n\n <button mat-menu-item type=\"button\" (click)=\"onMenuEditPathClick($event)\" elderStopEventPropagation>\n <mat-icon *ngIf=\"!editMode.enabled\">edit</mat-icon>\n <mat-icon *ngIf=\"editMode.enabled\">done</mat-icon>\n <span *ngIf=\"!editMode.enabled\">{{'Pfad editieren'}}</span>\n <span *ngIf=\"editMode.enabled\">{{'Pfad best\u00E4tigen'}}</span>\n </button>\n\n </mat-menu>\n\n </button>\n</div>\n\n\n", styles: [".breadcrumb-path{padding:0 10px}.breadcrumb{font-size:18px;font-weight:400}\n"] }]
146
+ args: [{ selector: 'elder-bread-crumbs', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<!-- main container-->\n<div fxLayout=\"row\" fxLayoutAlign=\"start center\" fxFlex\n [style.background-color]=\"backgroundColor\" class=\"breadcrumb-bar\"\n *ngIf=\"{enabled: editMode$ | async} as editMode\"\n>\n\n <!-- path container -->\n <form #breadCrumbForm=\"ngForm\" fxLayout=\"row\" fxLayoutAlign=\"start center\" fxFlex\n fxLayoutGap=\"12px\" class=\"breadcrumb-path\"\n (click)=\"enableEditMode()\"\n >\n <!-- path edit control (if editMode:enabled) -->\n <mat-form-field fxFlex *ngIf=\"editMode.enabled\" elderDense >\n {{ pathInput.focus() }}\n <input matInput type=\"text\" name=\"pathInput\" #pathInput\n [ngModel]=\"path\" (ngModelChange)=\"onPathInputChange($event)\"\n (blur)=\"onPathEditBlur($event)\"\n elderKeyEvent [elderKeyEventFilter]=\"'Enter'\" (onElderKeyEvent)=\"onEnter()\">\n </mat-form-field>\n\n <!-- navigation control (if editMode:disabled) -->\n <ng-container *ngIf=\"!editMode.enabled\">\n\n <div fxFlex fxLayoutAlign=\"start center\">\n\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\"\n *ngFor=\"let node of nodes$ | async;let isFirst = first;let isLast = last\">\n\n <!-- arrow right icon as path element delimiter -->\n <mat-icon *ngIf=\"!isFirst\" class=\"noselect breadcrumb-arrow\">keyboard_arrow_right</mat-icon>\n\n <!-- root element (case root icon) -->\n <a *ngIf=\"isFirst && rootIcon\"\n mat-icon-button class=\"breadcrumb\"\n (click)=\"goToPath(node)\" elderStopEventPropagation\n >\n <mat-icon>{{rootIcon}}</mat-icon>\n </a>\n\n <!-- intermediate elements (not last and (not first or root icon)) -->\n <a *ngIf=\"!isLast && (!isFirst || !rootIcon)\"\n mat-button class=\"breadcrumb\"\n (click)=\"goToPath(node)\" elderStopEventPropagation\n >\n <span>{{node.name}}</span>\n </a>\n\n <!-- last element (is last and (not first or root icon)) -->\n <a mat-button class=\"breadcrumb\" *ngIf=\"isLast && (!isFirst || !rootIcon)\"\n (click)=\"null\" elderStopEventPropagation\n >\n {{node.name}}\n <mat-icon>arrow_drop_down</mat-icon>\n </a>\n\n </div>\n\n </div>\n\n </ng-container>\n\n </form>\n\n <!-- bread crumb action menu button -->\n <button mat-icon-button type=\"button\" [matMenuTriggerFor]=\"menu\">\n\n <mat-icon style=\"font-size: 22px\">arrow_drop_down</mat-icon>\n\n <mat-menu #menu=\"matMenu\">\n\n <button mat-menu-item type=\"button\" [elderClipboardPut]=\"path\">\n <mat-icon>content_copy</mat-icon>\n <span>{{'Pfad kopieren'}}</span>\n </button>\n\n <button mat-menu-item type=\"button\" (click)=\"onMenuEditPathClick($event)\" elderStopEventPropagation>\n <mat-icon *ngIf=\"!editMode.enabled\">edit</mat-icon>\n <mat-icon *ngIf=\"editMode.enabled\">done</mat-icon>\n <span *ngIf=\"!editMode.enabled\">{{'Pfad editieren'}}</span>\n <span *ngIf=\"editMode.enabled\">{{'Pfad best\u00E4tigen'}}</span>\n </button>\n\n </mat-menu>\n\n </button>\n</div>\n\n\n", styles: [".breadcrumb-path{padding:0 10px}.breadcrumb{font-size:18px;font-weight:400}\n"] }]
147
147
  }], ctorParameters: function () { return []; }, propDecorators: { pathChange: [{
148
148
  type: Output
149
149
  }], root: [{
@@ -162,4 +162,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
162
162
  }], path: [{
163
163
  type: Input
164
164
  }] } });
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYnJlYWQtY3J1bWJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9icmVhZC1jcnVtYnMvYnJlYWQtY3J1bWJzL2VsZGVyLWJyZWFkLWNydW1icy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vYnJlYWQtY3J1bWJzL2JyZWFkLWNydW1icy9lbGRlci1icmVhZC1jcnVtYnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxlQUFlLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3RDLE9BQU8sRUFBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7OztBQVF0RCxNQUFNLE9BQU8seUJBQXlCO0lBc0NwQzs7OztnRkFJNEU7SUFFNUU7UUExQ0E7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFckQsaUJBQVksR0FB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LEVBQUU7b0JBQUUsU0FBUztpQkFBRTtnQkFHcEMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUVwRCxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUNyQixPQUFPLEVBQ1AsSUFBSSxDQUNMLENBQUMsQ0FBQztnQkFFSCxNQUFNLEdBQUcsT0FBTyxDQUFDO2FBQ2xCO1NBQ0Y7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O3NIQW5NVSx5QkFBeUI7MEdBQXpCLHlCQUF5QixvVEFpQ3pCLGNBQWMsZ0RDdkQzQiwraUdBeUZBOzJGRG5FYSx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0Usb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU07MEVBcUIvQixVQUFVO3NCQUR6QixNQUFNO2dCQUlBLElBQUk7c0JBRFYsS0FBSztnQkFJQyxlQUFlO3NCQURyQixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxlQUFlO3NCQURyQixLQUFLO2dCQUlDLE9BQU87c0JBRGIsU0FBUzt1QkFBQyxjQUFjO2dCQTZDZCxlQUFlO3NCQUR6QixLQUFLO2dCQVVLLElBQUk7c0JBRGQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtQYXRoTm9kZX0gZnJvbSAnLi4vcGF0aC9wYXRoJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge01hdE1lbnVUcmlnZ2VyfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItYnJlYWQtY3J1bWJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLWJyZWFkLWNydW1icy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZGVyLWJyZWFkLWNydW1icy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckJyZWFkQ3J1bWJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF91bnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBfcGF0aDogc3RyaW5nO1xuXG4gIHB1YmxpYyByZWFkb25seSBlZGl0TW9kZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9wYXRoSW5wdXRDaGFuZ2VkJDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgcGF0aENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb290ID0gJy8nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb290VHJhbnNsYXRpb246IHN0cmluZyA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJvb3RJY29uOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuXG4gIEBWaWV3Q2hpbGQoTWF0TWVudVRyaWdnZXIpXG4gIHB1YmxpYyB0cmlnZ2VyOiBNYXRNZW51VHJpZ2dlcjtcblxuICBwdWJsaWMgcmVhZG9ubHkgbm9kZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXRoTm9kZVtdPihbXSk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlIEN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcblxuICAgIHRoaXMuX3BhdGhJbnB1dENoYW5nZWQkLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgLy8gb25seSBlbWl0IGlmIHZhbHVlIGlzIGRpZmZlcmVudCBmcm9tIHByZXZpb3VzIHZhbHVlXG4gICAgICBkZWJvdW5jZVRpbWUoMjUwKSxcbiAgICApLnN1YnNjcmliZShcbiAgICAgIHZhbHVlID0+IHtcbiAgICAgICAgdGhpcy5sb2cuaW5mbyh2YWx1ZSk7XG4gICAgICAgIHRoaXMucGF0aENoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLl91bnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBlZGl0TW9kZUVuYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmVkaXRNb2RlJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZWRpdE1vZGVFbmFibGVkKCkge1xuICAgIHJldHVybiB0aGlzLmVkaXRNb2RlJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBwYXRoKHBhdGg6IHN0cmluZykge1xuICAgIGlmICh0aGlzLl9wYXRoICE9PSBwYXRoKSB7XG4gICAgICB0aGlzLl9wYXRoID0gcGF0aDtcbiAgICAgIHRoaXMubm9kZXMkLm5leHQodGhpcy5idWlsZE5vZGVzKHRoaXMuX3BhdGgpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJvb3RSYXdEaXNwbGF5KCk6IHN0cmluZyB7XG4gICAgY29uc3QgcGFydHMgPSB0aGlzLnJvb3Quc3BsaXQoJy8nKTtcbiAgICBjb25zdCB2YWwgPSBwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXTtcbiAgICByZXR1cm4gdmFsID8gdmFsIDogJ0hvbWUnO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3BhdGg7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgb25FbnRlcigpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVFZGl0TW9kZSgpO1xuICB9XG5cbiAgcHVibGljIG9uUGF0aEVkaXRCbHVyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIC8vIHRoaXMubG9nLmRlYnVnKCdibHVycmVkJywgZXZlbnQpO1xuICAgIHRoaXMuZGlzYWJsZUVkaXRNb2RlKCk7XG4gIH1cblxuXG4gIHB1YmxpYyBvblBhdGhJbnB1dENoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fcGF0aElucHV0Q2hhbmdlZCQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgb25NZW51RWRpdFBhdGhDbGljayhldmVudDogYW55KSB7XG4gICAgdGhpcy50cmlnZ2VyLmNsb3NlTWVudSgpO1xuICAgIHRoaXMudG9nZ2xlRWRpdE1vZGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnb1RvUm9vdCgpIHtcbiAgICB0aGlzLmdvVG9QYXRoKG5ldyBQYXRoTm9kZSh0aGlzLnJvb3QsICcnKSk7XG4gIH1cblxuICBwdWJsaWMgZ29Ub1BhdGgobm9kZTogUGF0aE5vZGUpIHtcbiAgICB0aGlzLnBhdGggPSBub2RlLmlkO1xuICAgIHRoaXMucGF0aENoYW5nZS5uZXh0KHRoaXMuX3BhdGgpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZUVkaXRNb2RlKCk6IHZvaWQge1xuICAgIHRoaXMuZWRpdE1vZGVFbmFibGVkID0gIXRoaXMuZWRpdE1vZGVFbmFibGVkO1xuICB9XG5cbiAgcHVibGljIGVuYWJsZUVkaXRNb2RlKCk6IHZvaWQge1xuICAgIHRoaXMuZWRpdE1vZGVFbmFibGVkID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNhYmxlRWRpdE1vZGUoKTogdm9pZCB7XG4gICAgdGhpcy5lZGl0TW9kZUVuYWJsZWQgPSBmYWxzZTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbiAgcHJpdmF0ZSBidWlsZE5vZGVzKHBhdGg6IHN0cmluZyk6IFBhdGhOb2RlW10ge1xuXG4gICAgY29uc3Qgbm9kZXM6IFBhdGhOb2RlW10gPSBbXTtcblxuICAgIG5vZGVzLnB1c2goXG4gICAgICBuZXcgUGF0aE5vZGUoXG4gICAgICAgIHRoaXMucm9vdCxcbiAgICAgICAgdGhpcy5yb290VHJhbnNsYXRpb24gPyB0aGlzLnJvb3RUcmFuc2xhdGlvbiA6IHRoaXMucm9vdFJhd0Rpc3BsYXlcbiAgICAgIClcbiAgICApO1xuXG4gICAgaWYgKHBhdGgpIHtcblxuICAgICAgcGF0aCA9IHBhdGguc3RhcnRzV2l0aCh0aGlzLnJvb3QpID8gcGF0aC5zdWJzdHIodGhpcy5yb290Lmxlbmd0aCkgOiBwYXRoO1xuXG4gICAgICB0aGlzLmxvZy5kZWJ1ZygncGF0aDogJyArIHBhdGgpO1xuXG4gICAgICBjb25zdCBwYXJ0cyA9IHBhdGguc3BsaXQoJy8nKTtcblxuICAgICAgbGV0IHBhcmVudCA9IHRoaXMucm9vdDtcblxuICAgICAgZm9yIChjb25zdCBwYXJ0IG9mIHBhcnRzKSB7XG5cbiAgICAgICAgaWYgKHBhcnQubGVuZ3RoID09PSAwKSB7IGNvbnRpbnVlOyB9XG5cblxuICAgICAgICBjb25zdCBjdXJyZW50ID0gcGFyZW50ID8gcGFyZW50ICsgJy8nICsgcGFydCA6IHBhcnQ7XG5cbiAgICAgICAgbm9kZXMucHVzaChuZXcgUGF0aE5vZGUoXG4gICAgICAgICAgY3VycmVudCxcbiAgICAgICAgICBwYXJ0XG4gICAgICAgICkpO1xuXG4gICAgICAgIHBhcmVudCA9IGN1cnJlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGVzO1xuICB9XG5cblxufVxuIiwiXG48IS0tIG1haW4gY29udGFpbmVyLS0+XG48ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiIGZ4RmxleFxuICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJiYWNrZ3JvdW5kQ29sb3JcIiBjbGFzcz1cImJyZWFkY3J1bWItYmFyXCJcbiAgICAgKm5nSWY9XCJ7ZW5hYmxlZDogZWRpdE1vZGUkIHwgYXN5bmN9IGFzIGVkaXRNb2RlXCJcbj5cblxuICA8IS0tIHBhdGggY29udGFpbmVyIC0tPlxuICA8Zm9ybSAjYnJlYWRDcnVtYkZvcm09XCJuZ0Zvcm1cIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeEZsZXhcbiAgICAgICBmeExheW91dEdhcD1cIjEycHhcIiBjbGFzcz1cImJyZWFkY3J1bWItcGF0aFwiXG4gICAgICAgKGNsaWNrKT1cImVuYWJsZUVkaXRNb2RlKClcIlxuXG4gID5cbiAgICAgIDwhLS0gcGF0aCBlZGl0IGNvbnRyb2wgLS0+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4ICpuZ0lmPVwiZWRpdE1vZGUuZW5hYmxlZFwiIGVsZGVyRGVuc2UgPlxuICAgICAgICB7eyBwYXRoSW5wdXQuZm9jdXMoKSB9fVxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInRleHRcIiBuYW1lPVwicGF0aElucHV0XCIgI3BhdGhJbnB1dFxuICAgICAgICAgICAgICAgW25nTW9kZWxdPVwicGF0aFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uUGF0aElucHV0Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgKGJsdXIpPVwib25QYXRoRWRpdEJsdXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICBlbGRlcktleUV2ZW50IFtlbGRlcktleUV2ZW50RmlsdGVyXT1cIidFbnRlcidcIiAob25FbGRlcktleUV2ZW50KT1cIm9uRW50ZXIoKVwiPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPCEtLSBuYXZpZ2F0aW9uIGNvbnRyb2wgLS0+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWVkaXRNb2RlLmVuYWJsZWRcIj5cblxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XG5cbiAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIlxuICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG5vZGUgb2Ygbm9kZXMkIHwgYXN5bmM7bGV0IGlzRmlyc3QgPSBmaXJzdDtsZXQgaXNMYXN0ID0gbGFzdFwiPlxuXG4gICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCIhaXNGaXJzdFwiIGNsYXNzPVwibm9zZWxlY3QgYnJlYWRjcnVtYi1hcnJvd1wiPmtleWJvYXJkX2Fycm93X3JpZ2h0PC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgPCEtLSByb290IGVsZW1lbnQgLS0+XG4gICAgICAgICAgICA8YSAqbmdJZj1cImlzRmlyc3QgJiYgcm9vdEljb25cIlxuICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uIGNsYXNzPVwiYnJlYWRjcnVtYlwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwiZ29Ub1BhdGgobm9kZSlcIiBlbGRlclN0b3BFdmVudFByb3BhZ2F0aW9uXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbj57e3Jvb3RJY29ufX08L21hdC1pY29uPlxuICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICA8IS0tIGludGVybWVkaWF0ZSBlbGVtZW50cyAtLT5cbiAgICAgICAgICAgIDxhICpuZ0lmPVwiIWlzTGFzdCAmJiAoIWlzRmlyc3QgfHwgIXJvb3RJY29uKVwiXG4gICAgICAgICAgICAgICBtYXQtYnV0dG9uIGNsYXNzPVwiYnJlYWRjcnVtYlwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwiZ29Ub1BhdGgobm9kZSlcIiBlbGRlclN0b3BFdmVudFByb3BhZ2F0aW9uXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuPnt7bm9kZS5uYW1lfX08L3NwYW4+XG4gICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgIDwhLS0gbGFzdCBlbGVtZW50IC0tPlxuICAgICAgICAgICAgPGEgbWF0LWJ1dHRvbiBjbGFzcz1cImJyZWFkY3J1bWJcIiAqbmdJZj1cImlzTGFzdCAmJiAoIXJvb3RJY29uIHx8ICFpc0ZpcnN0KVwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwibnVsbFwiIGVsZGVyU3RvcEV2ZW50UHJvcGFnYXRpb25cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3tub2RlLm5hbWV9fVxuICAgICAgICAgICAgICA8bWF0LWljb24+YXJyb3dfZHJvcF9kb3duPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwvZGl2PlxuXG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICA8L2Zvcm0+XG5cbiAgPCEtLSBicmVhZCBjcnVtYiBtZW51IC0tPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIj5cblxuICAgIDxtYXQtaWNvbiBzdHlsZT1cImZvbnQtc2l6ZTogMjJweFwiPmFycm93X2Ryb3BfZG93bjwvbWF0LWljb24+XG5cbiAgICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XG5cbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSB0eXBlPVwiYnV0dG9uXCIgW2VsZGVyQ2xpcGJvYXJkUHV0XT1cInBhdGhcIj5cbiAgICAgICAgPG1hdC1pY29uPmNvbnRlbnRfY29weTwvbWF0LWljb24+XG4gICAgICAgIDxzcGFuPnt7J1BmYWQga29waWVyZW4nfX08L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25NZW51RWRpdFBhdGhDbGljaygkZXZlbnQpXCIgZWxkZXJTdG9wRXZlbnRQcm9wYWdhdGlvbj5cbiAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiIWVkaXRNb2RlLmVuYWJsZWRcIj5lZGl0PC9tYXQtaWNvbj5cbiAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiZWRpdE1vZGUuZW5hYmxlZFwiPmRvbmU8L21hdC1pY29uPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFlZGl0TW9kZS5lbmFibGVkXCI+e3snUGZhZCBlZGl0aWVyZW4nfX08L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiZWRpdE1vZGUuZW5hYmxlZFwiPnt7J1BmYWQgYmVzdMOkdGlnZW4nfX08L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cblxuICAgIDwvbWF0LW1lbnU+XG5cbiAgPC9idXR0b24+XG48L2Rpdj5cblxuXG4iXX0=
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYnJlYWQtY3J1bWJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9icmVhZC1jcnVtYnMvYnJlYWQtY3J1bWJzL2VsZGVyLWJyZWFkLWNydW1icy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vYnJlYWQtY3J1bWJzL2JyZWFkLWNydW1icy9lbGRlci1icmVhZC1jcnVtYnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxlQUFlLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3RDLE9BQU8sRUFBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7OztBQVF0RCxNQUFNLE9BQU8seUJBQXlCO0lBc0NwQzs7OztnRkFJNEU7SUFFNUU7UUExQ0E7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFckQsaUJBQVksR0FB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LEVBQUU7b0JBQUUsU0FBUztpQkFBRTtnQkFHcEMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUVwRCxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUNyQixPQUFPLEVBQ1AsSUFBSSxDQUNMLENBQUMsQ0FBQztnQkFFSCxNQUFNLEdBQUcsT0FBTyxDQUFDO2FBQ2xCO1NBQ0Y7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O3NIQW5NVSx5QkFBeUI7MEdBQXpCLHlCQUF5QixvVEFpQ3pCLGNBQWMsZ0RDdkQzQix5d0dBeUZBOzJGRG5FYSx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0Usb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU07MEVBcUIvQixVQUFVO3NCQUR6QixNQUFNO2dCQUlBLElBQUk7c0JBRFYsS0FBSztnQkFJQyxlQUFlO3NCQURyQixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxlQUFlO3NCQURyQixLQUFLO2dCQUlDLE9BQU87c0JBRGIsU0FBUzt1QkFBQyxjQUFjO2dCQTZDZCxlQUFlO3NCQUR6QixLQUFLO2dCQVVLLElBQUk7c0JBRGQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtQYXRoTm9kZX0gZnJvbSAnLi4vcGF0aC9wYXRoJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge01hdE1lbnVUcmlnZ2VyfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItYnJlYWQtY3J1bWJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLWJyZWFkLWNydW1icy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZGVyLWJyZWFkLWNydW1icy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckJyZWFkQ3J1bWJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF91bnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBfcGF0aDogc3RyaW5nO1xuXG4gIHB1YmxpYyByZWFkb25seSBlZGl0TW9kZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9wYXRoSW5wdXRDaGFuZ2VkJDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgcGF0aENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb290ID0gJy8nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb290VHJhbnNsYXRpb246IHN0cmluZyA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJvb3RJY29uOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuXG4gIEBWaWV3Q2hpbGQoTWF0TWVudVRyaWdnZXIpXG4gIHB1YmxpYyB0cmlnZ2VyOiBNYXRNZW51VHJpZ2dlcjtcblxuICBwdWJsaWMgcmVhZG9ubHkgbm9kZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXRoTm9kZVtdPihbXSk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlIEN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcblxuICAgIHRoaXMuX3BhdGhJbnB1dENoYW5nZWQkLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgLy8gb25seSBlbWl0IGlmIHZhbHVlIGlzIGRpZmZlcmVudCBmcm9tIHByZXZpb3VzIHZhbHVlXG4gICAgICBkZWJvdW5jZVRpbWUoMjUwKSxcbiAgICApLnN1YnNjcmliZShcbiAgICAgIHZhbHVlID0+IHtcbiAgICAgICAgdGhpcy5sb2cuaW5mbyh2YWx1ZSk7XG4gICAgICAgIHRoaXMucGF0aENoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLl91bnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBlZGl0TW9kZUVuYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmVkaXRNb2RlJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZWRpdE1vZGVFbmFibGVkKCkge1xuICAgIHJldHVybiB0aGlzLmVkaXRNb2RlJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBwYXRoKHBhdGg6IHN0cmluZykge1xuICAgIGlmICh0aGlzLl9wYXRoICE9PSBwYXRoKSB7XG4gICAgICB0aGlzLl9wYXRoID0gcGF0aDtcbiAgICAgIHRoaXMubm9kZXMkLm5leHQodGhpcy5idWlsZE5vZGVzKHRoaXMuX3BhdGgpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJvb3RSYXdEaXNwbGF5KCk6IHN0cmluZyB7XG4gICAgY29uc3QgcGFydHMgPSB0aGlzLnJvb3Quc3BsaXQoJy8nKTtcbiAgICBjb25zdCB2YWwgPSBwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXTtcbiAgICByZXR1cm4gdmFsID8gdmFsIDogJ0hvbWUnO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3BhdGg7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgb25FbnRlcigpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVFZGl0TW9kZSgpO1xuICB9XG5cbiAgcHVibGljIG9uUGF0aEVkaXRCbHVyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIC8vIHRoaXMubG9nLmRlYnVnKCdibHVycmVkJywgZXZlbnQpO1xuICAgIHRoaXMuZGlzYWJsZUVkaXRNb2RlKCk7XG4gIH1cblxuXG4gIHB1YmxpYyBvblBhdGhJbnB1dENoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fcGF0aElucHV0Q2hhbmdlZCQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgb25NZW51RWRpdFBhdGhDbGljayhldmVudDogYW55KSB7XG4gICAgdGhpcy50cmlnZ2VyLmNsb3NlTWVudSgpO1xuICAgIHRoaXMudG9nZ2xlRWRpdE1vZGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnb1RvUm9vdCgpIHtcbiAgICB0aGlzLmdvVG9QYXRoKG5ldyBQYXRoTm9kZSh0aGlzLnJvb3QsICcnKSk7XG4gIH1cblxuICBwdWJsaWMgZ29Ub1BhdGgobm9kZTogUGF0aE5vZGUpIHtcbiAgICB0aGlzLnBhdGggPSBub2RlLmlkO1xuICAgIHRoaXMucGF0aENoYW5nZS5uZXh0KHRoaXMuX3BhdGgpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZUVkaXRNb2RlKCk6IHZvaWQge1xuICAgIHRoaXMuZWRpdE1vZGVFbmFibGVkID0gIXRoaXMuZWRpdE1vZGVFbmFibGVkO1xuICB9XG5cbiAgcHVibGljIGVuYWJsZUVkaXRNb2RlKCk6IHZvaWQge1xuICAgIHRoaXMuZWRpdE1vZGVFbmFibGVkID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNhYmxlRWRpdE1vZGUoKTogdm9pZCB7XG4gICAgdGhpcy5lZGl0TW9kZUVuYWJsZWQgPSBmYWxzZTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbiAgcHJpdmF0ZSBidWlsZE5vZGVzKHBhdGg6IHN0cmluZyk6IFBhdGhOb2RlW10ge1xuXG4gICAgY29uc3Qgbm9kZXM6IFBhdGhOb2RlW10gPSBbXTtcblxuICAgIG5vZGVzLnB1c2goXG4gICAgICBuZXcgUGF0aE5vZGUoXG4gICAgICAgIHRoaXMucm9vdCxcbiAgICAgICAgdGhpcy5yb290VHJhbnNsYXRpb24gPyB0aGlzLnJvb3RUcmFuc2xhdGlvbiA6IHRoaXMucm9vdFJhd0Rpc3BsYXlcbiAgICAgIClcbiAgICApO1xuXG4gICAgaWYgKHBhdGgpIHtcblxuICAgICAgcGF0aCA9IHBhdGguc3RhcnRzV2l0aCh0aGlzLnJvb3QpID8gcGF0aC5zdWJzdHIodGhpcy5yb290Lmxlbmd0aCkgOiBwYXRoO1xuXG4gICAgICB0aGlzLmxvZy5kZWJ1ZygncGF0aDogJyArIHBhdGgpO1xuXG4gICAgICBjb25zdCBwYXJ0cyA9IHBhdGguc3BsaXQoJy8nKTtcblxuICAgICAgbGV0IHBhcmVudCA9IHRoaXMucm9vdDtcblxuICAgICAgZm9yIChjb25zdCBwYXJ0IG9mIHBhcnRzKSB7XG5cbiAgICAgICAgaWYgKHBhcnQubGVuZ3RoID09PSAwKSB7IGNvbnRpbnVlOyB9XG5cblxuICAgICAgICBjb25zdCBjdXJyZW50ID0gcGFyZW50ID8gcGFyZW50ICsgJy8nICsgcGFydCA6IHBhcnQ7XG5cbiAgICAgICAgbm9kZXMucHVzaChuZXcgUGF0aE5vZGUoXG4gICAgICAgICAgY3VycmVudCxcbiAgICAgICAgICBwYXJ0XG4gICAgICAgICkpO1xuXG4gICAgICAgIHBhcmVudCA9IGN1cnJlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGVzO1xuICB9XG5cblxufVxuIiwiXG48IS0tIG1haW4gY29udGFpbmVyLS0+XG48ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiIGZ4RmxleFxuICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJiYWNrZ3JvdW5kQ29sb3JcIiBjbGFzcz1cImJyZWFkY3J1bWItYmFyXCJcbiAgICAgKm5nSWY9XCJ7ZW5hYmxlZDogZWRpdE1vZGUkIHwgYXN5bmN9IGFzIGVkaXRNb2RlXCJcbj5cblxuICA8IS0tIHBhdGggY29udGFpbmVyIC0tPlxuICA8Zm9ybSAjYnJlYWRDcnVtYkZvcm09XCJuZ0Zvcm1cIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeEZsZXhcbiAgICAgICBmeExheW91dEdhcD1cIjEycHhcIiBjbGFzcz1cImJyZWFkY3J1bWItcGF0aFwiXG4gICAgICAgKGNsaWNrKT1cImVuYWJsZUVkaXRNb2RlKClcIlxuICA+XG4gICAgICA8IS0tIHBhdGggZWRpdCBjb250cm9sIChpZiBlZGl0TW9kZTplbmFibGVkKSAtLT5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggKm5nSWY9XCJlZGl0TW9kZS5lbmFibGVkXCIgZWxkZXJEZW5zZSA+XG4gICAgICAgIHt7IHBhdGhJbnB1dC5mb2N1cygpIH19XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIG5hbWU9XCJwYXRoSW5wdXRcIiAjcGF0aElucHV0XG4gICAgICAgICAgICAgICBbbmdNb2RlbF09XCJwYXRoXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25QYXRoSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAoYmx1cik9XCJvblBhdGhFZGl0Qmx1cigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgIGVsZGVyS2V5RXZlbnQgW2VsZGVyS2V5RXZlbnRGaWx0ZXJdPVwiJ0VudGVyJ1wiIChvbkVsZGVyS2V5RXZlbnQpPVwib25FbnRlcigpXCI+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICA8IS0tIG5hdmlnYXRpb24gY29udHJvbCAoaWYgZWRpdE1vZGU6ZGlzYWJsZWQpIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFlZGl0TW9kZS5lbmFibGVkXCI+XG5cbiAgICAgICAgPGRpdiBmeEZsZXggZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxuXG4gICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCJcbiAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBub2RlIG9mIG5vZGVzJCB8IGFzeW5jO2xldCBpc0ZpcnN0ID0gZmlyc3Q7bGV0IGlzTGFzdCA9IGxhc3RcIj5cblxuICAgICAgICAgICAgPCEtLSBhcnJvdyByaWdodCBpY29uIGFzIHBhdGggZWxlbWVudCBkZWxpbWl0ZXIgLS0+XG4gICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCIhaXNGaXJzdFwiIGNsYXNzPVwibm9zZWxlY3QgYnJlYWRjcnVtYi1hcnJvd1wiPmtleWJvYXJkX2Fycm93X3JpZ2h0PC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgPCEtLSByb290IGVsZW1lbnQgKGNhc2Ugcm9vdCBpY29uKSAtLT5cbiAgICAgICAgICAgIDxhICpuZ0lmPVwiaXNGaXJzdCAmJiByb290SWNvblwiXG4gICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b24gY2xhc3M9XCJicmVhZGNydW1iXCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJnb1RvUGF0aChub2RlKVwiIGVsZGVyU3RvcEV2ZW50UHJvcGFnYXRpb25cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG1hdC1pY29uPnt7cm9vdEljb259fTwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgIDwhLS0gaW50ZXJtZWRpYXRlIGVsZW1lbnRzIChub3QgbGFzdCBhbmQgKG5vdCBmaXJzdCBvciByb290IGljb24pKSAtLT5cbiAgICAgICAgICAgIDxhICpuZ0lmPVwiIWlzTGFzdCAmJiAoIWlzRmlyc3QgfHwgIXJvb3RJY29uKVwiXG4gICAgICAgICAgICAgICBtYXQtYnV0dG9uIGNsYXNzPVwiYnJlYWRjcnVtYlwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwiZ29Ub1BhdGgobm9kZSlcIiBlbGRlclN0b3BFdmVudFByb3BhZ2F0aW9uXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuPnt7bm9kZS5uYW1lfX08L3NwYW4+XG4gICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgIDwhLS0gbGFzdCBlbGVtZW50IChpcyBsYXN0IGFuZCAobm90IGZpcnN0IG9yIHJvb3QgaWNvbikpIC0tPlxuICAgICAgICAgICAgPGEgbWF0LWJ1dHRvbiBjbGFzcz1cImJyZWFkY3J1bWJcIiAqbmdJZj1cImlzTGFzdCAmJiAoIWlzRmlyc3QgfHwgIXJvb3RJY29uKVwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwibnVsbFwiIGVsZGVyU3RvcEV2ZW50UHJvcGFnYXRpb25cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3tub2RlLm5hbWV9fVxuICAgICAgICAgICAgICA8bWF0LWljb24+YXJyb3dfZHJvcF9kb3duPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwvZGl2PlxuXG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICA8L2Zvcm0+XG5cbiAgPCEtLSBicmVhZCBjcnVtYiBhY3Rpb24gbWVudSBidXR0b24gLS0+XG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiPlxuXG4gICAgPG1hdC1pY29uIHN0eWxlPVwiZm9udC1zaXplOiAyMnB4XCI+YXJyb3dfZHJvcF9kb3duPC9tYXQtaWNvbj5cblxuICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIj5cblxuICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIHR5cGU9XCJidXR0b25cIiBbZWxkZXJDbGlwYm9hcmRQdXRdPVwicGF0aFwiPlxuICAgICAgICA8bWF0LWljb24+Y29udGVudF9jb3B5PC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4+e3snUGZhZCBrb3BpZXJlbid9fTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbk1lbnVFZGl0UGF0aENsaWNrKCRldmVudClcIiBlbGRlclN0b3BFdmVudFByb3BhZ2F0aW9uPlxuICAgICAgICA8bWF0LWljb24gKm5nSWY9XCIhZWRpdE1vZGUuZW5hYmxlZFwiPmVkaXQ8L21hdC1pY29uPlxuICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJlZGl0TW9kZS5lbmFibGVkXCI+ZG9uZTwvbWF0LWljb24+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiIWVkaXRNb2RlLmVuYWJsZWRcIj57eydQZmFkIGVkaXRpZXJlbid9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJlZGl0TW9kZS5lbmFibGVkXCI+e3snUGZhZCBiZXN0w6R0aWdlbid9fTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgPC9tYXQtbWVudT5cblxuICA8L2J1dHRvbj5cbjwvZGl2PlxuXG5cbiJdfQ==
@@ -30,6 +30,7 @@ import { ElderPipesModule } from '../../pipes/elder-pipes.module';
30
30
  import { ElderClearSelectDirective } from './single/elder-clear-select.directive';
31
31
  import { MatTooltipModule } from '@angular/material/tooltip';
32
32
  import { ElderThemeModule } from '../theme/elder-theme.module';
33
+ import { ElderSelectionPopupTriggerAdapterDirective } from './popup/selection-model-popup-trigger-adapter.directive';
33
34
  import * as i0 from "@angular/core";
34
35
  export { ElderSelectValueDirective } from './elder-select-value.directive';
35
36
  export * from './elder-select-chip.directive';
@@ -37,6 +38,7 @@ export { ElderSelectOnTabDirective } from './elder-select-on-tab.directive';
37
38
  export { ElderSelectComponent } from './single/elder-select/elder-select.component';
38
39
  export { TemplatedSelectionDialogComponent } from './popup/templated-selection-dialog/templated-selection-dialog.component';
39
40
  export { SelectionModelPopupDirective } from './popup/selection-model-popup.directive';
41
+ export { ElderSelectionPopupTriggerAdapterDirective } from './popup/selection-model-popup-trigger-adapter.directive';
40
42
  export { ElderMultiSelectBase } from './multi/elder-multi-select-base';
41
43
  export { ElderMultiSelectChipsComponent } from './multi/elder-multi-select-chips/elder-multi-select-chips.component';
42
44
  export { ElderAutoSelectFirstDirective } from './auto/elder-auto-select-first.directive';
@@ -48,6 +50,7 @@ ElderSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versi
48
50
  ElderSelectValueDirective,
49
51
  TemplatedSelectionDialogComponent,
50
52
  SelectionModelPopupDirective,
53
+ ElderSelectionPopupTriggerAdapterDirective,
51
54
  ElderSelectOnTabDirective,
52
55
  ElderMultiSelectChipsComponent,
53
56
  ElderSelectChipDirective,
@@ -67,6 +70,7 @@ ElderSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versi
67
70
  ElderSelectValueDirective,
68
71
  TemplatedSelectionDialogComponent,
69
72
  SelectionModelPopupDirective,
73
+ ElderSelectionPopupTriggerAdapterDirective,
70
74
  ElderMultiSelectChipsComponent,
71
75
  ElderSelectChipDirective,
72
76
  ElderSelectChipAvatarDirective,
@@ -103,6 +107,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
103
107
  ElderSelectValueDirective,
104
108
  TemplatedSelectionDialogComponent,
105
109
  SelectionModelPopupDirective,
110
+ ElderSelectionPopupTriggerAdapterDirective,
106
111
  ElderSelectOnTabDirective,
107
112
  ElderMultiSelectChipsComponent,
108
113
  ElderSelectChipDirective,
@@ -116,6 +121,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
116
121
  ElderSelectValueDirective,
117
122
  TemplatedSelectionDialogComponent,
118
123
  SelectionModelPopupDirective,
124
+ ElderSelectionPopupTriggerAdapterDirective,
119
125
  ElderMultiSelectChipsComponent,
120
126
  ElderSelectChipDirective,
121
127
  ElderSelectChipAvatarDirective,
@@ -125,4 +131,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
125
131
  ]
126
132
  }]
127
133
  }] });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L2VsZGVyLXNlbGVjdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDbEYsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHlFQUF5RSxDQUFDO0FBQzFILE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3JGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxnQ0FB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O3dCQUN6QiwrQkFBK0I7cUJBQ2hDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7RWxkZXJTZWxlY3RDb21wb25lbnR9IGZyb20gJy4vc2luZ2xlL2VsZGVyLXNlbGVjdC9lbGRlci1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWF0Rm9ybUZpZWxkTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQge01hdFNlbGVjdE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7VGVtcGxhdGVkU2VsZWN0aW9uRGlhbG9nQ29tcG9uZW50fSBmcm9tICcuL3BvcHVwL3RlbXBsYXRlZC1zZWxlY3Rpb24tZGlhbG9nL3RlbXBsYXRlZC1zZWxlY3Rpb24tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQge0ZsZXhNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcbmltcG9ydCB7TWF0RGlhbG9nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge1NlbGVjdGlvbk1vZGVsUG9wdXBEaXJlY3RpdmV9IGZyb20gJy4vcG9wdXAvc2VsZWN0aW9uLW1vZGVsLXBvcHVwLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyRm9ybXNEaXJlY3RpdmVzTW9kdWxlfSBmcm9tICcuLi9mb3Jtcy9kaXJlY3RpdmVzL2VsZGVyLWZvcm1zLWRpcmVjdGl2ZXMubW9kdWxlJztcbmltcG9ydCB7TWF0SW5wdXRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7TWF0QXV0b2NvbXBsZXRlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHtNYXRUb29sYmFyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyJztcbmltcG9ydCB7TWF0UHJvZ3Jlc3NCYXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5pbXBvcnQge0VsZGVyVGFibGVNb2R1bGV9IGZyb20gJy4uL2RhdGEtdmlldy90YWJsZS9lbGRlci10YWJsZS5tb2R1bGUnO1xuaW1wb3J0IHtNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuaW1wb3J0IHtFbGRlckluZmluaXRlU2Nyb2xsTW9kdWxlfSBmcm9tICcuLi9pbmZpbml0ZXNjcm9sbC9lbGRlci1pbmZpbml0ZS1zY3JvbGwubW9kdWxlJztcbmltcG9ydCB7RWxkZXJTZWxlY3RPblRhYkRpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1zZWxlY3Qtb24tdGFiLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyQXV0b2NvbXBsZXRlTW9kdWxlfSBmcm9tICcuLi9pbnB1dC9hdXRvY29tcGxldGUvZWxkZXItYXV0b2NvbXBsZXRlLm1vZHVsZSc7XG5pbXBvcnQge0VsZGVyU2VsZWN0VmFsdWVEaXJlY3RpdmV9IGZyb20gJy4vZWxkZXItc2VsZWN0LXZhbHVlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyTXVsdGlTZWxlY3RDaGlwc0NvbXBvbmVudH0gZnJvbSAnLi9tdWx0aS9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcHMvZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzLmNvbXBvbmVudCc7XG5pbXBvcnQge01hdENoaXBzTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQge0VsZGVyU2VsZWN0Q2hpcEF2YXRhckRpcmVjdGl2ZSwgRWxkZXJTZWxlY3RDaGlwRGlyZWN0aXZlLCBFbGRlclNlbGVjdEN1c3RvbUlucHV0RGlyZWN0aXZlfSBmcm9tICcuL2VsZGVyLXNlbGVjdC1jaGlwLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyQXV0b1NlbGVjdEZpcnN0RGlyZWN0aXZlfSBmcm9tICcuL2F1dG8vZWxkZXItYXV0by1zZWxlY3QtZmlyc3QuZGlyZWN0aXZlJztcbmltcG9ydCB7RWxkZXJQaXBlc01vZHVsZX0gZnJvbSAnLi4vLi4vcGlwZXMvZWxkZXItcGlwZXMubW9kdWxlJztcbmltcG9ydCB7IEVsZGVyQ2xlYXJTZWxlY3REaXJlY3RpdmUgfSBmcm9tICcuL3NpbmdsZS9lbGRlci1jbGVhci1zZWxlY3QuZGlyZWN0aXZlJztcbmltcG9ydCB7TWF0VG9vbHRpcE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQge0VsZGVyVGhlbWVNb2R1bGV9IGZyb20gJy4uL3RoZW1lL2VsZGVyLXRoZW1lLm1vZHVsZSc7XG5cbmV4cG9ydCB7RWxkZXJTZWxlY3RWYWx1ZURpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1zZWxlY3QtdmFsdWUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItc2VsZWN0LWNoaXAuZGlyZWN0aXZlJztcbmV4cG9ydCB7RWxkZXJTZWxlY3RPblRhYkRpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1zZWxlY3Qtb24tdGFiLmRpcmVjdGl2ZSc7XG5leHBvcnQge0VsZGVyU2VsZWN0Q29tcG9uZW50fSBmcm9tICcuL3NpbmdsZS9lbGRlci1zZWxlY3QvZWxkZXItc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQge1xuICBUZW1wbGF0ZWRTZWxlY3Rpb25EaWFsb2dDb21wb25lbnQsIElTZWxlY3Rpb25Nb2RlbERpYWxvZ09wdGlvbnNcbn0gZnJvbSAnLi9wb3B1cC90ZW1wbGF0ZWQtc2VsZWN0aW9uLWRpYWxvZy90ZW1wbGF0ZWQtc2VsZWN0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0IHtTZWxlY3Rpb25Nb2RlbFBvcHVwRGlyZWN0aXZlfSBmcm9tICcuL3BvcHVwL3NlbGVjdGlvbi1tb2RlbC1wb3B1cC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtFbGRlck11bHRpU2VsZWN0QmFzZX0gZnJvbSAnLi9tdWx0aS9lbGRlci1tdWx0aS1zZWxlY3QtYmFzZSc7XG5leHBvcnQge0VsZGVyTXVsdGlTZWxlY3RDaGlwc0NvbXBvbmVudCwgQ2hpcEF2YXRhclNwZWN9IGZyb20gJy4vbXVsdGkvZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy5jb21wb25lbnQnO1xuZXhwb3J0IHtFbGRlckF1dG9TZWxlY3RGaXJzdERpcmVjdGl2ZX0gZnJvbSAnLi9hdXRvL2VsZGVyLWF1dG8tc2VsZWN0LWZpcnN0LmRpcmVjdGl2ZSc7XG5leHBvcnQge0VsZGVyQ2xlYXJTZWxlY3REaXJlY3RpdmV9IGZyb20gJy4vc2luZ2xlL2VsZGVyLWNsZWFyLXNlbGVjdC5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSxcblxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICAgICAgTWF0RGlhbG9nTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLCBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgICAgIE1hdFRvb2xiYXJNb2R1bGUsIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxuICAgICAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG5cbiAgICAgICAgRmxleE1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLFxuXG4gICAgICAgIEVsZGVyRm9ybXNEaXJlY3RpdmVzTW9kdWxlLCBFbGRlclRhYmxlTW9kdWxlLCBFbGRlckluZmluaXRlU2Nyb2xsTW9kdWxlLCBFbGRlckF1dG9jb21wbGV0ZU1vZHVsZSwgTWF0Q2hpcHNNb2R1bGUsIEVsZGVyUGlwZXNNb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGUsIEVsZGVyVGhlbWVNb2R1bGUsXG4gICAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRWxkZXJTZWxlY3RDb21wb25lbnQsXG4gICAgRWxkZXJTZWxlY3RWYWx1ZURpcmVjdGl2ZSxcbiAgICBUZW1wbGF0ZWRTZWxlY3Rpb25EaWFsb2dDb21wb25lbnQsXG4gICAgU2VsZWN0aW9uTW9kZWxQb3B1cERpcmVjdGl2ZSxcbiAgICBFbGRlclNlbGVjdE9uVGFiRGlyZWN0aXZlLFxuICAgIEVsZGVyTXVsdGlTZWxlY3RDaGlwc0NvbXBvbmVudCxcbiAgICBFbGRlclNlbGVjdENoaXBEaXJlY3RpdmUsXG4gICAgRWxkZXJTZWxlY3RDaGlwQXZhdGFyRGlyZWN0aXZlLFxuICAgIEVsZGVyQXV0b1NlbGVjdEZpcnN0RGlyZWN0aXZlLFxuICAgIEVsZGVyQ2xlYXJTZWxlY3REaXJlY3RpdmUsXG4gICAgRWxkZXJTZWxlY3RDdXN0b21JbnB1dERpcmVjdGl2ZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRWxkZXJTZWxlY3RDb21wb25lbnQsXG4gICAgRWxkZXJTZWxlY3RWYWx1ZURpcmVjdGl2ZSxcbiAgICBUZW1wbGF0ZWRTZWxlY3Rpb25EaWFsb2dDb21wb25lbnQsXG4gICAgU2VsZWN0aW9uTW9kZWxQb3B1cERpcmVjdGl2ZSxcbiAgICBFbGRlck11bHRpU2VsZWN0Q2hpcHNDb21wb25lbnQsXG4gICAgRWxkZXJTZWxlY3RDaGlwRGlyZWN0aXZlLFxuICAgIEVsZGVyU2VsZWN0Q2hpcEF2YXRhckRpcmVjdGl2ZSxcbiAgICBFbGRlckF1dG9TZWxlY3RGaXJzdERpcmVjdGl2ZSxcbiAgICBFbGRlckNsZWFyU2VsZWN0RGlyZWN0aXZlLFxuICAgIEVsZGVyU2VsZWN0Q3VzdG9tSW5wdXREaXJlY3RpdmVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlclNlbGVjdE1vZHVsZSB7XG59XG4iXX0=
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L2VsZGVyLXNlbGVjdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDbEYsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHlFQUF5RSxDQUFDO0FBQzFILE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3JGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxnQ0FB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LEVBQUU7d0JBQ1Asb0JBQW9CO3dCQUNwQix5QkFBeUI7d0JBQ3pCLGlDQUFpQzt3QkFDakMsNEJBQTRCO3dCQUM1QiwwQ0FBMEM7d0JBQzFDLDhCQUE4Qjt3QkFDOUIsd0JBQXdCO3dCQUN4Qiw4QkFBOEI7d0JBQzlCLDZCQUE2Qjt3QkFDN0IseUJBQXlCO3dCQUN6QiwrQkFBK0I7cUJBQ2hDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7RWxkZXJTZWxlY3RDb21wb25lbnR9IGZyb20gJy4vc2luZ2xlL2VsZGVyLXNlbGVjdC9lbGRlci1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWF0Rm9ybUZpZWxkTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQge01hdFNlbGVjdE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7VGVtcGxhdGVkU2VsZWN0aW9uRGlhbG9nQ29tcG9uZW50fSBmcm9tICcuL3BvcHVwL3RlbXBsYXRlZC1zZWxlY3Rpb24tZGlhbG9nL3RlbXBsYXRlZC1zZWxlY3Rpb24tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQge0ZsZXhNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcbmltcG9ydCB7TWF0RGlhbG9nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge1NlbGVjdGlvbk1vZGVsUG9wdXBEaXJlY3RpdmV9IGZyb20gJy4vcG9wdXAvc2VsZWN0aW9uLW1vZGVsLXBvcHVwLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyRm9ybXNEaXJlY3RpdmVzTW9kdWxlfSBmcm9tICcuLi9mb3Jtcy9kaXJlY3RpdmVzL2VsZGVyLWZvcm1zLWRpcmVjdGl2ZXMubW9kdWxlJztcbmltcG9ydCB7TWF0SW5wdXRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7TWF0QXV0b2NvbXBsZXRlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHtNYXRUb29sYmFyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyJztcbmltcG9ydCB7TWF0UHJvZ3Jlc3NCYXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5pbXBvcnQge0VsZGVyVGFibGVNb2R1bGV9IGZyb20gJy4uL2RhdGEtdmlldy90YWJsZS9lbGRlci10YWJsZS5tb2R1bGUnO1xuaW1wb3J0IHtNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuaW1wb3J0IHtFbGRlckluZmluaXRlU2Nyb2xsTW9kdWxlfSBmcm9tICcuLi9pbmZpbml0ZXNjcm9sbC9lbGRlci1pbmZpbml0ZS1zY3JvbGwubW9kdWxlJztcbmltcG9ydCB7RWxkZXJTZWxlY3RPblRhYkRpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1zZWxlY3Qtb24tdGFiLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyQXV0b2NvbXBsZXRlTW9kdWxlfSBmcm9tICcuLi9pbnB1dC9hdXRvY29tcGxldGUvZWxkZXItYXV0b2NvbXBsZXRlLm1vZHVsZSc7XG5pbXBvcnQge0VsZGVyU2VsZWN0VmFsdWVEaXJlY3RpdmV9IGZyb20gJy4vZWxkZXItc2VsZWN0LXZhbHVlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyTXVsdGlTZWxlY3RDaGlwc0NvbXBvbmVudH0gZnJvbSAnLi9tdWx0aS9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcHMvZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzLmNvbXBvbmVudCc7XG5pbXBvcnQge01hdENoaXBzTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQge0VsZGVyU2VsZWN0Q2hpcEF2YXRhckRpcmVjdGl2ZSwgRWxkZXJTZWxlY3RDaGlwRGlyZWN0aXZlLCBFbGRlclNlbGVjdEN1c3RvbUlucHV0RGlyZWN0aXZlfSBmcm9tICcuL2VsZGVyLXNlbGVjdC1jaGlwLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyQXV0b1NlbGVjdEZpcnN0RGlyZWN0aXZlfSBmcm9tICcuL2F1dG8vZWxkZXItYXV0by1zZWxlY3QtZmlyc3QuZGlyZWN0aXZlJztcbmltcG9ydCB7RWxkZXJQaXBlc01vZHVsZX0gZnJvbSAnLi4vLi4vcGlwZXMvZWxkZXItcGlwZXMubW9kdWxlJztcbmltcG9ydCB7IEVsZGVyQ2xlYXJTZWxlY3REaXJlY3RpdmUgfSBmcm9tICcuL3NpbmdsZS9lbGRlci1jbGVhci1zZWxlY3QuZGlyZWN0aXZlJztcbmltcG9ydCB7TWF0VG9vbHRpcE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQge0VsZGVyVGhlbWVNb2R1bGV9IGZyb20gJy4uL3RoZW1lL2VsZGVyLXRoZW1lLm1vZHVsZSc7XG5pbXBvcnQge0VsZGVyU2VsZWN0aW9uUG9wdXBUcmlnZ2VyQWRhcHRlckRpcmVjdGl2ZX0gZnJvbSAnLi9wb3B1cC9zZWxlY3Rpb24tbW9kZWwtcG9wdXAtdHJpZ2dlci1hZGFwdGVyLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCB7RWxkZXJTZWxlY3RWYWx1ZURpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1zZWxlY3QtdmFsdWUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItc2VsZWN0LWNoaXAuZGlyZWN0aXZlJztcbmV4cG9ydCB7RWxkZXJTZWxlY3RPblRhYkRpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1zZWxlY3Qtb24tdGFiLmRpcmVjdGl2ZSc7XG5leHBvcnQge0VsZGVyU2VsZWN0Q29tcG9uZW50fSBmcm9tICcuL3NpbmdsZS9lbGRlci1zZWxlY3QvZWxkZXItc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQge1xuICBUZW1wbGF0ZWRTZWxlY3Rpb25EaWFsb2dDb21wb25lbnQsIElTZWxlY3Rpb25Nb2RlbERpYWxvZ09wdGlvbnNcbn0gZnJvbSAnLi9wb3B1cC90ZW1wbGF0ZWQtc2VsZWN0aW9uLWRpYWxvZy90ZW1wbGF0ZWQtc2VsZWN0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0IHtTZWxlY3Rpb25Nb2RlbFBvcHVwRGlyZWN0aXZlfSBmcm9tICcuL3BvcHVwL3NlbGVjdGlvbi1tb2RlbC1wb3B1cC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtFbGRlclNlbGVjdGlvblBvcHVwVHJpZ2dlckFkYXB0ZXJEaXJlY3RpdmV9IGZyb20gJy4vcG9wdXAvc2VsZWN0aW9uLW1vZGVsLXBvcHVwLXRyaWdnZXItYWRhcHRlci5kaXJlY3RpdmUnO1xuZXhwb3J0IHtFbGRlck11bHRpU2VsZWN0QmFzZX0gZnJvbSAnLi9tdWx0aS9lbGRlci1tdWx0aS1zZWxlY3QtYmFzZSc7XG5leHBvcnQge0VsZGVyTXVsdGlTZWxlY3RDaGlwc0NvbXBvbmVudCwgQ2hpcEF2YXRhclNwZWN9IGZyb20gJy4vbXVsdGkvZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy5jb21wb25lbnQnO1xuZXhwb3J0IHtFbGRlckF1dG9TZWxlY3RGaXJzdERpcmVjdGl2ZX0gZnJvbSAnLi9hdXRvL2VsZGVyLWF1dG8tc2VsZWN0LWZpcnN0LmRpcmVjdGl2ZSc7XG5leHBvcnQge0VsZGVyQ2xlYXJTZWxlY3REaXJlY3RpdmV9IGZyb20gJy4vc2luZ2xlL2VsZGVyLWNsZWFyLXNlbGVjdC5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSxcblxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICAgICAgTWF0RGlhbG9nTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLCBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgICAgIE1hdFRvb2xiYXJNb2R1bGUsIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxuICAgICAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG5cbiAgICAgICAgRmxleE1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLFxuXG4gICAgICAgIEVsZGVyRm9ybXNEaXJlY3RpdmVzTW9kdWxlLCBFbGRlclRhYmxlTW9kdWxlLCBFbGRlckluZmluaXRlU2Nyb2xsTW9kdWxlLCBFbGRlckF1dG9jb21wbGV0ZU1vZHVsZSwgTWF0Q2hpcHNNb2R1bGUsIEVsZGVyUGlwZXNNb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGUsIEVsZGVyVGhlbWVNb2R1bGUsXG4gICAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRWxkZXJTZWxlY3RDb21wb25lbnQsXG4gICAgRWxkZXJTZWxlY3RWYWx1ZURpcmVjdGl2ZSxcbiAgICBUZW1wbGF0ZWRTZWxlY3Rpb25EaWFsb2dDb21wb25lbnQsXG4gICAgU2VsZWN0aW9uTW9kZWxQb3B1cERpcmVjdGl2ZSxcbiAgICBFbGRlclNlbGVjdGlvblBvcHVwVHJpZ2dlckFkYXB0ZXJEaXJlY3RpdmUsXG4gICAgRWxkZXJTZWxlY3RPblRhYkRpcmVjdGl2ZSxcbiAgICBFbGRlck11bHRpU2VsZWN0Q2hpcHNDb21wb25lbnQsXG4gICAgRWxkZXJTZWxlY3RDaGlwRGlyZWN0aXZlLFxuICAgIEVsZGVyU2VsZWN0Q2hpcEF2YXRhckRpcmVjdGl2ZSxcbiAgICBFbGRlckF1dG9TZWxlY3RGaXJzdERpcmVjdGl2ZSxcbiAgICBFbGRlckNsZWFyU2VsZWN0RGlyZWN0aXZlLFxuICAgIEVsZGVyU2VsZWN0Q3VzdG9tSW5wdXREaXJlY3RpdmVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEVsZGVyU2VsZWN0Q29tcG9uZW50LFxuICAgIEVsZGVyU2VsZWN0VmFsdWVEaXJlY3RpdmUsXG4gICAgVGVtcGxhdGVkU2VsZWN0aW9uRGlhbG9nQ29tcG9uZW50LFxuICAgIFNlbGVjdGlvbk1vZGVsUG9wdXBEaXJlY3RpdmUsXG4gICAgRWxkZXJTZWxlY3Rpb25Qb3B1cFRyaWdnZXJBZGFwdGVyRGlyZWN0aXZlLFxuICAgIEVsZGVyTXVsdGlTZWxlY3RDaGlwc0NvbXBvbmVudCxcbiAgICBFbGRlclNlbGVjdENoaXBEaXJlY3RpdmUsXG4gICAgRWxkZXJTZWxlY3RDaGlwQXZhdGFyRGlyZWN0aXZlLFxuICAgIEVsZGVyQXV0b1NlbGVjdEZpcnN0RGlyZWN0aXZlLFxuICAgIEVsZGVyQ2xlYXJTZWxlY3REaXJlY3RpdmUsXG4gICAgRWxkZXJTZWxlY3RDdXN0b21JbnB1dERpcmVjdGl2ZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyU2VsZWN0TW9kdWxlIHtcbn1cbiJdfQ==
@@ -0,0 +1,86 @@
1
+ import { ContentChild, Directive, EventEmitter, Input, Output } from '@angular/core';
2
+ import { LoggerFactory } from '@elderbyte/ts-logger';
3
+ import { SelectionModelPopupDirective } from './selection-model-popup.directive';
4
+ import * as i0 from "@angular/core";
5
+ export class ElderSelectionPopupTriggerAdapterDirective {
6
+ /***************************************************************************
7
+ * *
8
+ * Constructor *
9
+ * *
10
+ **************************************************************************/
11
+ constructor() {
12
+ /***************************************************************************
13
+ * *
14
+ * Fields *
15
+ * *
16
+ **************************************************************************/
17
+ this.log = LoggerFactory.getLogger(this.constructor.name);
18
+ this.selectionChange = new EventEmitter;
19
+ this.selectionSingleChange = new EventEmitter;
20
+ this.keyGetter = (entity) => entity.id;
21
+ this.selection = [];
22
+ this.filters = [];
23
+ this.sorts = [];
24
+ this.multiSelectionEnabled = false;
25
+ }
26
+ /***************************************************************************
27
+ * *
28
+ * Public API *
29
+ * *
30
+ **************************************************************************/
31
+ /** Handles click events on the trigger. */
32
+ handleClick(event) {
33
+ if (this.selectionPopup) {
34
+ this.openSelectionPopup();
35
+ }
36
+ }
37
+ /***************************************************************************
38
+ * *
39
+ * Private methods *
40
+ * *
41
+ **************************************************************************/
42
+ openSelectionPopup() {
43
+ if (this.selectionPopup) {
44
+ this.selectionPopup.choose(this.keyGetter, this.selection || [], this.filters || [], this.sorts || [], this.multiSelectionEnabled).subscribe((selection) => {
45
+ this.selectionChange.emit(selection);
46
+ if (!this.multiSelectionEnabled) {
47
+ const selectedEntity = selection?.length > 0 ? selection[0] : [];
48
+ this.selectionSingleChange.emit(selectedEntity);
49
+ }
50
+ });
51
+ }
52
+ else {
53
+ this.log.warn('Cant open selection browser popup, since [SelectionModelPopupDirective] was not found!');
54
+ }
55
+ }
56
+ }
57
+ ElderSelectionPopupTriggerAdapterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ElderSelectionPopupTriggerAdapterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
58
+ ElderSelectionPopupTriggerAdapterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: ElderSelectionPopupTriggerAdapterDirective, selector: "[elderSelectionPopupTriggerAdapter]", inputs: { keyGetter: "keyGetter", selection: "selection", filters: "filters", sorts: "sorts", multiSelectionEnabled: "multiSelectionEnabled" }, outputs: { selectionChange: "selectionChange", selectionSingleChange: "selectionSingleChange" }, host: { listeners: { "click": "handleClick($event)" } }, queries: [{ propertyName: "selectionPopup", first: true, predicate: SelectionModelPopupDirective, descendants: true }], exportAs: ["elderSelectionPopupTriggerAdapter"], ngImport: i0 });
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ElderSelectionPopupTriggerAdapterDirective, decorators: [{
60
+ type: Directive,
61
+ args: [{
62
+ selector: '[elderSelectionPopupTriggerAdapter]',
63
+ exportAs: 'elderSelectionPopupTriggerAdapter',
64
+ host: {
65
+ '(click)': 'handleClick($event)'
66
+ },
67
+ }]
68
+ }], ctorParameters: function () { return []; }, propDecorators: { selectionChange: [{
69
+ type: Output
70
+ }], selectionSingleChange: [{
71
+ type: Output
72
+ }], keyGetter: [{
73
+ type: Input
74
+ }], selection: [{
75
+ type: Input
76
+ }], filters: [{
77
+ type: Input
78
+ }], sorts: [{
79
+ type: Input
80
+ }], multiSelectionEnabled: [{
81
+ type: Input
82
+ }], selectionPopup: [{
83
+ type: ContentChild,
84
+ args: [SelectionModelPopupDirective]
85
+ }] } });
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGVsLXBvcHVwLXRyaWdnZXItYWRhcHRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9wb3B1cC9zZWxlY3Rpb24tbW9kZWwtcG9wdXAtdHJpZ2dlci1hZGFwdGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZ0MsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDOztBQWEvRSxNQUFNLE9BQU8sMENBQTBDO0lBa0NyRDs7OztnRkFJNEU7SUFFNUU7UUF0Q0E7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFHdEQsb0JBQWUsR0FBRyxJQUFJLFlBQW1CLENBQUM7UUFHMUMsMEJBQXFCLEdBQUcsSUFBSSxZQUFpQixDQUFDO1FBR3ZELGNBQVMsR0FBRyxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUd2QyxjQUFTLEdBQVUsRUFBRSxDQUFDO1FBR3RCLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFHdkIsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUduQiwwQkFBcUIsR0FBRyxLQUFLLENBQUM7SUFZakMsQ0FBQztJQUVMOzs7O2dGQUk0RTtJQUc1RSwyQ0FBMkM7SUFDM0MsV0FBVyxDQUFDLEtBQWlCO1FBQzNCLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsa0JBQWtCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FDeEIsSUFBSSxDQUFDLFNBQVMsRUFDZCxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsRUFDcEIsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQ2xCLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxFQUNoQixJQUFJLENBQUMscUJBQXFCLENBQzNCLENBQUMsU0FBUyxDQUNULENBQUMsU0FBZ0IsRUFBRSxFQUFFO2dCQUNuQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtnQkFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtvQkFDL0IsTUFBTSxjQUFjLEdBQUcsU0FBUyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNqRSxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBO2lCQUNoRDtZQUNILENBQUMsQ0FDRixDQUFDO1NBQ0g7YUFBTTtZQUNMLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHdGQUF3RixDQUFDLENBQUM7U0FDekc7SUFDSCxDQUFDOzt1SUFuRlUsMENBQTBDOzJIQUExQywwQ0FBMEMsaWFBK0J2Qyw0QkFBNEI7MkZBL0IvQiwwQ0FBMEM7a0JBUHRELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFDQUFxQztvQkFDL0MsUUFBUSxFQUFFLG1DQUFtQztvQkFDN0MsSUFBSSxFQUFFO3dCQUNKLFNBQVMsRUFBRSxxQkFBcUI7cUJBQ2pDO2lCQUNGOzBFQVlpQixlQUFlO3NCQUQ5QixNQUFNO2dCQUlTLHFCQUFxQjtzQkFEcEMsTUFBTTtnQkFJQSxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxLQUFLO3NCQURYLEtBQUs7Z0JBSUMscUJBQXFCO3NCQUQzQixLQUFLO2dCQUlDLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb250ZW50Q2hpbGQsIERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7U2VsZWN0aW9uTW9kZWxQb3B1cERpcmVjdGl2ZX0gZnJvbSAnLi9zZWxlY3Rpb24tbW9kZWwtcG9wdXAuZGlyZWN0aXZlJztcbmltcG9ydCB7RmlsdGVyfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGF0YS9maWx0ZXJzL2ZpbHRlcic7XG5pbXBvcnQge1NvcnR9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL3NvcnQnO1xuXG5cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyU2VsZWN0aW9uUG9wdXBUcmlnZ2VyQWRhcHRlcl0nLFxuICBleHBvcnRBczogJ2VsZGVyU2VsZWN0aW9uUG9wdXBUcmlnZ2VyQWRhcHRlcicsXG4gIGhvc3Q6IHtcbiAgICAnKGNsaWNrKSc6ICdoYW5kbGVDbGljaygkZXZlbnQpJ1xuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlclNlbGVjdGlvblBvcHVwVHJpZ2dlckFkYXB0ZXJEaXJlY3RpdmUge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+O1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0aW9uU2luZ2xlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBrZXlHZXR0ZXIgPSAoZW50aXR5OiBhbnkpID0+IGVudGl0eS5pZDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2VsZWN0aW9uOiBhbnlbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmaWx0ZXJzOiBGaWx0ZXJbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzb3J0czogU29ydFtdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIG11bHRpU2VsZWN0aW9uRW5hYmxlZCA9IGZhbHNlO1xuXG4gIEBDb250ZW50Q2hpbGQoU2VsZWN0aW9uTW9kZWxQb3B1cERpcmVjdGl2ZSlcbiAgcHVibGljIHNlbGVjdGlvblBvcHVwOiBTZWxlY3Rpb25Nb2RlbFBvcHVwRGlyZWN0aXZlO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICApIHsgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbiAgLyoqIEhhbmRsZXMgY2xpY2sgZXZlbnRzIG9uIHRoZSB0cmlnZ2VyLiAqL1xuICBoYW5kbGVDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdGlvblBvcHVwKSB7XG4gICAgICB0aGlzLm9wZW5TZWxlY3Rpb25Qb3B1cCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBvcGVuU2VsZWN0aW9uUG9wdXAoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uUG9wdXApIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uUG9wdXAuY2hvb3NlKFxuICAgICAgICB0aGlzLmtleUdldHRlcixcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24gfHwgW10sXG4gICAgICAgIHRoaXMuZmlsdGVycyB8fCBbXSxcbiAgICAgICAgdGhpcy5zb3J0cyB8fCBbXSxcbiAgICAgICAgdGhpcy5tdWx0aVNlbGVjdGlvbkVuYWJsZWRcbiAgICAgICkuc3Vic2NyaWJlKFxuICAgICAgICAoc2VsZWN0aW9uOiBhbnlbXSkgPT4ge1xuICAgICAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoc2VsZWN0aW9uKVxuICAgICAgICAgIGlmICghdGhpcy5tdWx0aVNlbGVjdGlvbkVuYWJsZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkRW50aXR5ID0gc2VsZWN0aW9uPy5sZW5ndGggPiAwID8gc2VsZWN0aW9uWzBdIDogW107XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvblNpbmdsZUNoYW5nZS5lbWl0KHNlbGVjdGVkRW50aXR5KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2cud2FybignQ2FudCBvcGVuIHNlbGVjdGlvbiBicm93c2VyIHBvcHVwLCBzaW5jZSBbU2VsZWN0aW9uTW9kZWxQb3B1cERpcmVjdGl2ZV0gd2FzIG5vdCBmb3VuZCEnKTtcbiAgICB9XG4gIH1cblxuXG59XG4iXX0=