mis-crystal-design-system 4.0.39 → 4.0.41

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.
Files changed (46) hide show
  1. package/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.metadata.json +1 -1
  2. package/bundles/mis-crystal-design-system-async-search-dropdown.umd.js +1 -1
  3. package/bundles/mis-crystal-design-system-async-search-dropdown.umd.min.js +1 -1
  4. package/bundles/mis-crystal-design-system-async-search-dropdown.umd.min.js.map +1 -1
  5. package/bundles/mis-crystal-design-system-dropdown.umd.js +27 -3
  6. package/bundles/mis-crystal-design-system-dropdown.umd.js.map +1 -1
  7. package/bundles/mis-crystal-design-system-dropdown.umd.min.js +1 -1
  8. package/bundles/mis-crystal-design-system-dropdown.umd.min.js.map +1 -1
  9. package/bundles/mis-crystal-design-system-timepicker.umd.js +1 -1
  10. package/bundles/mis-crystal-design-system-timepicker.umd.js.map +1 -1
  11. package/bundles/mis-crystal-design-system-timepicker.umd.min.js +1 -1
  12. package/bundles/mis-crystal-design-system-timepicker.umd.min.js.map +1 -1
  13. package/bundles/mis-crystal-design-system-timerangepicker.umd.js +47 -30
  14. package/bundles/mis-crystal-design-system-timerangepicker.umd.js.map +1 -1
  15. package/bundles/mis-crystal-design-system-timerangepicker.umd.min.js +1 -1
  16. package/bundles/mis-crystal-design-system-timerangepicker.umd.min.js.map +1 -1
  17. package/bundles/mis-crystal-design-system-tooltip.umd.js +12 -1
  18. package/bundles/mis-crystal-design-system-tooltip.umd.js.map +1 -1
  19. package/bundles/mis-crystal-design-system-tooltip.umd.min.js +1 -1
  20. package/bundles/mis-crystal-design-system-tooltip.umd.min.js.map +1 -1
  21. package/dropdown/calculate-height.pipe.d.ts +4 -0
  22. package/dropdown/dropdown.component.d.ts +1 -0
  23. package/dropdown/mis-crystal-design-system-dropdown.d.ts +1 -0
  24. package/dropdown/mis-crystal-design-system-dropdown.metadata.json +1 -1
  25. package/esm2015/async-search-dropdown/async-dropdown.component.js +1 -1
  26. package/esm2015/dropdown/calculate-height.pipe.js +19 -0
  27. package/esm2015/dropdown/dropdown.component.js +5 -3
  28. package/esm2015/dropdown/dropdown.module.js +3 -2
  29. package/esm2015/dropdown/mis-crystal-design-system-dropdown.js +2 -1
  30. package/esm2015/timepicker/timepicker.component.js +2 -2
  31. package/esm2015/timerangepicker/timerangepicker.component.js +48 -31
  32. package/esm2015/tooltip/tooltip-container/tooltip.component.js +3 -2
  33. package/esm2015/tooltip/tooltip.directive.js +7 -1
  34. package/fesm2015/mis-crystal-design-system-async-search-dropdown.js +1 -1
  35. package/fesm2015/mis-crystal-design-system-dropdown.js +25 -5
  36. package/fesm2015/mis-crystal-design-system-dropdown.js.map +1 -1
  37. package/fesm2015/mis-crystal-design-system-timepicker.js +1 -1
  38. package/fesm2015/mis-crystal-design-system-timepicker.js.map +1 -1
  39. package/fesm2015/mis-crystal-design-system-timerangepicker.js +47 -30
  40. package/fesm2015/mis-crystal-design-system-timerangepicker.js.map +1 -1
  41. package/fesm2015/mis-crystal-design-system-tooltip.js +8 -1
  42. package/fesm2015/mis-crystal-design-system-tooltip.js.map +1 -1
  43. package/package.json +1 -1
  44. package/tooltip/mis-crystal-design-system-tooltip.metadata.json +1 -1
  45. package/tooltip/tooltip-container/tooltip.component.d.ts +1 -0
  46. package/tooltip/tooltip.directive.d.ts +2 -0
