@bcgov/nr-ngx-component-lib 0.0.65 → 0.0.67

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.
@@ -26,9 +26,10 @@ export declare class ResourceScheduleComponent {
26
26
  weekStart: number;
27
27
  dayCount?: number;
28
28
  menu?: MatMenuPanel;
29
+ hover: boolean;
29
30
  scheduleComponent?: ScheduleComponent;
30
31
  headerTemplate: ResourceScheduleRowHeadingDirective;
31
32
  static ɵfac: i0.ɵɵFactoryDeclaration<ResourceScheduleComponent, never>;
32
- static ɵcmp: i0.ɵɵComponentDeclaration<ResourceScheduleComponent, "nrcl-resource-schedule", never, { "provider": { "alias": "provider"; "required": false; }; "startDate": { "alias": "startDate"; "required": false; }; "highlightDate": { "alias": "highlightDate"; "required": false; }; "weekStart": { "alias": "weekStart"; "required": false; }; "dayCount": { "alias": "dayCount"; "required": false; }; "menu": { "alias": "menu"; "required": false; }; }, {}, ["headerTemplate"], ["*"], false, never>;
33
+ static ɵcmp: i0.ɵɵComponentDeclaration<ResourceScheduleComponent, "nrcl-resource-schedule", never, { "provider": { "alias": "provider"; "required": false; }; "startDate": { "alias": "startDate"; "required": false; }; "highlightDate": { "alias": "highlightDate"; "required": false; }; "weekStart": { "alias": "weekStart"; "required": false; }; "dayCount": { "alias": "dayCount"; "required": false; }; "menu": { "alias": "menu"; "required": false; }; "hover": { "alias": "hover"; "required": false; }; }, {}, ["headerTemplate"], ["*"], false, never>;
33
34
  static ngAcceptInputType_dayCount: unknown;
34
35
  }
@@ -60,6 +60,7 @@ export declare class ScheduleComponent extends RowListBase<{}, ScheduleRow> impl
60
60
  weekStart: number;
61
61
  dayCount?: number;
62
62
  menu?: MatMenuPanel;
63
+ hover: boolean;
63
64
  highlightDate?: string;
64
65
  itemTemplates: QueryList<ScheduleItemDirective>;
65
66
  headerTemplate: ScheduleRowHeadingDirective;
@@ -76,7 +77,7 @@ export declare class ScheduleComponent extends RowListBase<{}, ScheduleRow> impl
76
77
  onSamePageFilterChange(ev: {}): void;
77
78
  makeRows(schedule: Schedule): Schedule;
78
79
  static ɵfac: i0.ɵɵFactoryDeclaration<ScheduleComponent, never>;
79
- static ɵcmp: i0.ɵɵComponentDeclaration<ScheduleComponent, "nrcl-schedule", never, { "provider": { "alias": "provider"; "required": false; }; "startDate": { "alias": "startDate"; "required": false; }; "weekStart": { "alias": "weekStart"; "required": false; }; "dayCount": { "alias": "dayCount"; "required": false; }; "menu": { "alias": "menu"; "required": false; }; "highlightDate": { "alias": "highlightDate"; "required": false; }; }, {}, ["headerTemplate", "itemTemplates"], ["*"], false, never>;
80
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScheduleComponent, "nrcl-schedule", never, { "provider": { "alias": "provider"; "required": false; }; "startDate": { "alias": "startDate"; "required": false; }; "weekStart": { "alias": "weekStart"; "required": false; }; "dayCount": { "alias": "dayCount"; "required": false; }; "menu": { "alias": "menu"; "required": false; }; "hover": { "alias": "hover"; "required": false; }; "highlightDate": { "alias": "highlightDate"; "required": false; }; }, {}, ["headerTemplate", "itemTemplates"], ["*"], false, never>;
80
81
  static ngAcceptInputType_weekStart: unknown;
81
82
  static ngAcceptInputType_dayCount: unknown;
82
83
  }
@@ -19,13 +19,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
19
19
  export class ResourceScheduleComponent {
20
20
  constructor() {
21
21
  this.weekStart = 0;
22
+ this.hover = true;
22
23
  }
23
24
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResourceScheduleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.14", type: ResourceScheduleComponent, selector: "nrcl-resource-schedule", inputs: { provider: "provider", startDate: "startDate", highlightDate: "highlightDate", weekStart: "weekStart", dayCount: ["dayCount", "dayCount", numberAttribute], menu: "menu" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ResourceScheduleRowHeadingDirective, descendants: true }], viewQueries: [{ propertyName: "scheduleComponent", first: true, predicate: ScheduleComponent, descendants: true }], ngImport: i0, template: "<nrcl-schedule #schedule\n [provider]=\"provider\"\n [startDate]=\"startDate\"\n [highlightDate]=\"highlightDate\"\n [weekStart]=\"weekStart\"\n [dayCount]=\"dayCount\"\n [menu]=\"menu\"\n>\n <ng-content></ng-content>\n\n <ng-template nrclScheduleRowHeading let-item>\n <ng-container \n [ngTemplateOutlet]=\"headerTemplate.template\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\" \n ></ng-container>\n </ng-template>\n\n <ng-template nrclScheduleItem=\"rostered\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n </ng-template>\n\n <ng-template nrclScheduleItem=\"out-of-service\" let-data>\n <h1>OOS</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-duty-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Duty Day</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-standby-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>STBY</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-off-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Day Off</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-regular-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Reg Day</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-duty-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Duty Day</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-standby-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>STBY</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-off-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Day Off</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-regular-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Reg Day</h3> -->\n </ng-template>\n</nrcl-schedule>\n\n", styles: ["::ng-deep :root{--nrcl-resource-schedule-item-foregroud-color: black;--nrcl-resource-schedule-item-text-shadow: 1px 0px 5px #ffffffa0, -1px 0px 5px #ffffffa0, 0px 1px 5px #ffffffa0, 0px -1px 5px #ffffffa0;--nrcl-resource-schedule-item-regular-day-background-color: #0AA647;--nrcl-resource-schedule-item-off-day-background-color: #d4d2d2;--nrcl-resource-schedule-item-duty-day-background-color: #2f9fe0;--nrcl-resource-schedule-item-standby-day-background-color: #f6cf43;--nrcl-resource-schedule-item-out-of-service-background-color: #f55353;--nrcl-resource-schedule-item-rostered-background-color: #ba9ef7}:host{height:100%;display:block}.nrcl-schedule ::ng-deep .inner.item{display:flex;flex-direction:column;justify-content:stretch;align-items:stretch;color:var(--nrcl-resource-schedule-item-foregroud-color)}.nrcl-schedule ::ng-deep .inner.item h1,.nrcl-schedule ::ng-deep .inner.item h2,.nrcl-schedule ::ng-deep .inner.item h3{padding:0;margin:0;font-weight:200;font-size:15px;line-height:18px;text-align:center;white-space:nowrap}.nrcl-schedule ::ng-deep .inner.item h2{flex-grow:1;text-align:center;display:flex;justify-content:center;align-items:center}.nrcl-schedule ::ng-deep .inner.item h2.wrap{white-space:wrap;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-height:0;overflow:hidden}.nrcl-schedule ::ng-deep .inner.item.item-out-of-service{background-color:var(--nrcl-resource-schedule-item-out-of-service-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-rostered{background-color:var(--nrcl-resource-schedule-item-rostered-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-duty-day{background-color:var(--nrcl-resource-schedule-item-duty-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-standby-day{background-color:var(--nrcl-resource-schedule-item-standby-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-off-day{background-color:var(--nrcl-resource-schedule-item-off-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-regular-day{background-color:var(--nrcl-resource-schedule-item-regular-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-duty-day{background-color:var(--nrcl-resource-schedule-item-duty-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-standby-day{background-color:var(--nrcl-resource-schedule-item-standby-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-off-day{background-color:var(--nrcl-resource-schedule-item-off-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-regular-day{background-color:var(--nrcl-resource-schedule-item-regular-day-background-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ScheduleComponent, selector: "nrcl-schedule", inputs: ["provider", "startDate", "weekStart", "dayCount", "menu", "highlightDate"] }, { kind: "directive", type: i2.ScheduleItemDirective, selector: "[nrclScheduleItem]", inputs: ["nrclScheduleItem"] }, { kind: "directive", type: i2.ScheduleRowHeadingDirective, selector: "[nrclScheduleRowHeading]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.14", type: ResourceScheduleComponent, selector: "nrcl-resource-schedule", inputs: { provider: "provider", startDate: "startDate", highlightDate: "highlightDate", weekStart: "weekStart", dayCount: ["dayCount", "dayCount", numberAttribute], menu: "menu", hover: "hover" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ResourceScheduleRowHeadingDirective, descendants: true }], viewQueries: [{ propertyName: "scheduleComponent", first: true, predicate: ScheduleComponent, descendants: true }], ngImport: i0, template: "<nrcl-schedule #schedule\n [provider]=\"provider\"\n [startDate]=\"startDate\"\n [highlightDate]=\"highlightDate\"\n [weekStart]=\"weekStart\"\n [dayCount]=\"dayCount\"\n [menu]=\"menu\"\n [hover]=\"hover\"\n>\n <ng-content></ng-content>\n\n <ng-template nrclScheduleRowHeading let-item>\n <ng-container \n [ngTemplateOutlet]=\"headerTemplate.template\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\" \n ></ng-container>\n </ng-template>\n\n <ng-template nrclScheduleItem=\"rostered\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n </ng-template>\n\n <ng-template nrclScheduleItem=\"out-of-service\" let-data>\n <h1>OOS</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-duty-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Duty Day</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-standby-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>STBY</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-off-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Day Off</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-regular-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Reg Day</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-duty-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Duty Day</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-standby-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>STBY</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-off-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Day Off</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-regular-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Reg Day</h3> -->\n </ng-template>\n</nrcl-schedule>\n\n", styles: ["::ng-deep :root{--nrcl-resource-schedule-item-foregroud-color: black;--nrcl-resource-schedule-item-text-shadow: 1px 0px 5px #ffffffa0, -1px 0px 5px #ffffffa0, 0px 1px 5px #ffffffa0, 0px -1px 5px #ffffffa0;--nrcl-resource-schedule-item-regular-day-background-color: #0AA647;--nrcl-resource-schedule-item-off-day-background-color: #d4d2d2;--nrcl-resource-schedule-item-duty-day-background-color: #2f9fe0;--nrcl-resource-schedule-item-standby-day-background-color: #f6cf43;--nrcl-resource-schedule-item-out-of-service-background-color: #f55353;--nrcl-resource-schedule-item-rostered-background-color: #ba9ef7}:host{height:100%;display:block}.nrcl-schedule ::ng-deep .inner.item{display:flex;flex-direction:column;justify-content:stretch;align-items:stretch;color:var(--nrcl-resource-schedule-item-foregroud-color)}.nrcl-schedule ::ng-deep .inner.item h1,.nrcl-schedule ::ng-deep .inner.item h2,.nrcl-schedule ::ng-deep .inner.item h3{padding:0;margin:0;font-weight:200;font-size:15px;line-height:18px;text-align:center;white-space:nowrap}.nrcl-schedule ::ng-deep .inner.item h2{flex-grow:1;text-align:center;display:flex;justify-content:center;align-items:center}.nrcl-schedule ::ng-deep .inner.item h2.wrap{white-space:wrap;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-height:0;overflow:hidden}.nrcl-schedule ::ng-deep .inner.item.item-out-of-service{background-color:var(--nrcl-resource-schedule-item-out-of-service-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-rostered{background-color:var(--nrcl-resource-schedule-item-rostered-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-duty-day{background-color:var(--nrcl-resource-schedule-item-duty-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-standby-day{background-color:var(--nrcl-resource-schedule-item-standby-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-off-day{background-color:var(--nrcl-resource-schedule-item-off-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-regular-day{background-color:var(--nrcl-resource-schedule-item-regular-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-duty-day{background-color:var(--nrcl-resource-schedule-item-duty-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-standby-day{background-color:var(--nrcl-resource-schedule-item-standby-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-off-day{background-color:var(--nrcl-resource-schedule-item-off-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-regular-day{background-color:var(--nrcl-resource-schedule-item-regular-day-background-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ScheduleComponent, selector: "nrcl-schedule", inputs: ["provider", "startDate", "weekStart", "dayCount", "menu", "hover", "highlightDate"] }, { kind: "directive", type: i2.ScheduleItemDirective, selector: "[nrclScheduleItem]", inputs: ["nrclScheduleItem"] }, { kind: "directive", type: i2.ScheduleRowHeadingDirective, selector: "[nrclScheduleRowHeading]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
26
  }
