ngx-hana-nameserver-history-viewer 1.1.90 → 1.2.0-9.91.beta

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.
@@ -1,11 +1,9 @@
1
1
  import { Component, Input, ChangeDetectionStrategy, Output, EventEmitter } from '@angular/core';
2
2
  import { TimezoneSelectorService } from './timezone-selector.service';
3
- import * as momentImported from 'moment-timezone';
3
+ import moment from 'moment-timezone';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "./timezone-selector.service";
6
6
  import * as i2 from "ngx-dropdown-list";
7
- // workaround for fixing following error when doing packagr: Cannot call a namespace ('moment')
8
- const moment = momentImported;
9
7
  export class TimezoneSelectorComponent {
10
8
  constructor(service) {
11
9
  this.service = service;
@@ -87,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
87
85
  }], timezoneChange: [{
88
86
  type: Output
89
87
  }] } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXpvbmUtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL25hbWVzZXJ2ZXItaGlzdG9yeS12aWV3ZXIvY29tcG9uZW50cy90aW1lem9uZS1zZWxlY3Rvci90aW1lem9uZS1zZWxlY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDMUgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxLQUFLLGNBQWMsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUVsRCwrRkFBK0Y7QUFDL0YsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDO0FBa0I5QixNQUFNLE9BQU8seUJBQXlCO0lBZXBDLFlBQW9CLE9BQWdDO1FBQWhDLFlBQU8sR0FBUCxPQUFPLENBQXlCO1FBYjNDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFaEIsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBWXBELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUNwRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUM5RixDQUFDLEVBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxLQUFLLFNBQVMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBUk8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNO1FBQ2pDLE9BQU8sTUFBTSxHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0lBUUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRTtZQUNyRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQzlGLENBQUMsRUFBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEtBQUssT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7YUFDcEk7U0FDRjtJQUNILENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsSUFBSTtRQUNwQyxPQUFPLEdBQUcsTUFBTSxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQzlFLENBQUM7SUFFTyxlQUFlLENBQUMsSUFBWTtRQUNsQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU8sVUFBVSxDQUFDLElBQVk7UUFDN0IsSUFBSSxNQUFNLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN6QyxNQUFNLEdBQUcsR0FBRyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksR0FBRyxFQUFFO1lBQ1AsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQztTQUN0QjtRQUNELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDM0MsT0FBTyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcseUJBQXlCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLHlCQUF5QixDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO0lBQ3hJLENBQUM7SUFFRDs7O09BR0c7SUFDSCxRQUFRLENBQUMsZ0JBQXdCO1FBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsZ0JBQWdCLENBQUM7UUFDakMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7O3VIQXpEVSx5QkFBeUI7MkdBQXpCLHlCQUF5QixtSkFIekIsQ0FBRSx1QkFBdUIsQ0FBRSwrQ0FYNUI7Ozs7Ozs7Ozs7R0FVVDs0RkFJVSx5QkFBeUI7a0JBaEJyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRTs7Ozs7Ozs7OztHQVVUO29CQUNELFNBQVMsRUFBRSxDQUFFLHVCQUF1QixDQUFFO29CQUN0QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7OEdBR1UsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUaW1lem9uZVNlbGVjdG9yU2VydmljZSB9IGZyb20gJy4vdGltZXpvbmUtc2VsZWN0b3Iuc2VydmljZSc7XHJcbmltcG9ydCAqIGFzIG1vbWVudEltcG9ydGVkIGZyb20gJ21vbWVudC10aW1lem9uZSc7XHJcblxyXG4vLyB3b3JrYXJvdW5kIGZvciBmaXhpbmcgZm9sbG93aW5nIGVycm9yIHdoZW4gZG9pbmcgcGFja2FncjogQ2Fubm90IGNhbGwgYSBuYW1lc3BhY2UgKCdtb21lbnQnKVxyXG5jb25zdCBtb21lbnQgPSBtb21lbnRJbXBvcnRlZDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGltZXpvbmUtc2VsZWN0b3InLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bmd4LWRyb3Bkb3duLWxpc3QgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbaXRlbXNdPVwidGltZXpvbmVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlTZWxlY3Rpb25dPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZUhvbGRlcl09XCInVGltZXpvbmVzJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgWyhzZWxlY3RlZFZhbHVlKV09XCJ0aW1lem9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2ZpbHRlckJveF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFthbGxvd0NsZWFyXT1cImZhbHNlXCI+XHJcbiAgICA8L25neC1kcm9wZG93bi1saXN0PlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbIFRpbWV6b25lU2VsZWN0b3JTZXJ2aWNlIF0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFRpbWV6b25lU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHRpbWV6b25lOiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIHRpbWV6b25lQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIGFsbCB0aW1lIHpvbmVzIGZvciBlYWNoIHJlZ2lvblxyXG4gICAqL1xyXG4gIHRpbWV6b25lczogYW55W107XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIF9mb3JtYXROdW1iZXIobnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBudW1iZXIgPCAxMCB8fCAhbnVtYmVyID8gYDAke251bWJlcn1gIDogYCR7bnVtYmVyfWA7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2U6IFRpbWV6b25lU2VsZWN0b3JTZXJ2aWNlKSB7XHJcbiAgICBjb25zdCBkZWZhdWx0VFogPSB0aGlzLnNlcnZpY2UuZ2V0RGVmYXVsdFRpbWV6b25lKCk7XHJcbiAgICB0aGlzLnRpbWV6b25lcyA9IHRoaXMuc2VydmljZS5nZXRab25lcygpLm1hcCh0eiA9PiAoe2dyb3VwOiB0ei5yZWdpb24sIGl0ZW1zOiB0ei56b25lcy5tYXAoem9uZSA9PlxyXG4gICAgICAgICh7aWQ6IHpvbmUsIHZhbHVlOiB6b25lLCB0ZXh0OiB0aGlzLl9nZXRGb3JtYXR0ZWRab25lKHR6LnJlZ2lvbiwgem9uZSksIHNlbGVjdGVkOiB6b25lID09PSBkZWZhdWx0VFp9KSl9KSk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlcy50aW1lem9uZSAmJiBjaGFuZ2VzLnRpbWV6b25lLmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICBpZiAodGhpcy50aW1lem9uZXMpIHtcclxuICAgICAgICB0aGlzLnRpbWV6b25lcyA9IHRoaXMuc2VydmljZS5nZXRab25lcygpLm1hcCh0eiA9PiAoe2dyb3VwOiB0ei5yZWdpb24sIGl0ZW1zOiB0ei56b25lcy5tYXAoem9uZSA9PlxyXG4gICAgICAgICAgICAoe2lkOiB6b25lLCB2YWx1ZTogem9uZSwgdGV4dDogdGhpcy5fZ2V0Rm9ybWF0dGVkWm9uZSh0ei5yZWdpb24sIHpvbmUpLCBzZWxlY3RlZDogem9uZSA9PT0gY2hhbmdlcy50aW1lem9uZS5jdXJyZW50VmFsdWV9KSl9KSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldEZvcm1hdHRlZFpvbmUocmVnaW9uLCB6b25lKSB7XHJcbiAgICByZXR1cm4gYCR7cmVnaW9ufSAtICR7dGhpcy5fZm9ybWF0VGltZXpvbmUoem9uZSl9ICR7dGhpcy5fZ2V0T2Zmc2V0KHpvbmUpfWA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9mb3JtYXRUaW1lem9uZSh6b25lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgdHogPSB6b25lLnNwbGl0KCcvJyk7XHJcbiAgICByZXR1cm4gdHpbdHoubGVuZ3RoIC0gMV0ucmVwbGFjZSgnXycsICcgJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXRPZmZzZXQoem9uZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGxldCBvZmZzZXQgPSBtb21lbnQudHooem9uZSkudXRjT2Zmc2V0KCk7XHJcbiAgICBjb25zdCBuZWcgPSBvZmZzZXQgPCAwO1xyXG4gICAgaWYgKG5lZykge1xyXG4gICAgICBvZmZzZXQgPSAtMSAqIG9mZnNldDtcclxuICAgIH1cclxuICAgIGNvbnN0IGhvdXJzID0gTWF0aC5mbG9vcihvZmZzZXQgLyA2MCk7XHJcbiAgICBjb25zdCBtaW51dGVzID0gKG9mZnNldCAvIDYwIC0gaG91cnMpICogNjA7XHJcbiAgICByZXR1cm4gYChHTVQke25lZyA/ICctJyA6ICcrJ30ke1RpbWV6b25lU2VsZWN0b3JDb21wb25lbnQuX2Zvcm1hdE51bWJlcihob3Vycyl9OiR7VGltZXpvbmVTZWxlY3RvckNvbXBvbmVudC5fZm9ybWF0TnVtYmVyKG1pbnV0ZXMpfSlgO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogb25DaGFuZ2UgZnVuY3Rpb24gY2FsbGVkIGJ5IHRoZSBcIm5neC1zZWxlY3RcIiBlbGVtZW50XHJcbiAgICogQHBhcmFtIHNlbGVjdGVkVGltZXpvbmUgVGhlIHRpbWV6b25lIHN0cmluZyBzZWxlY3RlZFxyXG4gICAqL1xyXG4gIG9uQ2hhbmdlKHNlbGVjdGVkVGltZXpvbmU6IHN0cmluZykge1xyXG4gICAgdGhpcy50aW1lem9uZSA9IHNlbGVjdGVkVGltZXpvbmU7XHJcbiAgICB0aGlzLnRpbWV6b25lQ2hhbmdlLmVtaXQodGhpcy50aW1lem9uZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXpvbmUtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL25hbWVzZXJ2ZXItaGlzdG9yeS12aWV3ZXIvY29tcG9uZW50cy90aW1lem9uZS1zZWxlY3Rvci90aW1lem9uZS1zZWxlY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDMUgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxNQUFNLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFtQnJDLE1BQU0sT0FBTyx5QkFBeUI7SUFlcEMsWUFBb0IsT0FBZ0M7UUFBaEMsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFiM0MsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVoQixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFZcEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQzlGLENBQUMsRUFBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEtBQUssU0FB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QUFtQjtvQkFDN0IsUUFBUSxFQUFFOzs7Ozs7Ozs7O0dBVVQ7b0JBQ0QsU0FBUyxFQUFFLENBQUUsdUJBQXVCLENBQUU7b0JBQ3RDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs4R0FHVSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRpbWV6b25lU2VsZWN0b3JTZXJ2aWNlIH0gZnJvbSAnLi90aW1lem9uZS1zZWxlY3Rvci5zZXJ2aWNlJztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQtdGltZXpvbmUnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGltZXpvbmUtc2VsZWN0b3InLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bmd4LWRyb3Bkb3duLWxpc3QgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbaXRlbXNdPVwidGltZXpvbmVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlTZWxlY3Rpb25dPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZUhvbGRlcl09XCInVGltZXpvbmVzJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgWyhzZWxlY3RlZFZhbHVlKV09XCJ0aW1lem9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2ZpbHRlckJveF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFthbGxvd0NsZWFyXT1cImZhbHNlXCI+XHJcbiAgICA8L25neC1kcm9wZG93bi1saXN0PlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbIFRpbWV6b25lU2VsZWN0b3JTZXJ2aWNlIF0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFRpbWV6b25lU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHRpbWV6b25lOiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIHRpbWV6b25lQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIGFsbCB0aW1lIHpvbmVzIGZvciBlYWNoIHJlZ2lvblxyXG4gICAqL1xyXG4gIHRpbWV6b25lczogYW55W107XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIF9mb3JtYXROdW1iZXIobnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBudW1iZXIgPCAxMCB8fCAhbnVtYmVyID8gYDAke251bWJlcn1gIDogYCR7bnVtYmVyfWA7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2U6IFRpbWV6b25lU2VsZWN0b3JTZXJ2aWNlKSB7XHJcbiAgICBjb25zdCBkZWZhdWx0VFogPSB0aGlzLnNlcnZpY2UuZ2V0RGVmYXVsdFRpbWV6b25lKCk7XHJcbiAgICB0aGlzLnRpbWV6b25lcyA9IHRoaXMuc2VydmljZS5nZXRab25lcygpLm1hcCh0eiA9PiAoe2dyb3VwOiB0ei5yZWdpb24sIGl0ZW1zOiB0ei56b25lcy5tYXAoem9uZSA9PlxyXG4gICAgICAgICh7aWQ6IHpvbmUsIHZhbHVlOiB6b25lLCB0ZXh0OiB0aGlzLl9nZXRGb3JtYXR0ZWRab25lKHR6LnJlZ2lvbiwgem9uZSksIHNlbGVjdGVkOiB6b25lID09PSBkZWZhdWx0VFp9KSl9KSk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlcy50aW1lem9uZSAmJiBjaGFuZ2VzLnRpbWV6b25lLmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICBpZiAodGhpcy50aW1lem9uZXMpIHtcclxuICAgICAgICB0aGlzLnRpbWV6b25lcyA9IHRoaXMuc2VydmljZS5nZXRab25lcygpLm1hcCh0eiA9PiAoe2dyb3VwOiB0ei5yZWdpb24sIGl0ZW1zOiB0ei56b25lcy5tYXAoem9uZSA9PlxyXG4gICAgICAgICAgICAoe2lkOiB6b25lLCB2YWx1ZTogem9uZSwgdGV4dDogdGhpcy5fZ2V0Rm9ybWF0dGVkWm9uZSh0ei5yZWdpb24sIHpvbmUpLCBzZWxlY3RlZDogem9uZSA9PT0gY2hhbmdlcy50aW1lem9uZS5jdXJyZW50VmFsdWV9KSl9KSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldEZvcm1hdHRlZFpvbmUocmVnaW9uLCB6b25lKSB7XHJcbiAgICByZXR1cm4gYCR7cmVnaW9ufSAtICR7dGhpcy5fZm9ybWF0VGltZXpvbmUoem9uZSl9ICR7dGhpcy5fZ2V0T2Zmc2V0KHpvbmUpfWA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9mb3JtYXRUaW1lem9uZSh6b25lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgdHogPSB6b25lLnNwbGl0KCcvJyk7XHJcbiAgICByZXR1cm4gdHpbdHoubGVuZ3RoIC0gMV0ucmVwbGFjZSgnXycsICcgJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXRPZmZzZXQoem9uZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGxldCBvZmZzZXQgPSBtb21lbnQudHooem9uZSkudXRjT2Zmc2V0KCk7XHJcbiAgICBjb25zdCBuZWcgPSBvZmZzZXQgPCAwO1xyXG4gICAgaWYgKG5lZykge1xyXG4gICAgICBvZmZzZXQgPSAtMSAqIG9mZnNldDtcclxuICAgIH1cclxuICAgIGNvbnN0IGhvdXJzID0gTWF0aC5mbG9vcihvZmZzZXQgLyA2MCk7XHJcbiAgICBjb25zdCBtaW51dGVzID0gKG9mZnNldCAvIDYwIC0gaG91cnMpICogNjA7XHJcbiAgICByZXR1cm4gYChHTVQke25lZyA/ICctJyA6ICcrJ30ke1RpbWV6b25lU2VsZWN0b3JDb21wb25lbnQuX2Zvcm1hdE51bWJlcihob3Vycyl9OiR7VGltZXpvbmVTZWxlY3RvckNvbXBvbmVudC5fZm9ybWF0TnVtYmVyKG1pbnV0ZXMpfSlgO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogb25DaGFuZ2UgZnVuY3Rpb24gY2FsbGVkIGJ5IHRoZSBcIm5neC1zZWxlY3RcIiBlbGVtZW50XHJcbiAgICogQHBhcmFtIHNlbGVjdGVkVGltZXpvbmUgVGhlIHRpbWV6b25lIHN0cmluZyBzZWxlY3RlZFxyXG4gICAqL1xyXG4gIG9uQ2hhbmdlKHNlbGVjdGVkVGltZXpvbmU6IHN0cmluZykge1xyXG4gICAgdGhpcy50aW1lem9uZSA9IHNlbGVjdGVkVGltZXpvbmU7XHJcbiAgICB0aGlzLnRpbWV6b25lQ2hhbmdlLmVtaXQodGhpcy50aW1lem9uZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,9 +1,7 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { getDefaultTimezone } from '../../utils';
3
- import * as momentImported from 'moment-timezone';
3
+ import moment from 'moment-timezone';
4
4
  import * as i0 from "@angular/core";
