@lucca-front/ng 10.0.4 → 10.0.6
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.
- package/esm2020/date/lib/calendar/calendar-input.component.mjs +4 -1
- package/esm2020/date/lib/calendar/calendar-input.module.mjs +4 -6
- package/fesm2015/lucca-front-ng-date.mjs +3 -2
- package/fesm2015/lucca-front-ng-date.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-date.mjs +3 -2
- package/fesm2020/lucca-front-ng-date.mjs.map +1 -1
- package/package.json +3 -3
- package/schematics/lib/scss-ast.js +10 -9
- package/schematics/migrations/css-vars/css-class-registry.js +56 -57
- package/schematics/migrations/css-vars/migration.js +6 -4
- package/schematics/migrations/css-vars/migration.spec.js +2 -1
|
@@ -3,6 +3,7 @@ import { ChangeDetectionStrategy, Component, forwardRef, Inject, Input, LOCALE_I
|
|
|
3
3
|
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
4
|
import { ELuDateGranularity } from '@lucca-front/ng/core';
|
|
5
5
|
import { ALuInput } from '@lucca-front/ng/input';
|
|
6
|
+
import { LuCalendarItemFactory } from './calendar-item.factory';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "./calendar-item.factory";
|
|
8
9
|
import * as i2 from "@lucca-front/ng/core";
|
|
@@ -299,6 +300,7 @@ LuCalendarInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0
|
|
|
299
300
|
useExisting: LuCalendarInputComponent,
|
|
300
301
|
multi: true,
|
|
301
302
|
},
|
|
303
|
+
LuCalendarItemFactory,
|
|
302
304
|
], usesInheritance: true, ngImport: i0, template: "<section class=\"calendar\">\r\n\t<header class=\"calendar-header\">\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"previous()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_west</span>\r\n\t\t\t<span class=\"u-mask\">Previous</span>\r\n\t\t</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-date\" (click)=\"increaseGranularity()\">{{ header.label }}</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"next()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_east</span>\r\n\t\t\t<span class=\"u-mask\">Next</span>\r\n\t\t</button>\r\n\t</header>\r\n\t<section class=\"calendar-labels\" [ngClass]=\"mod\">\r\n\t\t<div class=\"calendar-labels-item\" *ngFor=\"let label of labels\">{{ label }}</div>\r\n\t</section>\r\n\t<section class=\"calendar-grid\" [ngClass]=\"mod\">\r\n\t\t<button\r\n\t\t\ttype=\"button\"\r\n\t\t\t*ngFor=\"let item of items; trackBy: trackBy\"\r\n\t\t\tclass=\"calendar-grid-item\"\r\n\t\t\t[ngClass]=\"item.mods\"\r\n\t\t\t[disabled]=\"item.isDisabled\"\r\n\t\t\t(click)=\"select(item)\"\r\n\t\t>\r\n\t\t\t<div class=\"calendar-grid-item-content\">{{ item.label }}</div>\r\n\t\t</button>\r\n\t</section>\r\n</section>\r\n", styles: [":root{--components-user-picture-sizes-smallest-font-size: .5em;--components-user-picture-sizes-smallest-image-size: 2.5em;--components-user-picture-sizes-smaller-font-size: .65em;--components-user-picture-sizes-smaller-image-size: 2.5em;--components-user-picture-sizes-small-font-size: .8em;--components-user-picture-sizes-small-image-size: 2.5em;--components-user-picture-sizes-standard-font-size: 1em;--components-user-picture-sizes-standard-image-size: 2.5em;--components-user-picture-sizes-large-font-size: 1.35em;--components-user-picture-sizes-large-image-size: 2.5em;--components-user-picture-sizes-larger-font-size: 1.8em;--components-user-picture-sizes-larger-image-size: 2.5em;--components-user-picture-sizes-largest-font-size: 3em;--components-user-picture-sizes-largest-image-size: 2.5em}:root{--components-options-item-padding-vertical: .5rem;--components-options-item-padding-horizontal: .5rem;--components-options-item-multiple-padding: 2rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: var(--commons-border-radius);--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: var(--spacings-standard)}.calendar{background-color:var(--colors-white-color);width:var(--components-calendar-width);padding:var(--spacings-smaller)}:host-context(.mod-block) .calendar{width:auto;max-width:var(--components-calendar-width)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.calendar-header-nav{background:transparent;border:none;cursor:pointer}.calendar-header-nav .lucca-icon{font-size:.9rem;color:var(--palettes-grey-900)}.calendar-header-date{font-weight:600;color:var(--palettes-grey-900);font-size:var(--sizes-big-font-size);padding:0;background:transparent;border:none;cursor:pointer}.calendar-labels{display:none}.calendar-labels.mod-dailyView{display:flex;align-items:stretch;flex-wrap:wrap;text-align:center;font-size:var(--sizes-small-font-size);color:var(--palettes-primary-700);margin-bottom:var(--spacings-smaller)}.calendar-labels.mod-dailyView .calendar-labels-item{width:14.1428571429%}.calendar-grid{display:flex;text-align:center;align-self:stretch;flex-wrap:wrap}.calendar-grid.mod-dailyView .calendar-grid-item{width:14.1428571429%}.calendar-grid.mod-monthlyView .calendar-grid-item,.calendar-grid.mod-yearlyView .calendar-grid-item{width:33%}.calendar-grid-item{height:2.4rem;border:none;cursor:pointer;background:transparent;position:relative;padding:0;outline:none}.calendar-grid-item.is-previousMonth,.calendar-grid-item.is-nextMonth,.calendar-grid-item.is-disabled{color:var(--palettes-grey-500)}.calendar-grid-item.is-today{color:var(--palettes-grey-800)}.calendar-grid-item.is-today:before{content:\"\";z-index:2;box-shadow:inset 0 0 0 2px var(--palettes-primary-300);position:absolute;top:0;bottom:0;left:0;right:0;border-radius:2rem}.calendar-grid-item:hover .calendar-grid-item-content{background:var(--palettes-grey-100)}.calendar-grid-item.is-active .calendar-grid-item-content{background:var(--palettes-primary-700);color:var(--palettes-primary-text)}.calendar-grid-item.is-active.is-today .calendar-grid-item-content:after{content:\"\";z-index:1;color:var(--palettes-primary-700);box-shadow:inset 0 0 0 4px #fff;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:2rem}.calendar-grid-item.is-disabled:hover .calendar-grid-item-content{pointer-events:none;background-color:#fff}.calendar-grid-item-content{position:relative;height:2.4rem;width:100%;line-height:2.4rem;border-radius:2rem}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
303
305
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputComponent, decorators: [{
|
|
304
306
|
type: Component,
|
|
@@ -313,6 +315,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImpor
|
|
|
313
315
|
useExisting: LuCalendarInputComponent,
|
|
314
316
|
multi: true,
|
|
315
317
|
},
|
|
318
|
+
LuCalendarItemFactory,
|
|
316
319
|
], template: "<section class=\"calendar\">\r\n\t<header class=\"calendar-header\">\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"previous()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_west</span>\r\n\t\t\t<span class=\"u-mask\">Previous</span>\r\n\t\t</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-date\" (click)=\"increaseGranularity()\">{{ header.label }}</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"next()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_east</span>\r\n\t\t\t<span class=\"u-mask\">Next</span>\r\n\t\t</button>\r\n\t</header>\r\n\t<section class=\"calendar-labels\" [ngClass]=\"mod\">\r\n\t\t<div class=\"calendar-labels-item\" *ngFor=\"let label of labels\">{{ label }}</div>\r\n\t</section>\r\n\t<section class=\"calendar-grid\" [ngClass]=\"mod\">\r\n\t\t<button\r\n\t\t\ttype=\"button\"\r\n\t\t\t*ngFor=\"let item of items; trackBy: trackBy\"\r\n\t\t\tclass=\"calendar-grid-item\"\r\n\t\t\t[ngClass]=\"item.mods\"\r\n\t\t\t[disabled]=\"item.isDisabled\"\r\n\t\t\t(click)=\"select(item)\"\r\n\t\t>\r\n\t\t\t<div class=\"calendar-grid-item-content\">{{ item.label }}</div>\r\n\t\t</button>\r\n\t</section>\r\n</section>\r\n", styles: [":root{--components-user-picture-sizes-smallest-font-size: .5em;--components-user-picture-sizes-smallest-image-size: 2.5em;--components-user-picture-sizes-smaller-font-size: .65em;--components-user-picture-sizes-smaller-image-size: 2.5em;--components-user-picture-sizes-small-font-size: .8em;--components-user-picture-sizes-small-image-size: 2.5em;--components-user-picture-sizes-standard-font-size: 1em;--components-user-picture-sizes-standard-image-size: 2.5em;--components-user-picture-sizes-large-font-size: 1.35em;--components-user-picture-sizes-large-image-size: 2.5em;--components-user-picture-sizes-larger-font-size: 1.8em;--components-user-picture-sizes-larger-image-size: 2.5em;--components-user-picture-sizes-largest-font-size: 3em;--components-user-picture-sizes-largest-image-size: 2.5em}:root{--components-options-item-padding-vertical: .5rem;--components-options-item-padding-horizontal: .5rem;--components-options-item-multiple-padding: 2rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: var(--commons-border-radius);--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: var(--spacings-standard)}.calendar{background-color:var(--colors-white-color);width:var(--components-calendar-width);padding:var(--spacings-smaller)}:host-context(.mod-block) .calendar{width:auto;max-width:var(--components-calendar-width)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.calendar-header-nav{background:transparent;border:none;cursor:pointer}.calendar-header-nav .lucca-icon{font-size:.9rem;color:var(--palettes-grey-900)}.calendar-header-date{font-weight:600;color:var(--palettes-grey-900);font-size:var(--sizes-big-font-size);padding:0;background:transparent;border:none;cursor:pointer}.calendar-labels{display:none}.calendar-labels.mod-dailyView{display:flex;align-items:stretch;flex-wrap:wrap;text-align:center;font-size:var(--sizes-small-font-size);color:var(--palettes-primary-700);margin-bottom:var(--spacings-smaller)}.calendar-labels.mod-dailyView .calendar-labels-item{width:14.1428571429%}.calendar-grid{display:flex;text-align:center;align-self:stretch;flex-wrap:wrap}.calendar-grid.mod-dailyView .calendar-grid-item{width:14.1428571429%}.calendar-grid.mod-monthlyView .calendar-grid-item,.calendar-grid.mod-yearlyView .calendar-grid-item{width:33%}.calendar-grid-item{height:2.4rem;border:none;cursor:pointer;background:transparent;position:relative;padding:0;outline:none}.calendar-grid-item.is-previousMonth,.calendar-grid-item.is-nextMonth,.calendar-grid-item.is-disabled{color:var(--palettes-grey-500)}.calendar-grid-item.is-today{color:var(--palettes-grey-800)}.calendar-grid-item.is-today:before{content:\"\";z-index:2;box-shadow:inset 0 0 0 2px var(--palettes-primary-300);position:absolute;top:0;bottom:0;left:0;right:0;border-radius:2rem}.calendar-grid-item:hover .calendar-grid-item-content{background:var(--palettes-grey-100)}.calendar-grid-item.is-active .calendar-grid-item-content{background:var(--palettes-primary-700);color:var(--palettes-primary-text)}.calendar-grid-item.is-active.is-today .calendar-grid-item-content:after{content:\"\";z-index:1;color:var(--palettes-primary-700);box-shadow:inset 0 0 0 4px #fff;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:2rem}.calendar-grid-item.is-disabled:hover .calendar-grid-item-content{pointer-events:none;background-color:#fff}.calendar-grid-item-content{position:relative;height:2.4rem;width:100%;line-height:2.4rem;border-radius:2rem}\n"] }]
|
|
317
320
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
|
318
321
|
type: Inject,
|
|
@@ -326,4 +329,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImpor
|
|
|
326
329
|
}], startOn: [{
|
|
327
330
|
type: Input
|
|
328
331
|
}] } });
|
|
329
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvZGF0ZS9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2RhdGUvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUcsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQWMsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUMzSixPQUFPLEVBQXlDLGFBQWEsRUFBRSxpQkFBaUIsRUFBK0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0SSxPQUFPLEVBQWtCLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztBQXNCakQsTUFBTSxPQUFPLHdCQUE0QixTQUFRLFFBQVc7SUF1QjNELFlBQ0Msa0JBQXFDLEVBQ3JDLFdBQW9DLEVBQ3BDLFNBQW9CLEVBQ08sT0FBZSxFQUNsQyxRQUFrQyxFQUNsQyxRQUEyQjtRQUVuQyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBSnZCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBMEI7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBbUI7UUExQjNCLGdCQUFXLEdBQXVCLGtCQUFrQixDQUFDLEdBQUcsQ0FBQztRQUN6RCxZQUFPLEdBQU0sSUFBSSxDQUFD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QUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzVDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDckUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxTQUFZLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSTtRQUN0RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNqRSxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDNUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDOUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyxD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U0FBUzt5R0EzQk4sd0JBQXdCLDBIQWJ6QjtRQUNWO1lBQ0MsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDO1lBQ3ZELEtBQUssRUFBRSxJQUFJO1NBQ1g7UUFDRDtZQUNDLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLFdBQVcsRUFBRSx3QkFBd0I7WUFDckMsS0FBSyxFQUFFLElBQUk7U0FDWDtLQUNELGlEQ3hCRixrdUNBNEJBOzJGREZhLHdCQUF3QjtrQkFsQnBDLFNBQVM7K0JBQ0MsYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNWOzRCQUNDLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHlCQUF5QixDQUFDOzRCQUN2RCxLQUFLLEVBQUUsSUFBSTt5QkFDWDt3QkFDRDs0QkFDQyxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVywwQkFBMEI7NEJBQ3JDLEtBQUssRUFBRSxJQUFJO3lCQUNYO3FCQUNEOzswQkE2QkMsTUFBTTsyQkFBQyxTQUFTOzZHQTFCVCxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybVN0eWxlLCBnZXRMb2NhbGVEYXlOYW1lcywgZ2V0TG9jYWxlRmlyc3REYXlPZldlZWssIFRyYW5zbGF0aW9uV2lkdGggfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgSW5qZWN0LCBJbnB1dCwgTE9DQUxFX0lELCBPbkluaXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBTHVEYXRlQWRhcHRlciwgRUx1RGF0ZUdyYW51bGFyaXR5IH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL2NvcmUnO1xyXG5pbXBvcnQgeyBBTHVJbnB1dCB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9pbnB1dCc7XHJcbmltcG9ydCB7IEx1Q2FsZW5kYXJJdGVtRmFjdG9yeSB9IGZyb20gJy4vY2FsZW5kYXItaXRlbS5mYWN0b3J5JztcclxuaW1wb3J0IHsgSUNhbGVuZGFySXRlbSB9IGZyb20gJy4vY2FsZW5kYXItaXRlbS5pbnRlcmZhY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdsdS1jYWxlbmRhcicsXHJcblx0dGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9jYWxlbmRhci1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG5cdHByb3ZpZGVyczogW1xyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTHVDYWxlbmRhcklucHV0Q29tcG9uZW50KSxcclxuXHRcdFx0bXVsdGk6IHRydWUsXHJcblx0XHR9LFxyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG5cdFx0XHR1c2VFeGlzdGluZzogTHVDYWxlbmRhcklucHV0Q29tcG9uZW50LFxyXG5cdFx0XHRtdWx0aTogdHJ1ZSxcclxuXHRcdH0sXHJcblx0XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEx1Q2FsZW5kYXJJbnB1dENvbXBvbmVudDxEPiBleHRlbmRzIEFMdUlucHV0PEQ+IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgVmFsaWRhdG9yIHtcclxuXHRASW5wdXQoKSBtaW4/OiBEO1xyXG5cdEBJbnB1dCgpIG1heD86IEQ7XHJcblx0QElucHV0KCkgZ3JhbnVsYXJpdHk6IEVMdURhdGVHcmFudWxhcml0eSA9IEVMdURhdGVHcmFudWxhcml0eS5kYXk7XHJcblx0QElucHV0KCkgc3RhcnRPbjogRCA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2VUb2RheSgpO1xyXG5cclxuXHR2aWV3R3JhbnVsYXJpdHk6IEVMdURhdGVHcmFudWxhcml0eTtcclxuXHRoZWFkZXI6IElDYWxlbmRhckl0ZW08RD47XHJcblx0aXRlbXM6IElDYWxlbmRhckl0ZW08RD5bXSA9IFtdO1xyXG5cdGdldCBtb2QoKSB7XHJcblx0XHRzd2l0Y2ggKHRoaXMudmlld0dyYW51bGFyaXR5KSB7XHJcblx0XHRcdGNhc2UgRUx1RGF0ZUdyYW51bGFyaXR5LnllYXI6XHJcblx0XHRcdFx0cmV0dXJuICdtb2QteWVhcmx5Vmlldyc7XHJcblx0XHRcdGNhc2UgRUx1RGF0ZUdyYW51bGFyaXR5Lm1vbnRoOlxyXG5cdFx0XHRcdHJldHVybiAnbW9kLW1vbnRobHlWaWV3JztcclxuXHRcdFx0Y2FzZSBFTHVEYXRlR3JhbnVsYXJpdHkuZGF5OlxyXG5cdFx0XHRkZWZhdWx0OlxyXG5cdFx0XHRcdHJldHVybiAnbW9kLWRhaWx5Vmlldyc7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyBkYWlseSB2aWV3XHJcblx0bGFiZWxzOiBzdHJpbmdbXSA9IFtdO1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0X2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuXHRcdF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuXHRcdF9yZW5kZXJlcjogUmVuZGVyZXIyLFxyXG5cdFx0QEluamVjdChMT0NBTEVfSUQpIHByaXZhdGUgX2xvY2FsZTogc3RyaW5nLFxyXG5cdFx0cHJpdmF0ZSBfZmFjdG9yeTogTHVDYWxlbmRhckl0ZW1GYWN0b3J5PEQ+LFxyXG5cdFx0cHJpdmF0ZSBfYWRhcHRlcjogQUx1RGF0ZUFkYXB0ZXI8RD4sXHJcblx0KSB7XHJcblx0XHRzdXBlcihfY2hhbmdlRGV0ZWN0b3JSZWYsIF9lbGVtZW50UmVmLCBfcmVuZGVyZXIpO1xyXG5cdH1cclxuXHRuZ09uSW5pdCgpIHtcclxuXHRcdHRoaXMudmlld0dyYW51bGFyaXR5ID0gdGhpcy5ncmFudWxhcml0eTtcclxuXHRcdHRoaXMuaW5pdERheUxhYmVscygpO1xyXG5cdH1cclxuXHRvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlPzogRCkge1xyXG5cdFx0Y29uc3QgZGF0ZSA9IHZhbHVlICYmIHRoaXMuX2FkYXB0ZXIuaXNWYWxpZCh2YWx1ZSkgPyB0aGlzLl9hZGFwdGVyLmNsb25lKHZhbHVlKSA6IHRoaXMuc3RhcnRPbjtcclxuXHRcdHRoaXMuaGVhZGVyID0gdGhpcy5fZmFjdG9yeS5mb3JnZU1vbnRoKGRhdGUpO1xyXG5cdFx0c3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XHJcblx0fVxyXG5cdGluaXREYXlMYWJlbHMoKSB7XHJcblx0XHR0aGlzLmxhYmVscyA9IFsuLi5nZXRMb2NhbGVEYXlOYW1lcyh0aGlzLl9sb2NhbGUsIEZvcm1TdHlsZS5TdGFuZGFsb25lLCBUcmFuc2xhdGlvbldpZHRoLk5hcnJvdyldO1xyXG5cdFx0aWYgKGdldExvY2FsZUZpcnN0RGF5T2ZXZWVrKHRoaXMuX2xvY2FsZSkgPT09IDEpIHtcclxuXHRcdFx0dGhpcy5sYWJlbHMucHVzaCh0aGlzLmxhYmVscy5zaGlmdCgpKTtcclxuXHRcdH1cclxuXHR9XHJcblx0cHJvdGVjdGVkIHJlbmRlcigpIHtcclxuXHRcdHN3aXRjaCAodGhpcy52aWV3R3JhbnVsYXJpdHkpIHtcclxuXHRcdFx0Y2FzZSBFTHVEYXRlR3JhbnVsYXJpdHkueWVhcjpcclxuXHRcdFx0XHR0aGlzLnJlbmRlclllYXJseVZpZXcoKTtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGg6XHJcblx0XHRcdFx0dGhpcy5yZW5kZXJNb250aGx5VmlldygpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS5kYXk6XHJcblx0XHRcdGRlZmF1bHQ6XHJcblx0XHRcdFx0dGhpcy5yZW5kZXJEYWlseVZpZXcoKTtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCByZW5kZXJEYWlseVZpZXcobW9udGg6IEQgPSB0aGlzLmhlYWRlci5kYXRlKSB7XHJcblx0XHR0aGlzLml0ZW1zID0gW107XHJcblx0XHRjb25zdCBzdGFydCA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2UodGhpcy5fYWRhcHRlci5nZXRZZWFyKG1vbnRoKSwgdGhpcy5fYWRhcHRlci5nZXRNb250aChtb250aCksIDEpO1xyXG5cdFx0bGV0IGluZGV4ID0gMDtcclxuXHRcdGNvbnN0IGlzRmlyc3REYXlPZldlZWsgPSB0aGlzLl9hZGFwdGVyLmdldERheShzdGFydCkgPT09IGdldExvY2FsZUZpcnN0RGF5T2ZXZWVrKHRoaXMuX2xvY2FsZSk7XHJcblx0XHR0aGlzLmhlYWRlciA9IHRoaXMuX2ZhY3RvcnkuZm9yZ2VNb250aChtb250aCwgJ01NTU0geScpO1xyXG5cdFx0aWYgKCFpc0ZpcnN0RGF5T2ZXZWVrKSB7XHJcblx0XHRcdGNvbnN0IG9mZnNldCA9ICh0aGlzLl9hZGFwdGVyLmdldERheShzdGFydCkgLSBnZXRMb2NhbGVGaXJzdERheU9mV2Vlayh0aGlzLl9sb2NhbGUpICsgNykgJSA3O1xyXG5cdFx0XHRpbmRleCA9IC0xICogb2Zmc2V0O1xyXG5cdFx0fVxyXG5cdFx0Ly8gVE9ET1xyXG5cdFx0bGV0IGlzRkRPVyA9IGZhbHNlO1xyXG5cdFx0bGV0IGlzTmV4dE1vbnRoID0gZmFsc2U7XHJcblx0XHRkbyB7XHJcblx0XHRcdGNvbnN0IGQgPSB0aGlzLl9hZGFwdGVyLmFkZChzdGFydCwgaW5kZXgrKywgRUx1RGF0ZUdyYW51bGFyaXR5LmRheSk7XHJcblx0XHRcdGNvbnN0IGRheSA9IHRoaXMuX2ZhY3RvcnkuZm9yZ2VEYXkoZCk7XHJcblx0XHRcdGlzTmV4dE1vbnRoID0gdGhpcy5fYWRhcHRlci5jb21wYXJlKGQsIG1vbnRoLCBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGgpID4gMDtcclxuXHRcdFx0aXNGRE9XID0gdGhpcy5fYWRhcHRlci5nZXREYXkoZCkgPT09IGdldExvY2FsZUZpcnN0RGF5T2ZXZWVrKHRoaXMuX2xvY2FsZSk7XHJcblx0XHRcdHRoaXMuaXRlbXMucHVzaChkYXkpO1xyXG5cdFx0fSB3aGlsZSAoIWlzRkRPVyB8fCAhaXNOZXh0TW9udGgpO1xyXG5cdFx0dGhpcy5hcHBseURhaWx5TW9kcygpO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIHJlbmRlck1vbnRobHlWaWV3KHllYXI6IEQgPSB0aGlzLmhlYWRlci5kYXRlKSB7XHJcblx0XHR0aGlzLmhlYWRlciA9IHRoaXMuX2ZhY3RvcnkuZm9yZ2VZZWFyKHllYXIpO1xyXG5cdFx0dGhpcy5pdGVtcyA9IFsuLi5BcnJheSgxMikua2V5cygpXS5tYXAoKGkpID0+IHtcclxuXHRcdFx0Y29uc3QgZCA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2UodGhpcy5fYWRhcHRlci5nZXRZZWFyKHllYXIpLCBpICsgMSwgMSk7XHJcblx0XHRcdHJldHVybiB0aGlzLl9mYWN0b3J5LmZvcmdlTW9udGgoZCk7XHJcblx0XHR9KTtcclxuXHRcdHRoaXMuYXBwbHlNb250aGx5TW9kcygpO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIHJlbmRlclllYXJseVZpZXcoZGVjYWRlOiBEID0gdGhpcy5oZWFkZXIuZGF0ZSkge1xyXG5cdFx0Y29uc3QgeWVhciA9IE1hdGguZmxvb3IodGhpcy5fYWRhcHRlci5nZXRZZWFyKGRlY2FkZSkgLyAxMCkgKiAxMDtcclxuXHRcdGNvbnN0IGQgPSB0aGlzLl9hZGFwdGVyLmZvcmdlKHllYXIsIDEsIDEpO1xyXG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlRGVjYWRlKGQpO1xyXG5cdFx0dGhpcy5pdGVtcyA9IFsuLi5BcnJheSgxMCkua2V5cygpXS5tYXAoKGkpID0+IHtcclxuXHRcdFx0Y29uc3QgeSA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2UoeWVhciArIGksIDEsIDEpO1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5fZmFjdG9yeS5mb3JnZVllYXIoeSk7XHJcblx0XHR9KTtcclxuXHRcdHRoaXMuYXBwbHlZZWFybHlNb2RzKCk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgYXBwbHlEYWlseU1vZHMoKSB7XHJcblx0XHRjb25zdCBtb250aCA9IHRoaXMuaGVhZGVyLmRhdGU7XHJcblx0XHRjb25zdCB0b2RheSA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2VUb2RheSgpO1xyXG5cdFx0Y29uc3QgbWluID0gdGhpcy5taW4gJiYgdGhpcy5fYWRhcHRlci5pc1ZhbGlkKHRoaXMubWluKSA/IHRoaXMubWluIDogdW5kZWZpbmVkO1xyXG5cdFx0Y29uc3QgbWF4ID0gdGhpcy5tYXggJiYgdGhpcy5fYWRhcHRlci5pc1ZhbGlkKHRoaXMubWF4KSA/IHRoaXMubWF4IDogdW5kZWZpbmVkO1xyXG5cdFx0dGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XHJcblx0XHRcdGNvbnN0IGRheSA9IGl0ZW0uZGF0ZTtcclxuXHRcdFx0aWYgKHRoaXMuX2FkYXB0ZXIuY29tcGFyZShkYXksIG1vbnRoLCBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGgpIDwgMCkge1xyXG5cdFx0XHRcdGl0ZW0ubW9kcy5wdXNoKCdpcy1wcmV2aW91c01vbnRoJyk7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKHRoaXMuX2FkYXB0ZXIuY29tcGFyZShkYXksIG1vbnRoLCBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGgpID4gMCkge1xyXG5cdFx0XHRcdGl0ZW0ubW9kcy5wdXNoKCdpcy1uZXh0TW9udGgnKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAodGhpcy5fYWRhcHRlci5jb21wYXJlKGRheSwgdG9kYXksIEVMdURhdGVHcmFudWxhcml0eS5kYXkpID09PSAwKSB7XHJcblx0XHRcdFx0aXRlbS5tb2RzLnB1c2goJ2lzLXRvZGF5Jyk7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKHRoaXMudmFsdWUgJiYgdGhpcy5fYWRhcHRlci5pc1ZhbGlkKHRoaXMudmFsdWUpICYmIHRoaXMuX2FkYXB0ZXIuY29tcGFyZShkYXksIHRoaXMudmFsdWUsIEVMdURhdGVHcmFudWxhcml0eS5kYXkpID09PSAwKSB7XHJcblx0XHRcdFx0aXRlbS5tb2RzLnB1c2goJ2lzLWFjdGl2ZScpO1xyXG5cdFx0XHR9XHJcblx0XHRcdGlmIChtaW4gJiYgdGhpcy5fYWRhcHRlci5jb21wYXJlKGRheSwgbWluLCBFTHVEYXRlR3JhbnVsYXJpdHkuZGF5KSA8IDApIHtcclxuXHRcdFx0XHRpdGVtLmlzRGlzYWJsZWQgPSB0cnVlO1xyXG5cdFx0XHR9XHJcblx0XHRcdGlmIChtYXggJiYgdGhpcy5fYWRhcHRlci5jb21wYXJlKGRheSwgbWF4LCBFTHVEYXRlR3JhbnVsYXJpdHkuZGF5KSA+IDApIHtcclxuXHRcdFx0XHRpdGVtLmlzRGlzYWJsZWQgPSB0cnVlO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBhcHBseU1vbnRobHlNb2RzKCkge1xyXG5cdFx0Y29uc3QgdG9kYXkgPSB0aGlzLl9hZGFwdGVyLmZvcmdlVG9kYXkoKTtcclxuXHRcdGNvbnN0IG1pbiA9IHRoaXMubWluICYmIHRoaXMuX2FkYXB0ZXIuaXNWYWxpZCh0aGlzLm1pbikgPyB0aGlzLm1pbiA6IHVuZGVmaW5lZDtcclxuXHRcdGNvbnN0IG1heCA9IHRoaXMubWF4ICYmIHRoaXMuX2FkYXB0ZXIuaXNWYWxpZCh0aGlzLm1heCkgPyB0aGlzLm1heCA6IHVuZGVmaW5lZDtcclxuXHRcdHRoaXMuaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG5cdFx0XHRjb25zdCBtb250aCA9IGl0ZW0uZGF0ZTtcclxuXHRcdFx0aWYgKHRoaXMuX2FkYXB0ZXIuY29tcGFyZShtb250aCwgdG9kYXksIEVMdURhdGVHcmFudWxhcml0eS5tb250aCkgPT09IDApIHtcclxuXHRcdFx0XHRpdGVtLm1vZHMucHVzaCgnaXMtdG9kYXknKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAodGhpcy52YWx1ZSAmJiB0aGlzLl9hZGFwdGVyLmlzVmFsaWQodGhpcy52YWx1ZSkgJiYgdGhpcy5fYWRhcHRlci5jb21wYXJlKG1vbnRoLCB0aGlzLnZhbHVlLCBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGgpID09PSAwKSB7XHJcblx0XHRcdFx0aXRlbS5tb2RzLnB1c2goJ2lzLWFjdGl2ZScpO1xyXG5cdFx0XHR9XHJcblx0XHRcdGlmIChtaW4gJiYgdGhpcy5fYWRhcHRlci5jb21wYXJlKG1vbnRoLCBtaW4sIEVMdURhdGVHcmFudWxhcml0eS5tb250aCkgPCAwKSB7XHJcblx0XHRcdFx0aXRlbS5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAobWF4ICYmIHRoaXMuX2FkYXB0ZXIuY29tcGFyZShtb250aCwgbWF4LCBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGgpID4gMCkge1xyXG5cdFx0XHRcdGl0ZW0uaXNEaXNhYmxlZCA9IHRydWU7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIGFwcGx5WWVhcmx5TW9kcygpIHtcclxuXHRcdGNvbnN0IHRvZGF5ID0gdGhpcy5fYWRhcHRlci5mb3JnZVRvZGF5KCk7XHJcblx0XHRjb25zdCBtaW4gPSB0aGlzLm1pbiAmJiB0aGlzLl9hZGFwdGVyLmlzVmFsaWQodGhpcy5taW4pID8gdGhpcy5taW4gOiB1bmRlZmluZWQ7XHJcblx0XHRjb25zdCBtYXggPSB0aGlzLm1heCAmJiB0aGlzLl9hZGFwdGVyLmlzVmFsaWQodGhpcy5tYXgpID8gdGhpcy5tYXggOiB1bmRlZmluZWQ7XHJcblx0XHR0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcclxuXHRcdFx0Y29uc3QgeWVhciA9IGl0ZW0uZGF0ZTtcclxuXHRcdFx0aWYgKHRoaXMuX2FkYXB0ZXIuY29tcGFyZSh5ZWFyLCB0b2RheSwgRUx1RGF0ZUdyYW51bGFyaXR5LnllYXIpID09PSAwKSB7XHJcblx0XHRcdFx0aXRlbS5tb2RzLnB1c2goJ2lzLXRvZGF5Jyk7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKHRoaXMudmFsdWUgJiYgdGhpcy5fYWRhcHRlci5pc1ZhbGlkKHRoaXMudmFsdWUpICYmIHRoaXMuX2FkYXB0ZXIuY29tcGFyZSh5ZWFyLCB0aGlzLnZhbHVlLCBFTHVEYXRlR3JhbnVsYXJpdHkueWVhcikgPT09IDApIHtcclxuXHRcdFx0XHRpdGVtLm1vZHMucHVzaCgnaXMtYWN0aXZlJyk7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKG1pbiAmJiB0aGlzLl9hZGFwdGVyLmNvbXBhcmUoeWVhciwgbWluLCBFTHVEYXRlR3JhbnVsYXJpdHkueWVhcikgPCAwKSB7XHJcblx0XHRcdFx0aXRlbS5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAobWF4ICYmIHRoaXMuX2FkYXB0ZXIuY29tcGFyZSh5ZWFyLCBtYXgsIEVMdURhdGVHcmFudWxhcml0eS55ZWFyKSA+IDApIHtcclxuXHRcdFx0XHRpdGVtLmlzRGlzYWJsZWQgPSB0cnVlO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHNlbGVjdChpdGVtOiBJQ2FsZW5kYXJJdGVtPEQ+KSB7XHJcblx0XHRzd2l0Y2ggKHRoaXMudmlld0dyYW51bGFyaXR5KSB7XHJcblx0XHRcdGNhc2UgRUx1RGF0ZUdyYW51bGFyaXR5LnllYXI6XHJcblx0XHRcdFx0dGhpcy5zZWxlY3RZZWFyKGl0ZW0pO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS5tb250aDpcclxuXHRcdFx0XHR0aGlzLnNlbGVjdE1vbnRoKGl0ZW0pO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS5kYXk6XHJcblx0XHRcdGRlZmF1bHQ6XHJcblx0XHRcdFx0dGhpcy5zZWxlY3REYXkoaXRlbSk7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgc2VsZWN0RGF5KGl0ZW06IElDYWxlbmRhckl0ZW08RD4pIHtcclxuXHRcdGNvbnN0IHllYXIgPSB0aGlzLl9hZGFwdGVyLmdldFllYXIoaXRlbS5kYXRlKTtcclxuXHRcdGNvbnN0IG1vbnRoID0gdGhpcy5fYWRhcHRlci5nZXRNb250aChpdGVtLmRhdGUpO1xyXG5cdFx0Y29uc3QgZCA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2UoeWVhciwgbW9udGgsIDEpO1xyXG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlTW9udGgoZCk7XHJcblx0XHR0aGlzLnNldFZhbHVlKGl0ZW0uZGF0ZSk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgc2VsZWN0TW9udGgoaXRlbTogSUNhbGVuZGFySXRlbTxEPikge1xyXG5cdFx0aWYgKHRoaXMuZ3JhbnVsYXJpdHkgPT09IEVMdURhdGVHcmFudWxhcml0eS5tb250aCkge1xyXG5cdFx0XHR0aGlzLnNldFZhbHVlKGl0ZW0uZGF0ZSk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLmhlYWRlciA9IGl0ZW07XHJcblx0XHRcdHRoaXMudmlld0dyYW51bGFyaXR5ID0gRUx1RGF0ZUdyYW51bGFyaXR5LmRheTtcclxuXHRcdFx0dGhpcy5yZW5kZXIoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBzZWxlY3RZZWFyKGl0ZW06IElDYWxlbmRhckl0ZW08RD4pIHtcclxuXHRcdGlmICh0aGlzLmdyYW51bGFyaXR5ID09PSBFTHVEYXRlR3JhbnVsYXJpdHkueWVhcikge1xyXG5cdFx0XHR0aGlzLnNldFZhbHVlKGl0ZW0uZGF0ZSk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLmhlYWRlciA9IGl0ZW07XHJcblx0XHRcdHRoaXMudmlld0dyYW51bGFyaXR5ID0gRUx1RGF0ZUdyYW51bGFyaXR5Lm1vbnRoO1xyXG5cdFx0XHR0aGlzLnJlbmRlcigpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJldmlvdXMoKSB7XHJcblx0XHRzd2l0Y2ggKHRoaXMudmlld0dyYW51bGFyaXR5KSB7XHJcblx0XHRcdGNhc2UgRUx1RGF0ZUdyYW51bGFyaXR5LnllYXI6XHJcblx0XHRcdFx0dGhpcy5wcmV2aW91c0RlY2FkZSgpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS5tb250aDpcclxuXHRcdFx0XHR0aGlzLnByZXZpb3VzWWVhcigpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS5kYXk6XHJcblx0XHRcdGRlZmF1bHQ6XHJcblx0XHRcdFx0dGhpcy5wcmV2aW91c01vbnRoKCk7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHR9XHJcblx0XHR0aGlzLnJlbmRlcigpO1xyXG5cdH1cclxuXHJcblx0bmV4dCgpIHtcclxuXHRcdHN3aXRjaCAodGhpcy52aWV3R3JhbnVsYXJpdHkpIHtcclxuXHRcdFx0Y2FzZSBFTHVEYXRlR3JhbnVsYXJpdHkueWVhcjpcclxuXHRcdFx0XHR0aGlzLm5leHREZWNhZGUoKTtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGg6XHJcblx0XHRcdFx0dGhpcy5uZXh0WWVhcigpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS5kYXk6XHJcblx0XHRcdGRlZmF1bHQ6XHJcblx0XHRcdFx0dGhpcy5uZXh0TW9udGgoKTtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdH1cclxuXHRcdHRoaXMucmVuZGVyKCk7XHJcblx0fVxyXG5cclxuXHR0cmFja0J5KF9pZHgsIGl0ZW06IElDYWxlbmRhckl0ZW08RD4pIHtcclxuXHRcdHJldHVybiBpdGVtLmlkO1xyXG5cdH1cclxuXHJcblx0aW5jcmVhc2VHcmFudWxhcml0eSgpIHtcclxuXHRcdGlmICh0aGlzLmhlYWRlci5ncmFudWxhcml0eSAhPT0gRUx1RGF0ZUdyYW51bGFyaXR5LmRlY2FkZSkge1xyXG5cdFx0XHR0aGlzLnZpZXdHcmFudWxhcml0eSA9IHRoaXMuaGVhZGVyLmdyYW51bGFyaXR5O1xyXG5cdFx0XHR0aGlzLnJlbmRlcigpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIG5leHRNb250aCgpIHtcclxuXHRcdGNvbnN0IGQgPSB0aGlzLl9hZGFwdGVyLmFkZCh0aGlzLmhlYWRlci5kYXRlLCAxLCBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGgpO1xyXG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlTW9udGgoZCk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgbmV4dFllYXIoKSB7XHJcblx0XHRjb25zdCBkID0gdGhpcy5fYWRhcHRlci5hZGQodGhpcy5oZWFkZXIuZGF0ZSwgMSwgRUx1RGF0ZUdyYW51bGFyaXR5LnllYXIpO1xyXG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlWWVhcihkKTtcclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBuZXh0RGVjYWRlKCkge1xyXG5cdFx0Y29uc3QgZCA9IHRoaXMuX2FkYXB0ZXIuYWRkKHRoaXMuaGVhZGVyLmRhdGUsIDEsIEVMdURhdGVHcmFudWxhcml0eS5kZWNhZGUpO1xyXG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlRGVjYWRlKGQpO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIHByZXZpb3VzTW9udGgoKSB7XHJcblx0XHRjb25zdCBkID0gdGhpcy5fYWRhcHRlci5hZGQodGhpcy5oZWFkZXIuZGF0ZSwgLTEsIEVMdURhdGVHcmFudWxhcml0eS5tb250aCk7XHJcblx0XHR0aGlzLmhlYWRlciA9IHRoaXMuX2ZhY3RvcnkuZm9yZ2VNb250aChkKTtcclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBwcmV2aW91c1llYXIoKSB7XHJcblx0XHRjb25zdCBkID0gdGhpcy5fYWRhcHRlci5hZGQodGhpcy5oZWFkZXIuZGF0ZSwgLTEsIEVMdURhdGVHcmFudWxhcml0eS55ZWFyKTtcclxuXHRcdHRoaXMuaGVhZGVyID0gdGhpcy5fZmFjdG9yeS5mb3JnZVllYXIoZCk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgcHJldmlvdXNEZWNhZGUoKSB7XHJcblx0XHRjb25zdCBkID0gdGhpcy5fYWRhcHRlci5hZGQodGhpcy5oZWFkZXIuZGF0ZSwgLTEsIEVMdURhdGVHcmFudWxhcml0eS5kZWNhZGUpO1xyXG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlRGVjYWRlKGQpO1xyXG5cdH1cclxuXHJcblx0dmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG5cdFx0Y29uc3QgZCA9IGNvbnRyb2wudmFsdWUgYXMgRDtcclxuXHRcdGlmICghZCkge1xyXG5cdFx0XHRyZXR1cm4gbnVsbDtcclxuXHRcdH1cclxuXHRcdGlmICghdGhpcy5fYWRhcHRlci5pc1ZhbGlkKGQpKSB7XHJcblx0XHRcdHJldHVybiB7IGRhdGU6IHRydWUgfTtcclxuXHRcdH1cclxuXHRcdGlmICghIXRoaXMubWluICYmIHRoaXMuX2FkYXB0ZXIuaXNWYWxpZCh0aGlzLm1pbikgJiYgdGhpcy5fYWRhcHRlci5jb21wYXJlKHRoaXMubWluLCBkLCBFTHVEYXRlR3JhbnVsYXJpdHkuZGF5KSA+IDApIHtcclxuXHRcdFx0cmV0dXJuIHsgbWluOiB0cnVlIH07XHJcblx0XHR9XHJcblx0XHRpZiAoISF0aGlzLm1heCAmJiB0aGlzLl9hZGFwdGVyLmlzVmFsaWQodGhpcy5tYXgpICYmIHRoaXMuX2FkYXB0ZXIuY29tcGFyZSh0aGlzLm1heCwgZCwgRUx1RGF0ZUdyYW51bGFyaXR5LmRheSkgPCAwKSB7XHJcblx0XHRcdHJldHVybiB7IG1heDogdHJ1ZSB9O1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIG51bGw7XHJcblx0fVxyXG59XHJcbiIsIjxzZWN0aW9uIGNsYXNzPVwiY2FsZW5kYXJcIj5cclxuXHQ8aGVhZGVyIGNsYXNzPVwiY2FsZW5kYXItaGVhZGVyXCI+XHJcblx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNhbGVuZGFyLWhlYWRlci1uYXZcIiAoY2xpY2spPVwicHJldmlvdXMoKVwiPlxyXG5cdFx0XHQ8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImx1Y2NhLWljb25cIj5hcnJvd193ZXN0PC9zcGFuPlxyXG5cdFx0XHQ8c3BhbiBjbGFzcz1cInUtbWFza1wiPlByZXZpb3VzPC9zcGFuPlxyXG5cdFx0PC9idXR0b24+XHJcblx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNhbGVuZGFyLWhlYWRlci1kYXRlXCIgKGNsaWNrKT1cImluY3JlYXNlR3JhbnVsYXJpdHkoKVwiPnt7IGhlYWRlci5sYWJlbCB9fTwvYnV0dG9uPlxyXG5cdFx0PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjYWxlbmRhci1oZWFkZXItbmF2XCIgKGNsaWNrKT1cIm5leHQoKVwiPlxyXG5cdFx0XHQ8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImx1Y2NhLWljb25cIj5hcnJvd19lYXN0PC9zcGFuPlxyXG5cdFx0XHQ8c3BhbiBjbGFzcz1cInUtbWFza1wiPk5leHQ8L3NwYW4+XHJcblx0XHQ8L2J1dHRvbj5cclxuXHQ8L2hlYWRlcj5cclxuXHQ8c2VjdGlvbiBjbGFzcz1cImNhbGVuZGFyLWxhYmVsc1wiIFtuZ0NsYXNzXT1cIm1vZFwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cImNhbGVuZGFyLWxhYmVscy1pdGVtXCIgKm5nRm9yPVwibGV0IGxhYmVsIG9mIGxhYmVsc1wiPnt7IGxhYmVsIH19PC9kaXY+XHJcblx0PC9zZWN0aW9uPlxyXG5cdDxzZWN0aW9uIGNsYXNzPVwiY2FsZW5kYXItZ3JpZFwiIFtuZ0NsYXNzXT1cIm1vZFwiPlxyXG5cdFx0PGJ1dHRvblxyXG5cdFx0XHR0eXBlPVwiYnV0dG9uXCJcclxuXHRcdFx0Km5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IHRyYWNrQnk6IHRyYWNrQnlcIlxyXG5cdFx0XHRjbGFzcz1cImNhbGVuZGFyLWdyaWQtaXRlbVwiXHJcblx0XHRcdFtuZ0NsYXNzXT1cIml0ZW0ubW9kc1wiXHJcblx0XHRcdFtkaXNhYmxlZF09XCJpdGVtLmlzRGlzYWJsZWRcIlxyXG5cdFx0XHQoY2xpY2spPVwic2VsZWN0KGl0ZW0pXCJcclxuXHRcdD5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImNhbGVuZGFyLWdyaWQtaXRlbS1jb250ZW50XCI+e3sgaXRlbS5sYWJlbCB9fTwvZGl2PlxyXG5cdFx0PC9idXR0b24+XHJcblx0PC9zZWN0aW9uPlxyXG48L3NlY3Rpb24+XHJcbiJdfQ==
|
|
332
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvZGF0ZS9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2RhdGUvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUcsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQWMsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUMzSixPQUFPLEVBQXlDLGFBQWEsRUFBRSxpQkFBaUIsRUFBK0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0SSxPQUFPLEVBQWtCLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQXNCaEUsTUFBTSxPQUFPLHdCQUE0QixTQUFRLFFBQVc7SUF1QjNELFlBQ0Msa0JBQXFDLEVBQ3JDLFdBQW9DLEVBQ3BDLFNBQW9CLEVBQ08sT0FBZSxFQUNsQyxRQUFrQyxFQUNsQyxRQUEyQjtRQUVuQyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBSnZCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBMEI7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBbUI7UUExQjNCLGdCQUFXLEdBQXVCLGtC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QzVDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzVDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDckUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxTQUFZLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSTtRQUN0RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNqRSxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDNUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDOUMsT0FBTyxJQUFJLENB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TyxJQUFJLENBQUM7SUFDYixDQUFDOztxSEFuVFcsd0JBQXdCLHNHQTJCM0IsU0FBUzt5R0EzQk4sd0JBQXdCLDBIQWR6QjtRQUNWO1lBQ0MsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDO1lBQ3ZELEtBQUssRUFBRSxJQUFJO1NBQ1g7UUFDRDtZQUNDLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLFdBQVcsRUFBRSx3QkFBd0I7WUFDckMsS0FBSyxFQUFFLElBQUk7U0FDWDtRQUNELHFCQUFxQjtLQUNyQixpREN6QkYsa3VDQTRCQTsyRkREYSx3QkFBd0I7a0JBbkJwQyxTQUFTOytCQUNDLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVjs0QkFDQyxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQzs0QkFDdkQsS0FBSyxFQUFFLElBQUk7eUJBQ1g7d0JBQ0Q7NEJBQ0MsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsMEJBQTBCOzRCQUNyQyxLQUFLLEVBQUUsSUFBSTt5QkFDWDt3QkFDRCxxQkFBcUI7cUJBQ3JCOzswQkE2QkMsTUFBTTsyQkFBQyxTQUFTOzZHQTFCVCxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybVN0eWxlLCBnZXRMb2NhbGVEYXlOYW1lcywgZ2V0TG9jYWxlRmlyc3REYXlPZldlZWssIFRyYW5zbGF0aW9uV2lkdGggfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgSW5qZWN0LCBJbnB1dCwgTE9DQUxFX0lELCBPbkluaXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBTHVEYXRlQWRhcHRlciwgRUx1RGF0ZUdyYW51bGFyaXR5IH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL2NvcmUnO1xyXG5pbXBvcnQgeyBBTHVJbnB1dCB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9pbnB1dCc7XHJcbmltcG9ydCB7IEx1Q2FsZW5kYXJJdGVtRmFjdG9yeSB9IGZyb20gJy4vY2FsZW5kYXItaXRlbS5mYWN0b3J5JztcclxuaW1wb3J0IHsgSUNhbGVuZGFySXRlbSB9IGZyb20gJy4vY2FsZW5kYXItaXRlbS5pbnRlcmZhY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdsdS1jYWxlbmRhcicsXHJcblx0dGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9jYWxlbmRhci1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG5cdHByb3ZpZGVyczogW1xyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTHVDYWxlbmRhcklucHV0Q29tcG9uZW50KSxcclxuXHRcdFx0bXVsdGk6IHRydWUsXHJcblx0XHR9LFxyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG5cdFx0XHR1c2VFeGlzdGluZzogTHVDYWxlbmRhcklucHV0Q29tcG9uZW50LFxyXG5cdFx0XHRtdWx0aTogdHJ1ZSxcclxuXHRcdH0sXHJcblx0XHRMdUNhbGVuZGFySXRlbUZhY3RvcnksXHJcblx0XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEx1Q2FsZW5kYXJJbnB1dENvbXBvbmVudDxEPiBleHRlbmRzIEFMdUlucHV0PEQ+IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgVmFsaWRhdG9yIHtcclxuXHRASW5wdXQoKSBtaW4/OiBEO1xyXG5cdEBJbnB1dCgpIG1heD86IEQ7XHJcblx0QElucHV0KCkgZ3JhbnVsYXJpdHk6IEVMdURhdGVHcmFudWxhcml0eSA9IEVMdURhdGVHcmFudWxhcml0eS5kYXk7XHJcblx0QElucHV0KCkgc3RhcnRPbjogRCA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2VUb2RheSgpO1xyXG5cclxuXHR2aWV3R3JhbnVsYXJpdHk6IEVMdURhdGVHcmFudWxhcml0eTtcclxuXHRoZWFkZXI6IElDYWxlbmRhckl0ZW08RD47XHJcblx0aXRlbXM6IElDYWxlbmRhckl0ZW08RD5bXSA9IFtdO1xyXG5cdGdldCBtb2QoKSB7XHJcblx0XHRzd2l0Y2ggKHRoaXMudmlld0dyYW51bGFyaXR5KSB7XHJcblx0XHRcdGNhc2UgRUx1RGF0ZUdyYW51bGFyaXR5LnllYXI6XHJcblx0XHRcdFx0cmV0dXJuICdtb2QteWVhcmx5Vmlldyc7XHJcblx0XHRcdGNhc2UgRUx1RGF0ZUdyYW51bGFyaXR5Lm1vbnRoOlxyXG5cdFx0XHRcdHJldHVybiAnbW9kLW1vbnRobHlWaWV3JztcclxuXHRcdFx0Y2FzZSBFTHVEYXRlR3JhbnVsYXJpdHkuZGF5OlxyXG5cdFx0XHRkZWZhdWx0OlxyXG5cdFx0XHRcdHJldHVybiAnbW9kLWRhaWx5Vmlldyc7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyBkYWlseSB2aWV3XHJcblx0bGFiZWxzOiBzdHJpbmdbXSA9IFtdO1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0X2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuXHRcdF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuXHRcdF9yZW5kZXJlcjogUmVuZGVyZXIyLFxyXG5cdFx0QEluamVjdChMT0NBTEVfSUQpIHByaXZhdGUgX2xvY2FsZTogc3RyaW5nLFxyXG5cdFx0cHJpdmF0ZSBfZmFjdG9yeTogTHVDYWxlbmRhckl0ZW1GYWN0b3J5PEQ+LFxyXG5cdFx0cHJpdmF0ZSBfYWRhcHRlcjogQUx1RGF0ZUFkYXB0ZXI8RD4sXHJcblx0KSB7XHJcblx0XHRzdXBlcihfY2hhbmdlRGV0ZWN0b3JSZWYsIF9lbGVtZW50UmVmLCBfcmVuZGVyZXIpO1xyXG5cdH1cclxuXHRuZ09uSW5pdCgpIHtcclxuXHRcdHRoaXMudmlld0dyYW51bGFyaXR5ID0gdGhpcy5ncmFudWxhcml0eTtcclxuXHRcdHRoaXMuaW5pdERheUxhYmVscygpO1xyXG5cdH1cclxuXHRvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlPzogRCkge1xyXG5cdFx0Y29uc3QgZGF0ZSA9IHZhbHVlICYmIHRoaXMuX2FkYXB0ZXIuaXNWYWxpZCh2YWx1ZSkgPyB0aGlzLl9hZGFwdGVyLmNsb25lKHZhbHVlKSA6IHRoaXMuc3RhcnRPbjtcclxuXHRcdHRoaXMuaGVhZGVyID0gdGhpcy5fZmFjdG9yeS5mb3JnZU1vbnRoKGRhdGUpO1xyXG5cdFx0c3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XHJcblx0fVxyXG5cdGluaXREYXlMYWJlbHMoKSB7XHJcblx0XHR0aGlzLmxhYmVscyA9IFsuLi5nZXRMb2NhbGVEYXlOYW1lcyh0aGlzLl9sb2NhbGUsIEZvcm1TdHlsZS5TdGFuZGFsb25lLCBUcmFuc2xhdGlvbldpZHRoLk5hcnJvdyldO1xyXG5cdFx0aWYgKGdldExvY2FsZUZpcnN0RGF5T2ZXZWVrKHRoaXMuX2xvY2FsZSkgPT09IDEpIHtcclxuXHRcdFx0dGhpcy5sYWJlbHMucHVzaCh0aGlzLmxhYmVscy5zaGlmdCgpKTtcclxuXHRcdH1cclxuXHR9XHJcblx0cHJvdGVjdGVkIHJlbmRlcigpIHtcclxuXHRcdHN3aXRjaCAodGhpcy52aWV3R3JhbnVsYXJpdHkpIHtcclxuXHRcdFx0Y2FzZSBFTHVEYXRlR3JhbnVsYXJpdHkueWVhcjpcclxuXHRcdFx0XHR0aGlzLnJlbmRlclllYXJseVZpZXcoKTtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGg6XHJcblx0XHRcdFx0dGhpcy5yZW5kZXJNb250aGx5VmlldygpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS5kYXk6XHJcblx0XHRcdGRlZmF1bHQ6XHJcblx0XHRcdFx0dGhpcy5yZW5kZXJEYWlseVZpZXcoKTtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCByZW5kZXJEYWlseVZpZXcobW9udGg6IEQgPSB0aGlzLmhlYWRlci5kYXRlKSB7XHJcblx0XHR0aGlzLml0ZW1zID0gW107XHJcblx0XHRjb25zdCBzdGFydCA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2UodGhpcy5fYWRhcHRlci5nZXRZZWFyKG1vbnRoKSwgdGhpcy5fYWRhcHRlci5nZXRNb250aChtb250aCksIDEpO1xyXG5cdFx0bGV0IGluZGV4ID0gMDtcclxuXHRcdGNvbnN0IGlzRmlyc3REYXlPZldlZWsgPSB0aGlzLl9hZGFwdGVyLmdldERheShzdGFydCkgPT09IGdldExvY2FsZUZpcnN0RGF5T2ZXZWVrKHRoaXMuX2xvY2FsZSk7XHJcblx0XHR0aGlzLmhlYWRlciA9IHRoaXMuX2ZhY3RvcnkuZm9yZ2VNb250aChtb250aCwgJ01NTU0geScpO1xyXG5cdFx0aWYgKCFpc0ZpcnN0RGF5T2ZXZWVrKSB7XHJcblx0XHRcdGNvbnN0IG9mZnNldCA9ICh0aGlzLl9hZGFwdGVyLmdldERheShzdGFydCkgLSBnZXRMb2NhbGVGaXJzdERheU9mV2Vlayh0aGlzLl9sb2NhbGUpICsgNykgJSA3O1xyXG5cdFx0XHRpbmRleCA9IC0xICogb2Zmc2V0O1xyXG5cdFx0fVxyXG5cdFx0Ly8gVE9ET1xyXG5cdFx0bGV0IGlzRkRPVyA9IGZhbHNlO1xyXG5cdFx0bGV0IGlzTmV4dE1vbnRoID0gZmFsc2U7XHJcblx0XHRkbyB7XHJcblx0XHRcdGNvbnN0IGQgPSB0aGlzLl9hZGFwdGVyLmFkZChzdGFydCwgaW5kZXgrKywgRUx1RGF0ZUdyYW51bGFyaXR5LmRheSk7XHJcblx0XHRcdGNvbnN0IGRheSA9IHRoaXMuX2ZhY3RvcnkuZm9yZ2VEYXkoZCk7XHJcblx0XHRcdGlzTmV4dE1vbnRoID0gdGhpcy5fYWRhcHRlci5jb21wYXJlKGQsIG1vbnRoLCBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGgpID4gMDtcclxuXHRcdFx0aXNGRE9XID0gdGhpcy5fYWRhcHRlci5nZXREYXkoZCkgPT09IGdldExvY2FsZUZpcnN0RGF5T2ZXZWVrKHRoaXMuX2xvY2FsZSk7XHJcblx0XHRcdHRoaXMuaXRlbXMucHVzaChkYXkpO1xyXG5cdFx0fSB3aGlsZSAoIWlzRkRPVyB8fCAhaXNOZXh0TW9udGgpO1xyXG5cdFx0dGhpcy5hcHBseURhaWx5TW9kcygpO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIHJlbmRlck1vbnRobHlWaWV3KHllYXI6IEQgPSB0aGlzLmhlYWRlci5kYXRlKSB7XHJcblx0XHR0aGlzLmhlYWRlciA9IHRoaXMuX2ZhY3RvcnkuZm9yZ2VZZWFyKHllYXIpO1xyXG5cdFx0dGhpcy5pdGVtcyA9IFsuLi5BcnJheSgxMikua2V5cygpXS5tYXAoKGkpID0+IHtcclxuXHRcdFx0Y29uc3QgZCA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2UodGhpcy5fYWRhcHRlci5nZXRZZWFyKHllYXIpLCBpICsgMSwgMSk7XHJcblx0XHRcdHJldHVybiB0aGlzLl9mYWN0b3J5LmZvcmdlTW9udGgoZCk7XHJcblx0XHR9KTtcclxuXHRcdHRoaXMuYXBwbHlNb250aGx5TW9kcygpO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIHJlbmRlclllYXJseVZpZXcoZGVjYWRlOiBEID0gdGhpcy5oZWFkZXIuZGF0ZSkge1xyXG5cdFx0Y29uc3QgeWVhciA9IE1hdGguZmxvb3IodGhpcy5fYWRhcHRlci5nZXRZZWFyKGRlY2FkZSkgLyAxMCkgKiAxMDtcclxuXHRcdGNvbnN0IGQgPSB0aGlzLl9hZGFwdGVyLmZvcmdlKHllYXIsIDEsIDEpO1xyXG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlRGVjYWRlKGQpO1xyXG5cdFx0dGhpcy5pdGVtcyA9IFsuLi5BcnJheSgxMCkua2V5cygpXS5tYXAoKGkpID0+IHtcclxuXHRcdFx0Y29uc3QgeSA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2UoeWVhciArIGksIDEsIDEpO1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5fZmFjdG9yeS5mb3JnZVllYXIoeSk7XHJcblx0XHR9KTtcclxuXHRcdHRoaXMuYXBwbHlZZWFybHlNb2RzKCk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgYXBwbHlEYWlseU1vZHMoKSB7XHJcblx0XHRjb25zdCBtb250aCA9IHRoaXMuaGVhZGVyLmRhdGU7XHJcblx0XHRjb25zdCB0b2RheSA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2VUb2RheSgpO1xyXG5cdFx0Y29uc3QgbWluID0gdGhpcy5taW4gJiYgdGhpcy5fYWRhcHRlci5pc1ZhbGlkKHRoaXMubWluKSA/IHRoaXMubWluIDogdW5kZWZpbmVkO1xyXG5cdFx0Y29uc3QgbWF4ID0gdGhpcy5tYXggJiYgdGhpcy5fYWRhcHRlci5pc1ZhbGlkKHRoaXMubWF4KSA/IHRoaXMubWF4IDogdW5kZWZpbmVkO1xyXG5cdFx0dGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XHJcblx0XHRcdGNvbnN0IGRheSA9IGl0ZW0uZGF0ZTtcclxuXHRcdFx0aWYgKHRoaXMuX2FkYXB0ZXIuY29tcGFyZShkYXksIG1vbnRoLCBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGgpIDwgMCkge1xyXG5cdFx0XHRcdGl0ZW0ubW9kcy5wdXNoKCdpcy1wcmV2aW91c01vbnRoJyk7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKHRoaXMuX2FkYXB0ZXIuY29tcGFyZShkYXksIG1vbnRoLCBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGgpID4gMCkge1xyXG5cdFx0XHRcdGl0ZW0ubW9kcy5wdXNoKCdpcy1uZXh0TW9udGgnKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAodGhpcy5fYWRhcHRlci5jb21wYXJlKGRheSwgdG9kYXksIEVMdURhdGVHcmFudWxhcml0eS5kYXkpID09PSAwKSB7XHJcblx0XHRcdFx0aXRlbS5tb2RzLnB1c2goJ2lzLXRvZGF5Jyk7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKHRoaXMudmFsdWUgJiYgdGhpcy5fYWRhcHRlci5pc1ZhbGlkKHRoaXMudmFsdWUpICYmIHRoaXMuX2FkYXB0ZXIuY29tcGFyZShkYXksIHRoaXMudmFsdWUsIEVMdURhdGVHcmFudWxhcml0eS5kYXkpID09PSAwKSB7XHJcblx0XHRcdFx0aXRlbS5tb2RzLnB1c2goJ2lzLWFjdGl2ZScpO1xyXG5cdFx0XHR9XHJcblx0XHRcdGlmIChtaW4gJiYgdGhpcy5fYWRhcHRlci5jb21wYXJlKGRheSwgbWluLCBFTHVEYXRlR3JhbnVsYXJpdHkuZGF5KSA8IDApIHtcclxuXHRcdFx0XHRpdGVtLmlzRGlzYWJsZWQgPSB0cnVlO1xyXG5cdFx0XHR9XHJcblx0XHRcdGlmIChtYXggJiYgdGhpcy5fYWRhcHRlci5jb21wYXJlKGRheSwgbWF4LCBFTHVEYXRlR3JhbnVsYXJpdHkuZGF5KSA+IDApIHtcclxuXHRcdFx0XHRpdGVtLmlzRGlzYWJsZWQgPSB0cnVlO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBhcHBseU1vbnRobHlNb2RzKCkge1xyXG5cdFx0Y29uc3QgdG9kYXkgPSB0aGlzLl9hZGFwdGVyLmZvcmdlVG9kYXkoKTtcclxuXHRcdGNvbnN0IG1pbiA9IHRoaXMubWluICYmIHRoaXMuX2FkYXB0ZXIuaXNWYWxpZCh0aGlzLm1pbikgPyB0aGlzLm1pbiA6IHVuZGVmaW5lZDtcclxuXHRcdGNvbnN0IG1heCA9IHRoaXMubWF4ICYmIHRoaXMuX2FkYXB0ZXIuaXNWYWxpZCh0aGlzLm1heCkgPyB0aGlzLm1heCA6IHVuZGVmaW5lZDtcclxuXHRcdHRoaXMuaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG5cdFx0XHRjb25zdCBtb250aCA9IGl0ZW0uZGF0ZTtcclxuXHRcdFx0aWYgKHRoaXMuX2FkYXB0ZXIuY29tcGFyZShtb250aCwgdG9kYXksIEVMdURhdGVHcmFudWxhcml0eS5tb250aCkgPT09IDApIHtcclxuXHRcdFx0XHRpdGVtLm1vZHMucHVzaCgnaXMtdG9kYXknKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAodGhpcy52YWx1ZSAmJiB0aGlzLl9hZGFwdGVyLmlzVmFsaWQodGhpcy52YWx1ZSkgJiYgdGhpcy5fYWRhcHRlci5jb21wYXJlKG1vbnRoLCB0aGlzLnZhbHVlLCBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGgpID09PSAwKSB7XHJcblx0XHRcdFx0aXRlbS5tb2RzLnB1c2goJ2lzLWFjdGl2ZScpO1xyXG5cdFx0XHR9XHJcblx0XHRcdGlmIChtaW4gJiYgdGhpcy5fYWRhcHRlci5jb21wYXJlKG1vbnRoLCBtaW4sIEVMdURhdGVHcmFudWxhcml0eS5tb250aCkgPCAwKSB7XHJcblx0XHRcdFx0aXRlbS5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAobWF4ICYmIHRoaXMuX2FkYXB0ZXIuY29tcGFyZShtb250aCwgbWF4LCBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGgpID4gMCkge1xyXG5cdFx0XHRcdGl0ZW0uaXNEaXNhYmxlZCA9IHRydWU7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIGFwcGx5WWVhcmx5TW9kcygpIHtcclxuXHRcdGNvbnN0IHRvZGF5ID0gdGhpcy5fYWRhcHRlci5mb3JnZVRvZGF5KCk7XHJcblx0XHRjb25zdCBtaW4gPSB0aGlzLm1pbiAmJiB0aGlzLl9hZGFwdGVyLmlzVmFsaWQodGhpcy5taW4pID8gdGhpcy5taW4gOiB1bmRlZmluZWQ7XHJcblx0XHRjb25zdCBtYXggPSB0aGlzLm1heCAmJiB0aGlzLl9hZGFwdGVyLmlzVmFsaWQodGhpcy5tYXgpID8gdGhpcy5tYXggOiB1bmRlZmluZWQ7XHJcblx0XHR0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcclxuXHRcdFx0Y29uc3QgeWVhciA9IGl0ZW0uZGF0ZTtcclxuXHRcdFx0aWYgKHRoaXMuX2FkYXB0ZXIuY29tcGFyZSh5ZWFyLCB0b2RheSwgRUx1RGF0ZUdyYW51bGFyaXR5LnllYXIpID09PSAwKSB7XHJcblx0XHRcdFx0aXRlbS5tb2RzLnB1c2goJ2lzLXRvZGF5Jyk7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKHRoaXMudmFsdWUgJiYgdGhpcy5fYWRhcHRlci5pc1ZhbGlkKHRoaXMudmFsdWUpICYmIHRoaXMuX2FkYXB0ZXIuY29tcGFyZSh5ZWFyLCB0aGlzLnZhbHVlLCBFTHVEYXRlR3JhbnVsYXJpdHkueWVhcikgPT09IDApIHtcclxuXHRcdFx0XHRpdGVtLm1vZHMucHVzaCgnaXMtYWN0aXZlJyk7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKG1pbiAmJiB0aGlzLl9hZGFwdGVyLmNvbXBhcmUoeWVhciwgbWluLCBFTHVEYXRlR3JhbnVsYXJpdHkueWVhcikgPCAwKSB7XHJcblx0XHRcdFx0aXRlbS5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAobWF4ICYmIHRoaXMuX2FkYXB0ZXIuY29tcGFyZSh5ZWFyLCBtYXgsIEVMdURhdGVHcmFudWxhcml0eS55ZWFyKSA+IDApIHtcclxuXHRcdFx0XHRpdGVtLmlzRGlzYWJsZWQgPSB0cnVlO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHNlbGVjdChpdGVtOiBJQ2FsZW5kYXJJdGVtPEQ+KSB7XHJcblx0XHRzd2l0Y2ggKHRoaXMudmlld0dyYW51bGFyaXR5KSB7XHJcblx0XHRcdGNhc2UgRUx1RGF0ZUdyYW51bGFyaXR5LnllYXI6XHJcblx0XHRcdFx0dGhpcy5zZWxlY3RZZWFyKGl0ZW0pO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS5tb250aDpcclxuXHRcdFx0XHR0aGlzLnNlbGVjdE1vbnRoKGl0ZW0pO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS5kYXk6XHJcblx0XHRcdGRlZmF1bHQ6XHJcblx0XHRcdFx0dGhpcy5zZWxlY3REYXkoaXRlbSk7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgc2VsZWN0RGF5KGl0ZW06IElDYWxlbmRhckl0ZW08RD4pIHtcclxuXHRcdGNvbnN0IHllYXIgPSB0aGlzLl9hZGFwdGVyLmdldFllYXIoaXRlbS5kYXRlKTtcclxuXHRcdGNvbnN0IG1vbnRoID0gdGhpcy5fYWRhcHRlci5nZXRNb250aChpdGVtLmRhdGUpO1xyXG5cdFx0Y29uc3QgZCA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2UoeWVhciwgbW9udGgsIDEpO1xyXG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlTW9udGgoZCk7XHJcblx0XHR0aGlzLnNldFZhbHVlKGl0ZW0uZGF0ZSk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgc2VsZWN0TW9udGgoaXRlbTogSUNhbGVuZGFySXRlbTxEPikge1xyXG5cdFx0aWYgKHRoaXMuZ3JhbnVsYXJpdHkgPT09IEVMdURhdGVHcmFudWxhcml0eS5tb250aCkge1xyXG5cdFx0XHR0aGlzLnNldFZhbHVlKGl0ZW0uZGF0ZSk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLmhlYWRlciA9IGl0ZW07XHJcblx0XHRcdHRoaXMudmlld0dyYW51bGFyaXR5ID0gRUx1RGF0ZUdyYW51bGFyaXR5LmRheTtcclxuXHRcdFx0dGhpcy5yZW5kZXIoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBzZWxlY3RZZWFyKGl0ZW06IElDYWxlbmRhckl0ZW08RD4pIHtcclxuXHRcdGlmICh0aGlzLmdyYW51bGFyaXR5ID09PSBFTHVEYXRlR3JhbnVsYXJpdHkueWVhcikge1xyXG5cdFx0XHR0aGlzLnNldFZhbHVlKGl0ZW0uZGF0ZSk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLmhlYWRlciA9IGl0ZW07XHJcblx0XHRcdHRoaXMudmlld0dyYW51bGFyaXR5ID0gRUx1RGF0ZUdyYW51bGFyaXR5Lm1vbnRoO1xyXG5cdFx0XHR0aGlzLnJlbmRlcigpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJldmlvdXMoKSB7XHJcblx0XHRzd2l0Y2ggKHRoaXMudmlld0dyYW51bGFyaXR5KSB7XHJcblx0XHRcdGNhc2UgRUx1RGF0ZUdyYW51bGFyaXR5LnllYXI6XHJcblx0XHRcdFx0dGhpcy5wcmV2aW91c0RlY2FkZSgpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS5tb250aDpcclxuXHRcdFx0XHR0aGlzLnByZXZpb3VzWWVhcigpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS5kYXk6XHJcblx0XHRcdGRlZmF1bHQ6XHJcblx0XHRcdFx0dGhpcy5wcmV2aW91c01vbnRoKCk7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHR9XHJcblx0XHR0aGlzLnJlbmRlcigpO1xyXG5cdH1cclxuXHJcblx0bmV4dCgpIHtcclxuXHRcdHN3aXRjaCAodGhpcy52aWV3R3JhbnVsYXJpdHkpIHtcclxuXHRcdFx0Y2FzZSBFTHVEYXRlR3JhbnVsYXJpdHkueWVhcjpcclxuXHRcdFx0XHR0aGlzLm5leHREZWNhZGUoKTtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGg6XHJcblx0XHRcdFx0dGhpcy5uZXh0WWVhcigpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS5kYXk6XHJcblx0XHRcdGRlZmF1bHQ6XHJcblx0XHRcdFx0dGhpcy5uZXh0TW9udGgoKTtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdH1cclxuXHRcdHRoaXMucmVuZGVyKCk7XHJcblx0fVxyXG5cclxuXHR0cmFja0J5KF9pZHgsIGl0ZW06IElDYWxlbmRhckl0ZW08RD4pIHtcclxuXHRcdHJldHVybiBpdGVtLmlkO1xyXG5cdH1cclxuXHJcblx0aW5jcmVhc2VHcmFudWxhcml0eSgpIHtcclxuXHRcdGlmICh0aGlzLmhlYWRlci5ncmFudWxhcml0eSAhPT0gRUx1RGF0ZUdyYW51bGFyaXR5LmRlY2FkZSkge1xyXG5cdFx0XHR0aGlzLnZpZXdHcmFudWxhcml0eSA9IHRoaXMuaGVhZGVyLmdyYW51bGFyaXR5O1xyXG5cdFx0XHR0aGlzLnJlbmRlcigpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIG5leHRNb250aCgpIHtcclxuXHRcdGNvbnN0IGQgPSB0aGlzLl9hZGFwdGVyLmFkZCh0aGlzLmhlYWRlci5kYXRlLCAxLCBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGgpO1xyXG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlTW9udGgoZCk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgbmV4dFllYXIoKSB7XHJcblx0XHRjb25zdCBkID0gdGhpcy5fYWRhcHRlci5hZGQodGhpcy5oZWFkZXIuZGF0ZSwgMSwgRUx1RGF0ZUdyYW51bGFyaXR5LnllYXIpO1xyXG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlWWVhcihkKTtcclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBuZXh0RGVjYWRlKCkge1xyXG5cdFx0Y29uc3QgZCA9IHRoaXMuX2FkYXB0ZXIuYWRkKHRoaXMuaGVhZGVyLmRhdGUsIDEsIEVMdURhdGVHcmFudWxhcml0eS5kZWNhZGUpO1xyXG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlRGVjYWRlKGQpO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIHByZXZpb3VzTW9udGgoKSB7XHJcblx0XHRjb25zdCBkID0gdGhpcy5fYWRhcHRlci5hZGQodGhpcy5oZWFkZXIuZGF0ZSwgLTEsIEVMdURhdGVHcmFudWxhcml0eS5tb250aCk7XHJcblx0XHR0aGlzLmhlYWRlciA9IHRoaXMuX2ZhY3RvcnkuZm9yZ2VNb250aChkKTtcclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBwcmV2aW91c1llYXIoKSB7XHJcblx0XHRjb25zdCBkID0gdGhpcy5fYWRhcHRlci5hZGQodGhpcy5oZWFkZXIuZGF0ZSwgLTEsIEVMdURhdGVHcmFudWxhcml0eS55ZWFyKTtcclxuXHRcdHRoaXMuaGVhZGVyID0gdGhpcy5fZmFjdG9yeS5mb3JnZVllYXIoZCk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgcHJldmlvdXNEZWNhZGUoKSB7XHJcblx0XHRjb25zdCBkID0gdGhpcy5fYWRhcHRlci5hZGQodGhpcy5oZWFkZXIuZGF0ZSwgLTEsIEVMdURhdGVHcmFudWxhcml0eS5kZWNhZGUpO1xyXG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlRGVjYWRlKGQpO1xyXG5cdH1cclxuXHJcblx0dmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG5cdFx0Y29uc3QgZCA9IGNvbnRyb2wudmFsdWUgYXMgRDtcclxuXHRcdGlmICghZCkge1xyXG5cdFx0XHRyZXR1cm4gbnVsbDtcclxuXHRcdH1cclxuXHRcdGlmICghdGhpcy5fYWRhcHRlci5pc1ZhbGlkKGQpKSB7XHJcblx0XHRcdHJldHVybiB7IGRhdGU6IHRydWUgfTtcclxuXHRcdH1cclxuXHRcdGlmICghIXRoaXMubWluICYmIHRoaXMuX2FkYXB0ZXIuaXNWYWxpZCh0aGlzLm1pbikgJiYgdGhpcy5fYWRhcHRlci5jb21wYXJlKHRoaXMubWluLCBkLCBFTHVEYXRlR3JhbnVsYXJpdHkuZGF5KSA+IDApIHtcclxuXHRcdFx0cmV0dXJuIHsgbWluOiB0cnVlIH07XHJcblx0XHR9XHJcblx0XHRpZiAoISF0aGlzLm1heCAmJiB0aGlzLl9hZGFwdGVyLmlzVmFsaWQodGhpcy5tYXgpICYmIHRoaXMuX2FkYXB0ZXIuY29tcGFyZSh0aGlzLm1heCwgZCwgRUx1RGF0ZUdyYW51bGFyaXR5LmRheSkgPCAwKSB7XHJcblx0XHRcdHJldHVybiB7IG1heDogdHJ1ZSB9O1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIG51bGw7XHJcblx0fVxyXG59XHJcbiIsIjxzZWN0aW9uIGNsYXNzPVwiY2FsZW5kYXJcIj5cclxuXHQ8aGVhZGVyIGNsYXNzPVwiY2FsZW5kYXItaGVhZGVyXCI+XHJcblx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNhbGVuZGFyLWhlYWRlci1uYXZcIiAoY2xpY2spPVwicHJldmlvdXMoKVwiPlxyXG5cdFx0XHQ8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImx1Y2NhLWljb25cIj5hcnJvd193ZXN0PC9zcGFuPlxyXG5cdFx0XHQ8c3BhbiBjbGFzcz1cInUtbWFza1wiPlByZXZpb3VzPC9zcGFuPlxyXG5cdFx0PC9idXR0b24+XHJcblx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNhbGVuZGFyLWhlYWRlci1kYXRlXCIgKGNsaWNrKT1cImluY3JlYXNlR3JhbnVsYXJpdHkoKVwiPnt7IGhlYWRlci5sYWJlbCB9fTwvYnV0dG9uPlxyXG5cdFx0PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjYWxlbmRhci1oZWFkZXItbmF2XCIgKGNsaWNrKT1cIm5leHQoKVwiPlxyXG5cdFx0XHQ8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImx1Y2NhLWljb25cIj5hcnJvd19lYXN0PC9zcGFuPlxyXG5cdFx0XHQ8c3BhbiBjbGFzcz1cInUtbWFza1wiPk5leHQ8L3NwYW4+XHJcblx0XHQ8L2J1dHRvbj5cclxuXHQ8L2hlYWRlcj5cclxuXHQ8c2VjdGlvbiBjbGFzcz1cImNhbGVuZGFyLWxhYmVsc1wiIFtuZ0NsYXNzXT1cIm1vZFwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cImNhbGVuZGFyLWxhYmVscy1pdGVtXCIgKm5nRm9yPVwibGV0IGxhYmVsIG9mIGxhYmVsc1wiPnt7IGxhYmVsIH19PC9kaXY+XHJcblx0PC9zZWN0aW9uPlxyXG5cdDxzZWN0aW9uIGNsYXNzPVwiY2FsZW5kYXItZ3JpZFwiIFtuZ0NsYXNzXT1cIm1vZFwiPlxyXG5cdFx0PGJ1dHRvblxyXG5cdFx0XHR0eXBlPVwiYnV0dG9uXCJcclxuXHRcdFx0Km5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IHRyYWNrQnk6IHRyYWNrQnlcIlxyXG5cdFx0XHRjbGFzcz1cImNhbGVuZGFyLWdyaWQtaXRlbVwiXHJcblx0XHRcdFtuZ0NsYXNzXT1cIml0ZW0ubW9kc1wiXHJcblx0XHRcdFtkaXNhYmxlZF09XCJpdGVtLmlzRGlzYWJsZWRcIlxyXG5cdFx0XHQoY2xpY2spPVwic2VsZWN0KGl0ZW0pXCJcclxuXHRcdD5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImNhbGVuZGFyLWdyaWQtaXRlbS1jb250ZW50XCI+e3sgaXRlbS5sYWJlbCB9fTwvZGl2PlxyXG5cdFx0PC9idXR0b24+XHJcblx0PC9zZWN0aW9uPlxyXG48L3NlY3Rpb24+XHJcbiJdfQ==
|
|
@@ -1,21 +1,19 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
1
2
|
import { NgModule } from '@angular/core';
|
|
2
|
-
import { LuCalendarInputComponent } from './calendar-input.component';
|
|
3
3
|
import { FormsModule } from '@angular/forms';
|
|
4
|
-
import {
|
|
5
|
-
import { LuCalendarItemFactory } from './calendar-item.factory';
|
|
4
|
+
import { LuCalendarInputComponent } from './calendar-input.component';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
export class LuCalendarInputModule {
|
|
8
7
|
}
|
|
9
8
|
LuCalendarInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
9
|
LuCalendarInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputModule, declarations: [LuCalendarInputComponent], imports: [FormsModule, CommonModule], exports: [LuCalendarInputComponent] });
|
|
11
|
-
LuCalendarInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputModule,
|
|
10
|
+
LuCalendarInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputModule, imports: [FormsModule, CommonModule] });
|
|
12
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputModule, decorators: [{
|
|
13
12
|
type: NgModule,
|
|
14
13
|
args: [{
|
|
15
14
|
imports: [FormsModule, CommonModule],
|
|
16
15
|
exports: [LuCalendarInputComponent],
|
|
17
16
|
declarations: [LuCalendarInputComponent],
|
|
18
|
-
providers: [LuCalendarItemFactory],
|
|
19
17
|
}]
|
|
20
18
|
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItaW5wdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvZGF0ZS9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLWlucHV0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBT3RFLE1BQU0sT0FBTyxxQkFBcUI7O2tIQUFyQixxQkFBcUI7bUhBQXJCLHFCQUFxQixpQkFGbEIsd0JBQXdCLGFBRjdCLFdBQVcsRUFBRSxZQUFZLGFBQ3pCLHdCQUF3QjttSEFHdEIscUJBQXFCLFlBSnZCLFdBQVcsRUFBRSxZQUFZOzJGQUl2QixxQkFBcUI7a0JBTGpDLFFBQVE7bUJBQUM7b0JBQ1QsT0FBTyxFQUFFLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQztvQkFDcEMsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ25DLFlBQVksRUFBRSxDQUFDLHdCQUF3QixDQUFDO2lCQUN4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBMdUNhbGVuZGFySW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NhbGVuZGFyLWlucHV0LmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG5cdGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgQ29tbW9uTW9kdWxlXSxcclxuXHRleHBvcnRzOiBbTHVDYWxlbmRhcklucHV0Q29tcG9uZW50XSxcclxuXHRkZWNsYXJhdGlvbnM6IFtMdUNhbGVuZGFySW5wdXRDb21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTHVDYWxlbmRhcklucHV0TW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -383,6 +383,7 @@ LuCalendarInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0
|
|
|
383
383
|
useExisting: LuCalendarInputComponent,
|
|
384
384
|
multi: true,
|
|
385
385
|
},
|
|
386
|
+
LuCalendarItemFactory,
|
|
386
387
|
], usesInheritance: true, ngImport: i0, template: "<section class=\"calendar\">\r\n\t<header class=\"calendar-header\">\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"previous()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_west</span>\r\n\t\t\t<span class=\"u-mask\">Previous</span>\r\n\t\t</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-date\" (click)=\"increaseGranularity()\">{{ header.label }}</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"next()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_east</span>\r\n\t\t\t<span class=\"u-mask\">Next</span>\r\n\t\t</button>\r\n\t</header>\r\n\t<section class=\"calendar-labels\" [ngClass]=\"mod\">\r\n\t\t<div class=\"calendar-labels-item\" *ngFor=\"let label of labels\">{{ label }}</div>\r\n\t</section>\r\n\t<section class=\"calendar-grid\" [ngClass]=\"mod\">\r\n\t\t<button\r\n\t\t\ttype=\"button\"\r\n\t\t\t*ngFor=\"let item of items; trackBy: trackBy\"\r\n\t\t\tclass=\"calendar-grid-item\"\r\n\t\t\t[ngClass]=\"item.mods\"\r\n\t\t\t[disabled]=\"item.isDisabled\"\r\n\t\t\t(click)=\"select(item)\"\r\n\t\t>\r\n\t\t\t<div class=\"calendar-grid-item-content\">{{ item.label }}</div>\r\n\t\t</button>\r\n\t</section>\r\n</section>\r\n", styles: [":root{--components-user-picture-sizes-smallest-font-size: .5em;--components-user-picture-sizes-smallest-image-size: 2.5em;--components-user-picture-sizes-smaller-font-size: .65em;--components-user-picture-sizes-smaller-image-size: 2.5em;--components-user-picture-sizes-small-font-size: .8em;--components-user-picture-sizes-small-image-size: 2.5em;--components-user-picture-sizes-standard-font-size: 1em;--components-user-picture-sizes-standard-image-size: 2.5em;--components-user-picture-sizes-large-font-size: 1.35em;--components-user-picture-sizes-large-image-size: 2.5em;--components-user-picture-sizes-larger-font-size: 1.8em;--components-user-picture-sizes-larger-image-size: 2.5em;--components-user-picture-sizes-largest-font-size: 3em;--components-user-picture-sizes-largest-image-size: 2.5em}:root{--components-options-item-padding-vertical: .5rem;--components-options-item-padding-horizontal: .5rem;--components-options-item-multiple-padding: 2rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: var(--commons-border-radius);--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: var(--spacings-standard)}.calendar{background-color:var(--colors-white-color);width:var(--components-calendar-width);padding:var(--spacings-smaller)}:host-context(.mod-block) .calendar{width:auto;max-width:var(--components-calendar-width)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.calendar-header-nav{background:transparent;border:none;cursor:pointer}.calendar-header-nav .lucca-icon{font-size:.9rem;color:var(--palettes-grey-900)}.calendar-header-date{font-weight:600;color:var(--palettes-grey-900);font-size:var(--sizes-big-font-size);padding:0;background:transparent;border:none;cursor:pointer}.calendar-labels{display:none}.calendar-labels.mod-dailyView{display:flex;align-items:stretch;flex-wrap:wrap;text-align:center;font-size:var(--sizes-small-font-size);color:var(--palettes-primary-700);margin-bottom:var(--spacings-smaller)}.calendar-labels.mod-dailyView .calendar-labels-item{width:14.1428571429%}.calendar-grid{display:flex;text-align:center;align-self:stretch;flex-wrap:wrap}.calendar-grid.mod-dailyView .calendar-grid-item{width:14.1428571429%}.calendar-grid.mod-monthlyView .calendar-grid-item,.calendar-grid.mod-yearlyView .calendar-grid-item{width:33%}.calendar-grid-item{height:2.4rem;border:none;cursor:pointer;background:transparent;position:relative;padding:0;outline:none}.calendar-grid-item.is-previousMonth,.calendar-grid-item.is-nextMonth,.calendar-grid-item.is-disabled{color:var(--palettes-grey-500)}.calendar-grid-item.is-today{color:var(--palettes-grey-800)}.calendar-grid-item.is-today:before{content:\"\";z-index:2;box-shadow:inset 0 0 0 2px var(--palettes-primary-300);position:absolute;top:0;bottom:0;left:0;right:0;border-radius:2rem}.calendar-grid-item:hover .calendar-grid-item-content{background:var(--palettes-grey-100)}.calendar-grid-item.is-active .calendar-grid-item-content{background:var(--palettes-primary-700);color:var(--palettes-primary-text)}.calendar-grid-item.is-active.is-today .calendar-grid-item-content:after{content:\"\";z-index:1;color:var(--palettes-primary-700);box-shadow:inset 0 0 0 4px #fff;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:2rem}.calendar-grid-item.is-disabled:hover .calendar-grid-item-content{pointer-events:none;background-color:#fff}.calendar-grid-item-content{position:relative;height:2.4rem;width:100%;line-height:2.4rem;border-radius:2rem}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
387
388
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputComponent, decorators: [{
|
|
388
389
|
type: Component,
|
|
@@ -397,6 +398,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImpor
|
|
|
397
398
|
useExisting: LuCalendarInputComponent,
|
|
398
399
|
multi: true,
|
|
399
400
|
},
|
|
401
|
+
LuCalendarItemFactory,
|
|
400
402
|
], template: "<section class=\"calendar\">\r\n\t<header class=\"calendar-header\">\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"previous()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_west</span>\r\n\t\t\t<span class=\"u-mask\">Previous</span>\r\n\t\t</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-date\" (click)=\"increaseGranularity()\">{{ header.label }}</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"next()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_east</span>\r\n\t\t\t<span class=\"u-mask\">Next</span>\r\n\t\t</button>\r\n\t</header>\r\n\t<section class=\"calendar-labels\" [ngClass]=\"mod\">\r\n\t\t<div class=\"calendar-labels-item\" *ngFor=\"let label of labels\">{{ label }}</div>\r\n\t</section>\r\n\t<section class=\"calendar-grid\" [ngClass]=\"mod\">\r\n\t\t<button\r\n\t\t\ttype=\"button\"\r\n\t\t\t*ngFor=\"let item of items; trackBy: trackBy\"\r\n\t\t\tclass=\"calendar-grid-item\"\r\n\t\t\t[ngClass]=\"item.mods\"\r\n\t\t\t[disabled]=\"item.isDisabled\"\r\n\t\t\t(click)=\"select(item)\"\r\n\t\t>\r\n\t\t\t<div class=\"calendar-grid-item-content\">{{ item.label }}</div>\r\n\t\t</button>\r\n\t</section>\r\n</section>\r\n", styles: [":root{--components-user-picture-sizes-smallest-font-size: .5em;--components-user-picture-sizes-smallest-image-size: 2.5em;--components-user-picture-sizes-smaller-font-size: .65em;--components-user-picture-sizes-smaller-image-size: 2.5em;--components-user-picture-sizes-small-font-size: .8em;--components-user-picture-sizes-small-image-size: 2.5em;--components-user-picture-sizes-standard-font-size: 1em;--components-user-picture-sizes-standard-image-size: 2.5em;--components-user-picture-sizes-large-font-size: 1.35em;--components-user-picture-sizes-large-image-size: 2.5em;--components-user-picture-sizes-larger-font-size: 1.8em;--components-user-picture-sizes-larger-image-size: 2.5em;--components-user-picture-sizes-largest-font-size: 3em;--components-user-picture-sizes-largest-image-size: 2.5em}:root{--components-options-item-padding-vertical: .5rem;--components-options-item-padding-horizontal: .5rem;--components-options-item-multiple-padding: 2rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: var(--commons-border-radius);--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: var(--spacings-standard)}.calendar{background-color:var(--colors-white-color);width:var(--components-calendar-width);padding:var(--spacings-smaller)}:host-context(.mod-block) .calendar{width:auto;max-width:var(--components-calendar-width)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.calendar-header-nav{background:transparent;border:none;cursor:pointer}.calendar-header-nav .lucca-icon{font-size:.9rem;color:var(--palettes-grey-900)}.calendar-header-date{font-weight:600;color:var(--palettes-grey-900);font-size:var(--sizes-big-font-size);padding:0;background:transparent;border:none;cursor:pointer}.calendar-labels{display:none}.calendar-labels.mod-dailyView{display:flex;align-items:stretch;flex-wrap:wrap;text-align:center;font-size:var(--sizes-small-font-size);color:var(--palettes-primary-700);margin-bottom:var(--spacings-smaller)}.calendar-labels.mod-dailyView .calendar-labels-item{width:14.1428571429%}.calendar-grid{display:flex;text-align:center;align-self:stretch;flex-wrap:wrap}.calendar-grid.mod-dailyView .calendar-grid-item{width:14.1428571429%}.calendar-grid.mod-monthlyView .calendar-grid-item,.calendar-grid.mod-yearlyView .calendar-grid-item{width:33%}.calendar-grid-item{height:2.4rem;border:none;cursor:pointer;background:transparent;position:relative;padding:0;outline:none}.calendar-grid-item.is-previousMonth,.calendar-grid-item.is-nextMonth,.calendar-grid-item.is-disabled{color:var(--palettes-grey-500)}.calendar-grid-item.is-today{color:var(--palettes-grey-800)}.calendar-grid-item.is-today:before{content:\"\";z-index:2;box-shadow:inset 0 0 0 2px var(--palettes-primary-300);position:absolute;top:0;bottom:0;left:0;right:0;border-radius:2rem}.calendar-grid-item:hover .calendar-grid-item-content{background:var(--palettes-grey-100)}.calendar-grid-item.is-active .calendar-grid-item-content{background:var(--palettes-primary-700);color:var(--palettes-primary-text)}.calendar-grid-item.is-active.is-today .calendar-grid-item-content:after{content:\"\";z-index:1;color:var(--palettes-primary-700);box-shadow:inset 0 0 0 4px #fff;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:2rem}.calendar-grid-item.is-disabled:hover .calendar-grid-item-content{pointer-events:none;background-color:#fff}.calendar-grid-item-content{position:relative;height:2.4rem;width:100%;line-height:2.4rem;border-radius:2rem}\n"] }]
|
|
401
403
|
}], ctorParameters: function () {
|
|
402
404
|
return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
|
@@ -417,14 +419,13 @@ class LuCalendarInputModule {
|
|
|
417
419
|
}
|
|
418
420
|
LuCalendarInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
419
421
|
LuCalendarInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputModule, declarations: [LuCalendarInputComponent], imports: [FormsModule, CommonModule], exports: [LuCalendarInputComponent] });
|
|
420
|
-
LuCalendarInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputModule,
|
|
422
|
+
LuCalendarInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputModule, imports: [FormsModule, CommonModule] });
|
|
421
423
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputModule, decorators: [{
|
|
422
424
|
type: NgModule,
|
|
423
425
|
args: [{
|
|
424
426
|
imports: [FormsModule, CommonModule],
|
|
425
427
|
exports: [LuCalendarInputComponent],
|
|
426
428
|
declarations: [LuCalendarInputComponent],
|
|
427
|
-
providers: [LuCalendarItemFactory],
|
|
428
429
|
}]
|
|
429
430
|
}] });
|
|
430
431
|
|