26
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResourceScheduleComponent, decorators: [{
27
28
  type: Component,
28
- args: [{ selector: "nrcl-resource-schedule", changeDetection: ChangeDetectionStrategy.OnPush, template: "<nrcl-schedule #schedule\n [provider]=\"provider\"\n [startDate]=\"startDate\"\n [highlightDate]=\"highlightDate\"\n [weekStart]=\"weekStart\"\n [dayCount]=\"dayCount\"\n [menu]=\"menu\"\n>\n <ng-content></ng-content>\n\n <ng-template nrclScheduleRowHeading let-item>\n <ng-container \n [ngTemplateOutlet]=\"headerTemplate.template\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\" \n ></ng-container>\n </ng-template>\n\n <ng-template nrclScheduleItem=\"rostered\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n </ng-template>\n\n <ng-template nrclScheduleItem=\"out-of-service\" let-data>\n <h1>OOS</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-duty-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Duty Day</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-standby-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>STBY</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-off-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Day Off</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-regular-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Reg Day</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-duty-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Duty Day</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-standby-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>STBY</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-off-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Day Off</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-regular-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Reg Day</h3> -->\n </ng-template>\n</nrcl-schedule>\n\n", styles: ["::ng-deep :root{--nrcl-resource-schedule-item-foregroud-color: black;--nrcl-resource-schedule-item-text-shadow: 1px 0px 5px #ffffffa0, -1px 0px 5px #ffffffa0, 0px 1px 5px #ffffffa0, 0px -1px 5px #ffffffa0;--nrcl-resource-schedule-item-regular-day-background-color: #0AA647;--nrcl-resource-schedule-item-off-day-background-color: #d4d2d2;--nrcl-resource-schedule-item-duty-day-background-color: #2f9fe0;--nrcl-resource-schedule-item-standby-day-background-color: #f6cf43;--nrcl-resource-schedule-item-out-of-service-background-color: #f55353;--nrcl-resource-schedule-item-rostered-background-color: #ba9ef7}:host{height:100%;display:block}.nrcl-schedule ::ng-deep .inner.item{display:flex;flex-direction:column;justify-content:stretch;align-items:stretch;color:var(--nrcl-resource-schedule-item-foregroud-color)}.nrcl-schedule ::ng-deep .inner.item h1,.nrcl-schedule ::ng-deep .inner.item h2,.nrcl-schedule ::ng-deep .inner.item h3{padding:0;margin:0;font-weight:200;font-size:15px;line-height:18px;text-align:center;white-space:nowrap}.nrcl-schedule ::ng-deep .inner.item h2{flex-grow:1;text-align:center;display:flex;justify-content:center;align-items:center}.nrcl-schedule ::ng-deep .inner.item h2.wrap{white-space:wrap;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-height:0;overflow:hidden}.nrcl-schedule ::ng-deep .inner.item.item-out-of-service{background-color:var(--nrcl-resource-schedule-item-out-of-service-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-rostered{background-color:var(--nrcl-resource-schedule-item-rostered-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-duty-day{background-color:var(--nrcl-resource-schedule-item-duty-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-standby-day{background-color:var(--nrcl-resource-schedule-item-standby-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-off-day{background-color:var(--nrcl-resource-schedule-item-off-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-regular-day{background-color:var(--nrcl-resource-schedule-item-regular-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-duty-day{background-color:var(--nrcl-resource-schedule-item-duty-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-standby-day{background-color:var(--nrcl-resource-schedule-item-standby-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-off-day{background-color:var(--nrcl-resource-schedule-item-off-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-regular-day{background-color:var(--nrcl-resource-schedule-item-regular-day-background-color)}\n"] }]
29
+ args: [{ selector: "nrcl-resource-schedule", changeDetection: ChangeDetectionStrategy.OnPush, template: "<nrcl-schedule #schedule\n [provider]=\"provider\"\n [startDate]=\"startDate\"\n [highlightDate]=\"highlightDate\"\n [weekStart]=\"weekStart\"\n [dayCount]=\"dayCount\"\n [menu]=\"menu\"\n [hover]=\"hover\"\n>\n <ng-content></ng-content>\n\n <ng-template nrclScheduleRowHeading let-item>\n <ng-container \n [ngTemplateOutlet]=\"headerTemplate.template\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\" \n ></ng-container>\n </ng-template>\n\n <ng-template nrclScheduleItem=\"rostered\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n </ng-template>\n\n <ng-template nrclScheduleItem=\"out-of-service\" let-data>\n <h1>OOS</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-duty-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Duty Day</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-standby-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>STBY</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-off-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Day Off</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"available-regular-day\" let-data>\n <h1>Available</h1>\n <h2>{{ data.allocationType }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Reg Day</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-duty-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Duty Day</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-standby-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>STBY</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-off-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Day Off</h3> -->\n </ng-template>\n\n <ng-template nrclScheduleItem=\"assigned-regular-day\" let-data>\n <!-- <h1></h1> -->\n <h2 class=\"wrap\">{{ data.assignmentName }}</h2>\n <h3>{{ data.shiftType }}</h3>\n <!-- <h3>Reg Day</h3> -->\n </ng-template>\n</nrcl-schedule>\n\n", styles: ["::ng-deep :root{--nrcl-resource-schedule-item-foregroud-color: black;--nrcl-resource-schedule-item-text-shadow: 1px 0px 5px #ffffffa0, -1px 0px 5px #ffffffa0, 0px 1px 5px #ffffffa0, 0px -1px 5px #ffffffa0;--nrcl-resource-schedule-item-regular-day-background-color: #0AA647;--nrcl-resource-schedule-item-off-day-background-color: #d4d2d2;--nrcl-resource-schedule-item-duty-day-background-color: #2f9fe0;--nrcl-resource-schedule-item-standby-day-background-color: #f6cf43;--nrcl-resource-schedule-item-out-of-service-background-color: #f55353;--nrcl-resource-schedule-item-rostered-background-color: #ba9ef7}:host{height:100%;display:block}.nrcl-schedule ::ng-deep .inner.item{display:flex;flex-direction:column;justify-content:stretch;align-items:stretch;color:var(--nrcl-resource-schedule-item-foregroud-color)}.nrcl-schedule ::ng-deep .inner.item h1,.nrcl-schedule ::ng-deep .inner.item h2,.nrcl-schedule ::ng-deep .inner.item h3{padding:0;margin:0;font-weight:200;font-size:15px;line-height:18px;text-align:center;white-space:nowrap}.nrcl-schedule ::ng-deep .inner.item h2{flex-grow:1;text-align:center;display:flex;justify-content:center;align-items:center}.nrcl-schedule ::ng-deep .inner.item h2.wrap{white-space:wrap;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-height:0;overflow:hidden}.nrcl-schedule ::ng-deep .inner.item.item-out-of-service{background-color:var(--nrcl-resource-schedule-item-out-of-service-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-rostered{background-color:var(--nrcl-resource-schedule-item-rostered-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-duty-day{background-color:var(--nrcl-resource-schedule-item-duty-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-standby-day{background-color:var(--nrcl-resource-schedule-item-standby-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-off-day{background-color:var(--nrcl-resource-schedule-item-off-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-available-regular-day{background-color:var(--nrcl-resource-schedule-item-regular-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-duty-day{background-color:var(--nrcl-resource-schedule-item-duty-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-standby-day{background-color:var(--nrcl-resource-schedule-item-standby-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-off-day{background-color:var(--nrcl-resource-schedule-item-off-day-background-color)}.nrcl-schedule ::ng-deep .inner.item.item-assigned-regular-day{background-color:var(--nrcl-resource-schedule-item-regular-day-background-color)}\n"] }]
29
30
  }], propDecorators: { provider: [{
30
31
  type: Input
31
32
  }], startDate: [{
@@ -39,6 +40,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
39
40
  args: [{ transform: numberAttribute }]
40
41
  }], menu: [{
41
42
  type: Input
43
+ }], hover: [{
44
+ type: Input
42
45
  }], scheduleComponent: [{
43
46
  type: ViewChild,
44
47
  args: [ScheduleComponent]
@@ -46,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
46
49
  type: ContentChild,
47
50
  args: [ResourceScheduleRowHeadingDirective]
48
51
  }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2Utc2NoZWR1bGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvcmVzb3VyY2Utc2NoZWR1bGUvcmVzb3VyY2Utc2NoZWR1bGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvcmVzb3VyY2Utc2NoZWR1bGUvcmVzb3VyY2Utc2NoZWR1bGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQix1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFlLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzSixPQUFPLEVBQUUsaUJBQWlCLEVBQWtELE1BQU0sZ0NBQWdDLENBQUM7Ozs7QUFLbkgsTUFBTSxPQUFPLG1DQUFtQztJQUM1QyxZQUNXLFFBQTBCO1FBQTFCLGFBQVEsR0FBUixRQUFRLENBQWtCO0lBQ25DLENBQUM7K0dBSE0sbUNBQW1DO21HQUFuQyxtQ0FBbUM7OzRGQUFuQyxtQ0FBbUM7a0JBSC9DLFNBQVM7bUJBQUU7b0JBQ1IsUUFBUSxFQUFFLGtDQUFrQztpQkFDL0M7O0FBeUNELE1BQU0sT0FBTyx5QkFBeUI7SUFOdEM7UUFVYSxjQUFTLEdBQUcsQ0FBQyxDQUFBO0tBT3pCOytHQVhZLHlCQUF5QjttR0FBekIseUJBQXlCLHlMQUtiLGVBQWUsdUZBS3RCLG1DQUFtQyxtR0FGckMsaUJBQWlCLGdEQ3ZEakMsb3lGQXNGQTs7NEZEdkNhLHlCQUF5QjtrQkFOckMsU0FBUzsrQkFDSSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ21DLFFBQVE7c0JBQWhELEtBQUs7dUJBQUUsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUM3QixJQUFJO3NCQUFaLEtBQUs7Z0JBRTBCLGlCQUFpQjtzQkFBaEQsU0FBUzt1QkFBRSxpQkFBaUI7Z0JBRXNCLGNBQWM7c0JBQWhFLFlBQVk7dUJBQUMsbUNBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBEaXJlY3RpdmUsIElucHV0LCBudW1iZXJBdHRyaWJ1dGUsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTWF0TWVudVBhbmVsIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL21lbnVcIjtcbmltcG9ydCB7IFNjaGVkdWxlQ29tcG9uZW50LCBTY2hlZHVsZVByb3ZpZGVyLCBTY2hlZHVsZVJvdywgU2NoZWR1bGVSb3dJdGVtIH0gZnJvbSBcIi4uL3NjaGVkdWxlL3NjaGVkdWxlLmNvbXBvbmVudFwiO1xuXG5ARGlyZWN0aXZlKCB7XG4gICAgc2VsZWN0b3I6ICdbbnJjbFJlc291cmNlU2NoZWR1bGVSb3dIZWFkaW5nXSdcbn0gKVxuZXhwb3J0IGNsYXNzIFJlc291cmNlU2NoZWR1bGVSb3dIZWFkaW5nRGlyZWN0aXZlIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+XG4gICAgKXt9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIFJlc291cmNlU2NoZWR1bGVJdGVtVHlwZXMgPSBcbiAgICAnZW1wdHknIHxcbiAgICAncm9zdGVyZWQnIHxcbiAgICAnb3V0LW9mLXNlcnZpY2UnIHxcbiAgICAnYXZhaWxhYmxlLWR1dHktZGF5JyB8XG4gICAgJ2F2YWlsYWJsZS1zdGFuZGJ5LWRheScgfFxuICAgICdhdmFpbGFibGUtb2ZmLWRheScgfFxuICAgICdhdmFpbGFibGUtcmVndWxhci1kYXknIHxcbiAgICAnYXNzaWduZWQtZHV0eS1kYXknIHxcbiAgICAnYXNzaWduZWQtc3RhbmRieS1kYXknIHxcbiAgICAnYXNzaWduZWQtb2ZmLWRheScgfFxuICAgICdhc3NpZ25lZC1yZWd1bGFyLWRheScgXG5cbmV4cG9ydCB0eXBlIFJlc291cmNlU2NoZWR1bGVSb3dJdGVtID0gU2NoZWR1bGVSb3dJdGVtICYge1xuICAgIG5hbWU6IFJlc291cmNlU2NoZWR1bGVJdGVtVHlwZXMsXG4gICAgYWxsb2NhdGlvblR5cGU/OiBzdHJpbmcsXG4gICAgc2hpZnRUeXBlPzogc3RyaW5nLFxuICAgIGFzc2lnbm1lbnROYW1lPzogc3RyaW5nLFxufVxuXG5leHBvcnQgdHlwZSBSZXNvdXJjZVNjaGVkdWxlUm93ID0gU2NoZWR1bGVSb3cgJiB7XG4gICAgaXRlbXM6ICggUHJvbWlzZTxSZXNvdXJjZVNjaGVkdWxlUm93SXRlbVtdPiApXG59XG5cbmV4cG9ydCB0eXBlIFJlc291cmNlU2NoZWR1bGUgPSBSZXNvdXJjZVNjaGVkdWxlUm93W11cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwibnJjbC1yZXNvdXJjZS1zY2hlZHVsZVwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vcmVzb3VyY2Utc2NoZWR1bGUuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybDogXCIuL3Jlc291cmNlLXNjaGVkdWxlLmNvbXBvbmVudC5zY3NzXCIsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUmVzb3VyY2VTY2hlZHVsZUNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgcHJvdmlkZXI/OiBTY2hlZHVsZVByb3ZpZGVyXG4gICAgQElucHV0KCkgc3RhcnREYXRlPzogc3RyaW5nXG4gICAgQElucHV0KCkgaGlnaGxpZ2h0RGF0ZT86IHN0cmluZ1xuICAgIEBJbnB1dCgpIHdlZWtTdGFydCA9IDBcbiAgICBASW5wdXQoIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSApIGRheUNvdW50PzogbnVtYmVyXG4gICAgQElucHV0KCkgbWVudT86IE1hdE1lbnVQYW5lbFxuXG4gICAgQFZpZXdDaGlsZCggU2NoZWR1bGVDb21wb25lbnQgKSBzY2hlZHVsZUNvbXBvbmVudD86IFNjaGVkdWxlQ29tcG9uZW50XG5cbiAgICBAQ29udGVudENoaWxkKFJlc291cmNlU2NoZWR1bGVSb3dIZWFkaW5nRGlyZWN0aXZlKSBoZWFkZXJUZW1wbGF0ZSE6IFJlc291cmNlU2NoZWR1bGVSb3dIZWFkaW5nRGlyZWN0aXZlXG59XG4iLCI8bnJjbC1zY2hlZHVsZSAjc2NoZWR1bGVcbiAgICBbcHJvdmlkZXJdPVwicHJvdmlkZXJcIlxuICAgIFtzdGFydERhdGVdPVwic3RhcnREYXRlXCJcbiAgICBbaGlnaGxpZ2h0RGF0ZV09XCJoaWdobGlnaHREYXRlXCJcbiAgICBbd2Vla1N0YXJ0XT1cIndlZWtTdGFydFwiXG4gICAgW2RheUNvdW50XT1cImRheUNvdW50XCJcbiAgICBbbWVudV09XCJtZW51XCJcbj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgICA8bmctdGVtcGxhdGUgbnJjbFNjaGVkdWxlUm93SGVhZGluZyBsZXQtaXRlbT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRlclRlbXBsYXRlLnRlbXBsYXRlXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCIgICAgICAgICAgICBcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgbnJjbFNjaGVkdWxlSXRlbT1cInJvc3RlcmVkXCIgbGV0LWRhdGE+XG4gICAgICAgIDxoMT5BdmFpbGFibGU8L2gxPlxuICAgICAgICA8aDI+e3sgZGF0YS5hbGxvY2F0aW9uVHlwZSB9fTwvaDI+XG4gICAgICAgIDxoMz57eyBkYXRhLnNoaWZ0VHlwZSB9fTwvaDM+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSBucmNsU2NoZWR1bGVJdGVtPVwib3V0LW9mLXNlcnZpY2VcIiBsZXQtZGF0YT5cbiAgICAgICAgPGgxPk9PUzwvaDE+XG4gICAgICAgIDxoMj57eyBkYXRhLmFsbG9jYXRpb25UeXBlIH19PC9oMj5cbiAgICAgICAgPGgzPnt7IGRhdGEuc2hpZnRUeXBlIH19PC9oMz5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlIG5yY2xTY2hlZHVsZUl0ZW09XCJhdmFpbGFibGUtZHV0eS1kYXlcIiBsZXQtZGF0YT5cbiAgICAgICAgPGgxPkF2YWlsYWJsZTwvaDE+XG4gICAgICAgIDxoMj57eyBkYXRhLmFsbG9jYXRpb25UeXBlIH19PC9oMj5cbiAgICAgICAgPGgzPnt7IGRhdGEuc2hpZnRUeXBlIH19PC9oMz5cbiAgICAgICAgPCEtLSA8aDM+RHV0eSBEYXk8L2gzPiAtLT5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlIG5yY2xTY2hlZHVsZUl0ZW09XCJhdmFpbGFibGUtc3RhbmRieS1kYXlcIiBsZXQtZGF0YT5cbiAgICAgICAgPGgxPkF2YWlsYWJsZTwvaDE+XG4gICAgICAgIDxoMj57eyBkYXRhLmFsbG9jYXRpb25UeXBlIH19PC9oMj5cbiAgICAgICAgPGgzPnt7IGRhdGEuc2hpZnRUeXBlIH19PC9oMz5cbiAgICAgICAgPCEtLSA8aDM+U1RCWTwvaDM+IC0tPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgbnJjbFNjaGVkdWxlSXRlbT1cImF2YWlsYWJsZS1vZmYtZGF5XCIgbGV0LWRhdGE+XG4gICAgICAgIDxoMT5BdmFpbGFibGU8L2gxPlxuICAgICAgICA8aDI+e3sgZGF0YS5hbGxvY2F0aW9uVHlwZSB9fTwvaDI+XG4gICAgICAgIDxoMz57eyBkYXRhLnNoaWZ0VHlwZSB9fTwvaDM+XG4gICAgICAgIDwhLS0gPGgzPkRheSBPZmY8L2gzPiAtLT5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlIG5yY2xTY2hlZHVsZUl0ZW09XCJhdmFpbGFibGUtcmVndWxhci1kYXlcIiBsZXQtZGF0YT5cbiAgICAgICAgPGgxPkF2YWlsYWJsZTwvaDE+XG4gICAgICAgIDxoMj57eyBkYXRhLmFsbG9jYXRpb25UeXBlIH19PC9oMj5cbiAgICAgICAgPGgzPnt7IGRhdGEuc2hpZnRUeXBlIH19PC9oMz5cbiAgICAgICAgPCEtLSA8aDM+UmVnIERheTwvaDM+IC0tPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgbnJjbFNjaGVkdWxlSXRlbT1cImFzc2lnbmVkLWR1dHktZGF5XCIgbGV0LWRhdGE+XG4gICAgICAgIDwhLS0gPGgxPjwvaDE+IC0tPlxuICAgICAgICA8aDIgY2xhc3M9XCJ3cmFwXCI+e3sgZGF0YS5hc3NpZ25tZW50TmFtZSB9fTwvaDI+XG4gICAgICAgIDxoMz57eyBkYXRhLnNoaWZ0VHlwZSB9fTwvaDM+XG4gICAgICAgIDwhLS0gPGgzPkR1dHkgRGF5PC9oMz4gLS0+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSBucmNsU2NoZWR1bGVJdGVtPVwiYXNzaWduZWQtc3RhbmRieS1kYXlcIiBsZXQtZGF0YT5cbiAgICAgICAgPCEtLSA8aDE+PC9oMT4gLS0+XG4gICAgICAgIDxoMiBjbGFzcz1cIndyYXBcIj57eyBkYXRhLmFzc2lnbm1lbnROYW1lIH19PC9oMj5cbiAgICAgICAgPGgzPnt7IGRhdGEuc2hpZnRUeXBlIH19PC9oMz5cbiAgICAgICAgPCEtLSA8aDM+U1RCWTwvaDM+IC0tPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgbnJjbFNjaGVkdWxlSXRlbT1cImFzc2lnbmVkLW9mZi1kYXlcIiBsZXQtZGF0YT5cbiAgICAgICAgPCEtLSA8aDE+PC9oMT4gLS0+XG4gICAgICAgIDxoMiBjbGFzcz1cIndyYXBcIj57eyBkYXRhLmFzc2lnbm1lbnROYW1lIH19PC9oMj5cbiAgICAgICAgPGgzPnt7IGRhdGEuc2hpZnRUeXBlIH19PC9oMz5cbiAgICAgICAgPCEtLSA8aDM+RGF5IE9mZjwvaDM+IC0tPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgbnJjbFNjaGVkdWxlSXRlbT1cImFzc2lnbmVkLXJlZ3VsYXItZGF5XCIgbGV0LWRhdGE+XG4gICAgICAgIDwhLS0gPGgxPjwvaDE+IC0tPlxuICAgICAgICA8aDIgY2xhc3M9XCJ3cmFwXCI+e3sgZGF0YS5hc3NpZ25tZW50TmFtZSB9fTwvaDI+XG4gICAgICAgIDxoMz57eyBkYXRhLnNoaWZ0VHlwZSB9fTwvaDM+XG4gICAgICAgIDwhLS0gPGgzPlJlZyBEYXk8L2gzPiAtLT5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9ucmNsLXNjaGVkdWxlPlxuXG4iXX0=
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2Utc2NoZWR1bGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvcmVzb3VyY2Utc2NoZWR1bGUvcmVzb3VyY2Utc2NoZWR1bGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvcmVzb3VyY2Utc2NoZWR1bGUvcmVzb3VyY2Utc2NoZWR1bGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQix1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFlLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzSixPQUFPLEVBQUUsaUJBQWlCLEVBQWtELE1BQU0sZ0NBQWdDLENBQUM7Ozs7QUFLbkgsTUFBTSxPQUFPLG1DQUFtQztJQUM1QyxZQUNXLFFBQTBCO1FBQTFCLGFBQVEsR0FBUixRQUFRLENBQWtCO0lBQ25DLENBQUM7K0dBSE0sbUNBQW1DO21HQUFuQyxtQ0FBbUM7OzRGQUFuQyxtQ0FBbUM7a0JBSC9DLFNBQVM7bUJBQUU7b0JBQ1IsUUFBUSxFQUFFLGtDQUFrQztpQkFDL0M7O0FBeUNELE1BQU0sT0FBTyx5QkFBeUI7SUFOdEM7UUFVYSxjQUFTLEdBQUcsQ0FBQyxDQUFBO1FBR2IsVUFBSyxHQUFHLElBQUksQ0FBQTtLQUt4QjsrR0FaWSx5QkFBeUI7bUdBQXpCLHlCQUF5Qix5TEFLYixlQUFlLHVHQU10QixtQ0FBbUMsbUdBRnJDLGlCQUFpQixnREN4RGpDLDJ6RkF1RkE7OzRGRHhDYSx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0ksd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNtQyxRQUFRO3NCQUFoRCxLQUFLO3VCQUFFLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFDN0IsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFMEIsaUJBQWlCO3NCQUFoRCxTQUFTO3VCQUFFLGlCQUFpQjtnQkFFc0IsY0FBYztzQkFBaEUsWUFBWTt1QkFBQyxtQ0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIERpcmVjdGl2ZSwgSW5wdXQsIG51bWJlckF0dHJpYnV0ZSwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBNYXRNZW51UGFuZWwgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudVwiO1xuaW1wb3J0IHsgU2NoZWR1bGVDb21wb25lbnQsIFNjaGVkdWxlUHJvdmlkZXIsIFNjaGVkdWxlUm93LCBTY2hlZHVsZVJvd0l0ZW0gfSBmcm9tIFwiLi4vc2NoZWR1bGUvc2NoZWR1bGUuY29tcG9uZW50XCI7XG5cbkBEaXJlY3RpdmUoIHtcbiAgICBzZWxlY3RvcjogJ1tucmNsUmVzb3VyY2VTY2hlZHVsZVJvd0hlYWRpbmddJ1xufSApXG5leHBvcnQgY2xhc3MgUmVzb3VyY2VTY2hlZHVsZVJvd0hlYWRpbmdEaXJlY3RpdmUge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT5cbiAgICApe31cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgUmVzb3VyY2VTY2hlZHVsZUl0ZW1UeXBlcyA9IFxuICAgICdlbXB0eScgfFxuICAgICdyb3N0ZXJlZCcgfFxuICAgICdvdXQtb2Ytc2VydmljZScgfFxuICAgICdhdmFpbGFibGUtZHV0eS1kYXknIHxcbiAgICAnYXZhaWxhYmxlLXN0YW5kYnktZGF5JyB8XG4gICAgJ2F2YWlsYWJsZS1vZmYtZGF5JyB8XG4gICAgJ2F2YWlsYWJsZS1yZWd1bGFyLWRheScgfFxuICAgICdhc3NpZ25lZC1kdXR5LWRheScgfFxuICAgICdhc3NpZ25lZC1zdGFuZGJ5LWRheScgfFxuICAgICdhc3NpZ25lZC1vZmYtZGF5JyB8XG4gICAgJ2Fzc2lnbmVkLXJlZ3VsYXItZGF5JyBcblxuZXhwb3J0IHR5cGUgUmVzb3VyY2VTY2hlZHVsZVJvd0l0ZW0gPSBTY2hlZHVsZVJvd0l0ZW0gJiB7XG4gICAgbmFtZTogUmVzb3VyY2VTY2hlZHVsZUl0ZW1UeXBlcyxcbiAgICBhbGxvY2F0aW9uVHlwZT86IHN0cmluZyxcbiAgICBzaGlmdFR5cGU/OiBzdHJpbmcsXG4gICAgYXNzaWdubWVudE5hbWU/OiBzdHJpbmcsXG59XG5cbmV4cG9ydCB0eXBlIFJlc291cmNlU2NoZWR1bGVSb3cgPSBTY2hlZHVsZVJvdyAmIHtcbiAgICBpdGVtczogKCBQcm9taXNlPFJlc291cmNlU2NoZWR1bGVSb3dJdGVtW10+IClcbn1cblxuZXhwb3J0IHR5cGUgUmVzb3VyY2VTY2hlZHVsZSA9IFJlc291cmNlU2NoZWR1bGVSb3dbXVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJucmNsLXJlc291cmNlLXNjaGVkdWxlXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9yZXNvdXJjZS1zY2hlZHVsZS5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsOiBcIi4vcmVzb3VyY2Utc2NoZWR1bGUuY29tcG9uZW50LnNjc3NcIixcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZVNjaGVkdWxlQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBwcm92aWRlcj86IFNjaGVkdWxlUHJvdmlkZXJcbiAgICBASW5wdXQoKSBzdGFydERhdGU/OiBzdHJpbmdcbiAgICBASW5wdXQoKSBoaWdobGlnaHREYXRlPzogc3RyaW5nXG4gICAgQElucHV0KCkgd2Vla1N0YXJ0ID0gMFxuICAgIEBJbnB1dCggeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9ICkgZGF5Q291bnQ/OiBudW1iZXJcbiAgICBASW5wdXQoKSBtZW51PzogTWF0TWVudVBhbmVsXG4gICAgQElucHV0KCkgaG92ZXIgPSB0cnVlXG5cbiAgICBAVmlld0NoaWxkKCBTY2hlZHVsZUNvbXBvbmVudCApIHNjaGVkdWxlQ29tcG9uZW50PzogU2NoZWR1bGVDb21wb25lbnRcblxuICAgIEBDb250ZW50Q2hpbGQoUmVzb3VyY2VTY2hlZHVsZVJvd0hlYWRpbmdEaXJlY3RpdmUpIGhlYWRlclRlbXBsYXRlITogUmVzb3VyY2VTY2hlZHVsZVJvd0hlYWRpbmdEaXJlY3RpdmVcbn1cbiIsIjxucmNsLXNjaGVkdWxlICNzY2hlZHVsZVxuICAgIFtwcm92aWRlcl09XCJwcm92aWRlclwiXG4gICAgW3N0YXJ0RGF0ZV09XCJzdGFydERhdGVcIlxuICAgIFtoaWdobGlnaHREYXRlXT1cImhpZ2hsaWdodERhdGVcIlxuICAgIFt3ZWVrU3RhcnRdPVwid2Vla1N0YXJ0XCJcbiAgICBbZGF5Q291bnRdPVwiZGF5Q291bnRcIlxuICAgIFttZW51XT1cIm1lbnVcIlxuICAgIFtob3Zlcl09XCJob3ZlclwiXG4+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG4gICAgPG5nLXRlbXBsYXRlIG5yY2xTY2hlZHVsZVJvd0hlYWRpbmcgbGV0LWl0ZW0+XG4gICAgICAgIDxuZy1jb250YWluZXIgXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUZW1wbGF0ZS50ZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiICAgICAgICAgICAgXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlIG5yY2xTY2hlZHVsZUl0ZW09XCJyb3N0ZXJlZFwiIGxldC1kYXRhPlxuICAgICAgICA8aDE+QXZhaWxhYmxlPC9oMT5cbiAgICAgICAgPGgyPnt7IGRhdGEuYWxsb2NhdGlvblR5cGUgfX08L2gyPlxuICAgICAgICA8aDM+e3sgZGF0YS5zaGlmdFR5cGUgfX08L2gzPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgbnJjbFNjaGVkdWxlSXRlbT1cIm91dC1vZi1zZXJ2aWNlXCIgbGV0LWRhdGE+XG4gICAgICAgIDxoMT5PT1M8L2gxPlxuICAgICAgICA8aDI+e3sgZGF0YS5hbGxvY2F0aW9uVHlwZSB9fTwvaDI+XG4gICAgICAgIDxoMz57eyBkYXRhLnNoaWZ0VHlwZSB9fTwvaDM+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSBucmNsU2NoZWR1bGVJdGVtPVwiYXZhaWxhYmxlLWR1dHktZGF5XCIgbGV0LWRhdGE+XG4gICAgICAgIDxoMT5BdmFpbGFibGU8L2gxPlxuICAgICAgICA8aDI+e3sgZGF0YS5hbGxvY2F0aW9uVHlwZSB9fTwvaDI+XG4gICAgICAgIDxoMz57eyBkYXRhLnNoaWZ0VHlwZSB9fTwvaDM+XG4gICAgICAgIDwhLS0gPGgzPkR1dHkgRGF5PC9oMz4gLS0+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSBucmNsU2NoZWR1bGVJdGVtPVwiYXZhaWxhYmxlLXN0YW5kYnktZGF5XCIgbGV0LWRhdGE+XG4gICAgICAgIDxoMT5BdmFpbGFibGU8L2gxPlxuICAgICAgICA8aDI+e3sgZGF0YS5hbGxvY2F0aW9uVHlwZSB9fTwvaDI+XG4gICAgICAgIDxoMz57eyBkYXRhLnNoaWZ0VHlwZSB9fTwvaDM+XG4gICAgICAgIDwhLS0gPGgzPlNUQlk8L2gzPiAtLT5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlIG5yY2xTY2hlZHVsZUl0ZW09XCJhdmFpbGFibGUtb2ZmLWRheVwiIGxldC1kYXRhPlxuICAgICAgICA8aDE+QXZhaWxhYmxlPC9oMT5cbiAgICAgICAgPGgyPnt7IGRhdGEuYWxsb2NhdGlvblR5cGUgfX08L2gyPlxuICAgICAgICA8aDM+e3sgZGF0YS5zaGlmdFR5cGUgfX08L2gzPlxuICAgICAgICA8IS0tIDxoMz5EYXkgT2ZmPC9oMz4gLS0+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSBucmNsU2NoZWR1bGVJdGVtPVwiYXZhaWxhYmxlLXJlZ3VsYXItZGF5XCIgbGV0LWRhdGE+XG4gICAgICAgIDxoMT5BdmFpbGFibGU8L2gxPlxuICAgICAgICA8aDI+e3sgZGF0YS5hbGxvY2F0aW9uVHlwZSB9fTwvaDI+XG4gICAgICAgIDxoMz57eyBkYXRhLnNoaWZ0VHlwZSB9fTwvaDM+XG4gICAgICAgIDwhLS0gPGgzPlJlZyBEYXk8L2gzPiAtLT5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlIG5yY2xTY2hlZHVsZUl0ZW09XCJhc3NpZ25lZC1kdXR5LWRheVwiIGxldC1kYXRhPlxuICAgICAgICA8IS0tIDxoMT48L2gxPiAtLT5cbiAgICAgICAgPGgyIGNsYXNzPVwid3JhcFwiPnt7IGRhdGEuYXNzaWdubWVudE5hbWUgfX08L2gyPlxuICAgICAgICA8aDM+e3sgZGF0YS5zaGlmdFR5cGUgfX08L2gzPlxuICAgICAgICA8IS0tIDxoMz5EdXR5IERheTwvaDM+IC0tPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgbnJjbFNjaGVkdWxlSXRlbT1cImFzc2lnbmVkLXN0YW5kYnktZGF5XCIgbGV0LWRhdGE+XG4gICAgICAgIDwhLS0gPGgxPjwvaDE+IC0tPlxuICAgICAgICA8aDIgY2xhc3M9XCJ3cmFwXCI+e3sgZGF0YS5hc3NpZ25tZW50TmFtZSB9fTwvaDI+XG4gICAgICAgIDxoMz57eyBkYXRhLnNoaWZ0VHlwZSB9fTwvaDM+XG4gICAgICAgIDwhLS0gPGgzPlNUQlk8L2gzPiAtLT5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlIG5yY2xTY2hlZHVsZUl0ZW09XCJhc3NpZ25lZC1vZmYtZGF5XCIgbGV0LWRhdGE+XG4gICAgICAgIDwhLS0gPGgxPjwvaDE+IC0tPlxuICAgICAgICA8aDIgY2xhc3M9XCJ3cmFwXCI+e3sgZGF0YS5hc3NpZ25tZW50TmFtZSB9fTwvaDI+XG4gICAgICAgIDxoMz57eyBkYXRhLnNoaWZ0VHlwZSB9fTwvaDM+XG4gICAgICAgIDwhLS0gPGgzPkRheSBPZmY8L2gzPiAtLT5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlIG5yY2xTY2hlZHVsZUl0ZW09XCJhc3NpZ25lZC1yZWd1bGFyLWRheVwiIGxldC1kYXRhPlxuICAgICAgICA8IS0tIDxoMT48L2gxPiAtLT5cbiAgICAgICAgPGgyIGNsYXNzPVwid3JhcFwiPnt7IGRhdGEuYXNzaWdubWVudE5hbWUgfX08L2gyPlxuICAgICAgICA8aDM+e3sgZGF0YS5zaGlmdFR5cGUgfX08L2gzPlxuICAgICAgICA8IS0tIDxoMz5SZWcgRGF5PC9oMz4gLS0+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvbnJjbC1zY2hlZHVsZT5cblxuIl19
@@ -45,6 +45,7 @@ export class ScheduleComponent extends RowListBase {
45
45
  constructor() {
46
46
  super(...arguments);
47
47
  this.weekStart = 0;
48
+ this.hover = true;
48
49
  this._days = [];
49
50
  this._weeks = [];
50
51
  this._templates = [];
@@ -145,13 +146,13 @@ export class ScheduleComponent extends RowListBase {
145
146
  }) || [];
146
147
  }
147
148
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScheduleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
148
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ScheduleComponent, selector: "nrcl-schedule", inputs: { provider: "provider", startDate: "startDate", weekStart: ["weekStart", "weekStart", numberAttribute], dayCount: ["dayCount", "dayCount", numberAttribute], menu: "menu", highlightDate: "highlightDate" }, host: { properties: { "style.--nrcl-schedule-day-count": "this.dayCount" } }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ScheduleRowHeadingDirective, descendants: true }, { propertyName: "itemTemplates", predicate: ScheduleItemDirective }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if ( rows?.length > 0 ) {\n <div class=\"schedule\">\n <div class=\"upper-left\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"row weeks\">\n @for ( week of _weeks; track $index ) {\n @if ( week.span == 1 ) {\n <div class=\"week\">\n {{ week.start }}\n </div>\n }\n @else {\n <div class=\"week\" [style.grid-column]=\"'span ' + week.span\">\n {{ week.start }} - {{ week.end }}\n </div>\n }\n }\n </div>\n\n <div class=\"row days\"> \n @for ( day of _days; track $index ) {\n <div class=\"day\"\n [class.weekend]=\"day.isWeekend\"\n [class.today]=\"day.isToday\"\n [class.first]=\"day.isFirst\"\n [class.highlight]=\"day.isHighlight\"\n >\n <div class=\"day-name\">{{ day.dayName }}</div>\n <div class=\"date\">{{ day.monthDay }}</div>\n </div>\n }\n </div>\n\n @for ( row of rows | paginate: paginateState( 'nrcl-schedule' ); track row.id; let rowIndex = $index ) {\n <div class=\"row items\">\n <div class=\"outer heading\">\n <div class=\"inner heading\">\n <ng-container \n [ngTemplateOutlet]=\"headerTemplate?.template\" \n [ngTemplateOutletContext]=\"{ $implicit: row.heading }\" \n ></ng-container>\n </div>\n </div> \n\n @if ( row.items | async; as rowItems ) {\n @for ( item of rowItems; track item.id; let colIndex = $index ) {\n <div class=\"outer item\"\n [class.menu-open]=\"itemMenu.menuOpen\"\n [class.highlight]=\"_days[ colIndex ].isHighlight\"\n >\n <div class=\"inner item\" #itemMenu=\"matMenuTrigger\"\n [class]=\"'item-' + item.name\" \n matRipple\n [matMenuTriggerFor]=\"menu\"\n [matMenuTriggerData]=\"{ $implicit: { item: item, heading: row.heading } }\"\n [matTooltip]=\"item?.tooltip?.()\"\n matTooltipClass=\"nrcl-schedule-multiline\"\n [class.travel]=\"item?.travel\"\n >\n <ng-container \n [ngTemplateOutlet]=\"_templates[ rowIndex ][ colIndex ] || empty\" \n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-container>\n \n @let icons = item?.icons?.();\n @if ( icons && icons.length > 0 ) {\n <div class=\"icons\">\n @for ( icon of icons; track icon ) {\n <nrcl-icon small>{{ icon }}</nrcl-icon>\n } \n </div>\n }\n </div>\n </div>\n }\n }\n @else {\n @for ( day of _days; track day ) {\n <div class=\"item item-loading\"></div>\n }\n }\n </div>\n }\n </div>\n\n <nrcl-gap/>\n}\n\n<nrcl-row-list-pagination\n paginationId=\"nrcl-schedule\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n></nrcl-row-list-pagination>\n\n<ng-template #empty>\n</ng-template>\n", styles: ["::ng-deep :root{--nrcl-schedule-border-color: #c6c8cb;--nrcl-schedule-background-color: white;--nrcl-schedule-alternate-background-color: #f2f2f2;--nrcl-schedule-hover-background-color: #d7d7d7;--nrcl-schedule-row-weeks-height: 30px;--nrcl-schedule-row-weeks-font-size: 15px;--nrcl-schedule-row-weeks-font-weight: bold;--nrcl-schedule-row-weeks-foreground-color: black;--nrcl-schedule-row-days-height: 45px;--nrcl-schedule-row-days-font-size: 15px;--nrcl-schedule-row-days-font-weight: normal;--nrcl-schedule-row-days-foreground-color: black;--nrcl-schedule-row-days-weekend-background-color: #e0f8fc;--nrcl-schedule-row-days-today-background-color: #fcf8d9;--nrcl-schedule-row-days-highlight-background-color: #eafce8;--nrcl-schedule-row-schedule-height: 70px;--nrcl-schedule-heading-width: 300px;--nrcl-schedule-item-width: 80px}:host{display:flex;flex-direction:column;font-family:var(--nrcl-font-family)}:host .schedule{display:grid;grid-template-columns:var(--nrcl-schedule-heading-width) repeat(var(--nrcl-schedule-day-count),var(--nrcl-schedule-item-width));overflow:auto;height:100%;flex-grow:1}:host .schedule .upper-left{grid-row:1/span 2;grid-column:1;border-right:1px solid var(--nrcl-schedule-border-color);border-bottom:1px solid var(--nrcl-schedule-border-color);position:sticky;top:0;left:0;z-index:2;background:var(--nrcl-schedule-background-color)}:host .schedule .row{display:contents}:host .schedule .row.weeks>*{height:var(--nrcl-schedule-row-weeks-height)}:host .schedule .row.days>*{height:var(--nrcl-schedule-row-days-height)}:host .schedule .row .outer.heading,:host .schedule .row .day,:host .schedule .row .week{border-right:1px solid var(--nrcl-schedule-border-color);border-bottom:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row .outer.heading{border-left:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row .outer.item:last-child{border-right:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row:last-child .outer.item{border-bottom:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row .week{border-top:1px solid var(--nrcl-schedule-border-color);display:flex;justify-content:center;align-items:center;font-size:var(--nrcl-schedule-row-weeks-font-size);font-weight:var(--nrcl-schedule-row-weeks-font-weight);color:var(--nrcl-schedule-row-weeks-foreground-color);position:sticky;top:0;background-color:var(--nrcl-schedule-background-color);z-index:1}:host .schedule .row .day{display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:var(--nrcl-schedule-row-days-font-size);font-weight:var(--nrcl-schedule-row-days-font-weight);color:var(--nrcl-schedule-row-days-foreground-color);position:sticky;top:calc(var(--nrcl-schedule-row-weeks-height) + 2px);background-color:var(--nrcl-schedule-background-color);z-index:1}:host .schedule .row .day .day-name{font-size:13px}:host .schedule .row .day.weekend{background-color:var(--nrcl-schedule-row-days-weekend-background-color)}:host .schedule .row .day.today{background-color:var(--nrcl-schedule-row-days-today-background-color)}:host .schedule .row .day.highlight{background-color:var(--nrcl-schedule-row-days-highlight-background-color)}:host .schedule .row .day.first:after{content:\"\";position:absolute;top:0;left:0;bottom:0;border-left:2px solid black}:host .schedule .row.items .outer.item{box-sizing:border-box;height:var(--nrcl-schedule-row-schedule-height);display:flex;flex-direction:column;justify-content:stretch;align-items:stretch;border-right:1px solid var(--nrcl-schedule-border-color);border-bottom:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row.items .outer.item:hover .item{background-color:#06e;color:#fff}:host .schedule .row.items .outer.item.menu-open .item{background-color:#036;color:#fff}:host .schedule .row.items .outer.item .item{flex-grow:1;cursor:pointer;position:relative;padding:4px 4px 8px}:host .schedule .row.items .outer.item .item .icons{position:absolute;right:2px;bottom:2px;display:flex;gap:2px;background-color:#f1ebe4;border-radius:4px;padding:3px;color:var(--nrcl-schedule-row-days-foreground-color)}:host .schedule .row.items .outer.item .item.travel{position:relative}:host .schedule .row.items .outer.item .item.travel:after{content:\"\";position:absolute;inset:0 0 2px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAABAQMAAAD+YPzoAAAABlBMVEX///8AAABVwtN+AAAAAnRSTlP/AOW3MEoAAAAMSURBVHicY+BwEgAAALAAW97nJhUAAAAASUVORK5CYII=);background-repeat:no-repeat;background-size:calc(100% - 8px) 3px;background-position:bottom}:host .schedule .row.items .outer.heading{box-sizing:border-box;cursor:default;position:sticky;left:0;z-index:1;height:var(--nrcl-schedule-row-schedule-height)}:host .schedule .row.items .outer.heading .heading{flex-grow:1;cursor:default;height:100%}:host .schedule .row:nth-child(odd) .outer{background-color:var(--nrcl-schedule-background-color)}:host .schedule .row:nth-child(2n) .outer{background-color:var(--nrcl-schedule-alternate-background-color)}:host .schedule .row:hover .outer{background-color:var(--nrcl-schedule-hover-background-color)}.empty{height:100%;display:flex;justify-content:center;align-items:center;color:#aaa}::ng-deep .cdk-overlay-container .nrcl-schedule-multiline .mdc-tooltip__surface{white-space:pre-line;max-width:unset;text-align:left}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i3.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i5.GapComponent, selector: "nrcl-gap", inputs: ["horizontal", "vertical", "divider"] }, { kind: "component", type: i6.RowListPaginationComponent, selector: "nrcl-row-list-pagination", inputs: ["paginationId", "pageSizeOptions", "pageSize", "pageNumber", "rowCount", "showPageSize", "noRowsMessage"], outputs: ["pageSizeChange", "pageNumberChange"] }, { kind: "component", type: i7.IconComponent, selector: "nrcl-icon", inputs: ["small", "large"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.PaginatePipe, name: "paginate" }] }); }
149
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ScheduleComponent, selector: "nrcl-schedule", inputs: { provider: "provider", startDate: "startDate", weekStart: ["weekStart", "weekStart", numberAttribute], dayCount: ["dayCount", "dayCount", numberAttribute], menu: "menu", hover: "hover", highlightDate: "highlightDate" }, host: { properties: { "style.--nrcl-schedule-day-count": "this.dayCount" } }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ScheduleRowHeadingDirective, descendants: true }, { propertyName: "itemTemplates", predicate: ScheduleItemDirective }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if ( rows?.length > 0 ) {\n <div class=\"schedule\">\n <div class=\"upper-left\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"row weeks\">\n @for ( week of _weeks; track $index ) {\n @if ( week.span == 1 ) {\n <div class=\"week\">\n {{ week.start }}\n </div>\n }\n @else {\n <div class=\"week\" [style.grid-column]=\"'span ' + week.span\">\n {{ week.start }} - {{ week.end }}\n </div>\n }\n }\n </div>\n\n <div class=\"row days\"> \n @for ( day of _days; track $index ) {\n <div class=\"day\"\n [class.weekend]=\"day.isWeekend\"\n [class.today]=\"day.isToday\"\n [class.first]=\"day.isFirst\"\n [class.highlight]=\"day.isHighlight\"\n >\n <div class=\"day-name\">{{ day.dayName }}</div>\n <div class=\"date\">{{ day.monthDay }}</div>\n </div>\n }\n </div>\n\n @for ( row of rows | paginate: paginateState( 'nrcl-schedule' ); track row.id; let rowIndex = $index ) {\n <div class=\"row items\">\n <div class=\"outer heading\">\n <div class=\"inner heading\">\n <ng-container \n [ngTemplateOutlet]=\"headerTemplate?.template\" \n [ngTemplateOutletContext]=\"{ $implicit: row.heading }\" \n ></ng-container>\n </div>\n </div> \n\n @if ( row.items | async; as rowItems ) {\n @for ( item of rowItems; track item.id; let colIndex = $index ) {\n <div class=\"outer item\"\n [class.menu-open]=\"itemMenu.menuOpen\"\n [class.highlight]=\"_days[ colIndex ].isHighlight\"\n [class.hover]=\"hover\"\n >\n <div class=\"inner item\" #itemMenu=\"matMenuTrigger\"\n [class]=\"'item-' + item.name\" \n matRipple\n [matRippleDisabled]=\"!hover\"\n [matMenuTriggerFor]=\"menu\"\n [matMenuTriggerData]=\"{ $implicit: { item: item, heading: row.heading } }\"\n [matTooltip]=\"item?.tooltip?.()\"\n matTooltipClass=\"nrcl-schedule-multiline\"\n [class.travel]=\"item?.travel\"\n >\n <ng-container \n [ngTemplateOutlet]=\"_templates[ rowIndex ][ colIndex ] || empty\" \n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-container>\n \n @let icons = item?.icons?.();\n @if ( icons && icons.length > 0 ) {\n <div class=\"icons\">\n @for ( icon of icons; track icon ) {\n <nrcl-icon small>{{ icon }}</nrcl-icon>\n } \n </div>\n }\n </div>\n </div>\n }\n }\n @else {\n @for ( day of _days; track day ) {\n <div class=\"item item-loading\"></div>\n }\n }\n </div>\n }\n </div>\n\n <nrcl-gap/>\n}\n\n<nrcl-row-list-pagination\n paginationId=\"nrcl-schedule\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n></nrcl-row-list-pagination>\n\n<ng-template #empty>\n</ng-template>\n", styles: ["::ng-deep :root{--nrcl-schedule-border-color: #c6c8cb;--nrcl-schedule-background-color: white;--nrcl-schedule-alternate-background-color: #f2f2f2;--nrcl-schedule-hover-background-color: #d7d7d7;--nrcl-schedule-row-weeks-height: 30px;--nrcl-schedule-row-weeks-font-size: 15px;--nrcl-schedule-row-weeks-font-weight: bold;--nrcl-schedule-row-weeks-foreground-color: black;--nrcl-schedule-row-days-height: 45px;--nrcl-schedule-row-days-font-size: 15px;--nrcl-schedule-row-days-font-weight: normal;--nrcl-schedule-row-days-foreground-color: black;--nrcl-schedule-row-days-weekend-background-color: #e0f8fc;--nrcl-schedule-row-days-today-background-color: #fcf8d9;--nrcl-schedule-row-days-highlight-background-color: #eafce8;--nrcl-schedule-row-schedule-height: 70px;--nrcl-schedule-heading-width: 300px;--nrcl-schedule-item-width: 80px}:host{display:flex;flex-direction:column;font-family:var(--nrcl-font-family)}:host .schedule{display:grid;grid-template-columns:var(--nrcl-schedule-heading-width) repeat(var(--nrcl-schedule-day-count),var(--nrcl-schedule-item-width));overflow:auto;height:100%;flex-grow:1}:host .schedule .upper-left{grid-row:1/span 2;grid-column:1;border-right:1px solid var(--nrcl-schedule-border-color);border-bottom:1px solid var(--nrcl-schedule-border-color);position:sticky;top:0;left:0;z-index:2;background:var(--nrcl-schedule-background-color)}:host .schedule .row{display:contents}:host .schedule .row.weeks>*{height:var(--nrcl-schedule-row-weeks-height)}:host .schedule .row.days>*{height:var(--nrcl-schedule-row-days-height)}:host .schedule .row .outer.heading,:host .schedule .row .day,:host .schedule .row .week{border-right:1px solid var(--nrcl-schedule-border-color);border-bottom:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row .outer.heading{border-left:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row .outer.item:last-child{border-right:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row:last-child .outer.item{border-bottom:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row .week{border-top:1px solid var(--nrcl-schedule-border-color);display:flex;justify-content:center;align-items:center;font-size:var(--nrcl-schedule-row-weeks-font-size);font-weight:var(--nrcl-schedule-row-weeks-font-weight);color:var(--nrcl-schedule-row-weeks-foreground-color);position:sticky;top:0;background-color:var(--nrcl-schedule-background-color);z-index:1}:host .schedule .row .day{display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:var(--nrcl-schedule-row-days-font-size);font-weight:var(--nrcl-schedule-row-days-font-weight);color:var(--nrcl-schedule-row-days-foreground-color);position:sticky;top:calc(var(--nrcl-schedule-row-weeks-height) + 2px);background-color:var(--nrcl-schedule-background-color);z-index:1}:host .schedule .row .day .day-name{font-size:13px}:host .schedule .row .day.weekend{background-color:var(--nrcl-schedule-row-days-weekend-background-color)}:host .schedule .row .day.today{background-color:var(--nrcl-schedule-row-days-today-background-color)}:host .schedule .row .day.highlight{background-color:var(--nrcl-schedule-row-days-highlight-background-color)}:host .schedule .row .day.first:after{content:\"\";position:absolute;top:0;left:0;bottom:0;border-left:2px solid black}:host .schedule .row.items .outer.item{box-sizing:border-box;height:var(--nrcl-schedule-row-schedule-height);display:flex;flex-direction:column;justify-content:stretch;align-items:stretch;border-right:1px solid var(--nrcl-schedule-border-color);border-bottom:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row.items .outer.item.hover:hover .item{background-color:#06e;color:#fff}:host .schedule .row.items .outer.item.menu-open .item{background-color:#036;color:#fff}:host .schedule .row.items .outer.item .item{flex-grow:1;cursor:pointer;position:relative;padding:4px 4px 8px}:host .schedule .row.items .outer.item .item .icons{position:absolute;right:2px;bottom:2px;display:flex;gap:2px;background-color:#f1ebe4;border-radius:4px;padding:3px;color:var(--nrcl-schedule-row-days-foreground-color)}:host .schedule .row.items .outer.item .item.travel{position:relative}:host .schedule .row.items .outer.item .item.travel:after{content:\"\";position:absolute;inset:0 0 2px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAABAQMAAAD+YPzoAAAABlBMVEX///8AAABVwtN+AAAAAnRSTlP/AOW3MEoAAAAMSURBVHicY+BwEgAAALAAW97nJhUAAAAASUVORK5CYII=);background-repeat:no-repeat;background-size:calc(100% - 8px) 3px;background-position:bottom}:host .schedule .row.items .outer.heading{box-sizing:border-box;cursor:default;position:sticky;left:0;z-index:1;height:var(--nrcl-schedule-row-schedule-height)}:host .schedule .row.items .outer.heading .heading{flex-grow:1;cursor:default;height:100%}:host .schedule .row:nth-child(odd) .outer{background-color:var(--nrcl-schedule-background-color)}:host .schedule .row:nth-child(2n) .outer{background-color:var(--nrcl-schedule-alternate-background-color)}:host .schedule .row:hover .outer{background-color:var(--nrcl-schedule-hover-background-color)}.empty{height:100%;display:flex;justify-content:center;align-items:center;color:#aaa}::ng-deep .cdk-overlay-container .nrcl-schedule-multiline .mdc-tooltip__surface{white-space:pre-line;max-width:unset;text-align:left}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i3.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i5.GapComponent, selector: "nrcl-gap", inputs: ["horizontal", "vertical", "divider"] }, { kind: "component", type: i6.RowListPaginationComponent, selector: "nrcl-row-list-pagination", inputs: ["paginationId", "pageSizeOptions", "pageSize", "pageNumber", "rowCount", "showPageSize", "noRowsMessage"], outputs: ["pageSizeChange", "pageNumberChange"] }, { kind: "component", type: i7.IconComponent, selector: "nrcl-icon", inputs: ["small", "large"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.PaginatePipe, name: "paginate" }] }); }
149
150
  }
150
151
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScheduleComponent, decorators: [{
151
152
  type: Component,
152
153
  args: [{ selector: 'nrcl-schedule', host: {
153
154
  '[style.--nrcl-schedule-day-count]': 'this.dayCount'
154
- }, template: "@if ( rows?.length > 0 ) {\n <div class=\"schedule\">\n <div class=\"upper-left\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"row weeks\">\n @for ( week of _weeks; track $index ) {\n @if ( week.span == 1 ) {\n <div class=\"week\">\n {{ week.start }}\n </div>\n }\n @else {\n <div class=\"week\" [style.grid-column]=\"'span ' + week.span\">\n {{ week.start }} - {{ week.end }}\n </div>\n }\n }\n </div>\n\n <div class=\"row days\"> \n @for ( day of _days; track $index ) {\n <div class=\"day\"\n [class.weekend]=\"day.isWeekend\"\n [class.today]=\"day.isToday\"\n [class.first]=\"day.isFirst\"\n [class.highlight]=\"day.isHighlight\"\n >\n <div class=\"day-name\">{{ day.dayName }}</div>\n <div class=\"date\">{{ day.monthDay }}</div>\n </div>\n }\n </div>\n\n @for ( row of rows | paginate: paginateState( 'nrcl-schedule' ); track row.id; let rowIndex = $index ) {\n <div class=\"row items\">\n <div class=\"outer heading\">\n <div class=\"inner heading\">\n <ng-container \n [ngTemplateOutlet]=\"headerTemplate?.template\" \n [ngTemplateOutletContext]=\"{ $implicit: row.heading }\" \n ></ng-container>\n </div>\n </div> \n\n @if ( row.items | async; as rowItems ) {\n @for ( item of rowItems; track item.id; let colIndex = $index ) {\n <div class=\"outer item\"\n [class.menu-open]=\"itemMenu.menuOpen\"\n [class.highlight]=\"_days[ colIndex ].isHighlight\"\n >\n <div class=\"inner item\" #itemMenu=\"matMenuTrigger\"\n [class]=\"'item-' + item.name\" \n matRipple\n [matMenuTriggerFor]=\"menu\"\n [matMenuTriggerData]=\"{ $implicit: { item: item, heading: row.heading } }\"\n [matTooltip]=\"item?.tooltip?.()\"\n matTooltipClass=\"nrcl-schedule-multiline\"\n [class.travel]=\"item?.travel\"\n >\n <ng-container \n [ngTemplateOutlet]=\"_templates[ rowIndex ][ colIndex ] || empty\" \n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-container>\n \n @let icons = item?.icons?.();\n @if ( icons && icons.length > 0 ) {\n <div class=\"icons\">\n @for ( icon of icons; track icon ) {\n <nrcl-icon small>{{ icon }}</nrcl-icon>\n } \n </div>\n }\n </div>\n </div>\n }\n }\n @else {\n @for ( day of _days; track day ) {\n <div class=\"item item-loading\"></div>\n }\n }\n </div>\n }\n </div>\n\n <nrcl-gap/>\n}\n\n<nrcl-row-list-pagination\n paginationId=\"nrcl-schedule\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n></nrcl-row-list-pagination>\n\n<ng-template #empty>\n</ng-template>\n", styles: ["::ng-deep :root{--nrcl-schedule-border-color: #c6c8cb;--nrcl-schedule-background-color: white;--nrcl-schedule-alternate-background-color: #f2f2f2;--nrcl-schedule-hover-background-color: #d7d7d7;--nrcl-schedule-row-weeks-height: 30px;--nrcl-schedule-row-weeks-font-size: 15px;--nrcl-schedule-row-weeks-font-weight: bold;--nrcl-schedule-row-weeks-foreground-color: black;--nrcl-schedule-row-days-height: 45px;--nrcl-schedule-row-days-font-size: 15px;--nrcl-schedule-row-days-font-weight: normal;--nrcl-schedule-row-days-foreground-color: black;--nrcl-schedule-row-days-weekend-background-color: #e0f8fc;--nrcl-schedule-row-days-today-background-color: #fcf8d9;--nrcl-schedule-row-days-highlight-background-color: #eafce8;--nrcl-schedule-row-schedule-height: 70px;--nrcl-schedule-heading-width: 300px;--nrcl-schedule-item-width: 80px}:host{display:flex;flex-direction:column;font-family:var(--nrcl-font-family)}:host .schedule{display:grid;grid-template-columns:var(--nrcl-schedule-heading-width) repeat(var(--nrcl-schedule-day-count),var(--nrcl-schedule-item-width));overflow:auto;height:100%;flex-grow:1}:host .schedule .upper-left{grid-row:1/span 2;grid-column:1;border-right:1px solid var(--nrcl-schedule-border-color);border-bottom:1px solid var(--nrcl-schedule-border-color);position:sticky;top:0;left:0;z-index:2;background:var(--nrcl-schedule-background-color)}:host .schedule .row{display:contents}:host .schedule .row.weeks>*{height:var(--nrcl-schedule-row-weeks-height)}:host .schedule .row.days>*{height:var(--nrcl-schedule-row-days-height)}:host .schedule .row .outer.heading,:host .schedule .row .day,:host .schedule .row .week{border-right:1px solid var(--nrcl-schedule-border-color);border-bottom:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row .outer.heading{border-left:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row .outer.item:last-child{border-right:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row:last-child .outer.item{border-bottom:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row .week{border-top:1px solid var(--nrcl-schedule-border-color);display:flex;justify-content:center;align-items:center;font-size:var(--nrcl-schedule-row-weeks-font-size);font-weight:var(--nrcl-schedule-row-weeks-font-weight);color:var(--nrcl-schedule-row-weeks-foreground-color);position:sticky;top:0;background-color:var(--nrcl-schedule-background-color);z-index:1}:host .schedule .row .day{display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:var(--nrcl-schedule-row-days-font-size);font-weight:var(--nrcl-schedule-row-days-font-weight);color:var(--nrcl-schedule-row-days-foreground-color);position:sticky;top:calc(var(--nrcl-schedule-row-weeks-height) + 2px);background-color:var(--nrcl-schedule-background-color);z-index:1}:host .schedule .row .day .day-name{font-size:13px}:host .schedule .row .day.weekend{background-color:var(--nrcl-schedule-row-days-weekend-background-color)}:host .schedule .row .day.today{background-color:var(--nrcl-schedule-row-days-today-background-color)}:host .schedule .row .day.highlight{background-color:var(--nrcl-schedule-row-days-highlight-background-color)}:host .schedule .row .day.first:after{content:\"\";position:absolute;top:0;left:0;bottom:0;border-left:2px solid black}:host .schedule .row.items .outer.item{box-sizing:border-box;height:var(--nrcl-schedule-row-schedule-height);display:flex;flex-direction:column;justify-content:stretch;align-items:stretch;border-right:1px solid var(--nrcl-schedule-border-color);border-bottom:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row.items .outer.item:hover .item{background-color:#06e;color:#fff}:host .schedule .row.items .outer.item.menu-open .item{background-color:#036;color:#fff}:host .schedule .row.items .outer.item .item{flex-grow:1;cursor:pointer;position:relative;padding:4px 4px 8px}:host .schedule .row.items .outer.item .item .icons{position:absolute;right:2px;bottom:2px;display:flex;gap:2px;background-color:#f1ebe4;border-radius:4px;padding:3px;color:var(--nrcl-schedule-row-days-foreground-color)}:host .schedule .row.items .outer.item .item.travel{position:relative}:host .schedule .row.items .outer.item .item.travel:after{content:\"\";position:absolute;inset:0 0 2px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAABAQMAAAD+YPzoAAAABlBMVEX///8AAABVwtN+AAAAAnRSTlP/AOW3MEoAAAAMSURBVHicY+BwEgAAALAAW97nJhUAAAAASUVORK5CYII=);background-repeat:no-repeat;background-size:calc(100% - 8px) 3px;background-position:bottom}:host .schedule .row.items .outer.heading{box-sizing:border-box;cursor:default;position:sticky;left:0;z-index:1;height:var(--nrcl-schedule-row-schedule-height)}:host .schedule .row.items .outer.heading .heading{flex-grow:1;cursor:default;height:100%}:host .schedule .row:nth-child(odd) .outer{background-color:var(--nrcl-schedule-background-color)}:host .schedule .row:nth-child(2n) .outer{background-color:var(--nrcl-schedule-alternate-background-color)}:host .schedule .row:hover .outer{background-color:var(--nrcl-schedule-hover-background-color)}.empty{height:100%;display:flex;justify-content:center;align-items:center;color:#aaa}::ng-deep .cdk-overlay-container .nrcl-schedule-multiline .mdc-tooltip__surface{white-space:pre-line;max-width:unset;text-align:left}\n"] }]
155
+ }, template: "@if ( rows?.length > 0 ) {\n <div class=\"schedule\">\n <div class=\"upper-left\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"row weeks\">\n @for ( week of _weeks; track $index ) {\n @if ( week.span == 1 ) {\n <div class=\"week\">\n {{ week.start }}\n </div>\n }\n @else {\n <div class=\"week\" [style.grid-column]=\"'span ' + week.span\">\n {{ week.start }} - {{ week.end }}\n </div>\n }\n }\n </div>\n\n <div class=\"row days\"> \n @for ( day of _days; track $index ) {\n <div class=\"day\"\n [class.weekend]=\"day.isWeekend\"\n [class.today]=\"day.isToday\"\n [class.first]=\"day.isFirst\"\n [class.highlight]=\"day.isHighlight\"\n >\n <div class=\"day-name\">{{ day.dayName }}</div>\n <div class=\"date\">{{ day.monthDay }}</div>\n </div>\n }\n </div>\n\n @for ( row of rows | paginate: paginateState( 'nrcl-schedule' ); track row.id; let rowIndex = $index ) {\n <div class=\"row items\">\n <div class=\"outer heading\">\n <div class=\"inner heading\">\n <ng-container \n [ngTemplateOutlet]=\"headerTemplate?.template\" \n [ngTemplateOutletContext]=\"{ $implicit: row.heading }\" \n ></ng-container>\n </div>\n </div> \n\n @if ( row.items | async; as rowItems ) {\n @for ( item of rowItems; track item.id; let colIndex = $index ) {\n <div class=\"outer item\"\n [class.menu-open]=\"itemMenu.menuOpen\"\n [class.highlight]=\"_days[ colIndex ].isHighlight\"\n [class.hover]=\"hover\"\n >\n <div class=\"inner item\" #itemMenu=\"matMenuTrigger\"\n [class]=\"'item-' + item.name\" \n matRipple\n [matRippleDisabled]=\"!hover\"\n [matMenuTriggerFor]=\"menu\"\n [matMenuTriggerData]=\"{ $implicit: { item: item, heading: row.heading } }\"\n [matTooltip]=\"item?.tooltip?.()\"\n matTooltipClass=\"nrcl-schedule-multiline\"\n [class.travel]=\"item?.travel\"\n >\n <ng-container \n [ngTemplateOutlet]=\"_templates[ rowIndex ][ colIndex ] || empty\" \n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-container>\n \n @let icons = item?.icons?.();\n @if ( icons && icons.length > 0 ) {\n <div class=\"icons\">\n @for ( icon of icons; track icon ) {\n <nrcl-icon small>{{ icon }}</nrcl-icon>\n } \n </div>\n }\n </div>\n </div>\n }\n }\n @else {\n @for ( day of _days; track day ) {\n <div class=\"item item-loading\"></div>\n }\n }\n </div>\n }\n </div>\n\n <nrcl-gap/>\n}\n\n<nrcl-row-list-pagination\n paginationId=\"nrcl-schedule\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n></nrcl-row-list-pagination>\n\n<ng-template #empty>\n</ng-template>\n", styles: ["::ng-deep :root{--nrcl-schedule-border-color: #c6c8cb;--nrcl-schedule-background-color: white;--nrcl-schedule-alternate-background-color: #f2f2f2;--nrcl-schedule-hover-background-color: #d7d7d7;--nrcl-schedule-row-weeks-height: 30px;--nrcl-schedule-row-weeks-font-size: 15px;--nrcl-schedule-row-weeks-font-weight: bold;--nrcl-schedule-row-weeks-foreground-color: black;--nrcl-schedule-row-days-height: 45px;--nrcl-schedule-row-days-font-size: 15px;--nrcl-schedule-row-days-font-weight: normal;--nrcl-schedule-row-days-foreground-color: black;--nrcl-schedule-row-days-weekend-background-color: #e0f8fc;--nrcl-schedule-row-days-today-background-color: #fcf8d9;--nrcl-schedule-row-days-highlight-background-color: #eafce8;--nrcl-schedule-row-schedule-height: 70px;--nrcl-schedule-heading-width: 300px;--nrcl-schedule-item-width: 80px}:host{display:flex;flex-direction:column;font-family:var(--nrcl-font-family)}:host .schedule{display:grid;grid-template-columns:var(--nrcl-schedule-heading-width) repeat(var(--nrcl-schedule-day-count),var(--nrcl-schedule-item-width));overflow:auto;height:100%;flex-grow:1}:host .schedule .upper-left{grid-row:1/span 2;grid-column:1;border-right:1px solid var(--nrcl-schedule-border-color);border-bottom:1px solid var(--nrcl-schedule-border-color);position:sticky;top:0;left:0;z-index:2;background:var(--nrcl-schedule-background-color)}:host .schedule .row{display:contents}:host .schedule .row.weeks>*{height:var(--nrcl-schedule-row-weeks-height)}:host .schedule .row.days>*{height:var(--nrcl-schedule-row-days-height)}:host .schedule .row .outer.heading,:host .schedule .row .day,:host .schedule .row .week{border-right:1px solid var(--nrcl-schedule-border-color);border-bottom:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row .outer.heading{border-left:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row .outer.item:last-child{border-right:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row:last-child .outer.item{border-bottom:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row .week{border-top:1px solid var(--nrcl-schedule-border-color);display:flex;justify-content:center;align-items:center;font-size:var(--nrcl-schedule-row-weeks-font-size);font-weight:var(--nrcl-schedule-row-weeks-font-weight);color:var(--nrcl-schedule-row-weeks-foreground-color);position:sticky;top:0;background-color:var(--nrcl-schedule-background-color);z-index:1}:host .schedule .row .day{display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:var(--nrcl-schedule-row-days-font-size);font-weight:var(--nrcl-schedule-row-days-font-weight);color:var(--nrcl-schedule-row-days-foreground-color);position:sticky;top:calc(var(--nrcl-schedule-row-weeks-height) + 2px);background-color:var(--nrcl-schedule-background-color);z-index:1}:host .schedule .row .day .day-name{font-size:13px}:host .schedule .row .day.weekend{background-color:var(--nrcl-schedule-row-days-weekend-background-color)}:host .schedule .row .day.today{background-color:var(--nrcl-schedule-row-days-today-background-color)}:host .schedule .row .day.highlight{background-color:var(--nrcl-schedule-row-days-highlight-background-color)}:host .schedule .row .day.first:after{content:\"\";position:absolute;top:0;left:0;bottom:0;border-left:2px solid black}:host .schedule .row.items .outer.item{box-sizing:border-box;height:var(--nrcl-schedule-row-schedule-height);display:flex;flex-direction:column;justify-content:stretch;align-items:stretch;border-right:1px solid var(--nrcl-schedule-border-color);border-bottom:1px solid var(--nrcl-schedule-border-color)}:host .schedule .row.items .outer.item.hover:hover .item{background-color:#06e;color:#fff}:host .schedule .row.items .outer.item.menu-open .item{background-color:#036;color:#fff}:host .schedule .row.items .outer.item .item{flex-grow:1;cursor:pointer;position:relative;padding:4px 4px 8px}:host .schedule .row.items .outer.item .item .icons{position:absolute;right:2px;bottom:2px;display:flex;gap:2px;background-color:#f1ebe4;border-radius:4px;padding:3px;color:var(--nrcl-schedule-row-days-foreground-color)}:host .schedule .row.items .outer.item .item.travel{position:relative}:host .schedule .row.items .outer.item .item.travel:after{content:\"\";position:absolute;inset:0 0 2px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAABAQMAAAD+YPzoAAAABlBMVEX///8AAABVwtN+AAAAAnRSTlP/AOW3MEoAAAAMSURBVHicY+BwEgAAALAAW97nJhUAAAAASUVORK5CYII=);background-repeat:no-repeat;background-size:calc(100% - 8px) 3px;background-position:bottom}:host .schedule .row.items .outer.heading{box-sizing:border-box;cursor:default;position:sticky;left:0;z-index:1;height:var(--nrcl-schedule-row-schedule-height)}:host .schedule .row.items .outer.heading .heading{flex-grow:1;cursor:default;height:100%}:host .schedule .row:nth-child(odd) .outer{background-color:var(--nrcl-schedule-background-color)}:host .schedule .row:nth-child(2n) .outer{background-color:var(--nrcl-schedule-alternate-background-color)}:host .schedule .row:hover .outer{background-color:var(--nrcl-schedule-hover-background-color)}.empty{height:100%;display:flex;justify-content:center;align-items:center;color:#aaa}::ng-deep .cdk-overlay-container .nrcl-schedule-multiline .mdc-tooltip__surface{white-space:pre-line;max-width:unset;text-align:left}\n"] }]
155
156
  }], propDecorators: { provider: [{
156
157
  type: Input
157
158
  }], startDate: [{
@@ -164,6 +165,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
164
165
  args: [{ transform: numberAttribute }]
165
166
  }], menu: [{
166
167
  type: Input
168
+ }], hover: [{
169
+ type: Input
167
170
  }], highlightDate: [{
168
171
  type: Input
169
172
  }], itemTemplates: [{
@@ -173,4 +176,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
173
176
  type: ContentChild,
174
177
  args: [ScheduleRowHeadingDirective]
175
178
  }] } });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvc2NoZWR1bGUvc2NoZWR1bGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvc2NoZWR1bGUvc2NoZWR1bGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFvRCxNQUFNLGVBQWUsQ0FBQztBQUU5SixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFHNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7O0FBSzdELE1BQU0sT0FBTywyQkFBMkI7SUFDcEMsWUFDVyxRQUEwQjtRQUExQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtJQUNuQyxDQUFDOytHQUhNLDJCQUEyQjttR0FBM0IsMkJBQTJCOzs0RkFBM0IsMkJBQTJCO2tCQUh2QyxTQUFTO21CQUFFO29CQUNSLFFBQVEsRUFBRSwwQkFBMEI7aUJBQ3ZDOztBQU9ELG1GQUFtRjtBQUtuRixNQUFNLE9BQU8scUJBQXFCO0lBRzlCLFlBQ1csUUFBMEI7UUFBMUIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7SUFDbkMsQ0FBQzsrR0FMTSxxQkFBcUI7bUdBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFIakMsU0FBUzttQkFBRTtvQkFDUixRQUFRLEVBQUUsb0JBQW9CO2lCQUNqQztnRkFFZ0MsSUFBSTtzQkFBaEMsS0FBSzt1QkFBRSxrQkFBa0I7O0FBdUQ5QixtRkFBbUY7QUFVbkYsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFdBQTJCO0lBUmxFOztR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LENBQUcsRUFBRSxRQUFTLENBQUE7d0JBRWhHLE9BQU8sT0FBTyxDQUFBO29CQUNsQixDQUFDLENBQUUsQ0FBQTtnQkFDUCxDQUFDLENBQUU7YUFDVixDQUFBO1FBQ0wsQ0FBQyxDQUFFLElBQUksRUFBRSxDQUFBO0lBQ2IsQ0FBQzsrR0EvSFEsaUJBQWlCO21HQUFqQixpQkFBaUIsMkhBR0wsZUFBZSxzQ0FDZixlQUFlLHFNQUt0QiwyQkFBMkIsbUVBRHhCLHFCQUFxQix5RUMvRjFDLDBzSUFxR0E7OzRGRGRhLGlCQUFpQjtrQkFSN0IsU0FBUzsrQkFDSSxlQUFlLFFBR25CO3dCQUNGLG1DQUFtQyxFQUFFLGVBQWU7cUJBQ3ZEOzhCQUdRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDbUMsU0FBUztzQkFBakQsS0FBSzt1QkFBRSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBQ0csUUFBUTtzQkFBaEQsS0FBSzt1QkFBRSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBQzdCLElBQUk7c0JBQVosS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVrQyxhQUFhO3NCQUFwRCxlQUFlO3VCQUFDLHFCQUFxQjtnQkFDSyxjQUFjO3NCQUF4RCxZQUFZO3VCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBDb250ZW50Q2hpbGRyZW4sIERpcmVjdGl2ZSwgSW5wdXQsIG51bWJlckF0dHJpYnV0ZSwgT25DaGFuZ2VzLCBRdWVyeUxpc3QsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRNZW51UGFuZWwgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEluaXRpYWxTdGF0ZSwgUGFnaW5hdGlvblN0YXRlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9wYWdpbmF0aW9uLmJhc2UnO1xuaW1wb3J0IHsgUm93TGlzdEJhc2UgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3Jvdy1saXN0LmJhc2UnO1xuXG5ARGlyZWN0aXZlKCB7XG4gICAgc2VsZWN0b3I6ICdbbnJjbFNjaGVkdWxlUm93SGVhZGluZ10nXG59IClcbmV4cG9ydCBjbGFzcyBTY2hlZHVsZVJvd0hlYWRpbmdEaXJlY3RpdmUge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT5cbiAgICApe31cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQERpcmVjdGl2ZSgge1xuICAgIHNlbGVjdG9yOiAnW25yY2xTY2hlZHVsZUl0ZW1dJ1xufSApXG5leHBvcnQgY2xhc3MgU2NoZWR1bGVJdGVtRGlyZWN0aXZlIHtcbiAgICBASW5wdXQoICducmNsU2NoZWR1bGVJdGVtJyApIG5hbWU/OiBzdHJpbmdcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT5cbiAgICApe31cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgU2NoZWR1bGVSb3dJdGVtID0ge1xuICAgIGlkOiBzdHJpbmcsXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIGljb25zPzogKCkgPT4gc3RyaW5nW10sXG4gICAgdG9vbHRpcD86ICgpID0+IHN0cmluZyxcbiAgICB0cmF2ZWw/OiBib29sZWFuLFxufVxuXG5leHBvcnQgdHlwZSBTY2hlZHVsZVJvdyA9IHtcbiAgICBpZD86IHN0cmluZyxcbiAgICBoZWFkaW5nOiBhbnksXG4gICAgaXRlbXM6IFByb21pc2U8U2NoZWR1bGVSb3dJdGVtW10+XG59XG5cbmV4cG9ydCB0eXBlIFNjaGVkdWxlID0gU2NoZWR1bGVSb3dbXVxuXG50eXBlIERheSA9IHtcbiAgICBkYXlOYW1lOiBzdHJpbmcsXG4gICAgbW9udGhEYXk6IG51bWJlcixcbiAgICBkYXRlOiBzdHJpbmcsXG4gICAgaXNXZWVrZW5kOiBib29sZWFuLFxuICAgIGlzVG9kYXk6IGJvb2xlYW4sXG4gICAgaXNGaXJzdDogYm9vbGVhbixcbiAgICBpc0hpZ2hsaWdodDogYm9vbGVhbixcbn1cblxudHlwZSBXZWVrID0ge1xuICAgIHN0YXJ0OiBzdHJpbmcsXG4gICAgZW5kOiBzdHJpbmcsXG4gICAgc3BhbjogbnVtYmVyXG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmV4cG9ydCB0eXBlIEZldGNoU2NoZWR1bGVSb3dQYXJhbWV0ZXJzID0ge1xuICAgIHJlc291cmNlSWQ6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVkdWxlUHJvdmlkZXIge1xuICAgIHN0YXJ0bG9hZFNjaGVkdWxlKCBpbm5lcjogKCkgPT4gUHJvbWlzZTxhbnk+ICk6IFByb21pc2U8YW55PlxuICAgIGZldGNoU2NoZWR1bGUoKTogT2JzZXJ2YWJsZTxhbnk+XG4gICAgcGFyc2VTY2hlZHVsZSggcmVzOiBhbnkgKTogU2NoZWR1bGVcbiAgICBnZXRJbml0aWFsUGFnZVN0YXRlKCk6IEluaXRpYWxTdGF0ZTx7fT5cbiAgICBjb21wbGV0ZWRMb2FkU2NoZWR1bGUoIGlubmVyOiAoKSA9PiB2b2lkICk6IGFueVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AQ29tcG9uZW50KCB7XG4gICAgc2VsZWN0b3I6ICducmNsLXNjaGVkdWxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2NoZWR1bGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9zY2hlZHVsZS5jb21wb25lbnQuc2NzcycsXG4gICAgaG9zdDoge1xuICAgICAgICAnW3N0eWxlLi0tbnJjbC1zY2hlZHVsZS1kYXktY291bnRdJzogJ3RoaXMuZGF5Q291bnQnXG4gICAgfVxufSApXG5leHBvcnQgY2xhc3MgU2NoZWR1bGVDb21wb25lbnQgZXh0ZW5kcyBSb3dMaXN0QmFzZTx7fSxTY2hlZHVsZVJvdz4gaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpIHByb3ZpZGVyPzogU2NoZWR1bGVQcm92aWRlclxuICAgIEBJbnB1dCgpIHN0YXJ0RGF0ZT86IHN0cmluZ1xuICAgIEBJbnB1dCggeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9ICkgd2Vla1N0YXJ0ID0gMFxuICAgIEBJbnB1dCggeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9ICkgZGF5Q291bnQ/OiBudW1iZXJcbiAgICBASW5wdXQoKSBtZW51PzogTWF0TWVudVBhbmVsXG4gICAgQElucHV0KCkgaGlnaGxpZ2h0RGF0ZT86IHN0cmluZ1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihTY2hlZHVsZUl0ZW1EaXJlY3RpdmUpIGl0ZW1UZW1wbGF0ZXMhOiBRdWVyeUxpc3Q8U2NoZWR1bGVJdGVtRGlyZWN0aXZlPlxuICAgIEBDb250ZW50Q2hpbGQoU2NoZWR1bGVSb3dIZWFkaW5nRGlyZWN0aXZlKSBoZWFkZXJUZW1wbGF0ZSE6IFNjaGVkdWxlUm93SGVhZGluZ0RpcmVjdGl2ZVxuXG4gICAgcHJvdGVjdGVkIF9kYXlzOiBEYXlbXSA9IFtdXG4gICAgcHJvdGVjdGVkIF93ZWVrczogV2Vla1tdID0gW11cbiAgICBwcm90ZWN0ZWQgX3RlbXBsYXRlczogVGVtcGxhdGVSZWY8YW55PltdW10gPSBbXVxuXG4gICAgbmdPbkNoYW5nZXMoIGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMgKTogdm9pZCB7XG4gICAgICAgIC8vIHRoaXMucmVmcmVzaFJvd0xpc3QoKVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ1NjaGVkdWxlQ29tcG9uZW50Lm5nQWZ0ZXJWaWV3SW5pdCcpXG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpXG4gICAgfVxuXG4gICAgbG9hZFJvd0xpc3QoKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgaWYgKCAhdGhpcy5wcm92aWRlcj8uc3RhcnRsb2FkU2NoZWR1bGUgKSB0aHJvdyBFcnJvciggJ1NjaGVkdWxlQ29tcG9uZW50LnByb3ZpZGVyLnN0YXJ0bG9hZFNjaGVkdWxlIG5vdCBzZXQnIClcbiAgICAgXG4gICAgICAgIHJldHVybiB0aGlzLnByb3ZpZGVyLnN0YXJ0bG9hZFNjaGVkdWxlKCAoKSA9PiB7IHJldHVybiBzdXBlci5sb2FkUm93TGlzdCgpIH0gKVxuICAgIH1cblxuICAgIGZldGNoUm93TGlzdFBhZ2UoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgaWYgKCAhdGhpcy5wcm92aWRlcj8uZmV0Y2hTY2hlZHVsZSApIHRocm93IEVycm9yKCAnU2NoZWR1bGVDb21wb25lbnQucHJvdmlkZXIuZmV0Y2hTY2hlZHVsZSBub3Qgc2V0JyApXG5cbiAgICAgICAgcmV0dXJuIHRoaXMucHJvdmlkZXIuZmV0Y2hTY2hlZHVsZSgpXG4gICAgfVxuXG4gICAgcGFyc2VSb3dzKCByZXM6IGFueSApOiBTY2hlZHVsZVJvd1tdIHtcbiAgICAgICAgaWYgKCAhdGhpcy5wcm92aWRlcj8ucGFyc2VTY2hlZHVsZSApIHRocm93IEVycm9yKCAnU2NoZWR1bGVDb21wb25lbnQucHJvdmlkZXIucGFyc2VTY2hlZHVsZSBub3Qgc2V0JyApXG5cbiAgICAgICAgbGV0IHJvd3MgPSB0aGlzLnByb3ZpZGVyLnBhcnNlU2NoZWR1bGUoIHJlcyApXG4gICAgICAgIHJldHVybiB0aGlzLm1ha2VSb3dzKCByb3dzIClcbiAgICB9XG5cbiAgICBnZXRJbml0aWFsUGFnZVN0YXRlKCk6IEluaXRpYWxTdGF0ZTx7fT4ge1xuICAgICAgICBpZiAoICF0aGlzLnByb3ZpZGVyPy5nZXRJbml0aWFsUGFnZVN0YXRlICkgdGhyb3cgRXJyb3IoICdTY2hlZHVsZUNvbXBvbmVudC5wcm92aWRlci5nZXRJbml0aWFsUGFnZVN0YXRlIG5vdCBzZXQnIClcblxuICAgICAgICByZXR1cm4gdGhpcy5wcm92aWRlci5nZXRJbml0aWFsUGFnZVN0YXRlKClcbiAgICB9XG5cbiAgICBjb21wbGV0ZWRSb3dMaXN0UGFnZSgpOiBQYWdpbmF0aW9uU3RhdGU8e30+IHtcbiAgICAgICAgaWYgKCAhdGhpcy5wcm92aWRlcj8uY29tcGxldGVkTG9hZFNjaGVkdWxlICkgdGhyb3cgRXJyb3IoICdTY2hlZHVsZUNvbXBvbmVudC5wcm92aWRlci5jb21wbGV0ZWRSb3dMaXN0UGFnZSBub3Qgc2V0JyApXG5cbiAgICAgICAgcmV0dXJuIHRoaXMucHJvdmlkZXIuY29tcGxldGVkTG9hZFNjaGVkdWxlKCBzdXBlci5jb21wbGV0ZWRSb3dMaXN0UGFnZSApXG4gICAgfVxuXG4gICAgb25TYW1lUGFnZUZpbHRlckNoYW5nZSggZXY6IHt9ICk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbHRlciA9IGV2XG4gICAgICAgIHRoaXMucmVmcmVzaFJvd0xpc3QoKVxuICAgIH1cblxuICAgIG1ha2VSb3dzKCBzY2hlZHVsZTogU2NoZWR1bGUgKTogU2NoZWR1bGUge1xuICAgICAgICBsZXQgc3RhcnQgPSBtb21lbnQoIHRoaXMuc3RhcnREYXRlIClcbiAgICAgICAgbGV0IHRvZGF5ID0gbW9tZW50KClcblxuICAgICAgICB0aGlzLl93ZWVrcyA9IEFycmF5LmZyb20oIHsgbGVuZ3RoOiB0aGlzLmRheUNvdW50ISB9ICkucmVkdWNlPFdlZWtbXT4oICggYSwgeCwgaSApID0+IHtcbiAgICAgICAgICAgIGxldCBtID0gc3RhcnQuY2xvbmUoKS5hZGQoIGksICdkYXknIClcbiAgICAgICAgICAgIGxldCBkYXRlID0gbS5mb3JtYXQoICdNTU0gRCcgKVxuICAgICAgICAgICAgbGV0IGRheSA9IG0uZGF5KClcblxuICAgICAgICAgICAgaWYgKCBhLmxlbmd0aCA9PSAwICkgcmV0dXJuIGEuY29uY2F0KCB7XG4gICAgICAgICAgICAgICAgc3RhcnQ6IGRhdGUsXG4gICAgICAgICAgICAgICAgZW5kOiBkYXRlLFxuICAgICAgICAgICAgICAgIHNwYW46IDFcbiAgICAgICAgICAgIH0gKVxuXG4gICAgICAgICAgICBsZXQgcHJldiA9IGFbIGEubGVuZ3RoIC0gMSBdXG5cbiAgICAgICAgICAgIGlmICggZGF5ID09IHRoaXMud2Vla1N0YXJ0ICkgcmV0dXJuIGEuY29uY2F0KCB7XG4gICAgICAgICAgICAgICAgc3RhcnQ6IGRhdGUsXG4gICAgICAgICAgICAgICAgZW5kOiBkYXRlLFxuICAgICAgICAgICAgICAgIHNwYW46IDFcbiAgICAgICAgICAgIH0gKVxuXG4gICAgICAgICAgICBwcmV2LmVuZCA9IGRhdGVcbiAgICAgICAgICAgIHByZXYuc3BhbiArPSAxXG4gICAgICAgICAgICByZXR1cm4gYVxuICAgICAgICB9LCBbXSApXG5cbiAgICAgICAgdGhpcy5fZGF5cyA9IEFycmF5LmZyb20oIHsgbGVuZ3RoOiB0aGlzLmRheUNvdW50ISB9ICkubWFwKCAoIHgsIGkgKSA9PiB7XG4gICAgICAgICAgICBsZXQgZCA9IHN0YXJ0LmNsb25lKCkuYWRkKCBpLCAnZGF5JyApXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGRheU5hbWU6IGQuZm9ybWF0KCAnZGRkJyApLFxuICAgICAgICAgICAgICAgIG1vbnRoRGF5OiBkLmRhdGUoKSxcbiAgICAgICAgICAgICAgICBkYXRlOiBkLmZvcm1hdCggJ1ktTU0tREQnICksXG4gICAgICAgICAgICAgICAgaXNGaXJzdDogZC5kYXRlKCkgPT0gMSxcbiAgICAgICAgICAgICAgICBpc1dlZWtlbmQ6IGQuZGF5KCkgPT0gMCB8fCBkLmRheSgpID09IDYsXG4gICAgICAgICAgICAgICAgaXNUb2RheTogZC5pc1NhbWUoIHRvZGF5LCAnZGF5JyApLFxuICAgICAgICAgICAgICAgIGlzSGlnaGxpZ2h0OiBkLmlzU2FtZSggdGhpcy5oaWdobGlnaHREYXRlLCAnZGF5JyApXG4gICAgICAgICAgICB9XG4gICAgICAgIH0gKVxuXG4gICAgICAgIHRoaXMuX3RlbXBsYXRlcyA9IEFycmF5LmZyb20oIHsgbGVuZ3RoOiBzY2hlZHVsZS5sZW5ndGggfSApXG5cbiAgICAgICAgcmV0dXJuIHNjaGVkdWxlLm1hcCggKCByb3csIGkgKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl90ZW1wbGF0ZXNbIGkgXSA9IEFycmF5LmZyb20oIHsgbGVuZ3RoOiB0aGlzLmRheUNvdW50ISB9IClcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBpZDogcm93LmlkID8/IFN0cmluZyggaSApLFxuICAgICAgICAgICAgICAgIGhlYWRpbmc6IHJvdy5oZWFkaW5nLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiByb3cuaXRlbXNcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oIHJvd0l0ZW1zID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBBcnJheS5mcm9tKCB7IGxlbmd0aDogdGhpcy5kYXlDb3VudCEgfSApLm1hcCggKCB4LCBqICkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByb3dJdGVtID0gcm93SXRlbXNbIGogXVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCByb3dJdGVtID09IG51bGwgKSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBTdHJpbmcoIGogKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdlbXB0eSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3RlbXBsYXRlc1sgaSBdWyBqIF0gPSB0aGlzLml0ZW1UZW1wbGF0ZXM/LmZpbmQoIGkgPT4gaS5uYW1lID09IHJvd0l0ZW0/Lm5hbWUgICk/LnRlbXBsYXRlIVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJvd0l0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gKVxuICAgICAgICAgICAgICAgICAgICB9IClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSApIHx8IFtdXG4gICAgfVxufVxuIiwiQGlmICggcm93cz8ubGVuZ3RoID4gMCApIHtcbiAgICA8ZGl2IGNsYXNzPVwic2NoZWR1bGVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInVwcGVyLWxlZnRcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyB3ZWVrc1wiPlxuICAgICAgICAgICAgQGZvciAoIHdlZWsgb2YgX3dlZWtzOyB0cmFjayAkaW5kZXggKSB7XG4gICAgICAgICAgICAgICAgQGlmICggd2Vlay5zcGFuID09IDEgKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyB3ZWVrLnN0YXJ0IH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrXCIgW3N0eWxlLmdyaWQtY29sdW1uXT1cIidzcGFuICcgKyB3ZWVrLnNwYW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHdlZWsuc3RhcnQgfX0gLSB7eyB3ZWVrLmVuZCB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZGF5c1wiPiAgICBcbiAgICAgICAgICAgIEBmb3IgKCBkYXkgb2YgX2RheXM7IHRyYWNrICRpbmRleCApIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF5XCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLndlZWtlbmRdPVwiZGF5LmlzV2Vla2VuZFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy50b2RheV09XCJkYXkuaXNUb2RheVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5maXJzdF09XCJkYXkuaXNGaXJzdFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5oaWdobGlnaHRdPVwiZGF5LmlzSGlnaGxpZ2h0XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXktbmFtZVwiPnt7IGRheS5kYXlOYW1lIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlXCI+e3sgZGF5Lm1vbnRoRGF5IH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIEBmb3IgKCByb3cgb2Ygcm93cyB8IHBhZ2luYXRlOiBwYWdpbmF0ZVN0YXRlKCAnbnJjbC1zY2hlZHVsZScgKTsgdHJhY2sgcm93LmlkOyBsZXQgcm93SW5kZXggPSAkaW5kZXggKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGl0ZW1zXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm91dGVyIGhlYWRpbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyIGhlYWRpbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyVGVtcGxhdGU/LnRlbXBsYXRlXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiByb3cuaGVhZGluZyB9XCIgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+ICAgIFxuXG4gICAgICAgICAgICAgICAgQGlmICggcm93Lml0ZW1zIHwgYXN5bmM7IGFzIHJvd0l0ZW1zICkge1xuICAgICAgICAgICAgICAgICAgICBAZm9yICggaXRlbSBvZiByb3dJdGVtczsgdHJhY2sgaXRlbS5pZDsgbGV0IGNvbEluZGV4ID0gJGluZGV4ICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm91dGVyIGl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5tZW51LW9wZW5dPVwiaXRlbU1lbnUubWVudU9wZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5oaWdobGlnaHRdPVwiX2RheXNbIGNvbEluZGV4IF0uaXNIaWdobGlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbm5lciBpdGVtXCIgI2l0ZW1NZW51PVwibWF0TWVudVRyaWdnZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiJ2l0ZW0tJyArIGl0ZW0ubmFtZVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRSaXBwbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJEYXRhXT1cInsgJGltcGxpY2l0OiB7IGl0ZW06IGl0ZW0sIGhlYWRpbmc6IHJvdy5oZWFkaW5nIH0gfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIml0ZW0/LnRvb2x0aXA/LigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPVwibnJjbC1zY2hlZHVsZS1tdWx0aWxpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MudHJhdmVsXT1cIml0ZW0/LnRyYXZlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiX3RlbXBsYXRlc1sgcm93SW5kZXggXVsgY29sSW5kZXggXSB8fCBlbXB0eVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbGV0IGljb25zID0gaXRlbT8uaWNvbnM/LigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCBpY29ucyAmJiBpY29ucy5sZW5ndGggPiAwICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoIGljb24gb2YgaWNvbnM7IHRyYWNrIGljb24gKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxucmNsLWljb24gc21hbGw+e3sgaWNvbiB9fTwvbnJjbC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgQGZvciAoIGRheSBvZiBfZGF5czsgdHJhY2sgZGF5ICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gaXRlbS1sb2FkaW5nXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuXG4gICAgPG5yY2wtZ2FwLz5cbn1cblxuPG5yY2wtcm93LWxpc3QtcGFnaW5hdGlvblxuICAgIHBhZ2luYXRpb25JZD1cIm5yY2wtc2NoZWR1bGVcIlxuICAgIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiXG4gICAgW3BhZ2VOdW1iZXJdPVwicGFnZU51bWJlclwiXG4gICAgW3Jvd0NvdW50XT1cInRvdGFsUm93Q291bnRcIlxuICAgIChwYWdlTnVtYmVyQ2hhbmdlKT1cIm9uUGFnZU51bWJlckNoYW5nZSggJGV2ZW50IClcIlxuICAgIChwYWdlU2l6ZUNoYW5nZSk9XCJvblBhZ2VTaXplQ2hhbmdlKCAkZXZlbnQgKVwiXG4+PC9ucmNsLXJvdy1saXN0LXBhZ2luYXRpb24+XG5cbjxuZy10ZW1wbGF0ZSAjZW1wdHk+XG48L25nLXRlbXBsYXRlPlxuIl19
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvc2NoZWR1bGUvc2NoZWR1bGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvc2NoZWR1bGUvc2NoZWR1bGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFvRCxNQUFNLGVBQWUsQ0FBQztBQUU5SixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFHNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7O0FBSzdELE1BQU0sT0FBTywyQkFBMkI7SUFDcEMsWUFDVyxRQUEwQjtRQUExQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtJQUNuQyxDQUFDOytHQUhNLDJCQUEyQjttR0FBM0IsMkJBQTJCOzs0RkFBM0IsMkJBQTJCO2tCQUh2QyxTQUFTO21CQUFFO29CQUNSLFFBQVEsRUFBRSwwQkFBMEI7aUJBQ3ZDOztBQU9ELG1GQUFtRjtBQUtuRixNQUFNLE9BQU8scUJBQXFCO0lBRzlCLFlBQ1csUUFBMEI7UUFBMUIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7SUFDbkMsQ0FBQzsrR0FMTSxxQkFBcUI7bUdBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFIakMsU0FBUzttQkFBRTtvQkFDUixRQUFRLEVBQUUsb0JBQW9CO2lCQUNqQztnRkFFZ0MsSUFBSTtzQkFBaEMsS0FBSzt1QkFBRSxrQkFBa0I7O0FBdUQ5QixtRkFBbUY7QUFVbkYsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFdBQTJCO0lBUmxFOztR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LElBQUksSUFBSSxPQUFPLEVBQUUsSUFBSSxDQUFHLEVBQUUsUUFBUyxDQUFBO3dCQUVoRyxPQUFPLE9BQU8sQ0FBQTtvQkFDbEIsQ0FBQyxDQUFFLENBQUE7Z0JBQ1AsQ0FBQyxDQUFFO2FBQ1YsQ0FBQTtRQUNMLENBQUMsQ0FBRSxJQUFJLEVBQUUsQ0FBQTtJQUNiLENBQUM7K0dBaElRLGlCQUFpQjttR0FBakIsaUJBQWlCLDJIQUdMLGVBQWUsc0NBQ2YsZUFBZSxxTkFNdEIsMkJBQTJCLG1FQUR4QixxQkFBcUIseUVDaEcxQywreklBdUdBOzs0RkRoQmEsaUJBQWlCO2tCQVI3QixTQUFTOytCQUNJLGVBQWUsUUFHbkI7d0JBQ0YsbUNBQW1DLEVBQUUsZUFBZTtxQkFDdkQ7OEJBR1EsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNtQyxTQUFTO3NCQUFqRCxLQUFLO3VCQUFFLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFDRyxRQUFRO3NCQUFoRCxLQUFLO3VCQUFFLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFDN0IsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVrQyxhQUFhO3NCQUFwRCxlQUFlO3VCQUFDLHFCQUFxQjtnQkFDSyxjQUFjO3NCQUF4RCxZQUFZO3VCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBDb250ZW50Q2hpbGRyZW4sIERpcmVjdGl2ZSwgSW5wdXQsIG51bWJlckF0dHJpYnV0ZSwgT25DaGFuZ2VzLCBRdWVyeUxpc3QsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRNZW51UGFuZWwgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEluaXRpYWxTdGF0ZSwgUGFnaW5hdGlvblN0YXRlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9wYWdpbmF0aW9uLmJhc2UnO1xuaW1wb3J0IHsgUm93TGlzdEJhc2UgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3Jvdy1saXN0LmJhc2UnO1xuXG5ARGlyZWN0aXZlKCB7XG4gICAgc2VsZWN0b3I6ICdbbnJjbFNjaGVkdWxlUm93SGVhZGluZ10nXG59IClcbmV4cG9ydCBjbGFzcyBTY2hlZHVsZVJvd0hlYWRpbmdEaXJlY3RpdmUge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT5cbiAgICApe31cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQERpcmVjdGl2ZSgge1xuICAgIHNlbGVjdG9yOiAnW25yY2xTY2hlZHVsZUl0ZW1dJ1xufSApXG5leHBvcnQgY2xhc3MgU2NoZWR1bGVJdGVtRGlyZWN0aXZlIHtcbiAgICBASW5wdXQoICducmNsU2NoZWR1bGVJdGVtJyApIG5hbWU/OiBzdHJpbmdcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT5cbiAgICApe31cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgU2NoZWR1bGVSb3dJdGVtID0ge1xuICAgIGlkOiBzdHJpbmcsXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIGljb25zPzogKCkgPT4gc3RyaW5nW10sXG4gICAgdG9vbHRpcD86ICgpID0+IHN0cmluZyxcbiAgICB0cmF2ZWw/OiBib29sZWFuLFxufVxuXG5leHBvcnQgdHlwZSBTY2hlZHVsZVJvdyA9IHtcbiAgICBpZD86IHN0cmluZyxcbiAgICBoZWFkaW5nOiBhbnksXG4gICAgaXRlbXM6IFByb21pc2U8U2NoZWR1bGVSb3dJdGVtW10+XG59XG5cbmV4cG9ydCB0eXBlIFNjaGVkdWxlID0gU2NoZWR1bGVSb3dbXVxuXG50eXBlIERheSA9IHtcbiAgICBkYXlOYW1lOiBzdHJpbmcsXG4gICAgbW9udGhEYXk6IG51bWJlcixcbiAgICBkYXRlOiBzdHJpbmcsXG4gICAgaXNXZWVrZW5kOiBib29sZWFuLFxuICAgIGlzVG9kYXk6IGJvb2xlYW4sXG4gICAgaXNGaXJzdDogYm9vbGVhbixcbiAgICBpc0hpZ2hsaWdodDogYm9vbGVhbixcbn1cblxudHlwZSBXZWVrID0ge1xuICAgIHN0YXJ0OiBzdHJpbmcsXG4gICAgZW5kOiBzdHJpbmcsXG4gICAgc3BhbjogbnVtYmVyXG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmV4cG9ydCB0eXBlIEZldGNoU2NoZWR1bGVSb3dQYXJhbWV0ZXJzID0ge1xuICAgIHJlc291cmNlSWQ6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVkdWxlUHJvdmlkZXIge1xuICAgIHN0YXJ0bG9hZFNjaGVkdWxlKCBpbm5lcjogKCkgPT4gUHJvbWlzZTxhbnk+ICk6IFByb21pc2U8YW55PlxuICAgIGZldGNoU2NoZWR1bGUoKTogT2JzZXJ2YWJsZTxhbnk+XG4gICAgcGFyc2VTY2hlZHVsZSggcmVzOiBhbnkgKTogU2NoZWR1bGVcbiAgICBnZXRJbml0aWFsUGFnZVN0YXRlKCk6IEluaXRpYWxTdGF0ZTx7fT5cbiAgICBjb21wbGV0ZWRMb2FkU2NoZWR1bGUoIGlubmVyOiAoKSA9PiB2b2lkICk6IGFueVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AQ29tcG9uZW50KCB7XG4gICAgc2VsZWN0b3I6ICducmNsLXNjaGVkdWxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2NoZWR1bGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9zY2hlZHVsZS5jb21wb25lbnQuc2NzcycsXG4gICAgaG9zdDoge1xuICAgICAgICAnW3N0eWxlLi0tbnJjbC1zY2hlZHVsZS1kYXktY291bnRdJzogJ3RoaXMuZGF5Q291bnQnXG4gICAgfVxufSApXG5leHBvcnQgY2xhc3MgU2NoZWR1bGVDb21wb25lbnQgZXh0ZW5kcyBSb3dMaXN0QmFzZTx7fSxTY2hlZHVsZVJvdz4gaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpIHByb3ZpZGVyPzogU2NoZWR1bGVQcm92aWRlclxuICAgIEBJbnB1dCgpIHN0YXJ0RGF0ZT86IHN0cmluZ1xuICAgIEBJbnB1dCggeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9ICkgd2Vla1N0YXJ0ID0gMFxuICAgIEBJbnB1dCggeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9ICkgZGF5Q291bnQ/OiBudW1iZXJcbiAgICBASW5wdXQoKSBtZW51PzogTWF0TWVudVBhbmVsXG4gICAgQElucHV0KCkgaG92ZXIgPSB0cnVlXG4gICAgQElucHV0KCkgaGlnaGxpZ2h0RGF0ZT86IHN0cmluZ1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihTY2hlZHVsZUl0ZW1EaXJlY3RpdmUpIGl0ZW1UZW1wbGF0ZXMhOiBRdWVyeUxpc3Q8U2NoZWR1bGVJdGVtRGlyZWN0aXZlPlxuICAgIEBDb250ZW50Q2hpbGQoU2NoZWR1bGVSb3dIZWFkaW5nRGlyZWN0aXZlKSBoZWFkZXJUZW1wbGF0ZSE6IFNjaGVkdWxlUm93SGVhZGluZ0RpcmVjdGl2ZVxuXG4gICAgcHJvdGVjdGVkIF9kYXlzOiBEYXlbXSA9IFtdXG4gICAgcHJvdGVjdGVkIF93ZWVrczogV2Vla1tdID0gW11cbiAgICBwcm90ZWN0ZWQgX3RlbXBsYXRlczogVGVtcGxhdGVSZWY8YW55PltdW10gPSBbXVxuXG4gICAgbmdPbkNoYW5nZXMoIGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMgKTogdm9pZCB7XG4gICAgICAgIC8vIHRoaXMucmVmcmVzaFJvd0xpc3QoKVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ1NjaGVkdWxlQ29tcG9uZW50Lm5nQWZ0ZXJWaWV3SW5pdCcpXG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpXG4gICAgfVxuXG4gICAgbG9hZFJvd0xpc3QoKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgaWYgKCAhdGhpcy5wcm92aWRlcj8uc3RhcnRsb2FkU2NoZWR1bGUgKSB0aHJvdyBFcnJvciggJ1NjaGVkdWxlQ29tcG9uZW50LnByb3ZpZGVyLnN0YXJ0bG9hZFNjaGVkdWxlIG5vdCBzZXQnIClcbiAgICAgXG4gICAgICAgIHJldHVybiB0aGlzLnByb3ZpZGVyLnN0YXJ0bG9hZFNjaGVkdWxlKCAoKSA9PiB7IHJldHVybiBzdXBlci5sb2FkUm93TGlzdCgpIH0gKVxuICAgIH1cblxuICAgIGZldGNoUm93TGlzdFBhZ2UoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgaWYgKCAhdGhpcy5wcm92aWRlcj8uZmV0Y2hTY2hlZHVsZSApIHRocm93IEVycm9yKCAnU2NoZWR1bGVDb21wb25lbnQucHJvdmlkZXIuZmV0Y2hTY2hlZHVsZSBub3Qgc2V0JyApXG5cbiAgICAgICAgcmV0dXJuIHRoaXMucHJvdmlkZXIuZmV0Y2hTY2hlZHVsZSgpXG4gICAgfVxuXG4gICAgcGFyc2VSb3dzKCByZXM6IGFueSApOiBTY2hlZHVsZVJvd1tdIHtcbiAgICAgICAgaWYgKCAhdGhpcy5wcm92aWRlcj8ucGFyc2VTY2hlZHVsZSApIHRocm93IEVycm9yKCAnU2NoZWR1bGVDb21wb25lbnQucHJvdmlkZXIucGFyc2VTY2hlZHVsZSBub3Qgc2V0JyApXG5cbiAgICAgICAgbGV0IHJvd3MgPSB0aGlzLnByb3ZpZGVyLnBhcnNlU2NoZWR1bGUoIHJlcyApXG4gICAgICAgIHJldHVybiB0aGlzLm1ha2VSb3dzKCByb3dzIClcbiAgICB9XG5cbiAgICBnZXRJbml0aWFsUGFnZVN0YXRlKCk6IEluaXRpYWxTdGF0ZTx7fT4ge1xuICAgICAgICBpZiAoICF0aGlzLnByb3ZpZGVyPy5nZXRJbml0aWFsUGFnZVN0YXRlICkgdGhyb3cgRXJyb3IoICdTY2hlZHVsZUNvbXBvbmVudC5wcm92aWRlci5nZXRJbml0aWFsUGFnZVN0YXRlIG5vdCBzZXQnIClcblxuICAgICAgICByZXR1cm4gdGhpcy5wcm92aWRlci5nZXRJbml0aWFsUGFnZVN0YXRlKClcbiAgICB9XG5cbiAgICBjb21wbGV0ZWRSb3dMaXN0UGFnZSgpOiBQYWdpbmF0aW9uU3RhdGU8e30+IHtcbiAgICAgICAgaWYgKCAhdGhpcy5wcm92aWRlcj8uY29tcGxldGVkTG9hZFNjaGVkdWxlICkgdGhyb3cgRXJyb3IoICdTY2hlZHVsZUNvbXBvbmVudC5wcm92aWRlci5jb21wbGV0ZWRSb3dMaXN0UGFnZSBub3Qgc2V0JyApXG5cbiAgICAgICAgcmV0dXJuIHRoaXMucHJvdmlkZXIuY29tcGxldGVkTG9hZFNjaGVkdWxlKCBzdXBlci5jb21wbGV0ZWRSb3dMaXN0UGFnZSApXG4gICAgfVxuXG4gICAgb25TYW1lUGFnZUZpbHRlckNoYW5nZSggZXY6IHt9ICk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbHRlciA9IGV2XG4gICAgICAgIHRoaXMucmVmcmVzaFJvd0xpc3QoKVxuICAgIH1cblxuICAgIG1ha2VSb3dzKCBzY2hlZHVsZTogU2NoZWR1bGUgKTogU2NoZWR1bGUge1xuICAgICAgICBsZXQgc3RhcnQgPSBtb21lbnQoIHRoaXMuc3RhcnREYXRlIClcbiAgICAgICAgbGV0IHRvZGF5ID0gbW9tZW50KClcblxuICAgICAgICB0aGlzLl93ZWVrcyA9IEFycmF5LmZyb20oIHsgbGVuZ3RoOiB0aGlzLmRheUNvdW50ISB9ICkucmVkdWNlPFdlZWtbXT4oICggYSwgeCwgaSApID0+IHtcbiAgICAgICAgICAgIGxldCBtID0gc3RhcnQuY2xvbmUoKS5hZGQoIGksICdkYXknIClcbiAgICAgICAgICAgIGxldCBkYXRlID0gbS5mb3JtYXQoICdNTU0gRCcgKVxuICAgICAgICAgICAgbGV0IGRheSA9IG0uZGF5KClcblxuICAgICAgICAgICAgaWYgKCBhLmxlbmd0aCA9PSAwICkgcmV0dXJuIGEuY29uY2F0KCB7XG4gICAgICAgICAgICAgICAgc3RhcnQ6IGRhdGUsXG4gICAgICAgICAgICAgICAgZW5kOiBkYXRlLFxuICAgICAgICAgICAgICAgIHNwYW46IDFcbiAgICAgICAgICAgIH0gKVxuXG4gICAgICAgICAgICBsZXQgcHJldiA9IGFbIGEubGVuZ3RoIC0gMSBdXG5cbiAgICAgICAgICAgIGlmICggZGF5ID09IHRoaXMud2Vla1N0YXJ0ICkgcmV0dXJuIGEuY29uY2F0KCB7XG4gICAgICAgICAgICAgICAgc3RhcnQ6IGRhdGUsXG4gICAgICAgICAgICAgICAgZW5kOiBkYXRlLFxuICAgICAgICAgICAgICAgIHNwYW46IDFcbiAgICAgICAgICAgIH0gKVxuXG4gICAgICAgICAgICBwcmV2LmVuZCA9IGRhdGVcbiAgICAgICAgICAgIHByZXYuc3BhbiArPSAxXG4gICAgICAgICAgICByZXR1cm4gYVxuICAgICAgICB9LCBbXSApXG5cbiAgICAgICAgdGhpcy5fZGF5cyA9IEFycmF5LmZyb20oIHsgbGVuZ3RoOiB0aGlzLmRheUNvdW50ISB9ICkubWFwKCAoIHgsIGkgKSA9PiB7XG4gICAgICAgICAgICBsZXQgZCA9IHN0YXJ0LmNsb25lKCkuYWRkKCBpLCAnZGF5JyApXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGRheU5hbWU6IGQuZm9ybWF0KCAnZGRkJyApLFxuICAgICAgICAgICAgICAgIG1vbnRoRGF5OiBkLmRhdGUoKSxcbiAgICAgICAgICAgICAgICBkYXRlOiBkLmZvcm1hdCggJ1ktTU0tREQnICksXG4gICAgICAgICAgICAgICAgaXNGaXJzdDogZC5kYXRlKCkgPT0gMSxcbiAgICAgICAgICAgICAgICBpc1dlZWtlbmQ6IGQuZGF5KCkgPT0gMCB8fCBkLmRheSgpID09IDYsXG4gICAgICAgICAgICAgICAgaXNUb2RheTogZC5pc1NhbWUoIHRvZGF5LCAnZGF5JyApLFxuICAgICAgICAgICAgICAgIGlzSGlnaGxpZ2h0OiBkLmlzU2FtZSggdGhpcy5oaWdobGlnaHREYXRlLCAnZGF5JyApXG4gICAgICAgICAgICB9XG4gICAgICAgIH0gKVxuXG4gICAgICAgIHRoaXMuX3RlbXBsYXRlcyA9IEFycmF5LmZyb20oIHsgbGVuZ3RoOiBzY2hlZHVsZS5sZW5ndGggfSApXG5cbiAgICAgICAgcmV0dXJuIHNjaGVkdWxlLm1hcCggKCByb3csIGkgKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl90ZW1wbGF0ZXNbIGkgXSA9IEFycmF5LmZyb20oIHsgbGVuZ3RoOiB0aGlzLmRheUNvdW50ISB9IClcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBpZDogcm93LmlkID8/IFN0cmluZyggaSApLFxuICAgICAgICAgICAgICAgIGhlYWRpbmc6IHJvdy5oZWFkaW5nLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiByb3cuaXRlbXNcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oIHJvd0l0ZW1zID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBBcnJheS5mcm9tKCB7IGxlbmd0aDogdGhpcy5kYXlDb3VudCEgfSApLm1hcCggKCB4LCBqICkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByb3dJdGVtID0gcm93SXRlbXNbIGogXVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCByb3dJdGVtID09IG51bGwgKSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBTdHJpbmcoIGogKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdlbXB0eSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3RlbXBsYXRlc1sgaSBdWyBqIF0gPSB0aGlzLml0ZW1UZW1wbGF0ZXM/LmZpbmQoIGkgPT4gaS5uYW1lID09IHJvd0l0ZW0/Lm5hbWUgICk/LnRlbXBsYXRlIVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJvd0l0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gKVxuICAgICAgICAgICAgICAgICAgICB9IClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSApIHx8IFtdXG4gICAgfVxufVxuIiwiQGlmICggcm93cz8ubGVuZ3RoID4gMCApIHtcbiAgICA8ZGl2IGNsYXNzPVwic2NoZWR1bGVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInVwcGVyLWxlZnRcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyB3ZWVrc1wiPlxuICAgICAgICAgICAgQGZvciAoIHdlZWsgb2YgX3dlZWtzOyB0cmFjayAkaW5kZXggKSB7XG4gICAgICAgICAgICAgICAgQGlmICggd2Vlay5zcGFuID09IDEgKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyB3ZWVrLnN0YXJ0IH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrXCIgW3N0eWxlLmdyaWQtY29sdW1uXT1cIidzcGFuICcgKyB3ZWVrLnNwYW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHdlZWsuc3RhcnQgfX0gLSB7eyB3ZWVrLmVuZCB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZGF5c1wiPiAgICBcbiAgICAgICAgICAgIEBmb3IgKCBkYXkgb2YgX2RheXM7IHRyYWNrICRpbmRleCApIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF5XCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLndlZWtlbmRdPVwiZGF5LmlzV2Vla2VuZFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy50b2RheV09XCJkYXkuaXNUb2RheVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5maXJzdF09XCJkYXkuaXNGaXJzdFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5oaWdobGlnaHRdPVwiZGF5LmlzSGlnaGxpZ2h0XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXktbmFtZVwiPnt7IGRheS5kYXlOYW1lIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlXCI+e3sgZGF5Lm1vbnRoRGF5IH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIEBmb3IgKCByb3cgb2Ygcm93cyB8IHBhZ2luYXRlOiBwYWdpbmF0ZVN0YXRlKCAnbnJjbC1zY2hlZHVsZScgKTsgdHJhY2sgcm93LmlkOyBsZXQgcm93SW5kZXggPSAkaW5kZXggKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGl0ZW1zXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm91dGVyIGhlYWRpbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyIGhlYWRpbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyVGVtcGxhdGU/LnRlbXBsYXRlXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiByb3cuaGVhZGluZyB9XCIgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+ICAgIFxuXG4gICAgICAgICAgICAgICAgQGlmICggcm93Lml0ZW1zIHwgYXN5bmM7IGFzIHJvd0l0ZW1zICkge1xuICAgICAgICAgICAgICAgICAgICBAZm9yICggaXRlbSBvZiByb3dJdGVtczsgdHJhY2sgaXRlbS5pZDsgbGV0IGNvbEluZGV4ID0gJGluZGV4ICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm91dGVyIGl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5tZW51LW9wZW5dPVwiaXRlbU1lbnUubWVudU9wZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5oaWdobGlnaHRdPVwiX2RheXNbIGNvbEluZGV4IF0uaXNIaWdobGlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5ob3Zlcl09XCJob3ZlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyIGl0ZW1cIiAjaXRlbU1lbnU9XCJtYXRNZW51VHJpZ2dlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCInaXRlbS0nICsgaXRlbS5uYW1lXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFJpcHBsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0UmlwcGxlRGlzYWJsZWRdPVwiIWhvdmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJEYXRhXT1cInsgJGltcGxpY2l0OiB7IGl0ZW06IGl0ZW0sIGhlYWRpbmc6IHJvdy5oZWFkaW5nIH0gfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIml0ZW0/LnRvb2x0aXA/LigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPVwibnJjbC1zY2hlZHVsZS1tdWx0aWxpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MudHJhdmVsXT1cIml0ZW0/LnRyYXZlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiX3RlbXBsYXRlc1sgcm93SW5kZXggXVsgY29sSW5kZXggXSB8fCBlbXB0eVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbGV0IGljb25zID0gaXRlbT8uaWNvbnM/LigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCBpY29ucyAmJiBpY29ucy5sZW5ndGggPiAwICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoIGljb24gb2YgaWNvbnM7IHRyYWNrIGljb24gKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxucmNsLWljb24gc21hbGw+e3sgaWNvbiB9fTwvbnJjbC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgQGZvciAoIGRheSBvZiBfZGF5czsgdHJhY2sgZGF5ICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gaXRlbS1sb2FkaW5nXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuXG4gICAgPG5yY2wtZ2FwLz5cbn1cblxuPG5yY2wtcm93LWxpc3QtcGFnaW5hdGlvblxuICAgIHBhZ2luYXRpb25JZD1cIm5yY2wtc2NoZWR1bGVcIlxuICAgIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiXG4gICAgW3BhZ2VOdW1iZXJdPVwicGFnZU51bWJlclwiXG4gICAgW3Jvd0NvdW50XT1cInRvdGFsUm93Q291bnRcIlxuICAgIChwYWdlTnVtYmVyQ2hhbmdlKT1cIm9uUGFnZU51bWJlckNoYW5nZSggJGV2ZW50IClcIlxuICAgIChwYWdlU2l6ZUNoYW5nZSk9XCJvblBhZ2VTaXplQ2hhbmdlKCAkZXZlbnQgKVwiXG4+PC9ucmNsLXJvdy1saXN0LXBhZ2luYXRpb24+XG5cbjxuZy10ZW1wbGF0ZSAjZW1wdHk+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -45,7 +45,8 @@ export class PaginationBase extends NrclBase {
45
45
  }
