@spicainternational/ngx-sds-components 7.1.0-beta.9 → 7.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/src/lib/app-switcher/app-switcher.component.mjs +48 -11
- package/esm2020/src/lib/app-switcher/app-switcher.module.mjs +8 -4
- package/esm2020/src/lib/date-picker/date-picker.component.mjs +52 -10
- package/esm2020/src/lib/date-picker/date-picker.module.mjs +7 -3
- package/esm2020/src/lib/date-pipes/date-pipes.module.mjs +5 -4
- package/esm2020/src/lib/date-pipes/date-time-formats.constants.mjs +156 -0
- package/esm2020/src/lib/date-pipes/date-time-range-format.pipe.mjs +44 -0
- package/esm2020/src/lib/date-pipes/public-api.mjs +3 -1
- package/esm2020/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.mjs +3 -3
- package/esm2020/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.mjs +3 -3
- package/esm2020/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.mjs +3 -3
- package/esm2020/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.mjs +6 -5
- package/esm2020/src/lib/navigation/product-home/product-home.component.mjs +1 -1
- package/esm2020/src/lib/timeline/components/timeline.component.mjs +22 -4
- package/esm2020/src/lib/timeline/models/timeline.model.mjs +1 -1
- package/esm2020/src/lib/timeline/services/timeline.service.mjs +8 -4
- package/esm2020/src/lib/timeline/types/timeline.types.mjs +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +57 -14
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +57 -11
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs +196 -4
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-navigation.mjs +12 -11
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-timeline.mjs +28 -6
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +54 -14
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +57 -11
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs +202 -4
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-navigation.mjs +12 -11
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-timeline.mjs +28 -6
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/app-switcher/app-switcher.component.d.ts +14 -4
- package/src/lib/app-switcher/app-switcher.module.d.ts +5 -4
- package/src/lib/date-picker/date-picker.component.d.ts +23 -1
- package/src/lib/date-picker/date-picker.module.d.ts +5 -4
- package/src/lib/date-pipes/date-pipes.module.d.ts +3 -2
- package/src/lib/date-pipes/date-time-formats.constants.d.ts +22 -0
- package/src/lib/date-pipes/date-time-range-format.pipe.d.ts +15 -0
- package/src/lib/date-pipes/public-api.d.ts +2 -0
- package/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.d.ts +1 -1
- package/src/lib/timeline/components/timeline.component.d.ts +16 -2
- package/src/lib/timeline/models/timeline.model.d.ts +2 -0
- package/src/lib/timeline/services/timeline.service.d.ts +2 -2
- package/src/lib/timeline/types/timeline.types.d.ts +1 -0
package/esm2020/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.mjs
CHANGED
|
@@ -53,9 +53,10 @@ export class SdsNavigationUserProfileComponent {
|
|
|
53
53
|
this.showOptions = true;
|
|
54
54
|
this.showOptionsChange.emit(this.showOptions);
|
|
55
55
|
}
|
|
56
|
-
toggleOptions() {
|
|
56
|
+
toggleOptions(event) {
|
|
57
|
+
event.stopPropagation();
|
|
57
58
|
this.showOptions = !this.showOptions;
|
|
58
|
-
console.log(this.showOptions);
|
|
59
|
+
// console.log(this.showOptions);
|
|
59
60
|
this.showOptionsChange.emit(this.showOptions);
|
|
60
61
|
}
|
|
61
62
|
onNotificationBadgeClick(event) {
|
|
@@ -64,10 +65,10 @@ export class SdsNavigationUserProfileComponent {
|
|
|
64
65
|
}
|
|
65
66
|
}
|
|
66
67
|
SdsNavigationUserProfileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsNavigationUserProfileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
67
|
-
SdsNavigationUserProfileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SdsNavigationUserProfileComponent, selector: "sds-navigation-user-profile", inputs: { profile: "profile", profileInfo: "profileInfo", showSignOut: "showSignOut", showProfile: "showProfile", signOutText: "signOutText", profileText: "profileText", showNotificationBadge: "showNotificationBadge", newNotificationsText: "newNotificationsText", showOptions: "showOptions" }, outputs: { profileClick: "profileClick", signOutClick: "signOutClick", notificationBadgeClick: "notificationBadgeClick", showOptionsChange: "showOptionsChange" }, usesOnChanges: true, ngImport: i0, template: "<div\r\n class=\"\r\n d-flex\r\n flex-row\r\n align-items-center\r\n gap-2\r\n sds-navigation-user-profile-container\r\n user-select-none\r\n \"\r\n (click)=\"toggleOptions()\"\r\n>\r\n <div \r\n #popoverTarget\r\n class=\"position-relative\">\r\n <sds-avatar\r\n [text]=\"profile?.name\"\r\n [colorKey]=\"profile?.id\"\r\n [pictureUri]=\"profile?.pictureUri\"\r\n >\r\n </sds-avatar>\r\n\r\n <span\r\n *ngIf=\"showNotificationBadge\"\r\n class=\"\r\n position-absolute\r\n notification-badge\r\n translate-middle\r\n bg-danger\r\n border border-light\r\n rounded-circle\r\n \"\r\n (click)=\"onNotificationBadgeClick($event)\"\r\n >\r\n <span class=\"visually-hidden\">{{ newNotificationsText }}</span>\r\n </span>\r\n </div>\r\n\r\n <div class=\"sds-flex-column\">\r\n <span class=\"truncate-two-lines\">\r\n {{ profile?.name }}\r\n </span>\r\n\r\n <span class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{ profileInfo }}\r\n </span>\r\n </div>\r\n</div>\r\n\r\n<dx-popover\r\n [target]=\"popoverTarget\"\r\n [position]=\"{ my: 'left bottom', at: 'left top' }\"\r\n collision=\"fit none\"\r\n minWidth=\"20rem\"\r\n maxWidth=\"20rem\"\r\n [(visible)]=\"showOptions\"\r\n [wrapperAttr]=\"{\r\n class: 'sds-navigation-user-profile-popover sds-dx-popup-no-arrow sds-dx-popup-content-padding-0'\r\n }\"\r\n>\r\n <div class=\"py-2 pb-3 main-profile-container border-bottom\">\r\n\r\n <div class=\"sds-flex-column align-items-center\">\r\n <sds-avatar\r\n [text]=\"profile?.name\"\r\n [colorKey]=\"profile?.id\"\r\n [pictureUri]=\"profile?.pictureUri\"\r\n [size]=\"7\"\r\n >\r\n </sds-avatar>\r\n\r\n <h5 class=\"text-center mt-2 px-3\">\r\n {{profile?.name}}\r\n </h5>\r\n\r\n <div class=\"sds-fw-400 text-center text-gray-800 sds-fs-87 px-3 text-truncate w-100\">\r\n {{profile?.info}}\r\n </div>\r\n \r\n </div>\r\n\r\n </div>\r\n\r\n <ng-content></ng-content>\r\n\r\n <ul\r\n class=\"\r\n list-unstyled\r\n sds-navigation-user-profile-actions\r\n mb-0\r\n sds-ul-gap-1\r\n mx-2\r\n mb-2\r\n \"\r\n >\r\n <li *ngIf=\"showProfile\">\r\n <sds-user-profile-action-button\r\n [text]=\"profileText\"\r\n [icon]=\"userProfileIcon\"\r\n (actionClick)=\"onProfileClick()\"\r\n >\r\n </sds-user-profile-action-button>\r\n </li>\r\n\r\n <li *ngIf=\"showSignOut\">\r\n <sds-user-profile-action-button\r\n [text]=\"signOutText\"\r\n [icon]=\"signOutIcon\"\r\n (actionClick)=\"onSignOutClick()\"\r\n >\r\n </sds-user-profile-action-button>\r\n </li>\r\n </ul>\r\n</dx-popover>\r\n", styles: [".sds-navigation-user-profile-container{padding:.8rem;cursor:pointer}.sds-navigation-user-profile-container .notification-badge{top:15%;left:100%;padding:.4rem}.truncate-two-lines{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.main-profile-container{margin:.5rem}::ng-deep .sds-navigation-user-profile-popover .dx-popup-content{padding:0!important;font-size:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SdsAvatarComponent, selector: "sds-avatar", inputs: ["text", "colorKey", "pictureUri", "showHint", "borderStyle", "borderColor", "initialsText", "cursor", "size", "badgeVisible", "badgePosition", "badgeBackgroundColor", "badgeTextColor", "badgeHint"] }, { kind: "component", type: i3.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "elementAttr", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "elementAttrChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "component", type: i4.SdsUserProfileActionButtonComponent, selector: "sds-user-profile-action-button", inputs: ["text", "icon"], outputs: ["actionClick"] }] });
|
|
68
|
+
SdsNavigationUserProfileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SdsNavigationUserProfileComponent, selector: "sds-navigation-user-profile", inputs: { profile: "profile", profileInfo: "profileInfo", showSignOut: "showSignOut", showProfile: "showProfile", signOutText: "signOutText", profileText: "profileText", showNotificationBadge: "showNotificationBadge", newNotificationsText: "newNotificationsText", showOptions: "showOptions" }, outputs: { profileClick: "profileClick", signOutClick: "signOutClick", notificationBadgeClick: "notificationBadgeClick", showOptionsChange: "showOptionsChange" }, usesOnChanges: true, ngImport: i0, template: "<div\r\n class=\"\r\n d-flex\r\n flex-row\r\n align-items-center\r\n gap-2\r\n sds-navigation-user-profile-container\r\n user-select-none\r\n \"\r\n (click)=\"toggleOptions($event)\"\r\n>\r\n <div \r\n #popoverTarget\r\n class=\"position-relative\">\r\n <sds-avatar\r\n [text]=\"profile?.name\"\r\n [colorKey]=\"profile?.id\"\r\n [pictureUri]=\"profile?.pictureUri\"\r\n >\r\n </sds-avatar>\r\n\r\n <span\r\n *ngIf=\"showNotificationBadge\"\r\n class=\"\r\n position-absolute\r\n notification-badge\r\n translate-middle\r\n bg-danger\r\n border border-light\r\n rounded-circle\r\n \"\r\n (click)=\"onNotificationBadgeClick($event)\"\r\n >\r\n <span class=\"visually-hidden\">{{ newNotificationsText }}</span>\r\n </span>\r\n </div>\r\n\r\n <div class=\"sds-flex-column\">\r\n <span class=\"truncate-two-lines\">\r\n {{ profile?.name }}\r\n </span>\r\n\r\n <span class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{ profileInfo }}\r\n </span>\r\n </div>\r\n</div>\r\n\r\n<dx-popover\r\n [target]=\"popoverTarget\"\r\n [position]=\"{ my: 'left bottom', at: 'left top' }\"\r\n collision=\"fit none\"\r\n minWidth=\"20rem\"\r\n maxWidth=\"20rem\"\r\n [(visible)]=\"showOptions\"\r\n [wrapperAttr]=\"{\r\n class: 'sds-navigation-user-profile-popover sds-dx-popup-no-arrow sds-dx-popup-content-padding-0'\r\n }\"\r\n>\r\n <div class=\"py-2 pb-3 main-profile-container border-bottom\">\r\n\r\n <div class=\"sds-flex-column align-items-center\">\r\n <sds-avatar\r\n [text]=\"profile?.name\"\r\n [colorKey]=\"profile?.id\"\r\n [pictureUri]=\"profile?.pictureUri\"\r\n [size]=\"7\"\r\n >\r\n </sds-avatar>\r\n\r\n <h5 class=\"text-center mt-2 px-3\">\r\n {{profile?.name}}\r\n </h5>\r\n\r\n <div class=\"sds-fw-400 text-center text-gray-800 sds-fs-87 px-3 text-truncate w-100\">\r\n {{profile?.info}}\r\n </div>\r\n \r\n </div>\r\n\r\n </div>\r\n\r\n <ng-content></ng-content>\r\n\r\n <ul\r\n class=\"\r\n list-unstyled\r\n sds-navigation-user-profile-actions\r\n mb-0\r\n sds-ul-gap-1\r\n mx-2\r\n mb-2\r\n \"\r\n >\r\n <li *ngIf=\"showProfile\">\r\n <sds-user-profile-action-button\r\n [text]=\"profileText\"\r\n [icon]=\"userProfileIcon\"\r\n (actionClick)=\"onProfileClick()\"\r\n >\r\n </sds-user-profile-action-button>\r\n </li>\r\n\r\n <li *ngIf=\"showSignOut\">\r\n <sds-user-profile-action-button\r\n [text]=\"signOutText\"\r\n [icon]=\"signOutIcon\"\r\n (actionClick)=\"onSignOutClick()\"\r\n >\r\n </sds-user-profile-action-button>\r\n </li>\r\n </ul>\r\n</dx-popover>\r\n", styles: [".sds-navigation-user-profile-container{padding:.8rem;cursor:pointer}.sds-navigation-user-profile-container .notification-badge{top:15%;left:100%;padding:.4rem}.truncate-two-lines{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.main-profile-container{margin:.5rem}::ng-deep .sds-navigation-user-profile-popover .dx-popup-content{padding:0!important;font-size:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SdsAvatarComponent, selector: "sds-avatar", inputs: ["text", "colorKey", "pictureUri", "showHint", "borderStyle", "borderColor", "initialsText", "cursor", "size", "badgeVisible", "badgePosition", "badgeBackgroundColor", "badgeTextColor", "badgeHint"] }, { kind: "component", type: i3.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "elementAttr", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "elementAttrChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "component", type: i4.SdsUserProfileActionButtonComponent, selector: "sds-user-profile-action-button", inputs: ["text", "icon"], outputs: ["actionClick"] }] });
|
|
68
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsNavigationUserProfileComponent, decorators: [{
|
|
69
70
|
type: Component,
|
|
70
|
-
args: [{ selector: 'sds-navigation-user-profile', template: "<div\r\n class=\"\r\n d-flex\r\n flex-row\r\n align-items-center\r\n gap-2\r\n sds-navigation-user-profile-container\r\n user-select-none\r\n \"\r\n (click)=\"toggleOptions()\"\r\n>\r\n <div \r\n #popoverTarget\r\n class=\"position-relative\">\r\n <sds-avatar\r\n [text]=\"profile?.name\"\r\n [colorKey]=\"profile?.id\"\r\n [pictureUri]=\"profile?.pictureUri\"\r\n >\r\n </sds-avatar>\r\n\r\n <span\r\n *ngIf=\"showNotificationBadge\"\r\n class=\"\r\n position-absolute\r\n notification-badge\r\n translate-middle\r\n bg-danger\r\n border border-light\r\n rounded-circle\r\n \"\r\n (click)=\"onNotificationBadgeClick($event)\"\r\n >\r\n <span class=\"visually-hidden\">{{ newNotificationsText }}</span>\r\n </span>\r\n </div>\r\n\r\n <div class=\"sds-flex-column\">\r\n <span class=\"truncate-two-lines\">\r\n {{ profile?.name }}\r\n </span>\r\n\r\n <span class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{ profileInfo }}\r\n </span>\r\n </div>\r\n</div>\r\n\r\n<dx-popover\r\n [target]=\"popoverTarget\"\r\n [position]=\"{ my: 'left bottom', at: 'left top' }\"\r\n collision=\"fit none\"\r\n minWidth=\"20rem\"\r\n maxWidth=\"20rem\"\r\n [(visible)]=\"showOptions\"\r\n [wrapperAttr]=\"{\r\n class: 'sds-navigation-user-profile-popover sds-dx-popup-no-arrow sds-dx-popup-content-padding-0'\r\n }\"\r\n>\r\n <div class=\"py-2 pb-3 main-profile-container border-bottom\">\r\n\r\n <div class=\"sds-flex-column align-items-center\">\r\n <sds-avatar\r\n [text]=\"profile?.name\"\r\n [colorKey]=\"profile?.id\"\r\n [pictureUri]=\"profile?.pictureUri\"\r\n [size]=\"7\"\r\n >\r\n </sds-avatar>\r\n\r\n <h5 class=\"text-center mt-2 px-3\">\r\n {{profile?.name}}\r\n </h5>\r\n\r\n <div class=\"sds-fw-400 text-center text-gray-800 sds-fs-87 px-3 text-truncate w-100\">\r\n {{profile?.info}}\r\n </div>\r\n \r\n </div>\r\n\r\n </div>\r\n\r\n <ng-content></ng-content>\r\n\r\n <ul\r\n class=\"\r\n list-unstyled\r\n sds-navigation-user-profile-actions\r\n mb-0\r\n sds-ul-gap-1\r\n mx-2\r\n mb-2\r\n \"\r\n >\r\n <li *ngIf=\"showProfile\">\r\n <sds-user-profile-action-button\r\n [text]=\"profileText\"\r\n [icon]=\"userProfileIcon\"\r\n (actionClick)=\"onProfileClick()\"\r\n >\r\n </sds-user-profile-action-button>\r\n </li>\r\n\r\n <li *ngIf=\"showSignOut\">\r\n <sds-user-profile-action-button\r\n [text]=\"signOutText\"\r\n [icon]=\"signOutIcon\"\r\n (actionClick)=\"onSignOutClick()\"\r\n >\r\n </sds-user-profile-action-button>\r\n </li>\r\n </ul>\r\n</dx-popover>\r\n", styles: [".sds-navigation-user-profile-container{padding:.8rem;cursor:pointer}.sds-navigation-user-profile-container .notification-badge{top:15%;left:100%;padding:.4rem}.truncate-two-lines{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.main-profile-container{margin:.5rem}::ng-deep .sds-navigation-user-profile-popover .dx-popup-content{padding:0!important;font-size:1rem}\n"] }]
|
|
71
|
+
args: [{ selector: 'sds-navigation-user-profile', template: "<div\r\n class=\"\r\n d-flex\r\n flex-row\r\n align-items-center\r\n gap-2\r\n sds-navigation-user-profile-container\r\n user-select-none\r\n \"\r\n (click)=\"toggleOptions($event)\"\r\n>\r\n <div \r\n #popoverTarget\r\n class=\"position-relative\">\r\n <sds-avatar\r\n [text]=\"profile?.name\"\r\n [colorKey]=\"profile?.id\"\r\n [pictureUri]=\"profile?.pictureUri\"\r\n >\r\n </sds-avatar>\r\n\r\n <span\r\n *ngIf=\"showNotificationBadge\"\r\n class=\"\r\n position-absolute\r\n notification-badge\r\n translate-middle\r\n bg-danger\r\n border border-light\r\n rounded-circle\r\n \"\r\n (click)=\"onNotificationBadgeClick($event)\"\r\n >\r\n <span class=\"visually-hidden\">{{ newNotificationsText }}</span>\r\n </span>\r\n </div>\r\n\r\n <div class=\"sds-flex-column\">\r\n <span class=\"truncate-two-lines\">\r\n {{ profile?.name }}\r\n </span>\r\n\r\n <span class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{ profileInfo }}\r\n </span>\r\n </div>\r\n</div>\r\n\r\n<dx-popover\r\n [target]=\"popoverTarget\"\r\n [position]=\"{ my: 'left bottom', at: 'left top' }\"\r\n collision=\"fit none\"\r\n minWidth=\"20rem\"\r\n maxWidth=\"20rem\"\r\n [(visible)]=\"showOptions\"\r\n [wrapperAttr]=\"{\r\n class: 'sds-navigation-user-profile-popover sds-dx-popup-no-arrow sds-dx-popup-content-padding-0'\r\n }\"\r\n>\r\n <div class=\"py-2 pb-3 main-profile-container border-bottom\">\r\n\r\n <div class=\"sds-flex-column align-items-center\">\r\n <sds-avatar\r\n [text]=\"profile?.name\"\r\n [colorKey]=\"profile?.id\"\r\n [pictureUri]=\"profile?.pictureUri\"\r\n [size]=\"7\"\r\n >\r\n </sds-avatar>\r\n\r\n <h5 class=\"text-center mt-2 px-3\">\r\n {{profile?.name}}\r\n </h5>\r\n\r\n <div class=\"sds-fw-400 text-center text-gray-800 sds-fs-87 px-3 text-truncate w-100\">\r\n {{profile?.info}}\r\n </div>\r\n \r\n </div>\r\n\r\n </div>\r\n\r\n <ng-content></ng-content>\r\n\r\n <ul\r\n class=\"\r\n list-unstyled\r\n sds-navigation-user-profile-actions\r\n mb-0\r\n sds-ul-gap-1\r\n mx-2\r\n mb-2\r\n \"\r\n >\r\n <li *ngIf=\"showProfile\">\r\n <sds-user-profile-action-button\r\n [text]=\"profileText\"\r\n [icon]=\"userProfileIcon\"\r\n (actionClick)=\"onProfileClick()\"\r\n >\r\n </sds-user-profile-action-button>\r\n </li>\r\n\r\n <li *ngIf=\"showSignOut\">\r\n <sds-user-profile-action-button\r\n [text]=\"signOutText\"\r\n [icon]=\"signOutIcon\"\r\n (actionClick)=\"onSignOutClick()\"\r\n >\r\n </sds-user-profile-action-button>\r\n </li>\r\n </ul>\r\n</dx-popover>\r\n", styles: [".sds-navigation-user-profile-container{padding:.8rem;cursor:pointer}.sds-navigation-user-profile-container .notification-badge{top:15%;left:100%;padding:.4rem}.truncate-two-lines{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.main-profile-container{margin:.5rem}::ng-deep .sds-navigation-user-profile-popover .dx-popup-content{padding:0!important;font-size:1rem}\n"] }]
|
|
71
72
|
}], ctorParameters: function () { return []; }, propDecorators: { profile: [{
|
|
72
73
|
type: Input
|
|
73
74
|
}], profileInfo: [{
|
|
@@ -95,4 +96,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
95
96
|
}], showOptionsChange: [{
|
|
96
97
|
type: Output
|
|
97
98
|
}] } });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi11c2VyLXByb2ZpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLXVzZXItcHJvZmlsZS9uYXZpZ2F0aW9uLXVzZXItcHJvZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tdXNlci1wcm9maWxlL25hdmlnYXRpb24tdXNlci1wcm9maWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUV6RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7QUFRdkUsTUFBTSxPQUFPLGlDQUFpQztJQXdCMUM7UUF2QlMsWUFBTyxHQUE2QixJQUFJLENBQUM7UUFDekMsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFekIsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFDNUIsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFFNUIsZ0JBQVcsR0FBVyxVQUFVLENBQUM7UUFDakMsZ0JBQVcsR0FBVyxTQUFTLENBQUM7UUFFaEMsMEJBQXFCLEdBQVksS0FBSyxDQUFDO1FBQ3ZDLHlCQUFvQixHQUFXLG1CQUFtQixDQUFDO1FBRWxELGlCQUFZLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDNUQsaUJBQVksR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUU1RCwyQkFBc0IsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV2RSxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM1QixzQkFBaUIsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUV2RSxvQkFBZSxHQUFHLE1BQU0sQ0FBQztRQUN6QixnQkFBVyxHQUFHLFNBQVMsQ0FBQTtJQUVsQixDQUFDO0lBRWhCLFFBQVEsS0FBVSxDQUFDO0lBRW5CLFdBQVcsQ0FBQyxPQUFzQjtRQUM5QiwyRkFBMkY7UUFDM0YsMkNBQTJDO1FBQzNDLDZDQUE2QztRQUM3Qyw4REFBOEQ7UUFDOUQsNkNBQTZDO1FBQzdDLGVBQWU7UUFDZixxSEFBcUg7UUFDckgsUUFBUTtRQUNSLElBQUk7SUFDUixDQUFDO0lBRU0sY0FBYztRQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxjQUFjO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVNLFlBQVk7UUFDZixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVsRCxDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFUyxhQUFhO1FBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3JDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTSx3QkFBd0IsQ0FBQyxLQUFpQjtRQUM3QyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7OytIQXhFUSxpQ0FBaUM7bUhBQWpDLGlDQUFpQyxpaUJDVjlDLGd3R0FpSEE7NEZEdkdhLGlDQUFpQztrQkFMN0MsU0FBUzsrQkFDSSw2QkFBNkI7MEVBSzlCLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBRUcsc0JBQXNCO3NCQUEvQixNQUFNO2dCQUVFLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25Qcm9maWxlIH0gZnJvbSAnLi9uYXZpZ2F0aW9uLXByb2ZpbGUubW9kZWwnO1xyXG5pbXBvcnQgeyBmYVNpZ25PdXQsIGZhVXNlciB9IGZyb20gJ0Bmb3J0YXdlc29tZS9wcm8tcmVndWxhci1zdmctaWNvbnMnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzZHMtbmF2aWdhdGlvbi11c2VyLXByb2ZpbGUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdmlnYXRpb24tdXNlci1wcm9maWxlLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL25hdmlnYXRpb24tdXNlci1wcm9maWxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZHNOYXZpZ2F0aW9uVXNlclByb2ZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgICBASW5wdXQoKSBwcm9maWxlOiBOYXZpZ2F0aW9uUHJvZmlsZSB8IG51bGwgPSBudWxsO1xyXG4gICAgQElucHV0KCkgcHJvZmlsZUluZm86IHN0cmluZyA9ICcnO1xyXG5cclxuICAgIEBJbnB1dCgpIHNob3dTaWduT3V0OiBib29sZWFuID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIHNob3dQcm9maWxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBASW5wdXQoKSBzaWduT3V0VGV4dDogc3RyaW5nID0gJ1NpZ24gb3V0JztcclxuICAgIEBJbnB1dCgpIHByb2ZpbGVUZXh0OiBzdHJpbmcgPSAnUHJvZmlsZSc7XHJcblxyXG4gICAgQElucHV0KCkgc2hvd05vdGlmaWNhdGlvbkJhZGdlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBuZXdOb3RpZmljYXRpb25zVGV4dDogc3RyaW5nID0gJ05ldyBOb3RpZmljYXRpb25zJztcclxuXHJcbiAgICBAT3V0cHV0KCkgcHJvZmlsZUNsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgICBAT3V0cHV0KCkgc2lnbk91dENsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpIG5vdGlmaWNhdGlvbkJhZGdlQ2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBcclxuICAgIEBJbnB1dCgpIHNob3dPcHRpb25zOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBAT3V0cHV0KCkgc2hvd09wdGlvbnNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgdXNlclByb2ZpbGVJY29uID0gZmFVc2VyO1xyXG4gICAgcHJvdGVjdGVkIHNpZ25PdXRJY29uID0gZmFTaWduT3V0XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgLy8gaWYgKGNoYW5nZXNbJ2FjdGl2ZVByb2ZpbGVJZCddIHx8IGNoYW5nZXNbJ3Byb2ZpbGUnXSB8fCBjaGFuZ2VzWydhZGRpdGlvbmFsUHJvZmlsZXMnXSkge1xyXG4gICAgICAgIC8vICAgICBpZiAodGhpcy5hY3RpdmVQcm9maWxlSWQgPT09IG51bGwpIHtcclxuICAgICAgICAvLyAgICAgICAgIHRoaXMuYWN0aXZlUHJvZmlsZSA9IHRoaXMucHJvZmlsZTtcclxuICAgICAgICAvLyAgICAgfSBlbHNlIGlmICh0aGlzLmFjdGl2ZVByb2ZpbGVJZCA9PT0gdGhpcy5wcm9maWxlPy5pZCkge1xyXG4gICAgICAgIC8vICAgICAgICAgdGhpcy5hY3RpdmVQcm9maWxlID0gdGhpcy5wcm9maWxlO1xyXG4gICAgICAgIC8vICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vICAgICAgICAgdGhpcy5hY3RpdmVQcm9maWxlID0gdGhpcy5hZGRpdGlvbmFsUHJvZmlsZXMuZmluZChwcm9maWxlID0+IHByb2ZpbGUuaWQgPT09IHRoaXMuYWN0aXZlUHJvZmlsZUlkKSB8fCBudWxsO1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvblByb2ZpbGVDbGljaygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNob3dPcHRpb25zID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zaG93T3B0aW9uc0NoYW5nZS5lbWl0KHRoaXMuc2hvd09wdGlvbnMpO1xyXG4gICAgICAgIHRoaXMucHJvZmlsZUNsaWNrLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25TaWduT3V0Q2xpY2soKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zaG93T3B0aW9ucyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2hvd09wdGlvbnNDaGFuZ2UuZW1pdCh0aGlzLnNob3dPcHRpb25zKTtcclxuICAgICAgICB0aGlzLnNpZ25PdXRDbGljay5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNsb3NlT3B0aW9ucygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNob3dPcHRpb25zID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zaG93T3B0aW9uc0NoYW5nZS5lbWl0KHRoaXMuc2hvd09wdGlvbnMpO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb3Blbk9wdGlvbnMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zaG93T3B0aW9ucyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zaG93T3B0aW9uc0NoYW5nZS5lbWl0KHRoaXMuc2hvd09wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCB0b2dnbGVPcHRpb25zKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2hvd09wdGlvbnMgPSAhdGhpcy5zaG93T3B0aW9ucztcclxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnNob3dPcHRpb25zKTtcclxuICAgICAgICB0aGlzLnNob3dPcHRpb25zQ2hhbmdlLmVtaXQodGhpcy5zaG93T3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uTm90aWZpY2F0aW9uQmFkZ2VDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uQmFkZ2VDbGljay5lbWl0KCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gICAgY2xhc3M9XCJcclxuICAgICAgICBkLWZsZXhcclxuICAgICAgICBmbGV4LXJvd1xyXG4gICAgICAgIGFsaWduLWl0ZW1zLWNlbnRlclxyXG4gICAgICAgIGdhcC0yXHJcbiAgICAgICAgc2RzLW5hdmlnYXRpb24tdXNlci1wcm9maWxlLWNvbnRhaW5lclxyXG4gICAgICAgIHVzZXItc2VsZWN0LW5vbmVcclxuICAgIFwiXHJcbiAgICAoY2xpY2spPVwidG9nZ2xlT3B0aW9ucygpXCJcclxuPlxyXG4gICAgPGRpdiBcclxuICAgICAgICAjcG9wb3ZlclRhcmdldFxyXG4gICAgICAgIGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICA8c2RzLWF2YXRhclxyXG4gICAgICAgICAgICBbdGV4dF09XCJwcm9maWxlPy5uYW1lXCJcclxuICAgICAgICAgICAgW2NvbG9yS2V5XT1cInByb2ZpbGU/LmlkXCJcclxuICAgICAgICAgICAgW3BpY3R1cmVVcmldPVwicHJvZmlsZT8ucGljdHVyZVVyaVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvc2RzLWF2YXRhcj5cclxuXHJcbiAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJzaG93Tm90aWZpY2F0aW9uQmFkZ2VcIlxyXG4gICAgICAgICAgICBjbGFzcz1cIlxyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24tYWJzb2x1dGVcclxuICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi1iYWRnZVxyXG4gICAgICAgICAgICAgICAgdHJhbnNsYXRlLW1pZGRsZVxyXG4gICAgICAgICAgICAgICAgYmctZGFuZ2VyXHJcbiAgICAgICAgICAgICAgICBib3JkZXIgYm9yZGVyLWxpZ2h0XHJcbiAgICAgICAgICAgICAgICByb3VuZGVkLWNpcmNsZVxyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25Ob3RpZmljYXRpb25CYWRnZUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj57eyBuZXdOb3RpZmljYXRpb25zVGV4dCB9fTwvc3Bhbj5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwic2RzLWZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0cnVuY2F0ZS10d28tbGluZXNcIj5cclxuICAgICAgICAgICAge3sgcHJvZmlsZT8ubmFtZSB9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZHMtZnctNDAwIHNkcy1mcy03NSB0ZXh0LXRydW5jYXRlIHRleHQtbXV0ZWRcIj5cclxuICAgICAgICAgICAge3sgcHJvZmlsZUluZm8gfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZHgtcG9wb3ZlclxyXG4gICAgW3RhcmdldF09XCJwb3BvdmVyVGFyZ2V0XCJcclxuICAgIFtwb3NpdGlvbl09XCJ7IG15OiAnbGVmdCBib3R0b20nLCBhdDogJ2xlZnQgdG9wJyB9XCJcclxuICAgIGNvbGxpc2lvbj1cImZpdCBub25lXCJcclxuICAgIG1pbldpZHRoPVwiMjByZW1cIlxyXG4gICAgbWF4V2lkdGg9XCIyMHJlbVwiXHJcbiAgICBbKHZpc2libGUpXT1cInNob3dPcHRpb25zXCJcclxuICAgIFt3cmFwcGVyQXR0cl09XCJ7XHJcbiAgICAgICAgY2xhc3M6ICdzZHMtbmF2aWdhdGlvbi11c2VyLXByb2ZpbGUtcG9wb3ZlciBzZHMtZHgtcG9wdXAtbm8tYXJyb3cgc2RzLWR4LXBvcHVwLWNvbnRlbnQtcGFkZGluZy0wJ1xyXG4gICAgfVwiXHJcbj5cclxuICAgIDxkaXYgY2xhc3M9XCJweS0yIHBiLTMgbWFpbi1wcm9maWxlLWNvbnRhaW5lciBib3JkZXItYm90dG9tXCI+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZHMtZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxzZHMtYXZhdGFyXHJcbiAgICAgICAgICAgICAgICBbdGV4dF09XCJwcm9maWxlPy5uYW1lXCJcclxuICAgICAgICAgICAgICAgIFtjb2xvcktleV09XCJwcm9maWxlPy5pZFwiXHJcbiAgICAgICAgICAgICAgICBbcGljdHVyZVVyaV09XCJwcm9maWxlPy5waWN0dXJlVXJpXCJcclxuICAgICAgICAgICAgICAgIFtzaXplXT1cIjdcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvc2RzLWF2YXRhcj5cclxuXHJcbiAgICAgICAgICAgIDxoNSBjbGFzcz1cInRleHQtY2VudGVyIG10LTIgcHgtM1wiPlxyXG4gICAgICAgICAgICAgICAge3twcm9maWxlPy5uYW1lfX1cclxuICAgICAgICAgICAgPC9oNT5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZHMtZnctNDAwIHRleHQtY2VudGVyIHRleHQtZ3JheS04MDAgc2RzLWZzLTg3IHB4LTMgdGV4dC10cnVuY2F0ZSB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAge3twcm9maWxlPy5pbmZvfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG5cclxuICAgIDx1bFxyXG4gICAgICAgIGNsYXNzPVwiXHJcbiAgICAgICAgICAgIGxpc3QtdW5zdHlsZWRcclxuICAgICAgICAgICAgc2RzLW5hdmlnYXRpb24tdXNlci1wcm9maWxlLWFjdGlvbnNcclxuICAgICAgICAgICAgbWItMFxyXG4gICAgICAgICAgICBzZHMtdWwtZ2FwLTFcclxuICAgICAgICAgICAgbXgtMlxyXG4gICAgICAgICAgICBtYi0yXHJcbiAgICAgICAgXCJcclxuICAgID5cclxuICAgICAgICA8bGkgKm5nSWY9XCJzaG93UHJvZmlsZVwiPlxyXG4gICAgICAgICAgICA8c2RzLXVzZXItcHJvZmlsZS1hY3Rpb24tYnV0dG9uXHJcbiAgICAgICAgICAgICAgICBbdGV4dF09XCJwcm9maWxlVGV4dFwiXHJcbiAgICAgICAgICAgICAgICBbaWNvbl09XCJ1c2VyUHJvZmlsZUljb25cIlxyXG4gICAgICAgICAgICAgICAgKGFjdGlvbkNsaWNrKT1cIm9uUHJvZmlsZUNsaWNrKClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvc2RzLXVzZXItcHJvZmlsZS1hY3Rpb24tYnV0dG9uPlxyXG4gICAgICAgIDwvbGk+XHJcblxyXG4gICAgICAgIDxsaSAqbmdJZj1cInNob3dTaWduT3V0XCI+XHJcbiAgICAgICAgICAgIDxzZHMtdXNlci1wcm9maWxlLWFjdGlvbi1idXR0b25cclxuICAgICAgICAgICAgICAgIFt0ZXh0XT1cInNpZ25PdXRUZXh0XCJcclxuICAgICAgICAgICAgICAgIFtpY29uXT1cInNpZ25PdXRJY29uXCJcclxuICAgICAgICAgICAgICAgIChhY3Rpb25DbGljayk9XCJvblNpZ25PdXRDbGljaygpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L3Nkcy11c2VyLXByb2ZpbGUtYWN0aW9uLWJ1dHRvbj5cclxuICAgICAgICA8L2xpPlxyXG4gICAgPC91bD5cclxuPC9keC1wb3BvdmVyPlxyXG4iXX0=
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi11c2VyLXByb2ZpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLXVzZXItcHJvZmlsZS9uYXZpZ2F0aW9uLXVzZXItcHJvZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tdXNlci1wcm9maWxlL25hdmlnYXRpb24tdXNlci1wcm9maWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUV6RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7QUFRdkUsTUFBTSxPQUFPLGlDQUFpQztJQXdCMUM7UUF2QlMsWUFBTyxHQUE2QixJQUFJLENBQUM7UUFDekMsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFekIsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFDNUIsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFFNUIsZ0JBQVcsR0FBVyxVQUFVLENBQUM7UUFDakMsZ0JBQVcsR0FBVyxTQUFTLENBQUM7UUFFaEMsMEJBQXFCLEdBQVksS0FBSyxDQUFDO1FBQ3ZDLHlCQUFvQixHQUFXLG1CQUFtQixDQUFDO1FBRWxELGlCQUFZLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDNUQsaUJBQVksR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUU1RCwyQkFBc0IsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV2RSxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM1QixzQkFBaUIsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUV2RSxvQkFBZSxHQUFHLE1BQU0sQ0FBQztRQUN6QixnQkFBVyxHQUFHLFNBQVMsQ0FBQTtJQUVsQixDQUFDO0lBRWhCLFFBQVEsS0FBVSxDQUFDO0lBRW5CLFdBQVcsQ0FBQyxPQUFzQjtRQUM5QiwyRkFBMkY7UUFDM0YsMkNBQTJDO1FBQzNDLDZDQUE2QztRQUM3Qyw4REFBOEQ7UUFDOUQsNkNBQTZDO1FBQzdDLGVBQWU7UUFDZixxSEFBcUg7UUFDckgsUUFBUTtRQUNSLElBQUk7SUFDUixDQUFDO0lBRU0sY0FBYztRQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxjQUFjO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVNLFlBQVk7UUFDZixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVsRCxDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFUyxhQUFhLENBQUMsS0FBaUI7UUFDckMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3JDLGlDQUFpQztRQUNqQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU0sd0JBQXdCLENBQUMsS0FBaUI7UUFDN0MsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QyxDQUFDOzsrSEF6RVEsaUNBQWlDO21IQUFqQyxpQ0FBaUMsaWlCQ1Y5Qyxzd0dBaUhBOzRGRHZHYSxpQ0FBaUM7a0JBTDdDLFNBQVM7K0JBQ0ksNkJBQTZCOzBFQUs5QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUVHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFFRSxXQUFXO3NCQUFuQixLQUFLO2dCQUNJLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uUHJvZmlsZSB9IGZyb20gJy4vbmF2aWdhdGlvbi1wcm9maWxlLm1vZGVsJztcclxuaW1wb3J0IHsgZmFTaWduT3V0LCBmYVVzZXIgfSBmcm9tICdAZm9ydGF3ZXNvbWUvcHJvLXJlZ3VsYXItc3ZnLWljb25zJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc2RzLW5hdmlnYXRpb24tdXNlci1wcm9maWxlJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9uYXZpZ2F0aW9uLXVzZXItcHJvZmlsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9uYXZpZ2F0aW9uLXVzZXItcHJvZmlsZS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RzTmF2aWdhdGlvblVzZXJQcm9maWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gICAgQElucHV0KCkgcHJvZmlsZTogTmF2aWdhdGlvblByb2ZpbGUgfCBudWxsID0gbnVsbDtcclxuICAgIEBJbnB1dCgpIHByb2ZpbGVJbmZvOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgICBASW5wdXQoKSBzaG93U2lnbk91dDogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBzaG93UHJvZmlsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQElucHV0KCkgc2lnbk91dFRleHQ6IHN0cmluZyA9ICdTaWduIG91dCc7XHJcbiAgICBASW5wdXQoKSBwcm9maWxlVGV4dDogc3RyaW5nID0gJ1Byb2ZpbGUnO1xyXG5cclxuICAgIEBJbnB1dCgpIHNob3dOb3RpZmljYXRpb25CYWRnZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgbmV3Tm90aWZpY2F0aW9uc1RleHQ6IHN0cmluZyA9ICdOZXcgTm90aWZpY2F0aW9ucyc7XHJcblxyXG4gICAgQE91dHB1dCgpIHByb2ZpbGVDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gICAgQE91dHB1dCgpIHNpZ25PdXRDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKSBub3RpZmljYXRpb25CYWRnZUNsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgXHJcbiAgICBASW5wdXQoKSBzaG93T3B0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQE91dHB1dCgpIHNob3dPcHRpb25zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gICAgcHJvdGVjdGVkIHVzZXJQcm9maWxlSWNvbiA9IGZhVXNlcjtcclxuICAgIHByb3RlY3RlZCBzaWduT3V0SWNvbiA9IGZhU2lnbk91dFxyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIC8vIGlmIChjaGFuZ2VzWydhY3RpdmVQcm9maWxlSWQnXSB8fCBjaGFuZ2VzWydwcm9maWxlJ10gfHwgY2hhbmdlc1snYWRkaXRpb25hbFByb2ZpbGVzJ10pIHtcclxuICAgICAgICAvLyAgICAgaWYgKHRoaXMuYWN0aXZlUHJvZmlsZUlkID09PSBudWxsKSB7XHJcbiAgICAgICAgLy8gICAgICAgICB0aGlzLmFjdGl2ZVByb2ZpbGUgPSB0aGlzLnByb2ZpbGU7XHJcbiAgICAgICAgLy8gICAgIH0gZWxzZSBpZiAodGhpcy5hY3RpdmVQcm9maWxlSWQgPT09IHRoaXMucHJvZmlsZT8uaWQpIHtcclxuICAgICAgICAvLyAgICAgICAgIHRoaXMuYWN0aXZlUHJvZmlsZSA9IHRoaXMucHJvZmlsZTtcclxuICAgICAgICAvLyAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyAgICAgICAgIHRoaXMuYWN0aXZlUHJvZmlsZSA9IHRoaXMuYWRkaXRpb25hbFByb2ZpbGVzLmZpbmQocHJvZmlsZSA9PiBwcm9maWxlLmlkID09PSB0aGlzLmFjdGl2ZVByb2ZpbGVJZCkgfHwgbnVsbDtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25Qcm9maWxlQ2xpY2soKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zaG93T3B0aW9ucyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2hvd09wdGlvbnNDaGFuZ2UuZW1pdCh0aGlzLnNob3dPcHRpb25zKTtcclxuICAgICAgICB0aGlzLnByb2ZpbGVDbGljay5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uU2lnbk91dENsaWNrKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2hvd09wdGlvbnMgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNob3dPcHRpb25zQ2hhbmdlLmVtaXQodGhpcy5zaG93T3B0aW9ucyk7XHJcbiAgICAgICAgdGhpcy5zaWduT3V0Q2xpY2suZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjbG9zZU9wdGlvbnMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zaG93T3B0aW9ucyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2hvd09wdGlvbnNDaGFuZ2UuZW1pdCh0aGlzLnNob3dPcHRpb25zKTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9wZW5PcHRpb25zKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2hvd09wdGlvbnMgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2hvd09wdGlvbnNDaGFuZ2UuZW1pdCh0aGlzLnNob3dPcHRpb25zKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgdG9nZ2xlT3B0aW9ucyhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgIHRoaXMuc2hvd09wdGlvbnMgPSAhdGhpcy5zaG93T3B0aW9ucztcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLnNob3dPcHRpb25zKTtcclxuICAgICAgICB0aGlzLnNob3dPcHRpb25zQ2hhbmdlLmVtaXQodGhpcy5zaG93T3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uTm90aWZpY2F0aW9uQmFkZ2VDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uQmFkZ2VDbGljay5lbWl0KCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gICAgY2xhc3M9XCJcclxuICAgICAgICBkLWZsZXhcclxuICAgICAgICBmbGV4LXJvd1xyXG4gICAgICAgIGFsaWduLWl0ZW1zLWNlbnRlclxyXG4gICAgICAgIGdhcC0yXHJcbiAgICAgICAgc2RzLW5hdmlnYXRpb24tdXNlci1wcm9maWxlLWNvbnRhaW5lclxyXG4gICAgICAgIHVzZXItc2VsZWN0LW5vbmVcclxuICAgIFwiXHJcbiAgICAoY2xpY2spPVwidG9nZ2xlT3B0aW9ucygkZXZlbnQpXCJcclxuPlxyXG4gICAgPGRpdiBcclxuICAgICAgICAjcG9wb3ZlclRhcmdldFxyXG4gICAgICAgIGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICA8c2RzLWF2YXRhclxyXG4gICAgICAgICAgICBbdGV4dF09XCJwcm9maWxlPy5uYW1lXCJcclxuICAgICAgICAgICAgW2NvbG9yS2V5XT1cInByb2ZpbGU/LmlkXCJcclxuICAgICAgICAgICAgW3BpY3R1cmVVcmldPVwicHJvZmlsZT8ucGljdHVyZVVyaVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvc2RzLWF2YXRhcj5cclxuXHJcbiAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJzaG93Tm90aWZpY2F0aW9uQmFkZ2VcIlxyXG4gICAgICAgICAgICBjbGFzcz1cIlxyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24tYWJzb2x1dGVcclxuICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi1iYWRnZVxyXG4gICAgICAgICAgICAgICAgdHJhbnNsYXRlLW1pZGRsZVxyXG4gICAgICAgICAgICAgICAgYmctZGFuZ2VyXHJcbiAgICAgICAgICAgICAgICBib3JkZXIgYm9yZGVyLWxpZ2h0XHJcbiAgICAgICAgICAgICAgICByb3VuZGVkLWNpcmNsZVxyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25Ob3RpZmljYXRpb25CYWRnZUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj57eyBuZXdOb3RpZmljYXRpb25zVGV4dCB9fTwvc3Bhbj5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwic2RzLWZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0cnVuY2F0ZS10d28tbGluZXNcIj5cclxuICAgICAgICAgICAge3sgcHJvZmlsZT8ubmFtZSB9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZHMtZnctNDAwIHNkcy1mcy03NSB0ZXh0LXRydW5jYXRlIHRleHQtbXV0ZWRcIj5cclxuICAgICAgICAgICAge3sgcHJvZmlsZUluZm8gfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZHgtcG9wb3ZlclxyXG4gICAgW3RhcmdldF09XCJwb3BvdmVyVGFyZ2V0XCJcclxuICAgIFtwb3NpdGlvbl09XCJ7IG15OiAnbGVmdCBib3R0b20nLCBhdDogJ2xlZnQgdG9wJyB9XCJcclxuICAgIGNvbGxpc2lvbj1cImZpdCBub25lXCJcclxuICAgIG1pbldpZHRoPVwiMjByZW1cIlxyXG4gICAgbWF4V2lkdGg9XCIyMHJlbVwiXHJcbiAgICBbKHZpc2libGUpXT1cInNob3dPcHRpb25zXCJcclxuICAgIFt3cmFwcGVyQXR0cl09XCJ7XHJcbiAgICAgICAgY2xhc3M6ICdzZHMtbmF2aWdhdGlvbi11c2VyLXByb2ZpbGUtcG9wb3ZlciBzZHMtZHgtcG9wdXAtbm8tYXJyb3cgc2RzLWR4LXBvcHVwLWNvbnRlbnQtcGFkZGluZy0wJ1xyXG4gICAgfVwiXHJcbj5cclxuICAgIDxkaXYgY2xhc3M9XCJweS0yIHBiLTMgbWFpbi1wcm9maWxlLWNvbnRhaW5lciBib3JkZXItYm90dG9tXCI+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZHMtZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxzZHMtYXZhdGFyXHJcbiAgICAgICAgICAgICAgICBbdGV4dF09XCJwcm9maWxlPy5uYW1lXCJcclxuICAgICAgICAgICAgICAgIFtjb2xvcktleV09XCJwcm9maWxlPy5pZFwiXHJcbiAgICAgICAgICAgICAgICBbcGljdHVyZVVyaV09XCJwcm9maWxlPy5waWN0dXJlVXJpXCJcclxuICAgICAgICAgICAgICAgIFtzaXplXT1cIjdcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvc2RzLWF2YXRhcj5cclxuXHJcbiAgICAgICAgICAgIDxoNSBjbGFzcz1cInRleHQtY2VudGVyIG10LTIgcHgtM1wiPlxyXG4gICAgICAgICAgICAgICAge3twcm9maWxlPy5uYW1lfX1cclxuICAgICAgICAgICAgPC9oNT5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZHMtZnctNDAwIHRleHQtY2VudGVyIHRleHQtZ3JheS04MDAgc2RzLWZzLTg3IHB4LTMgdGV4dC10cnVuY2F0ZSB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAge3twcm9maWxlPy5pbmZvfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG5cclxuICAgIDx1bFxyXG4gICAgICAgIGNsYXNzPVwiXHJcbiAgICAgICAgICAgIGxpc3QtdW5zdHlsZWRcclxuICAgICAgICAgICAgc2RzLW5hdmlnYXRpb24tdXNlci1wcm9maWxlLWFjdGlvbnNcclxuICAgICAgICAgICAgbWItMFxyXG4gICAgICAgICAgICBzZHMtdWwtZ2FwLTFcclxuICAgICAgICAgICAgbXgtMlxyXG4gICAgICAgICAgICBtYi0yXHJcbiAgICAgICAgXCJcclxuICAgID5cclxuICAgICAgICA8bGkgKm5nSWY9XCJzaG93UHJvZmlsZVwiPlxyXG4gICAgICAgICAgICA8c2RzLXVzZXItcHJvZmlsZS1hY3Rpb24tYnV0dG9uXHJcbiAgICAgICAgICAgICAgICBbdGV4dF09XCJwcm9maWxlVGV4dFwiXHJcbiAgICAgICAgICAgICAgICBbaWNvbl09XCJ1c2VyUHJvZmlsZUljb25cIlxyXG4gICAgICAgICAgICAgICAgKGFjdGlvbkNsaWNrKT1cIm9uUHJvZmlsZUNsaWNrKClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvc2RzLXVzZXItcHJvZmlsZS1hY3Rpb24tYnV0dG9uPlxyXG4gICAgICAgIDwvbGk+XHJcblxyXG4gICAgICAgIDxsaSAqbmdJZj1cInNob3dTaWduT3V0XCI+XHJcbiAgICAgICAgICAgIDxzZHMtdXNlci1wcm9maWxlLWFjdGlvbi1idXR0b25cclxuICAgICAgICAgICAgICAgIFt0ZXh0XT1cInNpZ25PdXRUZXh0XCJcclxuICAgICAgICAgICAgICAgIFtpY29uXT1cInNpZ25PdXRJY29uXCJcclxuICAgICAgICAgICAgICAgIChhY3Rpb25DbGljayk9XCJvblNpZ25PdXRDbGljaygpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L3Nkcy11c2VyLXByb2ZpbGUtYWN0aW9uLWJ1dHRvbj5cclxuICAgICAgICA8L2xpPlxyXG4gICAgPC91bD5cclxuPC9keC1wb3BvdmVyPlxyXG4iXX0=
|
|
@@ -22,7 +22,7 @@ export class SdsProductHomeComponent {
|
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
SdsProductHomeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsProductHomeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
-
SdsProductHomeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SdsProductHomeComponent, selector: "sds-product-home", inputs: { logoUrl: "logoUrl", logoAltText: "logoAltText", moduleTitle: "moduleTitle", showAppSwitcher: "showAppSwitcher", appSwitcherProductCode: "appSwitcherProductCode", appSwitcherUserProductCodes: "appSwitcherUserProductCodes", appSwitcherTenantProducts: "appSwitcherTenantProducts", appSwitcherSwitchText: "appSwitcherSwitchText", appSwitcherDiscoverText: "appSwitcherDiscoverText", allowHeaderClick: "allowHeaderClick" }, outputs: { productSwitched: "productSwitched", headerClick: "headerClick" }, ngImport: i0, template: "<div class=\"product-header pb-2 mb-2 align-items-start\">\r\n <sds-app-switcher\r\n *ngIf=\"showAppSwitcher\"\r\n class=\"app-switcher\"\r\n [productCode]=\"appSwitcherProductCode\"\r\n [userProductCodes]=\"appSwitcherUserProductCodes\"\r\n [tenantProducts]=\"appSwitcherTenantProducts\"\r\n [switchText]=\"appSwitcherSwitchText\"\r\n [discoverText]=\"appSwitcherDiscoverText\"\r\n (productClick)=\"onProductClick($event)\"\r\n >\r\n </sds-app-switcher>\r\n\r\n <div \r\n class=\"ms-2\"\r\n (click)=\"onHeaderClick()\"\r\n [class.sds-cursor-pointer]=\"allowHeaderClick\"\r\n >\r\n <img \r\n class=\"product-logo\"\r\n [src]=\"logoUrl\" \r\n [alt]=\"logoAltText\"\r\n > \r\n <h6 \r\n *ngIf=\"moduleTitle\"\r\n class=\"mt-2\"\r\n >\r\n {{moduleTitle}}\r\n </h6>\r\n </div>\r\n</div>\r\n", styles: [".product-header{margin-left:.33rem}.product-header .app-switcher,.product-header .product-logo{height:1.5rem}.product-header h6{font-size:.8rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SdsAppSwitcherComponent, selector: "sds-app-switcher", inputs: ["productCode", "userProductCodes", "tenantProducts", "switchText", "discoverText"], outputs: ["productClick"] }] });
|
|
25
|
+
SdsProductHomeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SdsProductHomeComponent, selector: "sds-product-home", inputs: { logoUrl: "logoUrl", logoAltText: "logoAltText", moduleTitle: "moduleTitle", showAppSwitcher: "showAppSwitcher", appSwitcherProductCode: "appSwitcherProductCode", appSwitcherUserProductCodes: "appSwitcherUserProductCodes", appSwitcherTenantProducts: "appSwitcherTenantProducts", appSwitcherSwitchText: "appSwitcherSwitchText", appSwitcherDiscoverText: "appSwitcherDiscoverText", allowHeaderClick: "allowHeaderClick" }, outputs: { productSwitched: "productSwitched", headerClick: "headerClick" }, ngImport: i0, template: "<div class=\"product-header pb-2 mb-2 align-items-start\">\r\n <sds-app-switcher\r\n *ngIf=\"showAppSwitcher\"\r\n class=\"app-switcher\"\r\n [productCode]=\"appSwitcherProductCode\"\r\n [userProductCodes]=\"appSwitcherUserProductCodes\"\r\n [tenantProducts]=\"appSwitcherTenantProducts\"\r\n [switchText]=\"appSwitcherSwitchText\"\r\n [discoverText]=\"appSwitcherDiscoverText\"\r\n (productClick)=\"onProductClick($event)\"\r\n >\r\n </sds-app-switcher>\r\n\r\n <div \r\n class=\"ms-2\"\r\n (click)=\"onHeaderClick()\"\r\n [class.sds-cursor-pointer]=\"allowHeaderClick\"\r\n >\r\n <img \r\n class=\"product-logo\"\r\n [src]=\"logoUrl\" \r\n [alt]=\"logoAltText\"\r\n > \r\n <h6 \r\n *ngIf=\"moduleTitle\"\r\n class=\"mt-2\"\r\n >\r\n {{moduleTitle}}\r\n </h6>\r\n </div>\r\n</div>\r\n", styles: [".product-header{margin-left:.33rem}.product-header .app-switcher,.product-header .product-logo{height:1.5rem}.product-header h6{font-size:.8rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SdsAppSwitcherComponent, selector: "sds-app-switcher", inputs: ["productCode", "userProductCodes", "tenantProducts", "switchText", "discoverText", "ariaLabel"], outputs: ["productClick"] }] });
|
|
26
26
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsProductHomeComponent, decorators: [{
|
|
27
27
|
type: Component,
|
|
28
28
|
args: [{ selector: 'sds-product-home', template: "<div class=\"product-header pb-2 mb-2 align-items-start\">\r\n <sds-app-switcher\r\n *ngIf=\"showAppSwitcher\"\r\n class=\"app-switcher\"\r\n [productCode]=\"appSwitcherProductCode\"\r\n [userProductCodes]=\"appSwitcherUserProductCodes\"\r\n [tenantProducts]=\"appSwitcherTenantProducts\"\r\n [switchText]=\"appSwitcherSwitchText\"\r\n [discoverText]=\"appSwitcherDiscoverText\"\r\n (productClick)=\"onProductClick($event)\"\r\n >\r\n </sds-app-switcher>\r\n\r\n <div \r\n class=\"ms-2\"\r\n (click)=\"onHeaderClick()\"\r\n [class.sds-cursor-pointer]=\"allowHeaderClick\"\r\n >\r\n <img \r\n class=\"product-logo\"\r\n [src]=\"logoUrl\" \r\n [alt]=\"logoAltText\"\r\n > \r\n <h6 \r\n *ngIf=\"moduleTitle\"\r\n class=\"mt-2\"\r\n >\r\n {{moduleTitle}}\r\n </h6>\r\n </div>\r\n</div>\r\n", styles: [".product-header{margin-left:.33rem}.product-header .app-switcher,.product-header .product-logo{height:1.5rem}.product-header h6{font-size:.8rem}\n"] }]
|
|
@@ -48,6 +48,20 @@ export class SdsTimelineComponent {
|
|
|
48
48
|
* @memberof SdsTimelineComponent
|
|
49
49
|
*/
|
|
50
50
|
this.pointInTimeTemplate = undefined;
|
|
51
|
+
/**
|
|
52
|
+
* The template to be used for custom rendering of the day labels.
|
|
53
|
+
*
|
|
54
|
+
* @type {(TemplateRef<any> | undefined)}
|
|
55
|
+
* @memberof SdsTimelineComponent
|
|
56
|
+
*/
|
|
57
|
+
this.dayLabelTemplate = undefined;
|
|
58
|
+
/**
|
|
59
|
+
* A custom data function for the day labels.
|
|
60
|
+
* This function takes a Date object as input and returns any custom data that will be available for the custom template
|
|
61
|
+
*
|
|
62
|
+
* @memberof SdsTimelineComponent
|
|
63
|
+
*/
|
|
64
|
+
this.dayLabelCustomDataFn = undefined;
|
|
51
65
|
/**
|
|
52
66
|
* The frequency of the ticks on the timeline.
|
|
53
67
|
*
|
|
@@ -240,7 +254,7 @@ export class SdsTimelineComponent {
|
|
|
240
254
|
}
|
|
241
255
|
generateTicks() {
|
|
242
256
|
this.hourTicks = this._timelineService.getHourTicks(this.tickFrequency);
|
|
243
|
-
this.dayLabels = this._timelineService.getDayLabels(this.locales);
|
|
257
|
+
this.dayLabels = this._timelineService.getDayLabels(this.locales, this.dayLabelCustomDataFn);
|
|
244
258
|
this.hourLabels = this._timelineService.getHourLabels(this.hourLabelFrequency);
|
|
245
259
|
}
|
|
246
260
|
generateInternalTimelineItems() {
|
|
@@ -277,10 +291,10 @@ export class SdsTimelineComponent {
|
|
|
277
291
|
}
|
|
278
292
|
}
|
|
279
293
|
SdsTimelineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsTimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
280
|
-
SdsTimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SdsTimelineComponent, selector: "sds-timeline", inputs: { start: "start", end: "end", items: "items", pointInTimeItems: "pointInTimeItems", itemTemplate: "itemTemplate", pointInTimeTemplate: "pointInTimeTemplate", tickFrequency: "tickFrequency", hourLabelFrequency: "hourLabelFrequency", zoomPercent: "zoomPercent", viewOffsetPercent: "viewOffsetPercent", maxZoomPercent: "maxZoomPercent", showHourLabels: "showHourLabels", hourLabelClass: "hourLabelClass", showDayLabels: "showDayLabels", dayLabelClass: "dayLabelClass", showTimeline: "showTimeline", hourTickClass: "hourTickClass", timelineHeight: "timelineHeight", enableZoomAndDrag: "enableZoomAndDrag", offSetMinutes: "offSetMinutes", locales: "locales" }, outputs: { zoomPercentChange: "zoomPercentChange", viewOffsetPercentChange: "viewOffsetPercentChange" }, host: { listeners: { "window:mousemove": "onDragMove($event)", "window:touchmove": "onDragMoveTouch($event)", "window:mouseup": "onDragEnd($event)", "window:touchend": "onDragEnd($event)" } }, viewQueries: [{ propertyName: "_viewport", first: true, predicate: ["viewport"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #defaultItemTemplate let-item=\"item\">\r\n <div \r\n class=\"sds-timeline-item h-100\"\r\n [title]=\"item.hint\"\r\n >\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #defaultPointInTimeItemTemplate let-item=\"item\">\r\n <div \r\n class=\"sds-timeline-item h-100\"\r\n [title]=\"item.hint\"\r\n >\r\n </div>\r\n</ng-template>\r\n\r\n<div \r\n #viewport\r\n class=\"sds-timeline-viewport\"\r\n (wheel)=\"onScroll($event)\"\r\n\r\n (mousedown)=\"onDragStart($event)\"\r\n (touchstart)=\"onDragStart($event)\"\r\n >\r\n\r\n <div \r\n class=\"sds-timeline-container d-flex flex-column\"\r\n [style.left.%]=\"viewOffsetPercent\"\r\n [style.width.%]=\"zoomPercent\"\r\n [style.cursor]=\"isDragging ? 'ew-resize' : 'default'\"\r\n >\r\n\r\n <div\r\n *ngIf=\"showDayLabels\" \r\n class=\"sds-timeline-day-header\">\r\n\r\n <div \r\n *ngFor=\"let label of dayLabels\"\r\n class=\"sds-day-label\" \r\n [ngClass]=\"dayLabelClass ?? null\"\r\n [style.left.%]=\"label.x\"\r\n [style.width.%]=\"label.width\"\r\n >\r\n {
|
|
294
|
+
SdsTimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SdsTimelineComponent, selector: "sds-timeline", inputs: { start: "start", end: "end", items: "items", pointInTimeItems: "pointInTimeItems", itemTemplate: "itemTemplate", pointInTimeTemplate: "pointInTimeTemplate", dayLabelTemplate: "dayLabelTemplate", dayLabelCustomDataFn: "dayLabelCustomDataFn", tickFrequency: "tickFrequency", hourLabelFrequency: "hourLabelFrequency", zoomPercent: "zoomPercent", viewOffsetPercent: "viewOffsetPercent", maxZoomPercent: "maxZoomPercent", showHourLabels: "showHourLabels", hourLabelClass: "hourLabelClass", showDayLabels: "showDayLabels", dayLabelClass: "dayLabelClass", showTimeline: "showTimeline", hourTickClass: "hourTickClass", timelineHeight: "timelineHeight", enableZoomAndDrag: "enableZoomAndDrag", offSetMinutes: "offSetMinutes", locales: "locales" }, outputs: { zoomPercentChange: "zoomPercentChange", viewOffsetPercentChange: "viewOffsetPercentChange" }, host: { listeners: { "window:mousemove": "onDragMove($event)", "window:touchmove": "onDragMoveTouch($event)", "window:mouseup": "onDragEnd($event)", "window:touchend": "onDragEnd($event)" } }, viewQueries: [{ propertyName: "_viewport", first: true, predicate: ["viewport"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #defaultItemTemplate let-item=\"item\">\r\n <div \r\n class=\"sds-timeline-item h-100\"\r\n [title]=\"item.hint\"\r\n >\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #defaultPointInTimeItemTemplate let-item=\"item\">\r\n <div \r\n class=\"sds-timeline-item h-100\"\r\n [title]=\"item.hint\"\r\n >\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #defaultDayLabelTemplate let-label=\"label\">\r\n {{label.label}}\r\n</ng-template>\r\n\r\n<div \r\n #viewport\r\n class=\"sds-timeline-viewport\"\r\n (wheel)=\"onScroll($event)\"\r\n\r\n (mousedown)=\"onDragStart($event)\"\r\n (touchstart)=\"onDragStart($event)\"\r\n >\r\n\r\n <div \r\n class=\"sds-timeline-container d-flex flex-column\"\r\n [style.left.%]=\"viewOffsetPercent\"\r\n [style.width.%]=\"zoomPercent\"\r\n [style.cursor]=\"isDragging ? 'ew-resize' : 'default'\"\r\n >\r\n\r\n <div\r\n *ngIf=\"showDayLabels\" \r\n class=\"sds-timeline-day-header\">\r\n\r\n <div \r\n *ngFor=\"let label of dayLabels\"\r\n class=\"sds-day-label\" \r\n [ngClass]=\"dayLabelClass ?? null\"\r\n [style.left.%]=\"label.x\"\r\n [style.width.%]=\"label.width\"\r\n >\r\n <ng-container \r\n [ngTemplateOutlet]=\"dayLabelTemplate ? dayLabelTemplate : defaultDayLabelTemplate\"\r\n [ngTemplateOutletContext]=\"{label: label}\">\r\n </ng-container> \r\n </div>\r\n </div>\r\n\r\n <div \r\n *ngIf=\"showHourLabels\" \r\n class=\"sds-timeline-hour-header\">\r\n\r\n <div \r\n *ngFor=\"let label of hourLabels;\"\r\n class=\"sds-hour-label\" \r\n [ngClass]=\"hourLabelClass ?? null\"\r\n [style.left.%]=\"label.x\"\r\n [style.width.rem]=\"1.2\"\r\n [ngStyle]=\"{'left': 'calc(' + label.x + '% - 0.6rem)'}\"\r\n >\r\n \r\n {{label.label}}\r\n \r\n </div>\r\n </div>\r\n\r\n <div \r\n *ngIf=\"showTimeline\"\r\n class=\"sds-timeline flex-grow-1\"\r\n [style.height]=\"timelineHeight\"\r\n >\r\n\r\n <div \r\n *ngFor=\"let tick of hourTicks\"\r\n class=\"sds-timeline-tick\" \r\n [ngClass]=\"hourTickClass ?? null\"\t\r\n [ngStyle]=\"tick.x == 100 ? {'left': 'calc(' + tick.x +'% - 1px)'} : {'left': 'calc(' + tick.x + '% - 0.5px)'}\"\r\n >\r\n </div>\r\n\r\n <div \r\n *ngFor=\"let item of presentationItems\"\r\n class=\"sds-timeline-item-container\"\r\n [ngClass]=\"item.class ?? null\"\r\n [ngStyle]=\"{\r\n 'width': 'max(' + item.width +'%, 1px)',\r\n 'top': 'calc(' + item.top + ' - max(calc(' + item.height +'/2), 1px))', \r\n }\"\r\n\r\n [style.left.%]=\"item.x\"\r\n [style.height]=\"item.height\"\r\n [style.backgroundColor]=\"item.backgroundColor\"\r\n >\r\n\r\n <ng-container \r\n [ngTemplateOutlet]=\"itemTemplate ? itemTemplate : defaultItemTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item}\">\r\n </ng-container> \r\n </div>\r\n\r\n\r\n <div *ngFor=\"let item of presentationPointInTimeItems\"\r\n class=\"sds-timeline-point-in-time-item-container\"\r\n [ngClass]=\"item.class\"\t\r\n [style.height]=\"item.height\"\r\n [style.width]=\"item.width\"\r\n [ngStyle]=\"{\r\n 'top': 'calc(' + item.top + ' - max(calc(' + item.height +'/2), 1px))', \r\n 'left': 'calc(' + item.x + '% - max( calc(' + item.width +'/2), 1px))',\r\n \r\n }\"\r\n [style.backgroundColor]=\"item.backgroundColor\"\r\n >\r\n\r\n <ng-container \r\n [ngTemplateOutlet]=\"pointInTimeTemplate ? pointInTimeTemplate : defaultPointInTimeItemTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item}\">\r\n </ng-container> \r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".sds-timeline-viewport{overflow:hidden}.sds-timeline-viewport .sds-timeline-container{width:100%;min-height:0;position:relative;-webkit-user-select:none;user-select:none}.sds-timeline-viewport .sds-timeline-container .sds-timeline-day-header{height:1.6rem;position:relative}.sds-timeline-viewport .sds-timeline-container .sds-timeline-day-header .sds-day-label{position:absolute;display:inline;text-align:center;font-size:.875rem}.sds-timeline-viewport .sds-timeline-container .sds-timeline-hour-header{height:1.6rem;position:relative;font-size:.8em}.sds-timeline-viewport .sds-timeline-container .sds-timeline-hour-header .sds-hour-label{position:absolute;display:inline;text-align:center;font-size:.875rem}.sds-timeline-viewport .sds-timeline-container .sds-timeline{position:relative}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-tick{border-left:1px solid rgb(187,187,187);height:100%;position:absolute;display:inline}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-item-container{height:100%;position:absolute;display:inline;top:20%;height:60%}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-item-container .sds-timeline-item{position:relative;width:100%}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-point-in-time-item-container{width:1px;height:1px;position:absolute}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-point-in-time-item-container .sds-timeline-item{position:relative;width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
281
295
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsTimelineComponent, decorators: [{
|
|
282
296
|
type: Component,
|
|
283
|
-
args: [{ selector: 'sds-timeline', template: "<ng-template #defaultItemTemplate let-item=\"item\">\r\n <div \r\n class=\"sds-timeline-item h-100\"\r\n [title]=\"item.hint\"\r\n >\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #defaultPointInTimeItemTemplate let-item=\"item\">\r\n <div \r\n class=\"sds-timeline-item h-100\"\r\n [title]=\"item.hint\"\r\n >\r\n </div>\r\n</ng-template>\r\n\r\n<div \r\n #viewport\r\n class=\"sds-timeline-viewport\"\r\n (wheel)=\"onScroll($event)\"\r\n\r\n (mousedown)=\"onDragStart($event)\"\r\n (touchstart)=\"onDragStart($event)\"\r\n >\r\n\r\n <div \r\n class=\"sds-timeline-container d-flex flex-column\"\r\n [style.left.%]=\"viewOffsetPercent\"\r\n [style.width.%]=\"zoomPercent\"\r\n [style.cursor]=\"isDragging ? 'ew-resize' : 'default'\"\r\n >\r\n\r\n <div\r\n *ngIf=\"showDayLabels\" \r\n class=\"sds-timeline-day-header\">\r\n\r\n <div \r\n *ngFor=\"let label of dayLabels\"\r\n class=\"sds-day-label\" \r\n [ngClass]=\"dayLabelClass ?? null\"\r\n [style.left.%]=\"label.x\"\r\n [style.width.%]=\"label.width\"\r\n >\r\n {
|
|
297
|
+
args: [{ selector: 'sds-timeline', template: "<ng-template #defaultItemTemplate let-item=\"item\">\r\n <div \r\n class=\"sds-timeline-item h-100\"\r\n [title]=\"item.hint\"\r\n >\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #defaultPointInTimeItemTemplate let-item=\"item\">\r\n <div \r\n class=\"sds-timeline-item h-100\"\r\n [title]=\"item.hint\"\r\n >\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #defaultDayLabelTemplate let-label=\"label\">\r\n {{label.label}}\r\n</ng-template>\r\n\r\n<div \r\n #viewport\r\n class=\"sds-timeline-viewport\"\r\n (wheel)=\"onScroll($event)\"\r\n\r\n (mousedown)=\"onDragStart($event)\"\r\n (touchstart)=\"onDragStart($event)\"\r\n >\r\n\r\n <div \r\n class=\"sds-timeline-container d-flex flex-column\"\r\n [style.left.%]=\"viewOffsetPercent\"\r\n [style.width.%]=\"zoomPercent\"\r\n [style.cursor]=\"isDragging ? 'ew-resize' : 'default'\"\r\n >\r\n\r\n <div\r\n *ngIf=\"showDayLabels\" \r\n class=\"sds-timeline-day-header\">\r\n\r\n <div \r\n *ngFor=\"let label of dayLabels\"\r\n class=\"sds-day-label\" \r\n [ngClass]=\"dayLabelClass ?? null\"\r\n [style.left.%]=\"label.x\"\r\n [style.width.%]=\"label.width\"\r\n >\r\n <ng-container \r\n [ngTemplateOutlet]=\"dayLabelTemplate ? dayLabelTemplate : defaultDayLabelTemplate\"\r\n [ngTemplateOutletContext]=\"{label: label}\">\r\n </ng-container> \r\n </div>\r\n </div>\r\n\r\n <div \r\n *ngIf=\"showHourLabels\" \r\n class=\"sds-timeline-hour-header\">\r\n\r\n <div \r\n *ngFor=\"let label of hourLabels;\"\r\n class=\"sds-hour-label\" \r\n [ngClass]=\"hourLabelClass ?? null\"\r\n [style.left.%]=\"label.x\"\r\n [style.width.rem]=\"1.2\"\r\n [ngStyle]=\"{'left': 'calc(' + label.x + '% - 0.6rem)'}\"\r\n >\r\n \r\n {{label.label}}\r\n \r\n </div>\r\n </div>\r\n\r\n <div \r\n *ngIf=\"showTimeline\"\r\n class=\"sds-timeline flex-grow-1\"\r\n [style.height]=\"timelineHeight\"\r\n >\r\n\r\n <div \r\n *ngFor=\"let tick of hourTicks\"\r\n class=\"sds-timeline-tick\" \r\n [ngClass]=\"hourTickClass ?? null\"\t\r\n [ngStyle]=\"tick.x == 100 ? {'left': 'calc(' + tick.x +'% - 1px)'} : {'left': 'calc(' + tick.x + '% - 0.5px)'}\"\r\n >\r\n </div>\r\n\r\n <div \r\n *ngFor=\"let item of presentationItems\"\r\n class=\"sds-timeline-item-container\"\r\n [ngClass]=\"item.class ?? null\"\r\n [ngStyle]=\"{\r\n 'width': 'max(' + item.width +'%, 1px)',\r\n 'top': 'calc(' + item.top + ' - max(calc(' + item.height +'/2), 1px))', \r\n }\"\r\n\r\n [style.left.%]=\"item.x\"\r\n [style.height]=\"item.height\"\r\n [style.backgroundColor]=\"item.backgroundColor\"\r\n >\r\n\r\n <ng-container \r\n [ngTemplateOutlet]=\"itemTemplate ? itemTemplate : defaultItemTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item}\">\r\n </ng-container> \r\n </div>\r\n\r\n\r\n <div *ngFor=\"let item of presentationPointInTimeItems\"\r\n class=\"sds-timeline-point-in-time-item-container\"\r\n [ngClass]=\"item.class\"\t\r\n [style.height]=\"item.height\"\r\n [style.width]=\"item.width\"\r\n [ngStyle]=\"{\r\n 'top': 'calc(' + item.top + ' - max(calc(' + item.height +'/2), 1px))', \r\n 'left': 'calc(' + item.x + '% - max( calc(' + item.width +'/2), 1px))',\r\n \r\n }\"\r\n [style.backgroundColor]=\"item.backgroundColor\"\r\n >\r\n\r\n <ng-container \r\n [ngTemplateOutlet]=\"pointInTimeTemplate ? pointInTimeTemplate : defaultPointInTimeItemTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item}\">\r\n </ng-container> \r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".sds-timeline-viewport{overflow:hidden}.sds-timeline-viewport .sds-timeline-container{width:100%;min-height:0;position:relative;-webkit-user-select:none;user-select:none}.sds-timeline-viewport .sds-timeline-container .sds-timeline-day-header{height:1.6rem;position:relative}.sds-timeline-viewport .sds-timeline-container .sds-timeline-day-header .sds-day-label{position:absolute;display:inline;text-align:center;font-size:.875rem}.sds-timeline-viewport .sds-timeline-container .sds-timeline-hour-header{height:1.6rem;position:relative;font-size:.8em}.sds-timeline-viewport .sds-timeline-container .sds-timeline-hour-header .sds-hour-label{position:absolute;display:inline;text-align:center;font-size:.875rem}.sds-timeline-viewport .sds-timeline-container .sds-timeline{position:relative}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-tick{border-left:1px solid rgb(187,187,187);height:100%;position:absolute;display:inline}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-item-container{height:100%;position:absolute;display:inline;top:20%;height:60%}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-item-container .sds-timeline-item{position:relative;width:100%}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-point-in-time-item-container{width:1px;height:1px;position:absolute}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-point-in-time-item-container .sds-timeline-item{position:relative;width:100%}\n"] }]
|
|
284
298
|
}], ctorParameters: function () { return []; }, propDecorators: { start: [{
|
|
285
299
|
type: Input
|
|
286
300
|
}], end: [{
|
|
@@ -293,6 +307,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
293
307
|
type: Input
|
|
294
308
|
}], pointInTimeTemplate: [{
|
|
295
309
|
type: Input
|
|
310
|
+
}], dayLabelTemplate: [{
|
|
311
|
+
type: Input
|
|
312
|
+
}], dayLabelCustomDataFn: [{
|
|
313
|
+
type: Input
|
|
296
314
|
}], tickFrequency: [{
|
|
297
315
|
type: Input
|
|
298
316
|
}], hourLabelFrequency: [{
|
|
@@ -343,4 +361,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
343
361
|
type: HostListener,
|
|
344
362
|
args: ['window:touchend', ['$event']]
|
|
345
363
|
}] } });
|
|
346
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvdGltZWxpbmUvY29tcG9uZW50cy90aW1lbGluZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi90aW1lbGluZS9jb21wb25lbnRzL3RpbWVsaW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBR04sU0FBUyxFQUNULFlBQVksRUFDZixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBZWxFLE1BQU0sT0FBTyxvQkFBb0I7SUFxTTdCO1FBcE1BOzs7OztXQUtHO1FBQ00sVUFBSyxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7UUFFbEM7Ozs7O1dBS0c7UUFDTSxRQUFHLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUVoQzs7Ozs7O1dBTUc7UUFDTSxVQUFLLEdBQW1CLEVBQUUsQ0FBQztRQUVwQzs7Ozs7O1dBTUc7UUFDTSxxQkFBZ0IsR0FBOEIsRUFBRSxDQUFDO1FBRTFEOzs7OztXQUtHO1FBQ00saUJBQVksR0FBaUMsU0FBUyxDQUFDO1FBRWhFOzs7OztXQUtHO1FBQ00sd0JBQW1CLEdBQWlDLFNBQVMsQ0FBQztRQUd2RTs7Ozs7V0FLRztRQUNNLGtCQUFhLEdBQTBCLFFBQVEsQ0FBQztRQUV6RDs7Ozs7V0FLRztRQUNNLHVCQUFrQixHQUEwQixNQUFNLENBQUM7UUFHNUQ7Ozs7O1dBS0c7UUFDTSxnQkFBVyxHQUFXLEdBQUcsQ0FBQztRQUN6QixzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFD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SztnQkFRRyxZQUFZO3NCQUFwQixLQUFLO2dCQVFHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBUUcsY0FBYztzQkFBdEIsS0FBSztnQkFRRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBUUcsYUFBYTtzQkFBckIsS0FBSztnQkFRRyxPQUFPO3NCQUFmLEtBQUs7Z0JBcUJtQyxTQUFTO3NCQUFqRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBMEZoQyxVQUFVO3NCQURoQixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVc1QyxlQUFlO3NCQURkLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBWXJDLFNBQVM7c0JBRmYsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ3pDLFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQWZ0ZXJWaWV3SW5pdCxcclxuICAgIENvbXBvbmVudCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBIb3N0TGlzdGVuZXIsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIE9uSW5pdCxcclxuICAgIE91dHB1dCxcclxuICAgIFNpbXBsZUNoYW5nZXMsXHJcbiAgICBUZW1wbGF0ZVJlZixcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIEV2ZW50RW1pdHRlclxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUaW1lbGluZVRpY2tGcmVxdWVuY3kgfSBmcm9tICcuLi90eXBlcy90aW1lbGluZS50eXBlcyc7XHJcbmltcG9ydCB7IFNkc1RpbWVsaW5lU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3RpbWVsaW5lLnNlcnZpY2UnO1xyXG5pbXBvcnQge1xyXG4gICAgVGltZWxpbmVJbnRlcnZhbExhYmVsLFxyXG4gICAgVGltZWxpbmVJdGVtLFxyXG4gICAgVGltZWxpbmVJdGVtUHJlc2VudGF0aW9uLFxyXG4gICAgVGltZWxpbmVQb2ludEluVGltZUl0ZW0sXHJcbiAgICBUaW1lbGluZVBvaW50SW5UaW1lSXRlbVByZXNlbnRhdGlvbixcclxuICAgIFRpbWVsaW5lVGljayxcclxufSBmcm9tICcuLi9tb2RlbHMvdGltZWxpbmUubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Nkcy10aW1lbGluZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGltZWxpbmUuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdGltZWxpbmUuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkc1RpbWVsaW5lQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc3RhcnQgZGF0ZSBhbmQgdGltZSBmb3IgdGhlIHRpbWVsaW5lLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtEYXRlfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHN0YXJ0OiBEYXRlID0gbmV3IERhdGUoKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBlbmQgZGF0ZSBhbmQgdGltZSBmb3IgdGhlIHRpbWVsaW5lLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtEYXRlfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGVuZDogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgcGVyaW9kIGJhc2VkIGl0ZW1zIHRvIGJlIGRpc3BsYXllZCBvbiB0aGUgdGltZWxpbmUuIFNwZWNpZnkgZGF0YSBpZiB5b3UgbmVlZCBcclxuICAgICAqIGFkZGl0aW9uYWwgZGF0YSBmb3IgY3VzdG9tIHJlbmRlcmluZyBvZiB0aGUgaXRlbXMuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge1RpbWVsaW5lSXRlbVtdfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGl0ZW1zOiBUaW1lbGluZUl0ZW1bXSA9IFtdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSXRlbXMgdG8gYmUgZGlzcGxheWVkIG9uIHRoZSB0aW1lbGluZSBhdCBhIHNwZWNpZmljIHBvaW50IGluIHRpbWUuXHJcbiAgICAgKiBTcGVjaWZ5IGRhdGEgaWYgeW91IG5lZWQgYWRkaXRpb25hbCBkYXRhIGZvciBjdXN0b20gcmVuZGVyaW5nIG9mIHRoZSBpdGVtcy5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7VGltZWxpbmVQb2ludEluVGltZUl0ZW1bXX1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBwb2ludEluVGltZUl0ZW1zOiBUaW1lbGluZVBvaW50SW5UaW1lSXRlbVtdID0gW107XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgdGVtcGxhdGUgdG8gYmUgdXNlZCBmb3IgY3VzdG9tIHJlbmRlcmluZyBvZiB0aGUgaXRlbXMuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUgeyhUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkKX1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBpdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgdGVtcGxhdGUgdG8gYmUgdXNlZCBmb3IgY3VzdG9tIHJlbmRlcmluZyBvZiB0aGUgcG9pbi1pbi10aW1lIGl0ZW1zLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHsoVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCl9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgcG9pbnRJblRpbWVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgZnJlcXVlbmN5IG9mIHRoZSB0aWNrcyBvbiB0aGUgdGltZWxpbmUuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge1RpbWVsaW5lVGlja0ZyZXF1ZW5jeX1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSB0aWNrRnJlcXVlbmN5OiBUaW1lbGluZVRpY2tGcmVxdWVuY3kgPSAnaG91cmx5JztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBmcmVxdWVuY3kgb2YgdGhlIGhvdXIgbGFiZWxzIG9uIHRoZSB0aW1lbGluZS5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7VGltZWxpbmVUaWNrRnJlcXVlbmN5fVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGhvdXJMYWJlbEZyZXF1ZW5jeTogVGltZWxpbmVUaWNrRnJlcXVlbmN5ID0gJzNocnMnO1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBjdXJyZW50IHpvb20gbGV2ZWwgb2YgdGhlIHRpbWVsaW5lLiBJbiBwZXJjZW50LlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtudW1iZXJ9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgem9vbVBlcmNlbnQ6IG51bWJlciA9IDEwMDtcclxuICAgIEBPdXRwdXQoKSB6b29tUGVyY2VudENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5pdGlhbCBvZmZzZXQgb2YgdGhlIHZpZXdwb3J0IGluIHBlcmNlbnQuIFRoaXMgaXMgdXNlZCBpbiBzY2VuYXJpb3MgXHJcbiAgICAgKiB3aXRoIG11bHRpcGxlIGRheXMgd2hlbiB5b3Ugd2FudCB0byBzaG93IG5vbi1maXJzdCBkYXkgYXMgZGVmdWx0LlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtudW1iZXJ9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgdmlld09mZnNldFBlcmNlbnQ6IG51bWJlciA9IDA7XHJcbiAgICBAT3V0cHV0KCkgdmlld09mZnNldFBlcmNlbnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBtYXhpbXVtIGFsbG93ZWQgem9vbSBsZXZlbCBvZiB0aGUgdGltZWxpbmUuIEluIHBlcmNlbnQuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge251bWJlcn1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBtYXhab29tUGVyY2VudDogbnVtYmVyID0gNTAwO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogV2hldGhlciB0byBzaG93IGhvdXIgbGFiZWxzLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtib29sZWFufVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHNob3dIb3VyTGFiZWxzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBDU1MgY2xhc3MgdG8gYmUgYXBwbGllZCB0byB0aGUgaG91ciBsYWJlbHMuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge3N0cmluZ31cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBob3VyTGFiZWxDbGFzcz86IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFdoZXRoZXIgdG8gc2hvdyBkYXkgbGFiZWxzLiBcclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBzaG93RGF5TGFiZWxzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgQ1NTIGNsYXNzIHRvIGJlIGFwcGxpZWQgdG8gdGhlIGRheSBsYWJlbHMuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge3N0cmluZ31cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBkYXlMYWJlbENsYXNzPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogV2hldGhlciB0byBzaG93IHRpbWVsaW5lLiBVc2VmdWwgZm9yIGhpZGluZyB0aGUgdGltZWxpbmUgd2hlbiB3ZSBvbmx5IG5lZWQgaGVhZGVyLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtib29sZWFufVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHNob3dUaW1lbGluZTogYm9vbGVhbiA9IHRydWU7ICAgIFxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIENTUyBjbGFzcyB0byBiZSBhcHBsaWVkIHRvIHRoZSBob3VyIHRpY2tzLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtzdHJpbmd9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgaG91clRpY2tDbGFzcz86IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBoZWlnaHQgb2YgdGhlIHRpbWVsaW5lLiBEZWZhdWx0IGlzIDJyZW0uXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge3N0cmluZ31cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSB0aW1lbGluZUhlaWdodDogc3RyaW5nID0gJzJyZW0nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogV2hldGhlciB0byBlbmFibGUgem9vbSBhbmQgZHJhZyBmdW5jdGlvbmFsaXR5LlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtib29sZWFufVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGVuYWJsZVpvb21BbmREcmFnOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE51bWJlciBvZiBtaW51dGVzIGFkZGVkIHRvIHN0YXJ0IGFuZCBzdG9wIHRvIGZpdCB0aGUgZGF0YSBvbiB0aGUgZWRnZXNcclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7bnVtYmVyfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIG9mZlNldE1pbnV0ZXM6IG51bWJlciA9IDE1O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGxvY2FsZXMgdG8gYmUgdXNlZCBmb3IgZm9ybWF0dGluZyB0aGUgdGltZWxpbmUuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUgeyhzdHJpbmcgfCBBcnJheTxzdHJpbmc+KX1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBsb2NhbGVzPzogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPjtcclxuXHJcbiAgICAvLyBwcm90ZWN0ZWRcclxuICAgIGhvdXJUaWNrczogVGltZWxpbmVUaWNrW10gPSBbXTtcclxuICAgIGhvdXJMYWJlbHM6IFRpbWVsaW5lSW50ZXJ2YWxMYWJlbFtdID0gW107XHJcbiAgICBkYXlMYWJlbHM6IFRpbWVsaW5lSW50ZXJ2YWxMYWJlbFtdID0gW107XHJcblxyXG4gICAgcHJpdmF0ZSBfdGltZWxpbmVTZXJ2aWNlOiBTZHNUaW1lbGluZVNlcnZpY2UgPSBuZXcgU2RzVGltZWxpbmVTZXJ2aWNlKFxyXG4gICAgICAgIHRoaXMuc3RhcnQsXHJcbiAgICAgICAgdGhpcy5lbmQsXHJcbiAgICAgICAgdGhpcy5vZmZTZXRNaW51dGVzXHJcbiAgICApO1xyXG5cclxuICAgIHB1YmxpYyBwcmVzZW50YXRpb25JdGVtczogVGltZWxpbmVJdGVtUHJlc2VudGF0aW9uW10gPSBbXTtcclxuICAgIHB1YmxpYyBwcmVzZW50YXRpb25Qb2ludEluVGltZUl0ZW1zOiBUaW1lbGluZVBvaW50SW5UaW1lSXRlbVByZXNlbnRhdGlvbltdID0gW107XHJcblxyXG4gICAgcHVibGljIGlzRHJhZ2dpbmcgPSBmYWxzZTtcclxuICAgIHB1YmxpYyBpbml0aWFsRHJhZ1ggPSAwO1xyXG5cclxuICAgIHByaXZhdGUgdmlld09mZnNldFBlcmNlbnREcmFnU3RhcnQgPSAwO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ3ZpZXdwb3J0JywgeyBzdGF0aWM6IHRydWUgfSkgX3ZpZXdwb3J0OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5nZW5lcmF0ZVRpY2tzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnN0YXJ0ICYmIHRoaXMuZW5kKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lU2VydmljZSA9IG5ldyBTZHNUaW1lbGluZVNlcnZpY2UoXHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5lbmQsXHJcbiAgICAgICAgICAgICAgICB0aGlzLm9mZlNldE1pbnV0ZXNcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZVRpY2tzKCk7XHJcbiAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVJbnRlcm5hbFRpbWVsaW5lSXRlbXMoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjaGFuZ2VzWydzdGFydCddIHx8IGNoYW5nZXNbJ2VuZCddIHx8IGNoYW5nZXNbJ29mZlNldE1pbnV0ZXMnXSkge1xyXG4gICAgICAgICAgICB0aGlzLl90aW1lbGluZVNlcnZpY2UgPSBuZXcgU2RzVGltZWxpbmVTZXJ2aWNlKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5zdGFydCxcclxuICAgICAgICAgICAgICAgIHRoaXMuZW5kLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5vZmZTZXRNaW51dGVzXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVUaWNrcygpO1xyXG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlSW50ZXJuYWxUaW1lbGluZUl0ZW1zKCk7ICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoY2hhbmdlc1snaXRlbXMnXSkge1xyXG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlSW50ZXJuYWxUaW1lbGluZUl0ZW1zKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoY2hhbmdlc1sncG9pbnRJblRpbWVJdGVtcyddKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVJbnRlcm5hbFRpbWVsaW5lUG9pbnRJblRpbWVJdGVtcygpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNoYW5nZXNbJ3pvb21QZXJjZW50J10pIHtcclxuICAgICAgICAgICAgLy8gdGhpcy52aWV3T2Zmc2V0UGVyY2VudCA9ICh0aGlzLnpvb21QZXJjZW50IC0gMTAwKSAvIC0yO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNoYW5nZXNbJ3Nob3dEYXlMYWJlbHMnXSB8fCBjaGFuZ2VzWydzaG93SG91ckxhYmVscyddKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVUaWNrcygpO1xyXG4gICAgICAgIH0gICAgICBcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gICAgLy8jcmVnaW9uIG1vdXNlIHdoZWVsIHpvb21cclxuICAgIG9uU2Nyb2xsKGV2ZW50OiBXaGVlbEV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlWm9vbUFuZERyYWcpIHtcclxuXHJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBkZWx0YSA9IE1hdGguc2lnbihldmVudC5kZWx0YVkpO1xyXG4gICAgICAgICAgICBjb25zdCBuZXdab29tUGVyY2VudCA9IE1hdGgubWluKFxyXG4gICAgICAgICAgICAgICAgTWF0aC5tYXgodGhpcy56b29tUGVyY2VudCArIC1kZWx0YSAqIDIwLCAxMDApLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5tYXhab29tUGVyY2VudFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBjb25zdCBkZWx0YVpvb21QZXJjZW50ID0gbmV3Wm9vbVBlcmNlbnQgLSB0aGlzLnpvb21QZXJjZW50O1xyXG4gICAgICAgICAgICB0aGlzLnpvb21QZXJjZW50ID0gbmV3Wm9vbVBlcmNlbnQ7XHJcbiAgICAgICAgICAgIHRoaXMuem9vbVBlcmNlbnRDaGFuZ2UuZW1pdCh0aGlzLnpvb21QZXJjZW50KTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC8vIGdldCB0aGUgcmVsYXRpdmUgcG9zaXRpb24gb2YgdGhlIGN1cnNvciBvbiB0aGUgdmlld3BvcnQgc28gd2UgY2FuIHpvb20gaW4gaW50byB0aGlzIHBvc2l0aW9uXHJcbiAgICAgICAgICAgIGNvbnN0IHggPSBldmVudC5jbGllbnRYIC0gdGhpcy5fdmlld3BvcnQ/Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdDtcclxuICAgICAgICAgICAgY29uc3QgY3Vyc29yUmVsYXRpdmVQb3NpdGlvbiA9IHggLyB0aGlzLl92aWV3cG9ydD8ubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcclxuICAgICAgICAgICAgLy8gdGhpcy52aWV3T2Zmc2V0UGVyY2VudCA9IHRoaXMudmlld09mZnNldFBlcmNlbnQgLSBkZWx0YVpvb21QZXJjZW50ICogY3Vyc29yUmVsYXRpdmVQb3NpdGlvbjtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RyYWluT2Zmc2V0KHRoaXMudmlld09mZnNldFBlcmNlbnQgLSBkZWx0YVpvb21QZXJjZW50ICogY3Vyc29yUmVsYXRpdmVQb3NpdGlvbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgLy8jcmVnaW9uIGRyYWdnaW5nXHJcbiAgICBcclxuICAgIHB1YmxpYyBvbkRyYWdTdGFydChldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5lbmFibGVab29tQW5kRHJhZyAmJiB0aGlzLnpvb21QZXJjZW50ID4gMTAwKSB7XHJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNEcmFnZ2luZyA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMudmlld09mZnNldFBlcmNlbnREcmFnU3RhcnQgPSB0aGlzLnZpZXdPZmZzZXRQZXJjZW50O1xyXG5cclxuICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTW91c2VFdmVudCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsRHJhZ1ggPSBldmVudC5jbGllbnRYO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50IGluc3RhbmNlb2YgVG91Y2hFdmVudCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsRHJhZ1ggPSBldmVudC50b3VjaGVzWzBdLmNsaWVudFg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93Om1vdXNlbW92ZScsIFsnJGV2ZW50J10pXHJcbiAgICBwdWJsaWMgb25EcmFnTW92ZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmVuYWJsZVpvb21BbmREcmFnKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmlzRHJhZ2dpbmcpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRYID0gZXZlbnQuY2xpZW50WDtcclxuICAgICAgICAgICAgICAgIHRoaXMubW92ZUVsZW1lbnQoY3VycmVudFgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzp0b3VjaG1vdmUnLCBbJyRldmVudCddKVxyXG4gICAgb25EcmFnTW92ZVRvdWNoKGV2ZW50OiBUb3VjaEV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlWm9vbUFuZERyYWcpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNEcmFnZ2luZykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVudFggPSBldmVudC50b3VjaGVzWzBdLmNsaWVudFg7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vdmVFbGVtZW50KGN1cnJlbnRYKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6bW91c2V1cCcsIFsnJGV2ZW50J10pXHJcbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6dG91Y2hlbmQnLCBbJyRldmVudCddKVxyXG4gICAgcHVibGljIG9uRHJhZ0VuZChldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5lbmFibGVab29tQW5kRHJhZykge1xyXG4gICAgICAgICAgICB0aGlzLmlzRHJhZ2dpbmcgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBtb3ZlRWxlbWVudChjdXJyZW50WDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZGlmZiA9IGN1cnJlbnRYIC0gdGhpcy5pbml0aWFsRHJhZ1g7XHJcbiAgICAgICAgaWYgKHRoaXMuX3ZpZXdwb3J0ICYmIHRoaXMuX3ZpZXdwb3J0Lm5hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgY29uc3QgZGlmZkluUGVyY2VudCA9IChkaWZmIC8gdGhpcy5fdmlld3BvcnQ/Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgpICogMTAwO1xyXG4gICAgICAgICAgICAvLyB0aGlzLnZpZXdPZmZzZXRQZXJjZW50ID0gdGhpcy52aWV3T2Zmc2V0UGVyY2VudERyYWdTdGFydCArIGRpZmZJblBlcmNlbnQ7XHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RyYWluT2Zmc2V0KHRoaXMudmlld09mZnNldFBlcmNlbnREcmFnU3RhcnQgKyBkaWZmSW5QZXJjZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgcHJpdmF0ZSBjb25zdHJhaW5PZmZzZXQobmV3T2Zmc2V0OiBudW1iZXIpOiB2b2lkIHsgICAgICAgIFxyXG4gICAgICAgIGlmICh0aGlzLnpvb21QZXJjZW50ICsgbmV3T2Zmc2V0IDwgMTAwKSB7XHJcbiAgICAgICAgICAgIG5ld09mZnNldCA9IC10aGlzLnpvb21QZXJjZW50ICsgMTAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBuZXdPZmZzZXQgPSBNYXRoLm1pbigwLCBuZXdPZmZzZXQpO1xyXG4gICAgICAgIGlmIChuZXdPZmZzZXQgIT0gdGhpcy52aWV3T2Zmc2V0UGVyY2VudCkge1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdPZmZzZXRQZXJjZW50ID0gbmV3T2Zmc2V0O1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdPZmZzZXRQZXJjZW50Q2hhbmdlLmVtaXQodGhpcy52aWV3T2Zmc2V0UGVyY2VudCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2VuZXJhdGVUaWNrcygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmhvdXJUaWNrcyA9IHRoaXMuX3RpbWVsaW5lU2VydmljZS5nZXRIb3VyVGlja3ModGhpcy50aWNrRnJlcXVlbmN5KTtcclxuICAgICAgICB0aGlzLmRheUxhYmVscyA9IHRoaXMuX3RpbWVsaW5lU2VydmljZS5nZXREYXlMYWJlbHModGhpcy5sb2NhbGVzKTtcclxuICAgICAgICB0aGlzLmhvdXJMYWJlbHMgPSB0aGlzLl90aW1lbGluZVNlcnZpY2UuZ2V0SG91ckxhYmVscyh0aGlzLmhvdXJMYWJlbEZyZXF1ZW5jeSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZUludGVybmFsVGltZWxpbmVJdGVtcygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnByZXNlbnRhdGlvbkl0ZW1zID0gdGhpcy5pdGVtcy5tYXAoKGl0ZW0pID0+IHtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0VGltZSA9IG5ldyBEYXRlKGl0ZW0uc3RhcnQpLnRvTG9jYWxlVGltZVN0cmluZyh0aGlzLmxvY2FsZXM/PyBbXSwgeyBob3VyOiAnbnVtZXJpYycsIG1pbnV0ZTogJzItZGlnaXQnIH0pO1xyXG4gICAgICAgICAgICBjb25zdCBlbmRUaW1lID0gbmV3IERhdGUoaXRlbS5lbmQpLnRvTG9jYWxlVGltZVN0cmluZyh0aGlzLmxvY2FsZXM/PyBbXSwgeyBob3VyOiAnbnVtZXJpYycsIG1pbnV0ZTogJzItZGlnaXQnIH0pO1xyXG4gICAgICAgICAgICBjb25zdCB0aW1lUmFuZ2UgPSBgJHtzdGFydFRpbWV9IC0gJHtlbmRUaW1lfWA7XHJcbiAgICBcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGRhdGE6IGl0ZW0uZGF0YSxcclxuICAgICAgICAgICAgICAgIHg6IHRoaXMuX3RpbWVsaW5lU2VydmljZS5nZXRYKGl0ZW0uc3RhcnQpLFxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IHRoaXMuX3RpbWVsaW5lU2VydmljZS5nZXRXaWR0aEZyb21UaW1lKFxyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uc3RhcnQsXHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5lbmRcclxuICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICBoaW50OiBpdGVtLmhpbnQgPz8gdGltZVJhbmdlLFxyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBpdGVtLmJhY2tncm91bmRDb2xvcixcclxuICAgICAgICAgICAgICAgIHRvcDogaXRlbS50b3AgPz8gJzUwJScsXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGl0ZW0uaGVpZ2h0ID8/ICc2MCUnLFxyXG4gICAgICAgICAgICAgICAgY2xhc3M6IGl0ZW0uY2xhc3MsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgZ2VuZXJhdGVJbnRlcm5hbFRpbWVsaW5lUG9pbnRJblRpbWVJdGVtcygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnByZXNlbnRhdGlvblBvaW50SW5UaW1lSXRlbXMgPSB0aGlzLnBvaW50SW5UaW1lSXRlbXMubWFwKChpdGVtKSA9PiB7XHJcblxyXG4gICAgICAgICAgICBjb25zdCB0aW1lUG9pbnRTdHJpbmcgPSBuZXcgRGF0ZShpdGVtLmRhdGUpLnRvTG9jYWxlVGltZVN0cmluZyh0aGlzLmxvY2FsZXM/PyBbXSwgeyBob3VyOiAnbnVtZXJpYycsIG1pbnV0ZTogJzItZGlnaXQnIH0pO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGRhdGE6IGl0ZW0uZGF0YSxcclxuICAgICAgICAgICAgICAgIHg6IHRoaXMuX3RpbWVsaW5lU2VydmljZS5nZXRYKGl0ZW0uZGF0ZSksXHJcbiAgICAgICAgICAgICAgICBoaW50OiBpdGVtLmhpbnQgPz8gdGltZVBvaW50U3RyaW5nLFxyXG4gICAgICAgICAgICAgICAgdG9wOiBpdGVtLnRvcCA/PyAnMjAlJyxcclxuICAgICAgICAgICAgICAgIGhlaWdodDogaXRlbS5oZWlnaHQgPz8gJzFyZW0nLFxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGl0ZW0ud2lkdGggPz8gJzFyZW0nLFxyXG4gICAgICAgICAgICAgICAgY2xhc3M6IGl0ZW0uY2xhc3MsXHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGl0ZW0uYmFja2dyb3VuZENvbG9yLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEl0ZW1UZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIj5cclxuICAgIDxkaXYgXHJcbiAgICAgICAgY2xhc3M9XCJzZHMtdGltZWxpbmUtaXRlbSBoLTEwMFwiXHJcbiAgICAgICAgW3RpdGxlXT1cIml0ZW0uaGludFwiXHJcbiAgICAgICAgPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2RlZmF1bHRQb2ludEluVGltZUl0ZW1UZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIj5cclxuICAgIDxkaXYgXHJcbiAgICAgICAgY2xhc3M9XCJzZHMtdGltZWxpbmUtaXRlbSBoLTEwMFwiXHJcbiAgICAgICAgW3RpdGxlXT1cIml0ZW0uaGludFwiXHJcbiAgICAgICAgPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48ZGl2IFxyXG4gICAgI3ZpZXdwb3J0XHJcbiAgICBjbGFzcz1cInNkcy10aW1lbGluZS12aWV3cG9ydFwiXHJcbiAgICAod2hlZWwpPVwib25TY3JvbGwoJGV2ZW50KVwiXHJcblxyXG4gICAgKG1vdXNlZG93bik9XCJvbkRyYWdTdGFydCgkZXZlbnQpXCJcclxuICAgICh0b3VjaHN0YXJ0KT1cIm9uRHJhZ1N0YXJ0KCRldmVudClcIlxyXG4gICAgPlxyXG5cclxuICAgIDxkaXYgXHJcbiAgICAgICAgY2xhc3M9XCJzZHMtdGltZWxpbmUtY29udGFpbmVyIGQtZmxleCBmbGV4LWNvbHVtblwiXHJcbiAgICAgICAgW3N0eWxlLmxlZnQuJV09XCJ2aWV3T2Zmc2V0UGVyY2VudFwiXHJcbiAgICAgICAgW3N0eWxlLndpZHRoLiVdPVwiem9vbVBlcmNlbnRcIlxyXG4gICAgICAgIFtzdHlsZS5jdXJzb3JdPVwiaXNEcmFnZ2luZyA/ICdldy1yZXNpemUnIDogJ2RlZmF1bHQnXCJcclxuICAgICAgICA+XHJcblxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgKm5nSWY9XCJzaG93RGF5TGFiZWxzXCIgXHJcbiAgICAgICAgICAgIGNsYXNzPVwic2RzLXRpbWVsaW5lLWRheS1oZWFkZXJcIj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgbGFiZWwgb2YgZGF5TGFiZWxzXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2RzLWRheS1sYWJlbFwiICBcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImRheUxhYmVsQ2xhc3MgPz8gbnVsbFwiXHJcbiAgICAgICAgICAgICAgICBbc3R5bGUubGVmdC4lXT1cImxhYmVsLnhcIlxyXG4gICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLiVdPVwibGFiZWwud2lkdGhcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7e2xhYmVsLmxhYmVsfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICpuZ0lmPVwic2hvd0hvdXJMYWJlbHNcIiBcclxuICAgICAgICAgICAgY2xhc3M9XCJzZHMtdGltZWxpbmUtaG91ci1oZWFkZXJcIj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgbGFiZWwgb2YgaG91ckxhYmVscztcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZHMtaG91ci1sYWJlbFwiICBcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImhvdXJMYWJlbENsYXNzID8/IG51bGxcIlxyXG4gICAgICAgICAgICAgICAgW3N0eWxlLmxlZnQuJV09XCJsYWJlbC54XCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS53aWR0aC5yZW1dPVwiMS4yXCJcclxuICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsnbGVmdCc6ICdjYWxjKCcgKyBsYWJlbC54ICsgJyUgLSAwLjZyZW0pJ31cIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHt7bGFiZWwubGFiZWx9fVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICAqbmdJZj1cInNob3dUaW1lbGluZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwic2RzLXRpbWVsaW5lIGZsZXgtZ3Jvdy0xXCJcclxuICAgICAgICAgICAgW3N0eWxlLmhlaWdodF09XCJ0aW1lbGluZUhlaWdodFwiXHJcbiAgICAgICAgICAgID5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgdGljayBvZiBob3VyVGlja3NcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZHMtdGltZWxpbmUtdGlja1wiICBcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImhvdXJUaWNrQ2xhc3MgPz8gbnVsbFwiXHRcclxuICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInRpY2sueCA9PSAxMDAgPyB7J2xlZnQnOiAnY2FsYygnICsgdGljay54ICsnJSAtIDFweCknfSA6IHsnbGVmdCc6ICdjYWxjKCcgKyB0aWNrLnggKyAnJSAtIDAuNXB4KSd9XCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBwcmVzZW50YXRpb25JdGVtc1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNkcy10aW1lbGluZS1pdGVtLWNvbnRhaW5lclwiXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJpdGVtLmNsYXNzID8/IG51bGxcIlxyXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICd3aWR0aCc6ICdtYXgoJyArIGl0ZW0ud2lkdGggKyclLCAxcHgpJyxcclxuICAgICAgICAgICAgICAgICAgICAndG9wJzogJ2NhbGMoJyArIGl0ZW0udG9wICsgJyAtIG1heChjYWxjKCcgKyBpdGVtLmhlaWdodCArJy8yKSwgMXB4KSknLCBcclxuICAgICAgICAgICAgICAgIH1cIlxyXG5cclxuICAgICAgICAgICAgICAgIFtzdHlsZS5sZWZ0LiVdPVwiaXRlbS54XCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiaXRlbS5oZWlnaHRcIlxyXG4gICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJpdGVtLmJhY2tncm91bmRDb2xvclwiXHJcbiAgICAgICAgICAgICAgICA+XHJcblxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBcclxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtVGVtcGxhdGUgPyBpdGVtVGVtcGxhdGUgOiBkZWZhdWx0SXRlbVRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2l0ZW06IGl0ZW19XCI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gIFxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIHByZXNlbnRhdGlvblBvaW50SW5UaW1lSXRlbXNcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZHMtdGltZWxpbmUtcG9pbnQtaW4tdGltZS1pdGVtLWNvbnRhaW5lclwiXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJpdGVtLmNsYXNzXCJcdFxyXG4gICAgICAgICAgICAgICAgW3N0eWxlLmhlaWdodF09XCJpdGVtLmhlaWdodFwiXHJcbiAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGhdPVwiaXRlbS53aWR0aFwiXHJcbiAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICdjYWxjKCcgKyBpdGVtLnRvcCArICcgLSBtYXgoY2FsYygnICsgaXRlbS5oZWlnaHQgKycvMiksIDFweCkpJywgXHJcbiAgICAgICAgICAgICAgICAgICAgJ2xlZnQnOiAnY2FsYygnICsgaXRlbS54ICsgJyUgLSBtYXgoIGNhbGMoJyArIGl0ZW0ud2lkdGggKycvMiksIDFweCkpJyxcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJpdGVtLmJhY2tncm91bmRDb2xvclwiXHJcbiAgICAgICAgICAgICAgICA+XHJcblxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBcclxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwb2ludEluVGltZVRlbXBsYXRlID8gcG9pbnRJblRpbWVUZW1wbGF0ZSA6IGRlZmF1bHRQb2ludEluVGltZUl0ZW1UZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntpdGVtOiBpdGVtfVwiPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+ICBcclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
364
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvdGltZWxpbmUvY29tcG9uZW50cy90aW1lbGluZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi90aW1lbGluZS9jb21wb25lbnRzL3RpbWVsaW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBR04sU0FBUyxFQUNULFlBQVksRUFDZixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBZWxFLE1BQU0sT0FBTyxvQkFBb0I7SUFvTjdCO1FBbk5BOzs7OztXQUtHO1FBQ00sVUFBSyxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7UUFFbEM7Ozs7O1dBS0c7UUFDTSxRQUFHLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUVoQzs7Ozs7O1dBTUc7UUFDTSxVQUFLLEdBQW1CLEVBQUUsQ0FBQztRQUVwQzs7Ozs7O1dBTUc7UUFDTSxxQkFBZ0IsR0FBOEIsRUFBRSxDQUFDO1FBRTFEOzs7OztXQUtHO1FBQ00saUJBQVksR0FBaUMsU0FBUyxDQUFDO1FBRWhFOzs7OztXQUtHO1FBQ00sd0JBQW1CLEdBQWlDLFNBQVMsQ0FBQztRQUV2RTs7Ozs7V0FLRztRQUNNLHFCQUFnQixHQUFpQyxTQUFTLENBQUM7UUFFcEU7Ozs7O1dBS0c7UUFDTSx5QkFBb0IsR0FBK0MsU0FBUyxDQUFDO1FBRXRGOzs7OztXQUtHO1FBQ00sa0JBQWEsR0FBMEIsUUFBUSxDQUFDO1FBRXpEOzs7OztXQUtHO1FBQ00sdUJBQWtCLEdBQTBCLE1B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LGlCQUFpQjtzQkFBekIsS0FBSztnQkFDSSx1QkFBdUI7c0JBQWhDLE1BQU07Z0JBUUUsY0FBYztzQkFBdEIsS0FBSztnQkFRRyxjQUFjO3NCQUF0QixLQUFLO2dCQVFHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBUUcsYUFBYTtzQkFBckIsS0FBSztnQkFRRyxhQUFhO3NCQUFyQixLQUFLO2dCQVFHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBUUcsYUFBYTtzQkFBckIsS0FBSztnQkFRRyxjQUFjO3NCQUF0QixLQUFLO2dCQVFHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFRRyxhQUFhO3NCQUFyQixLQUFLO2dCQVFHLE9BQU87c0JBQWYsS0FBSztnQkFxQm1DLFNBQVM7c0JBQWpELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkEwRmhDLFVBQVU7c0JBRGhCLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBVzVDLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFZckMsU0FBUztzQkFGZixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDekMsWUFBWTt1QkFBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBBZnRlclZpZXdJbml0LFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIEhvc3RMaXN0ZW5lcixcclxuICAgIElucHV0LFxyXG4gICAgT25DaGFuZ2VzLFxyXG4gICAgT25Jbml0LFxyXG4gICAgT3V0cHV0LFxyXG4gICAgU2ltcGxlQ2hhbmdlcyxcclxuICAgIFRlbXBsYXRlUmVmLFxyXG4gICAgVmlld0NoaWxkLFxyXG4gICAgRXZlbnRFbWl0dGVyXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRpbWVsaW5lQ3VzdG9tRGF0ZURhdGFQcm92aWRlciwgVGltZWxpbmVUaWNrRnJlcXVlbmN5IH0gZnJvbSAnLi4vdHlwZXMvdGltZWxpbmUudHlwZXMnO1xyXG5pbXBvcnQgeyBTZHNUaW1lbGluZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy90aW1lbGluZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICAgIFRpbWVsaW5lSW50ZXJ2YWxMYWJlbCxcclxuICAgIFRpbWVsaW5lSXRlbSxcclxuICAgIFRpbWVsaW5lSXRlbVByZXNlbnRhdGlvbixcclxuICAgIFRpbWVsaW5lUG9pbnRJblRpbWVJdGVtLFxyXG4gICAgVGltZWxpbmVQb2ludEluVGltZUl0ZW1QcmVzZW50YXRpb24sXHJcbiAgICBUaW1lbGluZVRpY2ssXHJcbn0gZnJvbSAnLi4vbW9kZWxzL3RpbWVsaW5lLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzZHMtdGltZWxpbmUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RpbWVsaW5lLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3RpbWVsaW5lLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZHNUaW1lbGluZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcclxuICAgIC8qKlxyXG4gICAgICogVGhlIHN0YXJ0IGRhdGUgYW5kIHRpbWUgZm9yIHRoZSB0aW1lbGluZS5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7RGF0ZX1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBzdGFydDogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgZW5kIGRhdGUgYW5kIHRpbWUgZm9yIHRoZSB0aW1lbGluZS5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7RGF0ZX1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBlbmQ6IERhdGUgPSBuZXcgRGF0ZSgpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHBlcmlvZCBiYXNlZCBpdGVtcyB0byBiZSBkaXNwbGF5ZWQgb24gdGhlIHRpbWVsaW5lLiBTcGVjaWZ5IGRhdGEgaWYgeW91IG5lZWQgXHJcbiAgICAgKiBhZGRpdGlvbmFsIGRhdGEgZm9yIGN1c3RvbSByZW5kZXJpbmcgb2YgdGhlIGl0ZW1zLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtUaW1lbGluZUl0ZW1bXX1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBpdGVtczogVGltZWxpbmVJdGVtW10gPSBbXTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEl0ZW1zIHRvIGJlIGRpc3BsYXllZCBvbiB0aGUgdGltZWxpbmUgYXQgYSBzcGVjaWZpYyBwb2ludCBpbiB0aW1lLlxyXG4gICAgICogU3BlY2lmeSBkYXRhIGlmIHlvdSBuZWVkIGFkZGl0aW9uYWwgZGF0YSBmb3IgY3VzdG9tIHJlbmRlcmluZyBvZiB0aGUgaXRlbXMuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge1RpbWVsaW5lUG9pbnRJblRpbWVJdGVtW119XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgcG9pbnRJblRpbWVJdGVtczogVGltZWxpbmVQb2ludEluVGltZUl0ZW1bXSA9IFtdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHRlbXBsYXRlIHRvIGJlIHVzZWQgZm9yIGN1c3RvbSByZW5kZXJpbmcgb2YgdGhlIGl0ZW1zLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHsoVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCl9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgaXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHRlbXBsYXRlIHRvIGJlIHVzZWQgZm9yIGN1c3RvbSByZW5kZXJpbmcgb2YgdGhlIHBvaW4taW4tdGltZSBpdGVtcy5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7KFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQpfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHBvaW50SW5UaW1lVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgdGVtcGxhdGUgdG8gYmUgdXNlZCBmb3IgY3VzdG9tIHJlbmRlcmluZyBvZiB0aGUgZGF5IGxhYmVscy5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7KFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQpfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGRheUxhYmVsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogQSBjdXN0b20gZGF0YSBmdW5jdGlvbiBmb3IgdGhlIGRheSBsYWJlbHMuIFxyXG4gICAgICogVGhpcyBmdW5jdGlvbiB0YWtlcyBhIERhdGUgb2JqZWN0IGFzIGlucHV0IGFuZCByZXR1cm5zIGFueSBjdXN0b20gZGF0YSB0aGF0IHdpbGwgYmUgYXZhaWxhYmxlIGZvciB0aGUgY3VzdG9tIHRlbXBsYXRlXHJcbiAgICAgKlxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGRheUxhYmVsQ3VzdG9tRGF0YUZuOiBUaW1lbGluZUN1c3RvbURhdGVEYXRhUHJvdmlkZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgZnJlcXVlbmN5IG9mIHRoZSB0aWNrcyBvbiB0aGUgdGltZWxpbmUuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge1RpbWVsaW5lVGlja0ZyZXF1ZW5jeX1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSB0aWNrRnJlcXVlbmN5OiBUaW1lbGluZVRpY2tGcmVxdWVuY3kgPSAnaG91cmx5JztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBmcmVxdWVuY3kgb2YgdGhlIGhvdXIgbGFiZWxzIG9uIHRoZSB0aW1lbGluZS5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7VGltZWxpbmVUaWNrRnJlcXVlbmN5fVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGhvdXJMYWJlbEZyZXF1ZW5jeTogVGltZWxpbmVUaWNrRnJlcXVlbmN5ID0gJzNocnMnO1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBjdXJyZW50IHpvb20gbGV2ZWwgb2YgdGhlIHRpbWVsaW5lLiBJbiBwZXJjZW50LlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtudW1iZXJ9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgem9vbVBlcmNlbnQ6IG51bWJlciA9IDEwMDtcclxuICAgIEBPdXRwdXQoKSB6b29tUGVyY2VudENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5pdGlhbCBvZmZzZXQgb2YgdGhlIHZpZXdwb3J0IGluIHBlcmNlbnQuIFRoaXMgaXMgdXNlZCBpbiBzY2VuYXJpb3MgXHJcbiAgICAgKiB3aXRoIG11bHRpcGxlIGRheXMgd2hlbiB5b3Ugd2FudCB0byBzaG93IG5vbi1maXJzdCBkYXkgYXMgZGVmdWx0LlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtudW1iZXJ9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgdmlld09mZnNldFBlcmNlbnQ6IG51bWJlciA9IDA7XHJcbiAgICBAT3V0cHV0KCkgdmlld09mZnNldFBlcmNlbnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBtYXhpbXVtIGFsbG93ZWQgem9vbSBsZXZlbCBvZiB0aGUgdGltZWxpbmUuIEluIHBlcmNlbnQuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge251bWJlcn1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBtYXhab29tUGVyY2VudDogbnVtYmVyID0gNTAwO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogV2hldGhlciB0byBzaG93IGhvdXIgbGFiZWxzLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtib29sZWFufVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHNob3dIb3VyTGFiZWxzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBDU1MgY2xhc3MgdG8gYmUgYXBwbGllZCB0byB0aGUgaG91ciBsYWJlbHMuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge3N0cmluZ31cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBob3VyTGFiZWxDbGFzcz86IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFdoZXRoZXIgdG8gc2hvdyBkYXkgbGFiZWxzLiBcclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBzaG93RGF5TGFiZWxzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgQ1NTIGNsYXNzIHRvIGJlIGFwcGxpZWQgdG8gdGhlIGRheSBsYWJlbHMuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge3N0cmluZ31cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBkYXlMYWJlbENsYXNzPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogV2hldGhlciB0byBzaG93IHRpbWVsaW5lLiBVc2VmdWwgZm9yIGhpZGluZyB0aGUgdGltZWxpbmUgd2hlbiB3ZSBvbmx5IG5lZWQgaGVhZGVyLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtib29sZWFufVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHNob3dUaW1lbGluZTogYm9vbGVhbiA9IHRydWU7ICAgIFxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIENTUyBjbGFzcyB0byBiZSBhcHBsaWVkIHRvIHRoZSBob3VyIHRpY2tzLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtzdHJpbmd9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgaG91clRpY2tDbGFzcz86IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBoZWlnaHQgb2YgdGhlIHRpbWVsaW5lLiBEZWZhdWx0IGlzIDJyZW0uXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge3N0cmluZ31cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSB0aW1lbGluZUhlaWdodDogc3RyaW5nID0gJzJyZW0nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogV2hldGhlciB0byBlbmFibGUgem9vbSBhbmQgZHJhZyBmdW5jdGlvbmFsaXR5LlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtib29sZWFufVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGVuYWJsZVpvb21BbmREcmFnOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE51bWJlciBvZiBtaW51dGVzIGFkZGVkIHRvIHN0YXJ0IGFuZCBzdG9wIHRvIGZpdCB0aGUgZGF0YSBvbiB0aGUgZWRnZXNcclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7bnVtYmVyfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIG9mZlNldE1pbnV0ZXM6IG51bWJlciA9IDE1O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGxvY2FsZXMgdG8gYmUgdXNlZCBmb3IgZm9ybWF0dGluZyB0aGUgdGltZWxpbmUuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUgeyhzdHJpbmcgfCBBcnJheTxzdHJpbmc+KX1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBsb2NhbGVzPzogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPjtcclxuXHJcbiAgICAvLyBwcm90ZWN0ZWRcclxuICAgIGhvdXJUaWNrczogVGltZWxpbmVUaWNrW10gPSBbXTtcclxuICAgIGhvdXJMYWJlbHM6IFRpbWVsaW5lSW50ZXJ2YWxMYWJlbFtdID0gW107XHJcbiAgICBkYXlMYWJlbHM6IFRpbWVsaW5lSW50ZXJ2YWxMYWJlbFtdID0gW107XHJcblxyXG4gICAgcHJpdmF0ZSBfdGltZWxpbmVTZXJ2aWNlOiBTZHNUaW1lbGluZVNlcnZpY2UgPSBuZXcgU2RzVGltZWxpbmVTZXJ2aWNlKFxyXG4gICAgICAgIHRoaXMuc3RhcnQsXHJcbiAgICAgICAgdGhpcy5lbmQsXHJcbiAgICAgICAgdGhpcy5vZmZTZXRNaW51dGVzXHJcbiAgICApO1xyXG5cclxuICAgIHB1YmxpYyBwcmVzZW50YXRpb25JdGVtczogVGltZWxpbmVJdGVtUHJlc2VudGF0aW9uW10gPSBbXTtcclxuICAgIHB1YmxpYyBwcmVzZW50YXRpb25Qb2ludEluVGltZUl0ZW1zOiBUaW1lbGluZVBvaW50SW5UaW1lSXRlbVByZXNlbnRhdGlvbltdID0gW107XHJcblxyXG4gICAgcHVibGljIGlzRHJhZ2dpbmcgPSBmYWxzZTtcclxuICAgIHB1YmxpYyBpbml0aWFsRHJhZ1ggPSAwO1xyXG5cclxuICAgIHByaXZhdGUgdmlld09mZnNldFBlcmNlbnREcmFnU3RhcnQgPSAwO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ3ZpZXdwb3J0JywgeyBzdGF0aWM6IHRydWUgfSkgX3ZpZXdwb3J0OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5nZW5lcmF0ZVRpY2tzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnN0YXJ0ICYmIHRoaXMuZW5kKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lU2VydmljZSA9IG5ldyBTZHNUaW1lbGluZVNlcnZpY2UoXHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5lbmQsXHJcbiAgICAgICAgICAgICAgICB0aGlzLm9mZlNldE1pbnV0ZXNcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZVRpY2tzKCk7XHJcbiAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVJbnRlcm5hbFRpbWVsaW5lSXRlbXMoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjaGFuZ2VzWydzdGFydCddIHx8IGNoYW5nZXNbJ2VuZCddIHx8IGNoYW5nZXNbJ29mZlNldE1pbnV0ZXMnXSkge1xyXG4gICAgICAgICAgICB0aGlzLl90aW1lbGluZVNlcnZpY2UgPSBuZXcgU2RzVGltZWxpbmVTZXJ2aWNlKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5zdGFydCxcclxuICAgICAgICAgICAgICAgIHRoaXMuZW5kLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5vZmZTZXRNaW51dGVzXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVUaWNrcygpO1xyXG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlSW50ZXJuYWxUaW1lbGluZUl0ZW1zKCk7ICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoY2hhbmdlc1snaXRlbXMnXSkge1xyXG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlSW50ZXJuYWxUaW1lbGluZUl0ZW1zKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoY2hhbmdlc1sncG9pbnRJblRpbWVJdGVtcyddKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVJbnRlcm5hbFRpbWVsaW5lUG9pbnRJblRpbWVJdGVtcygpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNoYW5nZXNbJ3pvb21QZXJjZW50J10pIHtcclxuICAgICAgICAgICAgLy8gdGhpcy52aWV3T2Zmc2V0UGVyY2VudCA9ICh0aGlzLnpvb21QZXJjZW50IC0gMTAwKSAvIC0yO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNoYW5nZXNbJ3Nob3dEYXlMYWJlbHMnXSB8fCBjaGFuZ2VzWydzaG93SG91ckxhYmVscyddKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVUaWNrcygpO1xyXG4gICAgICAgIH0gICAgICBcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gICAgLy8jcmVnaW9uIG1vdXNlIHdoZWVsIHpvb21cclxuICAgIG9uU2Nyb2xsKGV2ZW50OiBXaGVlbEV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlWm9vbUFuZERyYWcpIHtcclxuXHJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBkZWx0YSA9IE1hdGguc2lnbihldmVudC5kZWx0YVkpO1xyXG4gICAgICAgICAgICBjb25zdCBuZXdab29tUGVyY2VudCA9IE1hdGgubWluKFxyXG4gICAgICAgICAgICAgICAgTWF0aC5tYXgodGhpcy56b29tUGVyY2VudCArIC1kZWx0YSAqIDIwLCAxMDApLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5tYXhab29tUGVyY2VudFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBjb25zdCBkZWx0YVpvb21QZXJjZW50ID0gbmV3Wm9vbVBlcmNlbnQgLSB0aGlzLnpvb21QZXJjZW50O1xyXG4gICAgICAgICAgICB0aGlzLnpvb21QZXJjZW50ID0gbmV3Wm9vbVBlcmNlbnQ7XHJcbiAgICAgICAgICAgIHRoaXMuem9vbVBlcmNlbnRDaGFuZ2UuZW1pdCh0aGlzLnpvb21QZXJjZW50KTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC8vIGdldCB0aGUgcmVsYXRpdmUgcG9zaXRpb24gb2YgdGhlIGN1cnNvciBvbiB0aGUgdmlld3BvcnQgc28gd2UgY2FuIHpvb20gaW4gaW50byB0aGlzIHBvc2l0aW9uXHJcbiAgICAgICAgICAgIGNvbnN0IHggPSBldmVudC5jbGllbnRYIC0gdGhpcy5fdmlld3BvcnQ/Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdDtcclxuICAgICAgICAgICAgY29uc3QgY3Vyc29yUmVsYXRpdmVQb3NpdGlvbiA9IHggLyB0aGlzLl92aWV3cG9ydD8ubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcclxuICAgICAgICAgICAgLy8gdGhpcy52aWV3T2Zmc2V0UGVyY2VudCA9IHRoaXMudmlld09mZnNldFBlcmNlbnQgLSBkZWx0YVpvb21QZXJjZW50ICogY3Vyc29yUmVsYXRpdmVQb3NpdGlvbjtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RyYWluT2Zmc2V0KHRoaXMudmlld09mZnNldFBlcmNlbnQgLSBkZWx0YVpvb21QZXJjZW50ICogY3Vyc29yUmVsYXRpdmVQb3NpdGlvbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgLy8jcmVnaW9uIGRyYWdnaW5nXHJcbiAgICBcclxuICAgIHB1YmxpYyBvbkRyYWdTdGFydChldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5lbmFibGVab29tQW5kRHJhZyAmJiB0aGlzLnpvb21QZXJjZW50ID4gMTAwKSB7XHJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNEcmFnZ2luZyA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMudmlld09mZnNldFBlcmNlbnREcmFnU3RhcnQgPSB0aGlzLnZpZXdPZmZzZXRQZXJjZW50O1xyXG5cclxuICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTW91c2VFdmVudCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsRHJhZ1ggPSBldmVudC5jbGllbnRYO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50IGluc3RhbmNlb2YgVG91Y2hFdmVudCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsRHJhZ1ggPSBldmVudC50b3VjaGVzWzBdLmNsaWVudFg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93Om1vdXNlbW92ZScsIFsnJGV2ZW50J10pXHJcbiAgICBwdWJsaWMgb25EcmFnTW92ZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmVuYWJsZVpvb21BbmREcmFnKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmlzRHJhZ2dpbmcpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRYID0gZXZlbnQuY2xpZW50WDtcclxuICAgICAgICAgICAgICAgIHRoaXMubW92ZUVsZW1lbnQoY3VycmVudFgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzp0b3VjaG1vdmUnLCBbJyRldmVudCddKVxyXG4gICAgb25EcmFnTW92ZVRvdWNoKGV2ZW50OiBUb3VjaEV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlWm9vbUFuZERyYWcpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNEcmFnZ2luZykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVudFggPSBldmVudC50b3VjaGVzWzBdLmNsaWVudFg7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vdmVFbGVtZW50KGN1cnJlbnRYKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6bW91c2V1cCcsIFsnJGV2ZW50J10pXHJcbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6dG91Y2hlbmQnLCBbJyRldmVudCddKVxyXG4gICAgcHVibGljIG9uRHJhZ0VuZChldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5lbmFibGVab29tQW5kRHJhZykge1xyXG4gICAgICAgICAgICB0aGlzLmlzRHJhZ2dpbmcgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBtb3ZlRWxlbWVudChjdXJyZW50WDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZGlmZiA9IGN1cnJlbnRYIC0gdGhpcy5pbml0aWFsRHJhZ1g7XHJcbiAgICAgICAgaWYgKHRoaXMuX3ZpZXdwb3J0ICYmIHRoaXMuX3ZpZXdwb3J0Lm5hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgY29uc3QgZGlmZkluUGVyY2VudCA9IChkaWZmIC8gdGhpcy5fdmlld3BvcnQ/Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgpICogMTAwO1xyXG4gICAgICAgICAgICAvLyB0aGlzLnZpZXdPZmZzZXRQZXJjZW50ID0gdGhpcy52aWV3T2Zmc2V0UGVyY2VudERyYWdTdGFydCArIGRpZmZJblBlcmNlbnQ7XHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RyYWluT2Zmc2V0KHRoaXMudmlld09mZnNldFBlcmNlbnREcmFnU3RhcnQgKyBkaWZmSW5QZXJjZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgcHJpdmF0ZSBjb25zdHJhaW5PZmZzZXQobmV3T2Zmc2V0OiBudW1iZXIpOiB2b2lkIHsgICAgICAgIFxyXG4gICAgICAgIGlmICh0aGlzLnpvb21QZXJjZW50ICsgbmV3T2Zmc2V0IDwgMTAwKSB7XHJcbiAgICAgICAgICAgIG5ld09mZnNldCA9IC10aGlzLnpvb21QZXJjZW50ICsgMTAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBuZXdPZmZzZXQgPSBNYXRoLm1pbigwLCBuZXdPZmZzZXQpO1xyXG4gICAgICAgIGlmIChuZXdPZmZzZXQgIT0gdGhpcy52aWV3T2Zmc2V0UGVyY2VudCkge1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdPZmZzZXRQZXJjZW50ID0gbmV3T2Zmc2V0O1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdPZmZzZXRQZXJjZW50Q2hhbmdlLmVtaXQodGhpcy52aWV3T2Zmc2V0UGVyY2VudCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2VuZXJhdGVUaWNrcygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmhvdXJUaWNrcyA9IHRoaXMuX3RpbWVsaW5lU2VydmljZS5nZXRIb3VyVGlja3ModGhpcy50aWNrRnJlcXVlbmN5KTtcclxuICAgICAgICB0aGlzLmRheUxhYmVscyA9IHRoaXMuX3RpbWVsaW5lU2VydmljZS5nZXREYXlMYWJlbHModGhpcy5sb2NhbGVzLCB0aGlzLmRheUxhYmVsQ3VzdG9tRGF0YUZuKTtcclxuICAgICAgICB0aGlzLmhvdXJMYWJlbHMgPSB0aGlzLl90aW1lbGluZVNlcnZpY2UuZ2V0SG91ckxhYmVscyh0aGlzLmhvdXJMYWJlbEZyZXF1ZW5jeSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZUludGVybmFsVGltZWxpbmVJdGVtcygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnByZXNlbnRhdGlvbkl0ZW1zID0gdGhpcy5pdGVtcy5tYXAoKGl0ZW0pID0+IHtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0VGltZSA9IG5ldyBEYXRlKGl0ZW0uc3RhcnQpLnRvTG9jYWxlVGltZVN0cmluZyh0aGlzLmxvY2FsZXM/PyBbXSwgeyBob3VyOiAnbnVtZXJpYycsIG1pbnV0ZTogJzItZGlnaXQnIH0pO1xyXG4gICAgICAgICAgICBjb25zdCBlbmRUaW1lID0gbmV3IERhdGUoaXRlbS5lbmQpLnRvTG9jYWxlVGltZVN0cmluZyh0aGlzLmxvY2FsZXM/PyBbXSwgeyBob3VyOiAnbnVtZXJpYycsIG1pbnV0ZTogJzItZGlnaXQnIH0pO1xyXG4gICAgICAgICAgICBjb25zdCB0aW1lUmFuZ2UgPSBgJHtzdGFydFRpbWV9IC0gJHtlbmRUaW1lfWA7XHJcbiAgICBcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGRhdGE6IGl0ZW0uZGF0YSxcclxuICAgICAgICAgICAgICAgIHg6IHRoaXMuX3RpbWVsaW5lU2VydmljZS5nZXRYKGl0ZW0uc3RhcnQpLFxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IHRoaXMuX3RpbWVsaW5lU2VydmljZS5nZXRXaWR0aEZyb21UaW1lKFxyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uc3RhcnQsXHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5lbmRcclxuICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICBoaW50OiBpdGVtLmhpbnQgPz8gdGltZVJhbmdlLFxyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBpdGVtLmJhY2tncm91bmRDb2xvcixcclxuICAgICAgICAgICAgICAgIHRvcDogaXRlbS50b3AgPz8gJzUwJScsXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGl0ZW0uaGVpZ2h0ID8/ICc2MCUnLFxyXG4gICAgICAgICAgICAgICAgY2xhc3M6IGl0ZW0uY2xhc3MsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgZ2VuZXJhdGVJbnRlcm5hbFRpbWVsaW5lUG9pbnRJblRpbWVJdGVtcygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnByZXNlbnRhdGlvblBvaW50SW5UaW1lSXRlbXMgPSB0aGlzLnBvaW50SW5UaW1lSXRlbXMubWFwKChpdGVtKSA9PiB7XHJcblxyXG4gICAgICAgICAgICBjb25zdCB0aW1lUG9pbnRTdHJpbmcgPSBuZXcgRGF0ZShpdGVtLmRhdGUpLnRvTG9jYWxlVGltZVN0cmluZyh0aGlzLmxvY2FsZXM/PyBbXSwgeyBob3VyOiAnbnVtZXJpYycsIG1pbnV0ZTogJzItZGlnaXQnIH0pO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGRhdGE6IGl0ZW0uZGF0YSxcclxuICAgICAgICAgICAgICAgIHg6IHRoaXMuX3RpbWVsaW5lU2VydmljZS5nZXRYKGl0ZW0uZGF0ZSksXHJcbiAgICAgICAgICAgICAgICBoaW50OiBpdGVtLmhpbnQgPz8gdGltZVBvaW50U3RyaW5nLFxyXG4gICAgICAgICAgICAgICAgdG9wOiBpdGVtLnRvcCA/PyAnMjAlJyxcclxuICAgICAgICAgICAgICAgIGhlaWdodDogaXRlbS5oZWlnaHQgPz8gJzFyZW0nLFxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGl0ZW0ud2lkdGggPz8gJzFyZW0nLFxyXG4gICAgICAgICAgICAgICAgY2xhc3M6IGl0ZW0uY2xhc3MsXHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGl0ZW0uYmFja2dyb3VuZENvbG9yLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEl0ZW1UZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIj5cclxuICAgIDxkaXYgXHJcbiAgICAgICAgY2xhc3M9XCJzZHMtdGltZWxpbmUtaXRlbSBoLTEwMFwiXHJcbiAgICAgICAgW3RpdGxlXT1cIml0ZW0uaGludFwiXHJcbiAgICAgICAgPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2RlZmF1bHRQb2ludEluVGltZUl0ZW1UZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIj5cclxuICAgIDxkaXYgXHJcbiAgICAgICAgY2xhc3M9XCJzZHMtdGltZWxpbmUtaXRlbSBoLTEwMFwiXHJcbiAgICAgICAgW3RpdGxlXT1cIml0ZW0uaGludFwiXHJcbiAgICAgICAgPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2RlZmF1bHREYXlMYWJlbFRlbXBsYXRlIGxldC1sYWJlbD1cImxhYmVsXCI+XHJcbiAgICB7e2xhYmVsLmxhYmVsfX1cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxkaXYgXHJcbiAgICAjdmlld3BvcnRcclxuICAgIGNsYXNzPVwic2RzLXRpbWVsaW5lLXZpZXdwb3J0XCJcclxuICAgICh3aGVlbCk9XCJvblNjcm9sbCgkZXZlbnQpXCJcclxuXHJcbiAgICAobW91c2Vkb3duKT1cIm9uRHJhZ1N0YXJ0KCRldmVudClcIlxyXG4gICAgKHRvdWNoc3RhcnQpPVwib25EcmFnU3RhcnQoJGV2ZW50KVwiXHJcbiAgICA+XHJcblxyXG4gICAgPGRpdiBcclxuICAgICAgICBjbGFzcz1cInNkcy10aW1lbGluZS1jb250YWluZXIgZC1mbGV4IGZsZXgtY29sdW1uXCJcclxuICAgICAgICBbc3R5bGUubGVmdC4lXT1cInZpZXdPZmZzZXRQZXJjZW50XCJcclxuICAgICAgICBbc3R5bGUud2lkdGguJV09XCJ6b29tUGVyY2VudFwiXHJcbiAgICAgICAgW3N0eWxlLmN1cnNvcl09XCJpc0RyYWdnaW5nID8gJ2V3LXJlc2l6ZScgOiAnZGVmYXVsdCdcIlxyXG4gICAgICAgID5cclxuXHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAqbmdJZj1cInNob3dEYXlMYWJlbHNcIiBcclxuICAgICAgICAgICAgY2xhc3M9XCJzZHMtdGltZWxpbmUtZGF5LWhlYWRlclwiPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBsYWJlbCBvZiBkYXlMYWJlbHNcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZHMtZGF5LWxhYmVsXCIgIFxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZGF5TGFiZWxDbGFzcyA/PyBudWxsXCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5sZWZ0LiVdPVwibGFiZWwueFwiXHJcbiAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGguJV09XCJsYWJlbC53aWR0aFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgXHJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGF5TGFiZWxUZW1wbGF0ZSA/IGRheUxhYmVsVGVtcGxhdGUgOiBkZWZhdWx0RGF5TGFiZWxUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntsYWJlbDogbGFiZWx9XCI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gIFxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgKm5nSWY9XCJzaG93SG91ckxhYmVsc1wiIFxyXG4gICAgICAgICAgICBjbGFzcz1cInNkcy10aW1lbGluZS1ob3VyLWhlYWRlclwiPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBsYWJlbCBvZiBob3VyTGFiZWxzO1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNkcy1ob3VyLWxhYmVsXCIgIFxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiaG91ckxhYmVsQ2xhc3MgPz8gbnVsbFwiXHJcbiAgICAgICAgICAgICAgICBbc3R5bGUubGVmdC4lXT1cImxhYmVsLnhcIlxyXG4gICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLnJlbV09XCIxLjJcIlxyXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieydsZWZ0JzogJ2NhbGMoJyArIGxhYmVsLnggKyAnJSAtIDAuNnJlbSknfVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAge3tsYWJlbC5sYWJlbH19XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICpuZ0lmPVwic2hvd1RpbWVsaW5lXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJzZHMtdGltZWxpbmUgZmxleC1ncm93LTFcIlxyXG4gICAgICAgICAgICBbc3R5bGUuaGVpZ2h0XT1cInRpbWVsaW5lSGVpZ2h0XCJcclxuICAgICAgICAgICAgPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0aWNrIG9mIGhvdXJUaWNrc1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNkcy10aW1lbGluZS10aWNrXCIgIFxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiaG91clRpY2tDbGFzcyA/PyBudWxsXCJcdFxyXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwidGljay54ID09IDEwMCA/IHsnbGVmdCc6ICdjYWxjKCcgKyB0aWNrLnggKyclIC0gMXB4KSd9IDogeydsZWZ0JzogJ2NhbGMoJyArIHRpY2sueCArICclIC0gMC41cHgpJ31cIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIHByZXNlbnRhdGlvbkl0ZW1zXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2RzLXRpbWVsaW5lLWl0ZW0tY29udGFpbmVyXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3MgPz8gbnVsbFwiXHJcbiAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJ21heCgnICsgaXRlbS53aWR0aCArJyUsIDFweCknLFxyXG4gICAgICAgICAgICAgICAgICAgICd0b3AnOiAnY2FsYygnICsgaXRlbS50b3AgKyAnIC0gbWF4KGNhbGMoJyArIGl0ZW0uaGVpZ2h0ICsnLzIpLCAxcHgpKScsIFxyXG4gICAgICAgICAgICAgICAgfVwiXHJcblxyXG4gICAgICAgICAgICAgICAgW3N0eWxlLmxlZnQuJV09XCJpdGVtLnhcIlxyXG4gICAgICAgICAgICAgICAgW3N0eWxlLmhlaWdodF09XCJpdGVtLmhlaWdodFwiXHJcbiAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cIml0ZW0uYmFja2dyb3VuZENvbG9yXCJcclxuICAgICAgICAgICAgICAgID5cclxuXHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UZW1wbGF0ZSA/IGl0ZW1UZW1wbGF0ZSA6IGRlZmF1bHRJdGVtVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aXRlbTogaXRlbX1cIj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAgXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcHJlc2VudGF0aW9uUG9pbnRJblRpbWVJdGVtc1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNkcy10aW1lbGluZS1wb2ludC1pbi10aW1lLWl0ZW0tY29udGFpbmVyXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3NcIlx0XHJcbiAgICAgICAgICAgICAgICBbc3R5bGUuaGVpZ2h0XT1cIml0ZW0uaGVpZ2h0XCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJpdGVtLndpZHRoXCJcclxuICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAndG9wJzogJ2NhbGMoJyArIGl0ZW0udG9wICsgJyAtIG1heChjYWxjKCcgKyBpdGVtLmhlaWdodCArJy8yKSwgMXB4KSknLCBcclxuICAgICAgICAgICAgICAgICAgICAnbGVmdCc6ICdjYWxjKCcgKyBpdGVtLnggKyAnJSAtIG1heCggY2FsYygnICsgaXRlbS53aWR0aCArJy8yKSwgMXB4KSknLFxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cIml0ZW0uYmFja2dyb3VuZENvbG9yXCJcclxuICAgICAgICAgICAgICAgID5cclxuXHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInBvaW50SW5UaW1lVGVtcGxhdGUgPyBwb2ludEluVGltZVRlbXBsYXRlIDogZGVmYXVsdFBvaW50SW5UaW1lSXRlbVRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2l0ZW06IGl0ZW19XCI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gIFxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi90aW1lbGluZS9tb2RlbHMvdGltZWxpbmUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVGltZWxpbmVUaWNrIHtcclxuICAgIGRhdGU6IERhdGU7XHJcbiAgICB4OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGltZWxpbmVJbnRlcnZhbExhYmVsIHtcclxuICAgIHg6IG51bWJlcjtcclxuICAgIHdpZHRoOiBudW1iZXI7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgZGF0ZTogRGF0ZTtcclxuICAgIGRhdGE6IGFueTtcclxufVxyXG5cclxuaW50ZXJmYWNlIFRpbWVsaW5lQmFzZUl0ZW0ge1xyXG4gICAgZGF0YT86IGFueTtcclxuXHJcbiAgICBoaW50Pzogc3RyaW5nO1xyXG4gICAgdG9wPzogc3RyaW5nO1xyXG4gICAgaGVpZ2h0Pzogc3RyaW5nO1xyXG4gICAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xyXG4gICAgY2xhc3M/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGltZWxpbmVJdGVtIGV4dGVuZHMgVGltZWxpbmVCYXNlSXRlbSB7XHJcbiAgICBzdGFydDogRGF0ZTtcclxuICAgIGVuZDogRGF0ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUaW1lbGluZVBvaW50SW5UaW1lSXRlbSBleHRlbmRzIFRpbWVsaW5lQmFzZUl0ZW0ge1xyXG4gICAgZGF0ZTogRGF0ZTtcclxuICAgIHdpZHRoOiBzdHJpbmc7XHJcbn1cclxuXHJcbmludGVyZmFjZSBUaW1lbGluZUl0ZW1QcmVzZW50YXRpb25CYXNlIHtcclxuICAgIGRhdGE/OiBhbnk7XHJcbiAgICB4OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGltZWxpbmVJdGVtUHJlc2VudGF0aW9uIGV4dGVuZHMgVGltZWxpbmVCYXNlSXRlbSwgVGltZWxpbmVJdGVtUHJlc2VudGF0aW9uQmFzZSAge1xyXG4gICAgd2lkdGg6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUaW1lbGluZVBvaW50SW5UaW1lSXRlbVByZXNlbnRhdGlvbiBleHRlbmRzIFRpbWVsaW5lQmFzZUl0ZW0sIFRpbWVsaW5lSXRlbVByZXNlbnRhdGlvbkJhc2UgIHtcclxuICAgIHdpZHRoOiBzdHJpbmc7XHJcbn1cclxuIl19
|
|
@@ -40,12 +40,14 @@ export class SdsTimelineService {
|
|
|
40
40
|
hourLabels.push({
|
|
41
41
|
x: this.getX(labelStartTime),
|
|
42
42
|
width: 0,
|
|
43
|
-
label: tick.date.getHours().toString()
|
|
43
|
+
label: tick.date.getHours().toString(),
|
|
44
|
+
date: new Date(labelStartTime),
|
|
45
|
+
data: null
|
|
44
46
|
});
|
|
45
47
|
});
|
|
46
48
|
return hourLabels;
|
|
47
49
|
}
|
|
48
|
-
getDayLabels(locales) {
|
|
50
|
+
getDayLabels(locales, customDataFn) {
|
|
49
51
|
const dayLabels = [];
|
|
50
52
|
// get start date at the beginning of the day
|
|
51
53
|
let startDate = new Date(this.start);
|
|
@@ -61,7 +63,9 @@ export class SdsTimelineService {
|
|
|
61
63
|
// date: new Date(currentDate),
|
|
62
64
|
x: this.getX(new Date(currentDate)),
|
|
63
65
|
width: this.getWidthFromTime(currentDate, endOfCurrentDay),
|
|
64
|
-
label: currentDate.toLocaleDateString(locales ?? [], { weekday: 'long', day: 'numeric', month: 'long', year: 'numeric' })
|
|
66
|
+
label: currentDate.toLocaleDateString(locales ?? [], { weekday: 'long', day: 'numeric', month: 'long', year: 'numeric' }),
|
|
67
|
+
date: new Date(currentDate),
|
|
68
|
+
data: customDataFn ? customDataFn(new Date(currentDate)) : null
|
|
65
69
|
});
|
|
66
70
|
currentDate.setDate(currentDate.getDate() + 1);
|
|
67
71
|
}
|
|
@@ -113,4 +117,4 @@ export class SdsTimelineService {
|
|
|
113
117
|
}
|
|
114
118
|
}
|
|
115
119
|
}
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL3RpbWVsaW5lL3NlcnZpY2VzL3RpbWVsaW5lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLGtCQUFrQjtJQVEzQixrREFBa0Q7SUFDbEQsbURBQW1EO0lBRW5ELFlBQVksS0FBVyxFQUFFLEdBQVMsRUFBRSxhQUFxQjtRQVRqRCxVQUFLLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN6QixRQUFHLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUl2QixjQUFTLEdBQW1CLEVBQUUsQ0FBQztRQUtuQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsYUFBYSxDQUFDLENBQUM7UUFFL0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxHQUFHLGFBQWEsQ0FBQyxDQUFDO1FBRTNELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFOUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLHVCQUF1QjtRQUN2Qix5QkFBeUI7SUFDN0IsQ0FBQztJQUVNLElBQUksQ0FBQyxJQUFVO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMs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ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGltZWxpbmVJbnRlcnZhbExhYmVsLCBUaW1lbGluZVRpY2sgfSBmcm9tICcuLi9tb2RlbHMvdGltZWxpbmUubW9kZWwnO1xyXG5pbXBvcnQgeyBUaW1lbGluZVRpY2tGcmVxdWVuY3kgfSBmcm9tICcuLi90eXBlcy90aW1lbGluZS50eXBlcyc7XHJcblxyXG5leHBvcnQgY2xhc3MgU2RzVGltZWxpbmVTZXJ2aWNlIHtcclxuXHJcbiAgICBwcml2YXRlIHN0YXJ0OiBEYXRlID0gbmV3IERhdGUoKTtcclxuICAgIHByaXZhdGUgZW5kOiBEYXRlID0gbmV3IERhdGUoKTtcclxuXHJcbiAgICBwcml2YXRlIHdpZHRoUGVyY2VudFBlck1pbnV0ZTogbnVtYmVyO1xyXG5cclxuICAgIHByaXZhdGUgaG91clRpY2tzOiBUaW1lbGluZVRpY2tbXSA9IFtdO1xyXG4gICAgLy8gcHVibGljIGRheUxhYmVsczogVGltZWxpbmVJbnRlcnZhbExhYmVsW10gPSBbXTtcclxuICAgIC8vIHB1YmxpYyBob3VyTGFiZWxzOiBUaW1lbGluZUludGVydmFsTGFiZWxbXSA9IFtdO1xyXG4gICAgXHJcbiAgICBjb25zdHJ1Y3RvcihzdGFydDogRGF0ZSwgZW5kOiBEYXRlLCBvZmZTZXRNaW51dGVzOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLnN0YXJ0ID0gbmV3IERhdGUoc3RhcnQpO1xyXG4gICAgICAgIHRoaXMuc3RhcnQuc2V0TWludXRlcyh0aGlzLnN0YXJ0LmdldE1pbnV0ZXMoKSAtIG9mZlNldE1pbnV0ZXMpO1xyXG5cclxuICAgICAgICB0aGlzLmVuZCA9IG5ldyBEYXRlKGVuZCk7IFxyXG4gICAgICAgIHRoaXMuZW5kLnNldE1pbnV0ZXModGhpcy5lbmQuZ2V0TWludXRlcygpICsgb2ZmU2V0TWludXRlcyk7XHJcblxyXG4gICAgICAgIHRoaXMud2lkdGhQZXJjZW50UGVyTWludXRlID0gKDEwMCAvIHRoaXMuZGlmZkluTWludXRlcyh0aGlzLnN0YXJ0LCB0aGlzLmVuZCkpO1xyXG5cclxuICAgICAgICB0aGlzLmluaXRIb3VyVGlja3MoKTtcclxuICAgICAgICAvL3RoaXMuaW5pdERheUxhYmVscygpO1xyXG4gICAgICAgIC8vIHRoaXMuaW5pdEhvdXJMYWJlbHMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0WCh0aW1lOiBEYXRlKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kaWZmSW5NaW51dGVzKHRoaXMuc3RhcnQsIHRpbWUpICogdGhpcy53aWR0aFBlcmNlbnRQZXJNaW51dGU7ICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0V2lkdGhGcm9tTWludXRlcyhtaW51dGVzOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiBtaW51dGVzICogdGhpcy53aWR0aFBlcmNlbnRQZXJNaW51dGU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldFdpZHRoRnJvbVRpbWUoc3RhcnQ6IERhdGUsIGVuZDogRGF0ZSk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0V2lkdGhGcm9tTWludXRlcyh0aGlzLmRpZmZJbk1pbnV0ZXMoc3RhcnQsIGVuZCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRUaWNrKHRpbWU6IERhdGUpOiBUaW1lbGluZVRpY2sge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGRhdGU6IG5ldyBEYXRlKHRpbWUpLFxyXG4gICAgICAgICAgICB4OiB0aGlzLmdldFgodGltZSksXHJcbiAgICAgICAgfSAgICAgICAgXHJcbiAgICB9XHJcbiAgICBcclxuICAgIHB1YmxpYyBnZXRIb3VyVGlja3MoZnJlcXVlbmN5OiBUaW1lbGluZVRpY2tGcmVxdWVuY3kgPSAnaG91cmx5Jyk6IFRpbWVsaW5lVGlja1tdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5ob3VyVGlja3MuZmlsdGVyKHRpY2sgPT4gdGhpcy5pc1ZhbGlkRnJlcXVlbmN5SG91cih0aWNrLmRhdGUuZ2V0SG91cnMoKSwgZnJlcXVlbmN5KSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEhvdXJMYWJlbHMoZnJlcXVlbmN5OiBUaW1lbGluZVRpY2tGcmVxdWVuY3kgPSAnaG91cmx5Jyk6IFRpbWVsaW5lSW50ZXJ2YWxMYWJlbFtdIHtcclxuICAgICAgICBjb25zdCBob3VyTGFiZWxzOiBUaW1lbGluZUludGVydmFsTGFiZWxbXSA9IFtdO1xyXG5cclxuICAgICAgICBjb25zdCB0aWNrcyA9IHRoaXMuaG91clRpY2tzLmZpbHRlcih0aWNrID0+IHRoaXMuaXNWYWxpZEZyZXF1ZW5jeUhvdXIodGljay5kYXRlLmdldEhvdXJzKCksIGZyZXF1ZW5jeSkpO1xyXG4gICAgICAgIHRpY2tzLmZvckVhY2godGljayA9PiB7XHJcbiAgICAgICAgICAgIGxldCBsYWJlbFN0YXJ0VGltZSA9IG5ldyBEYXRlKHRpY2suZGF0ZSk7XHJcbiAgICAgICAgICAgIGhvdXJMYWJlbHMucHVzaChcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB4OiB0aGlzLmdldFgobGFiZWxTdGFydFRpbWUpLFxyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aWNrLmRhdGUuZ2V0SG91cnMoKS50b1N0cmluZygpXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gaG91ckxhYmVscztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0RGF5TGFiZWxzKGxvY2FsZXM6IHN0cmluZyB8IEFycmF5PHN0cmluZz4gfCB1bmRlZmluZWQpOiBUaW1lbGluZUludGVydmFsTGFiZWxbXSB7XHJcbiAgICAgICAgY29uc3QgZGF5TGFiZWxzID0gW107XHJcblxyXG4gICAgICAgIC8vIGdldCBzdGFydCBkYXRlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGRheVxyXG4gICAgICAgIGxldCBzdGFydERhdGUgPSBuZXcgRGF0ZSh0aGlzLnN0YXJ0KTtcclxuICAgICAgICBzdGFydERhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7XHJcblxyXG4gICAgICAgIC8vIGdldCBlbmQgZGF0ZSBhdCB0aGUgZW5kIG9mIHRoZSBkYXlcclxuICAgICAgICBsZXQgZW5kRGF0ZSA9IG5ldyBEYXRlKHRoaXMuZW5kKTtcclxuICAgICAgICBlbmREYXRlLnNldEhvdXJzKDIzLCA1OSwgNTksIDk5OSk7XHJcblxyXG4gICAgICAgIGxldCBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKHN0YXJ0RGF0ZSk7XHJcbiAgICAgICAgd2hpbGUgKGN1cnJlbnREYXRlIDw9IGVuZERhdGUpIHtcclxuICAgICAgICAgICAgbGV0IGVuZE9mQ3VycmVudERheSA9IG5ldyBEYXRlKGN1cnJlbnREYXRlKTtcclxuICAgICAgICAgICAgZW5kT2ZDdXJyZW50RGF5LnNldEhvdXJzKDIzLCA1OSwgNTksIDk5OSk7XHJcblxyXG4gICAgICAgICAgICBkYXlMYWJlbHMucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAvLyBkYXRlOiBuZXcgRGF0ZShjdXJyZW50RGF0ZSksXHJcbiAgICAgICAgICAgICAgICB4OiB0aGlzLmdldFgobmV3IERhdGUoY3VycmVudERhdGUpKSxcclxuICAgICAgICAgICAgICAgIHdpZHRoOiB0aGlzLmdldFdpZHRoRnJvbVRpbWUoY3VycmVudERhdGUsIGVuZE9mQ3VycmVudERheSksXHJcbiAgICAgICAgICAgICAgICBsYWJlbDogY3VycmVudERhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKGxvY2FsZXMgPz8gW10sIHsgd2Vla2RheTogJ2xvbmcnLCBkYXk6ICdudW1lcmljJywgbW9udGg6ICdsb25nJywgeWVhcjogJ251bWVyaWMnIH0pXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBjdXJyZW50RGF0ZS5zZXREYXRlKGN1cnJlbnREYXRlLmdldERhdGUoKSArIDEpOyBcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGRheUxhYmVscztcclxuICAgIH0gICAgIFxyXG5cclxuICAgIC8vI3JlZ2lvbiBQcml2YXRlIE1ldGhvZHNcclxuXHJcbiAgICBwcml2YXRlIGlzVmFsaWRGcmVxdWVuY3lIb3VyKGhvdXJzOiBudW1iZXIsIGZyZXF1ZW5jeTogVGltZWxpbmVUaWNrRnJlcXVlbmN5KSB7XHJcblxyXG4gICAgICAgIGlmIChmcmVxdWVuY3kgPT09ICdob3VybHknKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlOyAvLyBldmVyeSB0aWNrIGlzIHZhbGlkXHJcbiAgICAgICAgfSBcclxuICAgICAgICBpZiAoZnJlcXVlbmN5ID09PSAnMmhycycpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGhvdXJzICUgMiA9PT0gMDtcclxuICAgICAgICB9IFxyXG4gICAgICAgIGlmIChmcmVxdWVuY3kgPT09ICczaHJzJykge1xyXG4gICAgICAgICAgICByZXR1cm4gaG91cnMgJSAzID09PSAwO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgaWYgKGZyZXF1ZW5jeSA9PT0gJzZocnMnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBob3VycyAlIDYgPT09IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTsgLy8gdW5zdXBwb3J0ZWQgZnJlcXVlbmN5XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBkaWZmSW5NaW51dGVzKHN0YXJ0OiBEYXRlLCBlbmQ6IERhdGUpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiAoZW5kLmdldFRpbWUoKSAtIHN0YXJ0LmdldFRpbWUoKSkgLyAoMTAwMCAqIDYwKTs7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSByb3VuZEhvdXJzVXAodGltZTogRGF0ZSk6IERhdGUge1xyXG4gICAgXHJcbiAgICAgICAgbGV0IG5ld1RpbWUgPSBuZXcgRGF0ZSh0aW1lKTtcclxuICAgICAgICBcclxuICAgICAgICBpZiAobmV3VGltZS5nZXRNaW51dGVzKCkgPiAwIHx8IG5ld1RpbWUuZ2V0U2Vjb25kcygpID4gMCB8fCBuZXdUaW1lLmdldE1pbGxpc2Vjb25kcygpID4gMCkge1xyXG4gICAgICAgICAgICBuZXdUaW1lLnNldEhvdXJzKG5ld1RpbWUuZ2V0SG91cnMoKSArIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBuZXdUaW1lLnNldE1pbnV0ZXMoMCwgMCwgMCk7XHJcbiAgICAgICAgcmV0dXJuIG5ld1RpbWU7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgcm91bmRIb3Vyc0Rvd24odGltZTogRGF0ZSkge1xyXG4gICAgICAgIGxldCBuZXdUaW1lID0gbmV3IERhdGUodGltZSk7XHJcbiAgICAgICAgbmV3VGltZS5zZXRNaW51dGVzKDAsIDAsIDApO1xyXG4gICAgICAgIHJldHVybiBuZXdUaW1lO1xyXG4gICAgfVxyXG4gICAgXHJcblxyXG4gICAgcHJpdmF0ZSBpbml0SG91clRpY2tzKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaG91clRpY2tzID0gW107XHJcblxyXG4gICAgICAgIC8vIGdldCBmaXJzdCB3aG9sZSBob3VyIGZyb20gc3RhcnQgZGF0ZVxyXG4gICAgICAgIGxldCBzdGFydEhvdXIgPSB0aGlzLnJvdW5kSG91cnNVcCh0aGlzLnN0YXJ0KTtcclxuXHJcbiAgICAgICAgLy8gZ2V0IGxhc3Qgd2hvbGUgaG91ciBmcm9tIGVuZCBkYXRlXHJcbiAgICAgICAgbGV0IGVuZEhvdXIgPSB0aGlzLnJvdW5kSG91cnNEb3duKHRoaXMuZW5kKTtcclxuXHJcbiAgICAgICAgbGV0IGN1cnJlbnRIb3VyID0gbmV3IERhdGUoc3RhcnRIb3VyKVxyXG4gICAgICAgIHdoaWxlIChjdXJyZW50SG91ciA8PSBlbmRIb3VyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaG91clRpY2tzLnB1c2godGhpcy5nZXRUaWNrKGN1cnJlbnRIb3VyKSk7XHJcbiAgICAgICAgICAgIGN1cnJlbnRIb3VyLnNldEhvdXJzKGN1cnJlbnRIb3VyLmdldEhvdXJzKCkgKyAxKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vI2VuZHJlZ2lvblxyXG5cclxufVxyXG4iXX0=
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL3RpbWVsaW5lL3NlcnZpY2VzL3RpbWVsaW5lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLGtCQUFrQjtJQVEzQixrREFBa0Q7SUFDbEQsbURBQW1EO0lBRW5ELFlBQVksS0FBVyxFQUFFLEdBQVMsRUFBRSxhQUFxQjtRQVRqRCxVQUFLLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN6QixRQUFHLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUl2QixjQUFTLEdBQW1CLEVBQUUsQ0FBQztRQUtuQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsYUFBYSxDQUFDLENBQUM7UUFFL0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxHQUFHLGFBQWEsQ0FBQyxDQUFDO1FBRTNELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFOUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLHVCQUF1QjtRQUN2Qix5QkFBeUI7SUFDN0IsQ0FBQztJQUVNLElBQUksQ0FBQyxJQUFVO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMs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QyxDQUFBO1FBQ3JDLE9BQU8sV0FBVyxJQUFJLE9BQU8sRUFBRTtZQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDL0MsV0FBVyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDcEQ7SUFDTCxDQUFDO0NBSUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRpbWVsaW5lSW50ZXJ2YWxMYWJlbCwgVGltZWxpbmVUaWNrIH0gZnJvbSAnLi4vbW9kZWxzL3RpbWVsaW5lLm1vZGVsJztcclxuaW1wb3J0IHsgVGltZWxpbmVDdXN0b21EYXRlRGF0YVByb3ZpZGVyLCBUaW1lbGluZVRpY2tGcmVxdWVuY3kgfSBmcm9tICcuLi90eXBlcy90aW1lbGluZS50eXBlcyc7XHJcblxyXG5leHBvcnQgY2xhc3MgU2RzVGltZWxpbmVTZXJ2aWNlIHtcclxuXHJcbiAgICBwcml2YXRlIHN0YXJ0OiBEYXRlID0gbmV3IERhdGUoKTtcclxuICAgIHByaXZhdGUgZW5kOiBEYXRlID0gbmV3IERhdGUoKTtcclxuXHJcbiAgICBwcml2YXRlIHdpZHRoUGVyY2VudFBlck1pbnV0ZTogbnVtYmVyO1xyXG5cclxuICAgIHByaXZhdGUgaG91clRpY2tzOiBUaW1lbGluZVRpY2tbXSA9IFtdO1xyXG4gICAgLy8gcHVibGljIGRheUxhYmVsczogVGltZWxpbmVJbnRlcnZhbExhYmVsW10gPSBbXTtcclxuICAgIC8vIHB1YmxpYyBob3VyTGFiZWxzOiBUaW1lbGluZUludGVydmFsTGFiZWxbXSA9IFtdO1xyXG4gICAgXHJcbiAgICBjb25zdHJ1Y3RvcihzdGFydDogRGF0ZSwgZW5kOiBEYXRlLCBvZmZTZXRNaW51dGVzOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLnN0YXJ0ID0gbmV3IERhdGUoc3RhcnQpO1xyXG4gICAgICAgIHRoaXMuc3RhcnQuc2V0TWludXRlcyh0aGlzLnN0YXJ0LmdldE1pbnV0ZXMoKSAtIG9mZlNldE1pbnV0ZXMpO1xyXG5cclxuICAgICAgICB0aGlzLmVuZCA9IG5ldyBEYXRlKGVuZCk7IFxyXG4gICAgICAgIHRoaXMuZW5kLnNldE1pbnV0ZXModGhpcy5lbmQuZ2V0TWludXRlcygpICsgb2ZmU2V0TWludXRlcyk7XHJcblxyXG4gICAgICAgIHRoaXMud2lkdGhQZXJjZW50UGVyTWludXRlID0gKDEwMCAvIHRoaXMuZGlmZkluTWludXRlcyh0aGlzLnN0YXJ0LCB0aGlzLmVuZCkpO1xyXG5cclxuICAgICAgICB0aGlzLmluaXRIb3VyVGlja3MoKTtcclxuICAgICAgICAvL3RoaXMuaW5pdERheUxhYmVscygpO1xyXG4gICAgICAgIC8vIHRoaXMuaW5pdEhvdXJMYWJlbHMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0WCh0aW1lOiBEYXRlKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kaWZmSW5NaW51dGVzKHRoaXMuc3RhcnQsIHRpbWUpICogdGhpcy53aWR0aFBlcmNlbnRQZXJNaW51dGU7ICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0V2lkdGhGcm9tTWludXRlcyhtaW51dGVzOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiBtaW51dGVzICogdGhpcy53aWR0aFBlcmNlbnRQZXJNaW51dGU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldFdpZHRoRnJvbVRpbWUoc3RhcnQ6IERhdGUsIGVuZDogRGF0ZSk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0V2lkdGhGcm9tTWludXRlcyh0aGlzLmRpZmZJbk1pbnV0ZXMoc3RhcnQsIGVuZCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRUaWNrKHRpbWU6IERhdGUpOiBUaW1lbGluZVRpY2sge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGRhdGU6IG5ldyBEYXRlKHRpbWUpLFxyXG4gICAgICAgICAgICB4OiB0aGlzLmdldFgodGltZSksXHJcbiAgICAgICAgfSAgICAgICAgXHJcbiAgICB9XHJcbiAgICBcclxuICAgIHB1YmxpYyBnZXRIb3VyVGlja3MoZnJlcXVlbmN5OiBUaW1lbGluZVRpY2tGcmVxdWVuY3kgPSAnaG91cmx5Jyk6IFRpbWVsaW5lVGlja1tdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5ob3VyVGlja3MuZmlsdGVyKHRpY2sgPT4gdGhpcy5pc1ZhbGlkRnJlcXVlbmN5SG91cih0aWNrLmRhdGUuZ2V0SG91cnMoKSwgZnJlcXVlbmN5KSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEhvdXJMYWJlbHMoZnJlcXVlbmN5OiBUaW1lbGluZVRpY2tGcmVxdWVuY3kgPSAnaG91cmx5Jyk6IFRpbWVsaW5lSW50ZXJ2YWxMYWJlbFtdIHtcclxuICAgICAgICBjb25zdCBob3VyTGFiZWxzOiBUaW1lbGluZUludGVydmFsTGFiZWxbXSA9IFtdO1xyXG5cclxuICAgICAgICBjb25zdCB0aWNrcyA9IHRoaXMuaG91clRpY2tzLmZpbHRlcih0aWNrID0+IHRoaXMuaXNWYWxpZEZyZXF1ZW5jeUhvdXIodGljay5kYXRlLmdldEhvdXJzKCksIGZyZXF1ZW5jeSkpO1xyXG4gICAgICAgIHRpY2tzLmZvckVhY2godGljayA9PiB7XHJcbiAgICAgICAgICAgIGxldCBsYWJlbFN0YXJ0VGltZSA9IG5ldyBEYXRlKHRpY2suZGF0ZSk7XHJcbiAgICAgICAgICAgIGhvdXJMYWJlbHMucHVzaChcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB4OiB0aGlzLmdldFgobGFiZWxTdGFydFRpbWUpLFxyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aWNrLmRhdGUuZ2V0SG91cnMoKS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGU6IG5ldyBEYXRlKGxhYmVsU3RhcnRUaW1lKSxcclxuICAgICAgICAgICAgICAgICAgICBkYXRhOiBudWxsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gaG91ckxhYmVscztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0RGF5TGFiZWxzKFxyXG4gICAgICAgIGxvY2FsZXM6IHN0cmluZyB8IEFycmF5PHN0cmluZz4gfCB1bmRlZmluZWQsIFxyXG4gICAgICAgIGN1c3RvbURhdGFGbjogVGltZWxpbmVDdXN0b21EYXRlRGF0YVByb3ZpZGVyIHwgdW5kZWZpbmVkKTogVGltZWxpbmVJbnRlcnZhbExhYmVsW10ge1xyXG4gICAgICAgIGNvbnN0IGRheUxhYmVscyA9IFtdO1xyXG5cclxuICAgICAgICAvLyBnZXQgc3RhcnQgZGF0ZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkYXlcclxuICAgICAgICBsZXQgc3RhcnREYXRlID0gbmV3IERhdGUodGhpcy5zdGFydCk7XHJcbiAgICAgICAgc3RhcnREYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xyXG5cclxuICAgICAgICAvLyBnZXQgZW5kIGRhdGUgYXQgdGhlIGVuZCBvZiB0aGUgZGF5XHJcbiAgICAgICAgbGV0IGVuZERhdGUgPSBuZXcgRGF0ZSh0aGlzLmVuZCk7XHJcbiAgICAgICAgZW5kRGF0ZS5zZXRIb3VycygyMywgNTksIDU5LCA5OTkpO1xyXG5cclxuICAgICAgICBsZXQgY3VycmVudERhdGUgPSBuZXcgRGF0ZShzdGFydERhdGUpO1xyXG4gICAgICAgIHdoaWxlIChjdXJyZW50RGF0ZSA8PSBlbmREYXRlKSB7XHJcbiAgICAgICAgICAgIGxldCBlbmRPZkN1cnJlbnREYXkgPSBuZXcgRGF0ZShjdXJyZW50RGF0ZSk7XHJcbiAgICAgICAgICAgIGVuZE9mQ3VycmVudERheS5zZXRIb3VycygyMywgNTksIDU5LCA5OTkpO1xyXG5cclxuICAgICAgICAgICAgZGF5TGFiZWxzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgLy8gZGF0ZTogbmV3IERhdGUoY3VycmVudERhdGUpLFxyXG4gICAgICAgICAgICAgICAgeDogdGhpcy5nZXRYKG5ldyBEYXRlKGN1cnJlbnREYXRlKSksXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogdGhpcy5nZXRXaWR0aEZyb21UaW1lKGN1cnJlbnREYXRlLCBlbmRPZkN1cnJlbnREYXkpLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6IGN1cnJlbnREYXRlLnRvTG9jYWxlRGF0ZVN0cmluZyhsb2NhbGVzID8/IFtdLCB7IHdlZWtkYXk6ICdsb25nJywgZGF5OiAnbnVtZXJpYycsIG1vbnRoOiAnbG9uZycsIHllYXI6ICdudW1lcmljJyB9KSxcclxuICAgICAgICAgICAgICAgIGRhdGU6IG5ldyBEYXRlKGN1cnJlbnREYXRlKSxcclxuICAgICAgICAgICAgICAgIGRhdGE6IGN1c3RvbURhdGFGbiA/IGN1c3RvbURhdGFGbihuZXcgRGF0ZShjdXJyZW50RGF0ZSkpIDogbnVsbFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgY3VycmVudERhdGUuc2V0RGF0ZShjdXJyZW50RGF0ZS5nZXREYXRlKCkgKyAxKTsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBkYXlMYWJlbHM7XHJcbiAgICB9ICAgICBcclxuXHJcbiAgICAvLyNyZWdpb24gUHJpdmF0ZSBNZXRob2RzXHJcblxyXG4gICAgcHJpdmF0ZSBpc1ZhbGlkRnJlcXVlbmN5SG91cihob3VyczogbnVtYmVyLCBmcmVxdWVuY3k6IFRpbWVsaW5lVGlja0ZyZXF1ZW5jeSkge1xyXG5cclxuICAgICAgICBpZiAoZnJlcXVlbmN5ID09PSAnaG91cmx5Jykge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gZXZlcnkgdGljayBpcyB2YWxpZFxyXG4gICAgICAgIH0gXHJcbiAgICAgICAgaWYgKGZyZXF1ZW5jeSA9PT0gJzJocnMnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBob3VycyAlIDIgPT09IDA7XHJcbiAgICAgICAgfSBcclxuICAgICAgICBpZiAoZnJlcXVlbmN5ID09PSAnM2hycycpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGhvdXJzICUgMyA9PT0gMDtcclxuICAgICAgICB9IFxyXG4gICAgICAgIGlmIChmcmVxdWVuY3kgPT09ICc2aHJzJykge1xyXG4gICAgICAgICAgICByZXR1cm4gaG91cnMgJSA2ID09PSAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7IC8vIHVuc3VwcG9ydGVkIGZyZXF1ZW5jeVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZGlmZkluTWludXRlcyhzdGFydDogRGF0ZSwgZW5kOiBEYXRlKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gKGVuZC5nZXRUaW1lKCkgLSBzdGFydC5nZXRUaW1lKCkpIC8gKDEwMDAgKiA2MCk7O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcm91bmRIb3Vyc1VwKHRpbWU6IERhdGUpOiBEYXRlIHtcclxuICAgIFxyXG4gICAgICAgIGxldCBuZXdUaW1lID0gbmV3IERhdGUodGltZSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKG5ld1RpbWUuZ2V0TWludXRlcygpID4gMCB8fCBuZXdUaW1lLmdldFNlY29uZHMoKSA+IDAgfHwgbmV3VGltZS5nZXRNaWxsaXNlY29uZHMoKSA+IDApIHtcclxuICAgICAgICAgICAgbmV3VGltZS5zZXRIb3VycyhuZXdUaW1lLmdldEhvdXJzKCkgKyAxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbmV3VGltZS5zZXRNaW51dGVzKDAsIDAsIDApO1xyXG4gICAgICAgIHJldHVybiBuZXdUaW1lO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIHJvdW5kSG91cnNEb3duKHRpbWU6IERhdGUpIHtcclxuICAgICAgICBsZXQgbmV3VGltZSA9IG5ldyBEYXRlKHRpbWUpO1xyXG4gICAgICAgIG5ld1RpbWUuc2V0TWludXRlcygwLCAwLCAwKTtcclxuICAgICAgICByZXR1cm4gbmV3VGltZTtcclxuICAgIH1cclxuICAgIFxyXG5cclxuICAgIHByaXZhdGUgaW5pdEhvdXJUaWNrcygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmhvdXJUaWNrcyA9IFtdO1xyXG5cclxuICAgICAgICAvLyBnZXQgZmlyc3Qgd2hvbGUgaG91ciBmcm9tIHN0YXJ0IGRhdGVcclxuICAgICAgICBsZXQgc3RhcnRIb3VyID0gdGhpcy5yb3VuZEhvdXJzVXAodGhpcy5zdGFydCk7XHJcblxyXG4gICAgICAgIC8vIGdldCBsYXN0IHdob2xlIGhvdXIgZnJvbSBlbmQgZGF0ZVxyXG4gICAgICAgIGxldCBlbmRIb3VyID0gdGhpcy5yb3VuZEhvdXJzRG93bih0aGlzLmVuZCk7XHJcblxyXG4gICAgICAgIGxldCBjdXJyZW50SG91ciA9IG5ldyBEYXRlKHN0YXJ0SG91cilcclxuICAgICAgICB3aGlsZSAoY3VycmVudEhvdXIgPD0gZW5kSG91cikge1xyXG4gICAgICAgICAgICB0aGlzLmhvdXJUaWNrcy5wdXNoKHRoaXMuZ2V0VGljayhjdXJyZW50SG91cikpO1xyXG4gICAgICAgICAgICBjdXJyZW50SG91ci5zZXRIb3VycyhjdXJyZW50SG91ci5nZXRIb3VycygpICsgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbn1cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi90aW1lbGluZS90eXBlcy90aW1lbGluZS50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgVGltZWxpbmVUaWNrRnJlcXVlbmN5ID0gJ2hvdXJseScgfCAnMmhycycgfCAnM2hycycgfCAnNmhycycgO1xyXG5cclxuZXhwb3J0IHR5cGUgVGltZWxpbmVDdXN0b21EYXRlRGF0YVByb3ZpZGVyID0gKGRhdGU6IERhdGUpID0+IGFueTsiXX0=
|