@@ -0,0 +1,19 @@
1
+ import { Pipe } from '@angular/core';
2
+ export class CalculateHeightPipe {
3
+ transform(items, itemHeight, visibleItems) {
4
+ const numberOfItems = items.length;
5
+ if ((itemHeight * numberOfItems) > 200) {
6
+ return `${200}px`;
7
+ }
8
+ if (numberOfItems <= visibleItems) {
9
+ return `${itemHeight * numberOfItems}px`;
10
+ }
11
+ return `${itemHeight * visibleItems}px`;
12
+ }
13
+ }
14
+ CalculateHeightPipe.decorators = [
15
+ { type: Pipe, args: [{
16
+ name: 'calculateContainerHeight'
17
+ },] }
18
+ ];
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWhlaWdodC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHJvcGRvd24vY2FsY3VsYXRlLWhlaWdodC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBS3BELE1BQU0sT0FBTyxtQkFBbUI7SUFFOUIsU0FBUyxDQUFDLEtBQVksRUFBRSxVQUFrQixFQUFFLFlBQW9CO1FBQzlELE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUMsR0FBRyxHQUFHLEVBQUU7WUFDdEMsT0FBTyxHQUFHLEdBQUcsSUFBSSxDQUFDO1NBQ25CO1FBQ0QsSUFBSSxhQUFhLElBQUksWUFBWSxFQUFFO1lBQ2pDLE9BQU8sR0FBRyxVQUFVLEdBQUcsYUFBYSxJQUFJLENBQUM7U0FDMUM7UUFDRCxPQUFPLEdBQUcsVUFBVSxHQUFHLFlBQVksSUFBSSxDQUFDO0lBQzFDLENBQUM7OztZQWRGLElBQUksU0FBQztnQkFDSixJQUFJLEVBQUUsMEJBQTBCO2FBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdjYWxjdWxhdGVDb250YWluZXJIZWlnaHQnXG59KVxuZXhwb3J0IGNsYXNzIENhbGN1bGF0ZUhlaWdodFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm0oaXRlbXM6IGFueVtdLCBpdGVtSGVpZ2h0OiBudW1iZXIsIHZpc2libGVJdGVtczogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBudW1iZXJPZkl0ZW1zID0gaXRlbXMubGVuZ3RoO1xuICAgIGlmICgoaXRlbUhlaWdodCAqIG51bWJlck9mSXRlbXMpID4gMjAwKSB7XG4gICAgICByZXR1cm4gYCR7MjAwfXB4YDtcbiAgICB9XG4gICAgaWYgKG51bWJlck9mSXRlbXMgPD0gdmlzaWJsZUl0ZW1zKSB7XG4gICAgICByZXR1cm4gYCR7aXRlbUhlaWdodCAqIG51bWJlck9mSXRlbXN9cHhgO1xuICAgIH1cbiAgICByZXR1cm4gYCR7aXRlbUhlaWdodCAqIHZpc2libGVJdGVtc31weGA7XG4gIH1cblxufVxuXG4iXX0=
@@ -12,10 +12,12 @@ export class DropdownComponent {
12
12
  this.isSearchInputFocused = false;
13
13
  this.searchInput = "";
14
14
  this.searchData = [];
15
+ this.visibleItems = 10;
15
16
  this.data = [];
16
17
  this.height = "";
17
18
  this.width = "";
18
19
  this.label = "Select";
20
+ this.itemSizeForCdk = 36;
19
21
  this.showOnlyIcon = false;
20
22
  this.higlightSelectedValue = false;
21
23
  this.dropdownListHeight = "";
@@ -130,8 +132,8 @@ export class DropdownComponent {
130
132
  DropdownComponent.decorators = [
131
133
  { type: Component, args: [{
132
134
  selector: "mis-dropdown",
133
- template: "<div (click)=\"setUpAsyncDataSearch()\"\n class=\"main-container\"\n [ngStyle]=\"{\n height: height.length > 0 ? height : '',\n width: width.length > 0 ? width : ''\n }\"\n>\n <div\n class=\"dropdown\"\n #select\n tabindex=\"0\"\n (keyup.enter)=\"toggleDropdown()\"\n (click)=\"toggleDropdown()\"\n [ngStyle]=\"customStyles\"\n [ngClass]=\"isOpen ? 'dropdown-port': ''\"\n >\n <img class=\"img-container\" [src]=\"selectedItem.customIcon\" *ngIf=\"selectedItem.customIcon\">\n <div class=\"label\">\n <p class=\"text\" *ngIf=\"!showOnlyIcon; else showIcon\">\n {{ multiLine ? selectedItem.label?.primaryText : selectedItem.label || label }}\n </p>\n <ng-template #showIcon>\n <p class=\"text\" *ngIf=\"!selectedItem.icon\">\n {{ label }}\n </p>\n <img class=\"icon\" *ngIf=\"!!selectedItem.icon\" [src]=\"selectedItem.icon\" alt=\"no img\" />\n </ng-template>\n </div>\n <svg\n class=\"handle\"\n [ngStyle]=\"{ transform: isOpen ? 'rotate(180deg)' : 'rotate(0deg)' }\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z\"\n fill=\"#181F33\"\n />\n </svg>\n </div>\n</div>\n<ng-template #popupContainer>\n <div\n class=\"popup-container\"\n [ngStyle]=\"{\n height: dropdownListHeight,\n width: dropdownListWidth\n }\"\n >\n <div *ngIf=\"searchEnabled\" class=\"search-container\">\n <svg\n *ngIf=\"!isSearchInputFocused\"\n class=\"search-icon\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z\"\n fill=\"#6A737D\"\n />\n </svg>\n <input\n [ngModel]=\"searchInput\"\n [ngStyle]=\"{\n paddingLeft: isSearchInputFocused ? '12px' : '45px',\n border: isSearchInputFocused ? '1px solid #0937B2' : '1px solid #e0e0e0',\n paddingRight: isSearchInputFocused ? '45px' : '10px'\n }\"\n (ngModelChange)=\"searchInputOnChange($event)\"\n [placeholder]=\"isSearchInputFocused ? '' : searchLabel\"\n (focus)=\"searchInputFocused(true)\"\n class=\"search-input\"\n />\n <svg\n *ngIf=\"isSearchInputFocused\"\n class=\"cancel-icon\"\n (click)=\"searchInputCanceled($event)\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z\"\n fill=\"#6A737D\"\n />\n </svg>\n </div>\n <div class=\"status-container\" *ngIf=\"loading\">\n <mis-loader [mobileView]=\"true\"></mis-loader>\n </div>\n <div class=\"items\" *ngIf=\"!loading\"> \n <cdk-virtual-scroll-viewport [itemSize]=\"itemSizeForCdk\" class=\"dropdown-viewport\" >\n <div\n class=\"item\"\n tabindex=\"0\"\n [ngClass]=\"{ 'item-disabled': item.disabled, 'item-selected': (higlightSelectedValue && item.value === selectedItem.value), 'icon-only' : showOnlyIcon }\"\n (click)=\"item.disabled ? null : selectItem(item)\"\n (keyup.enter)=\"item.disabled ? null : selectItem(item)\"\n *cdkVirtualFor=\"let item of searchInput ? searchData : data;\"\n >\n <div class=\"label\" *ngIf=\"!showOnlyIcon\" [ngStyle]=\"{ width: item.icon ? '90%' : '100%', 'display': multiLine ? 'flex': 'inherit', 'flex-direction': multiLine ? 'column': 'inherit' }\">\n <span class=\"primaryText\" [ngStyle]=\"getIconStyles(item.icon, activeItem)\">{{ multiLine ? item.label?.primaryText : item.label }}</span>\n <span class=\"secondaryText\" *ngIf=\"multiLine\" [ngStyle]=\"getIconStyles(item.icon, activeItem)\"> {{ item.label?.secondaryText ? item.label?.secondaryText : additionalInfoMessage }} </span>\n </div>\n <div class=\"icon-container\" *ngIf=\"item.icon\">\n <img class=\"icon\" [src]=\"item.icon\" alt=\"no img\" />\n </div>\n </div>\n </cdk-virtual-scroll-viewport>\n <div class=\"noData\" *ngIf=\"(searchInput ? searchData : data).length === 0\">\n {{ searchInput === \"\" ? noDataMessage : \"No results\" }}\n </div>\n </div>\n </div>\n</ng-template>\n",
134
- styles: [".main-container{position:relative;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;height:32px;width:256px;font-family:Lato,sans-serif!important}.main-container .dropdown{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:inherit;border:1px solid #e0e0e0;border-radius:6px;background-color:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;width:100%;box-sizing:border-box;padding:0 12px}.main-container .dropdown:focus-visible,.main-container .dropdown:hover{background-color:#f5f7fc;outline:none}.main-container .dropdown .label{box-sizing:border-box;display:flex;justify-content:flex-start;align-items:center;width:calc(100% - 32px)}.main-container .dropdown .label,.main-container .dropdown .label .text{font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.main-container .dropdown .label .text{margin:0!important;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.main-container .dropdown .label .count{background-color:#e0e0e0;border-radius:50%;padding:2px 7px;margin:0}.main-container .dropdown .handle{width:24px;height:24px;transition:.3s;position:absolute;right:12px;border-radius:50%;overflow:hidden}.main-container .dropdown .img-container{width:20px;height:20px}.main-container .dropdown-port{background:#e6ebf7}.popup-container{width:100%;max-height:340px;padding-bottom:0;border:1px solid #e0e0e0;border-radius:8px;background-color:#fff;box-shadow:0 12px 24px 0 rgba(0,0,0,.12);display:flex;flex-direction:column;overflow:hidden;justify-content:space-between}.popup-container::-webkit-scrollbar{width:0;height:0}.popup-container .search-container{position:relative;box-sizing:border-box;padding:8px}.popup-container .search-container .search-icon{position:absolute;width:24px;height:24px;top:50%;transform:translateY(-50%);left:18px;z-index:1}.popup-container .search-container .search-input{height:40px;width:100%;padding:12px;border:1px solid #e0e0e0;box-sizing:border-box;border-radius:8px;outline:none;caret-color:#0937b2;font-style:normal;font-weight:400;font-size:12px;line-height:18px;display:flex;align-items:center;letter-spacing:.2px;color:#181f33}.popup-container .search-container .cancel-icon{position:absolute;cursor:pointer;width:24px;height:24px;top:50%;transform:translateY(-50%);right:18px;z-index:1}.popup-container .items{padding:8px 0 8px 8px;overflow-y:scroll}.popup-container .items::-webkit-scrollbar{width:5px;height:0}.popup-container .items::-webkit-scrollbar-thumb{background:#9aa7b4;border-radius:10px}.popup-container .items .noData{display:flex;justify-content:center;align-items:center;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.popup-container .items .dropdown-viewport{height:200px}.popup-container .items .dropdown-viewport .item{cursor:pointer;display:flex;justify-content:flex-start;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;height:auto;letter-spacing:.2px;color:#181f33}.popup-container .items .dropdown-viewport .item:focus-visible,.popup-container .items .dropdown-viewport .item:hover{background-color:#f5f7fc;outline:none}.popup-container .items .dropdown-viewport .item .label{width:100%;line-height:20px;font-size:14px;font-style:normal;font-weight:400;text-overflow:ellipsis;overflow:hidden}.popup-container .items .dropdown-viewport .item .label .primaryText{color:#181f33;font-family:Lato;font-size:14px;line-height:20px;letter-spacing:.2px}.popup-container .items .dropdown-viewport .item .label .secondaryText{color:#6a737d;font-family:Lato;font-size:14px;line-height:20px;letter-spacing:.2px}.popup-container .items .dropdown-viewport .item .icon-container{width:10%;display:flex;justify-content:flex-end}.popup-container .items .dropdown-viewport .item .icon-container .icon{width:20px;height:20px}.popup-container .items .item-disabled{cursor:not-allowed!important}.popup-container .items .item-disabled:focus-visible,.popup-container .items .item-disabled:hover{background-color:transparent!important;outline:none!important}.popup-container .items .item-disabled .label>span{color:#929dab!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.popup-container .items .item-selected{background-color:#e0e6f6;outline:none}.popup-container .items .icon-only{justify-content:center!important}::-webkit-scrollbar{height:8px;width:8px;background:#fff;border-radius:13px}::-webkit-scrollbar-thumb{background:#c8cdd3;border-radius:13px;cursor:pointer}.status-container{display:flex;justify-content:center;align-items:center;height:128px}.status-container p{text-align:center}"]
135
+ template: "<div (click)=\"setUpAsyncDataSearch()\"\n class=\"main-container\"\n [ngStyle]=\"{\n height: height.length > 0 ? height : '',\n width: width.length > 0 ? width : ''\n }\"\n>\n <div\n class=\"dropdown\"\n #select\n tabindex=\"0\"\n (keyup.enter)=\"toggleDropdown()\"\n (click)=\"toggleDropdown()\"\n [ngStyle]=\"customStyles\"\n [ngClass]=\"isOpen ? 'dropdown-port': ''\"\n >\n <img class=\"img-container\" [src]=\"selectedItem.customIcon\" *ngIf=\"selectedItem.customIcon\">\n <div class=\"label\">\n <p class=\"text\" *ngIf=\"!showOnlyIcon; else showIcon\">\n {{ multiLine ? selectedItem.label?.primaryText : selectedItem.label || label }}\n </p>\n <ng-template #showIcon>\n <p class=\"text\" *ngIf=\"!selectedItem.icon\">\n {{ label }}\n </p>\n <img class=\"icon\" *ngIf=\"!!selectedItem.icon\" [src]=\"selectedItem.icon\" alt=\"no img\" />\n </ng-template>\n </div>\n <svg\n class=\"handle\"\n [ngStyle]=\"{ transform: isOpen ? 'rotate(180deg)' : 'rotate(0deg)' }\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z\"\n fill=\"#181F33\"\n />\n </svg>\n </div>\n</div>\n<ng-template #popupContainer>\n <div\n class=\"popup-container\"\n [ngStyle]=\"{\n height: dropdownListHeight,\n width: dropdownListWidth\n }\"\n >\n <div *ngIf=\"searchEnabled\" class=\"search-container\">\n <svg\n *ngIf=\"!isSearchInputFocused\"\n class=\"search-icon\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z\"\n fill=\"#6A737D\"\n />\n </svg>\n <input\n [ngModel]=\"searchInput\"\n [ngStyle]=\"{\n paddingLeft: isSearchInputFocused ? '12px' : '45px',\n border: isSearchInputFocused ? '1px solid #0937B2' : '1px solid #e0e0e0',\n paddingRight: isSearchInputFocused ? '45px' : '10px'\n }\"\n (ngModelChange)=\"searchInputOnChange($event)\"\n [placeholder]=\"isSearchInputFocused ? '' : searchLabel\"\n (focus)=\"searchInputFocused(true)\"\n class=\"search-input\"\n />\n <svg\n *ngIf=\"isSearchInputFocused\"\n class=\"cancel-icon\"\n (click)=\"searchInputCanceled($event)\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z\"\n fill=\"#6A737D\"\n />\n </svg>\n </div>\n <div class=\"status-container\" *ngIf=\"loading\">\n <mis-loader [mobileView]=\"true\"></mis-loader>\n </div>\n <div class=\"items\" *ngIf=\"!loading\"> \n <cdk-virtual-scroll-viewport [itemSize]=\"itemSizeForCdk\" class=\"dropdown-viewport\" [style.height]=\"data | calculateContainerHeight:itemSizeForCdk:visibleItems\">\n <div\n class=\"item\"\n tabindex=\"0\"\n [ngClass]=\"{ 'item-disabled': item.disabled, 'item-selected': (higlightSelectedValue && item.value === selectedItem.value), 'icon-only' : showOnlyIcon }\"\n (click)=\"item.disabled ? null : selectItem(item)\"\n (keyup.enter)=\"item.disabled ? null : selectItem(item)\"\n *cdkVirtualFor=\"let item of searchInput ? searchData : data;\"\n >\n <div class=\"label\" *ngIf=\"!showOnlyIcon\" [ngStyle]=\"{ width: item.icon ? '90%' : '100%', 'display': multiLine ? 'flex': 'inherit', 'flex-direction': multiLine ? 'column': 'inherit' }\">\n <span class=\"primaryText\" [ngStyle]=\"getIconStyles(item.icon, activeItem)\">{{ multiLine ? item.label?.primaryText : item.label }}</span>\n <span class=\"secondaryText\" *ngIf=\"multiLine\" [ngStyle]=\"getIconStyles(item.icon, activeItem)\"> {{ item.label?.secondaryText ? item.label?.secondaryText : additionalInfoMessage }} </span>\n </div>\n <div class=\"icon-container\" *ngIf=\"item.icon\">\n <img class=\"icon\" [src]=\"item.icon\" alt=\"no img\" />\n </div>\n </div>\n </cdk-virtual-scroll-viewport>\n <div class=\"noData\" *ngIf=\"(searchInput ? searchData : data).length === 0\">\n {{ searchInput === \"\" ? noDataMessage : \"No results\" }}\n </div>\n </div>\n </div>\n</ng-template>\n",
136
+ styles: [".main-container{position:relative;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;height:32px;width:256px;font-family:Lato,sans-serif!important}.main-container .dropdown{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:inherit;border:1px solid #e0e0e0;border-radius:6px;background-color:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;width:100%;box-sizing:border-box;padding:0 12px}.main-container .dropdown:focus-visible,.main-container .dropdown:hover{background-color:#f5f7fc;outline:none}.main-container .dropdown .label{box-sizing:border-box;display:flex;justify-content:flex-start;align-items:center;width:calc(100% - 32px)}.main-container .dropdown .label,.main-container .dropdown .label .text{font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.main-container .dropdown .label .text{margin:0!important;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.main-container .dropdown .label .count{background-color:#e0e0e0;border-radius:50%;padding:2px 7px;margin:0}.main-container .dropdown .handle{width:24px;height:24px;transition:.3s;position:absolute;right:12px;border-radius:50%;overflow:hidden}.main-container .dropdown .img-container{width:20px;height:20px}.main-container .dropdown-port{background:#e6ebf7}.popup-container{width:100%;max-height:340px;padding-bottom:0;border:1px solid #e0e0e0;border-radius:8px;background-color:#fff;box-shadow:0 12px 24px 0 rgba(0,0,0,.12);display:flex;flex-direction:column;overflow:hidden;justify-content:space-between}.popup-container::-webkit-scrollbar{width:0;height:0}.popup-container .search-container{position:relative;box-sizing:border-box;padding:8px}.popup-container .search-container .search-icon{position:absolute;width:24px;height:24px;top:50%;transform:translateY(-50%);left:18px;z-index:1}.popup-container .search-container .search-input{height:40px;width:100%;padding:12px;border:1px solid #e0e0e0;box-sizing:border-box;border-radius:8px;outline:none;caret-color:#0937b2;font-style:normal;font-weight:400;font-size:12px;line-height:18px;display:flex;align-items:center;letter-spacing:.2px;color:#181f33}.popup-container .search-container .cancel-icon{position:absolute;cursor:pointer;width:24px;height:24px;top:50%;transform:translateY(-50%);right:18px;z-index:1}.popup-container .items{padding:8px 0 8px 8px;overflow-y:scroll}.popup-container .items::-webkit-scrollbar{width:5px;height:0}.popup-container .items::-webkit-scrollbar-thumb{background:#9aa7b4;border-radius:10px}.popup-container .items .noData{display:flex;justify-content:center;align-items:center;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.popup-container .items .dropdown-viewport .item{cursor:pointer;display:flex;justify-content:flex-start;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;height:auto;letter-spacing:.2px;color:#181f33}.popup-container .items .dropdown-viewport .item:focus-visible,.popup-container .items .dropdown-viewport .item:hover{background-color:#f5f7fc;outline:none}.popup-container .items .dropdown-viewport .item .label{width:100%;line-height:20px;font-size:14px;font-style:normal;font-weight:400;text-overflow:ellipsis;overflow:hidden}.popup-container .items .dropdown-viewport .item .label .primaryText{color:#181f33;font-family:Lato;font-size:14px;line-height:20px;letter-spacing:.2px}.popup-container .items .dropdown-viewport .item .label .secondaryText{color:#6a737d;font-family:Lato;font-size:14px;line-height:20px;letter-spacing:.2px}.popup-container .items .dropdown-viewport .item .icon-container{width:10%;display:flex;justify-content:flex-end}.popup-container .items .dropdown-viewport .item .icon-container .icon{width:20px;height:20px}.popup-container .items .item-disabled{cursor:not-allowed!important}.popup-container .items .item-disabled:focus-visible,.popup-container .items .item-disabled:hover{background-color:transparent!important;outline:none!important}.popup-container .items .item-disabled .label>span{color:#929dab!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.popup-container .items .item-selected{background-color:#e0e6f6;outline:none}.popup-container .items .icon-only{justify-content:center!important}::-webkit-scrollbar{height:8px;width:8px;background:#fff;border-radius:13px}::-webkit-scrollbar-thumb{background:#c8cdd3;border-radius:13px;cursor:pointer}.status-container{display:flex;justify-content:center;align-items:center;height:128px}.status-container p{text-align:center}"]
135
137
  },] }
136
138
  ];
137
139
  DropdownComponent.ctorParameters = () => [
@@ -165,4 +167,4 @@ DropdownComponent.propDecorators = {
165
167
  popupContainer: [{ type: ViewChild, args: ["popupContainer", { static: false },] }],
166
168
  viewPort: [{ type: ViewChild, args: [CdkVirtualScrollViewport,] }]
167
169
  };
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDbEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFlLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNySSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVFsRSxNQUFNLE9BQU8saUJBQWlCO0lBK0I1QixZQUFvQixJQUFnQixFQUFVLE9BQWdCLEVBQVUsZ0JBQWtDO1FBQXRGLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTlCMUcsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIseUJBQW9CLEdBQVksS0FBSyxDQUFDO1FBQ3RDLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGVBQVUsR0FBbUIsRUFBRSxDQUFDO1FBQ3ZCLFNBQUksR0FBb0IsRUFBRSxDQUFDO1FBQzNCLFdBQU0sR0FBVyxFQUFFLENBQUM7UUFDcEIsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUNuQixVQUFLLEdBQVcsUUFBUSxDQUFDO1FBRXpCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLDBCQUFxQixHQUFZLEtBQUssQ0FBQztRQUN2Qyx1QkFBa0IsR0FBVyxFQUFFLENBQUM7UUFDaEMsc0JBQWlC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QUFLOzJCQUNMLEtBQUs7eUJBQ0wsS0FBSzt1QkFDTCxNQUFNOzRCQUNOLFNBQVMsU0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOzZCQUNyQyxTQUFTLFNBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO3VCQUM3QyxTQUFTLFNBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGlvblBvc2l0aW9uUGFpciwgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1pcy1kcm9wZG93blwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9kcm9wZG93bi5jb21wb25lbnQuc2Nzc1wiXSxcbiAgXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgaXNPcGVuID0gZmFsc2U7XG4gIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNTZWFyY2hJbnB1dEZvY3VzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2VhcmNoSW5wdXQ6IHN0cmluZyA9IFwiXCI7XG4gIHNlYXJjaERhdGE6IERyb3Bkb3duSXRlbVtdID0gW107XG4gIEBJbnB1dCgpIGRhdGE6IERyb3Bkb3duSXRlbVtdICA9IFtdO1xuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gXCJTZWxlY3RcIjtcbiAgQElucHV0KCkgaXRlbVNpemVGb3JDZGs6IG51bWJlcjtcbiAgQElucHV0KCkgc2hvd09ubHlJY29uOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhpZ2xpZ2h0U2VsZWN0ZWRWYWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBkcm9wZG93bkxpc3RIZWlnaHQ6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIGRyb3Bkb3duTGlzdFdpZHRoOiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSBkcm9wZG93bkxpc3RQb3NpdGlvbjogXCJMZWZ0XCIgfCBcIlJpZ2h0XCIgPSBcIkxlZnRcIjtcbiAgQElucHV0KCkgY29uZmlnXG4gIEBJbnB1dCgpIHNlYXJjaEVuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBzZWxlY3RlZEl0ZW06IERyb3Bkb3duSXRlbSA9IHsgdmFsdWU6IFwiXCIsIGxhYmVsOiBcIlwiIH07XG4gIEBJbnB1dCgpIG5vRGF0YU1lc3NhZ2U6IHN0cmluZyA9IFwiTm8gRGF0YVwiO1xuICBASW5wdXQoKSBtdWx0aUxpbmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgYWRkaXRpb25hbEluZm9NZXNzYWdlIDogc3RyaW5nO1xuICBASW5wdXQoKSBzY3JvbGxJbnRvVmlldzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzZWFyY2hMYWJlbDpzdHJpbmcgPSBcIlNlYXJjaCBLZXl3b3JkXCI7XG4gIEBJbnB1dCgpIGN1c3RvbVN0eWxlczogIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIEBJbnB1dCgpIGFjdGl2ZUl0ZW06IGJvb2xlYW4gPSBmYWxzZTtcbiAgQE91dHB1dCgpIG9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQFZpZXdDaGlsZChcInNlbGVjdFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgc2VsZWN0RWxlbWVudDogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZChcInBvcHVwQ29udGFpbmVyXCIsIHsgc3RhdGljOiBmYWxzZSB9KSBwb3B1cENvbnRhaW5lcjogVGVtcGxhdGVSZWY8RWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0KSB2aWV3UG9ydDogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0O1xuICBwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZVJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LCBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHt9XG4gIG5nT25Jbml0KCkge1xuICB9XG5cbiAgZ2V0SWNvblN0eWxlcyhpdGVtOiBhbnksIGFjdGl2ZUl0ZW06IGJvb2xlYW4pOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ2NvbG9yJzogaXRlbSAmJiBhY3RpdmVJdGVtID8gJyMwOTM3QjInIDogJycsXG4gICAgICAnZm9udC13ZWlnaHQnOiBpdGVtICYmIGFjdGl2ZUl0ZW0gPyAnNzAwJyA6ICcnXG4gICAgfTtcbiAgfVxuXG5zZXRVcEFzeW5jRGF0YVNlYXJjaCgpXG57XG4gIGlmKHRoaXMuY29uZmlnKVxuICB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5jb25maWcuZGF0YVN0cmVhbSgpLnBpcGUoKS5zdWJzY3JpYmUocmVzPT4ge1xuICAgICAgICAgIHRoaXMuZGF0YSA9IHJlc1xuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgICB9KVxuICB9XG4gIGNvbnN0IGluZGV4ID0gdGhpcy5kYXRhLmZpbmRJbmRleCgoZGF0YUl0ZW0pID0+IGRhdGFJdGVtLnZhbHVlID09PSB0aGlzLnNlbGVjdGVkSXRlbS52YWx1ZSk7XG4gIGlmICh0aGlzLnNjcm9sbEludG9WaWV3KVxuICAgIHRoaXMudmlld1BvcnQuc2Nyb2xsVG9JbmRleChpbmRleCwgJ3Ntb290aCcpO1xufVxuICBmaWx0ZXJCeVZhbHVlKGFycmF5LCBzdHJpbmc6IHN0cmluZykge1xuICAgIHJldHVybiBhcnJheS5maWx0ZXIobyA9PiBvLmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc3RyaW5nLnRvTG93ZXJDYXNlKCkudHJpbSgpKSk7XG4gIH1cblxuICBmaWx0ZXJCeVByaW1hcnlUZXh0KGFycmF5LCBzdHJpbmc6IHN0cmluZykge1xuICAgIHJldHVybiBhcnJheS5maWx0ZXIobyA9PiBvLmxhYmVsLnByaW1hcnlUZXh0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc3RyaW5nLnRvTG93ZXJDYXNlKCkudHJpbSgpKSk7XG4gIH1cbiAgc2VhcmNoSW5wdXRPbkNoYW5nZShuZXdWYWx1ZSkge1xuICAgIHRoaXMuc2VhcmNoSW5wdXQgPSBuZXdWYWx1ZTtcbiAgICBpZiAobmV3VmFsdWUpIHtcbiAgICAgIHRoaXMuc2VhcmNoRGF0YSA9IHRoaXMubXVsdGlMaW5lID8gdGhpcy5maWx0ZXJCeVByaW1hcnlUZXh0KHRoaXMuZGF0YSwgbmV3VmFsdWUpIDogdGhpcy5maWx0ZXJCeVZhbHVlKHRoaXMuZGF0YSwgbmV3VmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlYXJjaERhdGEgPSBbXTtcbiAgICAgIHRoaXMuc2VhcmNoSW5wdXQgPSBcIlwiO1xuICAgIH1cbiAgfVxuICBzZWFyY2hJbnB1dEZvY3VzZWQoaXNGb2N1c2VkOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc1NlYXJjaElucHV0Rm9jdXNlZCA9IGlzRm9jdXNlZDtcbiAgfVxuICBzZWFyY2hJbnB1dENhbmNlbGVkKGV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5zZWFyY2hJbnB1dCA9IFwiXCI7XG4gICAgdGhpcy5pc1NlYXJjaElucHV0Rm9jdXNlZCA9IGZhbHNlO1xuICB9XG4gIHRvZ2dsZURyb3Bkb3duKCkge1xuICAgIHRoaXMuaXNPcGVuID0gIXRoaXMuaXNPcGVuO1xuICAgIGlmICh0aGlzLmlzT3BlbikgdGhpcy5vcGVuRHJvcGRvd24odGhpcy5wb3B1cENvbnRhaW5lciwgdGhpcy5zZWxlY3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIGVsc2UgdGhpcy5vbkNhbmNlbCgpO1xuICB9XG4gIHByaXZhdGUgb3BlbkRyb3Bkb3duKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxFbGVtZW50Piwgb3JpZ2luOiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGNvbnN0IHBvc2l0aW9uc0JvdHRvbSA9IFtcbiAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKHsgb3JpZ2luWDogXCJzdGFydFwiLCBvcmlnaW5ZOiBcImJvdHRvbVwiIH0sIHsgb3ZlcmxheVg6IFwic3RhcnRcIiwgb3ZlcmxheVk6IFwidG9wXCIgfSwgMCwgNCksXG4gICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcih7IG9yaWdpblg6IFwiZW5kXCIsIG9yaWdpblk6IFwiYm90dG9tXCIgfSwgeyBvdmVybGF5WDogXCJlbmRcIiwgb3ZlcmxheVk6IFwidG9wXCIgfSwgMCwgNClcbiAgICBdO1xuICAgIGNvbnN0IHBvc2l0aW9uc1RvcCA9IFtcbiAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKHsgb3JpZ2luWDogXCJzdGFydFwiLCBvcmlnaW5ZOiBcInRvcFwiIH0sIHsgb3ZlcmxheVg6IFwic3RhcnRcIiwgb3ZlcmxheVk6IFwiYm90dG9tXCIgfSwgMCwgLTQpLFxuICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoeyBvcmlnaW5YOiBcImVuZFwiLCBvcmlnaW5ZOiBcInRvcFwiIH0sIHsgb3ZlcmxheVg6IFwiZW5kXCIsIG92ZXJsYXlZOiBcImJvdHRvbVwiIH0sIDAsIC00KVxuICAgIF07XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVxuICAgICAgLnBvc2l0aW9uKClcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKG9yaWdpbilcbiAgICAgIC53aXRoUG9zaXRpb25zKFtcbiAgICAgICAgLi4uKHRoaXMuZHJvcGRvd25MaXN0UG9zaXRpb24gPT09IFwiUmlnaHRcIiA/IHBvc2l0aW9uc0JvdHRvbS5yZXZlcnNlKCkgOiBwb3NpdGlvbnNCb3R0b20pLFxuICAgICAgICAuLi4odGhpcy5kcm9wZG93bkxpc3RQb3NpdGlvbiA9PT0gXCJSaWdodFwiID8gcG9zaXRpb25zVG9wLnJldmVyc2UoKSA6IHBvc2l0aW9uc1RvcClcbiAgICAgIF0pXG4gICAgICAud2l0aFB1c2godHJ1ZSk7XG4gICAgY29uc3QgY29uZmlncyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgYmFja2Ryb3BDbGFzczogXCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiLFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICB3aWR0aDogb3JpZ2luLmNsaWVudFdpZHRoXG4gICAgfSk7XG4gICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShjb25maWdzKTtcbiAgICBpZiAodGhpcy5kcm9wZG93bkxpc3RXaWR0aCkgdGhpcy5vdmVybGF5UmVmLnVwZGF0ZVNpemUoeyB3aWR0aDogdGhpcy5kcm9wZG93bkxpc3RXaWR0aCB9KTtcbiAgICBpZiAodGhpcy5kcm9wZG93bkxpc3RIZWlnaHQpIHRoaXMub3ZlcmxheVJlZi51cGRhdGVTaXplKHsgaGVpZ2h0OiB0aGlzLmRyb3Bkb3duTGlzdEhlaWdodCB9KTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0ZW1wbGF0ZSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKSk7XG4gICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIHRoaXMub25DYW5jZWwoKTtcbiAgICB9KTtcbiAgfVxuICBzZWxlY3RJdGVtKGl0ZW0pIHtcbiAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoaXRlbSk7ICBcbiAgICB0aGlzLnRvZ2dsZURyb3Bkb3duKCk7XG4gIH1cbiAgb25DYW5jZWwoKSB7XG4gICAgdGhpcy5pc1NlYXJjaElucHV0Rm9jdXNlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgdGhpcy5vdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgICB0aGlzLnNlYXJjaElucHV0ID0gXCJcIjtcbiAgfVxufVxuZXhwb3J0IGludGVyZmFjZSBEcm9wZG93bkl0ZW0ge1xuICBsYWJlbDogYW55IDtcbiAgdmFsdWU6IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBjdXN0b21JY29uPzogc3RyaW5nXG59XG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkl0ZW1MYWJlbCB7XG4gIHByaW1hcnlUZXh0ID86IHN0cmluZztcbiAgc2Vjb25kYXJ5VGV4dCA/OiBzdHJpbmc7XG59XG4iXX0=
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDbEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFlLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNySSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVFsRSxNQUFNLE9BQU8saUJBQWlCO0lBZ0M1QixZQUFvQixJQUFnQixFQUFVLE9BQWdCLEVBQVUsZ0JBQWtDO1FBQXRGLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQS9CMUcsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIseUJBQW9CLEdBQVksS0FBSyxDQUFDO1FBQ3RDLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGVBQVUsR0FBbUIsRUFBRSxDQUFDO1FBQ2hDLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ1QsU0FBSSxHQUFvQixFQUFFLENBQUM7UUFDM0IsV0FBTSxHQUFXLEVBQUUsQ0FBQztRQUNwQixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLFVBQUssR0FBVyxRQUFRLENBQUM7UUFDekIsbUJBQWMsR0FBVyxFQUFFLENBQUM7UUFDNUIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsMEJBQXFCLEdB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QUs7NEJBQ0wsS0FBSzt3QkFDTCxLQUFLO29DQUNMLEtBQUs7NkJBQ0wsS0FBSzswQkFDTCxLQUFLOzJCQUNMLEtBQUs7eUJBQ0wsS0FBSzt1QkFDTCxNQUFNOzRCQUNOLFNBQVMsU0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOzZCQUNyQyxTQUFTLFNBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO3VCQUM3QyxTQUFTLFNBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGlvblBvc2l0aW9uUGFpciwgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1pcy1kcm9wZG93blwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9kcm9wZG93bi5jb21wb25lbnQuc2Nzc1wiXSxcbiAgXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgaXNPcGVuID0gZmFsc2U7XG4gIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNTZWFyY2hJbnB1dEZvY3VzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2VhcmNoSW5wdXQ6IHN0cmluZyA9IFwiXCI7XG4gIHNlYXJjaERhdGE6IERyb3Bkb3duSXRlbVtdID0gW107XG4gIHZpc2libGVJdGVtcyA9IDEwO1xuICBASW5wdXQoKSBkYXRhOiBEcm9wZG93bkl0ZW1bXSAgPSBbXTtcbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9IFwiU2VsZWN0XCI7XG4gIEBJbnB1dCgpIGl0ZW1TaXplRm9yQ2RrOiBudW1iZXIgPSAzNjtcbiAgQElucHV0KCkgc2hvd09ubHlJY29uOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhpZ2xpZ2h0U2VsZWN0ZWRWYWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBkcm9wZG93bkxpc3RIZWlnaHQ6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIGRyb3Bkb3duTGlzdFdpZHRoOiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSBkcm9wZG93bkxpc3RQb3NpdGlvbjogXCJMZWZ0XCIgfCBcIlJpZ2h0XCIgPSBcIkxlZnRcIjtcbiAgQElucHV0KCkgY29uZmlnXG4gIEBJbnB1dCgpIHNlYXJjaEVuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBzZWxlY3RlZEl0ZW06IERyb3Bkb3duSXRlbSA9IHsgdmFsdWU6IFwiXCIsIGxhYmVsOiBcIlwiIH07XG4gIEBJbnB1dCgpIG5vRGF0YU1lc3NhZ2U6IHN0cmluZyA9IFwiTm8gRGF0YVwiO1xuICBASW5wdXQoKSBtdWx0aUxpbmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgYWRkaXRpb25hbEluZm9NZXNzYWdlIDogc3RyaW5nO1xuICBASW5wdXQoKSBzY3JvbGxJbnRvVmlldzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzZWFyY2hMYWJlbDpzdHJpbmcgPSBcIlNlYXJjaCBLZXl3b3JkXCI7XG4gIEBJbnB1dCgpIGN1c3RvbVN0eWxlczogIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIEBJbnB1dCgpIGFjdGl2ZUl0ZW06IGJvb2xlYW4gPSBmYWxzZTtcbiAgQE91dHB1dCgpIG9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQFZpZXdDaGlsZChcInNlbGVjdFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgc2VsZWN0RWxlbWVudDogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZChcInBvcHVwQ29udGFpbmVyXCIsIHsgc3RhdGljOiBmYWxzZSB9KSBwb3B1cENvbnRhaW5lcjogVGVtcGxhdGVSZWY8RWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0KSB2aWV3UG9ydDogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0O1xuICBwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZVJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LCBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHt9XG4gIG5nT25Jbml0KCkge1xuICB9XG5cbiAgZ2V0SWNvblN0eWxlcyhpdGVtOiBhbnksIGFjdGl2ZUl0ZW06IGJvb2xlYW4pOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ2NvbG9yJzogaXRlbSAmJiBhY3RpdmVJdGVtID8gJyMwOTM3QjInIDogJycsXG4gICAgICAnZm9udC13ZWlnaHQnOiBpdGVtICYmIGFjdGl2ZUl0ZW0gPyAnNzAwJyA6ICcnXG4gICAgfTtcbiAgfVxuXG5zZXRVcEFzeW5jRGF0YVNlYXJjaCgpXG57XG4gIGlmKHRoaXMuY29uZmlnKVxuICB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5jb25maWcuZGF0YVN0cmVhbSgpLnBpcGUoKS5zdWJzY3JpYmUocmVzPT4ge1xuICAgICAgICAgIHRoaXMuZGF0YSA9IHJlc1xuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgICB9KVxuICB9XG4gIGNvbnN0IGluZGV4ID0gdGhpcy5kYXRhLmZpbmRJbmRleCgoZGF0YUl0ZW0pID0+IGRhdGFJdGVtLnZhbHVlID09PSB0aGlzLnNlbGVjdGVkSXRlbS52YWx1ZSk7XG4gIGlmICh0aGlzLnNjcm9sbEludG9WaWV3KVxuICAgIHRoaXMudmlld1BvcnQuc2Nyb2xsVG9JbmRleChpbmRleCwgJ3Ntb290aCcpO1xufVxuICBmaWx0ZXJCeVZhbHVlKGFycmF5LCBzdHJpbmc6IHN0cmluZykge1xuICAgIHJldHVybiBhcnJheS5maWx0ZXIobyA9PiBvLmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc3RyaW5nLnRvTG93ZXJDYXNlKCkudHJpbSgpKSk7XG4gIH1cblxuICBmaWx0ZXJCeVByaW1hcnlUZXh0KGFycmF5LCBzdHJpbmc6IHN0cmluZykge1xuICAgIHJldHVybiBhcnJheS5maWx0ZXIobyA9PiBvLmxhYmVsLnByaW1hcnlUZXh0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc3RyaW5nLnRvTG93ZXJDYXNlKCkudHJpbSgpKSk7XG4gIH1cbiAgc2VhcmNoSW5wdXRPbkNoYW5nZShuZXdWYWx1ZSkge1xuICAgIHRoaXMuc2VhcmNoSW5wdXQgPSBuZXdWYWx1ZTtcbiAgICBpZiAobmV3VmFsdWUpIHtcbiAgICAgIHRoaXMuc2VhcmNoRGF0YSA9IHRoaXMubXVsdGlMaW5lID8gdGhpcy5maWx0ZXJCeVByaW1hcnlUZXh0KHRoaXMuZGF0YSwgbmV3VmFsdWUpIDogdGhpcy5maWx0ZXJCeVZhbHVlKHRoaXMuZGF0YSwgbmV3VmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlYXJjaERhdGEgPSBbXTtcbiAgICAgIHRoaXMuc2VhcmNoSW5wdXQgPSBcIlwiO1xuICAgIH1cbiAgfVxuICBzZWFyY2hJbnB1dEZvY3VzZWQoaXNGb2N1c2VkOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc1NlYXJjaElucHV0Rm9jdXNlZCA9IGlzRm9jdXNlZDtcbiAgfVxuICBzZWFyY2hJbnB1dENhbmNlbGVkKGV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5zZWFyY2hJbnB1dCA9IFwiXCI7XG4gICAgdGhpcy5pc1NlYXJjaElucHV0Rm9jdXNlZCA9IGZhbHNlO1xuICB9XG4gIHRvZ2dsZURyb3Bkb3duKCkge1xuICAgIHRoaXMuaXNPcGVuID0gIXRoaXMuaXNPcGVuO1xuICAgIGlmICh0aGlzLmlzT3BlbikgdGhpcy5vcGVuRHJvcGRvd24odGhpcy5wb3B1cENvbnRhaW5lciwgdGhpcy5zZWxlY3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIGVsc2UgdGhpcy5vbkNhbmNlbCgpO1xuICB9XG4gIHByaXZhdGUgb3BlbkRyb3Bkb3duKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxFbGVtZW50Piwgb3JpZ2luOiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGNvbnN0IHBvc2l0aW9uc0JvdHRvbSA9IFtcbiAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKHsgb3JpZ2luWDogXCJzdGFydFwiLCBvcmlnaW5ZOiBcImJvdHRvbVwiIH0sIHsgb3ZlcmxheVg6IFwic3RhcnRcIiwgb3ZlcmxheVk6IFwidG9wXCIgfSwgMCwgNCksXG4gICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcih7IG9yaWdpblg6IFwiZW5kXCIsIG9yaWdpblk6IFwiYm90dG9tXCIgfSwgeyBvdmVybGF5WDogXCJlbmRcIiwgb3ZlcmxheVk6IFwidG9wXCIgfSwgMCwgNClcbiAgICBdO1xuICAgIGNvbnN0IHBvc2l0aW9uc1RvcCA9IFtcbiAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKHsgb3JpZ2luWDogXCJzdGFydFwiLCBvcmlnaW5ZOiBcInRvcFwiIH0sIHsgb3ZlcmxheVg6IFwic3RhcnRcIiwgb3ZlcmxheVk6IFwiYm90dG9tXCIgfSwgMCwgLTQpLFxuICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoeyBvcmlnaW5YOiBcImVuZFwiLCBvcmlnaW5ZOiBcInRvcFwiIH0sIHsgb3ZlcmxheVg6IFwiZW5kXCIsIG92ZXJsYXlZOiBcImJvdHRvbVwiIH0sIDAsIC00KVxuICAgIF07XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVxuICAgICAgLnBvc2l0aW9uKClcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKG9yaWdpbilcbiAgICAgIC53aXRoUG9zaXRpb25zKFtcbiAgICAgICAgLi4uKHRoaXMuZHJvcGRvd25MaXN0UG9zaXRpb24gPT09IFwiUmlnaHRcIiA/IHBvc2l0aW9uc0JvdHRvbS5yZXZlcnNlKCkgOiBwb3NpdGlvbnNCb3R0b20pLFxuICAgICAgICAuLi4odGhpcy5kcm9wZG93bkxpc3RQb3NpdGlvbiA9PT0gXCJSaWdodFwiID8gcG9zaXRpb25zVG9wLnJldmVyc2UoKSA6IHBvc2l0aW9uc1RvcClcbiAgICAgIF0pXG4gICAgICAud2l0aFB1c2godHJ1ZSk7XG4gICAgY29uc3QgY29uZmlncyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgYmFja2Ryb3BDbGFzczogXCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiLFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICB3aWR0aDogb3JpZ2luLmNsaWVudFdpZHRoXG4gICAgfSk7XG4gICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShjb25maWdzKTtcbiAgICBpZiAodGhpcy5kcm9wZG93bkxpc3RXaWR0aCkgdGhpcy5vdmVybGF5UmVmLnVwZGF0ZVNpemUoeyB3aWR0aDogdGhpcy5kcm9wZG93bkxpc3RXaWR0aCB9KTtcbiAgICBpZiAodGhpcy5kcm9wZG93bkxpc3RIZWlnaHQpIHRoaXMub3ZlcmxheVJlZi51cGRhdGVTaXplKHsgaGVpZ2h0OiB0aGlzLmRyb3Bkb3duTGlzdEhlaWdodCB9KTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0ZW1wbGF0ZSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKSk7XG4gICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIHRoaXMub25DYW5jZWwoKTtcbiAgICB9KTtcbiAgfVxuICBzZWxlY3RJdGVtKGl0ZW0pIHtcbiAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoaXRlbSk7ICBcbiAgICB0aGlzLnRvZ2dsZURyb3Bkb3duKCk7XG4gIH1cbiAgb25DYW5jZWwoKSB7XG4gICAgdGhpcy5pc1NlYXJjaElucHV0Rm9jdXNlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgdGhpcy5vdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgICB0aGlzLnNlYXJjaElucHV0ID0gXCJcIjtcbiAgfVxufVxuZXhwb3J0IGludGVyZmFjZSBEcm9wZG93bkl0ZW0ge1xuICBsYWJlbDogYW55IDtcbiAgdmFsdWU6IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBjdXN0b21JY29uPzogc3RyaW5nXG59XG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkl0ZW1MYWJlbCB7XG4gIHByaW1hcnlUZXh0ID86IHN0cmluZztcbiAgc2Vjb25kYXJ5VGV4dCA/OiBzdHJpbmc7XG59XG4iXX0=
@@ -5,6 +5,7 @@ import { DropdownComponent } from "./dropdown.component";
5
5
  import { OverlayModule } from "@angular/cdk/overlay";
6
6
  import { ScrollingModule } from "@angular/cdk-experimental/scrolling";
7
7
  import { LoaderModule } from "mis-crystal-design-system/loader";
8
+ import { CalculateHeightPipe } from './calculate-height.pipe';
8
9
  export class DropdownModule {
9
10
  static forRoot() {
10
11
  return { ngModule: DropdownModule, providers: [] };
@@ -12,9 +13,9 @@ export class DropdownModule {
12
13
  }
13
14
  DropdownModule.decorators = [
14
15
  { type: NgModule, args: [{
15
- declarations: [DropdownComponent],
16
+ declarations: [DropdownComponent, CalculateHeightPipe],
16
17
  imports: [CommonModule, FormsModule, OverlayModule, ScrollingModule, LoaderModule],
17
18
  exports: [DropdownComponent]
18
19
  },] }
19
20
  ];
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFPaEUsTUFBTSxPQUFPLGNBQWM7SUFDekIsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDckQsQ0FBQzs7O1lBUkYsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUNqQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUMsWUFBWSxDQUFDO2dCQUNqRixPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzthQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gXCIuL2Ryb3Bkb3duLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay1leHBlcmltZW50YWwvc2Nyb2xsaW5nXCI7XG5pbXBvcnQgeyBMb2FkZXJNb2R1bGUgfSBmcm9tIFwibWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS9sb2FkZXJcIjtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbRHJvcGRvd25Db21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgT3ZlcmxheU1vZHVsZSwgU2Nyb2xsaW5nTW9kdWxlLExvYWRlck1vZHVsZV0sXG4gIGV4cG9ydHM6IFtEcm9wZG93bkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25Nb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPERyb3Bkb3duTW9kdWxlPiB7XG4gICAgcmV0dXJuIHsgbmdNb2R1bGU6IERyb3Bkb3duTW9kdWxlLCBwcm92aWRlcnM6IFtdIH07XG4gIH1cbn1cbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFPOUQsTUFBTSxPQUFPLGNBQWM7SUFDekIsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDckQsQ0FBQzs7O1lBUkYsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLGlCQUFpQixFQUFFLG1CQUFtQixDQUFDO2dCQUN0RCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUMsWUFBWSxDQUFDO2dCQUNqRixPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzthQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gXCIuL2Ryb3Bkb3duLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay1leHBlcmltZW50YWwvc2Nyb2xsaW5nXCI7XG5pbXBvcnQgeyBMb2FkZXJNb2R1bGUgfSBmcm9tIFwibWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS9sb2FkZXJcIjtcbmltcG9ydCB7IENhbGN1bGF0ZUhlaWdodFBpcGUgfSBmcm9tICcuL2NhbGN1bGF0ZS1oZWlnaHQucGlwZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0Ryb3Bkb3duQ29tcG9uZW50LCBDYWxjdWxhdGVIZWlnaHRQaXBlXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIE92ZXJsYXlNb2R1bGUsIFNjcm9sbGluZ01vZHVsZSxMb2FkZXJNb2R1bGVdLFxuICBleHBvcnRzOiBbRHJvcGRvd25Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxEcm9wZG93bk1vZHVsZT4ge1xuICAgIHJldHVybiB7IG5nTW9kdWxlOiBEcm9wZG93bk1vZHVsZSwgcHJvdmlkZXJzOiBbXSB9O1xuICB9XG59XG4iXX0=
@@ -2,4 +2,5 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS1kcm9wZG93bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2Ryb3Bkb3duL21pcy1jcnlzdGFsLWRlc2lnbi1zeXN0ZW0tZHJvcGRvd24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
5
+ export { CalculateHeightPipe as ɵa } from './calculate-height.pipe';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS1kcm9wZG93bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2Ryb3Bkb3duL21pcy1jcnlzdGFsLWRlc2lnbi1zeXN0ZW0tZHJvcGRvd24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQztBQUV4QixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0seUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuXG5leHBvcnQge0NhbGN1bGF0ZUhlaWdodFBpcGUgYXMgybVhfSBmcm9tICcuL2NhbGN1bGF0ZS1oZWlnaHQucGlwZSc7Il19
@@ -160,7 +160,7 @@ export class TimePickerComponent {
160
160
  }
161
161
  roundedEpoch = offset >= this.interval / 2 ? (moment(chosenTimeEpoch).subtract(this.interval - offset, "m")).valueOf() : (moment(chosenTimeEpoch).add(offset, "m")).valueOf();
162
162
  // finding the index of element that needs to be highlighted
163
- if (moment(chosenTimeEpoch).format(this.timeFormat) > moment(this.dateAsEpoch).endOf("d").subtract(this.interval, "m").format(this.timeFormat)) {
163
+ if (chosenTimeEpoch > moment(this.dateAsEpoch).endOf("d").subtract(this.interval, "m").valueOf()) {
164
164
  this.isHighlighted = this.timeIntervals.length - 1;
165
165
  }
166
166
  else {
@@ -245,4 +245,4 @@ TimePickerComponent.propDecorators = {
245
245
  tooltipDirective: [{ type: ViewChild, args: [ToolTipDirective,] }],
246
246
  timeIntervalRefs: [{ type: ViewChildren, args: ["timeInterval",] }]
247
247
  };
248
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy90aW1lcGlja2VyL3RpbWVwaWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBZ0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUksT0FBTyxLQUFLLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUUxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQVFyRSxNQUFNLE9BQU8sbUJBQW1CO0lBMEM5QjtRQXZDQSxlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGtCQUFhLEdBQVcsQ0FBQyxDQUFDO1FBQzFCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0Isa0JBQWEsR0FBYSxFQUFFLENBQUM7UUFDN0IsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0Isa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFDckIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFHekIsYUFBUSxHQUFXLGNBQWMsQ0FBQztRQUNsQyxXQUFNLEdBQVcsYUFBYSxDQUFDO1FBQy9CLGVBQVUsR0FBVyxPQUFPLENBQUM7UUFFN0IsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUN0QixnQkFBVyxHQUFXLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXpDLGtCQUFhLEdBQVksSUFBSSxDQUFDO1FBQzlCLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBQ3JDLGtCQUFhLEdBQVksSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUdqQyxrQkFBYSxHQUFZLElBQUksQ0FB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QUFLO3lCQUNMLEtBQUs7NEJBQ0wsS0FBSzt1QkFDTCxLQUFLOzBCQUNMLEtBQUs7NEJBQ0wsS0FBSzs0QkFDTCxLQUFLOzBCQUNMLEtBQUs7d0JBRUwsS0FBSztzQkFDTCxLQUFLOzRCQUNMLEtBQUs7MEJBRUwsTUFBTTtvQkFDTixTQUFTLFNBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtrQ0FDbkMsU0FBUyxTQUFDLG1CQUFtQjsrQkFDN0IsU0FBUyxTQUFDLGdCQUFnQjsrQkFHMUIsWUFBWSxTQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3Q2hpbGRyZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gXCJtb21lbnQtdGltZXpvbmVcIjtcbmltcG9ydCB7IElUaW1lIH0gZnJvbSBcIi4vdGltZS5uYW1lc3BhY2VcIjtcbmltcG9ydCB7IFRpbWVwaWNrZXJEaXJlY3RpdmUgfSBmcm9tIFwiLi90aW1lcGlja2VyLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgVG9vbFRpcERpcmVjdGl2ZSB9IGZyb20gXCJtaXMtY3J5c3RhbC1kZXNpZ24tc3lzdGVtL3Rvb2x0aXBcIjtcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWlzLXRpbWVwaWNrZXJcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90aW1lcGlja2VyLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi90aW1lcGlja2VyLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgY3VyclRpbWUhOiBzdHJpbmc7XG4gIGNob3NlblRpbWU6IHN0cmluZztcbiAgb3BlblN0YXR1czogYm9vbGVhbiA9IGZhbHNlO1xuICBpc0hpZ2hsaWdodGVkOiBudW1iZXIgPSAwO1xuICBpc0ludmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgdGltZUludGVydmFsczogc3RyaW5nW10gPSBbXTtcbiAgc2hvdWxkU2Nyb2xsOiBib29sZWFuID0gZmFsc2U7XG4gIHVzZXJJbnB1dEZsYWc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZ2l2ZW5UaW1lRmxhZzogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGNsb2NrRm9ybWF0OiBudW1iZXIgPSAxMjtcbiAgdGltZUZvcm1hdCE6IHN0cmluZztcbiAgXG4gIEBJbnB1dCgpIHRpbWV6b25lOiBzdHJpbmcgPSBcIkFzaWEvS29sa2F0YVwiO1xuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyA9IFwibWF4LWNvbnRlbnRcIjtcbiAgQElucHV0KCkgaW5wdXRXaWR0aDogc3RyaW5nID0gXCIxMDBweFwiO1xuICBASW5wdXQoKSBkcm9wZG93bldpZHRoPzogc3RyaW5nO1xuICBASW5wdXQoKSBpbnRlcnZhbDogbnVtYmVyID0gMTU7XG4gIEBJbnB1dCgpIGRhdGVBc0Vwb2NoOiBudW1iZXIgPSBtb21lbnQoKS52YWx1ZU9mKCk7XG4gIEBJbnB1dCgpIGZpcnN0SW50ZXJ2YWwhOiBudW1iZXI7XG4gIEBJbnB1dCgpIHJhbmdlVmFsaWRpdHk6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBzaG93VG9vbHRpcDogYm9vbGVhbiA9IHRydWU7XG4gIGRpc3BheVRvb2xUaXA6IGJvb2xlYW4gPSB0aGlzLnNob3dUb29sdGlwO1xuICBASW5wdXQoKSBnaXZlblRpbWU6IG51bWJlcjtcbiAgQElucHV0KCkgbWluVGltZT86IG51bWJlcjtcbiAgQElucHV0KCkgdHJpZ2dlckNoYW5nZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgQE91dHB1dCgpIHRpbWVFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxJVGltZT4oKTtcbiAgQFZpZXdDaGlsZChcImlucHV0XCIsIHsgc3RhdGljOiB0cnVlIH0pIGlucHV0OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKFRpbWVwaWNrZXJEaXJlY3RpdmUpIHRpbWVwaWNrZXJEaXJlY3RpdmU6IFRpbWVwaWNrZXJEaXJlY3RpdmU7XG4gIEBWaWV3Q2hpbGQoVG9vbFRpcERpcmVjdGl2ZSkgdG9vbHRpcERpcmVjdGl2ZTogVG9vbFRpcERpcmVjdGl2ZTtcblxuICAvLyBnZXRzIGFsbCB0aGUgbGkgZWxlbWVudHMgZnJvbSB0aGUgZHJvcGRvd24gYW5kIHNjcm9sbHMgdG8gdGhlIGhpZ2hsaWdodGVkIGVsZW1lbnRcbiAgQFZpZXdDaGlsZHJlbihcInRpbWVJbnRlcnZhbFwiKSBzZXQgdGltZUludGVydmFsUmVmcyhpbnRlcnZhbHMpIHtcbiAgICBpbnRlcnZhbHMuZm9yRWFjaChpbnRlcnZhbCA9PiB7XG4gICAgICBpZiAoaW50ZXJ2YWwubmF0aXZlRWxlbWVudC5jbGFzc0xpc3RbMF0gPT09IFwiaGlnaGxpZ2h0XCIpIHtcbiAgICAgICAgY29uc3QgaGlnaGxpZ2h0ZWQgPSBpbnRlcnZhbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IGhpZ2hsaWdodGVkLnNjcm9sbEludG9WaWV3KHsgYmxvY2s6IFwiY2VudGVyXCIgfSkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKXt9XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmKCF0aGlzLmdpdmVuVGltZSAmJiAhdGhpcy5taW5UaW1lKSB7XG4gICAgICB0aGlzLmNob3NlblRpbWUgPSBtb21lbnQodGhpcy5maXJzdEludGVydmFsKS5mb3JtYXQodGhpcy50aW1lRm9ybWF0KTtcbiAgICAgIGxldCBjaG9zZW5UaW1lTW9tZW50ID0gdGhpcy5nZXRNb21lbnQodGhpcy5jaG9zZW5UaW1lKTtcbiAgICAgIHRoaXMuZW1pdFRpbWUoe1xuICAgICAgICB2YWxpZDogIXRoaXMuaXNJbnZhbGlkLFxuICAgICAgICB0aW1lOiB0aGlzLmNob3NlblRpbWUsXG4gICAgICAgIGVwb2NoOiBjaG9zZW5UaW1lTW9tZW50LnZhbHVlT2YoKVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy50aW1lRm9ybWF0ID0gdGhpcy5jbG9ja0Zvcm1hdCA9PT0gMTIgPyBcImhoOm1tIGFcIiA6IFwiSEg6bW1cIjtcbiAgICBtb21lbnQudHouc2V0RGVmYXVsdCh0aGlzLnRpbWV6b25lKTtcblxuICAgIGlmICh0aGlzLnRpbWVGb3JtYXQpIHtcbiAgICAgIGxldCBjaG9zZW5UaW1lTW9tZW50ID0gdGhpcy5nZXRNb21lbnQodGhpcy5jaG9zZW5UaW1lKTtcbiAgICBcbiAgICAgIC8vIGlmIHRoZSBmaXJzdCBpbnRlcnZhbCBpcyA+PSB0aGUgY2hvc2VuIHRpbWVcbiAgICAgIC8vIHRoZW4gb25seSB1cGRhdGUgdGhlIHZhbHVlIG9mIGNob3NlbiB0aW1lXG4gICAgICAvLyBlbHNlIGl0IHJlbWFpbnMgdGhlIHNhbWVcbiAgICAgIGlmICh0aGlzLmZpcnN0SW50ZXJ2YWwgPj0gY2hvc2VuVGltZU1vbWVudC52YWx1ZU9mKCkgJiYgdGhpcy5yYW5nZVZhbGlkaXR5ICYmICF0aGlzLnVzZXJJbnB1dEZsYWcpIHtcbiAgICAgICAgdGhpcy5jaG9zZW5UaW1lID0gbW9tZW50KHRoaXMuZmlyc3RJbnRlcnZhbCkuZm9ybWF0KHRoaXMudGltZUZvcm1hdCk7XG4gICAgICAgIGNob3NlblRpbWVNb21lbnQgPSB0aGlzLmdldE1vbWVudCh0aGlzLmNob3NlblRpbWUpXG4gICAgICB9XG5cbiAgICAgIGlmKCh0aGlzLmdpdmVuVGltZUZsYWcgJiYgdGhpcy5naXZlblRpbWUpIHx8IHRoaXMubWluVGltZSApIHtcbiAgICAgICAgdGhpcy5jaG9zZW5UaW1lID0gbW9tZW50KHRoaXMubWluVGltZSB8fCB0aGlzLmdpdmVuVGltZSkuZm9ybWF0KHRoaXMudGltZUZvcm1hdCk7XG4gICAgICB9XG4gICAgICBjaG9zZW5UaW1lTW9tZW50ID0gdGhpcy5nZXRNb21lbnQodGhpcy5jaG9zZW5UaW1lKVxuXG4gICAgICBpZiAoIXRoaXMudXNlcklucHV0RmxhZykgdGhpcy5wb3B1bGF0ZURyb3Bkb3duKCk7XG4gICAgICB0aGlzLnVzZXJJbnB1dEZsYWcgPSBmYWxzZTtcbiAgICAgIFxuICAgICAgaWYodGhpcy5jaG9zZW5UaW1lKSB7XG4gICAgICAgIHRoaXMuaXNJbnZhbGlkID0gIXRoaXMuY2hlY2tUaW1lVmFsaWRpdHkodGhpcy5jaG9zZW5UaW1lLnRyaW0oKSk7XG4gICAgICAgIHRoaXMuZW1pdFRpbWUoe1xuICAgICAgICAgIHZhbGlkOiAhdGhpcy5pc0ludmFsaWQsXG4gICAgICAgICAgdGltZTogdGhpcy5jaG9zZW5UaW1lLFxuICAgICAgICAgIGVwb2NoOiBjaG9zZW5UaW1lTW9tZW50LnZhbHVlT2YoKVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jYWxjdWxhdGVDbG9zZXN0SW50ZXJ2YWwodGhpcy5jaG9zZW5UaW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBlbWl0VGltZShkYXRhOiBJVGltZSk6IHZvaWQge1xuICAgIHRoaXMudGltZUVtaXR0ZXIuZW1pdChkYXRhKTtcbiAgfVxuXG4gIC8vIGZ1bmN0aW9uIHRvIGdldCBtb21lbnQgb2JqZWN0IHdoZW4gdGltZSBpcyBnaXZlbiBpbiBzdHJpbmdcbiAgZ2V0TW9tZW50KHRpbWU6IHN0cmluZyl7XG4gICAgcmV0dXJuIG1vbWVudChgJHttb21lbnQodGhpcy5kYXRlQXNFcG9jaCkuZm9ybWF0KFwiREQtTU0tWVlZWVwiKX0gJHt0aW1lfWAsIGAnREQtTU0tWVlZWScgJHt0aGlzLnRpbWVGb3JtYXR9YClcbiAgfVxuXG4gIGNsb3NlRHJvcGRvd24oKSB7XG4gICAgdGhpcy5kaXNwYXlUb29sVGlwID0gZmFsc2U7XG4gICAgdGhpcy51c2VySW5wdXRGbGFnID0gZmFsc2U7XG4gICAgdGhpcy5vcGVuU3RhdHVzID0gZmFsc2U7XG4gICAgaWYgKHRoaXMudGltZXBpY2tlckRpcmVjdGl2ZSkgdGhpcy50aW1lcGlja2VyRGlyZWN0aXZlLmRlc3Ryb3lPdmVybGF5KCk7XG4gIH1cblxuICAvLyB0b2dnbGUgdGltZXBpY2tlciBkcm9wZG93blxuICBvcGVuRHJvcGRvd24oKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwYXlUb29sVGlwID0gdHJ1ZTtcbiAgICB0aGlzLm9wZW5TdGF0dXMgPSB0cnVlO1xuICB9XG5cbiAgY2hlY2tUaW1lVmFsaWRpdHkodGltZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgUkUxMiA9IC9eKChbMF1bMS05XXwxWzAtMl0pOihbMC01XVswLTldKSggKT8oYW18cG18QU18UE0pKSQvaTtcbiAgICBjb25zdCBSRTI0ID0gL14oWzAxXVswLTldfDJbMC0zXSk6WzAtNV1bMC05XSQvO1xuICAgIGNvbnN0IFJFID0gdGhpcy5jbG9ja0Zvcm1hdCA9PT0gMTIgPyBSRTEyIDogUkUyNDtcblxuICAgIGNvbnN0IHRpbWVNb21lbnQgPSB0aGlzLmdldE1vbWVudCh0aW1lKTtcbiAgICBsZXQgZmxhZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy8gaWYgdGhlIGZpcnN0IGludGVydmFsIGlzIHNldCB0byB0aGUgc3RhcnQgb2YgdGhlIGRheVxuICAgIC8vIG9yIGEgdGltZSBpcyBhbHJlYWR5IHByb3ZpZGVkIHRvIHRoZSBjb21wb25lbnQgdG8gc2hvd1xuICAgIC8vIHRoZW4gd2UgZG9uJ3QgY2hlY2sgaXRzIHZhbGlkaXR5IGFnYWluc3QgdGhlIGN1cnJlbnQgdGltZVxuICAgIGlmIChcbiAgICAgIHRoaXMubWluVGltZSB8fCBcbiAgICAgIHRoaXMuZ2l2ZW5UaW1lIHx8XG4gICAgICAodGhpcy5maXJzdEludGVydmFsICYmXG4gICAgICBtb21lbnQodGhpcy5maXJzdEludGVydmFsKS5mb3JtYXQodGhpcy50aW1lRm9ybWF0KS52YWx1ZU9mKCkgPT09IG1vbWVudCgpLnN0YXJ0T2YoXCJkXCIpLmZvcm1hdCh0aGlzLnRpbWVGb3JtYXQpLnZhbHVlT2YoKSlcbiAgICApIHtcbiAgICAgIGZsYWcgPSB0aW1lLm1hdGNoKFJFKSA/IHRydWUgOiBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmxhZyA9IHRpbWUubWF0Y2goUkUpICYmIHRpbWVNb21lbnQuZGlmZihtb21lbnQoKSwgXCJtXCIpID49IDAgPyB0cnVlOiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmxhZztcbiAgfVxuXG4gIC8vIHVwZGF0ZSBjaG9zZW4gdGltZSBhcyBzb29uIGFzIHRoZSB1c2VyIGNsaWNrcyBvbiBhbiBpbnRlcnZhbFxuICBvblRpbWVTZWxlY3QodGltZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5pc0ludmFsaWQgPSAhdGhpcy5jaGVja1RpbWVWYWxpZGl0eSh0aW1lLnRyaW0oKSk7XG4gICAgaWYgKCF0aGlzLmlzSW52YWxpZCkge1xuICAgICAgdGhpcy5jaG9zZW5UaW1lID0gdGltZTtcbiAgICAgIHRoaXMuY2FsY3VsYXRlQ2xvc2VzdEludGVydmFsKHRoaXMuY2hvc2VuVGltZSk7XG4gICAgfVxuXG4gICAgY29uc3QgdGltZU1vbWVudCA9IHRoaXMuZ2V0TW9tZW50KHRpbWUpO1xuICAgIHRoaXMuZW1pdFRpbWUoe1xuICAgICAgdmFsaWQ6ICF0aGlzLmlzSW52YWxpZCxcbiAgICAgIHRpbWU6IHRpbWUsXG4gICAgICBlcG9jaDogdGltZU1vbWVudC52YWx1ZU9mKCkgXG4gICAgfSk7XG4gICAgdGhpcy5vcGVuU3RhdHVzID0gZmFsc2U7XG4gICAgaWYgKHRoaXMudGltZXBpY2tlckRpcmVjdGl2ZSkgdGhpcy50aW1lcGlja2VyRGlyZWN0aXZlLmRlc3Ryb3lPdmVybGF5KCk7XG4gIH1cblxuICAvLyBjaGVja3MgdmFsaWRpdHkgb2YgdGltZSBvbiBpbnB1dCBjaGFuZ2UgYW5kIGNhbGN1bGF0ZXMgdGhlIGNsb3Nlc3QgaW50ZXJ2YWxcbiAgb25UaW1lQ2hhbmdlKHRpbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuaXNJbnZhbGlkID0gIXRoaXMuY2hlY2tUaW1lVmFsaWRpdHkodGltZS50cmltKCkpO1xuXG4gICAgaWYgKCF0aGlzLmlzSW52YWxpZCkge1xuICAgICAgdGhpcy51c2VySW5wdXRGbGFnID0gdHJ1ZTtcbiAgICAgIHRoaXMub3BlblN0YXR1cyA9IGZhbHNlO1xuICAgICAgaWYgKHRoaXMudGltZXBpY2tlckRpcmVjdGl2ZSkgdGhpcy50aW1lcGlja2VyRGlyZWN0aXZlLmRlc3Ryb3lPdmVybGF5KCk7XG4gICAgICB0aGlzLmNhbGN1bGF0ZUNsb3Nlc3RJbnRlcnZhbCh0aW1lKTtcbiAgICB9XG4gICAgY29uc3QgdGltZU1vbWVudCA9IHRoaXMuZ2V0TW9tZW50KHRpbWUpO1xuICAgIHRoaXMuZW1pdFRpbWUoe1xuICAgICAgdmFsaWQ6ICF0aGlzLmlzSW52YWxpZCxcbiAgICAgIHRpbWU6IHRpbWUsXG4gICAgICBlcG9jaDogdGltZU1vbWVudC52YWx1ZU9mKCkgXG4gICAgfSk7XG4gIH1cblxuICBjYWxjdWxhdGVDbG9zZXN0SW50ZXJ2YWwodGltZTogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IHJvdW5kZWRFcG9jaDogbnVtYmVyO1xuICAgIC8vIENvbnZlcnRpbmcgdGltZSBhbmQgZGF0ZSB0byBhIG1vbWVudCBvYmplY3QgXG4gICAgY29uc3QgY2hvc2VuRGF0ZSA9IG1vbWVudCh0aGlzLmRhdGVBc0Vwb2NoKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpOyAvLyAwNS0wMS0yMDI0XG4gICAgY29uc3QgcGFyc2VkVGltZVdpdGhEYXRlID0gbW9tZW50KGAke2Nob3NlbkRhdGV9ICR7dGltZX1gLCBgREQtTU0tWVlZWSAke3RoaXMudGltZUZvcm1hdH1gKTtcbiAgICAvLyBDb252ZXJ0aW5nIG1vbWVudCBvYmplY3QgdG8gZXBvY2hcbiAgICBjb25zdCBjaG9zZW5UaW1lRXBvY2ggPSBwYXJzZWRUaW1lV2l0aERhdGUudmFsdWVPZigpO1xuICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuaW50ZXJ2YWwgLSAobW9tZW50KGNob3NlblRpbWVFcG9jaCkubWludXRlcygpICUgdGhpcy5pbnRlcnZhbCk7XG5cbiAgICBpZiAodGhpcy5taW5UaW1lICYmICF0aGlzLmdpdmVuVGltZSkge1xuICAgICAgdGhpcy5pc0hpZ2hsaWdodGVkID0gMDtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcm91bmRlZEVwb2NoID0gb2Zmc2V0ID49IHRoaXMuaW50ZXJ2YWwgLyAyID8gKG1vbWVudChjaG9zZW5UaW1lRXBvY2gpLnN1YnRyYWN0KHRoaXMuaW50ZXJ2YWwgLSBvZmZzZXQsIFwibVwiKSkudmFsdWVPZigpIDogKG1vbWVudChjaG9zZW5UaW1lRXBvY2gpLmFkZCggb2Zmc2V0LCBcIm1cIikpLnZhbHVlT2YoKTtcblxuICAgIC8vIGZpbmRpbmcgdGhlIGluZGV4IG9mIGVsZW1lbnQgdGhhdCBuZWVkcyB0byBiZSBoaWdobGlnaHRlZFxuICAgIGlmIChtb21lbnQoY2hvc2VuVGltZUVwb2NoKS5mb3JtYXQodGhpcy50aW1lRm9ybWF0KSA+IG1vbWVudCh0aGlzLmRhdGVBc0Vwb2NoKS5lbmRPZihcImRcIikuc3VidHJhY3QodGhpcy5pbnRlcnZhbCwgXCJtXCIpLmZvcm1hdCh0aGlzLnRpbWVGb3JtYXQpKSB7XG4gICAgICB0aGlzLmlzSGlnaGxpZ2h0ZWQgPSB0aGlzLnRpbWVJbnRlcnZhbHMubGVuZ3RoIC0gMTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgcm91bmRlZEVwb2NoTW9tZW50ID0gbW9tZW50KHJvdW5kZWRFcG9jaCk7XG4gICAgICB0aGlzLmlzSGlnaGxpZ2h0ZWQgPSB0aGlzLnRpbWVJbnRlcnZhbHMuZmluZEluZGV4KGludGVydmFsID0+IHtcbiAgICAgICAgY29uc3QgaW50ZXJ2YWxPYmogPSBtb21lbnQoYCR7Y2hvc2VuRGF0ZX0gJHtpbnRlcnZhbH1gLCBgREQtTU0tWVlZWSAke3RoaXMudGltZUZvcm1hdH1gKTtcbiAgICAgICAgcmV0dXJuIGludGVydmFsT2JqLmlzU2FtZShyb3VuZGVkRXBvY2hNb21lbnQpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cblxuICAvLyBwb3B1bGF0ZXMgdGhlIGRyb3Bkb3duIGFjY29yZGluZyB0byB0aGUgZmlyc3QgaW50ZXJ2YWwgcmVjZWl2ZWRcbiAgcG9wdWxhdGVEcm9wZG93bigpOiB2b2lkIHtcbiAgICB0aGlzLnRpbWVJbnRlcnZhbHMgPSBbXTtcblxuICAgIC8vIGlmIHBpY2tlciBpcyB1c2VkIGFzIGFuIGluZGl2aWR1YWwgY29tcG9uZW50XG4gICAgaWYgKCF0aGlzLmZpcnN0SW50ZXJ2YWwpIHtcbiAgICAgIC8vIGZpcnN0SW50ZXJ2YWwgaXMgaW5pdGlhbGlzZWQgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IHRpbWVcbiAgICAgIC8vIGlmIHRoZSBkYXRlIGlzIHNhbWUgYXMgdGhlIGN1cnJlbnQgZGF0ZVxuICAgICAgaWYgKG1vbWVudCh0aGlzLmRhdGVBc0Vwb2NoKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpID09PSBtb21lbnQoKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpICYmICF0aGlzLm1pblRpbWUpIHtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gdGhpcy5pbnRlcnZhbCAtIChtb21lbnQoKS5taW51dGVzKCkgJSB0aGlzLmludGVydmFsKTtcbiAgICAgICAgdGhpcy5maXJzdEludGVydmFsID0gbW9tZW50KCkuYWRkKG9mZnNldCwgXCJtXCIpLnZhbHVlT2YoKTtcbiAgICAgIH1cbiAgICAgIC8vIGlmIG1pbmltdW0gdGltZSB0byBzaG93IGlzIHByb3ZpZGVkXG4gICAgICBlbHNlIGlmKHRoaXMubWluVGltZSl7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuaW50ZXJ2YWwgLSAobW9tZW50KHRoaXMubWluVGltZSkubWludXRlcygpICUgdGhpcy5pbnRlcnZhbCk7XG4gICAgICAgIHRoaXMuZmlyc3RJbnRlcnZhbCA9IG1vbWVudCh0aGlzLm1pblRpbWUpLmFkZChvZmZzZXQsIFwibVwiKS52YWx1ZU9mKCk7XG4gICAgICB9XG4gICAgICAvLyBlbHNlIHRoZSBmaXJzdEludGVydmFsIGlzIGluaXRpYWxpc2VkIGFzIHN0YXJ0IG9mIGRheVxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMuZmlyc3RJbnRlcnZhbCA9IG1vbWVudCgpLnN0YXJ0T2YoXCJkXCIpLnZhbHVlT2YoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZih0aGlzLmdpdmVuVGltZSAmJiB0aGlzLmdpdmVuVGltZUZsYWcpe1xuICAgICAgdGhpcy5maXJzdEludGVydmFsID0gbW9tZW50KHRoaXMuZ2l2ZW5UaW1lKS5zdGFydE9mKCdkJykudmFsdWVPZigpO1xuICAgICAgdGhpcy5naXZlblRpbWVGbGFnID0gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgZGF0ZUFzU3RyaW5nID0gbW9tZW50KHRoaXMuZGF0ZUFzRXBvY2gpLmZvcm1hdCgnREQtTU0tWVlZWScpO1xuICAgIGNvbnN0IGludGVydmFsQXNTdHJpbmcgPSBtb21lbnQodGhpcy5maXJzdEludGVydmFsKS5mb3JtYXQodGhpcy50aW1lRm9ybWF0KTtcbiAgICBjb25zdCBzdGFydCA9IG1vbWVudChgJHtkYXRlQXNTdHJpbmd9ICR7aW50ZXJ2YWxBc1N0cmluZ31gLCBgREQtTU0tWVlZWSAke3RoaXMudGltZUZvcm1hdH1gKTtcbiAgICBjb25zdCBlbmQgPSBtb21lbnQoYCR7ZGF0ZUFzU3RyaW5nfWAsICdERC1NTS1ZWVlZJykuZW5kT2YoJ2QnKTtcblxuICAgIFxuICAgIHdoaWxlIChzdGFydC52YWx1ZU9mKCkgPCBlbmQudmFsdWVPZigpKSB7XG4gICAgICB0aGlzLnRpbWVJbnRlcnZhbHMucHVzaChzdGFydC5mb3JtYXQodGhpcy50aW1lRm9ybWF0KSk7XG4gICAgICBzdGFydC5hZGQodGhpcy5pbnRlcnZhbCwgXCJtXCIpO1xuICAgIH1cblxuICAgIC8vIGlmIHRoZSBzdGFydCB0aW1lIGlzIGVxdWFsIHRvIHRoZSBpbnRlcnZhbCBqdXN0IGJlZm9yZSBtaWRuaWdodFxuICAgIC8vIGFuZCB0aGUgc3RhcnQgZGF0ZSA9IGVuZCBkYXRlXG4gICAgLy8gcHVzaCAxMTo1OXBtIG9ubHlcbiAgICBpZiAodGhpcy50aW1lSW50ZXJ2YWxzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5jaG9zZW5UaW1lID0gbW9tZW50KCkuZW5kT2YoXCJkXCIpLmZvcm1hdCh0aGlzLnRpbWVGb3JtYXQpO1xuICAgICAgdGhpcy50aW1lSW50ZXJ2YWxzLnB1c2gobW9tZW50KCkuZW5kT2YoXCJkXCIpLmZvcm1hdCh0aGlzLnRpbWVGb3JtYXQpKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy50b29sdGlwRGlyZWN0aXZlKSB0aGlzLnRvb2x0aXBEaXJlY3RpdmUuaGlkZVRvb2xUaXAoKTtcbiAgfVxufVxuIl19
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy90aW1lcGlja2VyL3RpbWVwaWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBZ0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUksT0FBTyxLQUFLLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUUxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQVFyRSxNQUFNLE9BQU8sbUJBQW1CO0lBMEM5QjtRQXZDQSxlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGtCQUFhLEdBQVcsQ0FBQyxDQUFDO1FBQzFCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0Isa0JBQWEsR0FBYSxFQUFFLENBQUM7UUFDN0IsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0Isa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFDckIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFHekIsYUFBUSxHQUFXLGNBQWMsQ0FBQztRQUNsQyxXQUFNLEdBQVcsYUFBYSxDQUFDO1FBQy9CLGVBQVUsR0FBVyxPQUFPLENBQUM7UUFFN0IsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUN0QixnQkFBVyxHQUFXLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXpDLGtCQUFhLEdBQVksSUFBSSxDQUFDO1FBQzlCLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBQ3JDLGtCQUFhLEdBQVksSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUdqQyxrQkFBYSxHQUFZLElBQUksQ0FB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MEJBQ0wsS0FBSzt3QkFFTCxLQUFLO3NCQUNMLEtBQUs7NEJBQ0wsS0FBSzswQkFFTCxNQUFNO29CQUNOLFNBQVMsU0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2tDQUNuQyxTQUFTLFNBQUMsbUJBQW1COytCQUM3QixTQUFTLFNBQUMsZ0JBQWdCOytCQUcxQixZQUFZLFNBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdDaGlsZHJlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSBcIm1vbWVudC10aW1lem9uZVwiO1xuaW1wb3J0IHsgSVRpbWUgfSBmcm9tIFwiLi90aW1lLm5hbWVzcGFjZVwiO1xuaW1wb3J0IHsgVGltZXBpY2tlckRpcmVjdGl2ZSB9IGZyb20gXCIuL3RpbWVwaWNrZXIuZGlyZWN0aXZlXCI7XG5pbXBvcnQgeyBUb29sVGlwRGlyZWN0aXZlIH0gZnJvbSBcIm1pcy1jcnlzdGFsLWRlc2lnbi1zeXN0ZW0vdG9vbHRpcFwiO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtaXMtdGltZXBpY2tlclwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3RpbWVwaWNrZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3RpbWVwaWNrZXIuY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgVGltZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBjdXJyVGltZSE6IHN0cmluZztcbiAgY2hvc2VuVGltZTogc3RyaW5nO1xuICBvcGVuU3RhdHVzOiBib29sZWFuID0gZmFsc2U7XG4gIGlzSGlnaGxpZ2h0ZWQ6IG51bWJlciA9IDA7XG4gIGlzSW52YWxpZDogYm9vbGVhbiA9IGZhbHNlO1xuICB0aW1lSW50ZXJ2YWxzOiBzdHJpbmdbXSA9IFtdO1xuICBzaG91bGRTY3JvbGw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgdXNlcklucHV0RmxhZzogYm9vbGVhbiA9IGZhbHNlO1xuICBnaXZlblRpbWVGbGFnOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgY2xvY2tGb3JtYXQ6IG51bWJlciA9IDEyO1xuICB0aW1lRm9ybWF0ITogc3RyaW5nO1xuICBcbiAgQElucHV0KCkgdGltZXpvbmU6IHN0cmluZyA9IFwiQXNpYS9Lb2xrYXRhXCI7XG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nID0gXCJtYXgtY29udGVudFwiO1xuICBASW5wdXQoKSBpbnB1dFdpZHRoOiBzdHJpbmcgPSBcIjEwMHB4XCI7XG4gIEBJbnB1dCgpIGRyb3Bkb3duV2lkdGg/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGludGVydmFsOiBudW1iZXIgPSAxNTtcbiAgQElucHV0KCkgZGF0ZUFzRXBvY2g6IG51bWJlciA9IG1vbWVudCgpLnZhbHVlT2YoKTtcbiAgQElucHV0KCkgZmlyc3RJbnRlcnZhbCE6IG51bWJlcjtcbiAgQElucHV0KCkgcmFuZ2VWYWxpZGl0eTogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHNob3dUb29sdGlwOiBib29sZWFuID0gdHJ1ZTtcbiAgZGlzcGF5VG9vbFRpcDogYm9vbGVhbiA9IHRoaXMuc2hvd1Rvb2x0aXA7XG4gIEBJbnB1dCgpIGdpdmVuVGltZTogbnVtYmVyO1xuICBASW5wdXQoKSBtaW5UaW1lPzogbnVtYmVyO1xuICBASW5wdXQoKSB0cmlnZ2VyQ2hhbmdlOiBib29sZWFuID0gdHJ1ZTtcblxuICBAT3V0cHV0KCkgdGltZUVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPElUaW1lPigpO1xuICBAVmlld0NoaWxkKFwiaW5wdXRcIiwgeyBzdGF0aWM6IHRydWUgfSkgaW5wdXQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoVGltZXBpY2tlckRpcmVjdGl2ZSkgdGltZXBpY2tlckRpcmVjdGl2ZTogVGltZXBpY2tlckRpcmVjdGl2ZTtcbiAgQFZpZXdDaGlsZChUb29sVGlwRGlyZWN0aXZlKSB0b29sdGlwRGlyZWN0aXZlOiBUb29sVGlwRGlyZWN0aXZlO1xuXG4gIC8vIGdldHMgYWxsIHRoZSBsaSBlbGVtZW50cyBmcm9tIHRoZSBkcm9wZG93biBhbmQgc2Nyb2xscyB0byB0aGUgaGlnaGxpZ2h0ZWQgZWxlbWVudFxuICBAVmlld0NoaWxkcmVuKFwidGltZUludGVydmFsXCIpIHNldCB0aW1lSW50ZXJ2YWxSZWZzKGludGVydmFscykge1xuICAgIGludGVydmFscy5mb3JFYWNoKGludGVydmFsID0+IHtcbiAgICAgIGlmIChpbnRlcnZhbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdFswXSA9PT0gXCJoaWdobGlnaHRcIikge1xuICAgICAgICBjb25zdCBoaWdobGlnaHRlZCA9IGludGVydmFsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gaGlnaGxpZ2h0ZWQuc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogXCJjZW50ZXJcIiB9KSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcigpe31cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYoIXRoaXMuZ2l2ZW5UaW1lICYmICF0aGlzLm1pblRpbWUpIHtcbiAgICAgIHRoaXMuY2hvc2VuVGltZSA9IG1vbWVudCh0aGlzLmZpcnN0SW50ZXJ2YWwpLmZvcm1hdCh0aGlzLnRpbWVGb3JtYXQpO1xuICAgICAgbGV0IGNob3NlblRpbWVNb21lbnQgPSB0aGlzLmdldE1vbWVudCh0aGlzLmNob3NlblRpbWUpO1xuICAgICAgdGhpcy5lbWl0VGltZSh7XG4gICAgICAgIHZhbGlkOiAhdGhpcy5pc0ludmFsaWQsXG4gICAgICAgIHRpbWU6IHRoaXMuY2hvc2VuVGltZSxcbiAgICAgICAgZXBvY2g6IGNob3NlblRpbWVNb21lbnQudmFsdWVPZigpXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnRpbWVGb3JtYXQgPSB0aGlzLmNsb2NrRm9ybWF0ID09PSAxMiA/IFwiaGg6bW0gYVwiIDogXCJISDptbVwiO1xuICAgIG1vbWVudC50ei5zZXREZWZhdWx0KHRoaXMudGltZXpvbmUpO1xuXG4gICAgaWYgKHRoaXMudGltZUZvcm1hdCkge1xuICAgICAgbGV0IGNob3NlblRpbWVNb21lbnQgPSB0aGlzLmdldE1vbWVudCh0aGlzLmNob3NlblRpbWUpO1xuICAgIFxuICAgICAgLy8gaWYgdGhlIGZpcnN0IGludGVydmFsIGlzID49IHRoZSBjaG9zZW4gdGltZVxuICAgICAgLy8gdGhlbiBvbmx5IHVwZGF0ZSB0aGUgdmFsdWUgb2YgY2hvc2VuIHRpbWVcbiAgICAgIC8vIGVsc2UgaXQgcmVtYWlucyB0aGUgc2FtZVxuICAgICAgaWYgKHRoaXMuZmlyc3RJbnRlcnZhbCA+PSBjaG9zZW5UaW1lTW9tZW50LnZhbHVlT2YoKSAmJiB0aGlzLnJhbmdlVmFsaWRpdHkgJiYgIXRoaXMudXNlcklucHV0RmxhZykge1xuICAgICAgICB0aGlzLmNob3NlblRpbWUgPSBtb21lbnQodGhpcy5maXJzdEludGVydmFsKS5mb3JtYXQodGhpcy50aW1lRm9ybWF0KTtcbiAgICAgICAgY2hvc2VuVGltZU1vbWVudCA9IHRoaXMuZ2V0TW9tZW50KHRoaXMuY2hvc2VuVGltZSlcbiAgICAgIH1cblxuICAgICAgaWYoKHRoaXMuZ2l2ZW5UaW1lRmxhZyAmJiB0aGlzLmdpdmVuVGltZSkgfHwgdGhpcy5taW5UaW1lICkge1xuICAgICAgICB0aGlzLmNob3NlblRpbWUgPSBtb21lbnQodGhpcy5taW5UaW1lIHx8IHRoaXMuZ2l2ZW5UaW1lKS5mb3JtYXQodGhpcy50aW1lRm9ybWF0KTtcbiAgICAgIH1cbiAgICAgIGNob3NlblRpbWVNb21lbnQgPSB0aGlzLmdldE1vbWVudCh0aGlzLmNob3NlblRpbWUpXG5cbiAgICAgIGlmICghdGhpcy51c2VySW5wdXRGbGFnKSB0aGlzLnBvcHVsYXRlRHJvcGRvd24oKTtcbiAgICAgIHRoaXMudXNlcklucHV0RmxhZyA9IGZhbHNlO1xuICAgICAgXG4gICAgICBpZih0aGlzLmNob3NlblRpbWUpIHtcbiAgICAgICAgdGhpcy5pc0ludmFsaWQgPSAhdGhpcy5jaGVja1RpbWVWYWxpZGl0eSh0aGlzLmNob3NlblRpbWUudHJpbSgpKTtcbiAgICAgICAgdGhpcy5lbWl0VGltZSh7XG4gICAgICAgICAgdmFsaWQ6ICF0aGlzLmlzSW52YWxpZCxcbiAgICAgICAgICB0aW1lOiB0aGlzLmNob3NlblRpbWUsXG4gICAgICAgICAgZXBvY2g6IGNob3NlblRpbWVNb21lbnQudmFsdWVPZigpXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNhbGN1bGF0ZUNsb3Nlc3RJbnRlcnZhbCh0aGlzLmNob3NlblRpbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGVtaXRUaW1lKGRhdGE6IElUaW1lKTogdm9pZCB7XG4gICAgdGhpcy50aW1lRW1pdHRlci5lbWl0KGRhdGEpO1xuICB9XG5cbiAgLy8gZnVuY3Rpb24gdG8gZ2V0IG1vbWVudCBvYmplY3Qgd2hlbiB0aW1lIGlzIGdpdmVuIGluIHN0cmluZ1xuICBnZXRNb21lbnQodGltZTogc3RyaW5nKXtcbiAgICByZXR1cm4gbW9tZW50KGAke21vbWVudCh0aGlzLmRhdGVBc0Vwb2NoKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpfSAke3RpbWV9YCwgYCdERC1NTS1ZWVlZJyAke3RoaXMudGltZUZvcm1hdH1gKVxuICB9XG5cbiAgY2xvc2VEcm9wZG93bigpIHtcbiAgICB0aGlzLmRpc3BheVRvb2xUaXAgPSBmYWxzZTtcbiAgICB0aGlzLnVzZXJJbnB1dEZsYWcgPSBmYWxzZTtcbiAgICB0aGlzLm9wZW5TdGF0dXMgPSBmYWxzZTtcbiAgICBpZiAodGhpcy50aW1lcGlja2VyRGlyZWN0aXZlKSB0aGlzLnRpbWVwaWNrZXJEaXJlY3RpdmUuZGVzdHJveU92ZXJsYXkoKTtcbiAgfVxuXG4gIC8vIHRvZ2dsZSB0aW1lcGlja2VyIGRyb3Bkb3duXG4gIG9wZW5Ecm9wZG93bigpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BheVRvb2xUaXAgPSB0cnVlO1xuICAgIHRoaXMub3BlblN0YXR1cyA9IHRydWU7XG4gIH1cblxuICBjaGVja1RpbWVWYWxpZGl0eSh0aW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBSRTEyID0gL14oKFswXVsxLTldfDFbMC0yXSk6KFswLTVdWzAtOV0pKCApPyhhbXxwbXxBTXxQTSkpJC9pO1xuICAgIGNvbnN0IFJFMjQgPSAvXihbMDFdWzAtOV18MlswLTNdKTpbMC01XVswLTldJC87XG4gICAgY29uc3QgUkUgPSB0aGlzLmNsb2NrRm9ybWF0ID09PSAxMiA/IFJFMTIgOiBSRTI0O1xuXG4gICAgY29uc3QgdGltZU1vbWVudCA9IHRoaXMuZ2V0TW9tZW50KHRpbWUpO1xuICAgIGxldCBmbGFnOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvLyBpZiB0aGUgZmlyc3QgaW50ZXJ2YWwgaXMgc2V0IHRvIHRoZSBzdGFydCBvZiB0aGUgZGF5XG4gICAgLy8gb3IgYSB0aW1lIGlzIGFscmVhZHkgcHJvdmlkZWQgdG8gdGhlIGNvbXBvbmVudCB0byBzaG93XG4gICAgLy8gdGhlbiB3ZSBkb24ndCBjaGVjayBpdHMgdmFsaWRpdHkgYWdhaW5zdCB0aGUgY3VycmVudCB0aW1lXG4gICAgaWYgKFxuICAgICAgdGhpcy5taW5UaW1lIHx8IFxuICAgICAgdGhpcy5naXZlblRpbWUgfHxcbiAgICAgICh0aGlzLmZpcnN0SW50ZXJ2YWwgJiZcbiAgICAgIG1vbWVudCh0aGlzLmZpcnN0SW50ZXJ2YWwpLmZvcm1hdCh0aGlzLnRpbWVGb3JtYXQpLnZhbHVlT2YoKSA9PT0gbW9tZW50KCkuc3RhcnRPZihcImRcIikuZm9ybWF0KHRoaXMudGltZUZvcm1hdCkudmFsdWVPZigpKVxuICAgICkge1xuICAgICAgZmxhZyA9IHRpbWUubWF0Y2goUkUpID8gdHJ1ZSA6IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBmbGFnID0gdGltZS5tYXRjaChSRSkgJiYgdGltZU1vbWVudC5kaWZmKG1vbWVudCgpLCBcIm1cIikgPj0gMCA/IHRydWU6IGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiBmbGFnO1xuICB9XG5cbiAgLy8gdXBkYXRlIGNob3NlbiB0aW1lIGFzIHNvb24gYXMgdGhlIHVzZXIgY2xpY2tzIG9uIGFuIGludGVydmFsXG4gIG9uVGltZVNlbGVjdCh0aW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmlzSW52YWxpZCA9ICF0aGlzLmNoZWNrVGltZVZhbGlkaXR5KHRpbWUudHJpbSgpKTtcbiAgICBpZiAoIXRoaXMuaXNJbnZhbGlkKSB7XG4gICAgICB0aGlzLmNob3NlblRpbWUgPSB0aW1lO1xuICAgICAgdGhpcy5jYWxjdWxhdGVDbG9zZXN0SW50ZXJ2YWwodGhpcy5jaG9zZW5UaW1lKTtcbiAgICB9XG5cbiAgICBjb25zdCB0aW1lTW9tZW50ID0gdGhpcy5nZXRNb21lbnQodGltZSk7XG4gICAgdGhpcy5lbWl0VGltZSh7XG4gICAgICB2YWxpZDogIXRoaXMuaXNJbnZhbGlkLFxuICAgICAgdGltZTogdGltZSxcbiAgICAgIGVwb2NoOiB0aW1lTW9tZW50LnZhbHVlT2YoKSBcbiAgICB9KTtcbiAgICB0aGlzLm9wZW5TdGF0dXMgPSBmYWxzZTtcbiAgICBpZiAodGhpcy50aW1lcGlja2VyRGlyZWN0aXZlKSB0aGlzLnRpbWVwaWNrZXJEaXJlY3RpdmUuZGVzdHJveU92ZXJsYXkoKTtcbiAgfVxuXG4gIC8vIGNoZWNrcyB2YWxpZGl0eSBvZiB0aW1lIG9uIGlucHV0IGNoYW5nZSBhbmQgY2FsY3VsYXRlcyB0aGUgY2xvc2VzdCBpbnRlcnZhbFxuICBvblRpbWVDaGFuZ2UodGltZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5pc0ludmFsaWQgPSAhdGhpcy5jaGVja1RpbWVWYWxpZGl0eSh0aW1lLnRyaW0oKSk7XG5cbiAgICBpZiAoIXRoaXMuaXNJbnZhbGlkKSB7XG4gICAgICB0aGlzLnVzZXJJbnB1dEZsYWcgPSB0cnVlO1xuICAgICAgdGhpcy5vcGVuU3RhdHVzID0gZmFsc2U7XG4gICAgICBpZiAodGhpcy50aW1lcGlja2VyRGlyZWN0aXZlKSB0aGlzLnRpbWVwaWNrZXJEaXJlY3RpdmUuZGVzdHJveU92ZXJsYXkoKTtcbiAgICAgIHRoaXMuY2FsY3VsYXRlQ2xvc2VzdEludGVydmFsKHRpbWUpO1xuICAgIH1cbiAgICBjb25zdCB0aW1lTW9tZW50ID0gdGhpcy5nZXRNb21lbnQodGltZSk7XG4gICAgdGhpcy5lbWl0VGltZSh7XG4gICAgICB2YWxpZDogIXRoaXMuaXNJbnZhbGlkLFxuICAgICAgdGltZTogdGltZSxcbiAgICAgIGVwb2NoOiB0aW1lTW9tZW50LnZhbHVlT2YoKSBcbiAgICB9KTtcbiAgfVxuXG4gIGNhbGN1bGF0ZUNsb3Nlc3RJbnRlcnZhbCh0aW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsZXQgcm91bmRlZEVwb2NoOiBudW1iZXI7XG4gICAgLy8gQ29udmVydGluZyB0aW1lIGFuZCBkYXRlIHRvIGEgbW9tZW50IG9iamVjdCBcbiAgICBjb25zdCBjaG9zZW5EYXRlID0gbW9tZW50KHRoaXMuZGF0ZUFzRXBvY2gpLmZvcm1hdChcIkRELU1NLVlZWVlcIik7IC8vIDA1LTAxLTIwMjRcbiAgICBjb25zdCBwYXJzZWRUaW1lV2l0aERhdGUgPSBtb21lbnQoYCR7Y2hvc2VuRGF0ZX0gJHt0aW1lfWAsIGBERC1NTS1ZWVlZICR7dGhpcy50aW1lRm9ybWF0fWApO1xuICAgIC8vIENvbnZlcnRpbmcgbW9tZW50IG9iamVjdCB0byBlcG9jaFxuICAgIGNvbnN0IGNob3NlblRpbWVFcG9jaCA9IHBhcnNlZFRpbWVXaXRoRGF0ZS52YWx1ZU9mKCk7XG4gICAgY29uc3Qgb2Zmc2V0ID0gdGhpcy5pbnRlcnZhbCAtIChtb21lbnQoY2hvc2VuVGltZUVwb2NoKS5taW51dGVzKCkgJSB0aGlzLmludGVydmFsKTtcblxuICAgIGlmICh0aGlzLm1pblRpbWUgJiYgIXRoaXMuZ2l2ZW5UaW1lKSB7XG4gICAgICB0aGlzLmlzSGlnaGxpZ2h0ZWQgPSAwO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByb3VuZGVkRXBvY2ggPSBvZmZzZXQgPj0gdGhpcy5pbnRlcnZhbCAvIDIgPyAobW9tZW50KGNob3NlblRpbWVFcG9jaCkuc3VidHJhY3QodGhpcy5pbnRlcnZhbCAtIG9mZnNldCwgXCJtXCIpKS52YWx1ZU9mKCkgOiAobW9tZW50KGNob3NlblRpbWVFcG9jaCkuYWRkKCBvZmZzZXQsIFwibVwiKSkudmFsdWVPZigpO1xuXG4gICAgLy8gZmluZGluZyB0aGUgaW5kZXggb2YgZWxlbWVudCB0aGF0IG5lZWRzIHRvIGJlIGhpZ2hsaWdodGVkXG4gICAgaWYgKCBjaG9zZW5UaW1lRXBvY2ggPiBtb21lbnQodGhpcy5kYXRlQXNFcG9jaCkuZW5kT2YoXCJkXCIpLnN1YnRyYWN0KHRoaXMuaW50ZXJ2YWwsIFwibVwiKS52YWx1ZU9mKCkpIHtcbiAgICAgIHRoaXMuaXNIaWdobGlnaHRlZCA9IHRoaXMudGltZUludGVydmFscy5sZW5ndGggLSAxO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByb3VuZGVkRXBvY2hNb21lbnQgPSBtb21lbnQocm91bmRlZEVwb2NoKTtcbiAgICAgIHRoaXMuaXNIaWdobGlnaHRlZCA9IHRoaXMudGltZUludGVydmFscy5maW5kSW5kZXgoaW50ZXJ2YWwgPT4ge1xuICAgICAgICBjb25zdCBpbnRlcnZhbE9iaiA9IG1vbWVudChgJHtjaG9zZW5EYXRlfSAke2ludGVydmFsfWAsIGBERC1NTS1ZWVlZICR7dGhpcy50aW1lRm9ybWF0fWApO1xuICAgICAgICByZXR1cm4gaW50ZXJ2YWxPYmouaXNTYW1lKHJvdW5kZWRFcG9jaE1vbWVudCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuXG4gIC8vIHBvcHVsYXRlcyB0aGUgZHJvcGRvd24gYWNjb3JkaW5nIHRvIHRoZSBmaXJzdCBpbnRlcnZhbCByZWNlaXZlZFxuICBwb3B1bGF0ZURyb3Bkb3duKCk6IHZvaWQge1xuICAgIHRoaXMudGltZUludGVydmFscyA9IFtdO1xuXG4gICAgLy8gaWYgcGlja2VyIGlzIHVzZWQgYXMgYW4gaW5kaXZpZHVhbCBjb21wb25lbnRcbiAgICBpZiAoIXRoaXMuZmlyc3RJbnRlcnZhbCkge1xuICAgICAgLy8gZmlyc3RJbnRlcnZhbCBpcyBpbml0aWFsaXNlZCBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgdGltZVxuICAgICAgLy8gaWYgdGhlIGRhdGUgaXMgc2FtZSBhcyB0aGUgY3VycmVudCBkYXRlXG4gICAgICBpZiAobW9tZW50KHRoaXMuZGF0ZUFzRXBvY2gpLmZvcm1hdChcIkRELU1NLVlZWVlcIikgPT09IG1vbWVudCgpLmZvcm1hdChcIkRELU1NLVlZWVlcIikgJiYgIXRoaXMubWluVGltZSkge1xuICAgICAgICBjb25zdCBvZmZzZXQgPSB0aGlzLmludGVydmFsIC0gKG1vbWVudCgpLm1pbnV0ZXMoKSAlIHRoaXMuaW50ZXJ2YWwpO1xuICAgICAgICB0aGlzLmZpcnN0SW50ZXJ2YWwgPSBtb21lbnQoKS5hZGQob2Zmc2V0LCBcIm1cIikudmFsdWVPZigpO1xuICAgICAgfVxuICAgICAgLy8gaWYgbWluaW11bSB0aW1lIHRvIHNob3cgaXMgcHJvdmlkZWRcbiAgICAgIGVsc2UgaWYodGhpcy5taW5UaW1lKXtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gdGhpcy5pbnRlcnZhbCAtIChtb21lbnQodGhpcy5taW5UaW1lKS5taW51dGVzKCkgJSB0aGlzLmludGVydmFsKTtcbiAgICAgICAgdGhpcy5maXJzdEludGVydmFsID0gbW9tZW50KHRoaXMubWluVGltZSkuYWRkKG9mZnNldCwgXCJtXCIpLnZhbHVlT2YoKTtcbiAgICAgIH1cbiAgICAgIC8vIGVsc2UgdGhlIGZpcnN0SW50ZXJ2YWwgaXMgaW5pdGlhbGlzZWQgYXMgc3RhcnQgb2YgZGF5XG4gICAgICBlbHNlIHtcbiAgICAgICAgdGhpcy5maXJzdEludGVydmFsID0gbW9tZW50KCkuc3RhcnRPZihcImRcIikudmFsdWVPZigpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmKHRoaXMuZ2l2ZW5UaW1lICYmIHRoaXMuZ2l2ZW5UaW1lRmxhZyl7XG4gICAgICB0aGlzLmZpcnN0SW50ZXJ2YWwgPSBtb21lbnQodGhpcy5naXZlblRpbWUpLnN0YXJ0T2YoJ2QnKS52YWx1ZU9mKCk7XG4gICAgICB0aGlzLmdpdmVuVGltZUZsYWcgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBkYXRlQXNTdHJpbmcgPSBtb21lbnQodGhpcy5kYXRlQXNFcG9jaCkuZm9ybWF0KCdERC1NTS1ZWVlZJyk7XG4gICAgY29uc3QgaW50ZXJ2YWxBc1N0cmluZyA9IG1vbWVudCh0aGlzLmZpcnN0SW50ZXJ2YWwpLmZvcm1hdCh0aGlzLnRpbWVGb3JtYXQpO1xuICAgIGNvbnN0IHN0YXJ0ID0gbW9tZW50KGAke2RhdGVBc1N0cmluZ30gJHtpbnRlcnZhbEFzU3RyaW5nfWAsIGBERC1NTS1ZWVlZICR7dGhpcy50aW1lRm9ybWF0fWApO1xuICAgIGNvbnN0IGVuZCA9IG1vbWVudChgJHtkYXRlQXNTdHJpbmd9YCwgJ0RELU1NLVlZWVknKS5lbmRPZignZCcpO1xuXG4gICAgXG4gICAgd2hpbGUgKHN0YXJ0LnZhbHVlT2YoKSA8IGVuZC52YWx1ZU9mKCkpIHtcbiAgICAgIHRoaXMudGltZUludGVydmFscy5wdXNoKHN0YXJ0LmZvcm1hdCh0aGlzLnRpbWVGb3JtYXQpKTtcbiAgICAgIHN0YXJ0LmFkZCh0aGlzLmludGVydmFsLCBcIm1cIik7XG4gICAgfVxuXG4gICAgLy8gaWYgdGhlIHN0YXJ0IHRpbWUgaXMgZXF1YWwgdG8gdGhlIGludGVydmFsIGp1c3QgYmVmb3JlIG1pZG5pZ2h0XG4gICAgLy8gYW5kIHRoZSBzdGFydCBkYXRlID0gZW5kIGRhdGVcbiAgICAvLyBwdXNoIDExOjU5cG0gb25seVxuICAgIGlmICh0aGlzLnRpbWVJbnRlcnZhbHMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmNob3NlblRpbWUgPSBtb21lbnQoKS5lbmRPZihcImRcIikuZm9ybWF0KHRoaXMudGltZUZvcm1hdCk7XG4gICAgICB0aGlzLnRpbWVJbnRlcnZhbHMucHVzaChtb21lbnQoKS5lbmRPZihcImRcIikuZm9ybWF0KHRoaXMudGltZUZvcm1hdCkpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnRvb2x0aXBEaXJlY3RpdmUpIHRoaXMudG9vbHRpcERpcmVjdGl2ZS5oaWRlVG9vbFRpcCgpO1xuICB9XG59XG4iXX0=
@@ -32,45 +32,62 @@ export class TimeRangePickerComponent {
32
32
  setFirstIntervals() {
33
33
  const minutes = moment().minutes();
34
34
  const offset = this.interval - (minutes % this.interval);
35
- // first interval for the start picker will be the one closest to the current time
36
- // if the start date is equal to the curr date
37
- if (this.startDate === this.endDate) {
38
- const currentTime = moment().valueOf();
39
- // if current time >= 11:45 the start picker will show
40
- // current time instead of next closest interval
41
- if (currentTime >= moment().endOf("d").subtract(15, "m").valueOf()) {
42
- this.firstIntervalForStartPicker = currentTime;
35
+ // start date, 22 MAY === current date, 22 MAY
36
+ if (this.startDate === this.currDate) {
37
+ const currentTime = moment(this.startDateEpoch).valueOf();
38
+ // start date, 22 MAY === current date, 22 MAY === end date, 22 MAY
39
+ if (this.startDate === this.endDate) {
40
+ // current time is in last interval
41
+ if (currentTime >= moment(this.startDateEpoch).endOf("d").subtract(this.interval, "m").valueOf()) {
42
+ this.firstIntervalForStartPicker = currentTime;
43
+ this.firstIntervalForEndPicker = moment(this.endDateEpoch).endOf("d").valueOf();
44
+ }
45
+ // current time isn't in last interval
46
+ else {
47
+ this.firstIntervalForStartPicker = moment().add(offset, "m").valueOf();
48
+ this.firstIntervalForEndPicker = moment().add(offset, "m").add(this.interval, "m").valueOf();
49
+ }
43
50
  }
51
+ // start date, 22 MAY === current date, 22 MAY !== end date, 30 MAY
44
52
  else {
45
- this.firstIntervalForStartPicker = moment().add(offset, "m").valueOf();
53
+ // current time is in last interval
54
+ if (currentTime >= moment(this.startDateEpoch).endOf("d").subtract(this.interval, "m").valueOf()) {
55
+ this.firstIntervalForStartPicker = currentTime;
56
+ this.firstIntervalForEndPicker = moment(this.endDateEpoch).endOf("d").valueOf();
57
+ }
58
+ // current time isn't in last interval
59
+ else {
60
+ this.firstIntervalForStartPicker = moment().add(offset, "m").valueOf();
61
+ this.firstIntervalForEndPicker = moment(this.endDateEpoch).valueOf();
62
+ }
46
63
  }
47
- this.startTime = {
48
- valid: true,
49
- time: moment().add(offset, "m").format(this.timeFormat),
50
- epoch: moment().add(offset, "m").valueOf()
51
- };
52
- }
53
- else {
54
- this.firstIntervalForStartPicker = moment(this.startDateEpoch).startOf("d").valueOf();
55
- this.startTime = {
56
- valid: true,
57
- time: this.givenStartTime ? moment(this.givenStartTime).format(this.timeFormat) : moment(this.startDateEpoch).startOf('d').add(offset, "m").format(this.timeFormat),
58
- epoch: this.givenStartTime ? this.givenStartTime : moment(this.startDateEpoch).startOf('d').add(offset, "m").valueOf()
59
- };
60
- }
61
- // for the end picker if the startDate and the endDate is same
62
- // the first interval is set one interval ahead of the first interval for start picker
63
- // else if the dates are different we set it to the start of the day
64
- if (this.startDate === this.endDate) {
65
- this.firstIntervalForEndPicker = moment().add(offset, "m").add(this.interval, "m").valueOf();
66
64
  }
65
+ // start date, 30 MAY !== current date, 22 MAY
67
66
  else {
68
- this.firstIntervalForEndPicker = moment().startOf("d").valueOf();
67
+ // start date === end Date
68
+ if (this.startDate === this.endDate) {
69
+ this.firstIntervalForStartPicker = moment(this.startDateEpoch).startOf("d").valueOf();
70
+ this.firstIntervalForEndPicker = moment(this.endDateEpoch).add(this.interval, "m").valueOf();
71
+ }
72
+ // start date !== end date
73
+ else {
74
+ this.firstIntervalForStartPicker = moment(this.startDateEpoch).startOf("d").valueOf();
75
+ this.firstIntervalForEndPicker = moment(this.startDateEpoch).startOf("d").valueOf();
76
+ }
69
77
  }
78
+ if (this.givenStartTime)
79
+ this.firstIntervalForStartPicker = this.givenStartTime;
80
+ if (this.givenEndTime)
81
+ this.firstIntervalForEndPicker = this.givenEndTime;
82
+ this.startTime = {
83
+ valid: true,
84
+ time: moment(this.firstIntervalForStartPicker).format(this.timeFormat),
85
+ epoch: moment(this.firstIntervalForStartPicker).valueOf()
86
+ };
70
87
  this.endTime = {
71
88
  valid: true,
72
89
  time: moment(this.firstIntervalForEndPicker).format(this.timeFormat),
73
- epoch: this.firstIntervalForEndPicker
90
+ epoch: moment(this.firstIntervalForEndPicker).valueOf()
74
91
  };
75
92
  }
76
93
  emitTimeRange(data) {
@@ -174,4 +191,4 @@ TimeRangePickerComponent.propDecorators = {
174
191
  gap: [{ type: Input }],
175
192
  timeRangeEmitter: [{ type: Output }]
176
193
  };
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXJhbmdlcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL3RpbWVyYW5nZXBpY2tlci90aW1lcmFuZ2VwaWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxLQUFLLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQVExQyxNQUFNLE9BQU8sd0JBQXdCO0lBNEJuQyxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQTNCakMsZUFBVSxHQUFXLE9BQU8sQ0FBQztRQUU3QixXQUFNLEdBQVcsTUFBTSxDQUFDO1FBQ3hCLGFBQVEsR0FBVyxjQUFjLENBQUM7UUFDbEMsbUJBQWMsR0FBVyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzlELGlCQUFZLEdBQVcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUc1RCxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBQzVCLGNBQVMsR0FBZSxLQUFLLENBQUM7UUFDOUIsUUFBRyxHQUFXLE1BQU0sQ0FBQztRQUVwQixxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBTTVELGdDQUEyQixHQUFXLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3pELDhCQUF5QixHQUFXLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBR3ZELGtCQUFhLEdBQVks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QUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDMUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7OztZQW5MRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0Isd2xDQUErQzs7YUFFaEQ7OztZQVIwQixpQkFBaUI7Ozt5QkFVekMsS0FBSzs0QkFDTCxLQUFLO3FCQUNMLEtBQUs7dUJBQ0wsS0FBSzs2QkFDTCxLQUFLOzJCQUNMLEtBQUs7NkJBQ0wsS0FBSzsyQkFDTCxLQUFLOzBCQUNMLEtBQUs7dUJBQ0wsS0FBSzswQkFDTCxLQUFLO3dCQUNMLEtBQUs7a0JBQ0wsS0FBSzsrQkFFTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tIFwibW9tZW50LXRpbWV6b25lXCI7XG5pbXBvcnQgeyBJVGltZVJhbmdlLCBJVGltZSwgVERpcmVjdGlvbiB9IGZyb20gXCIuL3RpbWVyYW5nZS5uYW1lc3BhY2VcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1pcy10aW1lcmFuZ2VwaWNrZXJcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90aW1lcmFuZ2VwaWNrZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3RpbWVyYW5nZXBpY2tlci5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBUaW1lUmFuZ2VQaWNrZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBpbnB1dFdpZHRoOiBzdHJpbmcgPSBcIjEwMHB4XCI7XG4gIEBJbnB1dCgpIGRyb3Bkb3duV2lkdGg/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nID0gXCI0NnB4XCI7XG4gIEBJbnB1dCgpIHRpbWV6b25lOiBzdHJpbmcgPSBcIkFzaWEvS29sa2F0YVwiO1xuICBASW5wdXQoKSBzdGFydERhdGVFcG9jaDogbnVtYmVyID0gbW9tZW50KCkudHoodGhpcy50aW1lem9uZSkudmFsdWVPZigpO1xuICBASW5wdXQoKSBlbmREYXRlRXBvY2g6IG51bWJlciA9IG1vbWVudCgpLnR6KHRoaXMudGltZXpvbmUpLnZhbHVlT2YoKTtcbiAgQElucHV0KCkgZ2l2ZW5TdGFydFRpbWU6IG51bWJlcjtcbiAgQElucHV0KCkgZ2l2ZW5FbmRUaW1lOiBudW1iZXI7XG4gIEBJbnB1dCgpIGNsb2NrRm9ybWF0OiBudW1iZXIgPSAxMjtcbiAgQElucHV0KCkgaW50ZXJ2YWw6IG51bWJlciA9IDE1O1xuICBASW5wdXQoKSBzaG93VG9vbHRpcDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGRpcmVjdGlvbjogVERpcmVjdGlvbiA9ICdyb3cnO1xuICBASW5wdXQoKSBnYXA6IHN0cmluZyA9ICcxcmVtJztcblxuICBAT3V0cHV0KCkgdGltZVJhbmdlRW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8SVRpbWVSYW5nZT4oKTtcblxuICBzdGFydERhdGUhOiBzdHJpbmc7XG4gIGVuZERhdGUhOiBzdHJpbmc7XG4gIGN1cnJEYXRlITogc3RyaW5nO1xuICB0aW1lRm9ybWF0ITogc3RyaW5nO1xuICBmaXJzdEludGVydmFsRm9yU3RhcnRQaWNrZXI6IG51bWJlciA9IG1vbWVudCgpLnZhbHVlT2YoKTtcbiAgZmlyc3RJbnRlcnZhbEZvckVuZFBpY2tlcjogbnVtYmVyID0gbW9tZW50KCkudmFsdWVPZigpO1xuICBzdGFydFRpbWUhOiBJVGltZTtcbiAgZW5kVGltZSE6IElUaW1lO1xuICByYW5nZVZhbGlkaXR5OiBib29sZWFuID0gdHJ1ZTtcbiAgdHJpZ2dlckNoYW5nZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25Jbml0KCkge31cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLnRpbWVGb3JtYXQgPSB0aGlzLmNsb2NrRm9ybWF0ID09PSAxMiA/IFwiaGg6bW0gYVwiIDogXCJISDptbVwiO1xuICAgIG1vbWVudC50ei5zZXREZWZhdWx0KHRoaXMudGltZXpvbmUpO1xuICAgIHRoaXMuc3RhcnREYXRlID0gbW9tZW50KHRoaXMuc3RhcnREYXRlRXBvY2gpLmZvcm1hdChcIkRELU1NLVlZWVlcIik7XG4gICAgdGhpcy5lbmREYXRlID0gbW9tZW50KHRoaXMuZW5kRGF0ZUVwb2NoKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpO1xuICAgIHRoaXMuY3VyckRhdGUgPSBtb21lbnQoKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpO1xuICAgIHRoaXMuc2V0Rmlyc3RJbnRlcnZhbHMoKTtcbiAgfVxuXG4gIC8vIGNhbGN1bGF0ZSB0aGUgZmlyc3QgaW50ZXJ2YWwgb2YgdGhlIHBpY2tlclxuICBzZXRGaXJzdEludGVydmFscygpOiB2b2lkIHtcbiAgICBjb25zdCBtaW51dGVzID0gbW9tZW50KCkubWludXRlcygpO1xuICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuaW50ZXJ2YWwgLSAobWludXRlcyAlIHRoaXMuaW50ZXJ2YWwpO1xuXG4gICAgLy8gZmlyc3QgaW50ZXJ2YWwgZm9yIHRoZSBzdGFydCBwaWNrZXIgd2lsbCBiZSB0aGUgb25lIGNsb3Nlc3QgdG8gdGhlIGN1cnJlbnQgdGltZVxuICAgIC8vIGlmIHRoZSBzdGFydCBkYXRlIGlzIGVxdWFsIHRvIHRoZSBjdXJyIGRhdGVcbiAgICBpZiAodGhpcy5zdGFydERhdGUgPT09IHRoaXMuZW5kRGF0ZSkge1xuICAgICAgY29uc3QgY3VycmVudFRpbWUgPSBtb21lbnQoKS52YWx1ZU9mKCk7XG5cbiAgICAgIC8vIGlmIGN1cnJlbnQgdGltZSA+PSAxMTo0NSB0aGUgc3RhcnQgcGlja2VyIHdpbGwgc2hvd1xuICAgICAgLy8gY3VycmVudCB0aW1lIGluc3RlYWQgb2YgbmV4dCBjbG9zZXN0IGludGVydmFsXG4gICAgICBpZiAoIGN1cnJlbnRUaW1lID49IG1vbWVudCgpLmVuZE9mKFwiZFwiKS5zdWJ0cmFjdCgxNSwgXCJtXCIpLnZhbHVlT2YoKSl7XG4gICAgICAgIHRoaXMuZmlyc3RJbnRlcnZhbEZvclN0YXJ0UGlja2VyID0gY3VycmVudFRpbWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZpcnN0SW50ZXJ2YWxGb3JTdGFydFBpY2tlciA9IG1vbWVudCgpLmFkZChvZmZzZXQsIFwibVwiKS52YWx1ZU9mKCk7XG4gICAgICB9XG4gICAgICB0aGlzLnN0YXJ0VGltZSA9IHtcbiAgICAgICAgdmFsaWQ6IHRydWUsXG4gICAgICAgIHRpbWU6IG1vbWVudCgpLmFkZChvZmZzZXQsIFwibVwiKS5mb3JtYXQodGhpcy50aW1lRm9ybWF0KSxcbiAgICAgICAgZXBvY2g6IG1vbWVudCgpLmFkZChvZmZzZXQsIFwibVwiKS52YWx1ZU9mKClcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlyc3RJbnRlcnZhbEZvclN0YXJ0UGlja2VyID0gbW9tZW50KHRoaXMuc3RhcnREYXRlRXBvY2gpLnN0YXJ0T2YoXCJkXCIpLnZhbHVlT2YoKTtcbiAgICAgIHRoaXMuc3RhcnRUaW1lID0ge1xuICAgICAgICB2YWxpZDogdHJ1ZSxcbiAgICAgICAgdGltZTogdGhpcy5naXZlblN0YXJ0VGltZSA/IG1vbWVudCh0aGlzLmdpdmVuU3RhcnRUaW1lKS5mb3JtYXQodGhpcy50aW1lRm9ybWF0KSA6IG1vbWVudCh0aGlzLnN0YXJ0RGF0ZUVwb2NoKS5zdGFydE9mKCdkJykuYWRkKG9mZnNldCwgXCJtXCIpLmZvcm1hdCh0aGlzLnRpbWVGb3JtYXQpLFxuICAgICAgICBlcG9jaDogdGhpcy5naXZlblN0YXJ0VGltZSA/IHRoaXMuZ2l2ZW5TdGFydFRpbWUgOiBtb21lbnQodGhpcy5zdGFydERhdGVFcG9jaCkuc3RhcnRPZignZCcpLmFkZChvZmZzZXQsIFwibVwiKS52YWx1ZU9mKClcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gZm9yIHRoZSBlbmQgcGlja2VyIGlmIHRoZSBzdGFydERhdGUgYW5kIHRoZSBlbmREYXRlIGlzIHNhbWVcbiAgICAvLyB0aGUgZmlyc3QgaW50ZXJ2YWwgaXMgc2V0IG9uZSBpbnRlcnZhbCBhaGVhZCBvZiB0aGUgZmlyc3QgaW50ZXJ2YWwgZm9yIHN0YXJ0IHBpY2tlclxuICAgIC8vIGVsc2UgaWYgdGhlIGRhdGVzIGFyZSBkaWZmZXJlbnQgd2Ugc2V0IGl0IHRvIHRoZSBzdGFydCBvZiB0aGUgZGF5XG4gICAgaWYgKHRoaXMuc3RhcnREYXRlID09PSB0aGlzLmVuZERhdGUpIHtcbiAgICAgIHRoaXMuZmlyc3RJbnRlcnZhbEZvckVuZFBpY2tlciA9IG1vbWVudCgpLmFkZChvZmZzZXQsIFwibVwiKS5hZGQodGhpcy5pbnRlcnZhbCwgXCJtXCIpLnZhbHVlT2YoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maXJzdEludGVydmFsRm9yRW5kUGlja2VyID0gbW9tZW50KCkuc3RhcnRPZihcImRcIikudmFsdWVPZigpO1xuICAgIH1cblxuICAgIHRoaXMuZW5kVGltZSA9IHtcbiAgICAgIHZhbGlkOiB0cnVlLFxuICAgICAgdGltZTogbW9tZW50KHRoaXMuZmlyc3RJbnRlcnZhbEZvckVuZFBpY2tlcikuZm9ybWF0KHRoaXMudGltZUZvcm1hdCksXG4gICAgICBlcG9jaDogdGhpcy5maXJzdEludGVydmFsRm9yRW5kUGlja2VyXG4gICAgfTtcbiAgfVxuXG4gIGVtaXRUaW1lUmFuZ2UoZGF0YTogSVRpbWVSYW5nZSk6IHZvaWQge1xuICAgIHRoaXMudGltZVJhbmdlRW1pdHRlci5lbWl0KGRhdGEpO1xuICB9XG5cbiAgLy9oYW5kbGVycyBjYXRjaCB0aGUgZW1pdHRlZCB2YWx1ZXMgYW5kIHJ1biB2YWxpZGF0aW9uXG4gIHN0YXJ0UGlja2VySGFuZGxlcih0aW1lOiBJVGltZSk6IHZvaWQge1xuICAgIHRoaXMuc3RhcnRUaW1lID0gdGltZTtcbiAgICB0aGlzLnJhbmdlVmFsaWRpdHkgPSB0cnVlO1xuICAgIC8vIGlmIHRoZSBzdGFydCB0aW1lIGNoYW5nZXMgYW5kIHRoZSBzdGFydCBkYXRlIGlzIHRoZSBzYW1lIGFzIHRoZSBlbmQgZGF0ZVxuICAgIC8vIGFuZCB0aGUgc3RhcnQgdGltZSA+PSAgZW5kIHRpbWVcbiAgICAvLyB1cGRhdGUgdGhlIGZpcnN0IGludGVydmFsIG9mIGVuZCBwaWNrZXIgYWNjb3JkaW5nIHRvIHRoZSB0aW1lIHNldCBpbiBzdGFydCBwaWNrZXJcbiAgICBpZiAodGhpcy5zdGFydERhdGUgPT09IHRoaXMuZW5kRGF0ZSkge1xuICAgICAgbGV0IG1pbnV0ZXMgPSBtb21lbnQodGhpcy5zdGFydFRpbWUudGltZSwgdGhpcy50aW1lRm9ybWF0KS5taW51dGVzKCk7XG4gICAgICBsZXQgb2Zmc2V0ID0gdGhpcy5pbnRlcnZhbCAtIChtaW51dGVzICUgdGhpcy5pbnRlcnZhbCk7XG4gICAgICB0aGlzLmZpcnN0SW50ZXJ2YWxGb3JFbmRQaWNrZXIgPSBtb21lbnQoYCR7dGhpcy5zdGFydERhdGV9ICR7dGhpcy5zdGFydFRpbWUudGltZX1gLCBgJ0RELU1NLVlZWVknICR7dGhpcy50aW1lRm9ybWF0fWApXG4gICAgICAgIC5hZGQob2Zmc2V0LCBcIm1cIilcbiAgICAgICAgLnZhbHVlT2YoKTtcblxuICAgICAgLy8gaWYgdGhlIGZpcnN0IGludGVydmFsID09IDEyOjAwYW0sIHNldCBpdCBhcyAxMTo1OXBtXG4gICAgICBjb25zdCBpbnRlcnZhbEFzU3RyaW5nID0gbW9tZW50KHRoaXMuZmlyc3RJbnRlcnZhbEZvckVuZFBpY2tlcikuZm9ybWF0KHRoaXMudGltZUZvcm1hdCk7XG4gICAgICBjb25zdCBlbmRPZkRheUFzU3RyaW5nID0gbW9tZW50KG1vbWVudChgJHt0aGlzLnN0YXJ0RGF0ZX1gLCBgREQtTU0tWVlZWSAke3RoaXMudGltZUZvcm1hdH1gKS5lbmRPZihcImRcIikuYWRkKDEsIFwibVwiKSkuZm9ybWF0KHRoaXMudGltZUZvcm1hdCk7XG4gICAgICBpZiAoaW50ZXJ2YWxBc1N0cmluZyA9PT0gZW5kT2ZEYXlBc1N0cmluZykge1xuICAgICAgICB0aGlzLmZpcnN0SW50ZXJ2YWxGb3JFbmRQaWNrZXIgPSBtb21lbnQoYCR7dGhpcy5zdGFydERhdGV9ICR7dGhpcy5zdGFydFRpbWUudGltZX1gLCBgJ0RELU1NLVlZWVknICR7dGhpcy50aW1lRm9ybWF0fWApLmVuZE9mKFwiZFwiKS52YWx1ZU9mKCk7XG4gICAgICB9XG5cbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB2YWxpZGl0eSA9XG4gICAgICAgIHRoaXMuY2hlY2tUaW1lVmFsaWRpdHkodGhpcy5zdGFydFRpbWUudGltZS50cmltKCksIHRoaXMuc3RhcnREYXRlRXBvY2gpICYmXG4gICAgICAgIHRoaXMuY2hlY2tUaW1lVmFsaWRpdHkodGhpcy5lbmRUaW1lLnRpbWUudHJpbSgpLCB0aGlzLmVuZERhdGVFcG9jaCk7XG5cbiAgICAgICAgdGhpcy5yYW5nZVZhbGlkYXRpb24odmFsaWRpdHkpO1xuICAgICAgICB0aGlzLmVtaXRUaW1lUmFuZ2Uoe1xuICAgICAgICAgIHZhbGlkOiB2YWxpZGl0eSAmJiB0aGlzLnJhbmdlVmFsaWRpdHksXG4gICAgICAgICAgc3RhcnRUaW1lOiB0aGlzLnN0YXJ0VGltZS50aW1lLFxuICAgICAgICAgIGVuZFRpbWU6IHRoaXMuZW5kVGltZS50aW1lLFxuICAgICAgICAgIHN0YXJ0RXBvY2g6IG1vbWVudChgJHt0aGlzLnN0YXJ0RGF0ZX0gJHt0aGlzLnN0YXJ0VGltZS50aW1lfWAsIGBERC1NTS1ZWVlZICR7dGhpcy50aW1lRm9ybWF0fWApLnZhbHVlT2YoKSxcbiAgICAgICAgICBlbmRFcG9jaDogbW9tZW50KGAke3RoaXMuZW5kRGF0ZX0gJHt0aGlzLmVuZFRpbWUudGltZX1gLCBgREQtTU0tWVlZWSAke3RoaXMudGltZUZvcm1hdH1gKS52YWx1ZU9mKClcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy50cmlnZ2VyQ2hhbmdlID0gIXRoaXMudHJpZ2dlckNoYW5nZTtcbiAgfVxuXG4gIGVuZFBpY2tlckhhbmRsZXIodGltZTogSVRpbWUpOiB2b2lkIHtcbiAgICB0aGlzLmVuZFRpbWUgPSB0aW1lO1xuXG4gICAgY29uc3QgdmFsaWRpdHkgPVxuICAgICAgdGhpcy5jaGVja1RpbWVWYWxpZGl0eSh0aGlzLnN0YXJ0VGltZS50aW1lLnRyaW0oKSwgdGhpcy5zdGFydERhdGVFcG9jaCkgJiYgdGhpcy5jaGVja1RpbWVWYWxpZGl0eSh0aGlzLmVuZFRpbWUudGltZS50cmltKCksIHRoaXMuZW5kRGF0ZUVwb2NoKTtcblxuICAgIHRoaXMucmFuZ2VWYWxpZGF0aW9uKHZhbGlkaXR5KTtcbiAgICB0aGlzLmVtaXRUaW1lUmFuZ2Uoe1xuICAgICAgdmFsaWQ6IHZhbGlkaXR5ICYmIHRoaXMucmFuZ2VWYWxpZGl0eSxcbiAgICAgIHN0YXJ0VGltZTogdGhpcy5zdGFydFRpbWUudGltZSxcbiAgICAgIGVuZFRpbWU6IHRoaXMuZW5kVGltZS50aW1lLFxuICAgICAgc3RhcnRFcG9jaDogbW9tZW50KGAke3RoaXMuc3RhcnREYXRlfSAke3RoaXMuc3RhcnRUaW1lLnRpbWV9YCwgYERELU1NLVlZWVkgJHt0aGlzLnRpbWVGb3JtYXR9YCkudmFsdWVPZigpLFxuICAgICAgZW5kRXBvY2g6IG1vbWVudChgJHt0aGlzLmVuZERhdGV9ICR7dGhpcy5lbmRUaW1lLnRpbWV9YCwgYERELU1NLVlZWVkgJHt0aGlzLnRpbWVGb3JtYXR9YCkudmFsdWVPZigpXG4gICAgfSk7XG4gIH1cblxuICBjaGVja1RpbWVWYWxpZGl0eSh0aW1lOiBzdHJpbmcsIGRhdGU6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IFJFMTIgPSAvXigoWzBdWzEtOV18MVswLTJdKTooWzAtNV1bMC05XSkoICk/KGFtfHBtfEFNfFBNKSkkL2k7XG4gICAgY29uc3QgUkUyNCA9IC9eKFswMV1bMC05XXwyWzAtM10pOlswLTVdWzAtOV0kLztcbiAgICBjb25zdCBSRSA9IHRoaXMuY2xvY2tGb3JtYXQgPT09IDEyID8gUkUxMiA6IFJFMjQ7XG5cbiAgICBjb25zdCB0aW1lTW9tZW50ID0gbW9tZW50KGAke21vbWVudChkYXRlKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpfSAke3RpbWV9YCwgYCdERC1NTS1ZWVlZJyAke3RoaXMudGltZUZvcm1hdH1gKTtcbiAgICBsZXQgZmxhZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy8gaWYgdGhlIGZpcnN0IGludGVydmFsIGlzIHNldCB0byB0aGUgc3RhcnQgb2YgdGhlIGRheVxuICAgIC8vIHRoZW4gd2UgZG9uJ3QgY2hlY2sgaXRzIHZhbGlkaXR5IGFnYWluc3QgdGhlIGN1cnJlbnQgdGltZVxuICAgIGlmICgodGhpcy5naXZlblN0YXJ0VGltZSAmJiB0aGlzLmdpdmVuRW5kVGltZSkgfHwgKHRoaXMuc3RhcnREYXRlICE9PSB0aGlzLmVuZERhdGUgJiYgdGhpcy5zdGFydERhdGUgIT09IHRoaXMuY3VyckRhdGUpKSB7XG4gICAgICBmbGFnID0gdGltZS5tYXRjaChSRSkgPyB0cnVlIDogZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZsYWcgPSB0aW1lLm1hdGNoKFJFKSAmJiB0aW1lTW9tZW50LmRpZmYobW9tZW50KCksIFwibVwiKSA+PSAwID8gdHJ1ZSA6IGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiBmbGFnO1xuICB9XG5cbiAgLy8gdmFsaWRhdGVzIGVuZCBwaWNrZXIncyBpbnB1dCBhY2NvcmRpbmcgdG8gdGhlIHN0YXJ0IHBpY2tlcidzIGlucHV0XG4gIHJhbmdlVmFsaWRhdGlvbih2YWxpZGl0eTogYm9vbGVhbikge1xuICAgIGlmICh2YWxpZGl0eSAmJiB0aGlzLnN0YXJ0RGF0ZSA9PT0gdGhpcy5lbmREYXRlKSB7XG4gICAgICBjb25zdCBzdGFydE1vbWVudCA9IG1vbWVudCh0aGlzLnN0YXJ0VGltZS50aW1lLCB0aGlzLnRpbWVGb3JtYXQpO1xuICAgICAgY29uc3QgZW5kTW9tZW50ID0gbW9tZW50KHRoaXMuZW5kVGltZS50aW1lLCB0aGlzLnRpbWVGb3JtYXQpO1xuICAgICAgdGhpcy5yYW5nZVZhbGlkaXR5ID0gZW5kTW9tZW50LmRpZmYoc3RhcnRNb21lbnQsIFwibVwiKSA+PSAxID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxufVxuIl19
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXJhbmdlcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL3RpbWVyYW5nZXBpY2tlci90aW1lcmFuZ2VwaWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxLQUFLLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQVExQyxNQUFNLE9BQU8sd0JBQXdCO0lBNEJuQyxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQTNCakMsZUFBVSxHQUFXLE9BQU8sQ0FBQztRQUU3QixXQUFNLEdBQVcsTUFBTSxDQUFDO1FBQ3hCLGFBQVEsR0FBVyxjQUFjLENBQUM7UUFDbEMsbUJBQWMsR0FBVyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzlELGlCQUFZLEdBQVcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUc1RCxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBQzVCLGNBQVMsR0FBZSxLQUFLLENBQUM7UUFDOUIsUUFBRyxHQUFXLE1BQU0sQ0FBQztRQUVwQixxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBTTVELGdDQUEyQixHQUFXLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3pELDhCQUF5QixHQUFXLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBR3ZELGtCQUFhLEdBQVks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QUFLOzBCQUNMLEtBQUs7dUJBQ0wsS0FBSzswQkFDTCxLQUFLO3dCQUNMLEtBQUs7a0JBQ0wsS0FBSzsrQkFFTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tIFwibW9tZW50LXRpbWV6b25lXCI7XG5pbXBvcnQgeyBJVGltZVJhbmdlLCBJVGltZSwgVERpcmVjdGlvbiB9IGZyb20gXCIuL3RpbWVyYW5nZS5uYW1lc3BhY2VcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1pcy10aW1lcmFuZ2VwaWNrZXJcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90aW1lcmFuZ2VwaWNrZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3RpbWVyYW5nZXBpY2tlci5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBUaW1lUmFuZ2VQaWNrZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBpbnB1dFdpZHRoOiBzdHJpbmcgPSBcIjEwMHB4XCI7XG4gIEBJbnB1dCgpIGRyb3Bkb3duV2lkdGg/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nID0gXCI0NnB4XCI7XG4gIEBJbnB1dCgpIHRpbWV6b25lOiBzdHJpbmcgPSBcIkFzaWEvS29sa2F0YVwiO1xuICBASW5wdXQoKSBzdGFydERhdGVFcG9jaDogbnVtYmVyID0gbW9tZW50KCkudHoodGhpcy50aW1lem9uZSkudmFsdWVPZigpO1xuICBASW5wdXQoKSBlbmREYXRlRXBvY2g6IG51bWJlciA9IG1vbWVudCgpLnR6KHRoaXMudGltZXpvbmUpLnZhbHVlT2YoKTtcbiAgQElucHV0KCkgZ2l2ZW5TdGFydFRpbWU6IG51bWJlcjtcbiAgQElucHV0KCkgZ2l2ZW5FbmRUaW1lOiBudW1iZXI7XG4gIEBJbnB1dCgpIGNsb2NrRm9ybWF0OiBudW1iZXIgPSAxMjtcbiAgQElucHV0KCkgaW50ZXJ2YWw6IG51bWJlciA9IDE1O1xuICBASW5wdXQoKSBzaG93VG9vbHRpcDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGRpcmVjdGlvbjogVERpcmVjdGlvbiA9ICdyb3cnO1xuICBASW5wdXQoKSBnYXA6IHN0cmluZyA9ICcxcmVtJztcblxuICBAT3V0cHV0KCkgdGltZVJhbmdlRW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8SVRpbWVSYW5nZT4oKTtcblxuICBzdGFydERhdGUhOiBzdHJpbmc7XG4gIGVuZERhdGUhOiBzdHJpbmc7XG4gIGN1cnJEYXRlITogc3RyaW5nO1xuICB0aW1lRm9ybWF0ITogc3RyaW5nO1xuICBmaXJzdEludGVydmFsRm9yU3RhcnRQaWNrZXI6IG51bWJlciA9IG1vbWVudCgpLnZhbHVlT2YoKTtcbiAgZmlyc3RJbnRlcnZhbEZvckVuZFBpY2tlcjogbnVtYmVyID0gbW9tZW50KCkudmFsdWVPZigpO1xuICBzdGFydFRpbWUhOiBJVGltZTtcbiAgZW5kVGltZSE6IElUaW1lO1xuICByYW5nZVZhbGlkaXR5OiBib29sZWFuID0gdHJ1ZTtcbiAgdHJpZ2dlckNoYW5nZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25Jbml0KCkge31cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLnRpbWVGb3JtYXQgPSB0aGlzLmNsb2NrRm9ybWF0ID09PSAxMiA/IFwiaGg6bW0gYVwiIDogXCJISDptbVwiO1xuICAgIG1vbWVudC50ei5zZXREZWZhdWx0KHRoaXMudGltZXpvbmUpO1xuICAgIHRoaXMuc3RhcnREYXRlID0gbW9tZW50KHRoaXMuc3RhcnREYXRlRXBvY2gpLmZvcm1hdChcIkRELU1NLVlZWVlcIik7XG4gICAgdGhpcy5lbmREYXRlID0gbW9tZW50KHRoaXMuZW5kRGF0ZUVwb2NoKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpO1xuICAgIHRoaXMuY3VyckRhdGUgPSBtb21lbnQoKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpO1xuICAgIHRoaXMuc2V0Rmlyc3RJbnRlcnZhbHMoKTtcbiAgfVxuXG4gIC8vIGNhbGN1bGF0ZSB0aGUgZmlyc3QgaW50ZXJ2YWwgb2YgdGhlIHBpY2tlclxuICBzZXRGaXJzdEludGVydmFscygpOiB2b2lkIHtcbiAgICBjb25zdCBtaW51dGVzID0gbW9tZW50KCkubWludXRlcygpO1xuICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuaW50ZXJ2YWwgLSAobWludXRlcyAlIHRoaXMuaW50ZXJ2YWwpO1xuXG4gICAgLy8gc3RhcnQgZGF0ZSwgMjIgTUFZID09PSAgY3VycmVudCBkYXRlLCAyMiBNQVlcbiAgICBpZiggdGhpcy5zdGFydERhdGUgPT09IHRoaXMuY3VyckRhdGUgKXtcbiAgICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gbW9tZW50KHRoaXMuc3RhcnREYXRlRXBvY2gpLnZhbHVlT2YoKTtcblxuICAgICAgLy8gc3RhcnQgZGF0ZSwgMjIgTUFZICA9PT0gY3VycmVudCBkYXRlLCAyMiBNQVkgPT09IGVuZCBkYXRlLCAyMiBNQVlcbiAgICAgIGlmKHRoaXMuc3RhcnREYXRlID09PSB0aGlzLmVuZERhdGUpe1xuXG4gICAgICAgIC8vIGN1cnJlbnQgdGltZSBpcyBpbiBsYXN0IGludGVydmFsXG4gICAgICAgIGlmKCBjdXJyZW50VGltZSA+PSBtb21lbnQodGhpcy5zdGFydERhdGVFcG9jaCkuZW5kT2YoXCJkXCIpLnN1YnRyYWN0KHRoaXMuaW50ZXJ2YWwsXCJtXCIpLnZhbHVlT2YoKSl7XG4gICAgICAgICAgdGhpcy5maXJzdEludGVydmFsRm9yU3RhcnRQaWNrZXIgPSBjdXJyZW50VGltZTtcbiAgICAgICAgICB0aGlzLmZpcnN0SW50ZXJ2YWxGb3JFbmRQaWNrZXIgPSAgbW9tZW50KHRoaXMuZW5kRGF0ZUVwb2NoKS5lbmRPZihcImRcIikudmFsdWVPZigpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGN1cnJlbnQgdGltZSBpc24ndCBpbiBsYXN0IGludGVydmFsXG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHRoaXMuZmlyc3RJbnRlcnZhbEZvclN0YXJ0UGlja2VyID0gbW9tZW50KCkuYWRkKG9mZnNldCwgXCJtXCIpLnZhbHVlT2YoKTtcbiAgICAgICAgICB0aGlzLmZpcnN0SW50ZXJ2YWxGb3JFbmRQaWNrZXIgPSAgbW9tZW50KCkuYWRkKG9mZnNldCwgXCJtXCIpLmFkZCh0aGlzLmludGVydmFsLCBcIm1cIikudmFsdWVPZigpO1xuICAgICAgICB9XG4gICAgICB9IFxuICAgICAgLy8gc3RhcnQgZGF0ZSwgMjIgTUFZID09PSBjdXJyZW50IGRhdGUsIDIyIE1BWSAhPT0gZW5kIGRhdGUsIDMwIE1BWVxuICAgICAgZWxzZSB7XG4gICAgICAgIC8vIGN1cnJlbnQgdGltZSBpcyBpbiBsYXN0IGludGVydmFsXG4gICAgICAgIGlmKCBjdXJyZW50VGltZSA+PSBtb21lbnQodGhpcy5zdGFydERhdGVFcG9jaCkuZW5kT2YoXCJkXCIpLnN1YnRyYWN0KHRoaXMuaW50ZXJ2YWwsXCJtXCIpLnZhbHVlT2YoKSl7XG4gICAgICAgICAgdGhpcy5maXJzdEludGVydmFsRm9yU3RhcnRQaWNrZXIgPSBjdXJyZW50VGltZTtcbiAgICAgICAgICB0aGlzLmZpcnN0SW50ZXJ2YWxGb3JFbmRQaWNrZXIgPSAgbW9tZW50KHRoaXMuZW5kRGF0ZUVwb2NoKS5lbmRPZihcImRcIikudmFsdWVPZigpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGN1cnJlbnQgdGltZSBpc24ndCBpbiBsYXN0IGludGVydmFsXG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHRoaXMuZmlyc3RJbnRlcnZhbEZvclN0YXJ0UGlja2VyID0gbW9tZW50KCkuYWRkKG9mZnNldCwgXCJtXCIpLnZhbHVlT2YoKTtcbiAgICAgICAgICB0aGlzLmZpcnN0SW50ZXJ2YWxGb3JFbmRQaWNrZXIgPSAgbW9tZW50KHRoaXMuZW5kRGF0ZUVwb2NoKS52YWx1ZU9mKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8gc3RhcnQgZGF0ZSwgMzAgTUFZICE9PSBjdXJyZW50IGRhdGUsIDIyIE1BWVxuICAgIGVsc2Uge1xuICAgICAgLy8gc3RhcnQgZGF0ZSA9PT0gZW5kIERhdGVcbiAgICAgIGlmKCB0aGlzLnN0YXJ0RGF0ZSA9PT0gdGhpcy5lbmREYXRlKXtcbiAgICAgICAgdGhpcy5maXJzdEludGVydmFsRm9yU3RhcnRQaWNrZXIgPSBtb21lbnQodGhpcy5zdGFydERhdGVFcG9jaCkuc3RhcnRPZihcImRcIikudmFsdWVPZigpO1xuICAgICAgICB0aGlzLmZpcnN0SW50ZXJ2YWxGb3JFbmRQaWNrZXIgPSAgbW9tZW50KHRoaXMuZW5kRGF0ZUVwb2NoKS5hZGQodGhpcy5pbnRlcnZhbCwgXCJtXCIpLnZhbHVlT2YoKTtcbiAgICAgIH0gXG4gICAgICAvLyBzdGFydCBkYXRlICE9PSBlbmQgZGF0ZVxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMuZmlyc3RJbnRlcnZhbEZvclN0YXJ0UGlja2VyID0gbW9tZW50KHRoaXMuc3RhcnREYXRlRXBvY2gpLnN0YXJ0T2YoXCJkXCIpLnZhbHVlT2YoKTtcbiAgICAgICAgdGhpcy5maXJzdEludGVydmFsRm9yRW5kUGlja2VyID0gIG1vbWVudCh0aGlzLnN0YXJ0RGF0ZUVwb2NoKS5zdGFydE9mKFwiZFwiKS52YWx1ZU9mKCk7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICBpZih0aGlzLmdpdmVuU3RhcnRUaW1lKVxuICAgICAgdGhpcy5maXJzdEludGVydmFsRm9yU3RhcnRQaWNrZXIgPSB0aGlzLmdpdmVuU3RhcnRUaW1lO1xuICAgXG4gICAgaWYodGhpcy5naXZlbkVuZFRpbWUpXG4gICAgICB0aGlzLmZpcnN0SW50ZXJ2YWxGb3JFbmRQaWNrZXIgPSB0aGlzLmdpdmVuRW5kVGltZTtcbiAgICAgIFxuICAgIHRoaXMuc3RhcnRUaW1lID0ge1xuICAgICAgdmFsaWQ6IHRydWUsXG4gICAgICB0aW1lOiBtb21lbnQodGhpcy5maXJzdEludGVydmFsRm9yU3RhcnRQaWNrZXIpLmZvcm1hdCh0aGlzLnRpbWVGb3JtYXQpLFxuICAgICAgZXBvY2g6IG1vbWVudCh0aGlzLmZpcnN0SW50ZXJ2YWxGb3JTdGFydFBpY2tlcikudmFsdWVPZigpXG4gICAgfTtcblxuICAgIHRoaXMuZW5kVGltZSA9IHtcbiAgICAgIHZhbGlkOiB0cnVlLFxuICAgICAgdGltZTogbW9tZW50KHRoaXMuZmlyc3RJbnRlcnZhbEZvckVuZFBpY2tlcikuZm9ybWF0KHRoaXMudGltZUZvcm1hdCksXG4gICAgICBlcG9jaDogbW9tZW50KHRoaXMuZmlyc3RJbnRlcnZhbEZvckVuZFBpY2tlcikudmFsdWVPZigpXG4gICAgfTtcbiAgfVxuXG4gIGVtaXRUaW1lUmFuZ2UoZGF0YTogSVRpbWVSYW5nZSk6IHZvaWQge1xuICAgIHRoaXMudGltZVJhbmdlRW1pdHRlci5lbWl0KGRhdGEpO1xuICB9XG5cbiAgLy9oYW5kbGVycyBjYXRjaCB0aGUgZW1pdHRlZCB2YWx1ZXMgYW5kIHJ1biB2YWxpZGF0aW9uXG4gIHN0YXJ0UGlja2VySGFuZGxlcih0aW1lOiBJVGltZSk6IHZvaWQge1xuICAgIHRoaXMuc3RhcnRUaW1lID0gdGltZTtcbiAgICB0aGlzLnJhbmdlVmFsaWRpdHkgPSB0cnVlO1xuICAgIC8vIGlmIHRoZSBzdGFydCB0aW1lIGNoYW5nZXMgYW5kIHRoZSBzdGFydCBkYXRlIGlzIHRoZSBzYW1lIGFzIHRoZSBlbmQgZGF0ZVxuICAgIC8vIGFuZCB0aGUgc3RhcnQgdGltZSA+PSAgZW5kIHRpbWVcbiAgICAvLyB1cGRhdGUgdGhlIGZpcnN0IGludGVydmFsIG9mIGVuZCBwaWNrZXIgYWNjb3JkaW5nIHRvIHRoZSB0aW1lIHNldCBpbiBzdGFydCBwaWNrZXJcbiAgICBpZiAodGhpcy5zdGFydERhdGUgPT09IHRoaXMuZW5kRGF0ZSkge1xuICAgICAgbGV0IG1pbnV0ZXMgPSBtb21lbnQodGhpcy5zdGFydFRpbWUudGltZSwgdGhpcy50aW1lRm9ybWF0KS5taW51dGVzKCk7XG4gICAgICBsZXQgb2Zmc2V0ID0gdGhpcy5pbnRlcnZhbCAtIChtaW51dGVzICUgdGhpcy5pbnRlcnZhbCk7XG4gICAgICB0aGlzLmZpcnN0SW50ZXJ2YWxGb3JFbmRQaWNrZXIgPSBtb21lbnQoYCR7dGhpcy5zdGFydERhdGV9ICR7dGhpcy5zdGFydFRpbWUudGltZX1gLCBgJ0RELU1NLVlZWVknICR7dGhpcy50aW1lRm9ybWF0fWApXG4gICAgICAgIC5hZGQob2Zmc2V0LCBcIm1cIilcbiAgICAgICAgLnZhbHVlT2YoKTtcblxuICAgICAgLy8gaWYgdGhlIGZpcnN0IGludGVydmFsID09IDEyOjAwYW0sIHNldCBpdCBhcyAxMTo1OXBtXG4gICAgICBjb25zdCBpbnRlcnZhbEFzU3RyaW5nID0gbW9tZW50KHRoaXMuZmlyc3RJbnRlcnZhbEZvckVuZFBpY2tlcikuZm9ybWF0KHRoaXMudGltZUZvcm1hdCk7XG4gICAgICBjb25zdCBlbmRPZkRheUFzU3RyaW5nID0gbW9tZW50KG1vbWVudChgJHt0aGlzLnN0YXJ0RGF0ZX1gLCBgREQtTU0tWVlZWSAke3RoaXMudGltZUZvcm1hdH1gKS5lbmRPZihcImRcIikuYWRkKDEsIFwibVwiKSkuZm9ybWF0KHRoaXMudGltZUZvcm1hdCk7XG4gICAgICBpZiAoaW50ZXJ2YWxBc1N0cmluZyA9PT0gZW5kT2ZEYXlBc1N0cmluZykge1xuICAgICAgICB0aGlzLmZpcnN0SW50ZXJ2YWxGb3JFbmRQaWNrZXIgPSBtb21lbnQoYCR7dGhpcy5zdGFydERhdGV9ICR7dGhpcy5zdGFydFRpbWUudGltZX1gLCBgJ0RELU1NLVlZWVknICR7dGhpcy50aW1lRm9ybWF0fWApLmVuZE9mKFwiZFwiKS52YWx1ZU9mKCk7XG4gICAgICB9XG5cbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB2YWxpZGl0eSA9XG4gICAgICAgIHRoaXMuY2hlY2tUaW1lVmFsaWRpdHkodGhpcy5zdGFydFRpbWUudGltZS50cmltKCksIHRoaXMuc3RhcnREYXRlRXBvY2gpICYmXG4gICAgICAgIHRoaXMuY2hlY2tUaW1lVmFsaWRpdHkodGhpcy5lbmRUaW1lLnRpbWUudHJpbSgpLCB0aGlzLmVuZERhdGVFcG9jaCk7XG5cbiAgICAgICAgdGhpcy5yYW5nZVZhbGlkYXRpb24odmFsaWRpdHkpO1xuICAgICAgICB0aGlzLmVtaXRUaW1lUmFuZ2Uoe1xuICAgICAgICAgIHZhbGlkOiB2YWxpZGl0eSAmJiB0aGlzLnJhbmdlVmFsaWRpdHksXG4gICAgICAgICAgc3RhcnRUaW1lOiB0aGlzLnN0YXJ0VGltZS50aW1lLFxuICAgICAgICAgIGVuZFRpbWU6IHRoaXMuZW5kVGltZS50aW1lLFxuICAgICAgICAgIHN0YXJ0RXBvY2g6IG1vbWVudChgJHt0aGlzLnN0YXJ0RGF0ZX0gJHt0aGlzLnN0YXJ0VGltZS50aW1lfWAsIGBERC1NTS1ZWVlZICR7dGhpcy50aW1lRm9ybWF0fWApLnZhbHVlT2YoKSxcbiAgICAgICAgICBlbmRFcG9jaDogbW9tZW50KGAke3RoaXMuZW5kRGF0ZX0gJHt0aGlzLmVuZFRpbWUudGltZX1gLCBgREQtTU0tWVlZWSAke3RoaXMudGltZUZvcm1hdH1gKS52YWx1ZU9mKClcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy50cmlnZ2VyQ2hhbmdlID0gIXRoaXMudHJpZ2dlckNoYW5nZTtcbiAgfVxuXG4gIGVuZFBpY2tlckhhbmRsZXIodGltZTogSVRpbWUpOiB2b2lkIHtcbiAgICB0aGlzLmVuZFRpbWUgPSB0aW1lO1xuXG4gICAgY29uc3QgdmFsaWRpdHkgPVxuICAgICAgdGhpcy5jaGVja1RpbWVWYWxpZGl0eSh0aGlzLnN0YXJ0VGltZS50aW1lLnRyaW0oKSwgdGhpcy5zdGFydERhdGVFcG9jaCkgJiYgdGhpcy5jaGVja1RpbWVWYWxpZGl0eSh0aGlzLmVuZFRpbWUudGltZS50cmltKCksIHRoaXMuZW5kRGF0ZUVwb2NoKTtcblxuICAgIHRoaXMucmFuZ2VWYWxpZGF0aW9uKHZhbGlkaXR5KTtcbiAgICB0aGlzLmVtaXRUaW1lUmFuZ2Uoe1xuICAgICAgdmFsaWQ6IHZhbGlkaXR5ICYmIHRoaXMucmFuZ2VWYWxpZGl0eSxcbiAgICAgIHN0YXJ0VGltZTogdGhpcy5zdGFydFRpbWUudGltZSxcbiAgICAgIGVuZFRpbWU6IHRoaXMuZW5kVGltZS50aW1lLFxuICAgICAgc3RhcnRFcG9jaDogbW9tZW50KGAke3RoaXMuc3RhcnREYXRlfSAke3RoaXMuc3RhcnRUaW1lLnRpbWV9YCwgYERELU1NLVlZWVkgJHt0aGlzLnRpbWVGb3JtYXR9YCkudmFsdWVPZigpLFxuICAgICAgZW5kRXBvY2g6IG1vbWVudChgJHt0aGlzLmVuZERhdGV9ICR7dGhpcy5lbmRUaW1lLnRpbWV9YCwgYERELU1NLVlZWVkgJHt0aGlzLnRpbWVGb3JtYXR9YCkudmFsdWVPZigpXG4gICAgfSk7XG4gIH1cblxuICBjaGVja1RpbWVWYWxpZGl0eSh0aW1lOiBzdHJpbmcsIGRhdGU6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IFJFMTIgPSAvXigoWzBdWzEtOV18MVswLTJdKTooWzAtNV1bMC05XSkoICk/KGFtfHBtfEFNfFBNKSkkL2k7XG4gICAgY29uc3QgUkUyNCA9IC9eKFswMV1bMC05XXwyWzAtM10pOlswLTVdWzAtOV0kLztcbiAgICBjb25zdCBSRSA9IHRoaXMuY2xvY2tGb3JtYXQgPT09IDEyID8gUkUxMiA6IFJFMjQ7XG5cbiAgICBjb25zdCB0aW1lTW9tZW50ID0gbW9tZW50KGAke21vbWVudChkYXRlKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpfSAke3RpbWV9YCwgYCdERC1NTS1ZWVlZJyAke3RoaXMudGltZUZvcm1hdH1gKTtcbiAgICBsZXQgZmxhZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy8gaWYgdGhlIGZpcnN0IGludGVydmFsIGlzIHNldCB0byB0aGUgc3RhcnQgb2YgdGhlIGRheVxuICAgIC8vIHRoZW4gd2UgZG9uJ3QgY2hlY2sgaXRzIHZhbGlkaXR5IGFnYWluc3QgdGhlIGN1cnJlbnQgdGltZVxuICAgIGlmICgodGhpcy5naXZlblN0YXJ0VGltZSAmJiB0aGlzLmdpdmVuRW5kVGltZSkgfHwgKHRoaXMuc3RhcnREYXRlICE9PSB0aGlzLmVuZERhdGUgJiYgdGhpcy5zdGFydERhdGUgIT09IHRoaXMuY3VyckRhdGUpKSB7XG4gICAgICBmbGFnID0gdGltZS5tYXRjaChSRSkgPyB0cnVlIDogZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZsYWcgPSB0aW1lLm1hdGNoKFJFKSAmJiB0aW1lTW9tZW50LmRpZmYobW9tZW50KCksIFwibVwiKSA+PSAwID8gdHJ1ZSA6IGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiBmbGFnO1xuICB9XG5cbiAgLy8gdmFsaWRhdGVzIGVuZCBwaWNrZXIncyBpbnB1dCBhY2NvcmRpbmcgdG8gdGhlIHN0YXJ0IHBpY2tlcidzIGlucHV0XG4gIHJhbmdlVmFsaWRhdGlvbih2YWxpZGl0eTogYm9vbGVhbikge1xuICAgIGlmICh2YWxpZGl0eSAmJiB0aGlzLnN0YXJ0RGF0ZSA9PT0gdGhpcy5lbmREYXRlKSB7XG4gICAgICBjb25zdCBzdGFydE1vbWVudCA9IG1vbWVudCh0aGlzLnN0YXJ0VGltZS50aW1lLCB0aGlzLnRpbWVGb3JtYXQpO1xuICAgICAgY29uc3QgZW5kTW9tZW50ID0gbW9tZW50KHRoaXMuZW5kVGltZS50aW1lLCB0aGlzLnRpbWVGb3JtYXQpO1xuICAgICAgdGhpcy5yYW5nZVZhbGlkaXR5ID0gZW5kTW9tZW50LmRpZmYoc3RhcnRNb21lbnQsIFwibVwiKSA+PSAxID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -3,6 +3,7 @@ export class ToolTipComponent {
3
3
  constructor() {
4
4
  this.toolTipText = "";
5
5
  this.toolTipPosition = "bottom";
6
+ this.toolTipTextAlignment = "";
6
7
  }
7
8
  ngOnInit() { }
8
9
  ngAfterViewInit() {
@@ -23,7 +24,7 @@ export class ToolTipComponent {
23
24
  ToolTipComponent.decorators = [
24
25
  { type: Component, args: [{
25
26
  selector: "mis-tooltip",
26
- template: "<div id=\"tooltip-container\" *ngIf=\"toolTipText.length > 0\" #container>\n <div id=\"tooltip\">\n <div id=\"tooltip-text\">{{ toolTipText }}</div>\n <span\n id=\"arrow\"\n [ngClass]=\"{\n 'arrow-left': toolTipPosition === 'left',\n 'arrow-right': toolTipPosition === 'right',\n 'arrow-top': toolTipPosition === 'top',\n 'arrow-bottom': toolTipPosition === 'bottom'\n }\"\n ></span>\n </div>\n</div>\n",
27
+ template: "<div id=\"tooltip-container\" *ngIf=\"toolTipText.length > 0\" #container>\n <div id=\"tooltip\">\n <div id=\"tooltip-text\" [innerHTML]=\"toolTipText\" \n [ngStyle]=\"{'text-align' : toolTipTextAlignment ? toolTipTextAlignment : '' }\"></div>\n <span\n id=\"arrow\"\n [ngClass]=\"{\n 'arrow-left': toolTipPosition === 'left',\n 'arrow-right': toolTipPosition === 'right',\n 'arrow-top': toolTipPosition === 'top',\n 'arrow-bottom': toolTipPosition === 'bottom'\n }\"\n ></span>\n </div>\n</div>\n",
27
28
  styles: ["#tooltip-container{position:absolute;z-index:1}#tooltip{position:relative;display:block;padding:8px 12px;border-radius:8px;color:#fff;background:#181f33;font-family:Lato,sans-serif;font-style:normal;font-weight:400;font-size:14px;line-height:20px;text-align:center;letter-spacing:.2px}#tooltip-text{width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#arrow{position:absolute;height:12px;width:12px;background:#181f33;z-index:1}.arrow-top{bottom:-6px}.arrow-bottom,.arrow-top{left:50%;transform:translateX(-50%) rotate(-45deg);-webkit-transform:translateX(-50%) rotate(-45deg)}.arrow-bottom{top:-6px}.arrow-left{right:-6px}.arrow-left,.arrow-right{top:50%;transform:translateY(-50%) rotate(-45deg);-webkit-transform:translateY(-50%) rotate(-45deg)}.arrow-right{left:-6px}"]
28
29
  },] }
29
30
  ];
@@ -31,4 +32,4 @@ ToolTipComponent.ctorParameters = () => [];
31
32
  ToolTipComponent.propDecorators = {
32
33
  container: [{ type: ViewChild, args: ["container",] }]
33
34
  };
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAtY29udGFpbmVyL3Rvb2x0aXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUE4QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFRaEcsTUFBTSxPQUFPLGdCQUFnQjtJQU0zQjtRQUxPLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLG9CQUFlLEdBQXNCLFFBQVEsQ0FBQztJQUl0QyxDQUFDO0lBQ2hCLFFBQVEsS0FBSSxDQUFDO0lBQ2IsZUFBZTs7UUFDYixJQUFJLFFBQUMsSUFBSSxDQUFDLFNBQVMsMENBQUUsYUFBYSxDQUFBO1lBQUUsT0FBTztRQUMzQyxJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssUUFBUSxFQUFFO1lBQ3ZFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDdEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUNyRSxPQUFPO1NBQ1I7UUFDRCxJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssTUFBTSxFQUFFO1lBQ25DLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDdEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1NBQ2xFO0lBQ0gsQ0FBQzs7O1lBeEJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsb2RBQXVDOzthQUV4Qzs7Ozt3QkFLRSxTQUFTLFNBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJVG9vbHRpcFBvc2l0aW9ucyB9IGZyb20gXCIuLi9tb2RlbHMvdG9vbHRpcC5tb2RlbFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWlzLXRvb2x0aXBcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90b29sdGlwLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi90b29sdGlwLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIFRvb2xUaXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBwdWJsaWMgdG9vbFRpcFRleHQ6IHN0cmluZyA9IFwiXCI7XG4gIHB1YmxpYyB0b29sVGlwUG9zaXRpb246IElUb29sdGlwUG9zaXRpb25zID0gXCJib3R0b21cIjtcblxuICBAVmlld0NoaWxkKFwiY29udGFpbmVyXCIpIGNvbnRhaW5lcjogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG4gIG5nT25Jbml0KCkge31cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICghdGhpcy5jb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQpIHJldHVybjtcbiAgICBpZiAodGhpcy50b29sVGlwUG9zaXRpb24gPT09IFwidG9wXCIgfHwgdGhpcy50b29sVGlwUG9zaXRpb24gPT09IFwiYm90dG9tXCIpIHtcbiAgICAgIGNvbnN0IGVsZVdpZHRoID0gdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUubGVmdCA9IGVsZVdpZHRoLndpZHRoIC8gLTIgKyBcInB4XCI7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLnRvb2xUaXBQb3NpdGlvbiA9PT0gXCJsZWZ0XCIpIHtcbiAgICAgIGNvbnN0IGVsZVdpZHRoID0gdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUubGVmdCA9IC1lbGVXaWR0aC53aWR0aCArIFwicHhcIjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAtY29udGFpbmVyL3Rvb2x0aXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUE4QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFRaEcsTUFBTSxPQUFPLGdCQUFnQjtJQU8zQjtRQU5PLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLG9CQUFlLEdBQXNCLFFBQVEsQ0FBQztRQUM5Qyx5QkFBb0IsR0FBVyxFQUFFLENBQUM7SUFJMUIsQ0FBQztJQUNoQixRQUFRLEtBQUksQ0FBQztJQUNiLGVBQWU7O1FBQ2IsSUFBSSxRQUFDLElBQUksQ0FBQyxTQUFTLDBDQUFFLGFBQWEsQ0FBQTtZQUFFLE9BQU87UUFDM0MsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLFFBQVEsRUFBRTtZQUN2RSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ3RFLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDckUsT0FBTztTQUNSO1FBQ0QsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLE1BQU0sRUFBRTtZQUNuQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ3RFLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztTQUNsRTtJQUNILENBQUM7OztZQXpCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLDJqQkFBdUM7O2FBRXhDOzs7O3dCQU1FLFNBQVMsU0FBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3QsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IElUb29sdGlwUG9zaXRpb25zIH0gZnJvbSBcIi4uL21vZGVscy90b29sdGlwLm1vZGVsXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtaXMtdG9vbHRpcFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3Rvb2x0aXAuY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgVG9vbFRpcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHB1YmxpYyB0b29sVGlwVGV4dDogc3RyaW5nID0gXCJcIjtcbiAgcHVibGljIHRvb2xUaXBQb3NpdGlvbjogSVRvb2x0aXBQb3NpdGlvbnMgPSBcImJvdHRvbVwiO1xuICBwdWJsaWMgdG9vbFRpcFRleHRBbGlnbm1lbnQ6IHN0cmluZyA9IFwiXCI7XG5cbiAgQFZpZXdDaGlsZChcImNvbnRhaW5lclwiKSBjb250YWluZXI6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuICBuZ09uSW5pdCgpIHt9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuY29udGFpbmVyPy5uYXRpdmVFbGVtZW50KSByZXR1cm47XG4gICAgaWYgKHRoaXMudG9vbFRpcFBvc2l0aW9uID09PSBcInRvcFwiIHx8IHRoaXMudG9vbFRpcFBvc2l0aW9uID09PSBcImJvdHRvbVwiKSB7XG4gICAgICBjb25zdCBlbGVXaWR0aCA9IHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPSBlbGVXaWR0aC53aWR0aCAvIC0yICsgXCJweFwiO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy50b29sVGlwUG9zaXRpb24gPT09IFwibGVmdFwiKSB7XG4gICAgICBjb25zdCBlbGVXaWR0aCA9IHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPSAtZWxlV2lkdGgud2lkdGggKyBcInB4XCI7XG4gICAgfVxuICB9XG59XG4iXX0=