@messaia/cdk 15.0.0-rc48 → 15.0.0-rc50

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.
@@ -61,11 +61,11 @@ export class VdLayoutManageListComponent {
61
61
  *
62
62
  * https://github.com/angular/material2/tree/master/src/lib/sidenav
63
63
  */
64
- this.sidenavWidth = '257px';
64
+ this.sidenavWidth = '230px';
65
65
  /**
66
66
  * sidenavGtXsWidth?: number
67
67
  */
68
- this.sidenavGtXsWidth = 257;
68
+ this.sidenavGtXsWidth = 230;
69
69
  }
70
70
  /**
71
71
  * Checks if `ESC` should close the sidenav
@@ -101,10 +101,10 @@ export class VdLayoutManageListComponent {
101
101
  close() { return this.sidenav.close(); }
102
102
  }
103
103
  /** @nocollapse */ VdLayoutManageListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: VdLayoutManageListComponent, deps: [{ token: i1.VdMediaService }], target: i0.ɵɵFactoryTarget.Component });
104
- /** @nocollapse */ VdLayoutManageListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: VdLayoutManageListComponent, selector: "vd-layout-manage-list", inputs: { title: "title", closable: "closable", menuItems: "menuItems", mode: "mode", sideGt: "sideGt", opened: "opened", openedGt: "openedGt", sidenavWidth: "sidenavWidth", sidenavGtXsWidth: "sidenavGtXsWidth" }, viewQueries: [{ propertyName: "sidenav", first: true, predicate: MatSidenav, descendants: true, static: true }], ngImport: i0, template: "<mat-sidenav-container fullscreen class=\"vd-layout-manage-list\">\r\n\t<!-- #region Side nav -->\r\n\t<mat-sidenav #sidenav position=\"start\" [mode]=\"mode\" [opened]=\"opened\" [disableClose]=\"disableClose\" [style.max-width]=\"sidenavWidth\" [style.min-width]=\"sidenavWidth\">\r\n\t\t<!-- #region Nav list toolbar -->\r\n\t\t<mat-toolbar dense *ngIf=\"title\">\r\n\t\t\t<span>{{title}}</span>\r\n\t\t\t<span flex></span>\r\n\t\t\t<button mat-icon-button (click)=\"close()\" *ngIf=\"closable\">\r\n\t\t\t\t<mat-icon>menu_open</mat-icon>\r\n\t\t\t</button>\r\n\t\t</mat-toolbar>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Custom title toolbar -->\r\n\t\t<ng-content select=\"mat-toolbar[vd-sidenav-content]\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<div class=\"vd-layout-manage-list-sidenav\" cdkScrollable>\r\n\t\t\t<ng-content select=\"[vd-sidenav-content]\"></ng-content>\r\n\t\t\t<ng-content select=\"vd-menu\"></ng-content>\r\n\t\t\t<vd-menu [items]=\"menuItems\" *ngIf=\"menuItems\"></vd-menu>\r\n\t\t</div>\r\n\t</mat-sidenav>\r\n\t<!-- #endregion -->\r\n\r\n\t<!-- #region Main content -->\r\n\t<div class=\"vd-layout-manage-list-main\">\r\n\t\t<!-- #region Toolbar projection -->\r\n\t\t<ng-content select=\"mat-toolbar\"></ng-content>\r\n\t\t<ng-content select=\"vd-list-toolbar\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Scrollable content -->\r\n\t\t<div class=\"vd-layout-manage-list-content\" cdkScrollable>\r\n\t\t\t<ng-content></ng-content>\r\n\t\t</div>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Footer content -->\r\n\t\t<ng-content select=\"vd-layout-footer-inner\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\t</div>\r\n\t<!-- #endregion -->\r\n</mat-sidenav-container>", styles: [":host{display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host mat-sidenav-container.vd-layout-manage-list{flex:1}:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-opened,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-opening,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-closed,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-closing{box-shadow:0 1px 3px #0003}:host .vd-layout-manage-list-sidenav{text-align:start;flex:1;display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}:host .vd-layout-manage-list-main{margin:0;width:100%;min-height:100%;height:100%;position:relative;overflow:auto;flex-direction:column;box-sizing:border-box;display:flex}:host .vd-layout-manage-list-main .vd-layout-manage-list-content{display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch;flex:1}:host ::ng-deep mat-sidenav-container.vd-layout-manage-list>.mat-drawer-content{flex-grow:1}:host ::ng-deep mat-sidenav-container.vd-layout-manage-list>mat-sidenav{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;box-sizing:border-box;display:flex;flex-direction:column}:host ::ng-deep .mat-toolbar{font-weight:400}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: i4.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i4.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i5.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.VdMenuComponent, selector: "vd-menu", inputs: ["items", "activeExact", "avatar"], outputs: ["click"] }] });
104
+ /** @nocollapse */ VdLayoutManageListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: VdLayoutManageListComponent, selector: "vd-layout-manage-list", inputs: { title: "title", closable: "closable", menuItems: "menuItems", mode: "mode", sideGt: "sideGt", opened: "opened", openedGt: "openedGt", sidenavWidth: "sidenavWidth", sidenavGtXsWidth: "sidenavGtXsWidth" }, viewQueries: [{ propertyName: "sidenav", first: true, predicate: MatSidenav, descendants: true, static: true }], ngImport: i0, template: "<mat-sidenav-container fullscreen class=\"vd-layout-manage-list\">\r\n\t<!-- #region Side nav -->\r\n\t<mat-sidenav #sidenav position=\"start\" [mode]=\"mode\" [opened]=\"opened\" [disableClose]=\"disableClose\" [style.max-width]=\"sidenavWidth\" [style.min-width]=\"sidenavWidth\">\r\n\t\t<!-- #region Nav list toolbar -->\r\n\t\t<mat-toolbar dense *ngIf=\"title\">\r\n\t\t\t<span>{{title}}</span>\r\n\t\t\t<span flex></span>\r\n\t\t\t<button mat-icon-button (click)=\"close()\" *ngIf=\"closable\">\r\n\t\t\t\t<mat-icon>menu_open</mat-icon>\r\n\t\t\t</button>\r\n\t\t</mat-toolbar>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Custom title toolbar -->\r\n\t\t<ng-content select=\"mat-toolbar[vd-sidenav-content]\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<div class=\"vd-layout-manage-list-sidenav\" cdkScrollable>\r\n\t\t\t<ng-content select=\"[vd-sidenav-content]\"></ng-content>\r\n\t\t\t<ng-content select=\"vd-menu\"></ng-content>\r\n\t\t\t<vd-menu [items]=\"menuItems\" *ngIf=\"menuItems\"></vd-menu>\r\n\t\t</div>\r\n\t</mat-sidenav>\r\n\t<!-- #endregion -->\r\n\r\n\t<!-- #region Main content -->\r\n\t<div class=\"vd-layout-manage-list-main\">\r\n\t\t<!-- #region Toolbar projection -->\r\n\t\t<ng-content select=\"mat-toolbar\"></ng-content>\r\n\t\t<ng-content select=\"vd-list-toolbar\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Scrollable content -->\r\n\t\t<div class=\"vd-layout-manage-list-content\" cdkScrollable>\r\n\t\t\t<ng-content></ng-content>\r\n\t\t</div>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Footer content -->\r\n\t\t<ng-content select=\"vd-layout-footer-inner\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\t</div>\r\n\t<!-- #endregion -->\r\n</mat-sidenav-container>", styles: [":host{display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host mat-sidenav-container.vd-layout-manage-list{flex:1}:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-opened,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-opening,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-closed,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-closing{box-shadow:0 1px 3px #0003}:host .vd-layout-manage-list-sidenav{text-align:start;flex:1;display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}:host .vd-layout-manage-list-main{margin:0;width:100%;min-height:100%;height:100%;position:relative;overflow:auto;flex-direction:column;box-sizing:border-box;display:flex}:host .vd-layout-manage-list-main .vd-layout-manage-list-content{display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch;flex:1}:host ::ng-deep mat-sidenav-container.vd-layout-manage-list>.mat-drawer-content{flex-grow:1}:host ::ng-deep mat-sidenav-container.vd-layout-manage-list>mat-sidenav{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;box-sizing:border-box;display:flex;flex-direction:column}:host ::ng-deep .mat-toolbar{font-weight:400;display:flex;align-items:center}:host ::ng-deep .mat-toolbar *{overflow:hidden;text-overflow:ellipsis}:host ::ng-deep .mat-toolbar>.mdc-icon-button{margin-right:-2px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: i4.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i4.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i5.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.VdMenuComponent, selector: "vd-menu", inputs: ["items", "activeExact", "avatar"], outputs: ["click"] }] });
105
105
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: VdLayoutManageListComponent, decorators: [{
106
106
  type: Component,
107
- args: [{ selector: 'vd-layout-manage-list', template: "<mat-sidenav-container fullscreen class=\"vd-layout-manage-list\">\r\n\t<!-- #region Side nav -->\r\n\t<mat-sidenav #sidenav position=\"start\" [mode]=\"mode\" [opened]=\"opened\" [disableClose]=\"disableClose\" [style.max-width]=\"sidenavWidth\" [style.min-width]=\"sidenavWidth\">\r\n\t\t<!-- #region Nav list toolbar -->\r\n\t\t<mat-toolbar dense *ngIf=\"title\">\r\n\t\t\t<span>{{title}}</span>\r\n\t\t\t<span flex></span>\r\n\t\t\t<button mat-icon-button (click)=\"close()\" *ngIf=\"closable\">\r\n\t\t\t\t<mat-icon>menu_open</mat-icon>\r\n\t\t\t</button>\r\n\t\t</mat-toolbar>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Custom title toolbar -->\r\n\t\t<ng-content select=\"mat-toolbar[vd-sidenav-content]\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<div class=\"vd-layout-manage-list-sidenav\" cdkScrollable>\r\n\t\t\t<ng-content select=\"[vd-sidenav-content]\"></ng-content>\r\n\t\t\t<ng-content select=\"vd-menu\"></ng-content>\r\n\t\t\t<vd-menu [items]=\"menuItems\" *ngIf=\"menuItems\"></vd-menu>\r\n\t\t</div>\r\n\t</mat-sidenav>\r\n\t<!-- #endregion -->\r\n\r\n\t<!-- #region Main content -->\r\n\t<div class=\"vd-layout-manage-list-main\">\r\n\t\t<!-- #region Toolbar projection -->\r\n\t\t<ng-content select=\"mat-toolbar\"></ng-content>\r\n\t\t<ng-content select=\"vd-list-toolbar\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Scrollable content -->\r\n\t\t<div class=\"vd-layout-manage-list-content\" cdkScrollable>\r\n\t\t\t<ng-content></ng-content>\r\n\t\t</div>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Footer content -->\r\n\t\t<ng-content select=\"vd-layout-footer-inner\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\t</div>\r\n\t<!-- #endregion -->\r\n</mat-sidenav-container>", styles: [":host{display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host mat-sidenav-container.vd-layout-manage-list{flex:1}:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-opened,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-opening,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-closed,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-closing{box-shadow:0 1px 3px #0003}:host .vd-layout-manage-list-sidenav{text-align:start;flex:1;display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}:host .vd-layout-manage-list-main{margin:0;width:100%;min-height:100%;height:100%;position:relative;overflow:auto;flex-direction:column;box-sizing:border-box;display:flex}:host .vd-layout-manage-list-main .vd-layout-manage-list-content{display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch;flex:1}:host ::ng-deep mat-sidenav-container.vd-layout-manage-list>.mat-drawer-content{flex-grow:1}:host ::ng-deep mat-sidenav-container.vd-layout-manage-list>mat-sidenav{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;box-sizing:border-box;display:flex;flex-direction:column}:host ::ng-deep .mat-toolbar{font-weight:400}\n"] }]
107
+ args: [{ selector: 'vd-layout-manage-list', template: "<mat-sidenav-container fullscreen class=\"vd-layout-manage-list\">\r\n\t<!-- #region Side nav -->\r\n\t<mat-sidenav #sidenav position=\"start\" [mode]=\"mode\" [opened]=\"opened\" [disableClose]=\"disableClose\" [style.max-width]=\"sidenavWidth\" [style.min-width]=\"sidenavWidth\">\r\n\t\t<!-- #region Nav list toolbar -->\r\n\t\t<mat-toolbar dense *ngIf=\"title\">\r\n\t\t\t<span>{{title}}</span>\r\n\t\t\t<span flex></span>\r\n\t\t\t<button mat-icon-button (click)=\"close()\" *ngIf=\"closable\">\r\n\t\t\t\t<mat-icon>menu_open</mat-icon>\r\n\t\t\t</button>\r\n\t\t</mat-toolbar>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Custom title toolbar -->\r\n\t\t<ng-content select=\"mat-toolbar[vd-sidenav-content]\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<div class=\"vd-layout-manage-list-sidenav\" cdkScrollable>\r\n\t\t\t<ng-content select=\"[vd-sidenav-content]\"></ng-content>\r\n\t\t\t<ng-content select=\"vd-menu\"></ng-content>\r\n\t\t\t<vd-menu [items]=\"menuItems\" *ngIf=\"menuItems\"></vd-menu>\r\n\t\t</div>\r\n\t</mat-sidenav>\r\n\t<!-- #endregion -->\r\n\r\n\t<!-- #region Main content -->\r\n\t<div class=\"vd-layout-manage-list-main\">\r\n\t\t<!-- #region Toolbar projection -->\r\n\t\t<ng-content select=\"mat-toolbar\"></ng-content>\r\n\t\t<ng-content select=\"vd-list-toolbar\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Scrollable content -->\r\n\t\t<div class=\"vd-layout-manage-list-content\" cdkScrollable>\r\n\t\t\t<ng-content></ng-content>\r\n\t\t</div>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Footer content -->\r\n\t\t<ng-content select=\"vd-layout-footer-inner\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\t</div>\r\n\t<!-- #endregion -->\r\n</mat-sidenav-container>", styles: [":host{display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host mat-sidenav-container.vd-layout-manage-list{flex:1}:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-opened,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-opening,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-closed,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-closing{box-shadow:0 1px 3px #0003}:host .vd-layout-manage-list-sidenav{text-align:start;flex:1;display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}:host .vd-layout-manage-list-main{margin:0;width:100%;min-height:100%;height:100%;position:relative;overflow:auto;flex-direction:column;box-sizing:border-box;display:flex}:host .vd-layout-manage-list-main .vd-layout-manage-list-content{display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch;flex:1}:host ::ng-deep mat-sidenav-container.vd-layout-manage-list>.mat-drawer-content{flex-grow:1}:host ::ng-deep mat-sidenav-container.vd-layout-manage-list>mat-sidenav{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;box-sizing:border-box;display:flex;flex-direction:column}:host ::ng-deep .mat-toolbar{font-weight:400;display:flex;align-items:center}:host ::ng-deep .mat-toolbar *{overflow:hidden;text-overflow:ellipsis}:host ::ng-deep .mat-toolbar>.mdc-icon-button{margin-right:-2px}\n"] }]
108
108
  }], ctorParameters: function () { return [{ type: i1.VdMediaService }]; }, propDecorators: { sidenav: [{
109
109
  type: ViewChild,
110
110
  args: [MatSidenav, { static: true }]
@@ -127,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
127
127
  }], sidenavGtXsWidth: [{
128
128
  type: Input
129
129
  }] } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LW1hbmFnZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2xheW91dC9sYXlvdXQtbWFuYWdlLWxpc3QvbGF5b3V0LW1hbmFnZS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2xheW91dC9sYXlvdXQtbWFuYWdlLWxpc3QvbGF5b3V0LW1hbmFnZS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQXlCLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7OztBQVNwRSxNQUFNLE9BQU8sMkJBQTJCO0lBMkZ2Qzs7T0FFRztJQUNILFlBQW9CLEtBQXFCO1FBQXJCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBL0V6Qzs7O1dBR0c7UUFFSSxhQUFRLEdBQVksSUFBSSxDQUFDO1FBUWhDOzs7Ozs7OztXQVFHO1FBRUksU0FBSSxHQUE2QixNQUFNLENBQUM7UUFFL0M7O1dBRUc7UUFFSSxXQUFNLEdBQVcsSUFBSSxDQUFDO1FBRTdCOzs7Ozs7Ozs7V0FTRztRQUVJLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFFL0I7Ozs7O1dBS0c7UUFFSSxhQUFRLEdBQVcsSUFBSSxDQUFDO1FBRS9COzs7Ozs7O1dBT0c7UUFFSSxpQkFBWSxHQUFXLE9BQU8sQ0FBQztRQUV0Qzs7V0FFRztRQUVJLHFCQUFnQixHQUFXLEdBQUcsQ0FBQztJQVdPLENBQUM7SUFUOUM7OztPQUdHO0lBQ0gsSUFBSSxZQUFZLEtBQWMsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFPNUQ7OztPQUdHO0lBQ0gsUUFBUTtRQUNQLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMzRjtRQUVELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDekc7UUFFRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLEVBQUU7WUFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDM0g7SUFDRixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLEtBQXFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVyRzs7T0FFRztJQUNJLElBQUksS0FBcUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUU3RTs7T0FFRztJQUNJLEtBQUssS0FBcUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQzs7MklBL0huRSwyQkFBMkI7K0hBQTNCLDJCQUEyQiw0VEFLNUIsVUFBVSw4RENoQnRCLHN0REEyQ3dCOzJGRGhDWCwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0MsdUJBQXVCO3FHQVUxQixPQUFPO3NCQURiLFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFRaEMsS0FBSztzQkFEWCxLQUFLO2dCQVFDLFFBQVE7c0JBRGQsS0FBSztnQkFPQyxTQUFTO3NCQURmLEtBQUs7Z0JBYUMsSUFBSTtzQkFEVixLQUFLO2dCQU9DLE1BQU07c0JBRFosS0FBSztnQkFjQyxNQUFNO3NCQURaLEtBQUs7Z0JBVUMsUUFBUTtzQkFEZCxLQUFLO2dCQVlDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBT0MsZ0JBQWdCO3NCQUR0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RHJhd2VyVG9nZ2xlUmVzdWx0LCBNYXRTaWRlbmF2IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XHJcbmltcG9ydCB7IFZkTWVkaWFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbWVkaWEvc2VydmljZXMvbWVkaWEuc2VydmljZSc7XHJcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAnLi4vLi4vbWVudS9tb2RlbHMvbWVudS1pdGVtJztcclxuaW1wb3J0IHsgSUxheW91dFRvZ2dsYWJsZSB9IGZyb20gJy4uL2xheW91dC10b2dnbGUuY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICd2ZC1sYXlvdXQtbWFuYWdlLWxpc3QnLFxyXG5cdHN0eWxlVXJsczogWycuL2xheW91dC1tYW5hZ2UtbGlzdC5jb21wb25lbnQuc2NzcyddLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQtbWFuYWdlLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmRMYXlvdXRNYW5hZ2VMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgSUxheW91dFRvZ2dsYWJsZSwgT25Jbml0IHtcclxuXHJcblx0LyoqXHJcblx0ICogc2lkZW5hdjogTWF0U2lkZW5hdlxyXG5cdCAqL1xyXG5cdEBWaWV3Q2hpbGQoTWF0U2lkZW5hdiwgeyBzdGF0aWM6IHRydWUgfSlcclxuXHRwdWJsaWMgc2lkZW5hdjogTWF0U2lkZW5hdjtcclxuXHJcblx0LyoqXHJcblx0ICogdGl0bGU6IHN0cmluZ1xyXG5cdCAqIENvbnRlbnQgdGl0bGVcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyB0aXRsZTogc3RyaW5nO1xyXG5cclxuXHQvKipcclxuXHQgKiBjbG9zYWJsZTogYm9vbGVhblxyXG5cdCAqIElmIGZhbHNlLCBoaWRlIGNsb3NlIGJ1dHRvblxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIGNsb3NhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcblx0LyoqXHJcblx0ICogbWVudUl0ZW1zOiBNZW51SXRlbVtdXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgbWVudUl0ZW1zOiBNZW51SXRlbVtdO1xyXG5cclxuXHQvKipcclxuXHQgKiBtb2RlPzogJ3NpZGUnLCAncHVzaCcgb3IgJ292ZXInXHJcblx0ICpcclxuXHQgKiBUaGUgbW9kZSBvciBzdHlsaW5nIG9mIHRoZSBzaWRlbmF2LlxyXG5cdCAqIERlZmF1bHRzIHRvIFwic2lkZVwiLlxyXG5cdCAqIFNlZSBcIk1hdFNpZGVuYXZcIiBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGluZm8uXHJcblx0ICpcclxuXHQgKiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9tYXRlcmlhbDIvdHJlZS9tYXN0ZXIvc3JjL2xpYi9zaWRlbmF2XHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgbW9kZTogJ3NpZGUnIHwgJ3B1c2gnIHwgJ292ZXInID0gJ3NpZGUnO1xyXG5cclxuXHQvKipcclxuXHQgKiBvdmVyR3Q/OiBzdHJpbmdcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBzaWRlR3Q6IHN0cmluZyA9ICdzbSc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIG9wZW5lZD86IGJvb2xlYW5cclxuXHQgKlxyXG5cdCAqIFdoZXRoZXIgb3Igbm90IHRoZSBzaWRlbmF2IGlzIG9wZW5lZC4gVXNlIHRoaXMgYmluZGluZyB0byBvcGVuL2Nsb3NlIHRoZSBzaWRlbmF2LlxyXG5cdCAqIERlZmF1bHRzIHRvIFwidHJ1ZVwiLlxyXG5cdCAqXHJcblx0ICogU2VlIFwiTWF0U2lkZW5hdlwiIGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5mby5cclxuXHQgKlxyXG5cdCAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL21hdGVyaWFsMi90cmVlL21hc3Rlci9zcmMvbGliL3NpZGVuYXZcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBvcGVuZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0LyoqXHJcblx0ICogb3BlbmVkPzogc3RyaW5nXHJcblx0ICpcclxuXHQgKiBXaGV0aGVyIG9yIG5vdCB0aGUgc2lkZW5hdiBpcyBvcGVuZWQuIFVzZSB0aGlzIGJpbmRpbmcgdG8gb3Blbi9jbG9zZSB0aGUgc2lkZW5hdi5cclxuXHQgKiBEZWZhdWx0cyB0byBcInRydWVcIi5cclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBvcGVuZWRHdDogc3RyaW5nID0gJ3NtJztcclxuXHJcblx0LyoqXHJcblx0ICogc2lkZW5hdldpZHRoPzogc3RyaW5nXHJcblx0ICpcclxuXHQgKiBTZXRzIHRoZSBcIndpZHRoXCIgb2YgdGhlIHNpZGVuYXYgaW4gZWl0aGVyIFwicHhcIiBvciBcIiVcIlxyXG5cdCAqIERlZmF1bHRzIHRvIFwiMjU3cHhcIi5cclxuXHQgKlxyXG5cdCAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL21hdGVyaWFsMi90cmVlL21hc3Rlci9zcmMvbGliL3NpZGVuYXZcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBzaWRlbmF2V2lkdGg6IHN0cmluZyA9ICcyNTdweCc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIHNpZGVuYXZHdFhzV2lkdGg/OiBudW1iZXJcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBzaWRlbmF2R3RYc1dpZHRoOiBudW1iZXIgPSAyNTc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIENoZWNrcyBpZiBgRVNDYCBzaG91bGQgY2xvc2UgdGhlIHNpZGVuYXZcclxuXHQgKiBTaG91bGQgb25seSBjbG9zZSBpdCBmb3IgYHB1c2hgIGFuZCBgb3ZlcmAgbW9kZXNcclxuXHQgKi9cclxuXHRnZXQgZGlzYWJsZUNsb3NlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5tb2RlID09PSAnc2lkZSc7IH1cclxuXHJcblx0LyoqXHJcblx0ICogQ29uc3RydWN0b3JcclxuXHQgKi9cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIG1lZGlhOiBWZE1lZGlhU2VydmljZSkgeyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIExpZmVjeWNsZSBob29rIHRoYXQgaXMgY2FsbGVkIGFmdGVyIGRhdGEtYm91bmQgcHJvcGVydGllcyBcclxuXHQgKiBvZiBhIGRpcmVjdGl2ZSBhcmUgaW5pdGlhbGl6ZWQuXHJcblx0ICovXHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy5vcGVuZWRHdCkge1xyXG5cdFx0XHR0aGlzLm1lZGlhLnJlZ2lzdGVyUXVlcnkoYGd0LSR7dGhpcy5vcGVuZWRHdH1gKS5zdWJzY3JpYmUoKHg6IGJvb2xlYW4pID0+IHRoaXMub3BlbmVkID0geCk7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHRoaXMuc2lkZUd0KSB7XHJcblx0XHRcdHRoaXMubWVkaWEucmVnaXN0ZXJRdWVyeShgZ3QtJHt0aGlzLnNpZGVHdH1gKS5zdWJzY3JpYmUoKHg6IGJvb2xlYW4pID0+IHRoaXMubW9kZSA9IHggPyAnc2lkZScgOiAnb3ZlcicpO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmICh0aGlzLnNpZGVuYXZHdFhzV2lkdGggPiAwKSB7XHJcblx0XHRcdHRoaXMubWVkaWEucmVnaXN0ZXJRdWVyeShgZ3QteHNgKS5zdWJzY3JpYmUoKHg6IGJvb2xlYW4pID0+IHRoaXMuc2lkZW5hdldpZHRoID0geCA/IGAke3RoaXMuc2lkZW5hdkd0WHNXaWR0aH1weGAgOiAnMTAwJScpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogUHJveHkgdG9nZ2xlIG1ldGhvZCB0byBhY2Nlc3Mgc2lkZW5hdiBmcm9tIG91dHNpZGUgKGZyb20gdmQtbGF5b3V0IHRlbXBsYXRlKS5cclxuXHQgKi9cclxuXHRwdWJsaWMgdG9nZ2xlKCk6IFByb21pc2U8TWF0RHJhd2VyVG9nZ2xlUmVzdWx0PiB7IHJldHVybiB0aGlzLnNpZGVuYXYudG9nZ2xlKCF0aGlzLnNpZGVuYXYub3BlbmVkKTsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBQcm94eSBvcGVuIG1ldGhvZCB0byBhY2Nlc3Mgc2lkZW5hdiBmcm9tIG91dHNpZGUgKGZyb20gdmQtbGF5b3V0IHRlbXBsYXRlKS5cclxuXHQgKi9cclxuXHRwdWJsaWMgb3BlbigpOiBQcm9taXNlPE1hdERyYXdlclRvZ2dsZVJlc3VsdD4geyByZXR1cm4gdGhpcy5zaWRlbmF2Lm9wZW4oKTsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBQcm94eSBjbG9zZSBtZXRob2QgdG8gYWNjZXNzIHNpZGVuYXYgZnJvbSBvdXRzaWRlIChmcm9tIHZkLWxheW91dCB0ZW1wbGF0ZSkuXHJcblx0ICovXHJcblx0cHVibGljIGNsb3NlKCk6IFByb21pc2U8TWF0RHJhd2VyVG9nZ2xlUmVzdWx0PiB7IHJldHVybiB0aGlzLnNpZGVuYXYuY2xvc2UoKTsgfVxyXG59IiwiPG1hdC1zaWRlbmF2LWNvbnRhaW5lciBmdWxsc2NyZWVuIGNsYXNzPVwidmQtbGF5b3V0LW1hbmFnZS1saXN0XCI+XHJcblx0PCEtLSAjcmVnaW9uIFNpZGUgbmF2IC0tPlxyXG5cdDxtYXQtc2lkZW5hdiAjc2lkZW5hdiBwb3NpdGlvbj1cInN0YXJ0XCIgW21vZGVdPVwibW9kZVwiIFtvcGVuZWRdPVwib3BlbmVkXCIgW2Rpc2FibGVDbG9zZV09XCJkaXNhYmxlQ2xvc2VcIiBbc3R5bGUubWF4LXdpZHRoXT1cInNpZGVuYXZXaWR0aFwiIFtzdHlsZS5taW4td2lkdGhdPVwic2lkZW5hdldpZHRoXCI+XHJcblx0XHQ8IS0tICNyZWdpb24gTmF2IGxpc3QgdG9vbGJhciAtLT5cclxuXHRcdDxtYXQtdG9vbGJhciBkZW5zZSAqbmdJZj1cInRpdGxlXCI+XHJcblx0XHRcdDxzcGFuPnt7dGl0bGV9fTwvc3Bhbj5cclxuXHRcdFx0PHNwYW4gZmxleD48L3NwYW4+XHJcblx0XHRcdDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjbG9zZSgpXCIgKm5nSWY9XCJjbG9zYWJsZVwiPlxyXG5cdFx0XHRcdDxtYXQtaWNvbj5tZW51X29wZW48L21hdC1pY29uPlxyXG5cdFx0XHQ8L2J1dHRvbj5cclxuXHRcdDwvbWF0LXRvb2xiYXI+XHJcblx0XHQ8IS0tICNlbmRyZWdpb24gLS0+XHJcblxyXG5cdFx0PCEtLSAjcmVnaW9uIEN1c3RvbSB0aXRsZSB0b29sYmFyIC0tPlxyXG5cdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwibWF0LXRvb2xiYXJbdmQtc2lkZW5hdi1jb250ZW50XVwiPjwvbmctY29udGVudD5cclxuXHRcdDwhLS0gI2VuZHJlZ2lvbiAtLT5cclxuXHJcblx0XHQ8ZGl2IGNsYXNzPVwidmQtbGF5b3V0LW1hbmFnZS1saXN0LXNpZGVuYXZcIiBjZGtTY3JvbGxhYmxlPlxyXG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbdmQtc2lkZW5hdi1jb250ZW50XVwiPjwvbmctY29udGVudD5cclxuXHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwidmQtbWVudVwiPjwvbmctY29udGVudD5cclxuXHRcdFx0PHZkLW1lbnUgW2l0ZW1zXT1cIm1lbnVJdGVtc1wiICpuZ0lmPVwibWVudUl0ZW1zXCI+PC92ZC1tZW51PlxyXG5cdFx0PC9kaXY+XHJcblx0PC9tYXQtc2lkZW5hdj5cclxuXHQ8IS0tICNlbmRyZWdpb24gLS0+XHJcblxyXG5cdDwhLS0gI3JlZ2lvbiBNYWluIGNvbnRlbnQgLS0+XHJcblx0PGRpdiBjbGFzcz1cInZkLWxheW91dC1tYW5hZ2UtbGlzdC1tYWluXCI+XHJcblx0XHQ8IS0tICNyZWdpb24gVG9vbGJhciBwcm9qZWN0aW9uIC0tPlxyXG5cdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwibWF0LXRvb2xiYXJcIj48L25nLWNvbnRlbnQ+XHJcblx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJ2ZC1saXN0LXRvb2xiYXJcIj48L25nLWNvbnRlbnQ+XHJcblx0XHQ8IS0tICNlbmRyZWdpb24gLS0+XHJcblxyXG5cdFx0PCEtLSAjcmVnaW9uIFNjcm9sbGFibGUgY29udGVudCAtLT5cclxuXHRcdDxkaXYgY2xhc3M9XCJ2ZC1sYXlvdXQtbWFuYWdlLWxpc3QtY29udGVudFwiIGNka1Njcm9sbGFibGU+XHJcblx0XHRcdDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PCEtLSAjZW5kcmVnaW9uIC0tPlxyXG5cclxuXHRcdDwhLS0gI3JlZ2lvbiBGb290ZXIgY29udGVudCAtLT5cclxuXHRcdDxuZy1jb250ZW50IHNlbGVjdD1cInZkLWxheW91dC1mb290ZXItaW5uZXJcIj48L25nLWNvbnRlbnQ+XHJcblx0XHQ8IS0tICNlbmRyZWdpb24gLS0+XHJcblx0PC9kaXY+XHJcblx0PCEtLSAjZW5kcmVnaW9uIC0tPlxyXG48L21hdC1zaWRlbmF2LWNvbnRhaW5lcj4iXX0=
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LW1hbmFnZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2xheW91dC9sYXlvdXQtbWFuYWdlLWxpc3QvbGF5b3V0LW1hbmFnZS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2xheW91dC9sYXlvdXQtbWFuYWdlLWxpc3QvbGF5b3V0LW1hbmFnZS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQXlCLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7OztBQVNwRSxNQUFNLE9BQU8sMkJBQTJCO0lBMkZ2Qzs7T0FFRztJQUNILFlBQW9CLEtBQXFCO1FBQXJCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBL0V6Qzs7O1dBR0c7UUFFSSxhQUFRLEdBQVksSUFBSSxDQUFDO1FBUWhDOzs7Ozs7OztXQVFHO1FBRUksU0FBSSxHQUE2QixNQUFNLENBQUM7UUFFL0M7O1dBRUc7UUFFSSxXQUFNLEdBQVcsSUFBSSxDQUFDO1FBRTdCOzs7Ozs7Ozs7V0FTRztRQUVJLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFFL0I7Ozs7O1dBS0c7UUFFSSxhQUFRLEdBQVcsSUFBSSxDQUFDO1FBRS9COzs7Ozs7O1dBT0c7UUFFSSxpQkFBWSxHQUFXLE9BQU8sQ0FBQztRQUV0Qzs7V0FFRztRQUVJLHFCQUFnQixHQUFXLEdBQUcsQ0FBQztJQVdPLENBQUM7SUFUOUM7OztPQUdHO0lBQ0gsSUFBSSxZQUFZLEtBQWMsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFPNUQ7OztPQUdHO0lBQ0gsUUFBUTtRQUNQLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMzRjtRQUVELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDekc7UUFFRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLEVBQUU7WUFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDM0g7SUFDRixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLEtBQXFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVyRzs7T0FFRztJQUNJLElBQUksS0FBcUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUU3RTs7T0FFRztJQUNJLEtBQUssS0FBcUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQzs7MklBL0huRSwyQkFBMkI7K0hBQTNCLDJCQUEyQiw0VEFLNUIsVUFBVSw4RENoQnRCLHN0REEyQ3dCOzJGRGhDWCwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0MsdUJBQXVCO3FHQVUxQixPQUFPO3NCQURiLFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFRaEMsS0FBSztzQkFEWCxLQUFLO2dCQVFDLFFBQVE7c0JBRGQsS0FBSztnQkFPQyxTQUFTO3NCQURmLEtBQUs7Z0JBYUMsSUFBSTtzQkFEVixLQUFLO2dCQU9DLE1BQU07c0JBRFosS0FBSztnQkFjQyxNQUFNO3NCQURaLEtBQUs7Z0JBVUMsUUFBUTtzQkFEZCxLQUFLO2dCQVlDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBT0MsZ0JBQWdCO3NCQUR0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RHJhd2VyVG9nZ2xlUmVzdWx0LCBNYXRTaWRlbmF2IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XHJcbmltcG9ydCB7IFZkTWVkaWFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbWVkaWEvc2VydmljZXMvbWVkaWEuc2VydmljZSc7XHJcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAnLi4vLi4vbWVudS9tb2RlbHMvbWVudS1pdGVtJztcclxuaW1wb3J0IHsgSUxheW91dFRvZ2dsYWJsZSB9IGZyb20gJy4uL2xheW91dC10b2dnbGUuY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICd2ZC1sYXlvdXQtbWFuYWdlLWxpc3QnLFxyXG5cdHN0eWxlVXJsczogWycuL2xheW91dC1tYW5hZ2UtbGlzdC5jb21wb25lbnQuc2NzcyddLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQtbWFuYWdlLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmRMYXlvdXRNYW5hZ2VMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgSUxheW91dFRvZ2dsYWJsZSwgT25Jbml0IHtcclxuXHJcblx0LyoqXHJcblx0ICogc2lkZW5hdjogTWF0U2lkZW5hdlxyXG5cdCAqL1xyXG5cdEBWaWV3Q2hpbGQoTWF0U2lkZW5hdiwgeyBzdGF0aWM6IHRydWUgfSlcclxuXHRwdWJsaWMgc2lkZW5hdjogTWF0U2lkZW5hdjtcclxuXHJcblx0LyoqXHJcblx0ICogdGl0bGU6IHN0cmluZ1xyXG5cdCAqIENvbnRlbnQgdGl0bGVcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyB0aXRsZTogc3RyaW5nO1xyXG5cclxuXHQvKipcclxuXHQgKiBjbG9zYWJsZTogYm9vbGVhblxyXG5cdCAqIElmIGZhbHNlLCBoaWRlIGNsb3NlIGJ1dHRvblxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIGNsb3NhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcblx0LyoqXHJcblx0ICogbWVudUl0ZW1zOiBNZW51SXRlbVtdXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgbWVudUl0ZW1zOiBNZW51SXRlbVtdO1xyXG5cclxuXHQvKipcclxuXHQgKiBtb2RlPzogJ3NpZGUnLCAncHVzaCcgb3IgJ292ZXInXHJcblx0ICpcclxuXHQgKiBUaGUgbW9kZSBvciBzdHlsaW5nIG9mIHRoZSBzaWRlbmF2LlxyXG5cdCAqIERlZmF1bHRzIHRvIFwic2lkZVwiLlxyXG5cdCAqIFNlZSBcIk1hdFNpZGVuYXZcIiBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGluZm8uXHJcblx0ICpcclxuXHQgKiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9tYXRlcmlhbDIvdHJlZS9tYXN0ZXIvc3JjL2xpYi9zaWRlbmF2XHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgbW9kZTogJ3NpZGUnIHwgJ3B1c2gnIHwgJ292ZXInID0gJ3NpZGUnO1xyXG5cclxuXHQvKipcclxuXHQgKiBvdmVyR3Q/OiBzdHJpbmdcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBzaWRlR3Q6IHN0cmluZyA9ICdzbSc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIG9wZW5lZD86IGJvb2xlYW5cclxuXHQgKlxyXG5cdCAqIFdoZXRoZXIgb3Igbm90IHRoZSBzaWRlbmF2IGlzIG9wZW5lZC4gVXNlIHRoaXMgYmluZGluZyB0byBvcGVuL2Nsb3NlIHRoZSBzaWRlbmF2LlxyXG5cdCAqIERlZmF1bHRzIHRvIFwidHJ1ZVwiLlxyXG5cdCAqXHJcblx0ICogU2VlIFwiTWF0U2lkZW5hdlwiIGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5mby5cclxuXHQgKlxyXG5cdCAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL21hdGVyaWFsMi90cmVlL21hc3Rlci9zcmMvbGliL3NpZGVuYXZcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBvcGVuZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0LyoqXHJcblx0ICogb3BlbmVkPzogc3RyaW5nXHJcblx0ICpcclxuXHQgKiBXaGV0aGVyIG9yIG5vdCB0aGUgc2lkZW5hdiBpcyBvcGVuZWQuIFVzZSB0aGlzIGJpbmRpbmcgdG8gb3Blbi9jbG9zZSB0aGUgc2lkZW5hdi5cclxuXHQgKiBEZWZhdWx0cyB0byBcInRydWVcIi5cclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBvcGVuZWRHdDogc3RyaW5nID0gJ3NtJztcclxuXHJcblx0LyoqXHJcblx0ICogc2lkZW5hdldpZHRoPzogc3RyaW5nXHJcblx0ICpcclxuXHQgKiBTZXRzIHRoZSBcIndpZHRoXCIgb2YgdGhlIHNpZGVuYXYgaW4gZWl0aGVyIFwicHhcIiBvciBcIiVcIlxyXG5cdCAqIERlZmF1bHRzIHRvIFwiMjU3cHhcIi5cclxuXHQgKlxyXG5cdCAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL21hdGVyaWFsMi90cmVlL21hc3Rlci9zcmMvbGliL3NpZGVuYXZcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBzaWRlbmF2V2lkdGg6IHN0cmluZyA9ICcyMzBweCc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIHNpZGVuYXZHdFhzV2lkdGg/OiBudW1iZXJcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBzaWRlbmF2R3RYc1dpZHRoOiBudW1iZXIgPSAyMzA7XHJcblxyXG5cdC8qKlxyXG5cdCAqIENoZWNrcyBpZiBgRVNDYCBzaG91bGQgY2xvc2UgdGhlIHNpZGVuYXZcclxuXHQgKiBTaG91bGQgb25seSBjbG9zZSBpdCBmb3IgYHB1c2hgIGFuZCBgb3ZlcmAgbW9kZXNcclxuXHQgKi9cclxuXHRnZXQgZGlzYWJsZUNsb3NlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5tb2RlID09PSAnc2lkZSc7IH1cclxuXHJcblx0LyoqXHJcblx0ICogQ29uc3RydWN0b3JcclxuXHQgKi9cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIG1lZGlhOiBWZE1lZGlhU2VydmljZSkgeyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIExpZmVjeWNsZSBob29rIHRoYXQgaXMgY2FsbGVkIGFmdGVyIGRhdGEtYm91bmQgcHJvcGVydGllcyBcclxuXHQgKiBvZiBhIGRpcmVjdGl2ZSBhcmUgaW5pdGlhbGl6ZWQuXHJcblx0ICovXHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy5vcGVuZWRHdCkge1xyXG5cdFx0XHR0aGlzLm1lZGlhLnJlZ2lzdGVyUXVlcnkoYGd0LSR7dGhpcy5vcGVuZWRHdH1gKS5zdWJzY3JpYmUoKHg6IGJvb2xlYW4pID0+IHRoaXMub3BlbmVkID0geCk7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHRoaXMuc2lkZUd0KSB7XHJcblx0XHRcdHRoaXMubWVkaWEucmVnaXN0ZXJRdWVyeShgZ3QtJHt0aGlzLnNpZGVHdH1gKS5zdWJzY3JpYmUoKHg6IGJvb2xlYW4pID0+IHRoaXMubW9kZSA9IHggPyAnc2lkZScgOiAnb3ZlcicpO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmICh0aGlzLnNpZGVuYXZHdFhzV2lkdGggPiAwKSB7XHJcblx0XHRcdHRoaXMubWVkaWEucmVnaXN0ZXJRdWVyeShgZ3QteHNgKS5zdWJzY3JpYmUoKHg6IGJvb2xlYW4pID0+IHRoaXMuc2lkZW5hdldpZHRoID0geCA/IGAke3RoaXMuc2lkZW5hdkd0WHNXaWR0aH1weGAgOiAnMTAwJScpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogUHJveHkgdG9nZ2xlIG1ldGhvZCB0byBhY2Nlc3Mgc2lkZW5hdiBmcm9tIG91dHNpZGUgKGZyb20gdmQtbGF5b3V0IHRlbXBsYXRlKS5cclxuXHQgKi9cclxuXHRwdWJsaWMgdG9nZ2xlKCk6IFByb21pc2U8TWF0RHJhd2VyVG9nZ2xlUmVzdWx0PiB7IHJldHVybiB0aGlzLnNpZGVuYXYudG9nZ2xlKCF0aGlzLnNpZGVuYXYub3BlbmVkKTsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBQcm94eSBvcGVuIG1ldGhvZCB0byBhY2Nlc3Mgc2lkZW5hdiBmcm9tIG91dHNpZGUgKGZyb20gdmQtbGF5b3V0IHRlbXBsYXRlKS5cclxuXHQgKi9cclxuXHRwdWJsaWMgb3BlbigpOiBQcm9taXNlPE1hdERyYXdlclRvZ2dsZVJlc3VsdD4geyByZXR1cm4gdGhpcy5zaWRlbmF2Lm9wZW4oKTsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBQcm94eSBjbG9zZSBtZXRob2QgdG8gYWNjZXNzIHNpZGVuYXYgZnJvbSBvdXRzaWRlIChmcm9tIHZkLWxheW91dCB0ZW1wbGF0ZSkuXHJcblx0ICovXHJcblx0cHVibGljIGNsb3NlKCk6IFByb21pc2U8TWF0RHJhd2VyVG9nZ2xlUmVzdWx0PiB7IHJldHVybiB0aGlzLnNpZGVuYXYuY2xvc2UoKTsgfVxyXG59IiwiPG1hdC1zaWRlbmF2LWNvbnRhaW5lciBmdWxsc2NyZWVuIGNsYXNzPVwidmQtbGF5b3V0LW1hbmFnZS1saXN0XCI+XHJcblx0PCEtLSAjcmVnaW9uIFNpZGUgbmF2IC0tPlxyXG5cdDxtYXQtc2lkZW5hdiAjc2lkZW5hdiBwb3NpdGlvbj1cInN0YXJ0XCIgW21vZGVdPVwibW9kZVwiIFtvcGVuZWRdPVwib3BlbmVkXCIgW2Rpc2FibGVDbG9zZV09XCJkaXNhYmxlQ2xvc2VcIiBbc3R5bGUubWF4LXdpZHRoXT1cInNpZGVuYXZXaWR0aFwiIFtzdHlsZS5taW4td2lkdGhdPVwic2lkZW5hdldpZHRoXCI+XHJcblx0XHQ8IS0tICNyZWdpb24gTmF2IGxpc3QgdG9vbGJhciAtLT5cclxuXHRcdDxtYXQtdG9vbGJhciBkZW5zZSAqbmdJZj1cInRpdGxlXCI+XHJcblx0XHRcdDxzcGFuPnt7dGl0bGV9fTwvc3Bhbj5cclxuXHRcdFx0PHNwYW4gZmxleD48L3NwYW4+XHJcblx0XHRcdDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjbG9zZSgpXCIgKm5nSWY9XCJjbG9zYWJsZVwiPlxyXG5cdFx0XHRcdDxtYXQtaWNvbj5tZW51X29wZW48L21hdC1pY29uPlxyXG5cdFx0XHQ8L2J1dHRvbj5cclxuXHRcdDwvbWF0LXRvb2xiYXI+XHJcblx0XHQ8IS0tICNlbmRyZWdpb24gLS0+XHJcblxyXG5cdFx0PCEtLSAjcmVnaW9uIEN1c3RvbSB0aXRsZSB0b29sYmFyIC0tPlxyXG5cdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwibWF0LXRvb2xiYXJbdmQtc2lkZW5hdi1jb250ZW50XVwiPjwvbmctY29udGVudD5cclxuXHRcdDwhLS0gI2VuZHJlZ2lvbiAtLT5cclxuXHJcblx0XHQ8ZGl2IGNsYXNzPVwidmQtbGF5b3V0LW1hbmFnZS1saXN0LXNpZGVuYXZcIiBjZGtTY3JvbGxhYmxlPlxyXG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbdmQtc2lkZW5hdi1jb250ZW50XVwiPjwvbmctY29udGVudD5cclxuXHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwidmQtbWVudVwiPjwvbmctY29udGVudD5cclxuXHRcdFx0PHZkLW1lbnUgW2l0ZW1zXT1cIm1lbnVJdGVtc1wiICpuZ0lmPVwibWVudUl0ZW1zXCI+PC92ZC1tZW51PlxyXG5cdFx0PC9kaXY+XHJcblx0PC9tYXQtc2lkZW5hdj5cclxuXHQ8IS0tICNlbmRyZWdpb24gLS0+XHJcblxyXG5cdDwhLS0gI3JlZ2lvbiBNYWluIGNvbnRlbnQgLS0+XHJcblx0PGRpdiBjbGFzcz1cInZkLWxheW91dC1tYW5hZ2UtbGlzdC1tYWluXCI+XHJcblx0XHQ8IS0tICNyZWdpb24gVG9vbGJhciBwcm9qZWN0aW9uIC0tPlxyXG5cdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwibWF0LXRvb2xiYXJcIj48L25nLWNvbnRlbnQ+XHJcblx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJ2ZC1saXN0LXRvb2xiYXJcIj48L25nLWNvbnRlbnQ+XHJcblx0XHQ8IS0tICNlbmRyZWdpb24gLS0+XHJcblxyXG5cdFx0PCEtLSAjcmVnaW9uIFNjcm9sbGFibGUgY29udGVudCAtLT5cclxuXHRcdDxkaXYgY2xhc3M9XCJ2ZC1sYXlvdXQtbWFuYWdlLWxpc3QtY29udGVudFwiIGNka1Njcm9sbGFibGU+XHJcblx0XHRcdDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PCEtLSAjZW5kcmVnaW9uIC0tPlxyXG5cclxuXHRcdDwhLS0gI3JlZ2lvbiBGb290ZXIgY29udGVudCAtLT5cclxuXHRcdDxuZy1jb250ZW50IHNlbGVjdD1cInZkLWxheW91dC1mb290ZXItaW5uZXJcIj48L25nLWNvbnRlbnQ+XHJcblx0XHQ8IS0tICNlbmRyZWdpb24gLS0+XHJcblx0PC9kaXY+XHJcblx0PCEtLSAjZW5kcmVnaW9uIC0tPlxyXG48L21hdC1zaWRlbmF2LWNvbnRhaW5lcj4iXX0=
@@ -1,9 +1,28 @@
1
- import { Component, Input, ViewChild } from '@angular/core';
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
2
  import { MatSidenav } from '@angular/material/sidenav';
3
+ import { VdMediaService } from '../media/services/media.service';
3
4
  import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/material/sidenav";
5
+ import * as i1 from "../media/services/media.service";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@angular/material/sidenav";
5
8
  export class VdLayoutComponent {
6
- constructor() {
9
+ /**
10
+ * Constructor
11
+ */
12
+ constructor(media) {
13
+ this.media = media;
14
+ /**
15
+ * @field
16
+ */
17
+ this._sidenavWidth = '320px';
18
+ /**
19
+ * @field
20
+ */
21
+ this._mini = false;
22
+ /**
23
+ * @field
24
+ */
25
+ this._mobile = false;
7
26
  /**
8
27
  * mode?: 'side', 'push' or 'over'
9
28
  *
@@ -26,21 +45,70 @@ export class VdLayoutComponent {
26
45
  */
27
46
  this.opened = false;
28
47
  /**
29
- * sidenavWidth?: string
30
- *
31
- * Sets the "width" of the sidenav in either "px" or "%"
32
- * Defaults to "320px".
33
- *
34
- * https://github.com/angular/material2/tree/master/src/lib/sidenav
48
+ * Expands the mini menu
49
+ */
50
+ this.expanded = false;
51
+ /**
52
+ * overGt?: string
35
53
  */
36
- this.sidenavWidth = '320px';
54
+ this.sideGt = 'sm';
55
+ /**
56
+ * Event emitted when the drawer expand state is changed.
57
+ */
58
+ this.expandedChange = new EventEmitter();
37
59
  }
60
+ /**
61
+ * @property
62
+ */
63
+ get mini() { return this._mini && !this._mobile; }
64
+ ;
65
+ set mini(mini) {
66
+ this._mini = mini;
67
+ if (this._mini === true) {
68
+ this.mode = 'side';
69
+ this.opened = true;
70
+ }
71
+ }
72
+ /**
73
+ * @property
74
+ */
75
+ get mobile() { return this._mobile; }
76
+ ;
77
+ /**
78
+ * sidenavWidth?: string
79
+ *
80
+ * Sets the "width" of the sidenav in either "px" or "%"
81
+ * Defaults to "320px".
82
+ *
83
+ * https://github.com/angular/material2/tree/master/src/lib/sidenav
84
+ */
85
+ set sidenavWidth(sidenavWidth) { this._sidenavWidth = sidenavWidth; }
86
+ ;
87
+ get sidenavWidth() { return this.mini && !this.expanded ? '60px' : this._sidenavWidth; }
88
+ ;
38
89
  /**
39
90
  * Checks if `ESC` should close the sidenav
40
91
  * Should only close it for `push` and `over` modes
41
92
  */
42
- get disableClose() {
43
- return this.mode === 'side';
93
+ get disableClose() { return this.mode === 'side'; }
94
+ /**
95
+ * Called after the constructor, initializing input properties, and the first call to ngOnChanges.
96
+ * Add 'implements OnInit' to the class.
97
+ */
98
+ ngOnInit() {
99
+ this.sidenav.closedStart?.subscribe(x => {
100
+ if (this.mini) {
101
+ this.colapse();
102
+ }
103
+ });
104
+ if (this.sideGt) {
105
+ this.media.registerQuery(`gt-${this.sideGt}`).subscribe((x) => {
106
+ this._mobile = !x;
107
+ this.mode = this._mobile ? 'over' : (this._mini ? 'side' : 'over');
108
+ this.opened = this._mobile ? false : this._mini;
109
+ this.expanded = false;
110
+ });
111
+ }
44
112
  }
45
113
  /**
46
114
  * Proxy toggle method to access sidenav from outside (from vd-layout template).
@@ -60,23 +128,47 @@ export class VdLayoutComponent {
60
128
  close() {
61
129
  return this.sidenav.close();
62
130
  }
131
+ /**
132
+ * Proxy expand method to access sidenav from outside (from vd-layout template).
133
+ */
134
+ expand() {
135
+ this.expanded = true;
136
+ this.mode = 'over';
137
+ this.opened = true;
138
+ this.expandedChange.emit(true);
139
+ return this.sidenav.open();
140
+ }
141
+ /**
142
+ * Proxy expand method to access sidenav from outside (from vd-layout template).
143
+ */
144
+ colapse() {
145
+ this.expanded = false;
146
+ this.mode = 'side';
147
+ this.expandedChange.emit(false);
148
+ return this.sidenav.open();
149
+ }
63
150
  }
64
- /** @nocollapse */ VdLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: VdLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
65
- /** @nocollapse */ VdLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: VdLayoutComponent, selector: "vd-layout", inputs: { mode: "mode", opened: "opened", sidenavWidth: "sidenavWidth" }, viewQueries: [{ propertyName: "sidenav", first: true, predicate: MatSidenav, descendants: true, static: true }], ngImport: i0, template: "<mat-sidenav-container fullscreen>\r\n\t<mat-sidenav #sidenav class=\"vd-layout-sidenav\" [mode]=\"mode\" [opened]=\"opened\" [style.max-width]=\"sidenavWidth\" [style.min-width]=\"sidenavWidth\"\r\n\t [disableClose]=\"disableClose\">\r\n\t\t<ng-content select=\"vd-navigation-drawer\"></ng-content>\r\n\t\t<ng-content select=\"[vd-sidenav-content]\"></ng-content>\r\n\t</mat-sidenav>\r\n\t<ng-content></ng-content>\r\n</mat-sidenav-container>", styles: [":host{display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host ::ng-deep>mat-sidenav-container>mat-sidenav{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "component", type: i1.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i1.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }] });
151
+ /** @nocollapse */ VdLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: VdLayoutComponent, deps: [{ token: i1.VdMediaService }], target: i0.ɵɵFactoryTarget.Component });
152
+ /** @nocollapse */ VdLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: VdLayoutComponent, selector: "vd-layout", inputs: { mode: "mode", opened: "opened", mini: "mini", expanded: "expanded", sideGt: "sideGt", sidenavWidth: "sidenavWidth" }, outputs: { expandedChange: "expandedChange" }, viewQueries: [{ propertyName: "sidenav", first: true, predicate: MatSidenav, descendants: true, static: true }], ngImport: i0, template: "<mat-sidenav-container fullscreen [ngClass]=\"{'sidenav-container-mini': mini}\">\r\n\t<mat-sidenav #sidenav class=\"vd-layout-sidenav\" [mode]=\"mode\" [opened]=\"opened\" [ngClass]=\"{'sidenav-mini': mini && !expanded}\" [style.max-width]=\"sidenavWidth\" [style.min-width]=\"sidenavWidth\" [disableClose]=\"disableClose\">\r\n\t\t<ng-content select=\"vd-navigation-drawer\"></ng-content>\r\n\t\t<ng-content select=\"[vd-sidenav-content]\"></ng-content>\r\n\t</mat-sidenav>\r\n\t<ng-content></ng-content>\r\n</mat-sidenav-container>", styles: [":host{display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host ::ng-deep>mat-sidenav-container>mat-sidenav{display:flex;flex-direction:column}:host ::ng-deep>mat-sidenav-container .vd-layout-menu-button{margin-left:-16px}:host ::ng-deep>mat-sidenav-container.sidenav-container-mini .vd-layout-nav-wrapper>mat-toolbar .vd-layout-menu-button{display:none!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i3.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }] });
66
153
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: VdLayoutComponent, decorators: [{
67
154
  type: Component,
68
- args: [{ selector: 'vd-layout', template: "<mat-sidenav-container fullscreen>\r\n\t<mat-sidenav #sidenav class=\"vd-layout-sidenav\" [mode]=\"mode\" [opened]=\"opened\" [style.max-width]=\"sidenavWidth\" [style.min-width]=\"sidenavWidth\"\r\n\t [disableClose]=\"disableClose\">\r\n\t\t<ng-content select=\"vd-navigation-drawer\"></ng-content>\r\n\t\t<ng-content select=\"[vd-sidenav-content]\"></ng-content>\r\n\t</mat-sidenav>\r\n\t<ng-content></ng-content>\r\n</mat-sidenav-container>", styles: [":host{display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host ::ng-deep>mat-sidenav-container>mat-sidenav{display:flex;flex-direction:column}\n"] }]
69
- }], propDecorators: { sidenav: [{
155
+ args: [{ selector: 'vd-layout', template: "<mat-sidenav-container fullscreen [ngClass]=\"{'sidenav-container-mini': mini}\">\r\n\t<mat-sidenav #sidenav class=\"vd-layout-sidenav\" [mode]=\"mode\" [opened]=\"opened\" [ngClass]=\"{'sidenav-mini': mini && !expanded}\" [style.max-width]=\"sidenavWidth\" [style.min-width]=\"sidenavWidth\" [disableClose]=\"disableClose\">\r\n\t\t<ng-content select=\"vd-navigation-drawer\"></ng-content>\r\n\t\t<ng-content select=\"[vd-sidenav-content]\"></ng-content>\r\n\t</mat-sidenav>\r\n\t<ng-content></ng-content>\r\n</mat-sidenav-container>", styles: [":host{display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host ::ng-deep>mat-sidenav-container>mat-sidenav{display:flex;flex-direction:column}:host ::ng-deep>mat-sidenav-container .vd-layout-menu-button{margin-left:-16px}:host ::ng-deep>mat-sidenav-container.sidenav-container-mini .vd-layout-nav-wrapper>mat-toolbar .vd-layout-menu-button{display:none!important}\n"] }]
156
+ }], ctorParameters: function () { return [{ type: i1.VdMediaService }]; }, propDecorators: { sidenav: [{
70
157
  type: ViewChild,
71
158
  args: [MatSidenav, { static: true }]
72
159
  }], mode: [{
73
- type: Input,
74
- args: ['mode']
160
+ type: Input
75
161
  }], opened: [{
76
- type: Input,
77
- args: ['opened']
162
+ type: Input
163
+ }], mini: [{
164
+ type: Input
165
+ }], expanded: [{
166
+ type: Input
167
+ }], sideGt: [{
168
+ type: Input
169
+ }], expandedChange: [{
170
+ type: Output
78
171
  }], sidenavWidth: [{
79
- type: Input,
80
- args: ['sidenavWidth']
172
+ type: Input
81
173
  }] } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2xheW91dC9sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvbGF5b3V0L2xheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFRdkQsTUFBTSxPQUFPLGlCQUFpQjtJQUw5QjtRQVNDOzs7Ozs7OztXQVFHO1FBQ1ksU0FBSSxHQUE2QixNQUFNLENBQUM7UUFFdkQ7Ozs7Ozs7OztXQVNHO1FBQ2MsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUV6Qzs7Ozs7OztXQU9HO1FBQ29CLGlCQUFZLEdBQVcsT0FBTyxDQUFDO0tBK0J0RDtJQTdCQTs7O09BR0c7SUFDSCxJQUFJLFlBQVk7UUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU07UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxJQUFJO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUs7UUFDWCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7aUlBaEVXLGlCQUFpQjtxSEFBakIsaUJBQWlCLG9LQUVsQixVQUFVLDhEQ1p0Qiw2YkFPd0I7MkZER1gsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNDLFdBQVc7OEJBTW9CLE9BQU87c0JBQS9DLFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFXeEIsSUFBSTtzQkFBbEIsS0FBSzt1QkFBQyxNQUFNO2dCQVlJLE1BQU07c0JBQXRCLEtBQUs7dUJBQUMsUUFBUTtnQkFVUSxZQUFZO3NCQUFsQyxLQUFLO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RHJhd2VyVG9nZ2xlUmVzdWx0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XHJcbmltcG9ydCB7IE1hdFNpZGVuYXYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcclxuaW1wb3J0IHsgSUxheW91dFRvZ2dsYWJsZSB9IGZyb20gJy4vbGF5b3V0LXRvZ2dsZS5jbGFzcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ3ZkLWxheW91dCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vbGF5b3V0LmNvbXBvbmVudC5zY3NzJ10sXHJcblx0dGVtcGxhdGVVcmw6ICcuL2xheW91dC5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWZExheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIElMYXlvdXRUb2dnbGFibGUge1xyXG5cclxuXHRAVmlld0NoaWxkKE1hdFNpZGVuYXYsIHsgc3RhdGljOiB0cnVlIH0pIHNpZGVuYXY6IE1hdFNpZGVuYXY7XHJcblxyXG5cdC8qKlxyXG5cdCAqIG1vZGU/OiAnc2lkZScsICdwdXNoJyBvciAnb3ZlcidcclxuXHQgKlxyXG5cdCAqIFRoZSBtb2RlIG9yIHN0eWxpbmcgb2YgdGhlIHNpZGVuYXYuXHJcblx0ICogRGVmYXVsdHMgdG8gXCJvdmVyXCIuXHJcblx0ICogU2VlIFwiTWF0U2lkZW5hdlwiIGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5mby5cclxuXHQgKlxyXG5cdCAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL21hdGVyaWFsMi90cmVlL21hc3Rlci9zcmMvbGliL3NpZGVuYXZcclxuXHQgKi9cclxuXHRASW5wdXQoJ21vZGUnKSBtb2RlOiAnc2lkZScgfCAncHVzaCcgfCAnb3ZlcicgPSAnb3Zlcic7XHJcblxyXG5cdC8qKlxyXG5cdCAqIG9wZW5lZD86IGJvb2xlYW5cclxuXHQgKlxyXG5cdCAqIFdoZXRoZXIgb3Igbm90IHRoZSBzaWRlbmF2IGlzIG9wZW5lZC4gVXNlIHRoaXMgYmluZGluZyB0byBvcGVuL2Nsb3NlIHRoZSBzaWRlbmF2LlxyXG5cdCAqIERlZmF1bHRzIHRvIFwiZmFsc2VcIi5cclxuXHQgKlxyXG5cdCAqIFNlZSBcIk1hdFNpZGVuYXZcIiBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGluZm8uXHJcblx0ICpcclxuXHQgKiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9tYXRlcmlhbDIvdHJlZS9tYXN0ZXIvc3JjL2xpYi9zaWRlbmF2XHJcblx0ICovXHJcblx0QElucHV0KCdvcGVuZWQnKSBvcGVuZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0LyoqXHJcblx0ICogc2lkZW5hdldpZHRoPzogc3RyaW5nXHJcblx0ICpcclxuXHQgKiBTZXRzIHRoZSBcIndpZHRoXCIgb2YgdGhlIHNpZGVuYXYgaW4gZWl0aGVyIFwicHhcIiBvciBcIiVcIlxyXG5cdCAqIERlZmF1bHRzIHRvIFwiMzIwcHhcIi5cclxuXHQgKlxyXG5cdCAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL21hdGVyaWFsMi90cmVlL21hc3Rlci9zcmMvbGliL3NpZGVuYXZcclxuXHQgKi9cclxuXHRASW5wdXQoJ3NpZGVuYXZXaWR0aCcpIHNpZGVuYXZXaWR0aDogc3RyaW5nID0gJzMyMHB4JztcclxuXHJcblx0LyoqXHJcblx0ICogQ2hlY2tzIGlmIGBFU0NgIHNob3VsZCBjbG9zZSB0aGUgc2lkZW5hdlxyXG5cdCAqIFNob3VsZCBvbmx5IGNsb3NlIGl0IGZvciBgcHVzaGAgYW5kIGBvdmVyYCBtb2Rlc1xyXG5cdCAqL1xyXG5cdGdldCBkaXNhYmxlQ2xvc2UoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5tb2RlID09PSAnc2lkZSc7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBQcm94eSB0b2dnbGUgbWV0aG9kIHRvIGFjY2VzcyBzaWRlbmF2IGZyb20gb3V0c2lkZSAoZnJvbSB2ZC1sYXlvdXQgdGVtcGxhdGUpLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyB0b2dnbGUoKTogUHJvbWlzZTxNYXREcmF3ZXJUb2dnbGVSZXN1bHQ+IHtcclxuXHRcdHJldHVybiB0aGlzLnNpZGVuYXYudG9nZ2xlKCF0aGlzLnNpZGVuYXYub3BlbmVkKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFByb3h5IG9wZW4gbWV0aG9kIHRvIGFjY2VzcyBzaWRlbmF2IGZyb20gb3V0c2lkZSAoZnJvbSB2ZC1sYXlvdXQgdGVtcGxhdGUpLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyBvcGVuKCk6IFByb21pc2U8TWF0RHJhd2VyVG9nZ2xlUmVzdWx0PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5zaWRlbmF2Lm9wZW4oKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFByb3h5IGNsb3NlIG1ldGhvZCB0byBhY2Nlc3Mgc2lkZW5hdiBmcm9tIG91dHNpZGUgKGZyb20gdmQtbGF5b3V0IHRlbXBsYXRlKS5cclxuXHQgKi9cclxuXHRwdWJsaWMgY2xvc2UoKTogUHJvbWlzZTxNYXREcmF3ZXJUb2dnbGVSZXN1bHQ+IHtcclxuXHRcdHJldHVybiB0aGlzLnNpZGVuYXYuY2xvc2UoKTtcclxuXHR9XHJcblxyXG59XHJcbiIsIjxtYXQtc2lkZW5hdi1jb250YWluZXIgZnVsbHNjcmVlbj5cclxuXHQ8bWF0LXNpZGVuYXYgI3NpZGVuYXYgY2xhc3M9XCJ2ZC1sYXlvdXQtc2lkZW5hdlwiIFttb2RlXT1cIm1vZGVcIiBbb3BlbmVkXT1cIm9wZW5lZFwiIFtzdHlsZS5tYXgtd2lkdGhdPVwic2lkZW5hdldpZHRoXCIgW3N0eWxlLm1pbi13aWR0aF09XCJzaWRlbmF2V2lkdGhcIlxyXG5cdCBbZGlzYWJsZUNsb3NlXT1cImRpc2FibGVDbG9zZVwiPlxyXG5cdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwidmQtbmF2aWdhdGlvbi1kcmF3ZXJcIj48L25nLWNvbnRlbnQ+XHJcblx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbdmQtc2lkZW5hdi1jb250ZW50XVwiPjwvbmctY29udGVudD5cclxuXHQ8L21hdC1zaWRlbmF2PlxyXG5cdDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9tYXQtc2lkZW5hdi1jb250YWluZXI+Il19
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2xheW91dC9sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvbGF5b3V0L2xheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQXlCLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7QUFRakUsTUFBTSxPQUFPLGlCQUFpQjtJQXNHN0I7O09BRUc7SUFDSCxZQUFvQixLQUFxQjtRQUFyQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQXZHekM7O1dBRUc7UUFDSyxrQkFBYSxHQUFXLE9BQU8sQ0FBQztRQUV4Qzs7V0FFRztRQUNLLFVBQUssR0FBWSxLQUFLLENBQUM7UUFFL0I7O1dBRUc7UUFDSyxZQUFPLEdBQVksS0FBSyxDQUFDO1FBUWpDOzs7Ozs7OztXQVFHO1FBRUksU0FBSSxHQUE2QixNQUFNLENBQUM7UUFFL0M7Ozs7Ozs7OztXQVNHO1FBRUksV0FBTSxHQUFZLEtBQUssQ0FBQztRQW9CL0I7O1dBRUc7UUFFSSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRWpDOztXQUVHO1FBRUksV0FBTSxHQUFXLElBQUksQ0FBQztRQUU3Qjs7V0FFRztRQUVJLG1CQUFjLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7SUF1QjlCLENBQUM7SUF6RDlDOztPQUVHO0lBQ0gsSUFDVyxJQUFJLEtBQWMsT0FBTyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFD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QVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7UUFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7O2lJQXhLVyxpQkFBaUI7cUhBQWpCLGlCQUFpQix5UUFvQmxCLFVBQVUsOERDOUJ0Qix3aEJBTXdCOzJGRElYLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDQyxXQUFXO3FHQXlCZCxPQUFPO3NCQURiLFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFhaEMsSUFBSTtzQkFEVixLQUFLO2dCQWNDLE1BQU07c0JBRFosS0FBSztnQkFPSyxJQUFJO3NCQURkLEtBQUs7Z0JBbUJDLFFBQVE7c0JBRGQsS0FBSztnQkFPQyxNQUFNO3NCQURaLEtBQUs7Z0JBT0MsY0FBYztzQkFEcEIsTUFBTTtnQkFZSSxZQUFZO3NCQUR0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREcmF3ZXJUb2dnbGVSZXN1bHQsIE1hdFNpZGVuYXYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcclxuaW1wb3J0IHsgVmRNZWRpYVNlcnZpY2UgfSBmcm9tICcuLi9tZWRpYS9zZXJ2aWNlcy9tZWRpYS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSUxheW91dFRvZ2dsYWJsZSB9IGZyb20gJy4vbGF5b3V0LXRvZ2dsZS5jbGFzcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ3ZkLWxheW91dCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vbGF5b3V0LmNvbXBvbmVudC5zY3NzJ10sXHJcblx0dGVtcGxhdGVVcmw6ICcuL2xheW91dC5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWZExheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIElMYXlvdXRUb2dnbGFibGUge1xyXG5cclxuXHQvKipcclxuXHQgKiBAZmllbGRcclxuXHQgKi9cclxuXHRwcml2YXRlIF9zaWRlbmF2V2lkdGg6IHN0cmluZyA9ICczMjBweCc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIEBmaWVsZFxyXG5cdCAqL1xyXG5cdHByaXZhdGUgX21pbmk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0LyoqXHJcblx0ICogQGZpZWxkXHJcblx0ICovXHJcblx0cHJpdmF0ZSBfbW9iaWxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG5cdC8qKlxyXG5cdCAqIEBwcm9wZXJ0eVxyXG5cdCAqL1xyXG5cdEBWaWV3Q2hpbGQoTWF0U2lkZW5hdiwgeyBzdGF0aWM6IHRydWUgfSlcclxuXHRwdWJsaWMgc2lkZW5hdjogTWF0U2lkZW5hdjtcclxuXHJcblx0LyoqXHJcblx0ICogbW9kZT86ICdzaWRlJywgJ3B1c2gnIG9yICdvdmVyJ1xyXG5cdCAqXHJcblx0ICogVGhlIG1vZGUgb3Igc3R5bGluZyBvZiB0aGUgc2lkZW5hdi5cclxuXHQgKiBEZWZhdWx0cyB0byBcIm92ZXJcIi5cclxuXHQgKiBTZWUgXCJNYXRTaWRlbmF2XCIgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBpbmZvLlxyXG5cdCAqXHJcblx0ICogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvbWF0ZXJpYWwyL3RyZWUvbWFzdGVyL3NyYy9saWIvc2lkZW5hdlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIG1vZGU6ICdzaWRlJyB8ICdwdXNoJyB8ICdvdmVyJyA9ICdvdmVyJztcclxuXHJcblx0LyoqXHJcblx0ICogb3BlbmVkPzogYm9vbGVhblxyXG5cdCAqXHJcblx0ICogV2hldGhlciBvciBub3QgdGhlIHNpZGVuYXYgaXMgb3BlbmVkLiBVc2UgdGhpcyBiaW5kaW5nIHRvIG9wZW4vY2xvc2UgdGhlIHNpZGVuYXYuXHJcblx0ICogRGVmYXVsdHMgdG8gXCJmYWxzZVwiLlxyXG5cdCAqXHJcblx0ICogU2VlIFwiTWF0U2lkZW5hdlwiIGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5mby5cclxuXHQgKlxyXG5cdCAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL21hdGVyaWFsMi90cmVlL21hc3Rlci9zcmMvbGliL3NpZGVuYXZcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBvcGVuZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0LyoqXHJcblx0ICogQHByb3BlcnR5XHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgZ2V0IG1pbmkoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9taW5pICYmICF0aGlzLl9tb2JpbGU7IH07XHJcblx0cHVibGljIHNldCBtaW5pKG1pbmkpIHtcclxuXHRcdHRoaXMuX21pbmkgPSBtaW5pO1xyXG5cdFx0aWYgKHRoaXMuX21pbmkgPT09IHRydWUpIHtcclxuXHRcdFx0dGhpcy5tb2RlID0gJ3NpZGUnO1xyXG5cdFx0XHR0aGlzLm9wZW5lZCA9IHRydWU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBAcHJvcGVydHlcclxuXHQgKi9cclxuXHRwdWJsaWMgZ2V0IG1vYmlsZSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX21vYmlsZTsgfTtcclxuXHJcblx0LyoqXHJcblx0ICogRXhwYW5kcyB0aGUgbWluaSBtZW51XHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgZXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0LyoqXHJcblx0ICogb3Zlckd0Pzogc3RyaW5nXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgc2lkZUd0OiBzdHJpbmcgPSAnc20nO1xyXG5cclxuXHQvKiogXHJcblx0ICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBkcmF3ZXIgZXhwYW5kIHN0YXRlIGlzIGNoYW5nZWQuXHJcblx0ICovXHJcblx0QE91dHB1dCgpXHJcblx0cHVibGljIGV4cGFuZGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG5cdC8qKlxyXG5cdCAqIHNpZGVuYXZXaWR0aD86IHN0cmluZ1xyXG5cdCAqXHJcblx0ICogU2V0cyB0aGUgXCJ3aWR0aFwiIG9mIHRoZSBzaWRlbmF2IGluIGVpdGhlciBcInB4XCIgb3IgXCIlXCJcclxuXHQgKiBEZWZhdWx0cyB0byBcIjMyMHB4XCIuXHJcblx0ICpcclxuXHQgKiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9tYXRlcmlhbDIvdHJlZS9tYXN0ZXIvc3JjL2xpYi9zaWRlbmF2XHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgc2V0IHNpZGVuYXZXaWR0aChzaWRlbmF2V2lkdGgpIHsgdGhpcy5fc2lkZW5hdldpZHRoID0gc2lkZW5hdldpZHRoOyB9O1xyXG5cdHB1YmxpYyBnZXQgc2lkZW5hdldpZHRoKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLm1pbmkgJiYgIXRoaXMuZXhwYW5kZWQgPyAnNjBweCcgOiB0aGlzLl9zaWRlbmF2V2lkdGg7IH07XHJcblxyXG5cdC8qKlxyXG5cdCAqIENoZWNrcyBpZiBgRVNDYCBzaG91bGQgY2xvc2UgdGhlIHNpZGVuYXZcclxuXHQgKiBTaG91bGQgb25seSBjbG9zZSBpdCBmb3IgYHB1c2hgIGFuZCBgb3ZlcmAgbW9kZXNcclxuXHQgKi9cclxuXHRwdWJsaWMgZ2V0IGRpc2FibGVDbG9zZSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMubW9kZSA9PT0gJ3NpZGUnOyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENvbnN0cnVjdG9yXHJcblx0ICovXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBtZWRpYTogVmRNZWRpYVNlcnZpY2UpIHsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBDYWxsZWQgYWZ0ZXIgdGhlIGNvbnN0cnVjdG9yLCBpbml0aWFsaXppbmcgaW5wdXQgcHJvcGVydGllcywgYW5kIHRoZSBmaXJzdCBjYWxsIHRvIG5nT25DaGFuZ2VzLlxyXG5cdCAqIEFkZCAnaW1wbGVtZW50cyBPbkluaXQnIHRvIHRoZSBjbGFzcy5cclxuXHQgKi9cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMuc2lkZW5hdi5jbG9zZWRTdGFydD8uc3Vic2NyaWJlKHggPT4ge1xyXG5cdFx0XHRpZiAodGhpcy5taW5pKSB7XHJcblx0XHRcdFx0dGhpcy5jb2xhcHNlKCk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cclxuXHRcdGlmICh0aGlzLnNpZGVHdCkge1xyXG5cdFx0XHR0aGlzLm1lZGlhLnJlZ2lzdGVyUXVlcnkoYGd0LSR7dGhpcy5zaWRlR3R9YCkuc3Vic2NyaWJlKCh4OiBib29sZWFuKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5fbW9iaWxlID0gIXg7XHJcblx0XHRcdFx0dGhpcy5tb2RlID0gdGhpcy5fbW9iaWxlID8gJ292ZXInIDogKHRoaXMuX21pbmkgPyAnc2lkZScgOiAnb3ZlcicpO1xyXG5cdFx0XHRcdHRoaXMub3BlbmVkID0gdGhpcy5fbW9iaWxlID8gZmFsc2UgOiB0aGlzLl9taW5pO1xyXG5cdFx0XHRcdHRoaXMuZXhwYW5kZWQgPSBmYWxzZTtcclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBQcm94eSB0b2dnbGUgbWV0aG9kIHRvIGFjY2VzcyBzaWRlbmF2IGZyb20gb3V0c2lkZSAoZnJvbSB2ZC1sYXlvdXQgdGVtcGxhdGUpLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyB0b2dnbGUoKTogUHJvbWlzZTxNYXREcmF3ZXJUb2dnbGVSZXN1bHQ+IHtcclxuXHRcdHJldHVybiB0aGlzLnNpZGVuYXYudG9nZ2xlKCF0aGlzLnNpZGVuYXYub3BlbmVkKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFByb3h5IG9wZW4gbWV0aG9kIHRvIGFjY2VzcyBzaWRlbmF2IGZyb20gb3V0c2lkZSAoZnJvbSB2ZC1sYXlvdXQgdGVtcGxhdGUpLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyBvcGVuKCk6IFByb21pc2U8TWF0RHJhd2VyVG9nZ2xlUmVzdWx0PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5zaWRlbmF2Lm9wZW4oKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFByb3h5IGNsb3NlIG1ldGhvZCB0byBhY2Nlc3Mgc2lkZW5hdiBmcm9tIG91dHNpZGUgKGZyb20gdmQtbGF5b3V0IHRlbXBsYXRlKS5cclxuXHQgKi9cclxuXHRwdWJsaWMgY2xvc2UoKTogUHJvbWlzZTxNYXREcmF3ZXJUb2dnbGVSZXN1bHQ+IHtcclxuXHRcdHJldHVybiB0aGlzLnNpZGVuYXYuY2xvc2UoKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFByb3h5IGV4cGFuZCBtZXRob2QgdG8gYWNjZXNzIHNpZGVuYXYgZnJvbSBvdXRzaWRlIChmcm9tIHZkLWxheW91dCB0ZW1wbGF0ZSkuXHJcblx0ICovXHJcblx0cHVibGljIGV4cGFuZCgpOiBQcm9taXNlPE1hdERyYXdlclRvZ2dsZVJlc3VsdD4ge1xyXG5cdFx0dGhpcy5leHBhbmRlZCA9IHRydWU7XHJcblx0XHR0aGlzLm1vZGUgPSAnb3Zlcic7XHJcblx0XHR0aGlzLm9wZW5lZCA9IHRydWU7XHJcblx0XHR0aGlzLmV4cGFuZGVkQ2hhbmdlLmVtaXQodHJ1ZSk7XHJcblx0XHRyZXR1cm4gdGhpcy5zaWRlbmF2Lm9wZW4oKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFByb3h5IGV4cGFuZCBtZXRob2QgdG8gYWNjZXNzIHNpZGVuYXYgZnJvbSBvdXRzaWRlIChmcm9tIHZkLWxheW91dCB0ZW1wbGF0ZSkuXHJcblx0ICovXHJcblx0cHVibGljIGNvbGFwc2UoKTogUHJvbWlzZTxNYXREcmF3ZXJUb2dnbGVSZXN1bHQ+IHtcclxuXHRcdHRoaXMuZXhwYW5kZWQgPSBmYWxzZTtcclxuXHRcdHRoaXMubW9kZSA9ICdzaWRlJztcclxuXHRcdHRoaXMuZXhwYW5kZWRDaGFuZ2UuZW1pdChmYWxzZSk7XHJcblx0XHRyZXR1cm4gdGhpcy5zaWRlbmF2Lm9wZW4oKTtcclxuXHR9XHJcbn1cclxuIiwiPG1hdC1zaWRlbmF2LWNvbnRhaW5lciBmdWxsc2NyZWVuIFtuZ0NsYXNzXT1cInsnc2lkZW5hdi1jb250YWluZXItbWluaSc6IG1pbml9XCI+XHJcblx0PG1hdC1zaWRlbmF2ICNzaWRlbmF2IGNsYXNzPVwidmQtbGF5b3V0LXNpZGVuYXZcIiBbbW9kZV09XCJtb2RlXCIgW29wZW5lZF09XCJvcGVuZWRcIiBbbmdDbGFzc109XCJ7J3NpZGVuYXYtbWluaSc6IG1pbmkgJiYgIWV4cGFuZGVkfVwiIFtzdHlsZS5tYXgtd2lkdGhdPVwic2lkZW5hdldpZHRoXCIgW3N0eWxlLm1pbi13aWR0aF09XCJzaWRlbmF2V2lkdGhcIiBbZGlzYWJsZUNsb3NlXT1cImRpc2FibGVDbG9zZVwiPlxyXG5cdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwidmQtbmF2aWdhdGlvbi1kcmF3ZXJcIj48L25nLWNvbnRlbnQ+XHJcblx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbdmQtc2lkZW5hdi1jb250ZW50XVwiPjwvbmctY29udGVudD5cclxuXHQ8L21hdC1zaWRlbmF2PlxyXG5cdDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9tYXQtc2lkZW5hdi1jb250YWluZXI+Il19
@@ -2,15 +2,17 @@ import { Component, ContentChildren, Directive, forwardRef, Inject, Input, Optio
2
2
  import { DomSanitizer } from '@angular/platform-browser';
3
3
  import { Router } from '@angular/router';
4
4
  import { vdCollapseAnimation } from '../../common/animations/collapse/collapse.animation';
5
+ import { VdMediaService } from '../../media/services/media.service';
5
6
  import { VdLayoutComponent } from '../layout.component';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "@angular/router";
8
9
  import * as i2 from "@angular/platform-browser";
9
- import * as i3 from "@angular/common";
10
- import * as i4 from "@angular/material/toolbar";
11
- import * as i5 from "@angular/material/button";
12
- import * as i6 from "@angular/material/icon";
13
- import * as i7 from "../layout.component";
10
+ import * as i3 from "../../media/services/media.service";
11
+ import * as i4 from "@angular/common";
12
+ import * as i5 from "@angular/material/toolbar";
13
+ import * as i6 from "@angular/material/button";
14
+ import * as i7 from "@angular/material/icon";
15
+ import * as i8 from "../layout.component";
14
16
  export class VdNavigationDrawerMenuDirective {
15
17
  }
16
18
  /** @nocollapse */ VdNavigationDrawerMenuDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: VdNavigationDrawerMenuDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
@@ -34,14 +36,23 @@ export class VdNavigationDrawerComponent {
34
36
  * @param _router
35
37
  * @param _sanitize
36
38
  */
37
- constructor(_layout, _router, _sanitize) {
39
+ constructor(_layout, _router, _sanitize, media) {
38
40
  this._layout = _layout;
39
41
  this._router = _router;
40
42
  this._sanitize = _sanitize;
43
+ this.media = media;
44
+ /**
45
+ * @field
46
+ */
41
47
  this._menuToggled = false;
42
- }
43
- get menuToggled() {
44
- return this._menuToggled;
48
+ /**
49
+ * Expands the mini menu
50
+ */
51
+ this.expanded = false;
52
+ /**
53
+ * overGt?: string
54
+ */
55
+ this.sideGt = 'sm';
45
56
  }
46
57
  /**
47
58
  * Checks if there is a [TdNavigationDrawerMenuDirective] has content.
@@ -55,6 +66,10 @@ export class VdNavigationDrawerComponent {
55
66
  * Checks if there is a background image for the toolbar.
56
67
  */
57
68
  get isBackgroundAvailable() { return !!this._backgroundImage; }
69
+ /**
70
+ * @property
71
+ */
72
+ get menuToggled() { return this._menuToggled; }
58
73
  /**
59
74
  * backgroundUrl?: SafeResourceUrl
60
75
  *
@@ -70,6 +85,11 @@ export class VdNavigationDrawerComponent {
70
85
  get backgroundImage() {
71
86
  return this._backgroundImage;
72
87
  }
88
+ /**
89
+ * @property
90
+ */
91
+ get mini() { return this._layout?.mini; }
92
+ ;
73
93
  /**
74
94
  * Checks if router was injected.
75
95
  */
@@ -85,14 +105,9 @@ export class VdNavigationDrawerComponent {
85
105
  this._menuToggled = false;
86
106
  }
87
107
  });
88
- }
89
- /**
90
- * @description
91
- */
92
- ngOnDestroy() {
93
- if (this._closeSubscription) {
94
- this._closeSubscription.unsubscribe();
95
- this._closeSubscription = undefined;
108
+ this._layout.expandedChange.subscribe((expanded) => this.expanded = expanded);
109
+ if (this.sideGt) {
110
+ this.media.registerQuery(`gt-${this.sideGt}`).subscribe((x) => this.expanded = !x);
96
111
  }
97
112
  }
98
113
  /**
@@ -130,18 +145,33 @@ export class VdNavigationDrawerComponent {
130
145
  close() {
131
146
  return this._layout.close();
132
147
  }
148
+ /**
149
+ * Proxy expand method to access sidenav from outside (from td-layout template).
150
+ */
151
+ expand() {
152
+ return this._layout.expand();
153
+ }
154
+ /**
155
+ * @description
156
+ */
157
+ ngOnDestroy() {
158
+ if (this._closeSubscription) {
159
+ this._closeSubscription.unsubscribe();
160
+ this._closeSubscription = undefined;
161
+ }
162
+ }
133
163
  }
134
- /** @nocollapse */ VdNavigationDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: VdNavigationDrawerComponent, deps: [{ token: forwardRef(() => VdLayoutComponent) }, { token: i1.Router, optional: true }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
135
- /** @nocollapse */ VdNavigationDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: VdNavigationDrawerComponent, selector: "vd-navigation-drawer", inputs: { sidenavTitle: "sidenavTitle", icon: "icon", logo: "logo", avatar: "avatar", color: "color", navigationRoute: "navigationRoute", backgroundUrl: "backgroundUrl", name: "name", email: "email" }, queries: [{ propertyName: "_drawerMenu", predicate: VdNavigationDrawerMenuDirective, descendants: true }, { propertyName: "_toolbar", predicate: VdNavigationDrawerToolbarDirective, descendants: true }], ngImport: i0, template: "<mat-toolbar [color]=\"color\" [style.background-image]=\"backgroundImage\" [class.vd-toolbar-background]=\"!!isBackgroundAvailable\" class=\"vd-nagivation-drawer-toolbar\">\r\n\t<ng-content select=\"[vd-navigation-drawer-toolbar]\"></ng-content>\r\n\t<ng-container *ngIf=\"!isCustomToolbar\">\r\n\t\t<div *ngIf=\"icon || logo || sidenavTitle || avatar\" class=\"vd-navigation-drawer-toolbar-content\" [class.cursor-pointer]=\"routerEnabled\" (click)=\"handleNavigationClick()\">\r\n\t\t\t<mat-icon *ngIf=\"icon\">{{ icon }}</mat-icon>\r\n\t\t\t<mat-icon *ngIf=\"logo && !icon\" class=\"mat-icon-logo\" [svgIcon]=\"logo\"></mat-icon>\r\n\t\t\t<img *ngIf=\"avatar && !logo && !icon\" class=\"vd-nagivation-drawer-toolbar-avatar\" [attr.src]=\"avatar\" />\r\n\t\t\t<span *ngIf=\"sidenavTitle\" class=\"vd-navigation-drawer-title\">{{sidenavTitle}}</span>\r\n\t\t</div>\r\n\t\t<div class=\"vd-navigation-drawer-name\" *ngIf=\"email && name\">{{name}}</div>\r\n\t\t<div class=\"vd-navigation-drawer-menu-toggle\" href *ngIf=\"email || name\" (click)=\"toggleMenu()\">\r\n\t\t\t<span class=\"vd-navigation-drawer-label\">{{ email || name }}</span>\r\n\t\t\t<button mat-icon-button class=\"vd-navigation-drawer-menu-button\" *ngIf=\"isMenuAvailable\">\r\n\t\t\t\t<mat-icon *ngIf=\"!menuToggled\">arrow_drop_down</mat-icon>\r\n\t\t\t\t<mat-icon *ngIf=\"menuToggled\">arrow_drop_up</mat-icon>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t</ng-container>\r\n</mat-toolbar>\r\n\r\n<div class=\"vd-navigation-drawer-content\" [@vdCollapse]=\"menuToggled\">\r\n\t<ng-content></ng-content>\r\n</div>\r\n\r\n<div class=\"vd-navigation-drawer-menu-content\" [@vdCollapse]=\"!menuToggled\">\r\n\t<ng-content select=\"[vd-navigation-drawer-menu]\"></ng-content>\r\n</div>", styles: [":host{width:100%}:host .vd-navigation-drawer-content.ng-animating,:host .vd-navigation-drawer-menu-content.ng-animating{overflow:hidden}:host mat-toolbar{padding:16px}:host mat-toolbar.vd-toolbar-background{background-repeat:no-repeat;background-size:cover}:host mat-toolbar.vd-nagivation-drawer-toolbar{flex-direction:column;height:auto!important;display:block!important}:host mat-toolbar .vd-navigation-drawer-toolbar-content{flex-direction:row;box-sizing:border-box;display:flex;align-items:center;align-content:center;max-width:100%;justify-content:flex-start}:host mat-toolbar .vd-navigation-drawer-toolbar-content .vd-nagivation-drawer-toolbar-avatar{border-radius:50%;height:60px;width:60px;margin:0 12px 12px 0}:host mat-toolbar .vd-navigation-drawer-toolbar-content .vd-navigation-drawer-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host mat-toolbar .vd-navigation-drawer-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host mat-toolbar .vd-navigation-drawer-menu-toggle{flex-direction:row;box-sizing:border-box;display:flex;cursor:pointer}:host mat-toolbar .vd-navigation-drawer-menu-toggle .vd-navigation-drawer-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host mat-toolbar .vd-navigation-drawer-menu-toggle .vd-navigation-drawer-menu-button{height:24px;line-height:24px;width:24px;padding:0!important}:host>div{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], animations: [vdCollapseAnimation] });
164
+ /** @nocollapse */ VdNavigationDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: VdNavigationDrawerComponent, deps: [{ token: forwardRef(() => VdLayoutComponent) }, { token: i1.Router, optional: true }, { token: i2.DomSanitizer }, { token: i3.VdMediaService }], target: i0.ɵɵFactoryTarget.Component });
165
+ /** @nocollapse */ VdNavigationDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: VdNavigationDrawerComponent, selector: "vd-navigation-drawer", inputs: { sidenavTitle: "sidenavTitle", icon: "icon", logo: "logo", avatar: "avatar", color: "color", navigationRoute: "navigationRoute", backgroundUrl: "backgroundUrl", sideGt: "sideGt", name: "name", email: "email" }, queries: [{ propertyName: "_drawerMenu", predicate: VdNavigationDrawerMenuDirective, descendants: true }, { propertyName: "_toolbar", predicate: VdNavigationDrawerToolbarDirective, descendants: true }], ngImport: i0, template: "<mat-toolbar [color]=\"color\" [style.background-image]=\"backgroundImage\" [class.vd-toolbar-background]=\"!!isBackgroundAvailable\" class=\"vd-nagivation-drawer-toolbar\" [ngClass]=\"{'drawer-mini': mini && !expanded}\" dense flex layout=\"column\">\r\n\t<ng-content select=\"[vd-navigation-drawer-toolbar]\"></ng-content>\r\n\t<ng-container *ngIf=\"!isCustomToolbar && (!mini || expanded)\">\r\n\t\t<div *ngIf=\"icon || logo || sidenavTitle || avatar\" class=\"vd-navigation-drawer-toolbar-content\" [class.cursor-pointer]=\"routerEnabled\" (click)=\"handleNavigationClick()\">\r\n\t\t\t<mat-icon *ngIf=\"icon\">{{ icon }}</mat-icon>\r\n\t\t\t<mat-icon *ngIf=\"logo && !icon\" class=\"mat-icon-logo\" [svgIcon]=\"logo\"></mat-icon>\r\n\t\t\t<img *ngIf=\"avatar && !logo && !icon\" class=\"vd-nagivation-drawer-toolbar-avatar\" [attr.src]=\"avatar\" />\r\n\t\t\t<span *ngIf=\"sidenavTitle\" class=\"vd-navigation-drawer-title\">{{sidenavTitle}}</span>\r\n\t\t</div>\r\n\t\t<div class=\"vd-navigation-drawer-name\" *ngIf=\"email && name\">{{name}}</div>\r\n\t\t<div class=\"vd-navigation-drawer-menu-toggle\" href *ngIf=\"email || name\" (click)=\"toggleMenu()\">\r\n\t\t\t<span class=\"vd-navigation-drawer-label\">{{ email || name }}</span>\r\n\t\t\t<button mat-icon-button class=\"vd-navigation-drawer-menu-button\" *ngIf=\"isMenuAvailable\">\r\n\t\t\t\t<mat-icon *ngIf=\"!menuToggled\">arrow_drop_down</mat-icon>\r\n\t\t\t\t<mat-icon *ngIf=\"menuToggled\">arrow_drop_up</mat-icon>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t</ng-container>\r\n\t<ng-container *ngIf=\"mini && !expanded\">\r\n\t\t<button mat-icon-button (click)=\"expand()\" class=\"mat-icon-rtl-mirror\">\r\n\t\t\t<mat-icon>format_list_bulleted</mat-icon>\r\n\t\t</button>\r\n\t</ng-container>\r\n</mat-toolbar>\r\n\r\n<div class=\"vd-navigation-drawer-content\" [@vdCollapse]=\"menuToggled\">\r\n\t<ng-content></ng-content>\r\n</div>\r\n\r\n<div class=\"vd-navigation-drawer-menu-content\" [@vdCollapse]=\"!menuToggled\">\r\n\t<ng-content select=\"[vd-navigation-drawer-menu]\"></ng-content>\r\n</div>", styles: [":host{width:100%}:host .vd-navigation-drawer-content.ng-animating,:host .vd-navigation-drawer-menu-content.ng-animating{overflow:hidden}:host .vd-navigation-drawer-content ::ng-deep .mat-mdc-nav-list,:host .vd-navigation-drawer-menu-content ::ng-deep .mat-mdc-nav-list{padding-top:0!important}:host mat-toolbar:not(.drawer-mini){padding:16px}:host mat-toolbar.drawer-mini{padding:0!important}:host mat-toolbar.vd-nagivation-drawer-toolbar{flex-direction:column;align-items:stretch}:host mat-toolbar.vd-toolbar-background{background-repeat:no-repeat;background-size:cover}:host mat-toolbar.vd-nagivation-drawer-toolbar:not(.drawer-mini){flex-direction:column;height:auto!important;display:block!important}:host mat-toolbar .vd-navigation-drawer-toolbar-content{flex-direction:row;box-sizing:border-box;display:flex;align-items:center;align-content:center;max-width:100%;justify-content:flex-start}:host mat-toolbar .vd-navigation-drawer-toolbar-content .vd-nagivation-drawer-toolbar-avatar{border-radius:50%;height:60px;width:60px;margin:0 12px 12px 0}:host mat-toolbar .vd-navigation-drawer-toolbar-content .vd-navigation-drawer-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host mat-toolbar .vd-navigation-drawer-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host mat-toolbar .vd-navigation-drawer-menu-toggle{flex-direction:row;box-sizing:border-box;display:flex;cursor:pointer}:host mat-toolbar .vd-navigation-drawer-menu-toggle .vd-navigation-drawer-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host mat-toolbar .vd-navigation-drawer-menu-toggle .vd-navigation-drawer-menu-button{height:24px;line-height:24px;width:24px;padding:0!important}:host>div{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], animations: [vdCollapseAnimation] });
136
166
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: VdNavigationDrawerComponent, decorators: [{
137
167
  type: Component,
138
- args: [{ selector: 'vd-navigation-drawer', animations: [vdCollapseAnimation], template: "<mat-toolbar [color]=\"color\" [style.background-image]=\"backgroundImage\" [class.vd-toolbar-background]=\"!!isBackgroundAvailable\" class=\"vd-nagivation-drawer-toolbar\">\r\n\t<ng-content select=\"[vd-navigation-drawer-toolbar]\"></ng-content>\r\n\t<ng-container *ngIf=\"!isCustomToolbar\">\r\n\t\t<div *ngIf=\"icon || logo || sidenavTitle || avatar\" class=\"vd-navigation-drawer-toolbar-content\" [class.cursor-pointer]=\"routerEnabled\" (click)=\"handleNavigationClick()\">\r\n\t\t\t<mat-icon *ngIf=\"icon\">{{ icon }}</mat-icon>\r\n\t\t\t<mat-icon *ngIf=\"logo && !icon\" class=\"mat-icon-logo\" [svgIcon]=\"logo\"></mat-icon>\r\n\t\t\t<img *ngIf=\"avatar && !logo && !icon\" class=\"vd-nagivation-drawer-toolbar-avatar\" [attr.src]=\"avatar\" />\r\n\t\t\t<span *ngIf=\"sidenavTitle\" class=\"vd-navigation-drawer-title\">{{sidenavTitle}}</span>\r\n\t\t</div>\r\n\t\t<div class=\"vd-navigation-drawer-name\" *ngIf=\"email && name\">{{name}}</div>\r\n\t\t<div class=\"vd-navigation-drawer-menu-toggle\" href *ngIf=\"email || name\" (click)=\"toggleMenu()\">\r\n\t\t\t<span class=\"vd-navigation-drawer-label\">{{ email || name }}</span>\r\n\t\t\t<button mat-icon-button class=\"vd-navigation-drawer-menu-button\" *ngIf=\"isMenuAvailable\">\r\n\t\t\t\t<mat-icon *ngIf=\"!menuToggled\">arrow_drop_down</mat-icon>\r\n\t\t\t\t<mat-icon *ngIf=\"menuToggled\">arrow_drop_up</mat-icon>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t</ng-container>\r\n</mat-toolbar>\r\n\r\n<div class=\"vd-navigation-drawer-content\" [@vdCollapse]=\"menuToggled\">\r\n\t<ng-content></ng-content>\r\n</div>\r\n\r\n<div class=\"vd-navigation-drawer-menu-content\" [@vdCollapse]=\"!menuToggled\">\r\n\t<ng-content select=\"[vd-navigation-drawer-menu]\"></ng-content>\r\n</div>", styles: [":host{width:100%}:host .vd-navigation-drawer-content.ng-animating,:host .vd-navigation-drawer-menu-content.ng-animating{overflow:hidden}:host mat-toolbar{padding:16px}:host mat-toolbar.vd-toolbar-background{background-repeat:no-repeat;background-size:cover}:host mat-toolbar.vd-nagivation-drawer-toolbar{flex-direction:column;height:auto!important;display:block!important}:host mat-toolbar .vd-navigation-drawer-toolbar-content{flex-direction:row;box-sizing:border-box;display:flex;align-items:center;align-content:center;max-width:100%;justify-content:flex-start}:host mat-toolbar .vd-navigation-drawer-toolbar-content .vd-nagivation-drawer-toolbar-avatar{border-radius:50%;height:60px;width:60px;margin:0 12px 12px 0}:host mat-toolbar .vd-navigation-drawer-toolbar-content .vd-navigation-drawer-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host mat-toolbar .vd-navigation-drawer-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host mat-toolbar .vd-navigation-drawer-menu-toggle{flex-direction:row;box-sizing:border-box;display:flex;cursor:pointer}:host mat-toolbar .vd-navigation-drawer-menu-toggle .vd-navigation-drawer-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host mat-toolbar .vd-navigation-drawer-menu-toggle .vd-navigation-drawer-menu-button{height:24px;line-height:24px;width:24px;padding:0!important}:host>div{overflow:hidden}\n"] }]
139
- }], ctorParameters: function () { return [{ type: i7.VdLayoutComponent, decorators: [{
168
+ args: [{ selector: 'vd-navigation-drawer', animations: [vdCollapseAnimation], template: "<mat-toolbar [color]=\"color\" [style.background-image]=\"backgroundImage\" [class.vd-toolbar-background]=\"!!isBackgroundAvailable\" class=\"vd-nagivation-drawer-toolbar\" [ngClass]=\"{'drawer-mini': mini && !expanded}\" dense flex layout=\"column\">\r\n\t<ng-content select=\"[vd-navigation-drawer-toolbar]\"></ng-content>\r\n\t<ng-container *ngIf=\"!isCustomToolbar && (!mini || expanded)\">\r\n\t\t<div *ngIf=\"icon || logo || sidenavTitle || avatar\" class=\"vd-navigation-drawer-toolbar-content\" [class.cursor-pointer]=\"routerEnabled\" (click)=\"handleNavigationClick()\">\r\n\t\t\t<mat-icon *ngIf=\"icon\">{{ icon }}</mat-icon>\r\n\t\t\t<mat-icon *ngIf=\"logo && !icon\" class=\"mat-icon-logo\" [svgIcon]=\"logo\"></mat-icon>\r\n\t\t\t<img *ngIf=\"avatar && !logo && !icon\" class=\"vd-nagivation-drawer-toolbar-avatar\" [attr.src]=\"avatar\" />\r\n\t\t\t<span *ngIf=\"sidenavTitle\" class=\"vd-navigation-drawer-title\">{{sidenavTitle}}</span>\r\n\t\t</div>\r\n\t\t<div class=\"vd-navigation-drawer-name\" *ngIf=\"email && name\">{{name}}</div>\r\n\t\t<div class=\"vd-navigation-drawer-menu-toggle\" href *ngIf=\"email || name\" (click)=\"toggleMenu()\">\r\n\t\t\t<span class=\"vd-navigation-drawer-label\">{{ email || name }}</span>\r\n\t\t\t<button mat-icon-button class=\"vd-navigation-drawer-menu-button\" *ngIf=\"isMenuAvailable\">\r\n\t\t\t\t<mat-icon *ngIf=\"!menuToggled\">arrow_drop_down</mat-icon>\r\n\t\t\t\t<mat-icon *ngIf=\"menuToggled\">arrow_drop_up</mat-icon>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t</ng-container>\r\n\t<ng-container *ngIf=\"mini && !expanded\">\r\n\t\t<button mat-icon-button (click)=\"expand()\" class=\"mat-icon-rtl-mirror\">\r\n\t\t\t<mat-icon>format_list_bulleted</mat-icon>\r\n\t\t</button>\r\n\t</ng-container>\r\n</mat-toolbar>\r\n\r\n<div class=\"vd-navigation-drawer-content\" [@vdCollapse]=\"menuToggled\">\r\n\t<ng-content></ng-content>\r\n</div>\r\n\r\n<div class=\"vd-navigation-drawer-menu-content\" [@vdCollapse]=\"!menuToggled\">\r\n\t<ng-content select=\"[vd-navigation-drawer-menu]\"></ng-content>\r\n</div>", styles: [":host{width:100%}:host .vd-navigation-drawer-content.ng-animating,:host .vd-navigation-drawer-menu-content.ng-animating{overflow:hidden}:host .vd-navigation-drawer-content ::ng-deep .mat-mdc-nav-list,:host .vd-navigation-drawer-menu-content ::ng-deep .mat-mdc-nav-list{padding-top:0!important}:host mat-toolbar:not(.drawer-mini){padding:16px}:host mat-toolbar.drawer-mini{padding:0!important}:host mat-toolbar.vd-nagivation-drawer-toolbar{flex-direction:column;align-items:stretch}:host mat-toolbar.vd-toolbar-background{background-repeat:no-repeat;background-size:cover}:host mat-toolbar.vd-nagivation-drawer-toolbar:not(.drawer-mini){flex-direction:column;height:auto!important;display:block!important}:host mat-toolbar .vd-navigation-drawer-toolbar-content{flex-direction:row;box-sizing:border-box;display:flex;align-items:center;align-content:center;max-width:100%;justify-content:flex-start}:host mat-toolbar .vd-navigation-drawer-toolbar-content .vd-nagivation-drawer-toolbar-avatar{border-radius:50%;height:60px;width:60px;margin:0 12px 12px 0}:host mat-toolbar .vd-navigation-drawer-toolbar-content .vd-navigation-drawer-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host mat-toolbar .vd-navigation-drawer-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host mat-toolbar .vd-navigation-drawer-menu-toggle{flex-direction:row;box-sizing:border-box;display:flex;cursor:pointer}:host mat-toolbar .vd-navigation-drawer-menu-toggle .vd-navigation-drawer-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host mat-toolbar .vd-navigation-drawer-menu-toggle .vd-navigation-drawer-menu-button{height:24px;line-height:24px;width:24px;padding:0!important}:host>div{overflow:hidden}\n"] }]
169
+ }], ctorParameters: function () { return [{ type: i8.VdLayoutComponent, decorators: [{
140
170
  type: Inject,
141
171
  args: [forwardRef(() => VdLayoutComponent)]
142
172
  }] }, { type: i1.Router, decorators: [{
143
173
  type: Optional
144
- }] }, { type: i2.DomSanitizer }]; }, propDecorators: { _drawerMenu: [{
174
+ }] }, { type: i2.DomSanitizer }, { type: i3.VdMediaService }]; }, propDecorators: { _drawerMenu: [{
145
175
  type: ContentChildren,
146
176
  args: [VdNavigationDrawerMenuDirective, { descendants: true }]
147
177
  }], _toolbar: [{
@@ -161,9 +191,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
161
191
  type: Input
162
192
  }], backgroundUrl: [{
163
193
  type: Input
194
+ }], sideGt: [{
195
+ type: Input
164
196
  }], name: [{
165
197
  type: Input
166
198
  }], email: [{
167
199
  type: Input
168
200
  }] } });
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1kcmF3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvbGF5b3V0L25hdmlnYXRpb24tZHJhd2VyL25hdmlnYXRpb24tZHJhd2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2xheW91dC9uYXZpZ2F0aW9uLWRyYXdlci9uYXZpZ2F0aW9uLWRyYXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0ksT0FBTyxFQUFFLFlBQVksRUFBYSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7O0FBR3hELE1BQU0sT0FBTywrQkFBK0I7OytJQUEvQiwrQkFBK0I7bUlBQS9CLCtCQUErQjsyRkFBL0IsK0JBQStCO2tCQUQzQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLDZCQUE2QixFQUFFOztBQUl0RCxNQUFNLE9BQU8sa0NBQWtDOztrSkFBbEMsa0NBQWtDO3NJQUFsQyxrQ0FBa0M7MkZBQWxDLGtDQUFrQztrQkFEOUMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxnQ0FBZ0MsRUFBRTs7QUFTekQsTUFBTSxPQUFPLDJCQUEyQjtJQTBIdkM7Ozs7O09BS0c7SUFDSCxZQUVTLE9BQTBCLEVBQ2QsT0FBZSxFQUMzQixTQUF1QjtRQUZ2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T0FFRztJQUNJLEtBQUs7UUFDWCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7MklBcE1XLDJCQUEyQixrQkFpSTlCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzsrSEFqSWhDLDJCQUEyQixrU0FTdEIsK0JBQStCLDhEQUcvQixrQ0FBa0MsZ0RDakNwRCxxdERBMEJNLGc3RERQTyxDQUFDLG1CQUFtQixDQUFDOzJGQUVyQiwyQkFBMkI7a0JBTnZDLFNBQVM7K0JBQ0Msc0JBQXNCLGNBR3BCLENBQUMsbUJBQW1CLENBQUM7OzBCQW1JL0IsTUFBTTsyQkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7OzBCQUUxQyxRQUFRO3VFQXpIVixXQUFXO3NCQURWLGVBQWU7dUJBQUMsK0JBQStCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUl2RSxRQUFRO3NCQURQLGVBQWU7dUJBQUMsa0NBQWtDLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQXNCakUsWUFBWTtzQkFBcEIsS0FBSztnQkFPRyxJQUFJO3NCQUFaLEtBQUs7Z0JBUUcsSUFBSTtzQkFBWixLQUFLO2dCQVFHLE1BQU07c0JBQWQsS0FBSztnQkFRRyxLQUFLO3NCQUFiLEtBQUs7Z0JBT0csZUFBZTtzQkFBdkIsS0FBSztnQkFXRixhQUFhO3NCQUhoQixLQUFLO2dCQXlCRyxJQUFJO3NCQUFaLEtBQUs7Z0JBUUcsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIERpcmVjdGl2ZSwgZm9yd2FyZFJlZiwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBTZWN1cml0eUNvbnRleHQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RHJhd2VyVG9nZ2xlUmVzdWx0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVN0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB2ZENvbGxhcHNlQW5pbWF0aW9uIH0gZnJvbSAnLi4vLi4vY29tbW9uL2FuaW1hdGlvbnMvY29sbGFwc2UvY29sbGFwc2UuYW5pbWF0aW9uJztcclxuaW1wb3J0IHsgVmRMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuLi9sYXlvdXQuY29tcG9uZW50JztcclxuXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1t2ZC1uYXZpZ2F0aW9uLWRyYXdlci1tZW51XScgfSlcclxuZXhwb3J0IGNsYXNzIFZkTmF2aWdhdGlvbkRyYXdlck1lbnVEaXJlY3RpdmUgeyB9XHJcblxyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbdmQtbmF2aWdhdGlvbi1kcmF3ZXItdG9vbGJhcl0nIH0pXHJcbmV4cG9ydCBjbGFzcyBWZE5hdmlnYXRpb25EcmF3ZXJUb29sYmFyRGlyZWN0aXZlIHsgfVxyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICd2ZC1uYXZpZ2F0aW9uLWRyYXdlcicsXHJcblx0c3R5bGVVcmxzOiBbJy4vbmF2aWdhdGlvbi1kcmF3ZXIuY29tcG9uZW50LnNjc3MnXSxcclxuXHR0ZW1wbGF0ZVVybDogJy4vbmF2aWdhdGlvbi1kcmF3ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG5cdGFuaW1hdGlvbnM6IFt2ZENvbGxhcHNlQW5pbWF0aW9uXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFZkTmF2aWdhdGlvbkRyYXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHRwcml2YXRlIF9jbG9zZVN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcclxuXHRwcml2YXRlIF9tZW51VG9nZ2xlZCA9IGZhbHNlO1xyXG5cdHByaXZhdGUgX2JhY2tncm91bmRJbWFnZSE6IFNhZmVTdHlsZSB8IG51bGw7XHJcblxyXG5cdGdldCBtZW51VG9nZ2xlZCgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLl9tZW51VG9nZ2xlZDtcclxuXHR9XHJcblxyXG5cdEBDb250ZW50Q2hpbGRyZW4oVmROYXZpZ2F0aW9uRHJhd2VyTWVudURpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxyXG5cdF9kcmF3ZXJNZW51ITogUXVlcnlMaXN0PFZkTmF2aWdhdGlvbkRyYXdlck1lbnVEaXJlY3RpdmU+O1xyXG5cclxuXHRAQ29udGVudENoaWxkcmVuKFZkTmF2aWdhdGlvbkRyYXdlclRvb2xiYXJEaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcclxuXHRfdG9vbGJhciE6IFF1ZXJ5TGlzdDxWZE5hdmlnYXRpb25EcmF3ZXJUb29sYmFyRGlyZWN0aXZlPjtcclxuXHJcblx0LyoqXHJcblx0ICogQ2hlY2tzIGlmIHRoZXJlIGlzIGEgW1RkTmF2aWdhdGlvbkRyYXdlck1lbnVEaXJlY3RpdmVdIGhhcyBjb250ZW50LlxyXG5cdCAqL1xyXG5cdGdldCBpc01lbnVBdmFpbGFibGUoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9kcmF3ZXJNZW51ID8gdGhpcy5fZHJhd2VyTWVudS5sZW5ndGggPiAwIDogZmFsc2U7IH1cclxuXHJcblx0LyoqXHJcblx0ICogQ2hlY2tzIGlmIHRoZXJlIGlzIGEgW1RkTmF2aWdhdGlvbkRyYXdlclRvb2xiYXJEaXJlY3RpdmVdIGhhcyBjb250ZW50LlxyXG5cdCAqL1xyXG5cdGdldCBpc0N1c3RvbVRvb2xiYXIoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl90b29sYmFyID8gdGhpcy5fdG9vbGJhci5sZW5ndGggPiAwIDogZmFsc2U7IH1cclxuXHJcblx0LyoqXHJcblx0ICogQ2hlY2tzIGlmIHRoZXJlIGlzIGEgYmFja2dyb3VuZCBpbWFnZSBmb3IgdGhlIHRvb2xiYXIuXHJcblx0ICovXHJcblx0Z2V0IGlzQmFja2dyb3VuZEF2YWlsYWJsZSgpOiBib29sZWFuIHsgcmV0dXJuICEhdGhpcy5fYmFja2dyb3VuZEltYWdlOyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIHNpZGVuYXZUaXRsZT86IHN0cmluZ1xyXG5cdCAqIFRpdGxlIHNldCBpbiBzaWRlTmF2LlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpIHNpZGVuYXZUaXRsZT86IHN0cmluZztcclxuXHJcblx0LyoqXHJcblx0ICogaWNvbj86IHN0cmluZ1xyXG5cdCAqXHJcblx0ICogaWNvbiBuYW1lIHRvIGJlIGRpc3BsYXllZCBiZWZvcmUgdGhlIHRpdGxlXHJcblx0ICovXHJcblx0QElucHV0KCkgaWNvbj86IHN0cmluZztcclxuXHJcblx0LyoqXHJcblx0ICogbG9nbz86IHN0cmluZ1xyXG5cdCAqXHJcblx0ICogbG9nbyBpY29uIG5hbWUgdG8gYmUgZGlzcGxheWVkIGJlZm9yZSB0aGUgdGl0bGUuXHJcblx0ICogSWYgW2ljb25dIGlzIHNldCwgdGhlbiB0aGlzIHdpbGwgbm90IGJlIHNob3duLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpIGxvZ28/OiBzdHJpbmc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIGF2YXRhcj86IHN0cmluZ1xyXG5cdCAqXHJcblx0ICogYXZhdGFyIHVybCB0byBiZSBkaXNwbGF5ZWQgYmVmb3JlIHRoZSB0aXRsZVxyXG5cdCAqIElmIFtpY29uXSBvciBbbG9nb10gYXJlIHNldCwgdGhlbiB0aGlzIHdpbGwgbm90IGJlIHNob3duLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpIGF2YXRhcj86IHN0cmluZztcclxuXHJcblx0LyoqXHJcblx0ICogY29sb3I/OiAnYWNjZW50JyB8ICdwcmltYXJ5JyB8ICd3YXJuJ1xyXG5cdCAqXHJcblx0ICogdG9vbGJhciBjb2xvciBvcHRpb246IHByaW1hcnkgfCBhY2NlbnQgfCB3YXJuLlxyXG5cdCAqIElmIFtjb2xvcl0gaXMgbm90IHNldCwgZGVmYXVsdCBpcyB1c2VkLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpIGNvbG9yPzogJ2FjY2VudCcgfCAncHJpbWFyeScgfCAnd2Fybic7XHJcblxyXG5cdC8qKlxyXG5cdCAqIG5hdmlnYXRpb25Sb3V0ZT86IHN0cmluZ1xyXG5cdCAqXHJcblx0ICogb3B0aW9uIHRvIHNldCB0aGUgY29tYmluZWQgcm91dGUgZm9yIHRoZSBpY29uLCBsb2dvLCBhbmQgc2lkZW5hdlRpdGxlLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpIG5hdmlnYXRpb25Sb3V0ZT86IHN0cmluZztcclxuXHJcblx0LyoqXHJcblx0ICogYmFja2dyb3VuZFVybD86IFNhZmVSZXNvdXJjZVVybFxyXG5cdCAqXHJcblx0ICogaW1hZ2UgdG8gYmUgZGlzcGxheWVkIGFzIHRoZSBiYWNrZ3JvdW5kIG9mIHRoZSB0b29sYmFyLlxyXG5cdCAqIFVSTCB1c2VkIHdpbGwgYmUgc2FuaXRpemVkLCBidXQgaXQgc2hvdWxkIGJlIGFsd2F5cyBmcm9tIGEgdHJ1c3RlZCBzb3VyY2UgdG8gYXZvaWQgWFNTLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Ly8gVE9ETyBBbmd1bGFyIGNvbXBsYWlucyB3aXRoIHdhcm5pbmdzIGlmIHRoaXMgaXMgdHlwZSBbU2FmZVJlc291cmNlVXJsXS4uIHNvIHdlIHdpbGwgbWFrZSBpdCA8YW55PiB1bnRpbCBpdHMgZml4ZWQuXHJcblx0Ly8gaHR0cHM6Ly9naXRodWIuY29tL3dlYnBhY2svd2VicGFjay9pc3N1ZXMvMjk3N1xyXG5cdHNldCBiYWNrZ3JvdW5kVXJsKGJhY2tncm91bmRVcmw6IGFueSkge1xyXG5cdFx0aWYgKGJhY2tncm91bmRVcmwpIHtcclxuXHRcdFx0Y29uc3Qgc2FuaXRpemVkVXJsID0gdGhpcy5fc2FuaXRpemUuc2FuaXRpemUoXHJcblx0XHRcdFx0U2VjdXJpdHlDb250ZXh0LlJFU09VUkNFX1VSTCxcclxuXHRcdFx0XHRiYWNrZ3JvdW5kVXJsXHJcblx0XHRcdCk7XHJcblx0XHRcdHRoaXMuX2JhY2tncm91bmRJbWFnZSA9IHRoaXMuX3Nhbml0aXplLnNhbml0aXplKFxyXG5cdFx0XHRcdFNlY3VyaXR5Q29udGV4dC5TVFlMRSxcclxuXHRcdFx0XHQndXJsKCcgKyBzYW5pdGl6ZWRVcmwgKyAnKSdcclxuXHRcdFx0KTtcclxuXHRcdH1cclxuXHR9XHJcblx0Z2V0IGJhY2tncm91bmRJbWFnZSgpOiBTYWZlU3R5bGUgfCBudWxsIHtcclxuXHRcdHJldHVybiB0aGlzLl9iYWNrZ3JvdW5kSW1hZ2U7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBuYW1lPzogc3RyaW5nXHJcblx0ICpcclxuXHQgKiBzdHJpbmcgdG8gYmUgZGlzcGxheWVkIGFzIHBhcnQgb2YgdGhlIG5hdmlnYXRpb24gZHJhd2VyIHN1YmxhYmVsLlxyXG5cdCAqIGlmIFtlbWFpbF0gaXMgbm90IHNldCwgdGhlbiBbbmFtZV0gd2lsbCBiZSB0aGUgdG9nZ2xlIG1lbnUgdGV4dC5cclxuXHQgKi9cclxuXHRASW5wdXQoKSBuYW1lPzogc3RyaW5nO1xyXG5cclxuXHQvKipcclxuXHQgKiBlbWFpbD86IHN0cmluZ1xyXG5cdCAqXHJcblx0ICogc3RyaW5nIHRvIGJlIGRpc3BsYXllZCBhcyBwYXJ0IG9mIHRoZSBuYXZpZ2F0aW9uIGRyYXdlciBzdWJsYWJlbCBpbiB0aGUgW3RvZ2dsZV0gbWVudSB0ZXh0LlxyXG5cdCAqIGlmIFtlbWFpbF0gYW5kIFtuYW1lXSBhcmUgbm90IHNldCwgdGhlbiB0aGUgdG9nZ2xlIG1lbnUgaXMgbm90IHJlbmRlcmVkLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpIGVtYWlsPzogc3RyaW5nO1xyXG5cclxuXHQvKipcclxuXHQgKiBDaGVja3MgaWYgcm91dGVyIHdhcyBpbmplY3RlZC5cclxuXHQgKi9cclxuXHRnZXQgcm91dGVyRW5hYmxlZCgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiAhIXRoaXMuX3JvdXRlciAmJiAhIXRoaXMubmF2aWdhdGlvblJvdXRlO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ29uc3RydWN0b3JcclxuXHQgKiBAcGFyYW0gX2xheW91dCBcclxuXHQgKiBAcGFyYW0gX3JvdXRlciBcclxuXHQgKiBAcGFyYW0gX3Nhbml0aXplIFxyXG5cdCAqL1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0QEluamVjdChmb3J3YXJkUmVmKCgpID0+IFZkTGF5b3V0Q29tcG9uZW50KSlcclxuXHRcdHByaXZhdGUgX2xheW91dDogVmRMYXlvdXRDb21wb25lbnQsXHJcblx0XHRAT3B0aW9uYWwoKSBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcixcclxuXHRcdHByaXZhdGUgX3Nhbml0aXplOiBEb21TYW5pdGl6ZXJcclxuXHQpIHsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBAZGVzY3JpcHRpb25cclxuXHQgKi9cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMuX2Nsb3NlU3Vic2NyaXB0aW9uID0gdGhpcy5fbGF5b3V0LnNpZGVuYXYub3BlbmVkQ2hhbmdlLnN1YnNjcmliZShcclxuXHRcdFx0KG9wZW5lZDogYm9vbGVhbikgPT4ge1xyXG5cdFx0XHRcdGlmICghb3BlbmVkKSB7XHJcblx0XHRcdFx0XHR0aGlzLl9tZW51VG9nZ2xlZCA9IGZhbHNlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEBkZXNjcmlwdGlvblxyXG5cdCAqL1xyXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMuX2Nsb3NlU3Vic2NyaXB0aW9uKSB7XHJcblx0XHRcdHRoaXMuX2Nsb3NlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcblx0XHRcdHRoaXMuX2Nsb3NlU3Vic2NyaXB0aW9uID0gdW5kZWZpbmVkO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQGRlc2NyaXB0aW9uXHJcblx0ICovXHJcblx0dG9nZ2xlTWVudSgpOiB2b2lkIHtcclxuXHRcdGlmICh0aGlzLmlzTWVudUF2YWlsYWJsZSkge1xyXG5cdFx0XHR0aGlzLl9tZW51VG9nZ2xlZCA9ICF0aGlzLl9tZW51VG9nZ2xlZDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEBkZXNjcmlwdGlvblxyXG5cdCAqL1xyXG5cdGhhbmRsZU5hdmlnYXRpb25DbGljaygpOiB2b2lkIHtcclxuXHRcdGlmICh0aGlzLnJvdXRlckVuYWJsZWQgJiYgdGhpcy5uYXZpZ2F0aW9uUm91dGUpIHtcclxuXHRcdFx0dGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy5uYXZpZ2F0aW9uUm91dGUpO1xyXG5cdFx0XHR0aGlzLmNsb3NlKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBQcm94eSB0b2dnbGUgbWV0aG9kIHRvIGFjY2VzcyBzaWRlbmF2IGZyb20gb3V0c2lkZSAoZnJvbSB0ZC1sYXlvdXQgdGVtcGxhdGUpLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyB0b2dnbGUoKTogUHJvbWlzZTxNYXREcmF3ZXJUb2dnbGVSZXN1bHQ+IHtcclxuXHRcdHJldHVybiB0aGlzLl9sYXlvdXQudG9nZ2xlKCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBQcm94eSBvcGVuIG1ldGhvZCB0byBhY2Nlc3Mgc2lkZW5hdiBmcm9tIG91dHNpZGUgKGZyb20gdGQtbGF5b3V0IHRlbXBsYXRlKS5cclxuXHQgKi9cclxuXHRwdWJsaWMgb3BlbigpOiBQcm9taXNlPE1hdERyYXdlclRvZ2dsZVJlc3VsdD4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2xheW91dC5vcGVuKCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBQcm94eSBjbG9zZSBtZXRob2QgdG8gYWNjZXNzIHNpZGVuYXYgZnJvbSBvdXRzaWRlIChmcm9tIHRkLWxheW91dCB0ZW1wbGF0ZSkuXHJcblx0ICovXHJcblx0cHVibGljIGNsb3NlKCk6IFByb21pc2U8TWF0RHJhd2VyVG9nZ2xlUmVzdWx0PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5fbGF5b3V0LmNsb3NlKCk7XHJcblx0fVxyXG59XHJcbiIsIjxtYXQtdG9vbGJhciBbY29sb3JdPVwiY29sb3JcIiBbc3R5bGUuYmFja2dyb3VuZC1pbWFnZV09XCJiYWNrZ3JvdW5kSW1hZ2VcIiBbY2xhc3MudmQtdG9vbGJhci1iYWNrZ3JvdW5kXT1cIiEhaXNCYWNrZ3JvdW5kQXZhaWxhYmxlXCIgY2xhc3M9XCJ2ZC1uYWdpdmF0aW9uLWRyYXdlci10b29sYmFyXCI+XHJcblx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW3ZkLW5hdmlnYXRpb24tZHJhd2VyLXRvb2xiYXJdXCI+PC9uZy1jb250ZW50PlxyXG5cdDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNDdXN0b21Ub29sYmFyXCI+XHJcblx0XHQ8ZGl2ICpuZ0lmPVwiaWNvbiB8fCBsb2dvIHx8IHNpZGVuYXZUaXRsZSB8fCBhdmF0YXJcIiBjbGFzcz1cInZkLW5hdmlnYXRpb24tZHJhd2VyLXRvb2xiYXItY29udGVudFwiIFtjbGFzcy5jdXJzb3ItcG9pbnRlcl09XCJyb3V0ZXJFbmFibGVkXCIgKGNsaWNrKT1cImhhbmRsZU5hdmlnYXRpb25DbGljaygpXCI+XHJcblx0XHRcdDxtYXQtaWNvbiAqbmdJZj1cImljb25cIj57eyBpY29uIH19PC9tYXQtaWNvbj5cclxuXHRcdFx0PG1hdC1pY29uICpuZ0lmPVwibG9nbyAmJiAhaWNvblwiIGNsYXNzPVwibWF0LWljb24tbG9nb1wiIFtzdmdJY29uXT1cImxvZ29cIj48L21hdC1pY29uPlxyXG5cdFx0XHQ8aW1nICpuZ0lmPVwiYXZhdGFyICYmICFsb2dvICYmICFpY29uXCIgY2xhc3M9XCJ2ZC1uYWdpdmF0aW9uLWRyYXdlci10b29sYmFyLWF2YXRhclwiIFthdHRyLnNyY109XCJhdmF0YXJcIiAvPlxyXG5cdFx0XHQ8c3BhbiAqbmdJZj1cInNpZGVuYXZUaXRsZVwiIGNsYXNzPVwidmQtbmF2aWdhdGlvbi1kcmF3ZXItdGl0bGVcIj57e3NpZGVuYXZUaXRsZX19PC9zcGFuPlxyXG5cdFx0PC9kaXY+XHJcblx0XHQ8ZGl2IGNsYXNzPVwidmQtbmF2aWdhdGlvbi1kcmF3ZXItbmFtZVwiICpuZ0lmPVwiZW1haWwgJiYgbmFtZVwiPnt7bmFtZX19PC9kaXY+XHJcblx0XHQ8ZGl2IGNsYXNzPVwidmQtbmF2aWdhdGlvbi1kcmF3ZXItbWVudS10b2dnbGVcIiBocmVmICpuZ0lmPVwiZW1haWwgfHwgbmFtZVwiIChjbGljayk9XCJ0b2dnbGVNZW51KClcIj5cclxuXHRcdFx0PHNwYW4gY2xhc3M9XCJ2ZC1uYXZpZ2F0aW9uLWRyYXdlci1sYWJlbFwiPnt7IGVtYWlsIHx8IG5hbWUgfX08L3NwYW4+XHJcblx0XHRcdDxidXR0b24gbWF0LWljb24tYnV0dG9uIGNsYXNzPVwidmQtbmF2aWdhdGlvbi1kcmF3ZXItbWVudS1idXR0b25cIiAqbmdJZj1cImlzTWVudUF2YWlsYWJsZVwiPlxyXG5cdFx0XHRcdDxtYXQtaWNvbiAqbmdJZj1cIiFtZW51VG9nZ2xlZFwiPmFycm93X2Ryb3BfZG93bjwvbWF0LWljb24+XHJcblx0XHRcdFx0PG1hdC1pY29uICpuZ0lmPVwibWVudVRvZ2dsZWRcIj5hcnJvd19kcm9wX3VwPC9tYXQtaWNvbj5cclxuXHRcdFx0PC9idXR0b24+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L25nLWNvbnRhaW5lcj5cclxuPC9tYXQtdG9vbGJhcj5cclxuXHJcbjxkaXYgY2xhc3M9XCJ2ZC1uYXZpZ2F0aW9uLWRyYXdlci1jb250ZW50XCIgW0B2ZENvbGxhcHNlXT1cIm1lbnVUb2dnbGVkXCI+XHJcblx0PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJ2ZC1uYXZpZ2F0aW9uLWRyYXdlci1tZW51LWNvbnRlbnRcIiBbQHZkQ29sbGFwc2VdPVwiIW1lbnVUb2dnbGVkXCI+XHJcblx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW3ZkLW5hdmlnYXRpb24tZHJhd2VyLW1lbnVdXCI+PC9uZy1jb250ZW50PlxyXG48L2Rpdj4iXX0=
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1kcmF3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvbGF5b3V0L25hdmlnYXRpb24tZHJhd2VyL25hdmlnYXRpb24tZHJhd2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2xheW91dC9uYXZpZ2F0aW9uLWRyYXdlci9uYXZpZ2F0aW9uLWRyYXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0ksT0FBTyxFQUFFLFlBQVksRUFBYSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7Ozs7QUFHeEQsTUFBTSxPQUFPLCtCQUErQjs7K0lBQS9CLCtCQUErQjttSUFBL0IsK0JBQStCOzJGQUEvQiwrQkFBK0I7a0JBRDNDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsNkJBQTZCLEVBQUU7O0FBSXRELE1BQU0sT0FBTyxrQ0FBa0M7O2tKQUFsQyxrQ0FBa0M7c0lBQWxDLGtDQUFrQzsyRkFBbEMsa0NBQWtDO2tCQUQ5QyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLGdDQUFnQyxFQUFFOztBQVN6RCxNQUFNLE9BQU8sMkJBQTJCO0lBb0t2Qzs7Ozs7T0FL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QkFBbUIsQ0FBQzs7MEJBNksvQixNQUFNOzJCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzs7MEJBRTFDLFFBQVE7b0dBekpGLFdBQVc7c0JBRGxCLGVBQWU7dUJBQUMsK0JBQStCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQU8vRCxRQUFRO3NCQURmLGVBQWU7dUJBQUMsa0NBQWtDLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQTRCbkUsWUFBWTtzQkFEbEIsS0FBSztnQkFTQyxJQUFJO3NCQURWLEtBQUs7Z0JBVUMsSUFBSTtzQkFEVixLQUFLO2dCQVVDLE1BQU07c0JBRFosS0FBSztnQkFVQyxLQUFLO3NCQURYLEtBQUs7Z0JBU0MsZUFBZTtzQkFEckIsS0FBSztnQkFZSyxhQUFhO3NCQUh2QixLQUFLO2dCQWlDQyxNQUFNO3NCQURaLEtBQUs7Z0JBVUMsSUFBSTtzQkFEVixLQUFLO2dCQVVDLEtBQUs7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgU2VjdXJpdHlDb250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERyYXdlclRvZ2dsZVJlc3VsdCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdmRDb2xsYXBzZUFuaW1hdGlvbiB9IGZyb20gJy4uLy4uL2NvbW1vbi9hbmltYXRpb25zL2NvbGxhcHNlL2NvbGxhcHNlLmFuaW1hdGlvbic7XHJcbmltcG9ydCB7IFZkTWVkaWFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbWVkaWEvc2VydmljZXMvbWVkaWEuc2VydmljZSc7XHJcbmltcG9ydCB7IFZkTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi4vbGF5b3V0LmNvbXBvbmVudCc7XHJcblxyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbdmQtbmF2aWdhdGlvbi1kcmF3ZXItbWVudV0nIH0pXHJcbmV4cG9ydCBjbGFzcyBWZE5hdmlnYXRpb25EcmF3ZXJNZW51RGlyZWN0aXZlIHsgfVxyXG5cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW3ZkLW5hdmlnYXRpb24tZHJhd2VyLXRvb2xiYXJdJyB9KVxyXG5leHBvcnQgY2xhc3MgVmROYXZpZ2F0aW9uRHJhd2VyVG9vbGJhckRpcmVjdGl2ZSB7IH1cclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAndmQtbmF2aWdhdGlvbi1kcmF3ZXInLFxyXG5cdHN0eWxlVXJsczogWycuL25hdmlnYXRpb24tZHJhd2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcblx0dGVtcGxhdGVVcmw6ICcuL25hdmlnYXRpb24tZHJhd2VyLmNvbXBvbmVudC5odG1sJyxcclxuXHRhbmltYXRpb25zOiBbdmRDb2xsYXBzZUFuaW1hdGlvbl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWZE5hdmlnYXRpb25EcmF3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblx0LyoqXHJcblx0ICogQGZpZWxkXHJcblx0ICovXHJcblx0cHJpdmF0ZSBfY2xvc2VTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XHJcblxyXG5cdC8qKlxyXG5cdCAqIEBmaWVsZFxyXG5cdCAqL1xyXG5cdHByaXZhdGUgX21lbnVUb2dnbGVkID0gZmFsc2U7XHJcblxyXG5cdC8qKlxyXG5cdCAqIEBmaWVsZFxyXG5cdCAqL1xyXG5cdHByaXZhdGUgX2JhY2tncm91bmRJbWFnZSE6IFNhZmVTdHlsZSB8IG51bGw7XHJcblxyXG5cdC8qKlxyXG5cdCAqIEBmaWVsZFxyXG5cdCAqL1xyXG5cdEBDb250ZW50Q2hpbGRyZW4oVmROYXZpZ2F0aW9uRHJhd2VyTWVudURpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxyXG5cdHByaXZhdGUgX2RyYXdlck1lbnUhOiBRdWVyeUxpc3Q8VmROYXZpZ2F0aW9uRHJhd2VyTWVudURpcmVjdGl2ZT47XHJcblxyXG5cdC8qKlxyXG5cdCAqIEBmaWVsZFxyXG5cdCAqL1xyXG5cdEBDb250ZW50Q2hpbGRyZW4oVmROYXZpZ2F0aW9uRHJhd2VyVG9vbGJhckRpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxyXG5cdHByaXZhdGUgX3Rvb2xiYXIhOiBRdWVyeUxpc3Q8VmROYXZpZ2F0aW9uRHJhd2VyVG9vbGJhckRpcmVjdGl2ZT47XHJcblxyXG5cdC8qKlxyXG5cdCAqIENoZWNrcyBpZiB0aGVyZSBpcyBhIFtUZE5hdmlnYXRpb25EcmF3ZXJNZW51RGlyZWN0aXZlXSBoYXMgY29udGVudC5cclxuXHQgKi9cclxuXHRwdWJsaWMgZ2V0IGlzTWVudUF2YWlsYWJsZSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2RyYXdlck1lbnUgPyB0aGlzLl9kcmF3ZXJNZW51Lmxlbmd0aCA+IDAgOiBmYWxzZTsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBDaGVja3MgaWYgdGhlcmUgaXMgYSBbVGROYXZpZ2F0aW9uRHJhd2VyVG9vbGJhckRpcmVjdGl2ZV0gaGFzIGNvbnRlbnQuXHJcblx0ICovXHJcblx0cHVibGljIGdldCBpc0N1c3RvbVRvb2xiYXIoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl90b29sYmFyID8gdGhpcy5fdG9vbGJhci5sZW5ndGggPiAwIDogZmFsc2U7IH1cclxuXHJcblx0LyoqXHJcblx0ICogQ2hlY2tzIGlmIHRoZXJlIGlzIGEgYmFja2dyb3VuZCBpbWFnZSBmb3IgdGhlIHRvb2xiYXIuXHJcblx0ICovXHJcblx0cHVibGljIGdldCBpc0JhY2tncm91bmRBdmFpbGFibGUoKTogYm9vbGVhbiB7IHJldHVybiAhIXRoaXMuX2JhY2tncm91bmRJbWFnZTsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBAcHJvcGVydHlcclxuXHQgKi9cclxuXHRwdWJsaWMgZ2V0IG1lbnVUb2dnbGVkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fbWVudVRvZ2dsZWQ7IH1cclxuXHJcblx0LyoqXHJcblx0ICogc2lkZW5hdlRpdGxlPzogc3RyaW5nXHJcblx0ICogVGl0bGUgc2V0IGluIHNpZGVOYXYuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgc2lkZW5hdlRpdGxlPzogc3RyaW5nO1xyXG5cclxuXHQvKipcclxuXHQgKiBpY29uPzogc3RyaW5nXHJcblx0ICpcclxuXHQgKiBpY29uIG5hbWUgdG8gYmUgZGlzcGxheWVkIGJlZm9yZSB0aGUgdGl0bGVcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBpY29uPzogc3RyaW5nO1xyXG5cclxuXHQvKipcclxuXHQgKiBsb2dvPzogc3RyaW5nXHJcblx0ICpcclxuXHQgKiBsb2dvIGljb24gbmFtZSB0byBiZSBkaXNwbGF5ZWQgYmVmb3JlIHRoZSB0aXRsZS5cclxuXHQgKiBJZiBbaWNvbl0gaXMgc2V0LCB0aGVuIHRoaXMgd2lsbCBub3QgYmUgc2hvd24uXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgbG9nbz86IHN0cmluZztcclxuXHJcblx0LyoqXHJcblx0ICogYXZhdGFyPzogc3RyaW5nXHJcblx0ICpcclxuXHQgKiBhdmF0YXIgdXJsIHRvIGJlIGRpc3BsYXllZCBiZWZvcmUgdGhlIHRpdGxlXHJcblx0ICogSWYgW2ljb25dIG9yIFtsb2dvXSBhcmUgc2V0LCB0aGVuIHRoaXMgd2lsbCBub3QgYmUgc2hvd24uXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgYXZhdGFyPzogc3RyaW5nO1xyXG5cclxuXHQvKipcclxuXHQgKiBjb2xvcj86ICdhY2NlbnQnIHwgJ3ByaW1hcnknIHwgJ3dhcm4nXHJcblx0ICpcclxuXHQgKiB0b29sYmFyIGNvbG9yIG9wdGlvbjogcHJpbWFyeSB8IGFjY2VudCB8IHdhcm4uXHJcblx0ICogSWYgW2NvbG9yXSBpcyBub3Qgc2V0LCBkZWZhdWx0IGlzIHVzZWQuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgY29sb3I/OiAnYWNjZW50JyB8ICdwcmltYXJ5JyB8ICd3YXJuJztcclxuXHJcblx0LyoqXHJcblx0ICogbmF2aWdhdGlvblJvdXRlPzogc3RyaW5nXHJcblx0ICpcclxuXHQgKiBvcHRpb24gdG8gc2V0IHRoZSBjb21iaW5lZCByb3V0ZSBmb3IgdGhlIGljb24sIGxvZ28sIGFuZCBzaWRlbmF2VGl0bGUuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgbmF2aWdhdGlvblJvdXRlPzogc3RyaW5nO1xyXG5cclxuXHQvKipcclxuXHQgKiBiYWNrZ3JvdW5kVXJsPzogU2FmZVJlc291cmNlVXJsXHJcblx0ICpcclxuXHQgKiBpbWFnZSB0byBiZSBkaXNwbGF5ZWQgYXMgdGhlIGJhY2tncm91bmQgb2YgdGhlIHRvb2xiYXIuXHJcblx0ICogVVJMIHVzZWQgd2lsbCBiZSBzYW5pdGl6ZWQsIGJ1dCBpdCBzaG91bGQgYmUgYWx3YXlzIGZyb20gYSB0cnVzdGVkIHNvdXJjZSB0byBhdm9pZCBYU1MuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHQvLyBUT0RPIEFuZ3VsYXIgY29tcGxhaW5zIHdpdGggd2FybmluZ3MgaWYgdGhpcyBpcyB0eXBlIFtTYWZlUmVzb3VyY2VVcmxdLi4gc28gd2Ugd2lsbCBtYWtlIGl0IDxhbnk+IHVudGlsIGl0cyBmaXhlZC5cclxuXHQvLyBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay93ZWJwYWNrL2lzc3Vlcy8yOTc3XHJcblx0cHVibGljIHNldCBiYWNrZ3JvdW5kVXJsKGJhY2tncm91bmRVcmw6IGFueSkge1xyXG5cdFx0aWYgKGJhY2tncm91bmRVcmwpIHtcclxuXHRcdFx0Y29uc3Qgc2FuaXRpemVkVXJsID0gdGhpcy5fc2FuaXRpemUuc2FuaXRpemUoXHJcblx0XHRcdFx0U2VjdXJpdHlDb250ZXh0LlJFU09VUkNFX1VSTCxcclxuXHRcdFx0XHRiYWNrZ3JvdW5kVXJsXHJcblx0XHRcdCk7XHJcblx0XHRcdHRoaXMuX2JhY2tncm91bmRJbWFnZSA9IHRoaXMuX3Nhbml0aXplLnNhbml0aXplKFxyXG5cdFx0XHRcdFNlY3VyaXR5Q29udGV4dC5TVFlMRSxcclxuXHRcdFx0XHQndXJsKCcgKyBzYW5pdGl6ZWRVcmwgKyAnKSdcclxuXHRcdFx0KTtcclxuXHRcdH1cclxuXHR9XHJcblx0cHVibGljIGdldCBiYWNrZ3JvdW5kSW1hZ2UoKTogU2FmZVN0eWxlIHwgbnVsbCB7XHJcblx0XHRyZXR1cm4gdGhpcy5fYmFja2dyb3VuZEltYWdlO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQHByb3BlcnR5XHJcblx0ICovXHJcblx0cHVibGljIGdldCBtaW5pKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fbGF5b3V0Py5taW5pIH07XHJcblxyXG5cdC8qKlxyXG5cdCAqIEV4cGFuZHMgdGhlIG1pbmkgbWVudVxyXG5cdCAqL1xyXG5cdHB1YmxpYyBleHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuXHQvKipcclxuXHQgKiBvdmVyR3Q/OiBzdHJpbmdcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBzaWRlR3Q6IHN0cmluZyA9ICdzbSc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIG5hbWU/OiBzdHJpbmdcclxuXHQgKlxyXG5cdCAqIHN0cmluZyB0byBiZSBkaXNwbGF5ZWQgYXMgcGFydCBvZiB0aGUgbmF2aWdhdGlvbiBkcmF3ZXIgc3VibGFiZWwuXHJcblx0ICogaWYgW2VtYWlsXSBpcyBub3Qgc2V0LCB0aGVuIFtuYW1lXSB3aWxsIGJlIHRoZSB0b2dnbGUgbWVudSB0ZXh0LlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIG5hbWU/OiBzdHJpbmc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIGVtYWlsPzogc3RyaW5nXHJcblx0ICpcclxuXHQgKiBzdHJpbmcgdG8gYmUgZGlzcGxheWVkIGFzIHBhcnQgb2YgdGhlIG5hdmlnYXRpb24gZHJhd2VyIHN1YmxhYmVsIGluIHRoZSBbdG9nZ2xlXSBtZW51IHRleHQuXHJcblx0ICogaWYgW2VtYWlsXSBhbmQgW25hbWVdIGFyZSBub3Qgc2V0LCB0aGVuIHRoZSB0b2dnbGUgbWVudSBpcyBub3QgcmVuZGVyZWQuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgZW1haWw/OiBzdHJpbmc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIENoZWNrcyBpZiByb3V0ZXIgd2FzIGluamVjdGVkLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZXQgcm91dGVyRW5hYmxlZCgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiAhIXRoaXMuX3JvdXRlciAmJiAhIXRoaXMubmF2aWdhdGlvblJvdXRlO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ29uc3RydWN0b3JcclxuXHQgKiBAcGFyYW0gX2xheW91dCBcclxuXHQgKiBAcGFyYW0gX3JvdXRlciBcclxuXHQgKiBAcGFyYW0gX3Nhbml0aXplIFxyXG5cdCAqL1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0QEluamVjdChmb3J3YXJkUmVmKCgpID0+IFZkTGF5b3V0Q29tcG9uZW50KSlcclxuXHRcdHByaXZhdGUgX2xheW91dDogVmRMYXlvdXRDb21wb25lbnQsXHJcblx0XHRAT3B0aW9uYWwoKSBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcixcclxuXHRcdHByaXZhdGUgX3Nhbml0aXplOiBEb21TYW5pdGl6ZXIsXHJcblx0XHRwcml2YXRlIG1lZGlhOiBWZE1lZGlhU2VydmljZVxyXG5cdCkgeyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEBkZXNjcmlwdGlvblxyXG5cdCAqL1xyXG5cdG5nT25Jbml0KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5fY2xvc2VTdWJzY3JpcHRpb24gPSB0aGlzLl9sYXlvdXQuc2lkZW5hdi5vcGVuZWRDaGFuZ2Uuc3Vic2NyaWJlKChvcGVuZWQ6IGJvb2xlYW4pID0+IHtcclxuXHRcdFx0aWYgKCFvcGVuZWQpIHtcclxuXHRcdFx0XHR0aGlzLl9tZW51VG9nZ2xlZCA9IGZhbHNlO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHJcblx0XHR0aGlzLl9sYXlvdXQuZXhwYW5kZWRDaGFuZ2Uuc3Vic2NyaWJlKChleHBhbmRlZDogYm9vbGVhbikgPT4gdGhpcy5leHBhbmRlZCA9IGV4cGFuZGVkKTtcclxuXHJcblx0XHRpZiAodGhpcy5zaWRlR3QpIHtcclxuXHRcdFx0dGhpcy5tZWRpYS5yZWdpc3RlclF1ZXJ5KGBndC0ke3RoaXMuc2lkZUd0fWApLnN1YnNjcmliZSgoeDogYm9vbGVhbikgPT4gdGhpcy5leHBhbmRlZCA9ICF4KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEBkZXNjcmlwdGlvblxyXG5cdCAqL1xyXG5cdHB1YmxpYyB0b2dnbGVNZW51KCk6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMuaXNNZW51QXZhaWxhYmxlKSB7XHJcblx0XHRcdHRoaXMuX21lbnVUb2dnbGVkID0gIXRoaXMuX21lbnVUb2dnbGVkO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQGRlc2NyaXB0aW9uXHJcblx0ICovXHJcblx0cHVibGljIGhhbmRsZU5hdmlnYXRpb25DbGljaygpOiB2b2lkIHtcclxuXHRcdGlmICh0aGlzLnJvdXRlckVuYWJsZWQgJiYgdGhpcy5uYXZpZ2F0aW9uUm91dGUpIHtcclxuXHRcdFx0dGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy5uYXZpZ2F0aW9uUm91dGUpO1xyXG5cdFx0XHR0aGlzLmNsb3NlKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBQcm94eSB0b2dnbGUgbWV0aG9kIHRvIGFjY2VzcyBzaWRlbmF2IGZyb20gb3V0c2lkZSAoZnJvbSB0ZC1sYXlvdXQgdGVtcGxhdGUpLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyB0b2dnbGUoKTogUHJvbWlzZTxNYXREcmF3ZXJUb2dnbGVSZXN1bHQ+IHtcclxuXHRcdHJldHVybiB0aGlzLl9sYXlvdXQudG9nZ2xlKCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBQcm94eSBvcGVuIG1ldGhvZCB0byBhY2Nlc3Mgc2lkZW5hdiBmcm9tIG91dHNpZGUgKGZyb20gdGQtbGF5b3V0IHRlbXBsYXRlKS5cclxuXHQgKi9cclxuXHRwdWJsaWMgb3BlbigpOiBQcm9taXNlPE1hdERyYXdlclRvZ2dsZVJlc3VsdD4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2xheW91dC5vcGVuKCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBQcm94eSBjbG9zZSBtZXRob2QgdG8gYWNjZXNzIHNpZGVuYXYgZnJvbSBvdXRzaWRlIChmcm9tIHRkLWxheW91dCB0ZW1wbGF0ZSkuXHJcblx0ICovXHJcblx0cHVibGljIGNsb3NlKCk6IFByb21pc2U8TWF0RHJhd2VyVG9nZ2xlUmVzdWx0PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5fbGF5b3V0LmNsb3NlKCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBQcm94eSBleHBhbmQgbWV0aG9kIHRvIGFjY2VzcyBzaWRlbmF2IGZyb20gb3V0c2lkZSAoZnJvbSB0ZC1sYXlvdXQgdGVtcGxhdGUpLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyBleHBhbmQoKTogUHJvbWlzZTxNYXREcmF3ZXJUb2dnbGVSZXN1bHQ+IHtcclxuXHRcdHJldHVybiB0aGlzLl9sYXlvdXQuZXhwYW5kKCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBAZGVzY3JpcHRpb25cclxuXHQgKi9cclxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuXHRcdGlmICh0aGlzLl9jbG9zZVN1YnNjcmlwdGlvbikge1xyXG5cdFx0XHR0aGlzLl9jbG9zZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG5cdFx0XHR0aGlzLl9jbG9zZVN1YnNjcmlwdGlvbiA9IHVuZGVmaW5lZDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiPG1hdC10b29sYmFyIFtjb2xvcl09XCJjb2xvclwiIFtzdHlsZS5iYWNrZ3JvdW5kLWltYWdlXT1cImJhY2tncm91bmRJbWFnZVwiIFtjbGFzcy52ZC10b29sYmFyLWJhY2tncm91bmRdPVwiISFpc0JhY2tncm91bmRBdmFpbGFibGVcIiBjbGFzcz1cInZkLW5hZ2l2YXRpb24tZHJhd2VyLXRvb2xiYXJcIiBbbmdDbGFzc109XCJ7J2RyYXdlci1taW5pJzogbWluaSAmJiAhZXhwYW5kZWR9XCIgZGVuc2UgZmxleCBsYXlvdXQ9XCJjb2x1bW5cIj5cclxuXHQ8bmctY29udGVudCBzZWxlY3Q9XCJbdmQtbmF2aWdhdGlvbi1kcmF3ZXItdG9vbGJhcl1cIj48L25nLWNvbnRlbnQ+XHJcblx0PG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0N1c3RvbVRvb2xiYXIgJiYgKCFtaW5pIHx8IGV4cGFuZGVkKVwiPlxyXG5cdFx0PGRpdiAqbmdJZj1cImljb24gfHwgbG9nbyB8fCBzaWRlbmF2VGl0bGUgfHwgYXZhdGFyXCIgY2xhc3M9XCJ2ZC1uYXZpZ2F0aW9uLWRyYXdlci10b29sYmFyLWNvbnRlbnRcIiBbY2xhc3MuY3Vyc29yLXBvaW50ZXJdPVwicm91dGVyRW5hYmxlZFwiIChjbGljayk9XCJoYW5kbGVOYXZpZ2F0aW9uQ2xpY2soKVwiPlxyXG5cdFx0XHQ8bWF0LWljb24gKm5nSWY9XCJpY29uXCI+e3sgaWNvbiB9fTwvbWF0LWljb24+XHJcblx0XHRcdDxtYXQtaWNvbiAqbmdJZj1cImxvZ28gJiYgIWljb25cIiBjbGFzcz1cIm1hdC1pY29uLWxvZ29cIiBbc3ZnSWNvbl09XCJsb2dvXCI+PC9tYXQtaWNvbj5cclxuXHRcdFx0PGltZyAqbmdJZj1cImF2YXRhciAmJiAhbG9nbyAmJiAhaWNvblwiIGNsYXNzPVwidmQtbmFnaXZhdGlvbi1kcmF3ZXItdG9vbGJhci1hdmF0YXJcIiBbYXR0ci5zcmNdPVwiYXZhdGFyXCIgLz5cclxuXHRcdFx0PHNwYW4gKm5nSWY9XCJzaWRlbmF2VGl0bGVcIiBjbGFzcz1cInZkLW5hdmlnYXRpb24tZHJhd2VyLXRpdGxlXCI+e3tzaWRlbmF2VGl0bGV9fTwvc3Bhbj5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PGRpdiBjbGFzcz1cInZkLW5hdmlnYXRpb24tZHJhd2VyLW5hbWVcIiAqbmdJZj1cImVtYWlsICYmIG5hbWVcIj57e25hbWV9fTwvZGl2PlxyXG5cdFx0PGRpdiBjbGFzcz1cInZkLW5hdmlnYXRpb24tZHJhd2VyLW1lbnUtdG9nZ2xlXCIgaHJlZiAqbmdJZj1cImVtYWlsIHx8IG5hbWVcIiAoY2xpY2spPVwidG9nZ2xlTWVudSgpXCI+XHJcblx0XHRcdDxzcGFuIGNsYXNzPVwidmQtbmF2aWdhdGlvbi1kcmF3ZXItbGFiZWxcIj57eyBlbWFpbCB8fCBuYW1lIH19PC9zcGFuPlxyXG5cdFx0XHQ8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjbGFzcz1cInZkLW5hdmlnYXRpb24tZHJhd2VyLW1lbnUtYnV0dG9uXCIgKm5nSWY9XCJpc01lbnVBdmFpbGFibGVcIj5cclxuXHRcdFx0XHQ8bWF0LWljb24gKm5nSWY9XCIhbWVudVRvZ2dsZWRcIj5hcnJvd19kcm9wX2Rvd248L21hdC1pY29uPlxyXG5cdFx0XHRcdDxtYXQtaWNvbiAqbmdJZj1cIm1lbnVUb2dnbGVkXCI+YXJyb3dfZHJvcF91cDwvbWF0LWljb24+XHJcblx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0PC9kaXY+XHJcblx0PC9uZy1jb250YWluZXI+XHJcblx0PG5nLWNvbnRhaW5lciAqbmdJZj1cIm1pbmkgJiYgIWV4cGFuZGVkXCI+XHJcblx0XHQ8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZXhwYW5kKClcIiBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIj5cclxuXHRcdFx0PG1hdC1pY29uPmZvcm1hdF9saXN0X2J1bGxldGVkPC9tYXQtaWNvbj5cclxuXHRcdDwvYnV0dG9uPlxyXG5cdDwvbmctY29udGFpbmVyPlxyXG48L21hdC10b29sYmFyPlxyXG5cclxuPGRpdiBjbGFzcz1cInZkLW5hdmlnYXRpb24tZHJhd2VyLWNvbnRlbnRcIiBbQHZkQ29sbGFwc2VdPVwibWVudVRvZ2dsZWRcIj5cclxuXHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cInZkLW5hdmlnYXRpb24tZHJhd2VyLW1lbnUtY29udGVudFwiIFtAdmRDb2xsYXBzZV09XCIhbWVudVRvZ2dsZWRcIj5cclxuXHQ8bmctY29udGVudCBzZWxlY3Q9XCJbdmQtbmF2aWdhdGlvbi1kcmF3ZXItbWVudV1cIj48L25nLWNvbnRlbnQ+XHJcbjwvZGl2PiJdfQ==