46
46
  onFilterChange(ev) {
47
47
  this.filter = ev;
48
- this.onPageNumberChange(1);
48
+ this._pageConfig.pageNumber = 1;
49
+ this.onPageStateChanged();
49
50
  }
50
51
  onSortChange(ev) {
51
52
  if (this._pageConfig.sortActive == ev.active)
@@ -53,13 +54,15 @@ export class PaginationBase extends NrclBase {
53
54
  return;
54
55
  this._pageConfig.sortActive = ev.active;
55
56
  this._pageConfig.sortDirection = ev.direction;
56
- this.onPageNumberChange(1);
57
+ this._pageConfig.pageNumber = 1;
58
+ this.onPageStateChanged();
57
59
  }
58
60
  onPageSizeChange(ev) {
59
61
  if (this._pageConfig.pageSize == ev)
60
62
  return;
61
63
  this._pageConfig.pageSize = ev;
62
- this.onPageNumberChange(1);
64
+ this._pageConfig.pageNumber = 1;
65
+ this.onPageStateChanged();
63
66
  }
64
67
  onPageNumberChange(ev) {
65
68
  if (this._pageConfig.pageNumber == ev)
@@ -128,4 +131,4 @@ export class PaginationBase extends NrclBase {
128
131
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PaginationBase, decorators: [{
129
132
  type: Directive
130
133
  }] });
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2RpcmVjdGl2ZXMvcGFnaW5hdGlvbi5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQXlCdkMsTUFBTSxPQUFnQixjQUFrQixTQUFRLFFBQVE7SUFEeEQ7O1FBRUkscUJBQWdCLEdBQUcsTUFBTSxDQUFFLGdCQUFnQixDQUFFLENBQUE7UUFDN0Msc0JBQWlCLEdBQUcsTUFBTSxDQUFFLGlCQUFpQixDQUFFLENBQUE7UUFFckMsbUJBQWMsR0FBVyxDQUFDLENBQUE7UUFHNUIsZ0JBQVcsR0FBcUI7WUFDcEMsUUFBUSxFQUFRLENBQUM7WUFDakIsVUFBVSxFQUFNLENBQUM7WUFDakIsVUFBVSxFQUFNLEVBQUU7WUFDbEIsYUFBYSxFQUFHLEtBQUs7U0FDeEIsQ0FBQTtLQXFJSjtJQTVJRyxJQUFJLGFBQWEsS0FBYSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUEsQ0FBQyxDQUFDO0lBUTFELElBQUksUUFBUSxLQUEwQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFBLENBQUMsQ0FBQztJQUN4RSxJQUFJLFVBQVUsS0FBd0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQSxDQUFDLENBQUM7SUFDMUUsSUFBSSxVQUFVLEtBQXdCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUEsQ0FBQyxDQUFDO0lBQzFFLElBQUksYUFBYSxLQUFxQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMs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QyxVQUFVO1lBQ3hDLFVBQVUsRUFBRSxJQUFJLENBQUMsY0FBYztTQUNsQyxDQUFBO0lBQ0wsQ0FBQztJQUVELG9CQUFvQixDQUFFLEtBQWM7UUFDaEMsT0FBTztZQUNILEtBQUs7WUFDTCxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVO1lBQ3ZDLFlBQVksRUFBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVE7WUFDeEMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtTQUNwQyxDQUFBO0lBQ0wsQ0FBQzsrR0FoSmlCLGNBQWM7bUdBQWQsY0FBYzs7NEZBQWQsY0FBYztrQkFEbkMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBTb3J0LCBTb3J0RGlyZWN0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NvcnRcIjtcbmltcG9ydCB7IFBhZ2VTdGF0ZVNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvcGFnZS1zdGF0ZS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBOcmNsQmFzZSB9IGZyb20gXCIuL25yY2wuYmFzZVwiO1xuXG5leHBvcnQgdHlwZSBQYWdpbmF0aW9uQ29uZmlnID0geyAgICBcbiAgICBwYWdlU2l6ZTogbnVtYmVyXG4gICAgcGFnZU51bWJlcjogbnVtYmVyXG4gICAgc29ydEFjdGl2ZTogc3RyaW5nIFxuICAgIHNvcnREaXJlY3Rpb246IFNvcnREaXJlY3Rpb25cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmdJbmZvUmVxdWVzdCB7XG4gICAgcXVlcnk/OiBzdHJpbmc7XG4gICAgcGFnZU51bWJlcjogbnVtYmVyO1xuICAgIHBhZ2VSb3dDb3VudDogbnVtYmVyO1xuICAgIHNvcnRDb2x1bW4/OiBzdHJpbmc7XG4gICAgc29ydERpcmVjdGlvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgUGFnaW5hdGlvblN0YXRlPEY+ID0geyBcbiAgICBwYWdlQ29uZmlnOiBQYWdpbmF0aW9uQ29uZmlnLCBcbiAgICBmaWx0ZXI6IEYsIFxufVxuXG5leHBvcnQgdHlwZSBJbml0aWFsU3RhdGU8Rj4gPSBQYWdpbmF0aW9uU3RhdGU8Rj4gJiB7IGluc3RhbmNlPzogc3RyaW5nIH1cblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGFnaW5hdGlvbkJhc2U8Rj4gZXh0ZW5kcyBOcmNsQmFzZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIHBhZ2VTdGF0ZVNlcnZpY2UgPSBpbmplY3QoIFBhZ2VTdGF0ZVNlcnZpY2UgKVxuICAgIGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KCBDaGFuZ2VEZXRlY3RvclJlZiApXG5cbiAgICBwcm90ZWN0ZWQgX3RvdGFsUm93Q291bnQ6IG51bWJlciA9IDBcbiAgICBnZXQgdG90YWxSb3dDb3VudCgpOiBudW1iZXIgeyByZXR1cm4gdGhpcy5fdG90YWxSb3dDb3VudCB9XG5cbiAgICBwcml2YXRlIF9wYWdlQ29uZmlnOiBQYWdpbmF0aW9uQ29uZmlnID0ge1xuICAgICAgICBwYWdlU2l6ZTogICAgICAgMCxcbiAgICAgICAgcGFnZU51bWJlcjogICAgIDEsXG4gICAgICAgIHNvcnRBY3RpdmU6ICAgICAnJyxcbiAgICAgICAgc29ydERpcmVjdGlvbjogICdhc2MnXG4gICAgfVxuICAgIGdldCBwYWdlU2l6ZSgpOiBudW1iZXIgICAgICAgICAgICAgIHsgcmV0dXJuIHRoaXMuX3BhZ2VDb25maWcucGFnZVNpemUgfVxuICAgIGdldCBwYWdlTnVtYmVyKCk6IG51bWJlciAgICAgICAgICAgIHsgcmV0dXJuIHRoaXMuX3BhZ2VDb25maWcucGFnZU51bWJlciB9XG4gICAgZ2V0IHNvcnRBY3RpdmUoKTogc3RyaW5nICAgICAgICAgICAgeyByZXR1cm4gdGhpcy5fcGFnZUNvbmZpZy5zb3J0QWN0aXZlIH1cbiAgICBnZXQgc29ydERpcmVjdGlvbigpOiBTb3J0RGlyZWN0aW9uICB7IHJldHVybiB0aGlzLl9wYWdlQ29uZmlnLnNvcnREaXJlY3Rpb24gfVxuXG4gICAgcHJpdmF0ZSBfZmlsdGVyPzogRlxuICAgIGdldCBmaWx0ZXIoKTogRiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maWx0ZXIgYXMgRlxuICAgIH1cbiAgICBwcm90ZWN0ZWQgc2V0IGZpbHRlciggZjogRiApIHtcbiAgICAgICAgdGhpcy5fZmlsdGVyID0gdGhpcy5jbG9uZSggZiApXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9pbnN0YW5jZT86IHN0cmluZ1xuICAgIGdldCBpbnN0YW5jZSgpOiBzdHJpbmd8dW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luc3RhbmNlXG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnUGFnaW5hdGlvbkJhc2UubmdBZnRlclZpZXdJbml0JylcbiAgICAgICAgdGhpcy5vbkluaXRQYWdlU3RhdGUoKVxuICAgIH1cblxuICAgIG9uSW5pdFBhZ2VTdGF0ZSgpIHtcbiAgICAgICAgbGV0IGluaXQgPSB0aGlzLmdldEluaXRpYWxQYWdlU3RhdGUoKVxuICAgICAgICB0aGlzLl9pbnN0YW5jZSA9IGluaXQuaW5zdGFuY2VcblxuICAgICAgICBsZXQgc2F2ZWQgPSB0aGlzLnJldHJpZXZlU3RhdGUoKVxuXG4gICAgICAgIHRoaXMuc2V0Q3VycmVudFBhZ2VTdGF0ZSggc2F2ZWQgfHwgaW5pdCApXG4gICAgICAgIHRoaXMub25QYWdlU3RhdGVDaGFuZ2VkKClcbiAgICB9XG5cbiAgICBjbG9uZSggb2JqOiBhbnkgKSB7XG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKCBKU09OLnN0cmluZ2lmeSggb2JqICkgKSBcbiAgICB9XG5cbiAgICBvbkZpbHRlckNoYW5nZSggZXY6IEYgKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyID0gZXYgXG4gICAgICAgIHRoaXMub25QYWdlTnVtYmVyQ2hhbmdlKCAxIClcbiAgICB9XG5cbiAgICBvblNvcnRDaGFuZ2UoIGV2OiBTb3J0ICkge1xuICAgICAgICBpZiAoIHRoaXMuX3BhZ2VDb25maWcuc29ydEFjdGl2ZSA9PSBldi5hY3RpdmUgKSBcbiAgICAgICAgICAgIGlmICggdGhpcy5fcGFnZUNvbmZpZy5zb3J0RGlyZWN0aW9uID09IGV2LmRpcmVjdGlvbiApIFxuICAgICAgICAgICAgICAgIHJldHVyblxuXG4gICAgICAgIHRoaXMuX3BhZ2VDb25maWcuc29ydEFjdGl2ZSA9IGV2LmFjdGl2ZVxuICAgICAgICB0aGlzLl9wYWdlQ29uZmlnLnNvcnREaXJlY3Rpb24gPSBldi5kaXJlY3Rpb25cbiAgICAgICAgdGhpcy5vblBhZ2VOdW1iZXJDaGFuZ2UoIDEgKVxuICAgIH1cblxuICAgIG9uUGFnZVNpemVDaGFuZ2UoIGV2OiBudW1iZXIgKSB7XG4gICAgICAgIGlmICggdGhpcy5fcGFnZUNvbmZpZy5wYWdlU2l6ZSA9PSBldiApIHJldHVyblxuXG4gICAgICAgIHRoaXMuX3BhZ2VDb25maWcucGFnZVNpemUgPSBldiBcbiAgICAgICAgdGhpcy5vblBhZ2VOdW1iZXJDaGFuZ2UoIDEgKVxuICAgIH1cblxuICAgIG9uUGFnZU51bWJlckNoYW5nZSggZXY6IG51bWJlciApIHtcbiAgICAgICAgaWYgKCB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VOdW1iZXIgPT0gZXYgKSByZXR1cm5cblxuICAgICAgICB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VOdW1iZXIgPSBldlxuXG4gICAgICAgIHRoaXMub25QYWdlU3RhdGVDaGFuZ2VkKClcbiAgICB9XG5cbiAgICBvblBhZ2VTdGF0ZUNoYW5nZWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlZnJlc2goKVxuICAgICAgICAgICAgLnRoZW4oICgpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgc3RhdGUgPSB0aGlzLmdldEN1cnJlbnRQYWdlU3RhdGUoKVxuICAgICAgICAgICAgICAgIHRoaXMucGVyc2lzdFN0YXRlKCBzdGF0ZSApXG4gICAgICAgICAgICB9IClcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVmcmVzaCgpOiBQcm9taXNlPHZvaWQ+IFxuXG4gICAgYWJzdHJhY3QgZ2V0SW5pdGlhbFBhZ2VTdGF0ZSgpOiBJbml0aWFsU3RhdGU8Rj5cblxuICAgIGdldEN1cnJlbnRQYWdlU3RhdGUoKTogUGFnaW5hdGlvblN0YXRlPEY+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGZpbHRlcjogdGhpcy5maWx0ZXIsXG4gICAgICAgICAgICBwYWdlQ29uZmlnOiB7XG4gICAgICAgICAgICAgICAgcGFnZVNpemU6IHRoaXMuX3BhZ2VDb25maWcucGFnZVNpemUsXG4gICAgICAgICAgICAgICAgcGFnZU51bWJlcjogdGhpcy5fcGFnZUNvbmZpZy5wYWdlTnVtYmVyLFxuICAgICAgICAgICAgICAgIHNvcnRBY3RpdmU6IHRoaXMuX3BhZ2VDb25maWcuc29ydEFjdGl2ZSxcbiAgICAgICAgICAgICAgICBzb3J0RGlyZWN0aW9uOiB0aGlzLl9wYWdlQ29uZmlnLnNvcnREaXJlY3Rpb24sXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRDdXJyZW50UGFnZVN0YXRlKCBzdGF0ZTogUGFnaW5hdGlvblN0YXRlPEY+ICkge1xuICAgICAgICB0aGlzLmZpbHRlciA9IHN0YXRlLmZpbHRlclxuICAgICAgICB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VTaXplID0gc3RhdGUucGFnZUNvbmZpZy5wYWdlU2l6ZVxuICAgICAgICB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VOdW1iZXIgPSBzdGF0ZS5wYWdlQ29uZmlnLnBhZ2VOdW1iZXJcbiAgICAgICAgdGhpcy5fcGFnZUNvbmZpZy5zb3J0QWN0aXZlID0gc3RhdGUucGFnZUNvbmZpZy5zb3J0QWN0aXZlXG4gICAgICAgIHRoaXMuX3BhZ2VDb25maWcuc29ydERpcmVjdGlvbiA9IHN0YXRlLnBhZ2VDb25maWcuc29ydERpcmVjdGlvblxuICAgIH1cblxuICAgIHBlcnNpc3RTdGF0ZSggc3RhdGU6IFBhZ2luYXRpb25TdGF0ZTxGPiApIHtcbiAgICAgICAgaWYgKCAhdGhpcy5faW5zdGFuY2UgKSByZXR1cm5cblxuICAgICAgICB0aGlzLnBhZ2VTdGF0ZVNlcnZpY2Uuc2V0UGFnZVN0YXRlKCB0aGlzLl9pbnN0YW5jZSEsIEpTT04uc3RyaW5naWZ5KCBzdGF0ZSApIClcbiAgICB9XG5cbiAgICByZXRyaWV2ZVN0YXRlKCk6IFBhZ2luYXRpb25TdGF0ZTxGPnx1bmRlZmluZWQge1xuICAgICAgICBpZiAoICF0aGlzLl9pbnN0YW5jZSApIHJldHVyblxuICAgICAgICBcbiAgICAgICAgbGV0IHN0YXRlID0gdGhpcy5wYWdlU3RhdGVTZXJ2aWNlLmdldFBhZ2VTdGF0ZSggdGhpcy5faW5zdGFuY2UhIClcbiAgICAgICAgaWYgKCAhc3RhdGUgKSByZXR1cm5cblxuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZSggc3RhdGUgKVxuICAgIH1cblxuICAgIHBhZ2luYXRlU3RhdGUoIGlkOiBzdHJpbmcgKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIGl0ZW1zUGVyUGFnZTogdGhpcy5fcGFnZUNvbmZpZy5wYWdlU2l6ZSxcbiAgICAgICAgICAgIGN1cnJlbnRQYWdlOiB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VOdW1iZXIsXG4gICAgICAgICAgICB0b3RhbEl0ZW1zOiB0aGlzLl90b3RhbFJvd0NvdW50XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRQYWdpbmdJbmZvUmVxdWVzdCggcXVlcnk/OiBzdHJpbmcgKTogUGFnaW5nSW5mb1JlcXVlc3Qge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcXVlcnksXG4gICAgICAgICAgICBwYWdlTnVtYmVyOiB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VOdW1iZXIsXG4gICAgICAgICAgICBwYWdlUm93Q291bnQ6ICB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VTaXplLFxuICAgICAgICAgICAgc29ydENvbHVtbjogdGhpcy5zb3J0QWN0aXZlLFxuICAgICAgICAgICAgc29ydERpcmVjdGlvbjogdGhpcy5zb3J0RGlyZWN0aW9uXG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2RpcmVjdGl2ZXMvcGFnaW5hdGlvbi5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQXlCdkMsTUFBTSxPQUFnQixjQUFrQixTQUFRLFFBQVE7SUFEeEQ7O1FBRUkscUJBQWdCLEdBQUcsTUFBTSxDQUFFLGdCQUFnQixDQUFFLENBQUE7UUFDN0Msc0JBQWlCLEdBQUcsTUFBTSxDQUFFLGlCQUFpQixDQUFFLENBQUE7UUFFckMsbUJBQWMsR0FBVyxDQUFDLENBQUE7UUFHNUIsZ0JBQVcsR0FBcUI7WUFDcEMsUUFBUSxFQUFRLENBQUM7WUFDakIsVUFBVSxFQUFNLENBQUM7WUFDakIsVUFBVSxFQUFNLEVBQUU7WUFDbEIsYUFBYSxFQUFHLEtBQUs7U0FDeEIsQ0FBQTtLQTJJSjtJQWxKRyxJQUFJLGFBQWEsS0FBYSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUEsQ0FBQyxDQUFDO0lBUTFELElBQUksUUFBUSxLQUEwQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFBLENBQUMsQ0FBQztJQUN4RSxJQUFJLFVBQVUsS0FBd0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQSxDQUFDLENBQUM7SUFDMUUsSUFBSSxVQUFVLEtBQXdCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUEsQ0FBQyxDQUFDO0lBQzFFLElBQUksYUFBYSxLQUFxQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMs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QWEsQ0FBRSxFQUFVO1FBQ3JCLE9BQU87WUFDSCxFQUFFO1lBQ0YsWUFBWSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUTtZQUN2QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVO1lBQ3hDLFVBQVUsRUFBRSxJQUFJLENBQUMsY0FBYztTQUNsQyxDQUFBO0lBQ0wsQ0FBQztJQUVELG9CQUFvQixDQUFFLEtBQWM7UUFDaEMsT0FBTztZQUNILEtBQUs7WUFDTCxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVO1lBQ3ZDLFlBQVksRUFBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVE7WUFDeEMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtTQUNwQyxDQUFBO0lBQ0wsQ0FBQzsrR0F0SmlCLGNBQWM7bUdBQWQsY0FBYzs7NEZBQWQsY0FBYztrQkFEbkMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBTb3J0LCBTb3J0RGlyZWN0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NvcnRcIjtcbmltcG9ydCB7IFBhZ2VTdGF0ZVNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvcGFnZS1zdGF0ZS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBOcmNsQmFzZSB9IGZyb20gXCIuL25yY2wuYmFzZVwiO1xuXG5leHBvcnQgdHlwZSBQYWdpbmF0aW9uQ29uZmlnID0geyAgICBcbiAgICBwYWdlU2l6ZTogbnVtYmVyXG4gICAgcGFnZU51bWJlcjogbnVtYmVyXG4gICAgc29ydEFjdGl2ZTogc3RyaW5nIFxuICAgIHNvcnREaXJlY3Rpb246IFNvcnREaXJlY3Rpb25cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmdJbmZvUmVxdWVzdCB7XG4gICAgcXVlcnk/OiBzdHJpbmc7XG4gICAgcGFnZU51bWJlcjogbnVtYmVyO1xuICAgIHBhZ2VSb3dDb3VudDogbnVtYmVyO1xuICAgIHNvcnRDb2x1bW4/OiBzdHJpbmc7XG4gICAgc29ydERpcmVjdGlvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgUGFnaW5hdGlvblN0YXRlPEY+ID0geyBcbiAgICBwYWdlQ29uZmlnOiBQYWdpbmF0aW9uQ29uZmlnLCBcbiAgICBmaWx0ZXI6IEYsIFxufVxuXG5leHBvcnQgdHlwZSBJbml0aWFsU3RhdGU8Rj4gPSBQYWdpbmF0aW9uU3RhdGU8Rj4gJiB7IGluc3RhbmNlPzogc3RyaW5nIH1cblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGFnaW5hdGlvbkJhc2U8Rj4gZXh0ZW5kcyBOcmNsQmFzZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIHBhZ2VTdGF0ZVNlcnZpY2UgPSBpbmplY3QoIFBhZ2VTdGF0ZVNlcnZpY2UgKVxuICAgIGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KCBDaGFuZ2VEZXRlY3RvclJlZiApXG5cbiAgICBwcm90ZWN0ZWQgX3RvdGFsUm93Q291bnQ6IG51bWJlciA9IDBcbiAgICBnZXQgdG90YWxSb3dDb3VudCgpOiBudW1iZXIgeyByZXR1cm4gdGhpcy5fdG90YWxSb3dDb3VudCB9XG5cbiAgICBwcml2YXRlIF9wYWdlQ29uZmlnOiBQYWdpbmF0aW9uQ29uZmlnID0ge1xuICAgICAgICBwYWdlU2l6ZTogICAgICAgMCxcbiAgICAgICAgcGFnZU51bWJlcjogICAgIDEsXG4gICAgICAgIHNvcnRBY3RpdmU6ICAgICAnJyxcbiAgICAgICAgc29ydERpcmVjdGlvbjogICdhc2MnXG4gICAgfVxuICAgIGdldCBwYWdlU2l6ZSgpOiBudW1iZXIgICAgICAgICAgICAgIHsgcmV0dXJuIHRoaXMuX3BhZ2VDb25maWcucGFnZVNpemUgfVxuICAgIGdldCBwYWdlTnVtYmVyKCk6IG51bWJlciAgICAgICAgICAgIHsgcmV0dXJuIHRoaXMuX3BhZ2VDb25maWcucGFnZU51bWJlciB9XG4gICAgZ2V0IHNvcnRBY3RpdmUoKTogc3RyaW5nICAgICAgICAgICAgeyByZXR1cm4gdGhpcy5fcGFnZUNvbmZpZy5zb3J0QWN0aXZlIH1cbiAgICBnZXQgc29ydERpcmVjdGlvbigpOiBTb3J0RGlyZWN0aW9uICB7IHJldHVybiB0aGlzLl9wYWdlQ29uZmlnLnNvcnREaXJlY3Rpb24gfVxuXG4gICAgcHJpdmF0ZSBfZmlsdGVyPzogRlxuICAgIGdldCBmaWx0ZXIoKTogRiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maWx0ZXIgYXMgRlxuICAgIH1cbiAgICBwcm90ZWN0ZWQgc2V0IGZpbHRlciggZjogRiApIHtcbiAgICAgICAgdGhpcy5fZmlsdGVyID0gdGhpcy5jbG9uZSggZiApXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9pbnN0YW5jZT86IHN0cmluZ1xuICAgIGdldCBpbnN0YW5jZSgpOiBzdHJpbmd8dW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luc3RhbmNlXG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnUGFnaW5hdGlvbkJhc2UubmdBZnRlclZpZXdJbml0JylcbiAgICAgICAgdGhpcy5vbkluaXRQYWdlU3RhdGUoKVxuICAgIH1cblxuICAgIG9uSW5pdFBhZ2VTdGF0ZSgpIHtcbiAgICAgICAgbGV0IGluaXQgPSB0aGlzLmdldEluaXRpYWxQYWdlU3RhdGUoKVxuICAgICAgICB0aGlzLl9pbnN0YW5jZSA9IGluaXQuaW5zdGFuY2VcblxuICAgICAgICBsZXQgc2F2ZWQgPSB0aGlzLnJldHJpZXZlU3RhdGUoKVxuXG4gICAgICAgIHRoaXMuc2V0Q3VycmVudFBhZ2VTdGF0ZSggc2F2ZWQgfHwgaW5pdCApXG4gICAgICAgIHRoaXMub25QYWdlU3RhdGVDaGFuZ2VkKClcbiAgICB9XG5cbiAgICBjbG9uZSggb2JqOiBhbnkgKSB7XG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKCBKU09OLnN0cmluZ2lmeSggb2JqICkgKSBcbiAgICB9XG5cbiAgICBvbkZpbHRlckNoYW5nZSggZXY6IEYgKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyID0gZXYgXG4gICAgICAgIHRoaXMuX3BhZ2VDb25maWcucGFnZU51bWJlciA9IDFcblxuICAgICAgICB0aGlzLm9uUGFnZVN0YXRlQ2hhbmdlZCgpXG4gICAgfVxuXG4gICAgb25Tb3J0Q2hhbmdlKCBldjogU29ydCApIHtcbiAgICAgICAgaWYgKCB0aGlzLl9wYWdlQ29uZmlnLnNvcnRBY3RpdmUgPT0gZXYuYWN0aXZlICkgXG4gICAgICAgICAgICBpZiAoIHRoaXMuX3BhZ2VDb25maWcuc29ydERpcmVjdGlvbiA9PSBldi5kaXJlY3Rpb24gKSBcbiAgICAgICAgICAgICAgICByZXR1cm5cblxuICAgICAgICB0aGlzLl9wYWdlQ29uZmlnLnNvcnRBY3RpdmUgPSBldi5hY3RpdmVcbiAgICAgICAgdGhpcy5fcGFnZUNvbmZpZy5zb3J0RGlyZWN0aW9uID0gZXYuZGlyZWN0aW9uXG4gICAgICAgIHRoaXMuX3BhZ2VDb25maWcucGFnZU51bWJlciA9IDFcblxuICAgICAgICB0aGlzLm9uUGFnZVN0YXRlQ2hhbmdlZCgpXG4gICAgfVxuXG4gICAgb25QYWdlU2l6ZUNoYW5nZSggZXY6IG51bWJlciApIHtcbiAgICAgICAgaWYgKCB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VTaXplID09IGV2ICkgcmV0dXJuXG5cbiAgICAgICAgdGhpcy5fcGFnZUNvbmZpZy5wYWdlU2l6ZSA9IGV2IFxuICAgICAgICB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VOdW1iZXIgPSAxXG5cbiAgICAgICAgdGhpcy5vblBhZ2VTdGF0ZUNoYW5nZWQoKVxuICAgIH1cblxuICAgIG9uUGFnZU51bWJlckNoYW5nZSggZXY6IG51bWJlciApIHtcbiAgICAgICAgaWYgKCB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VOdW1iZXIgPT0gZXYgKSByZXR1cm5cblxuICAgICAgICB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VOdW1iZXIgPSBldlxuXG4gICAgICAgIHRoaXMub25QYWdlU3RhdGVDaGFuZ2VkKClcbiAgICB9XG5cbiAgICBvblBhZ2VTdGF0ZUNoYW5nZWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlZnJlc2goKVxuICAgICAgICAgICAgLnRoZW4oICgpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgc3RhdGUgPSB0aGlzLmdldEN1cnJlbnRQYWdlU3RhdGUoKVxuICAgICAgICAgICAgICAgIHRoaXMucGVyc2lzdFN0YXRlKCBzdGF0ZSApXG4gICAgICAgICAgICB9IClcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVmcmVzaCgpOiBQcm9taXNlPHZvaWQ+IFxuXG4gICAgYWJzdHJhY3QgZ2V0SW5pdGlhbFBhZ2VTdGF0ZSgpOiBJbml0aWFsU3RhdGU8Rj5cblxuICAgIGdldEN1cnJlbnRQYWdlU3RhdGUoKTogUGFnaW5hdGlvblN0YXRlPEY+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGZpbHRlcjogdGhpcy5maWx0ZXIsXG4gICAgICAgICAgICBwYWdlQ29uZmlnOiB7XG4gICAgICAgICAgICAgICAgcGFnZVNpemU6IHRoaXMuX3BhZ2VDb25maWcucGFnZVNpemUsXG4gICAgICAgICAgICAgICAgcGFnZU51bWJlcjogdGhpcy5fcGFnZUNvbmZpZy5wYWdlTnVtYmVyLFxuICAgICAgICAgICAgICAgIHNvcnRBY3RpdmU6IHRoaXMuX3BhZ2VDb25maWcuc29ydEFjdGl2ZSxcbiAgICAgICAgICAgICAgICBzb3J0RGlyZWN0aW9uOiB0aGlzLl9wYWdlQ29uZmlnLnNvcnREaXJlY3Rpb24sXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRDdXJyZW50UGFnZVN0YXRlKCBzdGF0ZTogUGFnaW5hdGlvblN0YXRlPEY+ICkge1xuICAgICAgICB0aGlzLmZpbHRlciA9IHN0YXRlLmZpbHRlclxuICAgICAgICB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VTaXplID0gc3RhdGUucGFnZUNvbmZpZy5wYWdlU2l6ZVxuICAgICAgICB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VOdW1iZXIgPSBzdGF0ZS5wYWdlQ29uZmlnLnBhZ2VOdW1iZXJcbiAgICAgICAgdGhpcy5fcGFnZUNvbmZpZy5zb3J0QWN0aXZlID0gc3RhdGUucGFnZUNvbmZpZy5zb3J0QWN0aXZlXG4gICAgICAgIHRoaXMuX3BhZ2VDb25maWcuc29ydERpcmVjdGlvbiA9IHN0YXRlLnBhZ2VDb25maWcuc29ydERpcmVjdGlvblxuICAgIH1cblxuICAgIHBlcnNpc3RTdGF0ZSggc3RhdGU6IFBhZ2luYXRpb25TdGF0ZTxGPiApIHtcbiAgICAgICAgaWYgKCAhdGhpcy5faW5zdGFuY2UgKSByZXR1cm5cblxuICAgICAgICB0aGlzLnBhZ2VTdGF0ZVNlcnZpY2Uuc2V0UGFnZVN0YXRlKCB0aGlzLl9pbnN0YW5jZSEsIEpTT04uc3RyaW5naWZ5KCBzdGF0ZSApIClcbiAgICB9XG5cbiAgICByZXRyaWV2ZVN0YXRlKCk6IFBhZ2luYXRpb25TdGF0ZTxGPnx1bmRlZmluZWQge1xuICAgICAgICBpZiAoICF0aGlzLl9pbnN0YW5jZSApIHJldHVyblxuICAgICAgICBcbiAgICAgICAgbGV0IHN0YXRlID0gdGhpcy5wYWdlU3RhdGVTZXJ2aWNlLmdldFBhZ2VTdGF0ZSggdGhpcy5faW5zdGFuY2UhIClcbiAgICAgICAgaWYgKCAhc3RhdGUgKSByZXR1cm5cblxuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZSggc3RhdGUgKVxuICAgIH1cblxuICAgIHBhZ2luYXRlU3RhdGUoIGlkOiBzdHJpbmcgKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIGl0ZW1zUGVyUGFnZTogdGhpcy5fcGFnZUNvbmZpZy5wYWdlU2l6ZSxcbiAgICAgICAgICAgIGN1cnJlbnRQYWdlOiB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VOdW1iZXIsXG4gICAgICAgICAgICB0b3RhbEl0ZW1zOiB0aGlzLl90b3RhbFJvd0NvdW50XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRQYWdpbmdJbmZvUmVxdWVzdCggcXVlcnk/OiBzdHJpbmcgKTogUGFnaW5nSW5mb1JlcXVlc3Qge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcXVlcnksXG4gICAgICAgICAgICBwYWdlTnVtYmVyOiB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VOdW1iZXIsXG4gICAgICAgICAgICBwYWdlUm93Q291bnQ6ICB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VTaXplLFxuICAgICAgICAgICAgc29ydENvbHVtbjogdGhpcy5zb3J0QWN0aXZlLFxuICAgICAgICAgICAgc29ydERpcmVjdGlvbjogdGhpcy5zb3J0RGlyZWN0aW9uXG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -41,17 +41,18 @@ export class RowListBase extends PaginationBase {
41
41
  .then(res => {
42
42
  inProgress.progress();
43
43
  return this.completedRowListPage();
44
+ })
45
+ .then(() => {
46
+ // console.log('complete',this.isLoading)
47
+ inProgress.complete();
48
+ this.isLoading = false;
49
+ this.changeDetectorRef.detectChanges();
44
50
  })
45
51
  .catch((err) => {
46
52
  // console.warn(err)
47
53
  if (err instanceof Aborted)
48
54
  return;
49
55
  this.loadRowListPageFailed(err);
50
- })
51
- .finally(() => {
52
- inProgress.complete();
53
- this.isLoading = false;
54
- this.changeDetectorRef.detectChanges();
55
56
  });
56
57
  }
57
58
  loadRowList() {
@@ -79,6 +80,8 @@ export class RowListBase extends PaginationBase {
79
80
  console.warn(error);
80
81
  this._rows = [];
81
82
  this._totalRowCount = 0;
83
+ this.isLoading = false;
84
+ this.changeDetectorRef.detectChanges();
82
85
  }
83
86
  refresh() {
84
87
  return this.refreshRowList();
@@ -119,4 +122,4 @@ class InProgress {
119
122
  return this._cancelled;
120
123
  }
121
124
  }
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWxpc3QuYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25yLW5neC1jb21wb25lbnQtbGliL3NyYy9kaXJlY3RpdmVzL3Jvdy1saXN0LmJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFHbkQsTUFBTSxPQUFnQixXQUF1QixTQUFRLGNBQWlCO0lBRHRFOztRQUVJLHFCQUFnQixHQUFHLE1BQU0sQ0FBRSxnQkFBZ0IsQ0FBRSxDQUFBO1FBQzdDLHNCQUFpQixHQUFHLE1BQU0sQ0FBRSxpQkFBaUIsQ0FBRSxDQUFBO1FBRXJDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQTtRQUUvQyxlQUFVLEdBQUcsS0FBSyxDQUFBO1FBUWxCLFVBQUssR0FBUSxFQUFFLENBQUE7UUFJZixnQkFBVyxHQUFHLElBQUksVUFBVSxFQUFFLENBQUE7S0ErRXpDO0lBMUZHLElBQUksU0FBUyxLQUFLLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQSxDQUFDLENBQUM7SUFDMUMsSUFBSSxTQUFTLENBQUUsQ0FBVTtRQUNyQixJQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVTtZQUFHLE9BQU07UUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUE7UUFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUUsQ0FBQyxDQUFFLENBQUE7SUFDbEMsQ0FBQztJQUdELElBQUksSUFBSSxLQUFV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QUM7K0dBaEdpQixXQUFXO21HQUFYLFdBQVc7OzRGQUFYLFdBQVc7a0JBRGhDLFNBQVM7OEJBS0ksZUFBZTtzQkFBeEIsTUFBTTs7QUErRlgsTUFBTSxVQUFVO0lBQWhCO1FBQ1ksZUFBVSxHQUFHLEtBQUssQ0FBQTtRQUNsQixlQUFVLEdBQUcsS0FBSyxDQUFBO0lBd0I5QixDQUFDO0lBdEJHLFFBQVE7UUFDSixJQUFLLElBQUksQ0FBQyxXQUFXO1lBQUcsT0FBTTtRQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQTtJQUMxQixDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUssSUFBSSxDQUFDLFdBQVc7WUFBRyxPQUFNO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFBO0lBQzFCLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSyxJQUFJLENBQUMsV0FBVztZQUFHLE9BQU07UUFDOUIsSUFBSyxJQUFJLENBQUMsV0FBVztZQUFHLE1BQU0sSUFBSSxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtJQUNyRSxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFBO0lBQzFCLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUE7SUFDMUIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IFBhZ2VTdGF0ZVNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvcGFnZS1zdGF0ZS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBBYm9ydGVkLCBPYnNlcnZhYmxlQWJvcnRlciB9IGZyb20gXCIuLi91dGlscy9yb3ctbGlzdC51dGlsXCI7XG5pbXBvcnQgeyBQYWdpbmF0aW9uQmFzZSB9IGZyb20gXCIuL3BhZ2luYXRpb24uYmFzZVwiO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSb3dMaXN0QmFzZTxGLFIsTD1hbnk+IGV4dGVuZHMgUGFnaW5hdGlvbkJhc2U8Rj4ge1xuICAgIHBhZ2VTdGF0ZVNlcnZpY2UgPSBpbmplY3QoIFBhZ2VTdGF0ZVNlcnZpY2UgKVxuICAgIGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KCBDaGFuZ2VEZXRlY3RvclJlZiApXG5cbiAgICBAT3V0cHV0KCkgaXNMb2FkaW5nQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpXG4gICAgXG4gICAgcHJpdmF0ZSBfaXNMb2FkaW5nID0gZmFsc2VcbiAgICBnZXQgaXNMb2FkaW5nKCkgeyByZXR1cm4gdGhpcy5faXNMb2FkaW5nIH1cbiAgICBzZXQgaXNMb2FkaW5nKCB2OiBib29sZWFuICkgeyBcbiAgICAgICAgaWYgKCB2ID09IHRoaXMuX2lzTG9hZGluZyApIHJldHVybiAgICAgICAgXG4gICAgICAgIHRoaXMuX2lzTG9hZGluZyA9IHYgXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nQ2hhbmdlLmVtaXQoIHYgKVxuICAgIH0gIFxuXG4gICAgcHJpdmF0ZSBfcm93czogUltdID0gW11cbiAgICBnZXQgcm93cygpOiBSW10geyByZXR1cm4gdGhpcy5fcm93cyB9XG5cbiAgICBwcml2YXRlIF9sb2FkUm93TGlzdFJlcXVlc3Q/OiBPYnNlcnZhYmxlQWJvcnRlcjxMPiBcbiAgICBwcml2YXRlIF9pblByb2dyZXNzID0gbmV3IEluUHJvZ3Jlc3MoKVxuXG4gICAgcmVmcmVzaFJvd0xpc3QoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIC8vIGNvbnNvbGUud2FybignUm93TGlzdEJhc2UucmVmcmVzaFJvd0xpc3QnKVxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWVcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKClcblxuICAgICAgICBpZiAoICF0aGlzLl9pblByb2dyZXNzLmlzQ29tcGxldGVkICkgdGhpcy5faW5Qcm9ncmVzcy5jYW5jZWwoKVxuICAgICAgICBsZXQgaW5Qcm9ncmVzcyA9IHRoaXMuX2luUHJvZ3Jlc3MgPSBuZXcgSW5Qcm9ncmVzcygpXG5cbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpXG4gICAgICAgICAgICAudGhlbiggKCkgPT4geyBcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkUm93TGlzdCgpIFxuICAgICAgICAgICAgfSApXG4gICAgICAgICAgICAudGhlbiggKCByZXMgKSA9PiB7IFxuICAgICAgICAgICAgICAgIGluUHJvZ3Jlc3MucHJvZ3Jlc3MoKVxuICAgICAgICAgICAgICAgIGlmICggIXJlcyApIHJldHVyblxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VSb3dMaXN0KCByZXMgKSBcbiAgICAgICAgICAgIH0gKVxuICAgICAgICAgICAgLnRoZW4oIHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgaW5Qcm9ncmVzcy5wcm9ncmVzcygpXG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29tcGxldGVkUm93TGlzdFBhZ2UoKVxuICAgICAgICAgICAgfSApXG4gICAgICAgICAgICAuY2F0Y2goICggZXJyICkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUud2FybihlcnIpXG4gICAgICAgICAgICAgICAgaWYgKCBlcnIgaW5zdGFuY2VvZiBBYm9ydGVkICkgcmV0dXJuXG5cbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRSb3dMaXN0UGFnZUZhaWxlZCggZXJyIClcbiAgICAgICAgICAgIH0gKVxuICAgICAgICAgICAgLmZpbmFsbHkoICgpID0+IHtcbiAgICAgICAgICAgICAgICBpblByb2dyZXNzLmNvbXBsZXRlKClcblxuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2VcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKVxuICAgICAgICAgICAgfSApXG4gICAgfVxuXG4gICAgbG9hZFJvd0xpc3QoKTogUHJvbWlzZTxMPiB7XG4gICAgICAgIGlmICggdGhpcy5fbG9hZFJvd0xpc3RSZXF1ZXN0IClcbiAgICAgICAgICAgIHRoaXMuX2xvYWRSb3dMaXN0UmVxdWVzdC5hYm9ydCgpXG5cbiAgICAgICAgdGhpcy5fbG9hZFJvd0xpc3RSZXF1ZXN0ID0gbmV3IE9ic2VydmFibGVBYm9ydGVyPEw+KCAoKSA9PiB7ICAgICAgICBcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZldGNoUm93TGlzdFBhZ2UoKVxuICAgICAgICB9IClcblxuICAgICAgICByZXR1cm4gdGhpcy5fbG9hZFJvd0xpc3RSZXF1ZXN0LnByb21pc2VcbiAgICB9XG5cbiAgICBhYnN0cmFjdCBmZXRjaFJvd0xpc3RQYWdlKCk6IE9ic2VydmFibGU8TD4gXG5cbiAgICBwYXJzZVJvd0xpc3QoIHJlc3VsdDogTCApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSggcmVzdWx0IClcbiAgICAgICAgICAgIC50aGVuKCByZXMgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3RvdGFsUm93Q291bnQgPSB0aGlzLnBhcnNlVG90YWxSb3dDb3VudCggcmVzIClcbiAgICAgICAgICAgICAgICB0aGlzLl9yb3dzID0gdGhpcy5wYXJzZVJvd3MoIHJlcyApXG4gICAgICAgICAgICB9IClcbiAgICB9XG5cbiAgICBhYnN0cmFjdCBwYXJzZVJvd3MoIHJlczogTCApOiBSW10gXG4gICAgXG4gICAgcGFyc2VUb3RhbFJvd0NvdW50KCByZXM6IEwgKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCAndG90YWxSb3dDb3VudCcgaW4gKHJlcyBhcyBhbnkpICkgcmV0dXJuIChyZXMgYXMgYW55KVsgJ3RvdGFsUm93Q291bnQnIF1cblxuICAgICAgICB0aHJvdyAnTWlzc2luZyByZXMudG90YWxSb3dDb3VudCwgbWlnaHQgbmVlZCB0byBvdmVycmlkZSBSb3dMaXN0QmFzZS5wYXJzZVRvdGFsUm93Q291bnQnXG4gICAgfVxuXG4gICAgY29tcGxldGVkUm93TGlzdFBhZ2UoKSB7fVxuXG4gICAgbG9hZFJvd0xpc3RQYWdlRmFpbGVkKCBlcnJvcjogYW55ICkge1xuICAgICAgICBjb25zb2xlLndhcm4oIGVycm9yIClcbiAgICAgICAgdGhpcy5fcm93cyA9IFtdXG4gICAgICAgIHRoaXMuX3RvdGFsUm93Q291bnQgPSAwXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlZnJlc2goKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlZnJlc2hSb3dMaXN0KClcbiAgICB9XG59XG5cbmNsYXNzIEluUHJvZ3Jlc3Mge1xuICAgIHByaXZhdGUgX2NvbXBsZXRlZCA9IGZhbHNlXG4gICAgcHJpdmF0ZSBfY2FuY2VsbGVkID0gZmFsc2VcblxuICAgIGNvbXBsZXRlKCkge1xuICAgICAgICBpZiAoIHRoaXMuaXNDYW5jZWxsZWQgKSByZXR1cm5cbiAgICAgICAgdGhpcy5fY29tcGxldGVkID0gdHJ1ZVxuICAgIH1cblxuICAgIGNhbmNlbCgpIHtcbiAgICAgICAgaWYgKCB0aGlzLmlzQ29tcGxldGVkICkgcmV0dXJuXG4gICAgICAgIHRoaXMuX2NhbmNlbGxlZCA9IHRydWUgICAgICAgIFxuICAgIH1cblxuICAgIHByb2dyZXNzKCkge1xuICAgICAgICBpZiAoIHRoaXMuaXNDb21wbGV0ZWQgKSByZXR1cm5cbiAgICAgICAgaWYgKCB0aGlzLmlzQ2FuY2VsbGVkICkgdGhyb3cgbmV3IEFib3J0ZWQoJ0luUHJvZ3Jlc3MgY2FuY2VsbGVkJylcbiAgICB9XG5cbiAgICBnZXQgaXNDb21wbGV0ZWQoKSB7ICAgICAgICBcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbXBsZXRlZFxuICAgIH1cblxuICAgIGdldCBpc0NhbmNlbGxlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NhbmNlbGxlZFxuICAgIH1cbn1cbiJdfQ==
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWxpc3QuYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25yLW5neC1jb21wb25lbnQtbGliL3NyYy9kaXJlY3RpdmVzL3Jvdy1saXN0LmJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFHbkQsTUFBTSxPQUFnQixXQUF1QixTQUFRLGNBQWlCO0lBRHRFOztRQUVJLHFCQUFnQixHQUFHLE1BQU0sQ0FBRSxnQkFBZ0IsQ0FBRSxDQUFBO1FBQzdDLHNCQUFpQixHQUFHLE1BQU0sQ0FBRSxpQkFBaUIsQ0FBRSxDQUFBO1FBRXJDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQTtRQUUvQyxlQUFVLEdBQUcsS0FBSyxDQUFBO1FBUWxCLFVBQUssR0FBUSxFQUFFLENBQUE7UUFJZixnQkFBVyxHQUFHLElBQUksVUFBVSxFQUFFLENBQUE7S0FrRnpDO0lBN0ZHLElBQUksU0FBUyxLQUFLLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQSxDQUFDLENBQUM7SUFDMUMsSUFBSSxTQUFTLENBQUUsQ0FBVTtRQUNyQixJQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVTtZQUFHLE9BQU07UUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUE7UUFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUUsQ0FBQyxDQUFFLENBQUE7SUFDbEMsQ0FBQztJQUdELElBQUksSUFBSSxLQUFV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LGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQzFDLENBQUM7SUFFUyxPQUFPO1FBQ2IsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUE7SUFDaEMsQ0FBQzsrR0FuR2lCLFdBQVc7bUdBQVgsV0FBVzs7NEZBQVgsV0FBVztrQkFEaEMsU0FBUzs4QkFLSSxlQUFlO3NCQUF4QixNQUFNOztBQWtHWCxNQUFNLFVBQVU7SUFBaEI7UUFDWSxlQUFVLEdBQUcsS0FBSyxDQUFBO1FBQ2xCLGVBQVUsR0FBRyxLQUFLLENBQUE7SUF3QjlCLENBQUM7SUF0QkcsUUFBUTtRQUNKLElBQUssSUFBSSxDQUFDLFdBQVc7WUFBRyxPQUFNO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFBO0lBQzFCLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSyxJQUFJLENBQUMsV0FBVztZQUFHLE9BQU07UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUE7SUFDMUIsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFLLElBQUksQ0FBQyxXQUFXO1lBQUcsT0FBTTtRQUM5QixJQUFLLElBQUksQ0FBQyxXQUFXO1lBQUcsTUFBTSxJQUFJLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO0lBQ3JFLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUE7SUFDMUIsQ0FBQztJQUVELElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQTtJQUMxQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgUGFnZVN0YXRlU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9wYWdlLXN0YXRlLnNlcnZpY2VcIjtcbmltcG9ydCB7IEFib3J0ZWQsIE9ic2VydmFibGVBYm9ydGVyIH0gZnJvbSBcIi4uL3V0aWxzL3Jvdy1saXN0LnV0aWxcIjtcbmltcG9ydCB7IFBhZ2luYXRpb25CYXNlIH0gZnJvbSBcIi4vcGFnaW5hdGlvbi5iYXNlXCI7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJvd0xpc3RCYXNlPEYsUixMPWFueT4gZXh0ZW5kcyBQYWdpbmF0aW9uQmFzZTxGPiB7XG4gICAgcGFnZVN0YXRlU2VydmljZSA9IGluamVjdCggUGFnZVN0YXRlU2VydmljZSApXG4gICAgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoIENoYW5nZURldGVjdG9yUmVmIClcblxuICAgIEBPdXRwdXQoKSBpc0xvYWRpbmdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KClcbiAgICBcbiAgICBwcml2YXRlIF9pc0xvYWRpbmcgPSBmYWxzZVxuICAgIGdldCBpc0xvYWRpbmcoKSB7IHJldHVybiB0aGlzLl9pc0xvYWRpbmcgfVxuICAgIHNldCBpc0xvYWRpbmcoIHY6IGJvb2xlYW4gKSB7IFxuICAgICAgICBpZiAoIHYgPT0gdGhpcy5faXNMb2FkaW5nICkgcmV0dXJuICAgICAgICBcbiAgICAgICAgdGhpcy5faXNMb2FkaW5nID0gdiBcbiAgICAgICAgdGhpcy5pc0xvYWRpbmdDaGFuZ2UuZW1pdCggdiApXG4gICAgfSAgXG5cbiAgICBwcml2YXRlIF9yb3dzOiBSW10gPSBbXVxuICAgIGdldCByb3dzKCk6IFJbXSB7IHJldHVybiB0aGlzLl9yb3dzIH1cblxuICAgIHByaXZhdGUgX2xvYWRSb3dMaXN0UmVxdWVzdD86IE9ic2VydmFibGVBYm9ydGVyPEw+IFxuICAgIHByaXZhdGUgX2luUHJvZ3Jlc3MgPSBuZXcgSW5Qcm9ncmVzcygpXG5cbiAgICByZWZyZXNoUm93TGlzdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgLy8gY29uc29sZS53YXJuKCdSb3dMaXN0QmFzZS5yZWZyZXNoUm93TGlzdCcpXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZVxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKVxuXG4gICAgICAgIGlmICggIXRoaXMuX2luUHJvZ3Jlc3MuaXNDb21wbGV0ZWQgKSB0aGlzLl9pblByb2dyZXNzLmNhbmNlbCgpXG4gICAgICAgIGxldCBpblByb2dyZXNzID0gdGhpcy5faW5Qcm9ncmVzcyA9IG5ldyBJblByb2dyZXNzKClcblxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKClcbiAgICAgICAgICAgIC50aGVuKCAoKSA9PiB7IFxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmxvYWRSb3dMaXN0KCkgXG4gICAgICAgICAgICB9IClcbiAgICAgICAgICAgIC50aGVuKCAoIHJlcyApID0+IHsgXG4gICAgICAgICAgICAgICAgaW5Qcm9ncmVzcy5wcm9ncmVzcygpXG4gICAgICAgICAgICAgICAgaWYgKCAhcmVzICkgcmV0dXJuXG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wYXJzZVJvd0xpc3QoIHJlcyApIFxuICAgICAgICAgICAgfSApXG4gICAgICAgICAgICAudGhlbiggcmVzID0+IHtcbiAgICAgICAgICAgICAgICBpblByb2dyZXNzLnByb2dyZXNzKClcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jb21wbGV0ZWRSb3dMaXN0UGFnZSgpXG4gICAgICAgICAgICB9IClcbiAgICAgICAgICAgIC50aGVuKCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ2NvbXBsZXRlJyx0aGlzLmlzTG9hZGluZylcbiAgICAgICAgICAgICAgICBpblByb2dyZXNzLmNvbXBsZXRlKClcblxuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2VcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKVxuICAgICAgICAgICAgfSApXG4gICAgICAgICAgICAuY2F0Y2goICggZXJyICkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUud2FybihlcnIpXG4gICAgICAgICAgICAgICAgaWYgKCBlcnIgaW5zdGFuY2VvZiBBYm9ydGVkICkgcmV0dXJuXG5cbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRSb3dMaXN0UGFnZUZhaWxlZCggZXJyIClcbiAgICAgICAgICAgIH0gKVxuICAgIH1cblxuICAgIGxvYWRSb3dMaXN0KCk6IFByb21pc2U8TD4ge1xuICAgICAgICBpZiAoIHRoaXMuX2xvYWRSb3dMaXN0UmVxdWVzdCApXG4gICAgICAgICAgICB0aGlzLl9sb2FkUm93TGlzdFJlcXVlc3QuYWJvcnQoKVxuXG4gICAgICAgIHRoaXMuX2xvYWRSb3dMaXN0UmVxdWVzdCA9IG5ldyBPYnNlcnZhYmxlQWJvcnRlcjxMPiggKCkgPT4geyAgICAgICAgXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5mZXRjaFJvd0xpc3RQYWdlKClcbiAgICAgICAgfSApXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvYWRSb3dMaXN0UmVxdWVzdC5wcm9taXNlXG4gICAgfVxuXG4gICAgYWJzdHJhY3QgZmV0Y2hSb3dMaXN0UGFnZSgpOiBPYnNlcnZhYmxlPEw+IFxuXG4gICAgcGFyc2VSb3dMaXN0KCByZXN1bHQ6IEwgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoIHJlc3VsdCApXG4gICAgICAgICAgICAudGhlbiggcmVzID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl90b3RhbFJvd0NvdW50ID0gdGhpcy5wYXJzZVRvdGFsUm93Q291bnQoIHJlcyApXG4gICAgICAgICAgICAgICAgdGhpcy5fcm93cyA9IHRoaXMucGFyc2VSb3dzKCByZXMgKVxuICAgICAgICAgICAgfSApXG4gICAgfVxuXG4gICAgYWJzdHJhY3QgcGFyc2VSb3dzKCByZXM6IEwgKTogUltdIFxuICAgIFxuICAgIHBhcnNlVG90YWxSb3dDb3VudCggcmVzOiBMICk6IG51bWJlciB7XG4gICAgICAgIGlmICggJ3RvdGFsUm93Q291bnQnIGluIChyZXMgYXMgYW55KSApIHJldHVybiAocmVzIGFzIGFueSlbICd0b3RhbFJvd0NvdW50JyBdXG5cbiAgICAgICAgdGhyb3cgJ01pc3NpbmcgcmVzLnRvdGFsUm93Q291bnQsIG1pZ2h0IG5lZWQgdG8gb3ZlcnJpZGUgUm93TGlzdEJhc2UucGFyc2VUb3RhbFJvd0NvdW50J1xuICAgIH1cblxuICAgIGNvbXBsZXRlZFJvd0xpc3RQYWdlKCkge31cblxuICAgIGxvYWRSb3dMaXN0UGFnZUZhaWxlZCggZXJyb3I6IGFueSApIHtcbiAgICAgICAgY29uc29sZS53YXJuKCBlcnJvciApXG4gICAgICAgIHRoaXMuX3Jvd3MgPSBbXVxuICAgICAgICB0aGlzLl90b3RhbFJvd0NvdW50ID0gMFxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlZnJlc2goKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlZnJlc2hSb3dMaXN0KClcbiAgICB9XG59XG5cbmNsYXNzIEluUHJvZ3Jlc3Mge1xuICAgIHByaXZhdGUgX2NvbXBsZXRlZCA9IGZhbHNlXG4gICAgcHJpdmF0ZSBfY2FuY2VsbGVkID0gZmFsc2VcblxuICAgIGNvbXBsZXRlKCkge1xuICAgICAgICBpZiAoIHRoaXMuaXNDYW5jZWxsZWQgKSByZXR1cm5cbiAgICAgICAgdGhpcy5fY29tcGxldGVkID0gdHJ1ZVxuICAgIH1cblxuICAgIGNhbmNlbCgpIHtcbiAgICAgICAgaWYgKCB0aGlzLmlzQ29tcGxldGVkICkgcmV0dXJuXG4gICAgICAgIHRoaXMuX2NhbmNlbGxlZCA9IHRydWUgICAgICAgIFxuICAgIH1cblxuICAgIHByb2dyZXNzKCkge1xuICAgICAgICBpZiAoIHRoaXMuaXNDb21wbGV0ZWQgKSByZXR1cm5cbiAgICAgICAgaWYgKCB0aGlzLmlzQ2FuY2VsbGVkICkgdGhyb3cgbmV3IEFib3J0ZWQoJ0luUHJvZ3Jlc3MgY2FuY2VsbGVkJylcbiAgICB9XG5cbiAgICBnZXQgaXNDb21wbGV0ZWQoKSB7ICAgICAgICBcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbXBsZXRlZFxuICAgIH1cblxuICAgIGdldCBpc0NhbmNlbGxlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NhbmNlbGxlZFxuICAgIH1cbn1cbiJdfQ==