@energycap/components 0.39.21-ECAP-25650-file-upload-validation-support.20240807-1717 → 0.39.22-ECAP-26034-manage-channel.20240827-1215

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.
@@ -9,8 +9,8 @@ export class DateTimeHelper {
9
9
  /**
10
10
  * Return true if @see date is equal to the @see endOfTime
11
11
  */
12
- static isEndOfTime(date) {
13
- const endOfTime = this.endOfTime;
12
+ static isEndOfTime(date, timeZoneOffset = false) {
13
+ const endOfTime = timeZoneOffset ? this.endOfTimeUTC : this.endOfTime;
14
14
  return this.isSameDay(date, endOfTime);
15
15
  }
16
16
  /**
@@ -87,6 +87,8 @@ export class DateTimeHelper {
87
87
  DateTimeHelper.beginningOfTime = new Date(1899, 11, 31);
88
88
  /** 3000-01-01 */
89
89
  DateTimeHelper.endOfTime = new Date(3000, 0, 1);
90
+ /** 3000-01-01 UTC */
91
+ DateTimeHelper.endOfTimeUTC = moment.utc('3000-01-01').toDate();
90
92
  /** Default effective date for new AccountMeter relationships: 2010-01-01 */
91
93
  DateTimeHelper.defaultAccountMeterEffectiveDate = new Date(2010, 0, 1);
92
94
  /** The default date that a newly created account becomes effective: 2010-01-01 */
@@ -152,4 +154,4 @@ DateTimeHelper.dateFirstParseFormats = [
152
154
  * Format to display the time portion of a datetime
153
155
  */
154
156
  DateTimeHelper.timeFormat = 'HH:mm:ss';
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9jb3JlL2RhdGUtdGltZS1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRTVCOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFvRnZCLHVEQUF1RDtJQUN2RCxVQUFVO0lBQ1YsdURBQXVEO0lBRXZEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFtQztRQUN6RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUdEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFvQyxFQUFFLEtBQW9DO1FBQzlGLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsZUFBZSxDQUFDLFVBQTBCO1FBQ3BELElBQUksR0FBRyxHQUFHO1lBQ04sWUFBWSxFQUFFLElBQUksQ0FBQyxzQkFBc0I7WUFDekMsWUFBWSxFQUFFLElBQUksQ0FBQyxzQkFBc0I7WUFDekMsWUFBWSxFQUFFLElBQUksQ0FBQyxxQkFBcUI7WUFDeEMsWUFBWSxFQUFFLElBQUksQ0FBQyxxQkFBcUI7WUFDeEMsWUFBWSxFQUFFLElBQUksQ0FBQyxzQkFBc0I7WUFDekMsWUFBWSxFQUFFLElBQUksQ0FBQyxzQkFBc0I7U0FDNUMsQ0FBQztRQUVGLE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFD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QUN2QyxxQ0FBc0IsR0FBVyxHQUFHLGNBQWMsQ0FBQyxpQkFBaUIsSUFBSSxjQUFjLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztBQUV6SDs7R0FFRztBQUNXLDBDQUEyQixHQUFHO0lBQ3hDLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUU7SUFDaEcsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFO0NBQUMsQ0FBQztBQUVoSjs7O0dBR0c7QUFDVyxxQ0FBc0IsR0FBYTtJQUM3QyxZQUFZO0lBQ1osWUFBWTtJQUNaLFVBQVU7SUFDVixVQUFVO0lBQ1YsUUFBUTtJQUNSLE9BQU87SUFDUCxZQUFZO0lBQ1osWUFBWTtJQUNaLFVBQVU7SUFDVixPQUFPO0lBQ1AsWUFBWTtJQUNaLFlBQVk7SUFDWixVQUFVO0lBQ1YsT0FBTztJQUNQLFVBQVU7Q0FDYixDQUFDO0FBRUY7OztHQUdHO0FBQ1csb0NBQXFCLEdBQWE7SUFDNUMsWUFBWTtJQUNaLFlBQVk7SUFDWixVQUFVO0lBQ1YsVUFBVTtJQUNWLFFBQVE7SUFDUixPQUFPO0lBQ1AsWUFBWTtJQUNaLFlBQVk7SUFDWixVQUFVO0lBQ1YsT0FBTztJQUNQLFlBQVk7SUFDWixZQUFZO0lBQ1osVUFBVTtJQUNWLE9BQU87SUFDUCxVQUFVO0NBQ2IsQ0FBQztBQUVGOztHQUVHO0FBQ1cseUJBQVUsR0FBVyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcblxyXG4vKipcclxuICogSGVscGVyIGNsYXNzIHRoYXQgcHJvdmlkZXMgY29tbW9uIGRhdGUgY29uc3RhbnRzIGFuZCBoZWxwZnVsIGRhdGUgZnVuY3Rpb25zXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRGF0ZVRpbWVIZWxwZXIge1xyXG5cclxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIC8vIENPTlNUQU5UU1xyXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgYmVnaW5uaW5nT2ZUaW1lOiBEYXRlID0gbmV3IERhdGUoMTg5OSwxMSwzMSk7XHJcbiAgICAgXHJcbiAgICAvKiogMzAwMC0wMS0wMSAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBlbmRPZlRpbWU6IERhdGUgPSBuZXcgRGF0ZSgzMDAwLCAwLCAxKTtcclxuXHJcbiAgICAvKiogRGVmYXVsdCBlZmZlY3RpdmUgZGF0ZSBmb3IgbmV3IEFjY291bnRNZXRlciByZWxhdGlvbnNoaXBzOiAyMDEwLTAxLTAxICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGRlZmF1bHRBY2NvdW50TWV0ZXJFZmZlY3RpdmVEYXRlOiBEYXRlID0gbmV3IERhdGUoMjAxMCwgMCwgMSk7XHJcblxyXG4gICAgLyoqIFRoZSBkZWZhdWx0IGRhdGUgdGhhdCBhIG5ld2x5IGNyZWF0ZWQgYWNjb3VudCBiZWNvbWVzIGVmZmVjdGl2ZTogMjAxMC0wMS0wMSAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBkZWZhdWx0QWNjb3VudFNlcnZpY2VFZmZlY3RpdmVEYXRlOiBEYXRlID0gbmV3IERhdGUoMjAxMCwgMCwgMSk7XHJcblxyXG4gICAgLyoqIE1pbmltdW0gZGF0ZSBmb3IgYWxsIGRhdGVwaWNrZXJzOiAxOTgwLTAxLTAxICovXHJcbiAgICBwdWJsaWMgc3RhdGljIG1pbkRhdGVQaWNrZXJEYXRlOiBEYXRlID0gbmV3IERhdGUoMTk4MCwgMCwgMSk7XHJcblxyXG4gICAgLyoqIE1heGltdW0gZGF0ZSBmb3IgYWxsIGRhdGVwaWNrZXJzOiAzMDAwLTAxLTAxIDExOjU5OjU5IFBNIHRvIGFsbG93IGZvciBsb2NhbCB0aW1lIG9mZnNldCB3b3JraW5nIGluIGZvciAzMDAwLTAxLTAxIGRhdGVzLCB3aGljaCB3ZSBzdG9yZSBpbiB0aGUgZGIgdG8gcmVwcmVzZW50IFwiZW5kIG9mIHRpbWVcIiAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBtYXhEYXRlUGlja2VyRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKDMwMDAsMCwxLDIzLDU5LDU5KTtcclxuXHJcbiAgICAvKiogVGltZXN0YW1wIGZvcm1hdHMgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZGVmYXVsdERhdGVGb3JtYXQ6IHN0cmluZyA9IFwieXl5eS1NTS1kZFwiO1xyXG4gICAgcHVibGljIHN0YXRpYyBkZWZhdWx0VGltZUZvcm1hdDogc3RyaW5nID0gXCJISDptbTpzc1wiO1xyXG4gICAgcHVibGljIHN0YXRpYyBkZWZhdWx0VGltZXN0YW1wRm9ybWF0OiBzdHJpbmcgPSBgJHtEYXRlVGltZUhlbHBlci5kZWZhdWx0RGF0ZUZvcm1hdH0gJHtEYXRlVGltZUhlbHBlci5kZWZhdWx0VGltZUZvcm1hdH1gO1xyXG5cclxuICAgIC8qKiBMaXN0IG9mIHZhbGlkIGJpbGwgaW1wb3J0IGRhdGUgZm9ybWF0c1xyXG4gICAgICogIFdhcm5pbmchIERvIG5vdCB1c2UgdGhlc2UgZm9yIGFjdHVhbCBmb3JtYXR0aW5nIG9mIGRhdGVzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgYmlsbEltcG9ydEZvcm1hdERhdGVGb3JtYXRzID0gW1xyXG4gICAgICAgIHsgbGFiZWw6IFwibW0vZGQveXl5eVwiLCB2YWx1ZTogXCJtbS9kZC95eXl5XCIgfSwgeyBsYWJlbDogXCJNb250aCBkZCB5eXl5XCIsIHZhbHVlOiBcIk1vbnRoIGRkIHl5eXlcIiB9LCBcclxuICAgICAgICB7IGxhYmVsOiBcImRkL21tL3l5eXlcIiwgdmFsdWU6IFwiZGQvbW0veXl5eVwiIH0sIHsgbGFiZWw6IFwiZGQgTW9udGggeXl5eVwiLCB2YWx1ZTogXCJkZCBNb250aCB5eXl5XCIgfSwgeyBsYWJlbDogXCJ5eXl5bW1kZFwiLCB2YWx1ZTogXCJ5eXl5bW1kZFwiIH1dO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXNlciBpbnB1dCBmb3JtYXRzIHRoYXQgd2Ugd2lsbCBwYXJzZSBpbnRvIGEgZGF0ZVxyXG4gICAgICogd2hlbiB0aGUgdXNlcnMgZGF0ZSBmb3JtYXQgcHJlZmVyZW5jZSBoYXMgbW9udGggYmVmb3JlIGRheVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIG1vbnRoRmlyc3RQYXJzZUZvcm1hdHM6IHN0cmluZ1tdID0gW1xyXG4gICAgICAgIFwieXl5eS9NTS9kZFwiLFxyXG4gICAgICAgIFwiTU0vZGQveXl5eVwiLFxyXG4gICAgICAgIFwiTU1kZHl5eXlcIixcclxuICAgICAgICBcIk1NL2RkL3l5XCIsXHJcbiAgICAgICAgXCJNTWRkeXlcIixcclxuICAgICAgICBcIk1NL2RkXCIsXHJcbiAgICAgICAgXCJ5eXl5Lk1NLmRkXCIsXHJcbiAgICAgICAgXCJNTS5kZC55eXl5XCIsXHJcbiAgICAgICAgXCJNTS5kZC55eVwiLFxyXG4gICAgICAgIFwiTU0uZGRcIixcclxuICAgICAgICBcInl5eXktTU0tZGRcIixcclxuICAgICAgICBcIk1NLWRkLXl5eXlcIixcclxuICAgICAgICBcIk1NLWRkLXl5XCIsXHJcbiAgICAgICAgXCJNTS1kZFwiLFxyXG4gICAgICAgIFwieXl5eU1NZGRcIlxyXG4gICAgXTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFVzZXIgaW5wdXQgZm9ybWF0cyB0aGF0IHdlIHdpbGwgcGFyc2UgaW50byBhIGRhdGVcclxuICAgICAqIHdoZW4gdGhlIHVzZXJzIGRhdGUgZm9ybWF0IHByZWZlcmVuY2UgaGFzIGRheSBiZWZvcmUgbW9udGhcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBkYXRlRmlyc3RQYXJzZUZvcm1hdHM6IHN0cmluZ1tdID0gW1xyXG4gICAgICAgIFwieXl5eS9kZC9NTVwiLFxyXG4gICAgICAgIFwiZGQvTU0veXl5eVwiLFxyXG4gICAgICAgIFwiZGRNTXl5eXlcIixcclxuICAgICAgICBcImRkL01NL3l5XCIsXHJcbiAgICAgICAgXCJkZE1NeXlcIixcclxuICAgICAgICBcImRkL01NXCIsXHJcbiAgICAgICAgXCJ5eXl5LmRkLk1NXCIsXHJcbiAgICAgICAgXCJkZC5NTS55eXl5XCIsXHJcbiAgICAgICAgXCJkZC5NTS55eVwiLFxyXG4gICAgICAgIFwiZGQuTU1cIixcclxuICAgICAgICBcInl5eXktZGQtTU1cIixcclxuICAgICAgICBcImRkLU1NLXl5eXlcIixcclxuICAgICAgICBcImRkLU1NLXl5XCIsXHJcbiAgICAgICAgXCJkZC1NTVwiLFxyXG4gICAgICAgIFwieXl5eUREbW1cIlxyXG4gICAgXTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEZvcm1hdCB0byBkaXNwbGF5IHRoZSB0aW1lIHBvcnRpb24gb2YgYSBkYXRldGltZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIHRpbWVGb3JtYXQ6IHN0cmluZyA9ICdISDptbTpzcyc7XHJcblxyXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgLy8gTUVUSE9EU1xyXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJuIHRydWUgaWYgQHNlZSBkYXRlIGlzIGVxdWFsIHRvIHRoZSBAc2VlIGVuZE9mVGltZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGlzRW5kT2ZUaW1lKGRhdGU6IERhdGUgfCBtb21lbnQuTW9tZW50IHwgc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgZW5kT2ZUaW1lID0gdGhpcy5lbmRPZlRpbWU7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNTYW1lRGF5KGRhdGUsIGVuZE9mVGltZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29tcGFyZSB0d28gZGF0ZXMgYW5kIHJldHVybiB0cnVlIGlmIHRoZXkgcmVwcmVzZW50IHRoZSBzYW1lIHllYXIsIG1vbnRoLCBhbmQgZGF5ICh0aW1lIGlzIGlnbm9yZWQpLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGlzU2FtZURheShkYXRlMTogRGF0ZSB8IG1vbWVudC5Nb21lbnQgfCBzdHJpbmcsIGRhdGUyOiBEYXRlIHwgbW9tZW50Lk1vbWVudCB8IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBtb21lbnQoZGF0ZTEpLmlzU2FtZShtb21lbnQoZGF0ZTIpLCAnZGF5Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgdGhlIHBhcnNlIGZvcm1hdHMgYmFzZWQgb24gdGhlIGdpdmVuIGRhdGUgZm9ybWF0LiBJZiBubyBkYXRlIGZvcm1hdCBpc1xyXG4gICAgICogZ2l2ZW4sIG9yIHdlIGRvbid0IHJlY29nbml6ZSB0aGUgZm9ybWF0LCByZXR1cm4gdGhlIG1vbnRoIGZpcnN0IHBhcnNlIGZvcm1hdHMuXHJcbiAgICAgKiBcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBnZXRQYXJzZUZvcm1hdHMoZGF0ZUZvcm1hdD86IHN0cmluZyB8IG51bGwpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgbGV0IG1hcCA9IHtcclxuICAgICAgICAgICAgJ01NL0REL1lZWVknOiB0aGlzLm1vbnRoRmlyc3RQYXJzZUZvcm1hdHMsXHJcbiAgICAgICAgICAgICdNTS1ERC1ZWVlZJzogdGhpcy5tb250aEZpcnN0UGFyc2VGb3JtYXRzLFxyXG4gICAgICAgICAgICAnREQvTU0vWVlZWSc6IHRoaXMuZGF0ZUZpcnN0UGFyc2VGb3JtYXRzLFxyXG4gICAgICAgICAgICAnREQtTU0tWVlZWSc6IHRoaXMuZGF0ZUZpcnN0UGFyc2VGb3JtYXRzLFxyXG4gICAgICAgICAgICAnWVlZWS9NTS9ERCc6IHRoaXMubW9udGhGaXJzdFBhcnNlRm9ybWF0cyxcclxuICAgICAgICAgICAgJ1lZWVktTU0tREQnOiB0aGlzLm1vbnRoRmlyc3RQYXJzZUZvcm1hdHNcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICByZXR1cm4gZGF0ZUZvcm1hdCA/IG1hcFtkYXRlRm9ybWF0XSA6IHRoaXMubW9udGhGaXJzdFBhcnNlRm9ybWF0cztcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0IHJlbGF0aW9uc2hpcCBzdGFydCBkYXRlIChmYXZvcmluZyBkYXRlIGluIHBhcnRpYWxGb3JtU3RhdGUgaWYgZXhpc3RzKVxyXG4gICAgICogKiByZXR1cm4gZGVmYXVsdCBhY2NvdW50LW1ldGVyIGVmZmVjdGl2ZSBkYXRlIGlmIG5vIHN0YXJ0IGRhdGUgZm91bmRcclxuICAgICAqIFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldEFjY291bnRNZXRlclN0YXJ0RGF0ZShwYXJ0aWFsRm9ybVN0YXRlOiBhbnksIGFjY291bnRNZXRlcjogeyBzdGFydERhdGU6IERhdGUgfCBudWxsIHwgdW5kZWZpbmVkIH0pOiBEYXRlIHtcclxuICAgICAgICBsZXQgc3RhcnREYXRlID0gcGFydGlhbEZvcm1TdGF0ZS5lZmZlY3RpdmVGcm9tIHx8IGFjY291bnRNZXRlci5zdGFydERhdGU7XHJcbiAgICAgICAgcmV0dXJuIHN0YXJ0RGF0ZSA/IG5ldyBEYXRlKHN0YXJ0RGF0ZSkgOiBEYXRlVGltZUhlbHBlci5kZWZhdWx0QWNjb3VudE1ldGVyRWZmZWN0aXZlRGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogR2V0IHJlbGF0aW9uc2hpcCBlbmQgZGF0ZSAoZmF2b3JpbmcgZGF0ZSBpbiBwYXJ0aWFsRm9ybVN0YXRlIGlmIGV4aXN0cylcclxuICAgICAqICogcmV0dXJuIG51bGwgaWYgbm8gc3RvcmVkIGRhdGUgb3IgZW5kIGRhdGUgaXMgMS8xLzMwMDBcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBnZXRBY2NvdW50TWV0ZXJFbmREYXRlKHBhcnRpYWxGb3JtU3RhdGU6IGFueSwgYWNjb3VudE1ldGVyOiB7IGVuZERhdGU6IERhdGUgfCBudWxsIHwgdW5kZWZpbmVkIH0pOiBEYXRlIHwgbnVsbCB7XHJcbiAgICAgICAgbGV0IGVuZERhdGUgPSBwYXJ0aWFsRm9ybVN0YXRlLmVmZmVjdGl2ZVRvIHx8IGFjY291bnRNZXRlci5lbmREYXRlO1xyXG4gICAgICAgIGlmIChlbmREYXRlICYmICFEYXRlVGltZUhlbHBlci5pc0VuZE9mVGltZShlbmREYXRlKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IERhdGUoZW5kRGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBwdWJsaWMgc3RhdGljIGlzRGF0ZUJldHdlZW4oXHJcbiAgICAgICAgZGF0ZTogRGF0ZSwgXHJcbiAgICAgICAgc3RhcnREYXRlPzogRGF0ZSB8IG51bGwsIFxyXG4gICAgICAgIGVuZERhdGU/OiBEYXRlIHwgbnVsbCwgXHJcbiAgICAgICAgaW5jbHVkZVN0YXJ0PzogYm9vbGVhbiwgXHJcbiAgICAgICAgaW5jbHVkZUVuZD86IGJvb2xlYW5cclxuICAgICk6Ym9vbGVhbiB7XHJcbiAgICAgICAgbGV0IGluY2x1c2l2aXR5OiAnKCknIHwgJ1spJyB8ICcoXScgfCAnW10nID0gJygpJztcclxuICAgICAgICBpZiAoaW5jbHVkZVN0YXJ0ICYmIGluY2x1ZGVFbmQgKSB7XHJcbiAgICAgICAgICAgIGluY2x1c2l2aXR5ID0gJ1tdJztcclxuICAgICAgICB9IGVsc2UgaWYgKGluY2x1ZGVTdGFydCkge1xyXG4gICAgICAgICAgICBpbmNsdXNpdml0eSA9ICdbKSc7XHJcbiAgICAgICAgfSBlbHNlIGlmIChpbmNsdWRlRW5kKSB7XHJcbiAgICAgICAgICAgIGluY2x1c2l2aXR5ID0gJyhdJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIElmIGEgc3RhcnQgZGF0ZSBpcyBub3QgcHJvdmlkZSwgd2UnbGwgdXNlIG91ciBiZWdpbm5pbmcgb2YgdGltZSBpbnN0ZWFkXHJcbiAgICAgICAgc3RhcnREYXRlID0gc3RhcnREYXRlIHx8IHRoaXMuYmVnaW5uaW5nT2ZUaW1lO1xyXG5cclxuICAgICAgICAvLyBJZiBhbiBlbmQgZGF0ZSBpcyBub3QgcHJvdmlkZWQsIHdlJ2xsIHVzZSBvdXIgZW5kIG9mIHRpbWUgaW5zdGVhZFxyXG4gICAgICAgIGVuZERhdGUgPSBlbmREYXRlIHx8IHRoaXMuZW5kT2ZUaW1lO1xyXG5cclxuICAgICAgICByZXR1cm4gbW9tZW50KGRhdGUpLmlzQmV0d2VlbihzdGFydERhdGUsIGVuZERhdGUsICdkYXknLCBpbmNsdXNpdml0eSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBzdHJpbmdUb0RhdGUoZGF0ZVN0cmluZzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IERhdGUgfCBudWxsIHwgdW5kZWZpbmVkIHtcclxuICAgICAgaWYgKGRhdGVTdHJpbmcgPT09IG51bGwgfHwgZGF0ZVN0cmluZyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgcmV0dXJuIGRhdGVTdHJpbmc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIG1vbWVudChkYXRlU3RyaW5nKS50b0RhdGUoKTtcclxuICAgICAgfSAgICAgIFxyXG4gICAgfVxyXG59Il19
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9jb3JlL2RhdGUtdGltZS1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRTVCOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUF1RnZCLHVEQUF1RDtJQUN2RCxVQUFVO0lBQ1YsdURBQXVEO0lBRXZEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFtQyxFQUFFLGlCQUEwQixLQUFLO1FBQzFGLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN0RSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFHRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBb0MsRUFBRSxLQUFvQztRQUM5RixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLGVBQWUsQ0FBQyxVQUEwQjtRQUNwRCxJQUFJLEdBQUcsR0FBRztZQUNOLFlBQVksRUFBRSxJQUFJLENBQUMsc0JBQXNCO1lBQ3pDLFlBQVksRUFBRSxJQUFJLENBQUMsc0JBQXNCO1lBQ3pDLFlBQVksRUFBRSxJQUFJLENBQUMscUJBQXFCO1lBQ3hDLFlBQVksRUFBRSxJQUFJLENBQUMscUJBQXFCO1lBQ3hDLFlBQVksRUFBRSxJQUFJLENBQUMsc0JBQXNCO1lBQ3pDLFlBQVksRUFBRSxJQUFJLENBQUMsc0JBQXNCO1NBQzVDLENB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QUFDVyx5QkFBVSxHQUFXLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuXHJcbi8qKlxyXG4gKiBIZWxwZXIgY2xhc3MgdGhhdCBwcm92aWRlcyBjb21tb24gZGF0ZSBjb25zdGFudHMgYW5kIGhlbHBmdWwgZGF0ZSBmdW5jdGlvbnNcclxuICovXHJcbmV4cG9ydCBjbGFzcyBEYXRlVGltZUhlbHBlciB7XHJcblxyXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgLy8gQ09OU1RBTlRTXHJcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBiZWdpbm5pbmdPZlRpbWU6IERhdGUgPSBuZXcgRGF0ZSgxODk5LDExLDMxKTtcclxuICAgICBcclxuICAgIC8qKiAzMDAwLTAxLTAxICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGVuZE9mVGltZTogRGF0ZSA9IG5ldyBEYXRlKDMwMDAsIDAsIDEpO1xyXG5cclxuICAgIC8qKiAzMDAwLTAxLTAxIFVUQyAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBlbmRPZlRpbWVVVEM6IERhdGUgPSBtb21lbnQudXRjKCczMDAwLTAxLTAxJykudG9EYXRlKCk7XHJcblxyXG4gICAgLyoqIERlZmF1bHQgZWZmZWN0aXZlIGRhdGUgZm9yIG5ldyBBY2NvdW50TWV0ZXIgcmVsYXRpb25zaGlwczogMjAxMC0wMS0wMSAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBkZWZhdWx0QWNjb3VudE1ldGVyRWZmZWN0aXZlRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKDIwMTAsIDAsIDEpO1xyXG5cclxuICAgIC8qKiBUaGUgZGVmYXVsdCBkYXRlIHRoYXQgYSBuZXdseSBjcmVhdGVkIGFjY291bnQgYmVjb21lcyBlZmZlY3RpdmU6IDIwMTAtMDEtMDEgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZGVmYXVsdEFjY291bnRTZXJ2aWNlRWZmZWN0aXZlRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKDIwMTAsIDAsIDEpO1xyXG5cclxuICAgIC8qKiBNaW5pbXVtIGRhdGUgZm9yIGFsbCBkYXRlcGlja2VyczogMTk4MC0wMS0wMSAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBtaW5EYXRlUGlja2VyRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKDE5ODAsIDAsIDEpO1xyXG5cclxuICAgIC8qKiBNYXhpbXVtIGRhdGUgZm9yIGFsbCBkYXRlcGlja2VyczogMzAwMC0wMS0wMSAxMTo1OTo1OSBQTSB0byBhbGxvdyBmb3IgbG9jYWwgdGltZSBvZmZzZXQgd29ya2luZyBpbiBmb3IgMzAwMC0wMS0wMSBkYXRlcywgd2hpY2ggd2Ugc3RvcmUgaW4gdGhlIGRiIHRvIHJlcHJlc2VudCBcImVuZCBvZiB0aW1lXCIgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgbWF4RGF0ZVBpY2tlckRhdGU6IERhdGUgPSBuZXcgRGF0ZSgzMDAwLDAsMSwyMyw1OSw1OSk7XHJcblxyXG4gICAgLyoqIFRpbWVzdGFtcCBmb3JtYXRzICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGRlZmF1bHREYXRlRm9ybWF0OiBzdHJpbmcgPSBcInl5eXktTU0tZGRcIjtcclxuICAgIHB1YmxpYyBzdGF0aWMgZGVmYXVsdFRpbWVGb3JtYXQ6IHN0cmluZyA9IFwiSEg6bW06c3NcIjtcclxuICAgIHB1YmxpYyBzdGF0aWMgZGVmYXVsdFRpbWVzdGFtcEZvcm1hdDogc3RyaW5nID0gYCR7RGF0ZVRpbWVIZWxwZXIuZGVmYXVsdERhdGVGb3JtYXR9ICR7RGF0ZVRpbWVIZWxwZXIuZGVmYXVsdFRpbWVGb3JtYXR9YDtcclxuXHJcbiAgICAvKiogTGlzdCBvZiB2YWxpZCBiaWxsIGltcG9ydCBkYXRlIGZvcm1hdHNcclxuICAgICAqICBXYXJuaW5nISBEbyBub3QgdXNlIHRoZXNlIGZvciBhY3R1YWwgZm9ybWF0dGluZyBvZiBkYXRlc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGJpbGxJbXBvcnRGb3JtYXREYXRlRm9ybWF0cyA9IFtcclxuICAgICAgICB7IGxhYmVsOiBcIm1tL2RkL3l5eXlcIiwgdmFsdWU6IFwibW0vZGQveXl5eVwiIH0sIHsgbGFiZWw6IFwiTW9udGggZGQgeXl5eVwiLCB2YWx1ZTogXCJNb250aCBkZCB5eXl5XCIgfSwgXHJcbiAgICAgICAgeyBsYWJlbDogXCJkZC9tbS95eXl5XCIsIHZhbHVlOiBcImRkL21tL3l5eXlcIiB9LCB7IGxhYmVsOiBcImRkIE1vbnRoIHl5eXlcIiwgdmFsdWU6IFwiZGQgTW9udGggeXl5eVwiIH0sIHsgbGFiZWw6IFwieXl5eW1tZGRcIiwgdmFsdWU6IFwieXl5eW1tZGRcIiB9XTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFVzZXIgaW5wdXQgZm9ybWF0cyB0aGF0IHdlIHdpbGwgcGFyc2UgaW50byBhIGRhdGVcclxuICAgICAqIHdoZW4gdGhlIHVzZXJzIGRhdGUgZm9ybWF0IHByZWZlcmVuY2UgaGFzIG1vbnRoIGJlZm9yZSBkYXlcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBtb250aEZpcnN0UGFyc2VGb3JtYXRzOiBzdHJpbmdbXSA9IFtcclxuICAgICAgICBcInl5eXkvTU0vZGRcIixcclxuICAgICAgICBcIk1NL2RkL3l5eXlcIixcclxuICAgICAgICBcIk1NZGR5eXl5XCIsXHJcbiAgICAgICAgXCJNTS9kZC95eVwiLFxyXG4gICAgICAgIFwiTU1kZHl5XCIsXHJcbiAgICAgICAgXCJNTS9kZFwiLFxyXG4gICAgICAgIFwieXl5eS5NTS5kZFwiLFxyXG4gICAgICAgIFwiTU0uZGQueXl5eVwiLFxyXG4gICAgICAgIFwiTU0uZGQueXlcIixcclxuICAgICAgICBcIk1NLmRkXCIsXHJcbiAgICAgICAgXCJ5eXl5LU1NLWRkXCIsXHJcbiAgICAgICAgXCJNTS1kZC15eXl5XCIsXHJcbiAgICAgICAgXCJNTS1kZC15eVwiLFxyXG4gICAgICAgIFwiTU0tZGRcIixcclxuICAgICAgICBcInl5eXlNTWRkXCJcclxuICAgIF07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVc2VyIGlucHV0IGZvcm1hdHMgdGhhdCB3ZSB3aWxsIHBhcnNlIGludG8gYSBkYXRlXHJcbiAgICAgKiB3aGVuIHRoZSB1c2VycyBkYXRlIGZvcm1hdCBwcmVmZXJlbmNlIGhhcyBkYXkgYmVmb3JlIG1vbnRoXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZGF0ZUZpcnN0UGFyc2VGb3JtYXRzOiBzdHJpbmdbXSA9IFtcclxuICAgICAgICBcInl5eXkvZGQvTU1cIixcclxuICAgICAgICBcImRkL01NL3l5eXlcIixcclxuICAgICAgICBcImRkTU15eXl5XCIsXHJcbiAgICAgICAgXCJkZC9NTS95eVwiLFxyXG4gICAgICAgIFwiZGRNTXl5XCIsXHJcbiAgICAgICAgXCJkZC9NTVwiLFxyXG4gICAgICAgIFwieXl5eS5kZC5NTVwiLFxyXG4gICAgICAgIFwiZGQuTU0ueXl5eVwiLFxyXG4gICAgICAgIFwiZGQuTU0ueXlcIixcclxuICAgICAgICBcImRkLk1NXCIsXHJcbiAgICAgICAgXCJ5eXl5LWRkLU1NXCIsXHJcbiAgICAgICAgXCJkZC1NTS15eXl5XCIsXHJcbiAgICAgICAgXCJkZC1NTS15eVwiLFxyXG4gICAgICAgIFwiZGQtTU1cIixcclxuICAgICAgICBcInl5eXlERG1tXCJcclxuICAgIF07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBGb3JtYXQgdG8gZGlzcGxheSB0aGUgdGltZSBwb3J0aW9uIG9mIGEgZGF0ZXRpbWVcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyB0aW1lRm9ybWF0OiBzdHJpbmcgPSAnSEg6bW06c3MnO1xyXG5cclxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIC8vIE1FVEhPRFNcclxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybiB0cnVlIGlmIEBzZWUgZGF0ZSBpcyBlcXVhbCB0byB0aGUgQHNlZSBlbmRPZlRpbWVcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBpc0VuZE9mVGltZShkYXRlOiBEYXRlIHwgbW9tZW50Lk1vbWVudCB8IHN0cmluZywgdGltZVpvbmVPZmZzZXQ6IGJvb2xlYW4gPSBmYWxzZSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IGVuZE9mVGltZSA9IHRpbWVab25lT2Zmc2V0ID8gdGhpcy5lbmRPZlRpbWVVVEMgOiB0aGlzLmVuZE9mVGltZTtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1NhbWVEYXkoZGF0ZSwgZW5kT2ZUaW1lKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb21wYXJlIHR3byBkYXRlcyBhbmQgcmV0dXJuIHRydWUgaWYgdGhleSByZXByZXNlbnQgdGhlIHNhbWUgeWVhciwgbW9udGgsIGFuZCBkYXkgKHRpbWUgaXMgaWdub3JlZCkuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgaXNTYW1lRGF5KGRhdGUxOiBEYXRlIHwgbW9tZW50Lk1vbWVudCB8IHN0cmluZywgZGF0ZTI6IERhdGUgfCBtb21lbnQuTW9tZW50IHwgc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIG1vbWVudChkYXRlMSkuaXNTYW1lKG1vbWVudChkYXRlMiksICdkYXknKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldCB0aGUgcGFyc2UgZm9ybWF0cyBiYXNlZCBvbiB0aGUgZ2l2ZW4gZGF0ZSBmb3JtYXQuIElmIG5vIGRhdGUgZm9ybWF0IGlzXHJcbiAgICAgKiBnaXZlbiwgb3Igd2UgZG9uJ3QgcmVjb2duaXplIHRoZSBmb3JtYXQsIHJldHVybiB0aGUgbW9udGggZmlyc3QgcGFyc2UgZm9ybWF0cy5cclxuICAgICAqIFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldFBhcnNlRm9ybWF0cyhkYXRlRm9ybWF0Pzogc3RyaW5nIHwgbnVsbCk6IHN0cmluZ1tdIHtcclxuICAgICAgICBsZXQgbWFwID0ge1xyXG4gICAgICAgICAgICAnTU0vREQvWVlZWSc6IHRoaXMubW9udGhGaXJzdFBhcnNlRm9ybWF0cyxcclxuICAgICAgICAgICAgJ01NLURELVlZWVknOiB0aGlzLm1vbnRoRmlyc3RQYXJzZUZvcm1hdHMsXHJcbiAgICAgICAgICAgICdERC9NTS9ZWVlZJzogdGhpcy5kYXRlRmlyc3RQYXJzZUZvcm1hdHMsXHJcbiAgICAgICAgICAgICdERC1NTS1ZWVlZJzogdGhpcy5kYXRlRmlyc3RQYXJzZUZvcm1hdHMsXHJcbiAgICAgICAgICAgICdZWVlZL01NL0REJzogdGhpcy5tb250aEZpcnN0UGFyc2VGb3JtYXRzLFxyXG4gICAgICAgICAgICAnWVlZWS1NTS1ERCc6IHRoaXMubW9udGhGaXJzdFBhcnNlRm9ybWF0c1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHJldHVybiBkYXRlRm9ybWF0ID8gbWFwW2RhdGVGb3JtYXRdIDogdGhpcy5tb250aEZpcnN0UGFyc2VGb3JtYXRzO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgcmVsYXRpb25zaGlwIHN0YXJ0IGRhdGUgKGZhdm9yaW5nIGRhdGUgaW4gcGFydGlhbEZvcm1TdGF0ZSBpZiBleGlzdHMpXHJcbiAgICAgKiAqIHJldHVybiBkZWZhdWx0IGFjY291bnQtbWV0ZXIgZWZmZWN0aXZlIGRhdGUgaWYgbm8gc3RhcnQgZGF0ZSBmb3VuZFxyXG4gICAgICogXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0QWNjb3VudE1ldGVyU3RhcnREYXRlKHBhcnRpYWxGb3JtU3RhdGU6IGFueSwgYWNjb3VudE1ldGVyOiB7IHN0YXJ0RGF0ZTogRGF0ZSB8IG51bGwgfCB1bmRlZmluZWQgfSk6IERhdGUge1xyXG4gICAgICAgIGxldCBzdGFydERhdGUgPSBwYXJ0aWFsRm9ybVN0YXRlLmVmZmVjdGl2ZUZyb20gfHwgYWNjb3VudE1ldGVyLnN0YXJ0RGF0ZTtcclxuICAgICAgICByZXR1cm4gc3RhcnREYXRlID8gbmV3IERhdGUoc3RhcnREYXRlKSA6IERhdGVUaW1lSGVscGVyLmRlZmF1bHRBY2NvdW50TWV0ZXJFZmZlY3RpdmVEYXRlO1xyXG4gICAgfVxyXG5cclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgcmVsYXRpb25zaGlwIGVuZCBkYXRlIChmYXZvcmluZyBkYXRlIGluIHBhcnRpYWxGb3JtU3RhdGUgaWYgZXhpc3RzKVxyXG4gICAgICogKiByZXR1cm4gbnVsbCBpZiBubyBzdG9yZWQgZGF0ZSBvciBlbmQgZGF0ZSBpcyAxLzEvMzAwMFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldEFjY291bnRNZXRlckVuZERhdGUocGFydGlhbEZvcm1TdGF0ZTogYW55LCBhY2NvdW50TWV0ZXI6IHsgZW5kRGF0ZTogRGF0ZSB8IG51bGwgfCB1bmRlZmluZWQgfSk6IERhdGUgfCBudWxsIHtcclxuICAgICAgICBsZXQgZW5kRGF0ZSA9IHBhcnRpYWxGb3JtU3RhdGUuZWZmZWN0aXZlVG8gfHwgYWNjb3VudE1ldGVyLmVuZERhdGU7XHJcbiAgICAgICAgaWYgKGVuZERhdGUgJiYgIURhdGVUaW1lSGVscGVyLmlzRW5kT2ZUaW1lKGVuZERhdGUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZShlbmREYXRlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHB1YmxpYyBzdGF0aWMgaXNEYXRlQmV0d2VlbihcclxuICAgICAgICBkYXRlOiBEYXRlLCBcclxuICAgICAgICBzdGFydERhdGU/OiBEYXRlIHwgbnVsbCwgXHJcbiAgICAgICAgZW5kRGF0ZT86IERhdGUgfCBudWxsLCBcclxuICAgICAgICBpbmNsdWRlU3RhcnQ/OiBib29sZWFuLCBcclxuICAgICAgICBpbmNsdWRlRW5kPzogYm9vbGVhblxyXG4gICAgKTpib29sZWFuIHtcclxuICAgICAgICBsZXQgaW5jbHVzaXZpdHk6ICcoKScgfCAnWyknIHwgJyhdJyB8ICdbXScgPSAnKCknO1xyXG4gICAgICAgIGlmIChpbmNsdWRlU3RhcnQgJiYgaW5jbHVkZUVuZCApIHtcclxuICAgICAgICAgICAgaW5jbHVzaXZpdHkgPSAnW10nO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaW5jbHVkZVN0YXJ0KSB7XHJcbiAgICAgICAgICAgIGluY2x1c2l2aXR5ID0gJ1spJztcclxuICAgICAgICB9IGVsc2UgaWYgKGluY2x1ZGVFbmQpIHtcclxuICAgICAgICAgICAgaW5jbHVzaXZpdHkgPSAnKF0nO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gSWYgYSBzdGFydCBkYXRlIGlzIG5vdCBwcm92aWRlLCB3ZSdsbCB1c2Ugb3VyIGJlZ2lubmluZyBvZiB0aW1lIGluc3RlYWRcclxuICAgICAgICBzdGFydERhdGUgPSBzdGFydERhdGUgfHwgdGhpcy5iZWdpbm5pbmdPZlRpbWU7XHJcblxyXG4gICAgICAgIC8vIElmIGFuIGVuZCBkYXRlIGlzIG5vdCBwcm92aWRlZCwgd2UnbGwgdXNlIG91ciBlbmQgb2YgdGltZSBpbnN0ZWFkXHJcbiAgICAgICAgZW5kRGF0ZSA9IGVuZERhdGUgfHwgdGhpcy5lbmRPZlRpbWU7XHJcblxyXG4gICAgICAgIHJldHVybiBtb21lbnQoZGF0ZSkuaXNCZXR3ZWVuKHN0YXJ0RGF0ZSwgZW5kRGF0ZSwgJ2RheScsIGluY2x1c2l2aXR5KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIHN0cmluZ1RvRGF0ZShkYXRlU3RyaW5nOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogRGF0ZSB8IG51bGwgfCB1bmRlZmluZWQge1xyXG4gICAgICBpZiAoZGF0ZVN0cmluZyA9PT0gbnVsbCB8fCBkYXRlU3RyaW5nID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICByZXR1cm4gZGF0ZVN0cmluZztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gbW9tZW50KGRhdGVTdHJpbmcpLnRvRGF0ZSgpO1xyXG4gICAgICB9ICAgICAgXHJcbiAgICB9XHJcbn0iXX0=
@@ -428,8 +428,8 @@ class DateTimeHelper {
428
428
  /**
429
429
  * Return true if @see date is equal to the @see endOfTime
430
430
  */
431
- static isEndOfTime(date) {
432
- const endOfTime = this.endOfTime;
431
+ static isEndOfTime(date, timeZoneOffset = false) {
432
+ const endOfTime = timeZoneOffset ? this.endOfTimeUTC : this.endOfTime;
433
433
  return this.isSameDay(date, endOfTime);
434
434
  }
435
435
  /**
@@ -506,6 +506,8 @@ class DateTimeHelper {
506
506
  DateTimeHelper.beginningOfTime = new Date(1899, 11, 31);
507
507
  /** 3000-01-01 */
508
508
  DateTimeHelper.endOfTime = new Date(3000, 0, 1);
509
+ /** 3000-01-01 UTC */
510
+ DateTimeHelper.endOfTimeUTC = moment.utc('3000-01-01').toDate();
509
511
  /** Default effective date for new AccountMeter relationships: 2010-01-01 */
510
512
  DateTimeHelper.defaultAccountMeterEffectiveDate = new Date(2010, 0, 1);
511
513
  /** The default date that a newly created account becomes effective: 2010-01-01 */