ms-time-sheet 0.0.21 → 0.0.23
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.
|
@@ -104,11 +104,11 @@ export class BadgeOverflowComponent {
|
|
|
104
104
|
this.updateBadgeVisibility();
|
|
105
105
|
}
|
|
106
106
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BadgeOverflowComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
107
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: BadgeOverflowComponent, isStandalone: true, selector: "app-badge-overflow", inputs: { badges: "badges", maxWidth: "maxWidth" }, outputs: { badgeMouseEnter: "badgeMouseEnter", badgeMouseLeave: "badgeMouseLeave", overflowCountClick: "overflowCountClick" }, ngImport: i0, template: "<div class=\"badge-overflow-container\" #container>\n <span\n *ngFor=\"let badge of visibleBadges; let i = index\"\n class=\"badge\"\n [class]=\"badge.class || 'badge-secondary'\"\n \n (mouseenter)=\"onBadgeMouseEnter($event, badge)\"\n (mouseleave)=\"onBadgeMouseLeave($event, badge)\"\n >\n {{ badge.text }}\n </span>\n <span\n *ngIf=\"overflowCount > 0\"\n class=\"badge badge-overflow-count\"\n [title]=\"getOverflowTooltip()\"\n (click)=\"onOverflowCountClick($event)\"\n >\n +{{ overflowCount }}\n </span>\n</div>", styles: [".badge-overflow-container{display:flex;flex-wrap:nowrap;gap:4px;align-items:center;min-width:0;overflow:hidden;width:100%}.badge{flex-shrink:0;white-space:nowrap;font-size:12px;padding:4px 8px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:600;line-height:1;text-transform:uppercase;letter-spacing:.5px;transition:all .3s cubic-bezier(.4,0,.2,1);border:2px solid transparent;width:32px;height:32px;box-sizing:border-box;cursor:pointer;transform:translateZ(0);will-change:transform,box-shadow,background-color;backface-visibility:hidden;color:#fff!important;&:hover{transform:scale(1.15) translateY(-2px);box-shadow:0 6px 16px #007bff40}&:active{transform:scale(1.08) translateY(-1px);transition-duration:.15s}}.break-color-paid{background-color:#4caf50!important;border-color:#4caf50!important}.break-color-unpaid{background-color:#f44336!important;border-color:#f44336!important}.break-color-lunch{background-color:#2196f3!important;border-color:#2196f3!important}.break-color-default{background-color:#f44336!important;border-color:#f44336!important}.badge-overflow-count{background-color:#6c757d!important;color:#fff!important;cursor:pointer;border:2px solid #6c757d!important;flex-shrink:0;border-radius:50%;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);transform:translateZ(0);will-change:transform,box-shadow,background-color;backface-visibility:hidden;font-size:12px;line-height:1;text-transform:uppercase;letter-spacing:.5px;&:hover{background-color:#5a6268!important;border-color:#5a6268!important;transform:scale(1.15) translateY(-2px);box-shadow:0 6px 16px #007bff40}&:active{transform:scale(1.08) translateY(-1px);transition-duration:.15s}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
107
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: BadgeOverflowComponent, isStandalone: true, selector: "app-badge-overflow", inputs: { badges: "badges", maxWidth: "maxWidth" }, outputs: { badgeMouseEnter: "badgeMouseEnter", badgeMouseLeave: "badgeMouseLeave", overflowCountClick: "overflowCountClick" }, ngImport: i0, template: "<div class=\"badge-overflow-container\" #container>\n <span\n *ngFor=\"let badge of visibleBadges; let i = index\"\n class=\"badge\"\n [class]=\"badge.class || 'badge-secondary'\"\n \n (mouseenter)=\"onBadgeMouseEnter($event, badge)\"\n (mouseleave)=\"onBadgeMouseLeave($event, badge)\"\n >\n {{ badge.text }}\n </span>\n <span\n *ngIf=\"overflowCount > 0\"\n class=\"badge badge-overflow-count\"\n [title]=\"getOverflowTooltip()\"\n (click)=\"onOverflowCountClick($event)\"\n >\n +{{ overflowCount }}\n </span>\n</div>", styles: [".badge-overflow-container{display:flex;flex-wrap:nowrap;gap:4px;align-items:center;min-width:0;overflow:hidden;width:100%}.badge{flex-shrink:0;white-space:nowrap;font-size:12px;padding:4px 8px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:600;line-height:1;text-transform:uppercase;letter-spacing:.5px;transition:all .3s cubic-bezier(.4,0,.2,1);border:2px solid transparent;width:32px;height:32px;box-sizing:border-box;cursor:pointer;transform:translateZ(0);will-change:transform,box-shadow,background-color;backface-visibility:hidden;color:#fff!important;&:hover{transform:scale(1.15) translateY(-2px);box-shadow:0 6px 16px #007bff40}&:active{transform:scale(1.08) translateY(-1px);transition-duration:.15s}}.break-color-paid{background-color:#4caf50!important;border-color:#4caf50!important}.break-color-unpaid{background-color:#f44336!important;border-color:#f44336!important}.break-color-lunch{background-color:#2196f3!important;border-color:#2196f3!important}.break-color-default,.break-color-late-out{background-color:#f44336!important;border-color:#f44336!important}.break-color-early{background-color:#4caf50!important;border-color:#4caf50!important}.break-color-null{background-color:#ff9800!important;border-color:#ff9800!important}.badge-overflow-count{background-color:#6c757d!important;color:#fff!important;cursor:pointer;border:2px solid #6c757d!important;flex-shrink:0;border-radius:50%;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);transform:translateZ(0);will-change:transform,box-shadow,background-color;backface-visibility:hidden;font-size:12px;line-height:1;text-transform:uppercase;letter-spacing:.5px;&:hover{background-color:#5a6268!important;border-color:#5a6268!important;transform:scale(1.15) translateY(-2px);box-shadow:0 6px 16px #007bff40}&:active{transform:scale(1.08) translateY(-1px);transition-duration:.15s}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
108
108
|
}
|
|
109
109
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BadgeOverflowComponent, decorators: [{
|
|
110
110
|
type: Component,
|
|
111
|
-
args: [{ selector: 'app-badge-overflow', standalone: true, imports: [CommonModule], template: "<div class=\"badge-overflow-container\" #container>\n <span\n *ngFor=\"let badge of visibleBadges; let i = index\"\n class=\"badge\"\n [class]=\"badge.class || 'badge-secondary'\"\n \n (mouseenter)=\"onBadgeMouseEnter($event, badge)\"\n (mouseleave)=\"onBadgeMouseLeave($event, badge)\"\n >\n {{ badge.text }}\n </span>\n <span\n *ngIf=\"overflowCount > 0\"\n class=\"badge badge-overflow-count\"\n [title]=\"getOverflowTooltip()\"\n (click)=\"onOverflowCountClick($event)\"\n >\n +{{ overflowCount }}\n </span>\n</div>", styles: [".badge-overflow-container{display:flex;flex-wrap:nowrap;gap:4px;align-items:center;min-width:0;overflow:hidden;width:100%}.badge{flex-shrink:0;white-space:nowrap;font-size:12px;padding:4px 8px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:600;line-height:1;text-transform:uppercase;letter-spacing:.5px;transition:all .3s cubic-bezier(.4,0,.2,1);border:2px solid transparent;width:32px;height:32px;box-sizing:border-box;cursor:pointer;transform:translateZ(0);will-change:transform,box-shadow,background-color;backface-visibility:hidden;color:#fff!important;&:hover{transform:scale(1.15) translateY(-2px);box-shadow:0 6px 16px #007bff40}&:active{transform:scale(1.08) translateY(-1px);transition-duration:.15s}}.break-color-paid{background-color:#4caf50!important;border-color:#4caf50!important}.break-color-unpaid{background-color:#f44336!important;border-color:#f44336!important}.break-color-lunch{background-color:#2196f3!important;border-color:#2196f3!important}.break-color-default{background-color:#f44336!important;border-color:#f44336!important}.badge-overflow-count{background-color:#6c757d!important;color:#fff!important;cursor:pointer;border:2px solid #6c757d!important;flex-shrink:0;border-radius:50%;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);transform:translateZ(0);will-change:transform,box-shadow,background-color;backface-visibility:hidden;font-size:12px;line-height:1;text-transform:uppercase;letter-spacing:.5px;&:hover{background-color:#5a6268!important;border-color:#5a6268!important;transform:scale(1.15) translateY(-2px);box-shadow:0 6px 16px #007bff40}&:active{transform:scale(1.08) translateY(-1px);transition-duration:.15s}}\n"] }]
|
|
111
|
+
args: [{ selector: 'app-badge-overflow', standalone: true, imports: [CommonModule], template: "<div class=\"badge-overflow-container\" #container>\n <span\n *ngFor=\"let badge of visibleBadges; let i = index\"\n class=\"badge\"\n [class]=\"badge.class || 'badge-secondary'\"\n \n (mouseenter)=\"onBadgeMouseEnter($event, badge)\"\n (mouseleave)=\"onBadgeMouseLeave($event, badge)\"\n >\n {{ badge.text }}\n </span>\n <span\n *ngIf=\"overflowCount > 0\"\n class=\"badge badge-overflow-count\"\n [title]=\"getOverflowTooltip()\"\n (click)=\"onOverflowCountClick($event)\"\n >\n +{{ overflowCount }}\n </span>\n</div>", styles: [".badge-overflow-container{display:flex;flex-wrap:nowrap;gap:4px;align-items:center;min-width:0;overflow:hidden;width:100%}.badge{flex-shrink:0;white-space:nowrap;font-size:12px;padding:4px 8px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:600;line-height:1;text-transform:uppercase;letter-spacing:.5px;transition:all .3s cubic-bezier(.4,0,.2,1);border:2px solid transparent;width:32px;height:32px;box-sizing:border-box;cursor:pointer;transform:translateZ(0);will-change:transform,box-shadow,background-color;backface-visibility:hidden;color:#fff!important;&:hover{transform:scale(1.15) translateY(-2px);box-shadow:0 6px 16px #007bff40}&:active{transform:scale(1.08) translateY(-1px);transition-duration:.15s}}.break-color-paid{background-color:#4caf50!important;border-color:#4caf50!important}.break-color-unpaid{background-color:#f44336!important;border-color:#f44336!important}.break-color-lunch{background-color:#2196f3!important;border-color:#2196f3!important}.break-color-default,.break-color-late-out{background-color:#f44336!important;border-color:#f44336!important}.break-color-early{background-color:#4caf50!important;border-color:#4caf50!important}.break-color-null{background-color:#ff9800!important;border-color:#ff9800!important}.badge-overflow-count{background-color:#6c757d!important;color:#fff!important;cursor:pointer;border:2px solid #6c757d!important;flex-shrink:0;border-radius:50%;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);transform:translateZ(0);will-change:transform,box-shadow,background-color;backface-visibility:hidden;font-size:12px;line-height:1;text-transform:uppercase;letter-spacing:.5px;&:hover{background-color:#5a6268!important;border-color:#5a6268!important;transform:scale(1.15) translateY(-2px);box-shadow:0 6px 16px #007bff40}&:active{transform:scale(1.08) translateY(-1px);transition-duration:.15s}}\n"] }]
|
|
112
112
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { badges: [{
|
|
113
113
|
type: Input
|
|
114
114
|
}], maxWidth: [{
|
|
@@ -120,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
120
120
|
}], overflowCountClick: [{
|
|
121
121
|
type: Output
|
|
122
122
|
}] } });
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2Utb3ZlcmZsb3cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXMtdGltZS1zaGVldC9zcmMvbGliL2NvbXBvbmVudHMvYmFkZ2Utb3ZlcmZsb3cvYmFkZ2Utb3ZlcmZsb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXMtdGltZS1zaGVldC9zcmMvbGliL2NvbXBvbmVudHMvYmFkZ2Utb3ZlcmZsb3cvYmFkZ2Utb3ZlcmZsb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBMkQsTUFBTSxlQUFlLENBQUM7QUFDaEksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFxSC9DLE1BQU0sT0FBTyxzQkFBc0I7SUFjakMsWUFDVSxVQUFzQixFQUN0QixHQUFzQjtRQUR0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBZnZCLFdBQU0sR0FBZ0IsRUFBRSxDQUFDO1FBQ3pCLGFBQVEsR0FBVyxHQUFHLENBQUM7UUFDdEIsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBeUMsQ0FBQztRQUM1RSxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUF5QyxDQUFDO1FBQzVFLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFzRCxDQUFDO1FBRXRHLGtCQUFhLEdBQWdCLEVBQUUsQ0FBQztRQUNoQyxtQkFBYyxHQUFnQixFQUFFLENBQUM7UUFDakMsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFFVixtQkFBYyxHQUEwQixJQUFJLENBQUM7UUFDN0MscUJBQWdCLEdBQXVCLElBQUksQ0FBQztJQUtqRCxDQUFDO0lBRUosZUFBZTtRQUNiLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMs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QWMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBQ0QsNEJBQTRCO0lBQzlCLE9BQU87UUFDTCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMvQixDQUFDOytHQXRIWSxzQkFBc0I7bUdBQXRCLHNCQUFzQixpUUN0SG5DLG1qQkFtQk0sOHpERE5NLFlBQVk7OzRGQXlHWCxzQkFBc0I7a0JBNUdsQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7K0dBMEdkLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgRWxlbWVudFJlZiwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBCYWRnZUl0ZW0ge1xuICB0ZXh0OiBzdHJpbmc7XG4gIGNsYXNzPzogc3RyaW5nO1xuICB0b29sdGlwPzogc3RyaW5nO1xuICBkYXRhPzogYW55OyAvLyBBZGRpdGlvbmFsIGRhdGEgZm9yIGNhbGxiYWNrc1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYmFkZ2Utb3ZlcmZsb3cnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JhZGdlLW92ZXJmbG93LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbYFxuICAgIC5iYWRnZS1vdmVyZmxvdy1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZ2FwOiA0cHg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5iYWRnZSB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyAvKiBNYWtlIGJhZGdlcyBjaXJjdWxhciBsaWtlIGNpcmNsZS12YWx1ZSAqL1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmb250LXdlaWdodDogNjAwOyAvKiBNYXRjaCBjaXJjbGUtdmFsdWUgZm9udC13ZWlnaHQgKi9cbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7IC8qIE1hdGNoIGNpcmNsZS12YWx1ZSB0cmFuc2l0aW9uICovXG4gICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsgLyogTWF0Y2ggY2lyY2xlLXZhbHVlIGJvcmRlciBzdHlsZSAqL1xuICAgICAgd2lkdGg6IDMycHg7IC8qIEZpeGVkIGNpcmN1bGFyIHNpemUgKi9cbiAgICAgIGhlaWdodDogMzJweDsgLyogRml4ZWQgY2lyY3VsYXIgc2l6ZSAqL1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgLyogTWF0Y2ggY2lyY2xlLXZhbHVlIGN1cnNvciAqL1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOyAvKiBIYXJkd2FyZSBhY2NlbGVyYXRpb24gKi9cbiAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJveC1zaGFkb3csIGJhY2tncm91bmQtY29sb3I7XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xNSkgdHJhbnNsYXRlWSgtMnB4KTsgLyogTWF0Y2ggY2lyY2xlLXZhbHVlIGhvdmVyIGVmZmVjdCAqL1xuICAgICAgICBib3gtc2hhZG93OiAwIDZweCAxNnB4IHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpOyAvKiBNYXRjaCBjaXJjbGUtdmFsdWUgc2hhZG93ICovXG4gICAgICB9XG5cbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KSB0cmFuc2xhdGVZKC0xcHgpOyAvKiBNYXRjaCBjaXJjbGUtdmFsdWUgYWN0aXZlIGVmZmVjdCAqL1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBCcmVhayBjb2xvciBjbGFzc2VzIGZvciBwcm9wZXIgYmFkZ2UgY29sb3JpbmcgKi9cbiAgICAuYnJlYWstY29sb3ItcGFpZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNENBRjUwICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItY29sb3I6ICM0Q0FGNTAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYnJlYWstY29sb3ItdW5wYWlkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGNDQzMzYgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1jb2xvcjogI0Y0NDMzNiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5icmVhay1jb2xvci1sdW5jaCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE5NkYzICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItY29sb3I6ICMyMTk2RjMgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYnJlYWstY29sb3ItZGVmYXVsdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjQ0MzM2ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItY29sb3I6ICNGNDQzMzYgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYmFkZ2Utb3ZlcmZsb3ctY291bnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZjNzU3ZCAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjNmM3NTdkICFpbXBvcnRhbnQ7IC8qIE1hdGNoIGNpcmN1bGFyIGJvcmRlciBzdHlsZSAqL1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7IC8qIE1ha2UgY291bnQgYmFkZ2UgY2lyY3VsYXIgdG9vICovXG4gICAgICB3aWR0aDogMzJweDsgLyogTWF0Y2ggc2l6ZSAqL1xuICAgICAgaGVpZ2h0OiAzMnB4OyAvKiBNYXRjaCBzaXplICovXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IC8qIE1hdGNoIGZvbnQtd2VpZ2h0ICovXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOyAvKiBNYXRjaCB0cmFuc2l0aW9uICovXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBib3gtc2hhZG93LCBiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVhNjI2OCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItY29sb3I6ICM1YTYyNjggIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjE1KSB0cmFuc2xhdGVZKC0ycHgpOyAvKiBNYXRjaCBob3ZlciBlZmZlY3QgKi9cbiAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMTZweCByZ2JhKDAsIDEyMywgMjU1LCAwLjI1KTtcbiAgICAgIH1cblxuICAgICAgJjphY3RpdmUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDgpIHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICAgICAgfVxuICAgIH1cbiAgYF1cbn0pXG5leHBvcnQgY2xhc3MgQmFkZ2VPdmVyZmxvd0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGJhZGdlczogQmFkZ2VJdGVtW10gPSBbXTtcbiAgQElucHV0KCkgbWF4V2lkdGg6IG51bWJlciA9IDIwMDtcbiAgQE91dHB1dCgpIGJhZGdlTW91c2VFbnRlciA9IG5ldyBFdmVudEVtaXR0ZXI8e2V2ZW50OiBNb3VzZUV2ZW50LCBiYWRnZTogQmFkZ2VJdGVtfT4oKTtcbiAgQE91dHB1dCgpIGJhZGdlTW91c2VMZWF2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8e2V2ZW50OiBNb3VzZUV2ZW50LCBiYWRnZTogQmFkZ2VJdGVtfT4oKTtcbiAgQE91dHB1dCgpIG92ZXJmbG93Q291bnRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8eyBldmVudDogTW91c2VFdmVudDsgb3ZlcmZsb3dCYWRnZXM6IEJhZGdlSXRlbVtdIH0+KCk7XG5cbiAgdmlzaWJsZUJhZGdlczogQmFkZ2VJdGVtW10gPSBbXTtcbiAgb3ZlcmZsb3dCYWRnZXM6IEJhZGdlSXRlbVtdID0gW107XG4gIG92ZXJmbG93Q291bnQgPSAwO1xuXG4gIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgY29udGFpbmVyRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5jb250YWluZXJFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmJhZGdlLW92ZXJmbG93LWNvbnRhaW5lcicpO1xuICAgIHRoaXMuc2V0dXBSZXNpemVPYnNlcnZlcigpO1xuICAgIHRoaXMudXBkYXRlQmFkZ2VWaXNpYmlsaXR5KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5yZXNpemVPYnNlcnZlcikge1xuICAgICAgdGhpcy5yZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cFJlc2l6ZU9ic2VydmVyKCkge1xuICAgIGlmICghdGhpcy5jb250YWluZXJFbGVtZW50KSByZXR1cm47XG5cbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlQmFkZ2VWaXNpYmlsaXR5KCk7XG4gICAgfSk7XG5cbiAgICAvLyBPYnNlcnZlIHRoZSBwYXJlbnQgY29udGFpbmVyIGZvciB3aWR0aCBjaGFuZ2VzXG4gICAgY29uc3QgcGFyZW50RWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgaWYgKHBhcmVudEVsZW1lbnQpIHtcbiAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShwYXJlbnRFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUJhZGdlVmlzaWJpbGl0eSgpIHtcbiAgICBpZiAoIXRoaXMuY29udGFpbmVyRWxlbWVudCB8fCAhdGhpcy5iYWRnZXMubGVuZ3RoKSByZXR1cm47XG5cbiAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IHRoaXMuY29udGFpbmVyRWxlbWVudC5wYXJlbnRFbGVtZW50Py5jbGllbnRXaWR0aCB8fCB0aGlzLm1heFdpZHRoO1xuICAgIGxldCB0b3RhbFdpZHRoID0gMDtcbiAgICBjb25zdCB2aXNpYmxlOiBCYWRnZUl0ZW1bXSA9IFtdO1xuICAgIGNvbnN0IG92ZXJmbG93OiBCYWRnZUl0ZW1bXSA9IFtdO1xuXG4gICAgLy8gQ2FsY3VsYXRlIHdpZHRoIG5lZWRlZCBmb3IgZWFjaCBiYWRnZVxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5iYWRnZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGJhZGdlID0gdGhpcy5iYWRnZXNbaV07XG4gICAgICBjb25zdCBiYWRnZVdpZHRoID0gdGhpcy5lc3RpbWF0ZUJhZGdlV2lkdGgoYmFkZ2UpO1xuXG4gICAgICBpZiAodG90YWxXaWR0aCArIGJhZGdlV2lkdGggPD0gY29udGFpbmVyV2lkdGggfHwgdmlzaWJsZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdmlzaWJsZS5wdXNoKGJhZGdlKTtcbiAgICAgICAgdG90YWxXaWR0aCArPSBiYWRnZVdpZHRoICsgNDsgLy8gKzQgZm9yIGdhcFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3ZlcmZsb3cucHVzaChiYWRnZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgd2UgaGF2ZSBvdmVyZmxvdywgY2hlY2sgaWYgd2UgbmVlZCB0byBzaG93IGNvdW50IGJhZGdlXG4gICAgaWYgKG92ZXJmbG93Lmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGNvdW50QmFkZ2VXaWR0aCA9IHRoaXMuZXN0aW1hdGVDb3VudEJhZGdlV2lkdGgob3ZlcmZsb3cubGVuZ3RoKTtcbiAgICAgIGNvbnN0IGxhc3RWaXNpYmxlSW5kZXggPSB2aXNpYmxlLmxlbmd0aCAtIDE7XG5cbiAgICAgIC8vIElmIGFkZGluZyBjb3VudCBiYWRnZSB3b3VsZCBleGNlZWQgd2lkdGgsIHJlbW92ZSBvbmUgbW9yZSB2aXNpYmxlIGJhZGdlXG4gICAgICBpZiAodG90YWxXaWR0aCArIGNvdW50QmFkZ2VXaWR0aCA+IGNvbnRhaW5lcldpZHRoICYmIHZpc2libGUubGVuZ3RoID4gMSkge1xuICAgICAgICBjb25zdCByZW1vdmVkQmFkZ2UgPSB2aXNpYmxlLnBvcCgpO1xuICAgICAgICBpZiAocmVtb3ZlZEJhZGdlKSB7XG4gICAgICAgICAgb3ZlcmZsb3cudW5zaGlmdChyZW1vdmVkQmFkZ2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy52aXNpYmxlQmFkZ2VzID0gdmlzaWJsZTtcbiAgICB0aGlzLm92ZXJmbG93QmFkZ2VzID0gb3ZlcmZsb3c7XG4gICAgdGhpcy5vdmVyZmxvd0NvdW50ID0gb3ZlcmZsb3cubGVuZ3RoO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZXN0aW1hdGVCYWRnZVdpZHRoKGJhZGdlOiBCYWRnZUl0ZW0pOiBudW1iZXIge1xuICAgIC8vIFJvdWdoIGVzdGltYXRpb246IHRleHQgbGVuZ3RoICogOHB4IHBlciBjaGFyYWN0ZXIgKyBwYWRkaW5nXG4gICAgY29uc3QgdGV4dFdpZHRoID0gYmFkZ2UudGV4dC5sZW5ndGggKiA4O1xuICAgIGNvbnN0IHBhZGRpbmcgPSAxNjsgLy8gOHB4IGxlZnQgKyA4cHggcmlnaHRcbiAgICByZXR1cm4gdGV4dFdpZHRoICsgcGFkZGluZztcbiAgfVxuXG4gIHByaXZhdGUgZXN0aW1hdGVDb3VudEJhZGdlV2lkdGgoY291bnQ6IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgdGV4dCA9IGArJHtjb3VudH1gO1xuICAgIGNvbnN0IHRleHRXaWR0aCA9IHRleHQubGVuZ3RoICogODtcbiAgICBjb25zdCBwYWRkaW5nID0gMTY7XG4gICAgcmV0dXJuIHRleHRXaWR0aCArIHBhZGRpbmc7XG4gIH1cblxuICBnZXRPdmVyZmxvd1Rvb2x0aXAoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5vdmVyZmxvd0JhZGdlcy5tYXAoYiA9PiBiLnRleHQpLmpvaW4oJywgJyk7XG4gIH1cblxuICBvbkJhZGdlTW91c2VFbnRlcihldmVudDogTW91c2VFdmVudCwgYmFkZ2U6IEJhZGdlSXRlbSkge1xuICAgIHRoaXMuYmFkZ2VNb3VzZUVudGVyLmVtaXQoeyBldmVudCwgYmFkZ2UgfSk7XG4gIH1cblxuICBvbkJhZGdlTW91c2VMZWF2ZShldmVudDogTW91c2VFdmVudCwgYmFkZ2U6IEJhZGdlSXRlbSkge1xuICAgIHRoaXMuYmFkZ2VNb3VzZUxlYXZlLmVtaXQoeyBldmVudCwgYmFkZ2UgfSk7XG4gIH1cblxuICBvbk92ZXJmbG93Q291bnRDbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMub3ZlcmZsb3dDb3VudENsaWNrLmVtaXQoeyBldmVudCwgb3ZlcmZsb3dCYWRnZXM6IHRoaXMub3ZlcmZsb3dCYWRnZXMgfSk7XG4gIH1cbiAgLy8gSW4gQmFkZ2VPdmVyZmxvd0NvbXBvbmVudFxucmVmcmVzaCgpIHtcbiAgdGhpcy51cGRhdGVCYWRnZVZpc2liaWxpdHkoKTtcbn1cbn0iLCI8ZGl2IGNsYXNzPVwiYmFkZ2Utb3ZlcmZsb3ctY29udGFpbmVyXCIgI2NvbnRhaW5lcj5cbiAgPHNwYW5cbiAgICAqbmdGb3I9XCJsZXQgYmFkZ2Ugb2YgdmlzaWJsZUJhZGdlczsgbGV0IGkgPSBpbmRleFwiXG4gICAgY2xhc3M9XCJiYWRnZVwiXG4gICAgW2NsYXNzXT1cImJhZGdlLmNsYXNzIHx8ICdiYWRnZS1zZWNvbmRhcnknXCJcbiAgICBcbiAgICAobW91c2VlbnRlcik9XCJvbkJhZGdlTW91c2VFbnRlcigkZXZlbnQsIGJhZGdlKVwiXG4gICAgKG1vdXNlbGVhdmUpPVwib25CYWRnZU1vdXNlTGVhdmUoJGV2ZW50LCBiYWRnZSlcIlxuICA+XG4gICAge3sgYmFkZ2UudGV4dCB9fVxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nSWY9XCJvdmVyZmxvd0NvdW50ID4gMFwiXG4gICAgY2xhc3M9XCJiYWRnZSBiYWRnZS1vdmVyZmxvdy1jb3VudFwiXG4gICAgW3RpdGxlXT1cImdldE92ZXJmbG93VG9vbHRpcCgpXCJcbiAgICAoY2xpY2spPVwib25PdmVyZmxvd0NvdW50Q2xpY2soJGV2ZW50KVwiXG4gID5cbiAgICAre3sgb3ZlcmZsb3dDb3VudCB9fVxuICA8L3NwYW4+XG48L2Rpdj4iXX0=
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2Utb3ZlcmZsb3cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXMtdGltZS1zaGVldC9zcmMvbGliL2NvbXBvbmVudHMvYmFkZ2Utb3ZlcmZsb3cvYmFkZ2Utb3ZlcmZsb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXMtdGltZS1zaGVldC9zcmMvbGliL2NvbXBvbmVudHMvYmFkZ2Utb3ZlcmZsb3cvYmFkZ2Utb3ZlcmZsb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBMkQsTUFBTSxlQUFlLENBQUM7QUFDaEksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFxSS9DLE1BQU0sT0FBTyxzQkFBc0I7SUFjakMsWUFDVSxVQUFzQixFQUN0QixHQUFzQjtRQUR0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBZnZCLFdBQU0sR0FBZ0IsRUFBRSxDQUFDO1FBQ3pCLGFBQVEsR0FBVyxHQUFHLENBQUM7UUFDdEIsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBeUMsQ0FBQztRQUM1RSxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUF5QyxDQUFDO1FBQzVFLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFzRCxDQUFDO1FBRXRHLGtCQUFhLEdBQWdCLEVBQUUsQ0FBQztRQUNoQyxtQkFBYyxHQUFnQixFQUFFLENBQUM7UUFDakMsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFFVixtQkFBYyxHQUEwQixJQUFJLENBQUM7UUFDN0MscUJBQWdCLEdBQXVCLElBQUksQ0FBQztJQUtqRCxDQUFDO0lBRUosZUFBZTtRQUNiLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMs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QWMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBQ0QsNEJBQTRCO0lBQzlCLE9BQU87UUFDTCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMvQixDQUFDOytHQXRIWSxzQkFBc0I7bUdBQXRCLHNCQUFzQixpUUN0SW5DLG1qQkFtQk0sNi9ERE5NLFlBQVk7OzRGQXlIWCxzQkFBc0I7a0JBNUhsQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7K0dBMEhkLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgRWxlbWVudFJlZiwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBCYWRnZUl0ZW0ge1xuICB0ZXh0OiBzdHJpbmc7XG4gIGNsYXNzPzogc3RyaW5nO1xuICB0b29sdGlwPzogc3RyaW5nO1xuICBkYXRhPzogYW55OyAvLyBBZGRpdGlvbmFsIGRhdGEgZm9yIGNhbGxiYWNrc1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYmFkZ2Utb3ZlcmZsb3cnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JhZGdlLW92ZXJmbG93LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbYFxuICAgIC5iYWRnZS1vdmVyZmxvdy1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZ2FwOiA0cHg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5iYWRnZSB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyAvKiBNYWtlIGJhZGdlcyBjaXJjdWxhciBsaWtlIGNpcmNsZS12YWx1ZSAqL1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmb250LXdlaWdodDogNjAwOyAvKiBNYXRjaCBjaXJjbGUtdmFsdWUgZm9udC13ZWlnaHQgKi9cbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7IC8qIE1hdGNoIGNpcmNsZS12YWx1ZSB0cmFuc2l0aW9uICovXG4gICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsgLyogTWF0Y2ggY2lyY2xlLXZhbHVlIGJvcmRlciBzdHlsZSAqL1xuICAgICAgd2lkdGg6IDMycHg7IC8qIEZpeGVkIGNpcmN1bGFyIHNpemUgKi9cbiAgICAgIGhlaWdodDogMzJweDsgLyogRml4ZWQgY2lyY3VsYXIgc2l6ZSAqL1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgLyogTWF0Y2ggY2lyY2xlLXZhbHVlIGN1cnNvciAqL1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOyAvKiBIYXJkd2FyZSBhY2NlbGVyYXRpb24gKi9cbiAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJveC1zaGFkb3csIGJhY2tncm91bmQtY29sb3I7XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xNSkgdHJhbnNsYXRlWSgtMnB4KTsgLyogTWF0Y2ggY2lyY2xlLXZhbHVlIGhvdmVyIGVmZmVjdCAqL1xuICAgICAgICBib3gtc2hhZG93OiAwIDZweCAxNnB4IHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpOyAvKiBNYXRjaCBjaXJjbGUtdmFsdWUgc2hhZG93ICovXG4gICAgICB9XG5cbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KSB0cmFuc2xhdGVZKC0xcHgpOyAvKiBNYXRjaCBjaXJjbGUtdmFsdWUgYWN0aXZlIGVmZmVjdCAqL1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBCcmVhayBjb2xvciBjbGFzc2VzIGZvciBwcm9wZXIgYmFkZ2UgY29sb3JpbmcgKi9cbiAgICAuYnJlYWstY29sb3ItcGFpZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNENBRjUwICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItY29sb3I6ICM0Q0FGNTAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYnJlYWstY29sb3ItdW5wYWlkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGNDQzMzYgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1jb2xvcjogI0Y0NDMzNiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5icmVhay1jb2xvci1sdW5jaCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE5NkYzICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItY29sb3I6ICMyMTk2RjMgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYnJlYWstY29sb3ItZGVmYXVsdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjQ0MzM2ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItY29sb3I6ICNGNDQzMzYgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBCcmVhayBzdGF0dXMgY29sb3IgY2xhc3NlcyAqL1xuICAgIC5icmVhay1jb2xvci1sYXRlLW91dCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjQ0MzM2ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItY29sb3I6ICNGNDQzMzYgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYnJlYWstY29sb3ItZWFybHkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRDQUY1MCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNENBRjUwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmJyZWFrLWNvbG9yLW51bGwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGOTgwMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjRkY5ODAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmJhZGdlLW92ZXJmbG93LWNvdW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2QgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgIzZjNzU3ZCAhaW1wb3J0YW50OyAvKiBNYXRjaCBjaXJjdWxhciBib3JkZXIgc3R5bGUgKi9cbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyAvKiBNYWtlIGNvdW50IGJhZGdlIGNpcmN1bGFyIHRvbyAqL1xuICAgICAgd2lkdGg6IDMycHg7IC8qIE1hdGNoIHNpemUgKi9cbiAgICAgIGhlaWdodDogMzJweDsgLyogTWF0Y2ggc2l6ZSAqL1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmb250LXdlaWdodDogNjAwOyAvKiBNYXRjaCBmb250LXdlaWdodCAqL1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsgLyogTWF0Y2ggdHJhbnNpdGlvbiAqL1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYm94LXNoYWRvdywgYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1YTYyNjggIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNWE2MjY4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xNSkgdHJhbnNsYXRlWSgtMnB4KTsgLyogTWF0Y2ggaG92ZXIgZWZmZWN0ICovXG4gICAgICAgIGJveC1zaGFkb3c6IDAgNnB4IDE2cHggcmdiYSgwLCAxMjMsIDI1NSwgMC4yNSk7XG4gICAgICB9XG5cbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KSB0cmFuc2xhdGVZKC0xcHgpO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgICAgIH1cbiAgICB9XG4gIGBdXG59KVxuZXhwb3J0IGNsYXNzIEJhZGdlT3ZlcmZsb3dDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBiYWRnZXM6IEJhZGdlSXRlbVtdID0gW107XG4gIEBJbnB1dCgpIG1heFdpZHRoOiBudW1iZXIgPSAyMDA7XG4gIEBPdXRwdXQoKSBiYWRnZU1vdXNlRW50ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPHtldmVudDogTW91c2VFdmVudCwgYmFkZ2U6IEJhZGdlSXRlbX0+KCk7XG4gIEBPdXRwdXQoKSBiYWRnZU1vdXNlTGVhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPHtldmVudDogTW91c2VFdmVudCwgYmFkZ2U6IEJhZGdlSXRlbX0+KCk7XG4gIEBPdXRwdXQoKSBvdmVyZmxvd0NvdW50Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHsgZXZlbnQ6IE1vdXNlRXZlbnQ7IG92ZXJmbG93QmFkZ2VzOiBCYWRnZUl0ZW1bXSB9PigpO1xuXG4gIHZpc2libGVCYWRnZXM6IEJhZGdlSXRlbVtdID0gW107XG4gIG92ZXJmbG93QmFkZ2VzOiBCYWRnZUl0ZW1bXSA9IFtdO1xuICBvdmVyZmxvd0NvdW50ID0gMDtcblxuICBwcml2YXRlIHJlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlciB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGNvbnRhaW5lckVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuY29udGFpbmVyRWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5iYWRnZS1vdmVyZmxvdy1jb250YWluZXInKTtcbiAgICB0aGlzLnNldHVwUmVzaXplT2JzZXJ2ZXIoKTtcbiAgICB0aGlzLnVwZGF0ZUJhZGdlVmlzaWJpbGl0eSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMucmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBSZXNpemVPYnNlcnZlcigpIHtcbiAgICBpZiAoIXRoaXMuY29udGFpbmVyRWxlbWVudCkgcmV0dXJuO1xuXG4gICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZUJhZGdlVmlzaWJpbGl0eSgpO1xuICAgIH0pO1xuXG4gICAgLy8gT2JzZXJ2ZSB0aGUgcGFyZW50IGNvbnRhaW5lciBmb3Igd2lkdGggY2hhbmdlc1xuICAgIGNvbnN0IHBhcmVudEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgIGlmIChwYXJlbnRFbGVtZW50KSB7XG4gICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUocGFyZW50RWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVCYWRnZVZpc2liaWxpdHkoKSB7XG4gICAgaWYgKCF0aGlzLmNvbnRhaW5lckVsZW1lbnQgfHwgIXRoaXMuYmFkZ2VzLmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgY29uc3QgY29udGFpbmVyV2lkdGggPSB0aGlzLmNvbnRhaW5lckVsZW1lbnQucGFyZW50RWxlbWVudD8uY2xpZW50V2lkdGggfHwgdGhpcy5tYXhXaWR0aDtcbiAgICBsZXQgdG90YWxXaWR0aCA9IDA7XG4gICAgY29uc3QgdmlzaWJsZTogQmFkZ2VJdGVtW10gPSBbXTtcbiAgICBjb25zdCBvdmVyZmxvdzogQmFkZ2VJdGVtW10gPSBbXTtcblxuICAgIC8vIENhbGN1bGF0ZSB3aWR0aCBuZWVkZWQgZm9yIGVhY2ggYmFkZ2VcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuYmFkZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBiYWRnZSA9IHRoaXMuYmFkZ2VzW2ldO1xuICAgICAgY29uc3QgYmFkZ2VXaWR0aCA9IHRoaXMuZXN0aW1hdGVCYWRnZVdpZHRoKGJhZGdlKTtcblxuICAgICAgaWYgKHRvdGFsV2lkdGggKyBiYWRnZVdpZHRoIDw9IGNvbnRhaW5lcldpZHRoIHx8IHZpc2libGUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHZpc2libGUucHVzaChiYWRnZSk7XG4gICAgICAgIHRvdGFsV2lkdGggKz0gYmFkZ2VXaWR0aCArIDQ7IC8vICs0IGZvciBnYXBcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG92ZXJmbG93LnB1c2goYmFkZ2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHdlIGhhdmUgb3ZlcmZsb3csIGNoZWNrIGlmIHdlIG5lZWQgdG8gc2hvdyBjb3VudCBiYWRnZVxuICAgIGlmIChvdmVyZmxvdy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBjb3VudEJhZGdlV2lkdGggPSB0aGlzLmVzdGltYXRlQ291bnRCYWRnZVdpZHRoKG92ZXJmbG93Lmxlbmd0aCk7XG4gICAgICBjb25zdCBsYXN0VmlzaWJsZUluZGV4ID0gdmlzaWJsZS5sZW5ndGggLSAxO1xuXG4gICAgICAvLyBJZiBhZGRpbmcgY291bnQgYmFkZ2Ugd291bGQgZXhjZWVkIHdpZHRoLCByZW1vdmUgb25lIG1vcmUgdmlzaWJsZSBiYWRnZVxuICAgICAgaWYgKHRvdGFsV2lkdGggKyBjb3VudEJhZGdlV2lkdGggPiBjb250YWluZXJXaWR0aCAmJiB2aXNpYmxlLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgY29uc3QgcmVtb3ZlZEJhZGdlID0gdmlzaWJsZS5wb3AoKTtcbiAgICAgICAgaWYgKHJlbW92ZWRCYWRnZSkge1xuICAgICAgICAgIG92ZXJmbG93LnVuc2hpZnQocmVtb3ZlZEJhZGdlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMudmlzaWJsZUJhZGdlcyA9IHZpc2libGU7XG4gICAgdGhpcy5vdmVyZmxvd0JhZGdlcyA9IG92ZXJmbG93O1xuICAgIHRoaXMub3ZlcmZsb3dDb3VudCA9IG92ZXJmbG93Lmxlbmd0aDtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIGVzdGltYXRlQmFkZ2VXaWR0aChiYWRnZTogQmFkZ2VJdGVtKTogbnVtYmVyIHtcbiAgICAvLyBSb3VnaCBlc3RpbWF0aW9uOiB0ZXh0IGxlbmd0aCAqIDhweCBwZXIgY2hhcmFjdGVyICsgcGFkZGluZ1xuICAgIGNvbnN0IHRleHRXaWR0aCA9IGJhZGdlLnRleHQubGVuZ3RoICogODtcbiAgICBjb25zdCBwYWRkaW5nID0gMTY7IC8vIDhweCBsZWZ0ICsgOHB4IHJpZ2h0XG4gICAgcmV0dXJuIHRleHRXaWR0aCArIHBhZGRpbmc7XG4gIH1cblxuICBwcml2YXRlIGVzdGltYXRlQ291bnRCYWRnZVdpZHRoKGNvdW50OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGNvbnN0IHRleHQgPSBgKyR7Y291bnR9YDtcbiAgICBjb25zdCB0ZXh0V2lkdGggPSB0ZXh0Lmxlbmd0aCAqIDg7XG4gICAgY29uc3QgcGFkZGluZyA9IDE2O1xuICAgIHJldHVybiB0ZXh0V2lkdGggKyBwYWRkaW5nO1xuICB9XG5cbiAgZ2V0T3ZlcmZsb3dUb29sdGlwKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMub3ZlcmZsb3dCYWRnZXMubWFwKGIgPT4gYi50ZXh0KS5qb2luKCcsICcpO1xuICB9XG5cbiAgb25CYWRnZU1vdXNlRW50ZXIoZXZlbnQ6IE1vdXNlRXZlbnQsIGJhZGdlOiBCYWRnZUl0ZW0pIHtcbiAgICB0aGlzLmJhZGdlTW91c2VFbnRlci5lbWl0KHsgZXZlbnQsIGJhZGdlIH0pO1xuICB9XG5cbiAgb25CYWRnZU1vdXNlTGVhdmUoZXZlbnQ6IE1vdXNlRXZlbnQsIGJhZGdlOiBCYWRnZUl0ZW0pIHtcbiAgICB0aGlzLmJhZGdlTW91c2VMZWF2ZS5lbWl0KHsgZXZlbnQsIGJhZGdlIH0pO1xuICB9XG5cbiAgb25PdmVyZmxvd0NvdW50Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLm92ZXJmbG93Q291bnRDbGljay5lbWl0KHsgZXZlbnQsIG92ZXJmbG93QmFkZ2VzOiB0aGlzLm92ZXJmbG93QmFkZ2VzIH0pO1xuICB9XG4gIC8vIEluIEJhZGdlT3ZlcmZsb3dDb21wb25lbnRcbnJlZnJlc2goKSB7XG4gIHRoaXMudXBkYXRlQmFkZ2VWaXNpYmlsaXR5KCk7XG59XG59IiwiPGRpdiBjbGFzcz1cImJhZGdlLW92ZXJmbG93LWNvbnRhaW5lclwiICNjb250YWluZXI+XG4gIDxzcGFuXG4gICAgKm5nRm9yPVwibGV0IGJhZGdlIG9mIHZpc2libGVCYWRnZXM7IGxldCBpID0gaW5kZXhcIlxuICAgIGNsYXNzPVwiYmFkZ2VcIlxuICAgIFtjbGFzc109XCJiYWRnZS5jbGFzcyB8fCAnYmFkZ2Utc2Vjb25kYXJ5J1wiXG4gICAgXG4gICAgKG1vdXNlZW50ZXIpPVwib25CYWRnZU1vdXNlRW50ZXIoJGV2ZW50LCBiYWRnZSlcIlxuICAgIChtb3VzZWxlYXZlKT1cIm9uQmFkZ2VNb3VzZUxlYXZlKCRldmVudCwgYmFkZ2UpXCJcbiAgPlxuICAgIHt7IGJhZGdlLnRleHQgfX1cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ0lmPVwib3ZlcmZsb3dDb3VudCA+IDBcIlxuICAgIGNsYXNzPVwiYmFkZ2UgYmFkZ2Utb3ZlcmZsb3ctY291bnRcIlxuICAgIFt0aXRsZV09XCJnZXRPdmVyZmxvd1Rvb2x0aXAoKVwiXG4gICAgKGNsaWNrKT1cIm9uT3ZlcmZsb3dDb3VudENsaWNrKCRldmVudClcIlxuICA+XG4gICAgK3t7IG92ZXJmbG93Q291bnQgfX1cbiAgPC9zcGFuPlxuPC9kaXY+Il19
|