5
- // workaround for fixing following error when doing packagr: Cannot call a namespace ('moment')
6
- const moment = momentImported;
7
5
  export class TimezoneSelectorService {
8
6
  /**
9
7
  * get the default timezone
@@ -46,4 +44,4 @@ TimezoneSelectorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.
46
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimezoneSelectorService, decorators: [{
47
45
  type: Injectable
48
46
  }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXpvbmUtc2VsZWN0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9uYW1lc2VydmVyLWhpc3Rvcnktdmlld2VyL2NvbXBvbmVudHMvdGltZXpvbmUtc2VsZWN0b3IvdGltZXpvbmUtc2VsZWN0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqRCxPQUFPLEtBQUssY0FBYyxNQUFNLGlCQUFpQixDQUFDOztBQUVsRCwrRkFBK0Y7QUFDL0YsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDO0FBUTlCLE1BQU0sT0FBTyx1QkFBdUI7SUFFbEM7O09BRUc7SUFDSCxrQkFBa0I7UUFDaEIsT0FBTyxrQkFBa0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDTixNQUFNLFNBQVMsR0FBZSxFQUFFLENBQUM7UUFDakMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNoQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ25CLGFBQWE7WUFDYixJQUFJLE1BQU0sQ0FBQztZQUNYLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3pCLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQzthQUMvQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssZUFBZSxDQUFDLFNBQXFCLEVBQUUsTUFBYyxFQUFFLElBQVk7UUFDekUsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLGNBQWMsR0FBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsQ0FBQztZQUNqRSxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNuQixjQUFjLEdBQUcsRUFBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUMsQ0FBQztnQkFDN0MsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUNoQztZQUNELGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQzs7cUhBdENVLHVCQUF1Qjt5SEFBdkIsdUJBQXVCOzRGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGdldERlZmF1bHRUaW1lem9uZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0ICogYXMgbW9tZW50SW1wb3J0ZWQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcclxuXHJcbi8vIHdvcmthcm91bmQgZm9yIGZpeGluZyBmb2xsb3dpbmcgZXJyb3Igd2hlbiBkb2luZyBwYWNrYWdyOiBDYW5ub3QgY2FsbCBhIG5hbWVzcGFjZSAoJ21vbWVudCcpXHJcbmNvbnN0IG1vbWVudCA9IG1vbWVudEltcG9ydGVkO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUaW1lem9uZSB7XHJcbiAgcmVnaW9uOiBzdHJpbmc7XHJcbiAgem9uZXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBUaW1lem9uZVNlbGVjdG9yU2VydmljZSB7XHJcblxyXG4gIC8qKlxyXG4gICAqIGdldCB0aGUgZGVmYXVsdCB0aW1lem9uZVxyXG4gICAqL1xyXG4gIGdldERlZmF1bHRUaW1lem9uZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGdldERlZmF1bHRUaW1lem9uZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGFsbCB0aGUgdGltZXpvbmVzIGZvciBlYWNoIHJlZ2lvblxyXG4gICAqL1xyXG4gIGdldFpvbmVzKCk6IFRpbWV6b25lW10ge1xyXG4gICAgY29uc3QgdGltZXpvbmVzOiBUaW1lem9uZVtdID0gW107XHJcbiAgICBjb25zdCB6b25lcyA9IG1vbWVudC50ei5uYW1lcygpO1xyXG4gICAgem9uZXMuZm9yRWFjaCh6b25lID0+IHtcclxuICAgICAgLy8gZ2V0IHJlZ2lvblxyXG4gICAgICBsZXQgcmVnaW9uO1xyXG4gICAgICBpZiAoem9uZS5pbmRleE9mKCcvJykgPiAwKSB7XHJcbiAgICAgICAgcmVnaW9uID0gem9uZS5zbGljZSgwLCB6b25lLmluZGV4T2YoJy8nKSk7XHJcbiAgICAgICAgdGhpcy5fYnVpbGRUaW1lem9uZXModGltZXpvbmVzLCByZWdpb24sIHpvbmUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiB0aW1lem9uZXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBidWlsZCB0aW1lem9uZSBsaXN0c1xyXG4gICAqL1xyXG4gIHByaXZhdGUgX2J1aWxkVGltZXpvbmVzKHRpbWV6b25lczogVGltZXpvbmVbXSwgcmVnaW9uOiBzdHJpbmcsIHpvbmU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKHRpbWV6b25lcykge1xyXG4gICAgICBsZXQgdGltZXpvbmVSZWdpb24gPSAgdGltZXpvbmVzLmZpbmQodHogPT4gdHoucmVnaW9uID09PSByZWdpb24pO1xyXG4gICAgICBpZiAoIXRpbWV6b25lUmVnaW9uKSB7XHJcbiAgICAgICAgdGltZXpvbmVSZWdpb24gPSB7cmVnaW9uOiByZWdpb24sIHpvbmVzOiBbXX07XHJcbiAgICAgICAgdGltZXpvbmVzLnB1c2godGltZXpvbmVSZWdpb24pO1xyXG4gICAgICB9XHJcbiAgICAgIHRpbWV6b25lUmVnaW9uLnpvbmVzLnB1c2goem9uZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXpvbmUtc2VsZWN0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9uYW1lc2VydmVyLWhpc3Rvcnktdmlld2VyL2NvbXBvbmVudHMvdGltZXpvbmUtc2VsZWN0b3IvdGltZXpvbmUtc2VsZWN0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqRCxPQUFPLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQzs7QUFTckMsTUFBTSxPQUFPLHVCQUF1QjtJQUVsQzs7T0FFRztJQUNILGtCQUFrQjtRQUNoQixPQUFPLGtCQUFrQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLE1BQU0sU0FBUyxHQUFlLEVBQUUsQ0FBQztRQUNqQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2hDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbkIsYUFBYTtZQUNiLElBQUksTUFBTSxDQUFDO1lBQ1gsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDekIsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDMUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO2FBQy9DO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQ7O09BRUc7SUFDSyxlQUFlLENBQUMsU0FBcUIsRUFBRSxNQUFjLEVBQUUsSUFBWTtRQUN6RSxJQUFJLFNBQVMsRUFBRTtZQUNiLElBQUksY0FBYyxHQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ25CLGNBQWMsR0FBRyxFQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBQyxDQUFDO2dCQUM3QyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ2hDO1lBQ0QsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakM7SUFDSCxDQUFDOztxSEF0Q1UsdUJBQXVCO3lIQUF2Qix1QkFBdUI7NEZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZ2V0RGVmYXVsdFRpbWV6b25lIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC10aW1lem9uZSc7XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUaW1lem9uZSB7XHJcbiAgcmVnaW9uOiBzdHJpbmc7XHJcbiAgem9uZXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBUaW1lem9uZVNlbGVjdG9yU2VydmljZSB7XHJcblxyXG4gIC8qKlxyXG4gICAqIGdldCB0aGUgZGVmYXVsdCB0aW1lem9uZVxyXG4gICAqL1xyXG4gIGdldERlZmF1bHRUaW1lem9uZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGdldERlZmF1bHRUaW1lem9uZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGFsbCB0aGUgdGltZXpvbmVzIGZvciBlYWNoIHJlZ2lvblxyXG4gICAqL1xyXG4gIGdldFpvbmVzKCk6IFRpbWV6b25lW10ge1xyXG4gICAgY29uc3QgdGltZXpvbmVzOiBUaW1lem9uZVtdID0gW107XHJcbiAgICBjb25zdCB6b25lcyA9IG1vbWVudC50ei5uYW1lcygpO1xyXG4gICAgem9uZXMuZm9yRWFjaCh6b25lID0+IHtcclxuICAgICAgLy8gZ2V0IHJlZ2lvblxyXG4gICAgICBsZXQgcmVnaW9uO1xyXG4gICAgICBpZiAoem9uZS5pbmRleE9mKCcvJykgPiAwKSB7XHJcbiAgICAgICAgcmVnaW9uID0gem9uZS5zbGljZSgwLCB6b25lLmluZGV4T2YoJy8nKSk7XHJcbiAgICAgICAgdGhpcy5fYnVpbGRUaW1lem9uZXModGltZXpvbmVzLCByZWdpb24sIHpvbmUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiB0aW1lem9uZXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBidWlsZCB0aW1lem9uZSBsaXN0c1xyXG4gICAqL1xyXG4gIHByaXZhdGUgX2J1aWxkVGltZXpvbmVzKHRpbWV6b25lczogVGltZXpvbmVbXSwgcmVnaW9uOiBzdHJpbmcsIHpvbmU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKHRpbWV6b25lcykge1xyXG4gICAgICBsZXQgdGltZXpvbmVSZWdpb24gPSAgdGltZXpvbmVzLmZpbmQodHogPT4gdHoucmVnaW9uID09PSByZWdpb24pO1xyXG4gICAgICBpZiAoIXRpbWV6b25lUmVnaW9uKSB7XHJcbiAgICAgICAgdGltZXpvbmVSZWdpb24gPSB7cmVnaW9uOiByZWdpb24sIHpvbmVzOiBbXX07XHJcbiAgICAgICAgdGltZXpvbmVzLnB1c2godGltZXpvbmVSZWdpb24pO1xyXG4gICAgICB9XHJcbiAgICAgIHRpbWV6b25lUmVnaW9uLnpvbmVzLnB1c2goem9uZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -298,11 +298,16 @@ export class ChartService {
298
298
  * generate configuration for chart and create the chart object.
299
299
  */
300
300
  buildChart(time, data, yScale, header, headerKey, selection, tableSource, title, defaultItems, zoomCB) {
301
- return new Promise((resolve) => {
302
- const ctx = document.getElementById('chartNameServerHistory').getContext('2d');
303
- const cfg = ChartService._generateChartConfig(time, data, yScale, header, headerKey, selection, tableSource, title, defaultItems, zoomCB);
304
- this._chart = new Chart(ctx, cfg);
305
- resolve();
301
+ return new Promise((resolve, reject) => {
302
+ const ctx = document.getElementById('chartNameServerHistory')?.getContext('2d');
303
+ if (ctx) {
304
+ const cfg = ChartService._generateChartConfig(time, data, yScale, header, headerKey, selection, tableSource, title, defaultItems, zoomCB);
305
+ this._chart = new Chart(ctx, cfg);
306
+ resolve();
307
+ }
308
+ else {
309
+ reject('Can not find the canvas.');
310
+ }
306
311
  });
307
312
  }
308
313
  /**
@@ -320,4 +325,4 @@ ChartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version
320
325
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ChartService, decorators: [{
321
326
  type: Injectable
322
327
  }] });
323
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9uYW1lc2VydmVyLWhpc3Rvcnktdmlld2VyL3NlcnZpY2VzL2NoYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFxQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUV6RSwrRUFBK0U7QUFDL0UsV0FBVztBQUVYLE1BQU0sT0FBTyxZQUFZO0lBR3ZCOztPQUVHO0lBQ0ssTUFBTSxDQUFDLGNBQWMsQ0FBQyxZQUFvQixFQUFFLEtBQVksRUFBRSxNQUFlO1FBQy9FLDBEQUEwRDtRQUMxRCx5REFBeUQ7UUFDekQsd0RBQXdEO1FBQ3hELHVEQUF1RDtRQUN2RCxtRUFBbUU7UUFDbkUseUVBQXlFO1FBQ3pFLElBQUksWUFBWSxJQUFJLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ3pDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDaEQsSUFBSSxJQUFJLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLE1BQU0sRUFBRTtvQkFDWCw0RUFBNEU7b0JBQzVFLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO2lCQUN6RTtxQkFBTTtvQkFDTCxJ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SUFBYTtRQUNuRCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDN0IsWUFBWSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2pHLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7MEdBMVVVLFlBQVk7OEdBQVosWUFBWTs0RkFBWixZQUFZO2tCQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XHJcbmltcG9ydCB7IENoYXJ0IH0gZnJvbSAnY2hhcnQuanMnO1xyXG5pbXBvcnQgeyBnZXRDb2xvclN0cmluZywgZ2V0TnVtYmVyV2l0aENvbW1hcywgcmFuZG9tQ29sb3IgfSBmcm9tICcuLi91dGlscyc7XHJcbmltcG9ydCB7IFVJU2VydmljZSB9IGZyb20gJy4vdWkuc2VydmljZSc7XHJcbmltcG9ydCB7IENoYXJ0Q29udGVudERhdGFJdGVtLCBMZWdlbmRDb2xvciwgSXRlbSwgVW5pdCB9IGZyb20gJy4uL3R5cGVzJztcclxuXHJcbi8vIFVzaW5nIGR5bmFtaWMgZmxhZyB0byBmaXggdGhlIGlzc3VlIG9mIG5nLXBhY2thZ3IgIzY5NjogTGFtYmRhIG5vdCBzdXBwb3J0ZWRcclxuLy8gQGR5bmFtaWNcclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ2hhcnRTZXJ2aWNlIHtcclxuICBwcml2YXRlIF9jaGFydDogQ2hhcnQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIHRvZ2dsZSB0aGUgZGF0YXNldCBzdGF0dXMgb2YgdGhlIGNoYXJ0LCBzeW5jaHJvbm91c2x5XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdGF0aWMgX3RvZ2dsZURhdGFTZXQoZGF0YVNldEluZGV4OiBudW1iZXIsIGNoYXJ0OiBDaGFydCwgaGlkZGVuOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAvLyBtZXRhLmhpZGRlbiA9IGZhbHNlIGFuZCBkYXRhc2V0LmhpZGRlbiA9IGZhbHNlIC0tPiBzaG93XHJcbiAgICAvLyBtZXRhLmhpZGRlbiA9IGZhbHNlIGFuZCBkYXRhc2V0LmhpZGRlbiA9IHRydWUgLS0+IHNob3dcclxuICAgIC8vIG1ldGEuaGlkZGVuID0gbnVsbCBhbmQgZGF0YXNldC5oaWRkZW4gPSBmYWxzZSAtPiBzaG93XHJcbiAgICAvLyBtZXRhLmhpZGRlbiA9IG51bGwgYW5kIGRhdGFzZXQuaGlkZGVuID0gdHJ1ZSAtPiBoaWRlXHJcbiAgICAvLyBpbiB0aGUgZmlyc3QgY2FzZSAoZmFsc2UsIGZhbHNlKSwgbmVlZHMgdG8gY2xpY2sgbGVnZW5kIHR3aWNlIHRvXHJcbiAgICAvLyBoaWRlIHRoZSBkYXRhc2V0LCBiZWNhdXNlIHRoZSBmaXJzdCBjbGljayBvbmx5IHNldCBtZXRhLmhpZGRlbiA9IG51bGwpXHJcbiAgICBpZiAoZGF0YVNldEluZGV4ICE9IG51bGwgJiYgY2hhcnQgIT0gbnVsbCkge1xyXG4gICAgICBjb25zdCBtZXRhID0gY2hhcnQuZ2V0RGF0YXNldE1ldGEoZGF0YVNldEluZGV4KTtcclxuICAgICAgaWYgKG1ldGEpIHtcclxuICAgICAgICBpZiAoIWhpZGRlbikge1xyXG4gICAgICAgICAgLy8gZGlzcGxheSB0aGUgaXRlbSwgaWYgZGF0YXNldCBoaWRkZW4gaXMgZmFsc2UsIHNldCBoaWRkZW4gb2YgbWV0YSB0byBudWxsLFxyXG4gICAgICAgICAgbWV0YS5oaWRkZW4gPSAhY2hhcnQuZGF0YS5kYXRhc2V0c1tkYXRhU2V0SW5kZXhdLmhpZGRlbiA/IG51bGwgOiBoaWRkZW47XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG1ldGEuaGlkZGVuID0gaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBwcml2YXRlIHN0YXRpYyBfcmVzdG9yZURhdGFTZXRTdGF0dXMoY2hhcnQ6IENoYXJ0LCBkYXRhc2V0SW5kZXg6IG51bWJlciwgc3RhdHVzOiB7bWV0YVN0YXR1czogYm9vbGVhbiwgZGF0YXNldFN0YXR1czogYm9vbGVhbn0pOiB2b2lkIHtcclxuICAgIGlmIChjaGFydCAmJiBjaGFydC5kYXRhICYmIGNoYXJ0LmRhdGEuZGF0YXNldHMgJiYgY2hhcnQuZ2V0RGF0YXNldE1ldGEoZGF0YXNldEluZGV4KSAmJiBzdGF0dXMpIHtcclxuICAgICAgY2hhcnQuZGF0YS5kYXRhc2V0c1tkYXRhc2V0SW5kZXhdLmhpZGRlbiA9IHN0YXR1cy5kYXRhc2V0U3RhdHVzO1xyXG4gICAgICBjaGFydC5nZXREYXRhc2V0TWV0YShkYXRhc2V0SW5kZXgpLmhpZGRlbiA9IHN0YXR1cy5tZXRhU3RhdHVzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogaW5pdGlhbGl6ZS9jbGVhciB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIGNoYXJ0XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdGF0aWMgX2luaXRDb25maWcoY2hhcnQ6IGFueSk6IHZvaWQge1xyXG4gICAgLy8gaW5pdCBkYXRhIHNldHNcclxuICAgIGlmIChjaGFydC5kYXRhICYmIGNoYXJ0LmRhdGEuZGF0YXNldHMpIHtcclxuICAgICAgY2hhcnQuZGF0YS5kYXRhc2V0cy5sZW5ndGggPSAwO1xyXG4gICAgICBjaGFydC5kYXRhLmRhdGFzZXRzID0gdm9pZCAwO1xyXG4gICAgICBjaGFydC5kYXRhID0gdm9pZCAwO1xyXG4gICAgfVxyXG4gICAgLy8gaW5pdCBvcHRpb25zXHJcbiAgICBpZiAoY2hhcnQub3B0aW9ucyAmJiBjaGFydC5vcHRpb25zLnNjYWxlcyAmJiAoY2hhcnQub3B0aW9ucy5zY2FsZXMueEF4ZXMgfHwgY2hhcnQub3B0aW9ucy5zY2FsZXMueUF4aXMpKSB7XHJcbiAgICAgIGlmIChjaGFydC5vcHRpb25zLnNjYWxlcy54QXhlcykge1xyXG4gICAgICAgIGNoYXJ0Lm9wdGlvbnMuc2NhbGVzLnhBeGVzLmxlbmd0aCA9IDA7XHJcbiAgICAgICAgY2hhcnQub3B0aW9ucy5zY2FsZXMueEF4ZXMgPSB2b2lkIDA7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGNoYXJ0Lm9wdGlvbnMuc2NhbGVzLnlBeGVzKSB7XHJcbiAgICAgICAgY2hhcnQub3B0aW9ucy5zY2FsZXMueUF4ZXMubGVuZ3RoID0gMDtcclxuICAgICAgICBjaGFydC5vcHRpb25zLnNjYWxlcy55QXhlcyA9IHZvaWQgMDtcclxuICAgICAgfVxyXG4gICAgICBjaGFydC5vcHRpb25zLnNjYWxlcyA9IHZvaWQgMDtcclxuICAgICAgY2hhcnQub3B0aW9ucyA9IHZvaWQgMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdlbmVyYXRlIERhdGFTZXRzIGJ5IHRoZSBkYXRhIGFuZCBoZWFkZXIgaW5mb3JtYXRpb25cclxuICAgKi9cclxuICBwcml2YXRlIHN0YXRpYyBfZ2VuZXJhdGVEYXRhU2V0cyhkYXRhOiBDaGFydENvbnRlbnREYXRhSXRlbVtdW10sIGhlYWRlcjogc3RyaW5nW10sIGhlYWRlcktleTogc3RyaW5nW10sIGRlZmF1bHRJdGVtczogc3RyaW5nW10pOiBhbnkge1xyXG4gICAgY29uc3QgYWxwaGEgPSAwLjU7XHJcbiAgICBjb25zdCBjb2xvcnM6IExlZ2VuZENvbG9yID0gVUlTZXJ2aWNlLmdldENvbG9ycyhhbHBoYSk7XHJcbiAgICByZXR1cm4gZGF0YS5tYXAoKGl0ZW0sIGkpID0+IHtcclxuICAgICAgY29uc3QgY29sb3IgPSBjb2xvcnNbaGVhZGVyS2V5W2ldXSA/IGdldENvbG9yU3RyaW5nKGNvbG9yc1toZWFkZXJLZXlbaV1dKSA6IHJhbmRvbUNvbG9yKGFscGhhKTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBib3JkZXJDb2xvcjogY29sb3IsXHJcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcixcclxuICAgICAgICBib3JkZXJXaWR0aDogMS4yNSxcclxuICAgICAgICBzcGFuR2FwczogZmFsc2UsXHJcbiAgICAgICAgbGFiZWw6IGhlYWRlcltpXSxcclxuICAgICAgICBkYXRhOiBkYXRhW2ldLFxyXG4gICAgICAgIGZpbGw6IGZhbHNlLFxyXG4gICAgICAgIHlBeGlzSUQ6IGB5LWF4aXMtJHtpfWAsXHJcbiAgICAgICAgaGlkZGVuOiAhZGVmYXVsdEl0ZW1zLmluY2x1ZGVzKGhlYWRlcltpXSlcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIHN0YXRpYyBfZ2VuZXJhdGVYQXhlcyh0aW1lOiBudW1iZXJbXSk6IGFueSB7XHJcbiAgICBjb25zdCBmb3JtYXQgPSAnTU1NREQgSEg6bW06c3MnO1xyXG4gICAgcmV0dXJuIFtcclxuICAgICAge1xyXG4gICAgICAgIHR5cGU6ICd0aW1lJyxcclxuICAgICAgICB0aW1lOiB7XHJcbiAgICAgICAgICAvLyB1bml0OiAnc2Vjb25kJyxcclxuICAgICAgICAgIC8vIHN0ZXBTaXplOiAxLFxyXG4gICAgICAgICAgZGlzcGxheUZvcm1hdHM6IHtcclxuICAgICAgICAgICAgJ21pbGxpc2Vjb25kJzogZm9ybWF0LFxyXG4gICAgICAgICAgICAnc2Vjb25kJzogZm9ybWF0LFxyXG4gICAgICAgICAgICAnbWludXRlJzogZm9ybWF0LFxyXG4gICAgICAgICAgICAnaG91cic6ICdNTU1ERCBISCcsXHJcbiAgICAgICAgICAgICdkYXknOiAnTU1NREQgWVlZWScsXHJcbiAgICAgICAgICAgICd3ZWVrJzogZm9ybWF0LFxyXG4gICAgICAgICAgICAnbW9udGgnOiBmb3JtYXQsXHJcbiAgICAgICAgICAgICdxdWFydGVyJzogZm9ybWF0LFxyXG4gICAgICAgICAgICAneWVhcic6IGZvcm1hdCxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB0b29sdGlwRm9ybWF0OiAnbGwgSEg6bW06c3MnLFxyXG4gICAgICAgICAgbWluOiB0aW1lWzBdLFxyXG4gICAgICAgICAgbWF4OiB0aW1lW3RpbWUubGVuZ3RoIC0gMV1cclxuICAgICAgICB9LFxyXG4gICAgICAgIC8vIHNjYWxlTGFiZWw6IHtcclxuICAgICAgICAvLyAgIGRpc3BsYXk6IGZhbHNlLFxyXG4gICAgICAgIC8vICAgbGFiZWxTdHJpbmc6ICdEYXRlJ1xyXG4gICAgICAgIC8vIH0sXHJcbiAgICAgICAgdGlja3M6IHtcclxuICAgICAgICAgIG1heFJvdGF0aW9uOiAwLFxyXG4gICAgICAgICAgcmV2ZXJzZTogdHJ1ZVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgXTtcclxuICB9XHJcbiAgcHJpdmF0ZSBzdGF0aWMgX2dlbmVyYXRlWUF4ZXMoZGF0YTogQ2hhcnRDb250ZW50RGF0YUl0ZW1bXVtdLCB5U2NhbGU6IG51bWJlcltdKTogYW55IHtcclxuICAgIHJldHVybiBkYXRhLm1hcCgoaXRlbSwgaSkgPT4gKHtcclxuICAgICAgdHlwZTogJ2xpbmVhcicsXHJcbiAgICAgIGRpc3BsYXk6IGZhbHNlLFxyXG4gICAgICBwb3NpdGlvbjogJ2xlZnQnLFxyXG4gICAgICBpZDogYHktYXhpcy0ke2l9YCxcclxuICAgICAgZ3JpZExpbmVzOiB7XHJcbiAgICAgIH0sXHJcbiAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgbWluOiAwLFxyXG4gICAgICAgIG1heDogeVNjYWxlW2ldXHJcbiAgICAgIH1cclxuICAgIH0pKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGdlbmVyYXRlIGNvbmZpZ3VyYXRpb24gZm9yIGNoYXJ0XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdGF0aWMgX2dlbmVyYXRlQ2hhcnRDb25maWcodGltZTogbnVtYmVyW10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogQ2hhcnRDb250ZW50RGF0YUl0ZW1bXVtdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlTY2FsZTogbnVtYmVyW10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyOiBzdHJpbmdbXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJLZXk6IHN0cmluZ1tdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55PixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZVNvdXJjZTogYW55LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBzdHJpbmcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdEl0ZW1zOiBzdHJpbmdbXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6b29tQ2FsbGJhY2s6IGFueSk6IGFueSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB0eXBlOiAnbGluZScsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBkYXRhc2V0czogQ2hhcnRTZXJ2aWNlLl9nZW5lcmF0ZURhdGFTZXRzKGRhdGEsIGhlYWRlciwgaGVhZGVyS2V5LCBkZWZhdWx0SXRlbXMpXHJcbiAgICAgIH0sXHJcbiAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICBlbGVtZW50czoge3BvaW50OiB7cmFkaXVzOiAwLCBoaXRSYWRpdXM6IDUsIGhvdmVyUmFkaXVzOiA1fX0sIC8vIHNldCByYWRpdXMgdG8gMCBub3QgdG8gZGlzcGxheSBwb2ludFxyXG4gICAgICAgIHJlc3BvbnNpdmU6IHRydWUsXHJcbiAgICAgICAgYW5pbWF0aW9uOiB7XHJcbiAgICAgICAgICBkdXJhdGlvbjogMCwgLy8gZ2VuZXJhbCBhbmltYXRpb24gdGltZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaG92ZXI6IHtcclxuICAgICAgICAgIGFuaW1hdGlvbkR1cmF0aW9uOiAwLCAvLyBkdXJhdGlvbiBvZiBhbmltYXRpb25zIHdoZW4gaG92ZXJpbmcgYW4gaXRlbVxyXG4gICAgICAgICAgb25Ib3ZlcjogZnVuY3Rpb24gKGUpIHtcclxuICAgICAgICAgICAgY29uc3QgcG9pbnQgPSB0aGlzLmdldEVsZW1lbnRBdEV2ZW50KGUpO1xyXG4gICAgICAgICAgICBpZiAocG9pbnQubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgZS50YXJnZXQuc3R5bGUuY3Vyc29yID0gJ3BvaW50ZXInO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGUudGFyZ2V0LnN0eWxlLmN1cnNvciA9ICdkZWZhdWx0JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcmVzcG9uc2l2ZUFuaW1hdGlvbkR1cmF0aW9uOiAwLCAvLyBhbmltYXRpb24gZHVyYXRpb24gYWZ0ZXIgYSByZXNpemVcclxuICAgICAgICBsZWdlbmQ6IHtcclxuICAgICAgICAgIHBvc2l0aW9uOiAnYm90dG9tJyxcclxuICAgICAgICAgIG9uSG92ZXI6IChlKSA9PiB7XHJcbiAgICAgICAgICAgIGUudGFyZ2V0LnN0eWxlLmN1cnNvciA9ICdwb2ludGVyJztcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBsYWJlbHM6IHtcclxuICAgICAgICAgICAgZmlsdGVyOiAobGVnZW5kSXRlbSkgPT4gc2VsZWN0aW9uLmlzU2VsZWN0ZWQodGFibGVTb3VyY2UuZmluZChyb3cgPT4gbGVnZW5kSXRlbS50ZXh0ID09PSByb3cuS1BJKSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHRpdGxlOiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxyXG4gICAgICAgICAgdGV4dDogdGl0bGVcclxuICAgICAgICB9LFxyXG4gICAgICAgIHJlc3BvbnNpdmVEb3duc2FtcGxlOiB7XHJcbiAgICAgICAgICBlbmFibGVkOiB0cnVlLFxyXG4gICAgICAgICAgZGVzaXJlZERhdGFQb2ludERpc3RhbmNlOiAyLFxyXG4gICAgICAgICAgbWluTnVtUG9pbnRzOiAyMDAsXHJcbiAgICAgICAgICBtYXhOdW1Qb2ludHNUb0RyYXc6IDEwMFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdG9vbHRpcHM6IHtcclxuICAgICAgICAgIGNhbGxiYWNrczoge1xyXG4gICAgICAgICAgICBsYWJlbDogZnVuY3Rpb24odG9vbHRpcEl0ZW0sIGNoYXJ0RGF0YSkge1xyXG4gICAgICAgICAgICAgIC8vIGZvcm1hdCBudW1iZXJzIHdpdGggY29tbWFzIGFuZCBhZGQgdW5pdCBpbmZvcm1hdGlvblxyXG4gICAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gY2hhcnREYXRhLmRhdGFzZXRzW3Rvb2x0aXBJdGVtLmRhdGFzZXRJbmRleF0ubGFiZWwgfHwgJyc7XHJcbiAgICAgICAgICAgICAgaWYgKGxhYmVsKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBnZXQgdW5pdCAoZWc6IE1CLCBHQiwgTUIvcywgJSBhbmQgc28gb24pXHJcbiAgICAgICAgICAgICAgICBjb25zdCByb3dJdGVtID0gdGFibGVTb3VyY2UuZmluZChjb250cm9sVGFibGVSb3cgPT4gbGFiZWwgPT09IGNvbnRyb2xUYWJsZVJvdy5LUEkpIHx8ICcnO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdW5pdCA9IHJvd0l0ZW1bSXRlbS51bml0XSAmJiByb3dJdGVtW0l0ZW0udW5pdF0gIT09IFVuaXQuUENUID8gYCAke3Jvd0l0ZW1bSXRlbS51bml0XX1gIDogcm93SXRlbVtJdGVtLnVuaXRdIHx8ICcnO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke2xhYmVsfTogJHtnZXROdW1iZXJXaXRoQ29tbWFzKHRvb2x0aXBJdGVtLnlMYWJlbCl9JHt1bml0fWA7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBnZXROdW1iZXJXaXRoQ29tbWFzKHRvb2x0aXBJdGVtLnlMYWJlbCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBzY2FsZXM6IHtcclxuICAgICAgICAgIHhBeGVzOiBDaGFydFNlcnZpY2UuX2dlbmVyYXRlWEF4ZXModGltZSksXHJcbiAgICAgICAgICB5QXhlczogQ2hhcnRTZXJ2aWNlLl9nZW5lcmF0ZVlBeGVzKGRhdGEsIHlTY2FsZSlcclxuICAgICAgICB9LFxyXG4gICAgICAgIHpvb206IHtcclxuICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXHJcbiAgICAgICAgICBkcmFnOiB0cnVlLFxyXG4gICAgICAgICAgbW9kZTogJ3gnLFxyXG4gICAgICAgICAgb25ab29tOiB6b29tQ2FsbGJhY2tcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXREYXRhU2V0SW5kZXhCeUxhYmVsKGxhYmVsOiBzdHJpbmcsIGNoYXJ0OiBDaGFydCk6IG51bWJlciB7XHJcbiAgICBpZiAoY2hhcnQuZGF0YSAmJiBjaGFydC5kYXRhLmRhdGFzZXRzKSB7XHJcbiAgICAgIHJldHVybiBjaGFydC5kYXRhLmRhdGFzZXRzLmZpbmRJbmRleChkYXRhc2V0ID0+IGRhdGFzZXQubGFiZWwgPT09IGxhYmVsKTtcclxuICAgIH1cclxuICAgIHJldHVybiAtMTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGRlc3Ryb3kgdGhlIGNoYXJ0LCByZWxlYXNlIHRoZSByZXNvdXJjZSBvZiB0aGUgY2hhcnRcclxuICAgKi9cclxuICBwcml2YXRlIF9kZXN0cm95Q2hhcnQoY2hhcnQ6IENoYXJ0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuICAgICAgaWYgKGNoYXJ0KSB7XHJcbiAgICAgICAgY2hhcnQuZGVzdHJveSgpO1xyXG4gICAgICB9XHJcbiAgICAgIHJlc29sdmUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiB1cGRhdGUvcmVmcmVzaCB0aGUgY2hhcnRcclxuICAgKi9cclxuICBwcml2YXRlIF91cGRhdGVDaGFydChjaGFydDogQ2hhcnQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGlmIChjaGFydCkge1xyXG4gICAgICAgIGNoYXJ0LnVwZGF0ZSgpO1xyXG4gICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZWplY3QoJ1VwZGF0aW5nIGNoYXJ0IGZhaWxlZCwgZXJyb3I6IHRoZSBjaGFydCBvYmplY3QgaXMgZW1wdHkuJyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogcmVzZXQgem9vbSBvZiB0aGUgY2hhcnRcclxuICAgKi9cclxuICBwcml2YXRlIF9yZXNldFpvb20oY2hhcnQ6IGFueSk6IFByb21pc2U8e21ldGFTdGF0dXM6IGJvb2xlYW4sIGRhdGFzZXRTdGF0dXM6IGJvb2xlYW59W10+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGlmIChjaGFydCkge1xyXG4gICAgICAgIGNvbnN0IGRhdGFzZXRTdGF0dXNCZWZvcmVSZXNldCA9IFtdO1xyXG4gICAgICAgIGlmIChjaGFydC5kYXRhICYmIGNoYXJ0LmRhdGEuZGF0YXNldHMpIHtcclxuICAgICAgICAgIGNoYXJ0LmRhdGEuZGF0YXNldHMuZm9yRWFjaCgoZGF0YXNldCwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgbWV0YSA9IGNoYXJ0LmdldERhdGFzZXRNZXRhKGluZGV4KTtcclxuICAgICAgICAgICAgaWYgKG1ldGEpIHtcclxuICAgICAgICAgICAgICBkYXRhc2V0U3RhdHVzQmVmb3JlUmVzZXRbaW5kZXhdID0ge21ldGFTdGF0dXM6IG1ldGEuaGlkZGVuLCBkYXRhc2V0U3RhdHVzOiBkYXRhc2V0LmhpZGRlbn07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgcmVqZWN0KGBJbnRlcm5hbCBlcnJvciwgY2FuIG5vdCBmaW5kIHRoZSBtZXRhICR7aW5kZXh9LmApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY2hhcnQucmVzZXRab29tKCk7XHJcbiAgICAgICAgcmVzb2x2ZShkYXRhc2V0U3RhdHVzQmVmb3JlUmVzZXQpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJlamVjdCgnUmVzZXR0aW5nIGNoYXJ0IGZhaWxlZCwgZXJyb3I6IHRoZSBjaGFydCBvYmplY3QgaXMgZW1wdHkuJyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBSZXNldCBDaGFydCB0byBpbml0aWFsIHN0YXR1c1xyXG4gICAqIElmIGxlZ2VuZCBpcyBhbHJlYWR5IHNlbGVjdGVkL3Vuc2VsZWN0ZWQgZnJvbSB0aGUgbGlzdCwgaXQgd291bGRuJ3QgYmUgcmVzdG9yZWQuXHJcbiAgICogQHBhcmFtIGRhdGFTb3VyY2VEYXRhIHRoZSBkYXRhIHNldHMgb2YgdGhlIGNoYXJ0XHJcbiAgICogQHBhcmFtIHNlbGVjdGlvbiBzZWxlY3Rpb24gc3RhdHVzIGxpc3RcclxuICAgKi9cclxuICBwdWJsaWMgcmVzZXRDaGFydChkYXRhU291cmNlRGF0YTogYW55LCBzZWxlY3Rpb246IFNlbGVjdGlvbk1vZGVsPGFueT4pOiBQcm9taXNlIDxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9yZXNldFpvb20odGhpcy5fY2hhcnQpLnRoZW4oKGRhdGFzZXRTdGF0dXNCZWZvcmVab29tKSA9PiB7XHJcbiAgICAgIC8vIHJlc2V0IHRoZSBkYXRhIHNldCBieSB0aGUgc2VsZWN0aW9uIHN0YXR1c1xyXG4gICAgICBkYXRhU291cmNlRGF0YS5maWx0ZXIocm93ID0+ICFyb3cuaGVhZGVyKS5mb3JFYWNoKHJvdyA9PiB7XHJcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLl9nZXREYXRhU2V0SW5kZXhCeUxhYmVsKHJvdy5LUEksIHRoaXMuX2NoYXJ0KTtcclxuICAgICAgICBpZiAoIXNlbGVjdGlvbi5pc1NlbGVjdGVkKHJvdykpIHtcclxuICAgICAgICAgIENoYXJ0U2VydmljZS5fdG9nZ2xlRGF0YVNldChpbmRleCwgdGhpcy5fY2hhcnQsIHRydWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBDaGFydFNlcnZpY2UuX3Jlc3RvcmVEYXRhU2V0U3RhdHVzKHRoaXMuX2NoYXJ0LCBpbmRleCwgZGF0YXNldFN0YXR1c0JlZm9yZVpvb21baW5kZXhdKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gdGhpcy5fdXBkYXRlQ2hhcnQodGhpcy5fY2hhcnQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBkZXN0cm95IHRoZSBjaGFydCBhbmQgcmVpbml0aWFsaXplIHRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBjaGFydFxyXG4gICAqL1xyXG4gIHB1YmxpYyBkZXN0cm95Q2hhcnQoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9kZXN0cm95Q2hhcnQodGhpcy5fY2hhcnQpLnRoZW4oKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5fY2hhcnQpIHtcclxuICAgICAgICBDaGFydFNlcnZpY2UuX2luaXRDb25maWcodGhpcy5fY2hhcnQpO1xyXG4gICAgICAgIHRoaXMuX2NoYXJ0ID0gdm9pZCAwO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGdlbmVyYXRlIGNvbmZpZ3VyYXRpb24gZm9yIGNoYXJ0IGFuZCBjcmVhdGUgdGhlIGNoYXJ0IG9iamVjdC5cclxuICAgKi9cclxuICBwdWJsaWMgYnVpbGRDaGFydCh0aW1lOiBudW1iZXJbXSxcclxuICAgICAgICAgICAgICAgICAgICBkYXRhOiBDaGFydENvbnRlbnREYXRhSXRlbVtdW10sXHJcbiAgICAgICAgICAgICAgICAgICAgeVNjYWxlOiBudW1iZXJbXSxcclxuICAgICAgICAgICAgICAgICAgICBoZWFkZXI6IHN0cmluZ1tdLFxyXG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcktleTogc3RyaW5nW10sXHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uOiBTZWxlY3Rpb25Nb2RlbDxhbnk+LFxyXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlU291cmNlOiBhbnksXHJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHN0cmluZyxcclxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0SXRlbXM6IHN0cmluZ1tdLFxyXG4gICAgICAgICAgICAgICAgICAgIHpvb21DQik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIGNvbnN0IGN0eCA9ICg8SFRNTENhbnZhc0VsZW1lbnQ+IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjaGFydE5hbWVTZXJ2ZXJIaXN0b3J5JykpLmdldENvbnRleHQoJzJkJyk7XHJcbiAgICAgIGNvbnN0IGNmZzogYW55ID0gQ2hhcnRTZXJ2aWNlLl9nZW5lcmF0ZUNoYXJ0Q29uZmlnKHRpbWUsIGRhdGEsIHlTY2FsZSwgaGVhZGVyLCBoZWFkZXJLZXksIHNlbGVjdGlvbiwgdGFibGVTb3VyY2UsIHRpdGxlLCBkZWZhdWx0SXRlbXMsIHpvb21DQik7XHJcbiAgICAgIHRoaXMuX2NoYXJ0ID0gbmV3IENoYXJ0KGN0eCwgY2ZnKTtcclxuICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBzaG93L2hpZGUgdGhlIHJlbGF0aXZlIGRhdGEgc2V0XHJcbiAgICovXHJcbiAgcHVibGljIHRvZ2dsZURhdGFJbkNoYXJ0KGxhYmVsOiBzdHJpbmcsIGhpZGU6IGJvb2xlYW4pOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIENoYXJ0U2VydmljZS5fdG9nZ2xlRGF0YVNldCh0aGlzLl9nZXREYXRhU2V0SW5kZXhCeUxhYmVsKGxhYmVsLCB0aGlzLl9jaGFydCksIHRoaXMuX2NoYXJ0LCBoaWRlKTtcclxuICAgICAgcmVzb2x2ZSh0aGlzLl91cGRhdGVDaGFydCh0aGlzLl9jaGFydCkpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
328
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9uYW1lc2VydmVyLWhpc3Rvcnktdmlld2VyL3NlcnZpY2VzL2NoYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFxQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUV6RSwrRUFBK0U7QUFDL0UsV0FBVztBQUVYLE1BQU0sT0FBTyxZQUFZO0lBR3ZCOztPQUVHO0lBQ0ssTUFBTSxDQUFDLGNBQWMsQ0FBQyxZQUFvQixFQUFFLEtBQVksRUFBRSxNQUFlO1FBQy9FLDBEQUEwRDtRQUMxRCx5REFBeUQ7UUFDekQsd0RBQXdEO1FBQ3hELHVEQUF1RDtRQUN2RCxtRUFBbUU7UUFDbkUseUVBQXlFO1FBQ3pFLElBQUksWUFBWSxJQUFJLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ3pDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDaEQsSUFBSSxJQUFJLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLE1BQU0sRUFBRTtvQkFDWCw0RUFBNEU7b0JBQzVFLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO2lCQUN6RTtxQkFBTTtvQkFDTCxJ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QUFDLENBQUM7YUFDcEM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLGlCQUFpQixDQUFDLEtBQWEsRUFBRSxJQUFhO1FBQ25ELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM3QixZQUFZLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDakcsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzswR0E5VVUsWUFBWTs4R0FBWixZQUFZOzRGQUFaLFlBQVk7a0JBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcclxuaW1wb3J0IHsgQ2hhcnQgfSBmcm9tICdjaGFydC5qcyc7XHJcbmltcG9ydCB7IGdldENvbG9yU3RyaW5nLCBnZXROdW1iZXJXaXRoQ29tbWFzLCByYW5kb21Db2xvciB9IGZyb20gJy4uL3V0aWxzJztcclxuaW1wb3J0IHsgVUlTZXJ2aWNlIH0gZnJvbSAnLi91aS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2hhcnRDb250ZW50RGF0YUl0ZW0sIExlZ2VuZENvbG9yLCBJdGVtLCBVbml0IH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5cclxuLy8gVXNpbmcgZHluYW1pYyBmbGFnIHRvIGZpeCB0aGUgaXNzdWUgb2YgbmctcGFja2FnciAjNjk2OiBMYW1iZGEgbm90IHN1cHBvcnRlZFxyXG4vLyBAZHluYW1pY1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDaGFydFNlcnZpY2Uge1xyXG4gIHByaXZhdGUgX2NoYXJ0OiBDaGFydDtcclxuXHJcbiAgLyoqXHJcbiAgICogdG9nZ2xlIHRoZSBkYXRhc2V0IHN0YXR1cyBvZiB0aGUgY2hhcnQsIHN5bmNocm9ub3VzbHlcclxuICAgKi9cclxuICBwcml2YXRlIHN0YXRpYyBfdG9nZ2xlRGF0YVNldChkYXRhU2V0SW5kZXg6IG51bWJlciwgY2hhcnQ6IENoYXJ0LCBoaWRkZW46IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIC8vIG1ldGEuaGlkZGVuID0gZmFsc2UgYW5kIGRhdGFzZXQuaGlkZGVuID0gZmFsc2UgLS0+IHNob3dcclxuICAgIC8vIG1ldGEuaGlkZGVuID0gZmFsc2UgYW5kIGRhdGFzZXQuaGlkZGVuID0gdHJ1ZSAtLT4gc2hvd1xyXG4gICAgLy8gbWV0YS5oaWRkZW4gPSBudWxsIGFuZCBkYXRhc2V0LmhpZGRlbiA9IGZhbHNlIC0+IHNob3dcclxuICAgIC8vIG1ldGEuaGlkZGVuID0gbnVsbCBhbmQgZGF0YXNldC5oaWRkZW4gPSB0cnVlIC0+IGhpZGVcclxuICAgIC8vIGluIHRoZSBmaXJzdCBjYXNlIChmYWxzZSwgZmFsc2UpLCBuZWVkcyB0byBjbGljayBsZWdlbmQgdHdpY2UgdG9cclxuICAgIC8vIGhpZGUgdGhlIGRhdGFzZXQsIGJlY2F1c2UgdGhlIGZpcnN0IGNsaWNrIG9ubHkgc2V0IG1ldGEuaGlkZGVuID0gbnVsbClcclxuICAgIGlmIChkYXRhU2V0SW5kZXggIT0gbnVsbCAmJiBjaGFydCAhPSBudWxsKSB7XHJcbiAgICAgIGNvbnN0IG1ldGEgPSBjaGFydC5nZXREYXRhc2V0TWV0YShkYXRhU2V0SW5kZXgpO1xyXG4gICAgICBpZiAobWV0YSkge1xyXG4gICAgICAgIGlmICghaGlkZGVuKSB7XHJcbiAgICAgICAgICAvLyBkaXNwbGF5IHRoZSBpdGVtLCBpZiBkYXRhc2V0IGhpZGRlbiBpcyBmYWxzZSwgc2V0IGhpZGRlbiBvZiBtZXRhIHRvIG51bGwsXHJcbiAgICAgICAgICBtZXRhLmhpZGRlbiA9ICFjaGFydC5kYXRhLmRhdGFzZXRzW2RhdGFTZXRJbmRleF0uaGlkZGVuID8gbnVsbCA6IGhpZGRlbjtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgbWV0YS5oaWRkZW4gPSBoaWRkZW47XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgc3RhdGljIF9yZXN0b3JlRGF0YVNldFN0YXR1cyhjaGFydDogQ2hhcnQsIGRhdGFzZXRJbmRleDogbnVtYmVyLCBzdGF0dXM6IHttZXRhU3RhdHVzOiBib29sZWFuLCBkYXRhc2V0U3RhdHVzOiBib29sZWFufSk6IHZvaWQge1xyXG4gICAgaWYgKGNoYXJ0ICYmIGNoYXJ0LmRhdGEgJiYgY2hhcnQuZGF0YS5kYXRhc2V0cyAmJiBjaGFydC5nZXREYXRhc2V0TWV0YShkYXRhc2V0SW5kZXgpICYmIHN0YXR1cykge1xyXG4gICAgICBjaGFydC5kYXRhLmRhdGFzZXRzW2RhdGFzZXRJbmRleF0uaGlkZGVuID0gc3RhdHVzLmRhdGFzZXRTdGF0dXM7XHJcbiAgICAgIGNoYXJ0LmdldERhdGFzZXRNZXRhKGRhdGFzZXRJbmRleCkuaGlkZGVuID0gc3RhdHVzLm1ldGFTdGF0dXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBpbml0aWFsaXplL2NsZWFyIHRoZSBjb25maWd1cmF0aW9uIGZvciB0aGUgY2hhcnRcclxuICAgKi9cclxuICBwcml2YXRlIHN0YXRpYyBfaW5pdENvbmZpZyhjaGFydDogYW55KTogdm9pZCB7XHJcbiAgICAvLyBpbml0IGRhdGEgc2V0c1xyXG4gICAgaWYgKGNoYXJ0LmRhdGEgJiYgY2hhcnQuZGF0YS5kYXRhc2V0cykge1xyXG4gICAgICBjaGFydC5kYXRhLmRhdGFzZXRzLmxlbmd0aCA9IDA7XHJcbiAgICAgIGNoYXJ0LmRhdGEuZGF0YXNldHMgPSB2b2lkIDA7XHJcbiAgICAgIGNoYXJ0LmRhdGEgPSB2b2lkIDA7XHJcbiAgICB9XHJcbiAgICAvLyBpbml0IG9wdGlvbnNcclxuICAgIGlmIChjaGFydC5vcHRpb25zICYmIGNoYXJ0Lm9wdGlvbnMuc2NhbGVzICYmIChjaGFydC5vcHRpb25zLnNjYWxlcy54QXhlcyB8fCBjaGFydC5vcHRpb25zLnNjYWxlcy55QXhpcykpIHtcclxuICAgICAgaWYgKGNoYXJ0Lm9wdGlvbnMuc2NhbGVzLnhBeGVzKSB7XHJcbiAgICAgICAgY2hhcnQub3B0aW9ucy5zY2FsZXMueEF4ZXMubGVuZ3RoID0gMDtcclxuICAgICAgICBjaGFydC5vcHRpb25zLnNjYWxlcy54QXhlcyA9IHZvaWQgMDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoY2hhcnQub3B0aW9ucy5zY2FsZXMueUF4ZXMpIHtcclxuICAgICAgICBjaGFydC5vcHRpb25zLnNjYWxlcy55QXhlcy5sZW5ndGggPSAwO1xyXG4gICAgICAgIGNoYXJ0Lm9wdGlvbnMuc2NhbGVzLnlBeGVzID0gdm9pZCAwO1xyXG4gICAgICB9XHJcbiAgICAgIGNoYXJ0Lm9wdGlvbnMuc2NhbGVzID0gdm9pZCAwO1xyXG4gICAgICBjaGFydC5vcHRpb25zID0gdm9pZCAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2VuZXJhdGUgRGF0YVNldHMgYnkgdGhlIGRhdGEgYW5kIGhlYWRlciBpbmZvcm1hdGlvblxyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RhdGljIF9nZW5lcmF0ZURhdGFTZXRzKGRhdGE6IENoYXJ0Q29udGVudERhdGFJdGVtW11bXSwgaGVhZGVyOiBzdHJpbmdbXSwgaGVhZGVyS2V5OiBzdHJpbmdbXSwgZGVmYXVsdEl0ZW1zOiBzdHJpbmdbXSk6IGFueSB7XHJcbiAgICBjb25zdCBhbHBoYSA9IDAuNTtcclxuICAgIGNvbnN0IGNvbG9yczogTGVnZW5kQ29sb3IgPSBVSVNlcnZpY2UuZ2V0Q29sb3JzKGFscGhhKTtcclxuICAgIHJldHVybiBkYXRhLm1hcCgoaXRlbSwgaSkgPT4ge1xyXG4gICAgICBjb25zdCBjb2xvciA9IGNvbG9yc1toZWFkZXJLZXlbaV1dID8gZ2V0Q29sb3JTdHJpbmcoY29sb3JzW2hlYWRlcktleVtpXV0pIDogcmFuZG9tQ29sb3IoYWxwaGEpO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGJvcmRlckNvbG9yOiBjb2xvcixcclxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLFxyXG4gICAgICAgIGJvcmRlcldpZHRoOiAxLjI1LFxyXG4gICAgICAgIHNwYW5HYXBzOiBmYWxzZSxcclxuICAgICAgICBsYWJlbDogaGVhZGVyW2ldLFxyXG4gICAgICAgIGRhdGE6IGRhdGFbaV0sXHJcbiAgICAgICAgZmlsbDogZmFsc2UsXHJcbiAgICAgICAgeUF4aXNJRDogYHktYXhpcy0ke2l9YCxcclxuICAgICAgICBoaWRkZW46ICFkZWZhdWx0SXRlbXMuaW5jbHVkZXMoaGVhZGVyW2ldKVxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgc3RhdGljIF9nZW5lcmF0ZVhBeGVzKHRpbWU6IG51bWJlcltdKTogYW55IHtcclxuICAgIGNvbnN0IGZvcm1hdCA9ICdNTU1ERCBISDptbTpzcyc7XHJcbiAgICByZXR1cm4gW1xyXG4gICAgICB7XHJcbiAgICAgICAgdHlwZTogJ3RpbWUnLFxyXG4gICAgICAgIHRpbWU6IHtcclxuICAgICAgICAgIC8vIHVuaXQ6ICdzZWNvbmQnLFxyXG4gICAgICAgICAgLy8gc3RlcFNpemU6IDEsXHJcbiAgICAgICAgICBkaXNwbGF5Rm9ybWF0czoge1xyXG4gICAgICAgICAgICAnbWlsbGlzZWNvbmQnOiBmb3JtYXQsXHJcbiAgICAgICAgICAgICdzZWNvbmQnOiBmb3JtYXQsXHJcbiAgICAgICAgICAgICdtaW51dGUnOiBmb3JtYXQsXHJcbiAgICAgICAgICAgICdob3VyJzogJ01NTUREIEhIJyxcclxuICAgICAgICAgICAgJ2RheSc6ICdNTU1ERCBZWVlZJyxcclxuICAgICAgICAgICAgJ3dlZWsnOiBmb3JtYXQsXHJcbiAgICAgICAgICAgICdtb250aCc6IGZvcm1hdCxcclxuICAgICAgICAgICAgJ3F1YXJ0ZXInOiBmb3JtYXQsXHJcbiAgICAgICAgICAgICd5ZWFyJzogZm9ybWF0LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHRvb2x0aXBGb3JtYXQ6ICdsbCBISDptbTpzcycsXHJcbiAgICAgICAgICBtaW46IHRpbWVbMF0sXHJcbiAgICAgICAgICBtYXg6IHRpbWVbdGltZS5sZW5ndGggLSAxXVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLy8gc2NhbGVMYWJlbDoge1xyXG4gICAgICAgIC8vICAgZGlzcGxheTogZmFsc2UsXHJcbiAgICAgICAgLy8gICBsYWJlbFN0cmluZzogJ0RhdGUnXHJcbiAgICAgICAgLy8gfSxcclxuICAgICAgICB0aWNrczoge1xyXG4gICAgICAgICAgbWF4Um90YXRpb246IDAsXHJcbiAgICAgICAgICByZXZlcnNlOiB0cnVlXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICBdO1xyXG4gIH1cclxuICBwcml2YXRlIHN0YXRpYyBfZ2VuZXJhdGVZQXhlcyhkYXRhOiBDaGFydENvbnRlbnREYXRhSXRlbVtdW10sIHlTY2FsZTogbnVtYmVyW10pOiBhbnkge1xyXG4gICAgcmV0dXJuIGRhdGEubWFwKChpdGVtLCBpKSA9PiAoe1xyXG4gICAgICB0eXBlOiAnbGluZWFyJyxcclxuICAgICAgZGlzcGxheTogZmFsc2UsXHJcbiAgICAgIHBvc2l0aW9uOiAnbGVmdCcsXHJcbiAgICAgIGlkOiBgeS1heGlzLSR7aX1gLFxyXG4gICAgICBncmlkTGluZXM6IHtcclxuICAgICAgfSxcclxuICAgICAgdGlja3M6IHtcclxuICAgICAgICBtaW46IDAsXHJcbiAgICAgICAgbWF4OiB5U2NhbGVbaV1cclxuICAgICAgfVxyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogZ2VuZXJhdGUgY29uZmlndXJhdGlvbiBmb3IgY2hhcnRcclxuICAgKi9cclxuICBwcml2YXRlIHN0YXRpYyBfZ2VuZXJhdGVDaGFydENvbmZpZyh0aW1lOiBudW1iZXJbXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBDaGFydENvbnRlbnREYXRhSXRlbVtdW10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeVNjYWxlOiBudW1iZXJbXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXI6IHN0cmluZ1tdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcktleTogc3RyaW5nW10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uOiBTZWxlY3Rpb25Nb2RlbDxhbnk+LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlU291cmNlOiBhbnksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHN0cmluZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0SXRlbXM6IHN0cmluZ1tdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHpvb21DYWxsYmFjazogYW55KTogYW55IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHR5cGU6ICdsaW5lJyxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGRhdGFzZXRzOiBDaGFydFNlcnZpY2UuX2dlbmVyYXRlRGF0YVNldHMoZGF0YSwgaGVhZGVyLCBoZWFkZXJLZXksIGRlZmF1bHRJdGVtcylcclxuICAgICAgfSxcclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIGVsZW1lbnRzOiB7cG9pbnQ6IHtyYWRpdXM6IDAsIGhpdFJhZGl1czogNSwgaG92ZXJSYWRpdXM6IDV9fSwgLy8gc2V0IHJhZGl1cyB0byAwIG5vdCB0byBkaXNwbGF5IHBvaW50XHJcbiAgICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcclxuICAgICAgICBhbmltYXRpb246IHtcclxuICAgICAgICAgIGR1cmF0aW9uOiAwLCAvLyBnZW5lcmFsIGFuaW1hdGlvbiB0aW1lXHJcbiAgICAgICAgfSxcclxuICAgICAgICBob3Zlcjoge1xyXG4gICAgICAgICAgYW5pbWF0aW9uRHVyYXRpb246IDAsIC8vIGR1cmF0aW9uIG9mIGFuaW1hdGlvbnMgd2hlbiBob3ZlcmluZyBhbiBpdGVtXHJcbiAgICAgICAgICBvbkhvdmVyOiBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgICAgICBjb25zdCBwb2ludCA9IHRoaXMuZ2V0RWxlbWVudEF0RXZlbnQoZSk7XHJcbiAgICAgICAgICAgIGlmIChwb2ludC5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICBlLnRhcmdldC5zdHlsZS5jdXJzb3IgPSAncG9pbnRlcic7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgZS50YXJnZXQuc3R5bGUuY3Vyc29yID0gJ2RlZmF1bHQnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICByZXNwb25zaXZlQW5pbWF0aW9uRHVyYXRpb246IDAsIC8vIGFuaW1hdGlvbiBkdXJhdGlvbiBhZnRlciBhIHJlc2l6ZVxyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgcG9zaXRpb246ICdib3R0b20nLFxyXG4gICAgICAgICAgb25Ib3ZlcjogKGUpID0+IHtcclxuICAgICAgICAgICAgZS50YXJnZXQuc3R5bGUuY3Vyc29yID0gJ3BvaW50ZXInO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxhYmVsczoge1xyXG4gICAgICAgICAgICBmaWx0ZXI6IChsZWdlbmRJdGVtKSA9PiBzZWxlY3Rpb24uaXNTZWxlY3RlZCh0YWJsZVNvdXJjZS5maW5kKHJvdyA9PiBsZWdlbmRJdGVtLnRleHQgPT09IHJvdy5LUEkpKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdGl0bGU6IHtcclxuICAgICAgICAgIGRpc3BsYXk6IHRydWUsXHJcbiAgICAgICAgICB0ZXh0OiB0aXRsZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcmVzcG9uc2l2ZURvd25zYW1wbGU6IHtcclxuICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXHJcbiAgICAgICAgICBkZXNpcmVkRGF0YVBvaW50RGlzdGFuY2U6IDIsXHJcbiAgICAgICAgICBtaW5OdW1Qb2ludHM6IDIwMCxcclxuICAgICAgICAgIG1heE51bVBvaW50c1RvRHJhdzogMTAwXHJcbiAgICAgICAgfSxcclxuICAgICAgICB0b29sdGlwczoge1xyXG4gICAgICAgICAgY2FsbGJhY2tzOiB7XHJcbiAgICAgICAgICAgIGxhYmVsOiBmdW5jdGlvbih0b29sdGlwSXRlbSwgY2hhcnREYXRhKSB7XHJcbiAgICAgICAgICAgICAgLy8gZm9ybWF0IG51bWJlcnMgd2l0aCBjb21tYXMgYW5kIGFkZCB1bml0IGluZm9ybWF0aW9uXHJcbiAgICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBjaGFydERhdGEuZGF0YXNldHNbdG9vbHRpcEl0ZW0uZGF0YXNldEluZGV4XS5sYWJlbCB8fCAnJztcclxuICAgICAgICAgICAgICBpZiAobGFiZWwpIHtcclxuICAgICAgICAgICAgICAgIC8vIGdldCB1bml0IChlZzogTUIsIEdCLCBNQi9zLCAlIGFuZCBzbyBvbilcclxuICAgICAgICAgICAgICAgIGNvbnN0IHJvd0l0ZW0gPSB0YWJsZVNvdXJjZS5maW5kKGNvbnRyb2xUYWJsZVJvdyA9PiBsYWJlbCA9PT0gY29udHJvbFRhYmxlUm93LktQSSkgfHwgJyc7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB1bml0ID0gcm93SXRlbVtJdGVtLnVuaXRdICYmIHJvd0l0ZW1bSXRlbS51bml0XSAhPT0gVW5pdC5QQ1QgPyBgICR7cm93SXRlbVtJdGVtLnVuaXRdfWAgOiByb3dJdGVtW0l0ZW0udW5pdF0gfHwgJyc7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7bGFiZWx9OiAke2dldE51bWJlcldpdGhDb21tYXModG9vbHRpcEl0ZW0ueUxhYmVsKX0ke3VuaXR9YDtcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldE51bWJlcldpdGhDb21tYXModG9vbHRpcEl0ZW0ueUxhYmVsKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHNjYWxlczoge1xyXG4gICAgICAgICAgeEF4ZXM6IENoYXJ0U2VydmljZS5fZ2VuZXJhdGVYQXhlcyh0aW1lKSxcclxuICAgICAgICAgIHlBeGVzOiBDaGFydFNlcnZpY2UuX2dlbmVyYXRlWUF4ZXMoZGF0YSwgeVNjYWxlKVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgem9vbToge1xyXG4gICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcclxuICAgICAgICAgIGRyYWc6IHRydWUsXHJcbiAgICAgICAgICBtb2RlOiAneCcsXHJcbiAgICAgICAgICBvblpvb206IHpvb21DYWxsYmFja1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldERhdGFTZXRJbmRleEJ5TGFiZWwobGFiZWw6IHN0cmluZywgY2hhcnQ6IENoYXJ0KTogbnVtYmVyIHtcclxuICAgIGlmIChjaGFydC5kYXRhICYmIGNoYXJ0LmRhdGEuZGF0YXNldHMpIHtcclxuICAgICAgcmV0dXJuIGNoYXJ0LmRhdGEuZGF0YXNldHMuZmluZEluZGV4KGRhdGFzZXQgPT4gZGF0YXNldC5sYWJlbCA9PT0gbGFiZWwpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIC0xO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogZGVzdHJveSB0aGUgY2hhcnQsIHJlbGVhc2UgdGhlIHJlc291cmNlIG9mIHRoZSBjaGFydFxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2Rlc3Ryb3lDaGFydChjaGFydDogQ2hhcnQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG4gICAgICBpZiAoY2hhcnQpIHtcclxuICAgICAgICBjaGFydC5kZXN0cm95KCk7XHJcbiAgICAgIH1cclxuICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIHVwZGF0ZS9yZWZyZXNoIHRoZSBjaGFydFxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3VwZGF0ZUNoYXJ0KGNoYXJ0OiBDaGFydCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgaWYgKGNoYXJ0KSB7XHJcbiAgICAgICAgY2hhcnQudXBkYXRlKCk7XHJcbiAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJlamVjdCgnVXBkYXRpbmcgY2hhcnQgZmFpbGVkLCBlcnJvcjogdGhlIGNoYXJ0IG9iamVjdCBpcyBlbXB0eS4nKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiByZXNldCB6b29tIG9mIHRoZSBjaGFydFxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3Jlc2V0Wm9vbShjaGFydDogYW55KTogUHJvbWlzZTx7bWV0YVN0YXR1czogYm9vbGVhbiwgZGF0YXNldFN0YXR1czogYm9vbGVhbn1bXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgaWYgKGNoYXJ0KSB7XHJcbiAgICAgICAgY29uc3QgZGF0YXNldFN0YXR1c0JlZm9yZVJlc2V0ID0gW107XHJcbiAgICAgICAgaWYgKGNoYXJ0LmRhdGEgJiYgY2hhcnQuZGF0YS5kYXRhc2V0cykge1xyXG4gICAgICAgICAgY2hhcnQuZGF0YS5kYXRhc2V0cy5mb3JFYWNoKChkYXRhc2V0LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBtZXRhID0gY2hhcnQuZ2V0RGF0YXNldE1ldGEoaW5kZXgpO1xyXG4gICAgICAgICAgICBpZiAobWV0YSkge1xyXG4gICAgICAgICAgICAgIGRhdGFzZXRTdGF0dXNCZWZvcmVSZXNldFtpbmRleF0gPSB7bWV0YVN0YXR1czogbWV0YS5oaWRkZW4sIGRhdGFzZXRTdGF0dXM6IGRhdGFzZXQuaGlkZGVufTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICByZWplY3QoYEludGVybmFsIGVycm9yLCBjYW4gbm90IGZpbmQgdGhlIG1ldGEgJHtpbmRleH0uYCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjaGFydC5yZXNldFpvb20oKTtcclxuICAgICAgICByZXNvbHZlKGRhdGFzZXRTdGF0dXNCZWZvcmVSZXNldCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmVqZWN0KCdSZXNldHRpbmcgY2hhcnQgZmFpbGVkLCBlcnJvcjogdGhlIGNoYXJ0IG9iamVjdCBpcyBlbXB0eS4nKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFJlc2V0IENoYXJ0IHRvIGluaXRpYWwgc3RhdHVzXHJcbiAgICogSWYgbGVnZW5kIGlzIGFscmVhZHkgc2VsZWN0ZWQvdW5zZWxlY3RlZCBmcm9tIHRoZSBsaXN0LCBpdCB3b3VsZG4ndCBiZSByZXN0b3JlZC5cclxuICAgKiBAcGFyYW0gZGF0YVNvdXJjZURhdGEgdGhlIGRhdGEgc2V0cyBvZiB0aGUgY2hhcnRcclxuICAgKiBAcGFyYW0gc2VsZWN0aW9uIHNlbGVjdGlvbiBzdGF0dXMgbGlzdFxyXG4gICAqL1xyXG4gIHB1YmxpYyByZXNldENoYXJ0KGRhdGFTb3VyY2VEYXRhOiBhbnksIHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55Pik6IFByb21pc2UgPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Jlc2V0Wm9vbSh0aGlzLl9jaGFydCkudGhlbigoZGF0YXNldFN0YXR1c0JlZm9yZVpvb20pID0+IHtcclxuICAgICAgLy8gcmVzZXQgdGhlIGRhdGEgc2V0IGJ5IHRoZSBzZWxlY3Rpb24gc3RhdHVzXHJcbiAgICAgIGRhdGFTb3VyY2VEYXRhLmZpbHRlcihyb3cgPT4gIXJvdy5oZWFkZXIpLmZvckVhY2gocm93ID0+IHtcclxuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuX2dldERhdGFTZXRJbmRleEJ5TGFiZWwocm93LktQSSwgdGhpcy5fY2hhcnQpO1xyXG4gICAgICAgIGlmICghc2VsZWN0aW9uLmlzU2VsZWN0ZWQocm93KSkge1xyXG4gICAgICAgICAgQ2hhcnRTZXJ2aWNlLl90b2dnbGVEYXRhU2V0KGluZGV4LCB0aGlzLl9jaGFydCwgdHJ1ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIENoYXJ0U2VydmljZS5fcmVzdG9yZURhdGFTZXRTdGF0dXModGhpcy5fY2hhcnQsIGluZGV4LCBkYXRhc2V0U3RhdHVzQmVmb3JlWm9vbVtpbmRleF0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiB0aGlzLl91cGRhdGVDaGFydCh0aGlzLl9jaGFydCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGRlc3Ryb3kgdGhlIGNoYXJ0IGFuZCByZWluaXRpYWxpemUgdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGNoYXJ0XHJcbiAgICovXHJcbiAgcHVibGljIGRlc3Ryb3lDaGFydCgpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Rlc3Ryb3lDaGFydCh0aGlzLl9jaGFydCkudGhlbigoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLl9jaGFydCkge1xyXG4gICAgICAgIENoYXJ0U2VydmljZS5faW5pdENvbmZpZyh0aGlzLl9jaGFydCk7XHJcbiAgICAgICAgdGhpcy5fY2hhcnQgPSB2b2lkIDA7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogZ2VuZXJhdGUgY29uZmlndXJhdGlvbiBmb3IgY2hhcnQgYW5kIGNyZWF0ZSB0aGUgY2hhcnQgb2JqZWN0LlxyXG4gICAqL1xyXG4gIHB1YmxpYyBidWlsZENoYXJ0KHRpbWU6IG51bWJlcltdLFxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IENoYXJ0Q29udGVudERhdGFJdGVtW11bXSxcclxuICAgICAgICAgICAgICAgICAgICB5U2NhbGU6IG51bWJlcltdLFxyXG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcjogc3RyaW5nW10sXHJcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyS2V5OiBzdHJpbmdbXSxcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb246IFNlbGVjdGlvbk1vZGVsPGFueT4sXHJcbiAgICAgICAgICAgICAgICAgICAgdGFibGVTb3VyY2U6IGFueSxcclxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogc3RyaW5nLFxyXG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRJdGVtczogc3RyaW5nW10sXHJcbiAgICAgICAgICAgICAgICAgICAgem9vbUNCKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBjb25zdCBjdHggPSAoPEhUTUxDYW52YXNFbGVtZW50PiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2hhcnROYW1lU2VydmVySGlzdG9yeScpKT8uZ2V0Q29udGV4dCgnMmQnKTtcclxuICAgICAgaWYgKGN0eCkge1xyXG4gICAgICAgIGNvbnN0IGNmZzogYW55ID0gQ2hhcnRTZXJ2aWNlLl9nZW5lcmF0ZUNoYXJ0Q29uZmlnKHRpbWUsIGRhdGEsIHlTY2FsZSwgaGVhZGVyLCBoZWFkZXJLZXksIHNlbGVjdGlvbiwgdGFibGVTb3VyY2UsIHRpdGxlLCBkZWZhdWx0SXRlbXMsIHpvb21DQik7XHJcbiAgICAgICAgdGhpcy5fY2hhcnQgPSBuZXcgQ2hhcnQoY3R4LCBjZmcpO1xyXG4gICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZWplY3QoJ0NhbiBub3QgZmluZCB0aGUgY2FudmFzLicpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIHNob3cvaGlkZSB0aGUgcmVsYXRpdmUgZGF0YSBzZXRcclxuICAgKi9cclxuICBwdWJsaWMgdG9nZ2xlRGF0YUluQ2hhcnQobGFiZWw6IHN0cmluZywgaGlkZTogYm9vbGVhbik6IFByb21pc2U8YW55PiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuICAgICAgQ2hhcnRTZXJ2aWNlLl90b2dnbGVEYXRhU2V0KHRoaXMuX2dldERhdGFTZXRJbmRleEJ5TGFiZWwobGFiZWwsIHRoaXMuX2NoYXJ0KSwgdGhpcy5fY2hhcnQsIGhpZGUpO1xyXG4gICAgICByZXNvbHZlKHRoaXMuX3VwZGF0ZUNoYXJ0KHRoaXMuX2NoYXJ0KSk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,5 +1,4 @@
1
- import * as moment_module from 'moment';
2
- const moment = (window && window.moment) ? window.moment : moment_module;
1
+ import moment from 'moment';
3
2
  import * as utils from './utils';
4
3
  function getCompareValue(value) {
5
4
  if (typeof value === 'number') {
@@ -54,4 +53,4 @@ export function cullData(data, range) {
54
53
  }
55
54
  return data.slice(startIndex, endIndex);
56
55
  }
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV9jdWxsaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL25hbWVzZXJ2ZXItaGlzdG9yeS12aWV3ZXIvdXRpbHMvY2hhcnRqcy1kb3duc2FtcGxlL2RhdGFfY3VsbGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwQkEsT0FBTyxLQUFLLGFBQWEsTUFBTSxRQUFRLENBQUM7QUFDeEMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxNQUFNLElBQUssTUFBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBRSxNQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7QUFDM0YsT0FBTyxLQUFLLEtBQUssTUFBTSxTQUFTLENBQUM7QUFLakMsU0FBUyxlQUFlLENBQUMsS0FBYTtJQUNsQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUMzQixPQUFPLEtBQUssQ0FBQztLQUNoQjtTQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQ2xDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0tBQ3RDO1NBQU0sSUFBSSxLQUFLLFlBQVksSUFBSSxFQUFFO1FBQzlCLE9BQU8sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0tBQzFCO1NBQU07UUFDSCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztLQUMzQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLGFBQW9CLEVBQUUsWUFBbUI7SUFDbEUsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQztRQUMxQixLQUFLLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUN6QixLQUFLLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QixLQUFLLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QixLQUFLLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QixLQUFLLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUM5QjtRQUNFLE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0lBRUQsYUFBYSxHQUFHLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGLFlBQVksR0FBRyxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVwRixPQUFPLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4RixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFZO0lBQ3RDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUN0QixPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ3JCO0lBRUQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqRCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWhELE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQUMsSUFBa0IsRUFBRSxLQUFZO0lBQ3JELE1BQU0sVUFBVSxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QyxNQUFNLFFBQVEsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0MsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7SUFFM0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUU7UUFDbEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV6RCxJQUFJLFlBQVksSUFBSSxVQUFVLEVBQUU7WUFDNUIsVUFBVSxHQUFHLENBQUMsQ0FBQztTQUNsQjtRQUVELElBQUksWUFBWSxJQUFJLFFBQVEsRUFBRTtZQUMxQixRQUFRLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqQixNQUFNO1NBQ1Q7S0FDSjtJQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDNUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBUaGlzIHBsdWdpbiBpcyBhZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS8zZGNsL2NoYXJ0anMtcGx1Z2luLXJlc3BvbnNpdmUtZG93bnNhbXBsZVxyXG4gKiBmb3IgY29udHJvbGxpbmcgdGhlIHJhZGl1cyBvZiBwb2ludC5cclxuICpcclxuICogTUlUIExpY2Vuc2VcclxuICogQ29weXJpZ2h0IChjKSAyMDE4IDNEIENvbnRlbnQgTG9naXN0aWNzXHJcbiAqXHJcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcclxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxyXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXHJcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcclxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXHJcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XHJcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxyXG4gKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxyXG4gKlxyXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXHJcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxyXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcclxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxyXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxyXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxyXG4gKiBTT0ZUV0FSRS5cclxuICovXHJcbmltcG9ydCB7IENoYXJ0UG9pbnQgfSBmcm9tICdjaGFydC5qcyc7XHJcbmltcG9ydCB7IFNjYWxlIH0gZnJvbSAnLi9jaGFydGpzX2V4dCc7XHJcbmltcG9ydCAqIGFzIG1vbWVudF9tb2R1bGUgZnJvbSAnbW9tZW50JztcclxuY29uc3QgbW9tZW50ID0gKHdpbmRvdyAmJiAod2luZG93IGFzIGFueSkubW9tZW50KSA/ICh3aW5kb3cgYXMgYW55KS5tb21lbnQgOiBtb21lbnRfbW9kdWxlO1xyXG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuL3V0aWxzJztcclxuXHJcbmV4cG9ydCB0eXBlIFhWYWx1ZSA9IG51bWJlciB8IHN0cmluZyB8IERhdGUgfCBtb21lbnRfbW9kdWxlLk1vbWVudDtcclxuZXhwb3J0IHR5cGUgUmFuZ2UgPSBbWFZhbHVlLCBYVmFsdWVdO1xyXG5cclxuZnVuY3Rpb24gZ2V0Q29tcGFyZVZhbHVlKHZhbHVlOiBYVmFsdWUpOiBudW1iZXIge1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICByZXR1cm4gKG5ldyBEYXRlKHZhbHVlKSkuZ2V0VGltZSgpO1xyXG4gICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZ2V0VGltZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gbW9tZW50KHZhbHVlKS50b0RhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByYW5nZUlzRXF1YWwocHJldmlvdXNWYWx1ZTogUmFuZ2UsIGN1cnJlbnRWYWx1ZTogUmFuZ2UpOiBib29sZWFuIHtcclxuICAgIGlmICh1dGlscy5pc05pbChwcmV2aW91c1ZhbHVlKSB8fFxyXG4gICAgICAgIHV0aWxzLmlzTmlsKGN1cnJlbnRWYWx1ZSkgfHxcclxuICAgICAgICB1dGlscy5pc05pbChwcmV2aW91c1ZhbHVlWzBdKSB8fFxyXG4gICAgICAgIHV0aWxzLmlzTmlsKHByZXZpb3VzVmFsdWVbMV0pIHx8XHJcbiAgICAgICAgdXRpbHMuaXNOaWwoY3VycmVudFZhbHVlWzBdKSB8fFxyXG4gICAgICAgIHV0aWxzLmlzTmlsKGN1cnJlbnRWYWx1ZVsxXSlcclxuICAgICkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwcmV2aW91c1ZhbHVlID0gW2dldENvbXBhcmVWYWx1ZShwcmV2aW91c1ZhbHVlWzBdKSwgZ2V0Q29tcGFyZVZhbHVlKHByZXZpb3VzVmFsdWVbMV0pXTtcclxuICAgIGN1cnJlbnRWYWx1ZSA9IFtnZXRDb21wYXJlVmFsdWUoY3VycmVudFZhbHVlWzBdKSwgZ2V0Q29tcGFyZVZhbHVlKGN1cnJlbnRWYWx1ZVsxXSldO1xyXG5cclxuICAgIHJldHVybiBwcmV2aW91c1ZhbHVlWzBdID09PSBjdXJyZW50VmFsdWVbMF0gJiYgcHJldmlvdXNWYWx1ZVsxXSA9PT0gY3VycmVudFZhbHVlWzFdO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2NhbGVSYW5nZShzY2FsZTogU2NhbGUpOiBSYW5nZSB7XHJcbiAgICBpZiAodXRpbHMuaXNOaWwoc2NhbGUpKSB7XHJcbiAgICAgIHJldHVybiBbbnVsbCwgbnVsbF07XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc3RhcnQgPSBzY2FsZS5nZXRWYWx1ZUZvclBpeGVsKHNjYWxlLmxlZnQpO1xyXG4gICAgY29uc3QgZW5kID0gc2NhbGUuZ2V0VmFsdWVGb3JQaXhlbChzY2FsZS5yaWdodCk7XHJcblxyXG4gICAgcmV0dXJuIFtzdGFydCwgZW5kXTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGN1bGxEYXRhKGRhdGE6IENoYXJ0UG9pbnRbXSwgcmFuZ2U6IFJhbmdlKTogQ2hhcnRQb2ludFtdIHtcclxuICAgIGNvbnN0IHN0YXJ0VmFsdWUgPSBnZXRDb21wYXJlVmFsdWUocmFuZ2VbMF0pO1xyXG4gICAgY29uc3QgZW5kVmFsdWUgPSBnZXRDb21wYXJlVmFsdWUocmFuZ2VbMV0pO1xyXG4gICAgbGV0IHN0YXJ0SW5kZXggPSAwO1xyXG4gICAgbGV0IGVuZEluZGV4ID0gZGF0YS5sZW5ndGg7XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPCBkYXRhLmxlbmd0aDsgKytpKSB7XHJcbiAgICAgICAgY29uc3QgcG9pbnQgPSBkYXRhW2ldO1xyXG4gICAgICAgIGNvbnN0IGNvbXBhcmVWYWx1ZSA9IGdldENvbXBhcmVWYWx1ZShwb2ludC54IHx8IHBvaW50LnQpO1xyXG5cclxuICAgICAgICBpZiAoY29tcGFyZVZhbHVlIDw9IHN0YXJ0VmFsdWUpIHtcclxuICAgICAgICAgICAgc3RhcnRJbmRleCA9IGk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoY29tcGFyZVZhbHVlID49IGVuZFZhbHVlKSB7XHJcbiAgICAgICAgICAgIGVuZEluZGV4ID0gaSArIDE7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZGF0YS5zbGljZShzdGFydEluZGV4LCBlbmRJbmRleCk7XHJcbn1cclxuIl19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV9jdWxsaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL25hbWVzZXJ2ZXItaGlzdG9yeS12aWV3ZXIvdXRpbHMvY2hhcnRqcy1kb3duc2FtcGxlL2RhdGFfY3VsbGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwQkEsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sS0FBSyxLQUFLLE1BQU0sU0FBUyxDQUFDO0FBS2pDLFNBQVMsZUFBZSxDQUFDLEtBQWE7SUFDbEMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDM0IsT0FBTyxLQUFLLENBQUM7S0FDaEI7U0FBTSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUNsQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztLQUN0QztTQUFNLElBQUksS0FBSyxZQUFZLElBQUksRUFBRTtRQUM5QixPQUFPLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztLQUMxQjtTQUFNO1FBQ0gsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7S0FDM0M7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxhQUFvQixFQUFFLFlBQW1CO0lBQ2xFLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDMUIsS0FBSyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFDekIsS0FBSyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsS0FBSyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsS0FBSyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsS0FBSyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDOUI7UUFDRSxPQUFPLEtBQUssQ0FBQztLQUNoQjtJQUVELGFBQWEsR0FBRyxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RixZQUFZLEdBQUcsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFcEYsT0FBTyxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEYsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBWTtJQUN0QyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDdEIsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztLQUNyQjtJQUVELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakQsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVoRCxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLElBQWtCLEVBQUUsS0FBWTtJQUNyRCxNQUFNLFVBQVUsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0MsTUFBTSxRQUFRLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNDLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNuQixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBRTNCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFO1FBQ2xDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFekQsSUFBSSxZQUFZLElBQUksVUFBVSxFQUFFO1lBQzVCLFVBQVUsR0FBRyxDQUFDLENBQUM7U0FDbEI7UUFFRCxJQUFJLFlBQVksSUFBSSxRQUFRLEVBQUU7WUFDMUIsUUFBUSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakIsTUFBTTtTQUNUO0tBQ0o7SUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQzVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogVGhpcyBwbHVnaW4gaXMgYWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vM2RjbC9jaGFydGpzLXBsdWdpbi1yZXNwb25zaXZlLWRvd25zYW1wbGVcclxuICogZm9yIGNvbnRyb2xsaW5nIHRoZSByYWRpdXMgb2YgcG9pbnQuXHJcbiAqXHJcbiAqIE1JVCBMaWNlbnNlXHJcbiAqIENvcHlyaWdodCAoYykgMjAxOCAzRCBDb250ZW50IExvZ2lzdGljc1xyXG4gKlxyXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XHJcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcclxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xyXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXHJcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xyXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxyXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcclxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cclxuICpcclxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxyXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcclxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXHJcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcclxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcclxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcclxuICogU09GVFdBUkUuXHJcbiAqL1xyXG5pbXBvcnQgeyBDaGFydFBvaW50IH0gZnJvbSAnY2hhcnQuanMnO1xyXG5pbXBvcnQgeyBTY2FsZSB9IGZyb20gJy4vY2hhcnRqc19leHQnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4vdXRpbHMnO1xyXG5cclxuZXhwb3J0IHR5cGUgWFZhbHVlID0gbnVtYmVyIHwgc3RyaW5nIHwgRGF0ZSB8IG1vbWVudC5Nb21lbnQ7XHJcbmV4cG9ydCB0eXBlIFJhbmdlID0gW1hWYWx1ZSwgWFZhbHVlXTtcclxuXHJcbmZ1bmN0aW9uIGdldENvbXBhcmVWYWx1ZSh2YWx1ZTogWFZhbHVlKTogbnVtYmVyIHtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgcmV0dXJuIChuZXcgRGF0ZSh2YWx1ZSkpLmdldFRpbWUoKTtcclxuICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmdldFRpbWUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIG1vbWVudCh2YWx1ZSkudG9EYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmFuZ2VJc0VxdWFsKHByZXZpb3VzVmFsdWU6IFJhbmdlLCBjdXJyZW50VmFsdWU6IFJhbmdlKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodXRpbHMuaXNOaWwocHJldmlvdXNWYWx1ZSkgfHxcclxuICAgICAgICB1dGlscy5pc05pbChjdXJyZW50VmFsdWUpIHx8XHJcbiAgICAgICAgdXRpbHMuaXNOaWwocHJldmlvdXNWYWx1ZVswXSkgfHxcclxuICAgICAgICB1dGlscy5pc05pbChwcmV2aW91c1ZhbHVlWzFdKSB8fFxyXG4gICAgICAgIHV0aWxzLmlzTmlsKGN1cnJlbnRWYWx1ZVswXSkgfHxcclxuICAgICAgICB1dGlscy5pc05pbChjdXJyZW50VmFsdWVbMV0pXHJcbiAgICApIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJldmlvdXNWYWx1ZSA9IFtnZXRDb21wYXJlVmFsdWUocHJldmlvdXNWYWx1ZVswXSksIGdldENvbXBhcmVWYWx1ZShwcmV2aW91c1ZhbHVlWzFdKV07XHJcbiAgICBjdXJyZW50VmFsdWUgPSBbZ2V0Q29tcGFyZVZhbHVlKGN1cnJlbnRWYWx1ZVswXSksIGdldENvbXBhcmVWYWx1ZShjdXJyZW50VmFsdWVbMV0pXTtcclxuXHJcbiAgICByZXR1cm4gcHJldmlvdXNWYWx1ZVswXSA9PT0gY3VycmVudFZhbHVlWzBdICYmIHByZXZpb3VzVmFsdWVbMV0gPT09IGN1cnJlbnRWYWx1ZVsxXTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjYWxlUmFuZ2Uoc2NhbGU6IFNjYWxlKTogUmFuZ2Uge1xyXG4gICAgaWYgKHV0aWxzLmlzTmlsKHNjYWxlKSkge1xyXG4gICAgICByZXR1cm4gW251bGwsIG51bGxdO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHN0YXJ0ID0gc2NhbGUuZ2V0VmFsdWVGb3JQaXhlbChzY2FsZS5sZWZ0KTtcclxuICAgIGNvbnN0IGVuZCA9IHNjYWxlLmdldFZhbHVlRm9yUGl4ZWwoc2NhbGUucmlnaHQpO1xyXG5cclxuICAgIHJldHVybiBbc3RhcnQsIGVuZF07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjdWxsRGF0YShkYXRhOiBDaGFydFBvaW50W10sIHJhbmdlOiBSYW5nZSk6IENoYXJ0UG9pbnRbXSB7XHJcbiAgICBjb25zdCBzdGFydFZhbHVlID0gZ2V0Q29tcGFyZVZhbHVlKHJhbmdlWzBdKTtcclxuICAgIGNvbnN0IGVuZFZhbHVlID0gZ2V0Q29tcGFyZVZhbHVlKHJhbmdlWzFdKTtcclxuICAgIGxldCBzdGFydEluZGV4ID0gMDtcclxuICAgIGxldCBlbmRJbmRleCA9IGRhdGEubGVuZ3RoO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAxOyBpIDwgZGF0YS5sZW5ndGg7ICsraSkge1xyXG4gICAgICAgIGNvbnN0IHBvaW50ID0gZGF0YVtpXTtcclxuICAgICAgICBjb25zdCBjb21wYXJlVmFsdWUgPSBnZXRDb21wYXJlVmFsdWUocG9pbnQueCB8fCBwb2ludC50KTtcclxuXHJcbiAgICAgICAgaWYgKGNvbXBhcmVWYWx1ZSA8PSBzdGFydFZhbHVlKSB7XHJcbiAgICAgICAgICAgIHN0YXJ0SW5kZXggPSBpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNvbXBhcmVWYWx1ZSA+PSBlbmRWYWx1ZSkge1xyXG4gICAgICAgICAgICBlbmRJbmRleCA9IGkgKyAxO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGRhdGEuc2xpY2Uoc3RhcnRJbmRleCwgZW5kSW5kZXgpO1xyXG59XHJcbiJdfQ==
@@ -22,8 +22,7 @@
22
22
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
23
  * SOFTWARE.
24
24
  */
25
- import * as moment_module from 'moment';
26
- const moment = (window && window.moment) ? window.moment : moment_module;
25
+ import moment from 'moment';
27
26
  import * as utils from './utils';
28
27
  import { DataMipmap } from './data_mipmap';
29
28
  import { LTTBDataMipmap } from './lttb_data_mipmap';
@@ -165,4 +164,4 @@ export class ResponsiveDownsamplePlugin {
165
164
  }
166
165
  }
167
166
  }
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2l2ZV9kb3duc2FtcGxlX3BsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9uYW1lc2VydmVyLWhpc3Rvcnktdmlld2VyL3V0aWxzL2NoYXJ0anMtZG93bnNhbXBsZS9yZXNwb25zaXZlX2Rvd25zYW1wbGVfcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNILE9BQU8sS0FBSyxhQUFhLE1BQU0sUUFBUSxDQUFDO0FBQ3hDLE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBTSxJQUFLLE1BQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUUsTUFBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0FBRzNGLE9BQU8sS0FBSyxLQUFLLE1BQU0sU0FBUyxDQUFDO0FBRWpDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxZQUFZLE1BQU0sZ0JBQWdCLENBQUM7QUErQy9DLCtFQUErRTtBQUMvRSxXQUFXO0FBQ1g7O0dBRUc7QUFDSCxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ2hDLE1BQU0sT0FBTyxHQUFzQyxLQUFLLENBQUMsT0FBTyxDQUFDLG9CQUFvQixJQUFJLEVBQUUsQ0FBQztRQUM1RixLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRTtZQUMxQixPQUFPLEVBQUUsS0FBSztZQUNkLG9CQUFvQixFQUFFLE1BQU07WUFDNUIsd0JBQXdCLEVBQUUsQ0FBQztZQUMzQixZQUFZLEVBQUUsR0FBRztZQUNqQixrQkFBa0IsRUFBRSxHQUFHO1lBQ3ZCLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxPQUFP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QUFNLEdBQWUsS0FBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1RCxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELE1BQU0sWUFBWSxHQUFHLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRWhGLElBQUksT0FBTyxDQUFDLFdBQVc7WUFDckIsT0FBTyxDQUFDLGdCQUFnQixLQUFLLGdCQUFnQjtZQUM3QyxZQUFZLEVBQ1o7WUFDQSxPQUFPLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7WUFDNUMsT0FBTyxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7WUFDaEMsT0FBTyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFFNUIsSUFBSSwwQkFBMEIsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxZQUFZLENBQUMsRUFBRTtnQkFDekUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDeEMseUNBQXlDO2dCQUN6QyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUVoQixPQUFPLEtBQUssQ0FBQzthQUNkO1NBQ0Y7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogVGhpcyBwbHVnaW4gaXMgYWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vM2RjbC9jaGFydGpzLXBsdWdpbi1yZXNwb25zaXZlLWRvd25zYW1wbGVcclxuICogZm9yIGNvbnRyb2xsaW5nIHRoZSByYWRpdXMgb2YgcG9pbnQuXHJcbiAqXHJcbiAqIE1JVCBMaWNlbnNlXHJcbiAqIENvcHlyaWdodCAoYykgMjAxOCAzRCBDb250ZW50IExvZ2lzdGljc1xyXG4gKlxyXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XHJcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcclxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xyXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXHJcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xyXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxyXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcclxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cclxuICpcclxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxyXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcclxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXHJcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcclxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcclxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcclxuICogU09GVFdBUkUuXHJcbiAqL1xyXG5pbXBvcnQgKiBhcyBtb21lbnRfbW9kdWxlIGZyb20gJ21vbWVudCc7XHJcbmNvbnN0IG1vbWVudCA9ICh3aW5kb3cgJiYgKHdpbmRvdyBhcyBhbnkpLm1vbWVudCkgPyAod2luZG93IGFzIGFueSkubW9tZW50IDogbW9tZW50X21vZHVsZTtcclxuaW1wb3J0IHsgQ2hhcnQsIENoYXJ0RGF0YSwgQ2hhcnREYXRhU2V0cywgQ2hhcnRQb2ludCB9IGZyb20gJ2NoYXJ0LmpzJztcclxuaW1wb3J0IHsgSUNoYXJ0UGx1Z2luLCBUaW1lU2NhbGUgfSBmcm9tICcuL2NoYXJ0anNfZXh0JztcclxuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi91dGlscyc7XHJcblxyXG5pbXBvcnQgeyBEYXRhTWlwbWFwIH0gZnJvbSAnLi9kYXRhX21pcG1hcCc7XHJcbmltcG9ydCB7IExUVEJEYXRhTWlwbWFwIH0gZnJvbSAnLi9sdHRiX2RhdGFfbWlwbWFwJztcclxuaW1wb3J0ICogYXMgZGF0YV9jdWxsaW5nIGZyb20gJy4vZGF0YV9jdWxsaW5nJztcclxuXHJcbmludGVyZmFjZSBNaXBNYXBEYXRhU2V0cyBleHRlbmRzIENoYXJ0RGF0YVNldHMge1xyXG4gIG9yaWdpbmFsRGF0YT86IENoYXJ0UG9pbnRbXTtcclxuICBjdXJyZW50TWlwTWFwTGV2ZWw/OiBudW1iZXI7XHJcbiAgbWlwTWFwPzogRGF0YU1pcG1hcDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbk9wdGlvbnMge1xyXG4gIC8qKlxyXG4gICAqIEVuYWJsZS9kaXNhYmxlIHBsdWdpblxyXG4gICAqL1xyXG4gIGVuYWJsZWQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIFRoZSBhZ2dyZWdhdGlvbiBhbGdvcml0aG0gdG8gdGhpbiBvdXQgZGF0YS4gRGVmYXVsdDogTFRUQlxyXG4gICAqL1xyXG4gIGFnZ3JlZ2F0aW9uQWxnb3JpdGhtPzogJ0FWRycgfCAnTFRUQic7XHJcbiAgLyoqXHJcbiAgICogRGVzaXJlZCBtaW5pbWFsIGRpc3RhbmNlIGJldHdlZW4gZGF0YSBwb2ludHMgaW4gcGl4ZWxzLiBEZWZhdWx0OiAxIHBpeGVsXHJcbiAgICovXHJcbiAgZGVzaXJlZERhdGFQb2ludERpc3RhbmNlPzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIE1pbmltYWwgbnVtYmVyIG9mIGRhdGEgcG9pbnRzLiBMaW1pdHNcclxuICAgKi9cclxuICBtaW5OdW1Qb2ludHM/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQ3VsbCBkYXRhIHRvIGRpc3BsYXllZCByYW5nZSBvZiB4IHNjYWxlXHJcbiAgICovXHJcbiAgY3VsbERhdGE/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEZsYWcgaXMgc2V0IGJ5IHBsdWdpbiB0byB0cmlnZ2VyIHJlbG9hZCBvZiBkYXRhXHJcbiAgICovXHJcbiAgbmVlZHNVcGRhdGU/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEN1cnJlbnQgdGFyZ2V0IHJlc29sdXRpb24oU2V0IGJ5IHBsdWdpbilcclxuICAgKi9cclxuICB0YXJnZXRSZXNvbHV0aW9uPzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIFNjYWxlIHJhbmdlIG9mIHggYXhpc1xyXG4gICAqL1xyXG4gIHNjYWxlUmFuZ2U/OiBkYXRhX2N1bGxpbmcuUmFuZ2U7XHJcbiAgLyoqXHJcbiAgICogRHJhdyBwb2ludHMgb25seSBpZiB0aGUgcG9pbnRzIG51bWJlciBsZXNzIHRoYW4gdGhlIGxpbWl0YXRpb25cclxuICAgKi9cclxuICBtYXhOdW1Qb2ludHNUb0RyYXc/OiBudW1iZXI7XHJcbn1cclxuXHJcbi8vIFVzaW5nIGR5bmFtaWMgZmxhZyB0byBmaXggdGhlIGlzc3VlIG9mIG5nLXBhY2thZ3IgIzY5NjogTGFtYmRhIG5vdCBzdXBwb3J0ZWRcclxuLy8gQGR5bmFtaWNcclxuLyoqXHJcbiAqIENoYXJ0IGpzIFBsdWdpbiBmb3IgZG93bnNhbXBsaW5nIGRhdGFcclxuICovXHJcbmV4cG9ydCBjbGFzcyBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbiBpbXBsZW1lbnRzIElDaGFydFBsdWdpbiB7XHJcbiAgc3RhdGljIGdldFBsdWdpbk9wdGlvbnMoY2hhcnQ6IGFueSk6IFJlc3BvbnNpdmVEb3duc2FtcGxlUGx1Z2luT3B0aW9ucyB7XHJcbiAgICBjb25zdCBvcHRpb25zOiBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbk9wdGlvbnMgPSBjaGFydC5vcHRpb25zLnJlc3BvbnNpdmVEb3duc2FtcGxlIHx8IHt9O1xyXG4gICAgdXRpbHMuZGVmYXVsdHNEZWVwKG9wdGlvbnMsIHtcclxuICAgICAgZW5hYmxlZDogZmFsc2UsXHJcbiAgICAgIGFnZ3JlZ2F0aW9uQWxnb3JpdGhtOiAnTFRUQicsXHJcbiAgICAgIGRlc2lyZWREYXRhUG9pbnREaXN0YW5jZTogMSxcclxuICAgICAgbWluTnVtUG9pbnRzOiAxMDAsXHJcbiAgICAgIG1heE51bVBvaW50c1RvRHJhdzogMTAwLFxyXG4gICAgICBjdWxsRGF0YTogdHJ1ZVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKG9wdGlvbnMuZW5hYmxlZCkge1xyXG4gICAgICBjaGFydC5vcHRpb25zLnJlc3BvbnNpdmVEb3duc2FtcGxlID0gb3B0aW9ucztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gb3B0aW9ucztcclxuICB9XHJcblxyXG4gIHN0YXRpYyBoYXNEYXRhQ2hhbmdlZChjaGFydDogQ2hhcnQpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhdXRpbHMuaXNOaWwoXHJcbiAgICAgIHV0aWxzLmZpbmRJbkFycmF5KFxyXG4gICAgICAgIGNoYXJ0LmRhdGEuZGF0YXNldHMgYXMgTWlwTWFwRGF0YVNldHNbXSxcclxuICAgICAgICAoZGF0YXNldCkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHV0aWxzLmlzTmlsKGRhdGFzZXQubWlwTWFwKTtcclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgY3JlYXRlRGF0YU1pcE1hcChjaGFydDogQ2hhcnQsIG9wdGlvbnM6IFJlc3BvbnNpdmVEb3duc2FtcGxlUGx1Z2luT3B0aW9ucyk6IHZvaWQge1xyXG4gICAgY2hhcnQuZGF0YS5kYXRhc2V0cy5mb3JFYWNoKChkYXRhc2V0OiBNaXBNYXBEYXRhU2V0cykgPT4ge1xyXG4gICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgIGNvbnN0IGRhdGEgPSAhdXRpbHMuaXNOaWwoZGF0YXNldC5vcmlnaW5hbERhdGEpID8gZGF0YXNldC5vcmlnaW5hbERhdGEgOiBkYXRhc2V0LmRhdGEgYXMgQ2hhcnRQb2ludFtdO1xyXG5cclxuICAgICAgY29uc3QgbWlwTWFwID0gKG9wdGlvbnMuYWdncmVnYXRpb25BbGdvcml0aG0gPT09ICdMVFRCJylcclxuICAgICAgICA/IG5ldyBMVFRCRGF0YU1pcG1hcChkYXRhLCBvcHRpb25zLm1pbk51bVBvaW50cylcclxuICAgICAgICA6IG5ldyBEYXRhTWlwbWFwKGRhdGEsIG9wdGlvbnMubWluTnVtUG9pbnRzKTtcclxuXHJcbiAgICAgIGRhdGFzZXQub3JpZ2luYWxEYXRhID0gZGF0YTtcclxuICAgICAgZGF0YXNldC5taXBNYXAgPSBtaXBNYXA7XHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgZGF0YXNldC5kYXRhID0gbWlwTWFwLmdldE1pcE1hcExldmVsKG1pcE1hcC5nZXROdW1MZXZlbCgpIC0gMSk7IC8vIHNldCBsYXN0IGxldmVsIGZvciBmaXJzdCByZW5kZXIgcGFzc1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgcmVzdG9yZU9yaWdpbmFsRGF0YShjaGFydDogQ2hhcnQpOiBib29sZWFuIHtcclxuICAgIGxldCB1cGRhdGVkID0gZmFsc2U7XHJcblxyXG4gICAgY2hhcnQuZGF0YS5kYXRhc2V0cy5mb3JFYWNoKChkYXRhc2V0OiBNaXBNYXBEYXRhU2V0cykgPT4ge1xyXG4gICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgIGlmICghdXRpbHMuaXNOaWwoZGF0YXNldC5vcmlnaW5hbERhdGEpICYmIGRhdGFzZXQuZGF0YSAhPT0gZGF0YXNldC5vcmlnaW5hbERhdGEpIHtcclxuICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgZGF0YXNldC5kYXRhID0gZGF0YXNldC5vcmlnaW5hbERhdGE7XHJcbiAgICAgICAgdXBkYXRlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB1cGRhdGVkO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldFRhcmdldFJlc29sdXRpb24oY2hhcnQ6IENoYXJ0LCBvcHRpb25zOiBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbk9wdGlvbnMpOiBudW1iZXIge1xyXG4gICAgY29uc3QgeFNjYWxlOiBUaW1lU2NhbGUgPSAoY2hhcnQgYXMgYW55KS5zY2FsZXNbJ3gtYXhpcy0wJ107XHJcblxyXG4gICAgaWYgKHV0aWxzLmlzTmlsKHhTY2FsZSkpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc3RhcnQgPSBtb21lbnQoeFNjYWxlLmdldFZhbHVlRm9yUGl4ZWwoeFNjYWxlLmxlZnQpIGFzIGFueSk7XHJcbiAgICBjb25zdCBlbmQgPSBtb21lbnQoeFNjYWxlLmdldFZhbHVlRm9yUGl4ZWwoeFNjYWxlLmxlZnQgKyAxKSBhcyBhbnkpO1xyXG4gICAgY29uc3QgdGFyZ2V0UmVzb2x1dGlvbiA9IGVuZC5kaWZmKHN0YXJ0KTtcclxuXHJcbiAgICByZXR1cm4gdGFyZ2V0UmVzb2x1dGlvbiAqIG9wdGlvbnMuZGVzaXJlZERhdGFQb2ludERpc3RhbmNlO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHVwZGF0ZU1pcE1hcChjaGFydDogQ2hhcnQsIG9wdGlvbnM6IFJlc3BvbnNpdmVEb3duc2FtcGxlUGx1Z2luT3B0aW9ucywgcmFuZ2VDaGFuZ2VkOiBib29sZWFuKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgdXBkYXRlZCA9IGZhbHNlO1xyXG5cclxuICAgIGNoYXJ0LmRhdGEuZGF0YXNldHMuZm9yRWFjaCgoZGF0YXNldDogTWlwTWFwRGF0YVNldHMpID0+IHtcclxuICAgICAgY29uc3QgbWlwTWFwID0gZGF0YXNldC5taXBNYXA7XHJcbiAgICAgIGlmICh1dGlscy5pc05pbChtaXBNYXApKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBtaXBNYWxMZXZlbCA9IG1pcE1hcC5nZXRNaXBNYXBJbmRleEZvclJlc29sdXRpb24ob3B0aW9ucy50YXJnZXRSZXNvbHV0aW9uKTtcclxuICAgICAgaWYgKG1pcE1hbExldmVsID09PSBkYXRhc2V0LmN1cnJlbnRNaXBNYXBMZXZlbCAmJiAhcmFuZ2VDaGFuZ2VkKSB7XHJcbiAgICAgICAgLy8gc2tpcCB1cGRhdGUgaWYgbWlwIG1hcCBsZXZlbCBhbmQgZGF0YSByYW5nZSBkaWQgbm90IGNoYW5nZVxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB1cGRhdGVkID0gdHJ1ZTtcclxuICAgICAgZGF0YXNldC5jdXJyZW50TWlwTWFwTGV2ZWwgPSBtaXBNYWxMZXZlbDtcclxuXHJcbiAgICAgIGxldCBuZXdEYXRhID0gbWlwTWFwLmdldE1pcE1hcExldmVsKG1pcE1hbExldmVsKTtcclxuICAgICAgaWYgKG9wdGlvbnMuY3VsbERhdGEpIHtcclxuICAgICAgICBuZXdEYXRhID0gZGF0YV9jdWxsaW5nLmN1bGxEYXRhKG5ld0RhdGEsIG9wdGlvbnMuc2NhbGVSYW5nZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgZGF0YXNldC5kYXRhID0gbmV3RGF0YTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB1cGRhdGVkO1xyXG4gIH1cclxuXHJcbiAgYmVmb3JlSW5pdChjaGFydDogQ2hhcnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IG9wdGlvbnMgPSBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbi5nZXRQbHVnaW5PcHRpb25zKGNoYXJ0KTtcclxuICAgIGlmICghb3B0aW9ucy5lbmFibGVkKSB7IHJldHVybjsgfVxyXG5cclxuICAgIFJlc3BvbnNpdmVEb3duc2FtcGxlUGx1Z2luLmNyZWF0ZURhdGFNaXBNYXAoY2hhcnQsIG9wdGlvbnMpO1xyXG4gICAgb3B0aW9ucy5uZWVkc1VwZGF0ZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBiZWZvcmVEYXRhc2V0c1VwZGF0ZShjaGFydDogQ2hhcnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IG9wdGlvbnMgPSBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbi5nZXRQbHVnaW5PcHRpb25zKGNoYXJ0KTtcclxuICAgIGlmICghb3B0aW9ucy5lbmFibGVkKSB7XHJcbiAgICAgIC8vIHJlc3RvcmUgb3JpZ2luYWwgZGF0YSBhbmQgcmVtb3ZlIHN0YXRlIGZyb20gb3B0aW9uc1xyXG4gICAgICBvcHRpb25zLm5lZWRzVXBkYXRlID0gUmVzcG9uc2l2ZURvd25zYW1wbGVQbHVnaW4ucmVzdG9yZU9yaWdpbmFsRGF0YShjaGFydCk7XHJcbiAgICAgIGRlbGV0ZSBvcHRpb25zLnRhcmdldFJlc29sdXRpb247XHJcbiAgICAgIGRlbGV0ZSBvcHRpb25zLnNjYWxlUmFuZ2U7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBvbmx5IHVwZGF0ZSBtaXAgbWFwIGlmIGRhdGEgc2V0IHdhcyByZWxvYWRlZCBleHRlcm5hbGx5XHJcbiAgICBpZiAoUmVzcG9uc2l2ZURvd25zYW1wbGVQbHVnaW4uaGFzRGF0YUNoYW5nZWQoY2hhcnQpKSB7XHJcbiAgICAgIFJlc3BvbnNpdmVEb3duc2FtcGxlUGx1Z2luLmNyZWF0ZURhdGFNaXBNYXAoY2hhcnQsIG9wdGlvbnMpO1xyXG4gICAgICBvcHRpb25zLm5lZWRzVXBkYXRlID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGJlZm9yZVJlbmRlcihjaGFydDogQ2hhcnQpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IG9wdGlvbnMgPSBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbi5nZXRQbHVnaW5PcHRpb25zKGNoYXJ0KTtcclxuICAgIGlmICghb3B0aW9ucy5lbmFibGVkKSB7XHJcbiAgICAgIC8vIHVwZGF0ZSBjaGFydCBpZiBkYXRhIHdhcyByZXN0b3JlZCBmcm9tIG9yaWdpbmFsIGRhdGFcclxuICAgICAgaWYgKG9wdGlvbnMubmVlZHNVcGRhdGUpIHtcclxuICAgICAgICBvcHRpb25zLm5lZWRzVXBkYXRlID0gZmFsc2U7XHJcbiAgICAgICAgY2hhcnQudXBkYXRlKDApO1xyXG5cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHRhcmdldFJlc29sdXRpb24gPSBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbi5nZXRUYXJnZXRSZXNvbHV0aW9uKGNoYXJ0LCBvcHRpb25zKTtcclxuICAgIGNvbnN0IHhTY2FsZTogVGltZVNjYWxlID0gKGNoYXJ0IGFzIGFueSkuc2NhbGVzWyd4LWF4aXMtMCddO1xyXG4gICAgY29uc3Qgc2NhbGVSYW5nZSA9IGRhdGFfY3VsbGluZy5nZXRTY2FsZVJhbmdlKHhTY2FsZSk7XHJcbiAgICBjb25zdCByYW5nZUNoYW5nZWQgPSAhZGF0YV9jdWxsaW5nLnJhbmdlSXNFcXVhbChvcHRpb25zLnNjYWxlUmFuZ2UsIHNjYWxlUmFuZ2UpO1xyXG5cclxuICAgIGlmIChvcHRpb25zLm5lZWRzVXBkYXRlIHx8XHJcbiAgICAgIG9wdGlvbnMudGFyZ2V0UmVzb2x1dGlvbiAhPT0gdGFyZ2V0UmVzb2x1dGlvbiB8fFxyXG4gICAgICByYW5nZUNoYW5nZWRcclxuICAgICkge1xyXG4gICAgICBvcHRpb25zLnRhcmdldFJlc29sdXRpb24gPSB0YXJnZXRSZXNvbHV0aW9uO1xyXG4gICAgICBvcHRpb25zLnNjYWxlUmFuZ2UgPSBzY2FsZVJhbmdlO1xyXG4gICAgICBvcHRpb25zLm5lZWRzVXBkYXRlID0gZmFsc2U7XHJcblxyXG4gICAgICBpZiAoUmVzcG9uc2l2ZURvd25zYW1wbGVQbHVnaW4udXBkYXRlTWlwTWFwKGNoYXJ0LCBvcHRpb25zLCByYW5nZUNoYW5nZWQpKSB7XHJcbiAgICAgICAgdXRpbHMuY2hhbmdlUG9pbnRSYWRpdXMoY2hhcnQsIG9wdGlvbnMpO1xyXG4gICAgICAgIC8vIHVwZGF0ZSBjaGFydCBhbmQgY2FuY2VsIGN1cnJlbnQgcmVuZGVyXHJcbiAgICAgICAgY2hhcnQudXBkYXRlKDApO1xyXG5cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2l2ZV9kb3duc2FtcGxlX3BsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9uYW1lc2VydmVyLWhpc3Rvcnktdmlld2VyL3V0aWxzL2NoYXJ0anMtZG93bnNhbXBsZS9yZXNwb25zaXZlX2Rvd25zYW1wbGVfcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNILE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUc1QixPQUFPLEtBQUssS0FBSyxNQUFNLFNBQVMsQ0FBQztBQUVqQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssWUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBK0MvQywrRUFBK0U7QUFDL0UsV0FBVztBQUNYOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBVTtRQUNoQyxNQUFNLE9BQU8sR0FBc0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsSUFBSSxFQUFFLENBQUM7UUFDNUYsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUU7WUFDMUIsT0FBTyxFQUFFLEtBQUs7WUFDZCxvQkFBb0IsRUFBRSxNQUFNO1lBQzVCLHdCQUF3QixFQUFFLENBQUM7WUFDM0IsWUFBWSxFQUFFLEdBQUc7WUFDakIsa0JBQWtCLEVBQUUsR0FBRztZQUN2QixRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztRQUVILElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUNuQixLQUFLLENBQUMsT0FBTyxDQUFDLG9CQUFvQixHQUFHLE9BQU8sQ0FBQztTQUM5QztRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxNQUFNLENBQUMs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R0FBRyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUVoRixJQUFJLE9BQU8sQ0FBQyxXQUFXO1lBQ3JCLE9BQU8sQ0FBQyxnQkFBZ0IsS0FBSyxnQkFBZ0I7WUFDN0MsWUFBWSxFQUNaO1lBQ0EsT0FBTyxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO1lBQzVDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1lBQ2hDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1lBRTVCLElBQUksMEJBQTBCLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsWUFBWSxDQUFDLEVBQUU7Z0JBQ3pFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQ3hDLHlDQUF5QztnQkFDekMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFFaEIsT0FBTyxLQUFLLENBQUM7YUFDZDtTQUNGO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFRoaXMgcGx1Z2luIGlzIGFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tLzNkY2wvY2hhcnRqcy1wbHVnaW4tcmVzcG9uc2l2ZS1kb3duc2FtcGxlXHJcbiAqIGZvciBjb250cm9sbGluZyB0aGUgcmFkaXVzIG9mIHBvaW50LlxyXG4gKlxyXG4gKiBNSVQgTGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggM0QgQ29udGVudCBMb2dpc3RpY3NcclxuICpcclxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxyXG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXHJcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcclxuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxyXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcclxuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcclxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXHJcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXHJcbiAqXHJcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcclxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXHJcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxyXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXHJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXHJcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXHJcbiAqIFNPRlRXQVJFLlxyXG4gKi9cclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQgeyBDaGFydCwgQ2hhcnREYXRhU2V0cywgQ2hhcnRQb2ludCB9IGZyb20gJ2NoYXJ0LmpzJztcclxuaW1wb3J0IHsgSUNoYXJ0UGx1Z2luLCBUaW1lU2NhbGUgfSBmcm9tICcuL2NoYXJ0anNfZXh0JztcclxuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi91dGlscyc7XHJcblxyXG5pbXBvcnQgeyBEYXRhTWlwbWFwIH0gZnJvbSAnLi9kYXRhX21pcG1hcCc7XHJcbmltcG9ydCB7IExUVEJEYXRhTWlwbWFwIH0gZnJvbSAnLi9sdHRiX2RhdGFfbWlwbWFwJztcclxuaW1wb3J0ICogYXMgZGF0YV9jdWxsaW5nIGZyb20gJy4vZGF0YV9jdWxsaW5nJztcclxuXHJcbmludGVyZmFjZSBNaXBNYXBEYXRhU2V0cyBleHRlbmRzIENoYXJ0RGF0YVNldHMge1xyXG4gIG9yaWdpbmFsRGF0YT86IENoYXJ0UG9pbnRbXTtcclxuICBjdXJyZW50TWlwTWFwTGV2ZWw/OiBudW1iZXI7XHJcbiAgbWlwTWFwPzogRGF0YU1pcG1hcDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbk9wdGlvbnMge1xyXG4gIC8qKlxyXG4gICAqIEVuYWJsZS9kaXNhYmxlIHBsdWdpblxyXG4gICAqL1xyXG4gIGVuYWJsZWQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIFRoZSBhZ2dyZWdhdGlvbiBhbGdvcml0aG0gdG8gdGhpbiBvdXQgZGF0YS4gRGVmYXVsdDogTFRUQlxyXG4gICAqL1xyXG4gIGFnZ3JlZ2F0aW9uQWxnb3JpdGhtPzogJ0FWRycgfCAnTFRUQic7XHJcbiAgLyoqXHJcbiAgICogRGVzaXJlZCBtaW5pbWFsIGRpc3RhbmNlIGJldHdlZW4gZGF0YSBwb2ludHMgaW4gcGl4ZWxzLiBEZWZhdWx0OiAxIHBpeGVsXHJcbiAgICovXHJcbiAgZGVzaXJlZERhdGFQb2ludERpc3RhbmNlPzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIE1pbmltYWwgbnVtYmVyIG9mIGRhdGEgcG9pbnRzLiBMaW1pdHNcclxuICAgKi9cclxuICBtaW5OdW1Qb2ludHM/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQ3VsbCBkYXRhIHRvIGRpc3BsYXllZCByYW5nZSBvZiB4IHNjYWxlXHJcbiAgICovXHJcbiAgY3VsbERhdGE/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEZsYWcgaXMgc2V0IGJ5IHBsdWdpbiB0byB0cmlnZ2VyIHJlbG9hZCBvZiBkYXRhXHJcbiAgICovXHJcbiAgbmVlZHNVcGRhdGU/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEN1cnJlbnQgdGFyZ2V0IHJlc29sdXRpb24oU2V0IGJ5IHBsdWdpbilcclxuICAgKi9cclxuICB0YXJnZXRSZXNvbHV0aW9uPzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIFNjYWxlIHJhbmdlIG9mIHggYXhpc1xyXG4gICAqL1xyXG4gIHNjYWxlUmFuZ2U/OiBkYXRhX2N1bGxpbmcuUmFuZ2U7XHJcbiAgLyoqXHJcbiAgICogRHJhdyBwb2ludHMgb25seSBpZiB0aGUgcG9pbnRzIG51bWJlciBsZXNzIHRoYW4gdGhlIGxpbWl0YXRpb25cclxuICAgKi9cclxuICBtYXhOdW1Qb2ludHNUb0RyYXc/OiBudW1iZXI7XHJcbn1cclxuXHJcbi8vIFVzaW5nIGR5bmFtaWMgZmxhZyB0byBmaXggdGhlIGlzc3VlIG9mIG5nLXBhY2thZ3IgIzY5NjogTGFtYmRhIG5vdCBzdXBwb3J0ZWRcclxuLy8gQGR5bmFtaWNcclxuLyoqXHJcbiAqIENoYXJ0IGpzIFBsdWdpbiBmb3IgZG93bnNhbXBsaW5nIGRhdGFcclxuICovXHJcbmV4cG9ydCBjbGFzcyBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbiBpbXBsZW1lbnRzIElDaGFydFBsdWdpbiB7XHJcbiAgc3RhdGljIGdldFBsdWdpbk9wdGlvbnMoY2hhcnQ6IGFueSk6IFJlc3BvbnNpdmVEb3duc2FtcGxlUGx1Z2luT3B0aW9ucyB7XHJcbiAgICBjb25zdCBvcHRpb25zOiBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbk9wdGlvbnMgPSBjaGFydC5vcHRpb25zLnJlc3BvbnNpdmVEb3duc2FtcGxlIHx8IHt9O1xyXG4gICAgdXRpbHMuZGVmYXVsdHNEZWVwKG9wdGlvbnMsIHtcclxuICAgICAgZW5hYmxlZDogZmFsc2UsXHJcbiAgICAgIGFnZ3JlZ2F0aW9uQWxnb3JpdGhtOiAnTFRUQicsXHJcbiAgICAgIGRlc2lyZWREYXRhUG9pbnREaXN0YW5jZTogMSxcclxuICAgICAgbWluTnVtUG9pbnRzOiAxMDAsXHJcbiAgICAgIG1heE51bVBvaW50c1RvRHJhdzogMTAwLFxyXG4gICAgICBjdWxsRGF0YTogdHJ1ZVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKG9wdGlvbnMuZW5hYmxlZCkge1xyXG4gICAgICBjaGFydC5vcHRpb25zLnJlc3BvbnNpdmVEb3duc2FtcGxlID0gb3B0aW9ucztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gb3B0aW9ucztcclxuICB9XHJcblxyXG4gIHN0YXRpYyBoYXNEYXRhQ2hhbmdlZChjaGFydDogQ2hhcnQpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhdXRpbHMuaXNOaWwoXHJcbiAgICAgIHV0aWxzLmZpbmRJbkFycmF5KFxyXG4gICAgICAgIGNoYXJ0LmRhdGEuZGF0YXNldHMgYXMgTWlwTWFwRGF0YVNldHNbXSxcclxuICAgICAgICAoZGF0YXNldCkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHV0aWxzLmlzTmlsKGRhdGFzZXQubWlwTWFwKTtcclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgY3JlYXRlRGF0YU1pcE1hcChjaGFydDogQ2hhcnQsIG9wdGlvbnM6IFJlc3BvbnNpdmVEb3duc2FtcGxlUGx1Z2luT3B0aW9ucyk6IHZvaWQge1xyXG4gICAgY2hhcnQuZGF0YS5kYXRhc2V0cy5mb3JFYWNoKChkYXRhc2V0OiBNaXBNYXBEYXRhU2V0cykgPT4ge1xyXG4gICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgIGNvbnN0IGRhdGEgPSAhdXRpbHMuaXNOaWwoZGF0YXNldC5vcmlnaW5hbERhdGEpID8gZGF0YXNldC5vcmlnaW5hbERhdGEgOiBkYXRhc2V0LmRhdGEgYXMgQ2hhcnRQb2ludFtdO1xyXG5cclxuICAgICAgY29uc3QgbWlwTWFwID0gKG9wdGlvbnMuYWdncmVnYXRpb25BbGdvcml0aG0gPT09ICdMVFRCJylcclxuICAgICAgICA/IG5ldyBMVFRCRGF0YU1pcG1hcChkYXRhLCBvcHRpb25zLm1pbk51bVBvaW50cylcclxuICAgICAgICA6IG5ldyBEYXRhTWlwbWFwKGRhdGEsIG9wdGlvbnMubWluTnVtUG9pbnRzKTtcclxuXHJcbiAgICAgIGRhdGFzZXQub3JpZ2luYWxEYXRhID0gZGF0YTtcclxuICAgICAgZGF0YXNldC5taXBNYXAgPSBtaXBNYXA7XHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgZGF0YXNldC5kYXRhID0gbWlwTWFwLmdldE1pcE1hcExldmVsKG1pcE1hcC5nZXROdW1MZXZlbCgpIC0gMSk7IC8vIHNldCBsYXN0IGxldmVsIGZvciBmaXJzdCByZW5kZXIgcGFzc1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgcmVzdG9yZU9yaWdpbmFsRGF0YShjaGFydDogQ2hhcnQpOiBib29sZWFuIHtcclxuICAgIGxldCB1cGRhdGVkID0gZmFsc2U7XHJcblxyXG4gICAgY2hhcnQuZGF0YS5kYXRhc2V0cy5mb3JFYWNoKChkYXRhc2V0OiBNaXBNYXBEYXRhU2V0cykgPT4ge1xyXG4gICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgIGlmICghdXRpbHMuaXNOaWwoZGF0YXNldC5vcmlnaW5hbERhdGEpICYmIGRhdGFzZXQuZGF0YSAhPT0gZGF0YXNldC5vcmlnaW5hbERhdGEpIHtcclxuICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgZGF0YXNldC5kYXRhID0gZGF0YXNldC5vcmlnaW5hbERhdGE7XHJcbiAgICAgICAgdXBkYXRlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB1cGRhdGVkO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldFRhcmdldFJlc29sdXRpb24oY2hhcnQ6IENoYXJ0LCBvcHRpb25zOiBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbk9wdGlvbnMpOiBudW1iZXIge1xyXG4gICAgY29uc3QgeFNjYWxlOiBUaW1lU2NhbGUgPSAoY2hhcnQgYXMgYW55KS5zY2FsZXNbJ3gtYXhpcy0wJ107XHJcblxyXG4gICAgaWYgKHV0aWxzLmlzTmlsKHhTY2FsZSkpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc3RhcnQgPSBtb21lbnQoeFNjYWxlLmdldFZhbHVlRm9yUGl4ZWwoeFNjYWxlLmxlZnQpIGFzIGFueSk7XHJcbiAgICBjb25zdCBlbmQgPSBtb21lbnQoeFNjYWxlLmdldFZhbHVlRm9yUGl4ZWwoeFNjYWxlLmxlZnQgKyAxKSBhcyBhbnkpO1xyXG4gICAgY29uc3QgdGFyZ2V0UmVzb2x1dGlvbiA9IGVuZC5kaWZmKHN0YXJ0KTtcclxuXHJcbiAgICByZXR1cm4gdGFyZ2V0UmVzb2x1dGlvbiAqIG9wdGlvbnMuZGVzaXJlZERhdGFQb2ludERpc3RhbmNlO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHVwZGF0ZU1pcE1hcChjaGFydDogQ2hhcnQsIG9wdGlvbnM6IFJlc3BvbnNpdmVEb3duc2FtcGxlUGx1Z2luT3B0aW9ucywgcmFuZ2VDaGFuZ2VkOiBib29sZWFuKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgdXBkYXRlZCA9IGZhbHNlO1xyXG5cclxuICAgIGNoYXJ0LmRhdGEuZGF0YXNldHMuZm9yRWFjaCgoZGF0YXNldDogTWlwTWFwRGF0YVNldHMpID0+IHtcclxuICAgICAgY29uc3QgbWlwTWFwID0gZGF0YXNldC5taXBNYXA7XHJcbiAgICAgIGlmICh1dGlscy5pc05pbChtaXBNYXApKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBtaXBNYWxMZXZlbCA9IG1pcE1hcC5nZXRNaXBNYXBJbmRleEZvclJlc29sdXRpb24ob3B0aW9ucy50YXJnZXRSZXNvbHV0aW9uKTtcclxuICAgICAgaWYgKG1pcE1hbExldmVsID09PSBkYXRhc2V0LmN1cnJlbnRNaXBNYXBMZXZlbCAmJiAhcmFuZ2VDaGFuZ2VkKSB7XHJcbiAgICAgICAgLy8gc2tpcCB1cGRhdGUgaWYgbWlwIG1hcCBsZXZlbCBhbmQgZGF0YSByYW5nZSBkaWQgbm90IGNoYW5nZVxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB1cGRhdGVkID0gdHJ1ZTtcclxuICAgICAgZGF0YXNldC5jdXJyZW50TWlwTWFwTGV2ZWwgPSBtaXBNYWxMZXZlbDtcclxuXHJcbiAgICAgIGxldCBuZXdEYXRhID0gbWlwTWFwLmdldE1pcE1hcExldmVsKG1pcE1hbExldmVsKTtcclxuICAgICAgaWYgKG9wdGlvbnMuY3VsbERhdGEpIHtcclxuICAgICAgICBuZXdEYXRhID0gZGF0YV9jdWxsaW5nLmN1bGxEYXRhKG5ld0RhdGEsIG9wdGlvbnMuc2NhbGVSYW5nZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgZGF0YXNldC5kYXRhID0gbmV3RGF0YTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB1cGRhdGVkO1xyXG4gIH1cclxuXHJcbiAgYmVmb3JlSW5pdChjaGFydDogQ2hhcnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IG9wdGlvbnMgPSBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbi5nZXRQbHVnaW5PcHRpb25zKGNoYXJ0KTtcclxuICAgIGlmICghb3B0aW9ucy5lbmFibGVkKSB7IHJldHVybjsgfVxyXG5cclxuICAgIFJlc3BvbnNpdmVEb3duc2FtcGxlUGx1Z2luLmNyZWF0ZURhdGFNaXBNYXAoY2hhcnQsIG9wdGlvbnMpO1xyXG4gICAgb3B0aW9ucy5uZWVkc1VwZGF0ZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBiZWZvcmVEYXRhc2V0c1VwZGF0ZShjaGFydDogQ2hhcnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IG9wdGlvbnMgPSBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbi5nZXRQbHVnaW5PcHRpb25zKGNoYXJ0KTtcclxuICAgIGlmICghb3B0aW9ucy5lbmFibGVkKSB7XHJcbiAgICAgIC8vIHJlc3RvcmUgb3JpZ2luYWwgZGF0YSBhbmQgcmVtb3ZlIHN0YXRlIGZyb20gb3B0aW9uc1xyXG4gICAgICBvcHRpb25zLm5lZWRzVXBkYXRlID0gUmVzcG9uc2l2ZURvd25zYW1wbGVQbHVnaW4ucmVzdG9yZU9yaWdpbmFsRGF0YShjaGFydCk7XHJcbiAgICAgIGRlbGV0ZSBvcHRpb25zLnRhcmdldFJlc29sdXRpb247XHJcbiAgICAgIGRlbGV0ZSBvcHRpb25zLnNjYWxlUmFuZ2U7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBvbmx5IHVwZGF0ZSBtaXAgbWFwIGlmIGRhdGEgc2V0IHdhcyByZWxvYWRlZCBleHRlcm5hbGx5XHJcbiAgICBpZiAoUmVzcG9uc2l2ZURvd25zYW1wbGVQbHVnaW4uaGFzRGF0YUNoYW5nZWQoY2hhcnQpKSB7XHJcbiAgICAgIFJlc3BvbnNpdmVEb3duc2FtcGxlUGx1Z2luLmNyZWF0ZURhdGFNaXBNYXAoY2hhcnQsIG9wdGlvbnMpO1xyXG4gICAgICBvcHRpb25zLm5lZWRzVXBkYXRlID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGJlZm9yZVJlbmRlcihjaGFydDogQ2hhcnQpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IG9wdGlvbnMgPSBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbi5nZXRQbHVnaW5PcHRpb25zKGNoYXJ0KTtcclxuICAgIGlmICghb3B0aW9ucy5lbmFibGVkKSB7XHJcbiAgICAgIC8vIHVwZGF0ZSBjaGFydCBpZiBkYXRhIHdhcyByZXN0b3JlZCBmcm9tIG9yaWdpbmFsIGRhdGFcclxuICAgICAgaWYgKG9wdGlvbnMubmVlZHNVcGRhdGUpIHtcclxuICAgICAgICBvcHRpb25zLm5lZWRzVXBkYXRlID0gZmFsc2U7XHJcbiAgICAgICAgY2hhcnQudXBkYXRlKDApO1xyXG5cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHRhcmdldFJlc29sdXRpb24gPSBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbi5nZXRUYXJnZXRSZXNvbHV0aW9uKGNoYXJ0LCBvcHRpb25zKTtcclxuICAgIGNvbnN0IHhTY2FsZTogVGltZVNjYWxlID0gKGNoYXJ0IGFzIGFueSkuc2NhbGVzWyd4LWF4aXMtMCddO1xyXG4gICAgY29uc3Qgc2NhbGVSYW5nZSA9IGRhdGFfY3VsbGluZy5nZXRTY2FsZVJhbmdlKHhTY2FsZSk7XHJcbiAgICBjb25zdCByYW5nZUNoYW5nZWQgPSAhZGF0YV9jdWxsaW5nLnJhbmdlSXNFcXVhbChvcHRpb25zLnNjYWxlUmFuZ2UsIHNjYWxlUmFuZ2UpO1xyXG5cclxuICAgIGlmIChvcHRpb25zLm5lZWRzVXBkYXRlIHx8XHJcbiAgICAgIG9wdGlvbnMudGFyZ2V0UmVzb2x1dGlvbiAhPT0gdGFyZ2V0UmVzb2x1dGlvbiB8fFxyXG4gICAgICByYW5nZUNoYW5nZWRcclxuICAgICkge1xyXG4gICAgICBvcHRpb25zLnRhcmdldFJlc29sdXRpb24gPSB0YXJnZXRSZXNvbHV0aW9uO1xyXG4gICAgICBvcHRpb25zLnNjYWxlUmFuZ2UgPSBzY2FsZVJhbmdlO1xyXG4gICAgICBvcHRpb25zLm5lZWRzVXBkYXRlID0gZmFsc2U7XHJcblxyXG4gICAgICBpZiAoUmVzcG9uc2l2ZURvd25zYW1wbGVQbHVnaW4udXBkYXRlTWlwTWFwKGNoYXJ0LCBvcHRpb25zLCByYW5nZUNoYW5nZWQpKSB7XHJcbiAgICAgICAgdXRpbHMuY2hhbmdlUG9pbnRSYWRpdXMoY2hhcnQsIG9wdGlvbnMpO1xyXG4gICAgICAgIC8vIHVwZGF0ZSBjaGFydCBhbmQgY2FuY2VsIGN1cnJlbnQgcmVuZGVyXHJcbiAgICAgICAgY2hhcnQudXBkYXRlKDApO1xyXG5cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -1,8 +1,6 @@
1
1
  import { isDevMode } from '@angular/core';
2
2
  import { getIgnoredLineNumFromTail } from './ui-util';
3
- import * as momentImported from 'moment-timezone';
4
- // workaround for fixing following error when doing packagr: Cannot call a namespace ('moment')
5
- const moment = momentImported;
3
+ import moment from 'moment-timezone';
6
4
  /**
7
5
  * get the time range for all ports
8
6
  */
@@ -98,4 +96,4 @@ export function printProcessedTime(beginTime, step) {
98
96
  console.log(`${step}, Parsing time: ${parsingTime} seconds`);
99
97
  }
100
98
  }
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL25hbWVzZXJ2ZXItaGlzdG9yeS12aWV3ZXIvdXRpbHMvdGltZS11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXRELE9BQU8sS0FBSyxjQUFjLE1BQU0saUJBQWlCLENBQUM7QUFFbEQsK0ZBQStGO0FBQy9GLE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQztBQUM5Qjs7R0FFRztBQUNILFNBQVMsa0JBQWtCLENBQUMsSUFBc0I7SUFDaEQsSUFBSSxJQUFJLEVBQUU7UUFDUixJQUFJLFNBQVMsR0FBRyxhQUFhLENBQUMsQ0FBQyxhQUFhO1FBQzVDLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztRQUVoQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMvQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDZCxNQUFNLGdCQUFnQixHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDbkQsU0FBUyxHQUFHLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUM1RixPQUFPLEdBQUcsT0FBTyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7YUFDbkY7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUMsQ0FB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LEdBQUcsZUFBZSxNQUFNLGFBQWEsRUFBRSxDQUFDO0tBQ2hEO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLFNBQWUsRUFBRSxJQUFZO0lBQzlELElBQUksU0FBUyxFQUFFLEVBQUU7UUFDZix5QkFBeUI7UUFDekIsTUFBTSxTQUFTLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM3QixNQUFNLFdBQVcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDdkUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksbUJBQW1CLFdBQVcsVUFBVSxDQUFDLENBQUM7S0FDOUQ7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNEZXZNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGdldElnbm9yZWRMaW5lTnVtRnJvbVRhaWwgfSBmcm9tICcuL3VpLXV0aWwnO1xyXG5pbXBvcnQgeyBDaGFydENvbnRlbnRUaW1lIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5pbXBvcnQgKiBhcyBtb21lbnRJbXBvcnRlZCBmcm9tICdtb21lbnQtdGltZXpvbmUnO1xyXG5cclxuLy8gd29ya2Fyb3VuZCBmb3IgZml4aW5nIGZvbGxvd2luZyBlcnJvciB3aGVuIGRvaW5nIHBhY2thZ3I6IENhbm5vdCBjYWxsIGEgbmFtZXNwYWNlICgnbW9tZW50JylcclxuY29uc3QgbW9tZW50ID0gbW9tZW50SW1wb3J0ZWQ7XHJcbi8qKlxyXG4gKiBnZXQgdGhlIHRpbWUgcmFuZ2UgZm9yIGFsbCBwb3J0c1xyXG4gKi9cclxuZnVuY3Rpb24gX2dldFRvdGFsVGltZVJhbmdlKHRpbWU6IENoYXJ0Q29udGVudFRpbWUpOiB7c3RhcnRUaW1lOiBudW1iZXIsIGVuZFRpbWU6IG51bWJlcn0ge1xyXG4gIGlmICh0aW1lKSB7XHJcbiAgICBsZXQgc3RhcnRUaW1lID0gNDEwMjM1ODQwMDAwMDsgLy8gMjA5OS8xMi8zMVxyXG4gICAgbGV0IGVuZFRpbWUgPSAwO1xyXG5cclxuICAgIE9iamVjdC5rZXlzKHRpbWUpLmZvckVhY2gocG9ydCA9PiB7XHJcbiAgICAgIGlmICh0aW1lW3BvcnRdKSB7XHJcbiAgICAgICAgY29uc3QgdGltZVJhbmdlQ3VycmVudCA9IF9nZXRUaW1lUmFuZ2UodGltZVtwb3J0XSk7XHJcbiAgICAgICAgc3RhcnRUaW1lID0gc3RhcnRUaW1lID4gdGltZVJhbmdlQ3VycmVudC5zdGFydFRpbWUgPyB0aW1lUmFuZ2VDdXJyZW50LnN0YXJ0VGltZSA6IHN0YXJ0VGltZTtcclxuICAgICAgICBlbmRUaW1lID0gZW5kVGltZSA8IHRpbWVSYW5nZUN1cnJlbnQuZW5kVGltZSA/IHRpbWVSYW5nZUN1cnJlbnQuZW5kVGltZSA6IGVuZFRpbWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB7c3RhcnRUaW1lOiBzdGFydFRpbWUsIGVuZFRpbWU6IGVuZFRpbWV9O1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIGdldCB0aGUgdGltZSByYW5nZSAoc3RhcnRUaW1lIH4gZW5kVGltZSkgYmFzZSBvbiB0aGUgdGltZSAodGhlIHhTY2FsZSlcclxuICovXHJcbmZ1bmN0aW9uIF9nZXRUaW1lUmFuZ2UodGltZTogbnVtYmVyW10pOiB7c3RhcnRUaW1lOiBudW1iZXIsIGVuZFRpbWU6IG51bWJlcn0ge1xyXG4gIGNvbnN0IGlnbm9yZWRMaW5lTnVtRnJvbVRhaWwgPSBnZXRJZ25vcmVkTGluZU51bUZyb21UYWlsKCk7XHJcbiAgaWYgKHRpbWUpIHtcclxuICAgIGxldCBzdGFydFRpbWUgPSA0MTAyMzU4NDAwMDAwOyAvLyAyMDk5LzEyLzMxXHJcbiAgICBsZXQgZW5kVGltZSA9IDA7XHJcblxyXG4gICAgY29uc3QgbGVuID0gdGltZS5sZW5ndGg7XHJcbiAgICBpZiAobGVuID4gaWdub3JlZExpbmVOdW1Gcm9tVGFpbCkge1xyXG4gICAgICBzdGFydFRpbWUgPSB0aW1lWzBdID4gc3RhcnRUaW1lID8gc3RhcnRUaW1lIDogdGltZVswXTtcclxuICAgICAgZW5kVGltZSA9IHRpbWVbbGVuIC0gaWdub3JlZExpbmVOdW1Gcm9tVGFpbCAtIDFdID4gZW5kVGltZSA/IHRpbWVbbGVuIC0gaWdub3JlZExpbmVOdW1Gcm9tVGFpbCAtIDFdIDogZW5kVGltZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge3N0YXJ0VGltZTogc3RhcnRUaW1lLCBlbmRUaW1lOiBlbmRUaW1lfTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBnZXQgZGVmYXVsdCBsb2NhbCB0aW1lIHpvbmVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXREZWZhdWx0VGltZXpvbmUoKTogc3RyaW5nIHtcclxuICByZXR1cm4gbW9tZW50LnR6Lmd1ZXNzKCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgdGltZSBmcm9tIHByb3ZpZGVkIHRpbWV6b25lLCB1c2luZyB0aGlzIG9ubHkgYmVjYXVzZSBjaGFydC5qcyBkb2Vzbid0IHN1cHBvcnQgdGltZXpvbmUuXHJcbiAqIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSByZW1vdmVkIHdoZW4gY2hhcnQuanMgc3RhcnRzIHRvIHN1cHBvcnQgdGltZXpvbmUgZmVhdHVyZS5cclxuICogQHBhcmFtIHRpbWUgdGltZSBpbiBzZWNvbmRzIChFcG9jaCB0aW1lKVxyXG4gKiBAcGFyYW0gdGltZXpvbmUgdGltZXpvbmUgc3RyaW5nLCB1c2VzIGxvY2FsIHRpbWV6b25lIGlmIHRoaXMgaXMgbnVsbC5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRUaW1lRnJvbVRpbWVab25lICh0aW1lOiBudW1iZXIsIHRpbWV6b25lOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gIGlmICh0aW1lem9uZSA9PSBudWxsIHx8IHRpbWV6b25lLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgdGltZXpvbmUgPSBnZXREZWZhdWx0VGltZXpvbmUoKTtcclxuICAgIGNvbnNvbGUud2FybihgZ2V0VGltZUZyb21UaW1lWm9uZSAtIElucHV0IHRpbWV6b25lIGlzIG51bGwsIHJldHVybmluZyB0aGUgbG9jYWwgKCR7dGltZXpvbmV9KSB0aW1lLiBgKTtcclxuICB9XHJcbiAgY29uc3QgdXRjT2Zmc2V0ID0gbW9tZW50LnR6LnpvbmUodGltZXpvbmUpLnV0Y09mZnNldCh0aW1lICogMTAwMCk7XHJcbiAgY29uc3QgY3VycmVudE9mZnNldCA9IG1vbWVudC50ei56b25lKGdldERlZmF1bHRUaW1lem9uZSgpKS51dGNPZmZzZXQodGltZSAqIDEwMDApO1xyXG4gIC8vIGNvbnZlcnQgdG8gdXRjIGFuZCB0aGVuIHRvIHNlbGVjdGVkIHRpbWV6b25lXHJcbiAgcmV0dXJuIHRpbWUgKyBjdXJyZW50T2Zmc2V0ICogNjAgLSB1dGNPZmZzZXQgKiA2MDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldCB0aW1lIGZvcm1hdHRlZCB3aXRoIHRoZSBwcm92aWRlZCB0aW1lem9uZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFRpbWVTdHJpbmcgKHRpbWU6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgcmV0dXJuIG1vbWVudCh0aW1lKS5mb3JtYXQoJ1lZWVktTU0tREQgSEg6bW06c3MnKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldCB0aGUgdGltZSByYW5nZSBzdHJpbmcgYnkgdGltZSBhcnJheSwgZWc6IDIwMTgtMTAtMjUgMTA6MTA6MDAgfiAyMDE4LTEwLTI1IDEyOjEyOjAwXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGltZVJhbmdlU3RyaW5nKHRpbWU6IGFueSk6IHN0cmluZyB7XHJcbiAgbGV0IHN0YXJ0VGltZVN0cmluZyA9ICdOL0EnO1xyXG4gIGxldCBlbmRUaW1lU3RyaW5nID0gJ04vQSc7XHJcbiAgbGV0IHRpbWVSYW5nZTtcclxuICBpZiAoQXJyYXkuaXNBcnJheSh0aW1lKSkge1xyXG4gICAgdGltZVJhbmdlID0gX2dldFRpbWVSYW5nZSh0aW1lKTtcclxuICB9IGVsc2Uge1xyXG4gICAgdGltZVJhbmdlID0gX2dldFRvdGFsVGltZVJhbmdlKHRpbWUpO1xyXG4gIH1cclxuXHJcbiAgaWYgKHRpbWVSYW5nZSkge1xyXG4gICAgaWYgKHRpbWVSYW5nZS5zdGFydFRpbWUgPCA0MTAyMzU4NDAwMDAwKSB7XHJcbiAgICAgIHN0YXJ0VGltZVN0cmluZyA9IGdldFRpbWVTdHJpbmcodGltZVJhbmdlLnN0YXJ0VGltZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRpbWVSYW5nZS5lbmRUaW1lID4gMCkge1xyXG4gICAgICBlbmRUaW1lU3RyaW5nID0gZ2V0VGltZVN0cmluZyh0aW1lUmFuZ2UuZW5kVGltZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7c3RhcnRUaW1lU3RyaW5nfSB+ICR7ZW5kVGltZVN0cmluZ31gO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIHByaW50IHByb2Nlc3NlZCB0aW1lIGZyb20gdGhlIHByb3ZpZGVkIGJlZ2luVGltZSwgb25seSB3b3JrcyBpbiBkZXYgbW9kZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHByaW50UHJvY2Vzc2VkVGltZShiZWdpblRpbWU6IERhdGUsIHN0ZXA6IHN0cmluZyk6IHZvaWQge1xyXG4gIGlmIChpc0Rldk1vZGUoKSkge1xyXG4gICAgLy8gb25seSBkbyBpdCBpbiBkZXYgbW9kZVxyXG4gICAgY29uc3QgdGltZUFmdGVyID0gbmV3IERhdGUoKTtcclxuICAgIGNvbnN0IHBhcnNpbmdUaW1lID0gKHRpbWVBZnRlci5nZXRUaW1lKCkgLSBiZWdpblRpbWUuZ2V0VGltZSgpKSAvIDEwMDA7XHJcbiAgICBjb25zb2xlLmxvZyhgJHtzdGVwfSwgUGFyc2luZyB0aW1lOiAke3BhcnNpbmdUaW1lfSBzZWNvbmRzYCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL25hbWVzZXJ2ZXItaGlzdG9yeS12aWV3ZXIvdXRpbHMvdGltZS11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXRELE9BQU8sTUFBTSxNQUFNLGlCQUFpQixDQUFDO0FBRXJDOztHQUVHO0FBQ0gsU0FBUyxrQkFBa0IsQ0FBQyxJQUFzQjtJQUNoRCxJQUFJLElBQUksRUFBRTtRQUNSLElBQUksU0FBUyxHQUFHLGFBQWEsQ0FBQyxDQUFDLGFBQWE7UUFDNUMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBRWhCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQy9CLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNkLE1BQU0sZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNuRCxTQUFTLEdBQUcsU0FBUyxHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQzVGLE9BQU8sR0FBRyxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQzthQUNuRjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBQyxDQUFDO0tBQ2pEO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBUyxhQUFhLENBQUMs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RUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsU0FBZSxFQUFFLElBQVk7SUFDOUQsSUFBSSxTQUFTLEVBQUUsRUFBRTtRQUNmLHlCQUF5QjtRQUN6QixNQUFNLFNBQVMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzdCLE1BQU0sV0FBVyxHQUFHLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUN2RSxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxtQkFBbUIsV0FBVyxVQUFVLENBQUMsQ0FBQztLQUM5RDtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZ2V0SWdub3JlZExpbmVOdW1Gcm9tVGFpbCB9IGZyb20gJy4vdWktdXRpbCc7XHJcbmltcG9ydCB7IENoYXJ0Q29udGVudFRpbWUgfSBmcm9tICcuLi90eXBlcyc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcclxuXHJcbi8qKlxyXG4gKiBnZXQgdGhlIHRpbWUgcmFuZ2UgZm9yIGFsbCBwb3J0c1xyXG4gKi9cclxuZnVuY3Rpb24gX2dldFRvdGFsVGltZVJhbmdlKHRpbWU6IENoYXJ0Q29udGVudFRpbWUpOiB7c3RhcnRUaW1lOiBudW1iZXIsIGVuZFRpbWU6IG51bWJlcn0ge1xyXG4gIGlmICh0aW1lKSB7XHJcbiAgICBsZXQgc3RhcnRUaW1lID0gNDEwMjM1ODQwMDAwMDsgLy8gMjA5OS8xMi8zMVxyXG4gICAgbGV0IGVuZFRpbWUgPSAwO1xyXG5cclxuICAgIE9iamVjdC5rZXlzKHRpbWUpLmZvckVhY2gocG9ydCA9PiB7XHJcbiAgICAgIGlmICh0aW1lW3BvcnRdKSB7XHJcbiAgICAgICAgY29uc3QgdGltZVJhbmdlQ3VycmVudCA9IF9nZXRUaW1lUmFuZ2UodGltZVtwb3J0XSk7XHJcbiAgICAgICAgc3RhcnRUaW1lID0gc3RhcnRUaW1lID4gdGltZVJhbmdlQ3VycmVudC5zdGFydFRpbWUgPyB0aW1lUmFuZ2VDdXJyZW50LnN0YXJ0VGltZSA6IHN0YXJ0VGltZTtcclxuICAgICAgICBlbmRUaW1lID0gZW5kVGltZSA8IHRpbWVSYW5nZUN1cnJlbnQuZW5kVGltZSA/IHRpbWVSYW5nZUN1cnJlbnQuZW5kVGltZSA6IGVuZFRpbWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB7c3RhcnRUaW1lOiBzdGFydFRpbWUsIGVuZFRpbWU6IGVuZFRpbWV9O1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIGdldCB0aGUgdGltZSByYW5nZSAoc3RhcnRUaW1lIH4gZW5kVGltZSkgYmFzZSBvbiB0aGUgdGltZSAodGhlIHhTY2FsZSlcclxuICovXHJcbmZ1bmN0aW9uIF9nZXRUaW1lUmFuZ2UodGltZTogbnVtYmVyW10pOiB7c3RhcnRUaW1lOiBudW1iZXIsIGVuZFRpbWU6IG51bWJlcn0ge1xyXG4gIGNvbnN0IGlnbm9yZWRMaW5lTnVtRnJvbVRhaWwgPSBnZXRJZ25vcmVkTGluZU51bUZyb21UYWlsKCk7XHJcbiAgaWYgKHRpbWUpIHtcclxuICAgIGxldCBzdGFydFRpbWUgPSA0MTAyMzU4NDAwMDAwOyAvLyAyMDk5LzEyLzMxXHJcbiAgICBsZXQgZW5kVGltZSA9IDA7XHJcblxyXG4gICAgY29uc3QgbGVuID0gdGltZS5sZW5ndGg7XHJcbiAgICBpZiAobGVuID4gaWdub3JlZExpbmVOdW1Gcm9tVGFpbCkge1xyXG4gICAgICBzdGFydFRpbWUgPSB0aW1lWzBdID4gc3RhcnRUaW1lID8gc3RhcnRUaW1lIDogdGltZVswXTtcclxuICAgICAgZW5kVGltZSA9IHRpbWVbbGVuIC0gaWdub3JlZExpbmVOdW1Gcm9tVGFpbCAtIDFdID4gZW5kVGltZSA/IHRpbWVbbGVuIC0gaWdub3JlZExpbmVOdW1Gcm9tVGFpbCAtIDFdIDogZW5kVGltZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge3N0YXJ0VGltZTogc3RhcnRUaW1lLCBlbmRUaW1lOiBlbmRUaW1lfTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBnZXQgZGVmYXVsdCBsb2NhbCB0aW1lIHpvbmVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXREZWZhdWx0VGltZXpvbmUoKTogc3RyaW5nIHtcclxuICByZXR1cm4gbW9tZW50LnR6Lmd1ZXNzKCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgdGltZSBmcm9tIHByb3ZpZGVkIHRpbWV6b25lLCB1c2luZyB0aGlzIG9ubHkgYmVjYXVzZSBjaGFydC5qcyBkb2Vzbid0IHN1cHBvcnQgdGltZXpvbmUuXHJcbiAqIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSByZW1vdmVkIHdoZW4gY2hhcnQuanMgc3RhcnRzIHRvIHN1cHBvcnQgdGltZXpvbmUgZmVhdHVyZS5cclxuICogQHBhcmFtIHRpbWUgdGltZSBpbiBzZWNvbmRzIChFcG9jaCB0aW1lKVxyXG4gKiBAcGFyYW0gdGltZXpvbmUgdGltZXpvbmUgc3RyaW5nLCB1c2VzIGxvY2FsIHRpbWV6b25lIGlmIHRoaXMgaXMgbnVsbC5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRUaW1lRnJvbVRpbWVab25lICh0aW1lOiBudW1iZXIsIHRpbWV6b25lOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gIGlmICh0aW1lem9uZSA9PSBudWxsIHx8IHRpbWV6b25lLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgdGltZXpvbmUgPSBnZXREZWZhdWx0VGltZXpvbmUoKTtcclxuICAgIGNvbnNvbGUud2FybihgZ2V0VGltZUZyb21UaW1lWm9uZSAtIElucHV0IHRpbWV6b25lIGlzIG51bGwsIHJldHVybmluZyB0aGUgbG9jYWwgKCR7dGltZXpvbmV9KSB0aW1lLiBgKTtcclxuICB9XHJcbiAgY29uc3QgdXRjT2Zmc2V0ID0gbW9tZW50LnR6LnpvbmUodGltZXpvbmUpLnV0Y09mZnNldCh0aW1lICogMTAwMCk7XHJcbiAgY29uc3QgY3VycmVudE9mZnNldCA9IG1vbWVudC50ei56b25lKGdldERlZmF1bHRUaW1lem9uZSgpKS51dGNPZmZzZXQodGltZSAqIDEwMDApO1xyXG4gIC8vIGNvbnZlcnQgdG8gdXRjIGFuZCB0aGVuIHRvIHNlbGVjdGVkIHRpbWV6b25lXHJcbiAgcmV0dXJuIHRpbWUgKyBjdXJyZW50T2Zmc2V0ICogNjAgLSB1dGNPZmZzZXQgKiA2MDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldCB0aW1lIGZvcm1hdHRlZCB3aXRoIHRoZSBwcm92aWRlZCB0aW1lem9uZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFRpbWVTdHJpbmcgKHRpbWU6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgIHJldHVybiBtb21lbnQodGltZSkuZm9ybWF0KCdZWVlZLU1NLUREIEhIOm1tOnNzJyk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgdGhlIHRpbWUgcmFuZ2Ugc3RyaW5nIGJ5IHRpbWUgYXJyYXksIGVnOiAyMDE4LTEwLTI1IDEwOjEwOjAwIH4gMjAxOC0xMC0yNSAxMjoxMjowMFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFRpbWVSYW5nZVN0cmluZyh0aW1lOiBhbnkpOiBzdHJpbmcge1xyXG4gIGxldCBzdGFydFRpbWVTdHJpbmcgPSAnTi9BJztcclxuICBsZXQgZW5kVGltZVN0cmluZyA9ICdOL0EnO1xyXG4gIGxldCB0aW1lUmFuZ2U7XHJcbiAgaWYgKEFycmF5LmlzQXJyYXkodGltZSkpIHtcclxuICAgIHRpbWVSYW5nZSA9IF9nZXRUaW1lUmFuZ2UodGltZSk7XHJcbiAgfSBlbHNlIHtcclxuICAgIHRpbWVSYW5nZSA9IF9nZXRUb3RhbFRpbWVSYW5nZSh0aW1lKTtcclxuICB9XHJcblxyXG4gIGlmICh0aW1lUmFuZ2UpIHtcclxuICAgIGlmICh0aW1lUmFuZ2Uuc3RhcnRUaW1lIDwgNDEwMjM1ODQwMDAwMCkge1xyXG4gICAgICBzdGFydFRpbWVTdHJpbmcgPSBnZXRUaW1lU3RyaW5nKHRpbWVSYW5nZS5zdGFydFRpbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aW1lUmFuZ2UuZW5kVGltZSA+IDApIHtcclxuICAgICAgZW5kVGltZVN0cmluZyA9IGdldFRpbWVTdHJpbmcodGltZVJhbmdlLmVuZFRpbWUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3N0YXJ0VGltZVN0cmluZ30gfiAke2VuZFRpbWVTdHJpbmd9YDtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBwcmludCBwcm9jZXNzZWQgdGltZSBmcm9tIHRoZSBwcm92aWRlZCBiZWdpblRpbWUsIG9ubHkgd29ya3MgaW4gZGV2IG1vZGVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBwcmludFByb2Nlc3NlZFRpbWUoYmVnaW5UaW1lOiBEYXRlLCBzdGVwOiBzdHJpbmcpOiB2b2lkIHtcclxuICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgIC8vIG9ubHkgZG8gaXQgaW4gZGV2IG1vZGVcclxuICAgIGNvbnN0IHRpbWVBZnRlciA9IG5ldyBEYXRlKCk7XHJcbiAgICBjb25zdCBwYXJzaW5nVGltZSA9ICh0aW1lQWZ0ZXIuZ2V0VGltZSgpIC0gYmVnaW5UaW1lLmdldFRpbWUoKSkgLyAxMDAwO1xyXG4gICAgY29uc29sZS5sb2coYCR7c3RlcH0sIFBhcnNpbmcgdGltZTogJHtwYXJzaW5nVGltZX0gc2Vjb25kc2ApO1xyXG4gIH1cclxufVxyXG4iXX0=