@porscheinformatik/clr-addons 15.8.3 → 15.8.5

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,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2018-2021 Porsche Informatik. All Rights Reserved.
2
+ * Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.
3
3
  * This software is released under MIT license.
4
4
  * The full license information can be found in LICENSE in the root directory of this project.
5
5
  */
@@ -87,12 +87,10 @@ export class ClrHistoryService {
87
87
  }
88
88
  reduceSize(entries) {
89
89
  if (JSON.stringify(entries).length > this.maxSize) {
90
- const reduced = [];
90
+ const reduced = [...entries];
91
91
  do {
92
- for (let i = 0; i < entries.length; i++) {
93
- reduced.push(entries[i]);
94
- }
95
- } while (JSON.stringify(reduced).length < this.maxSize);
92
+ reduced.shift();
93
+ } while (JSON.stringify(reduced).length > this.maxSize);
96
94
  return reduced;
97
95
  }
98
96
  else {
@@ -207,4 +205,4 @@ ClrHistoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ve
207
205
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrHistoryService, decorators: [{
208
206
  type: Injectable
209
207
  }], ctorParameters: function () { return []; } });
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvaGlzdG9yeS9oaXN0b3J5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHdkMsTUFBTSxPQUFPLGlCQUFpQjtJQVc1QjtRQVZPLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQTRCLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLGVBQVUsR0FBRyxhQUFhLENBQUM7UUFDM0IsdUJBQWtCLEdBQUcsc0JBQXNCLENBQUM7UUFHNUMsMEJBQTBCO1FBQ2xCLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDdkIsMENBQTBDO1FBQ2xDLGVBQVUsR0FBRyxHQUFHLENBQUM7UUFHdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBQyxZQUE2QixFQUFFLE1BQWU7UUFDNUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFM0UsMkVBQTJFO1FBQzNFLElBQUksWUFBWSxDQUFDLEdBQUcsSUFBSSxZQUFZLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxF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LGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIxIFBvcnNjaGUgSW5mb3JtYXRpay4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xySGlzdG9yeU1vZGVsLCBDbHJIaXN0b3J5U2V0dGluZ3NNb2RlbCB9IGZyb20gJy4vaGlzdG9yeS1tb2RlbC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDbHJIaXN0b3J5U2VydmljZSB7XG4gIHB1YmxpYyBjb29raWVTZXR0aW5ncyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENsckhpc3RvcnlTZXR0aW5nc01vZGVsW10+KFtdKTtcbiAgY29va2llTmFtZSA9ICdjbHIuaGlzdG9yeSc7XG4gIGNvb2tpZU5hbWVTZXR0aW5ncyA9ICdjbHIuaGlzdG9yeS5zZXR0aW5ncyc7XG4gIHByaXZhdGUgZXhwaXJ5RGF0ZTogRGF0ZTtcblxuICAvLyBtYXhtaW11bSBoaXN0b3J5IGxlbmd0aFxuICBwcml2YXRlIG1heFNpemUgPSAxMDI0O1xuICAvLyBtYXhpbXVtIHVybCBsZW5ndGggZm9yIHVzYWdlIGluIGhpc3RvcnlcbiAgcHJpdmF0ZSBtYXhVcmxTaXplID0gMjU2O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZXhwaXJ5RGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgdGhpcy5leHBpcnlEYXRlLnNldFRpbWUodGhpcy5leHBpcnlEYXRlLmdldFRpbWUoKSArIDM2NSAqIDI0ICogNjAgKiA2MCAqIDEwMDApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIG5ldyBoaXN0b3J5IGVudHJ5XG4gICAqIEBwYXJhbSBoaXN0b3J5RW50cnkgVGhlIGVudHJ5IHRvIGJlIGFkZGVkXG4gICAqIEBwYXJhbSBkb21haW4gVGhlIG9wdGlvbmFsIGRvbWFpbiBwYXJhbSB3aGVyZSB0aGUgY29va2llIGlzIHN0b3JlZFxuICAgKiBAcmV0dXJucyB0cnVlIHdoZW4gZW50cnkgYWRkZWQsIG90aGVyd2lzZSBmYWxzZSBpcyByZXR1cm5lZFxuICAgKi9cbiAgYWRkSGlzdG9yeUVudHJ5KGhpc3RvcnlFbnRyeTogQ2xySGlzdG9yeU1vZGVsLCBkb21haW4/OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0aGlzLnJlbW92ZUZyb21IaXN0b3J5KGhpc3RvcnlFbnRyeSk7XG4gICAgbGV0IGhpc3RvcnkgPSB0aGlzLmdldEhpc3RvcnkoaGlzdG9yeUVudHJ5LnVzZXJuYW1lLCBoaXN0b3J5RW50cnkuY29udGV4dCk7XG5cbiAgICAvKiBvbmx5IGFkZCB0byBoaXN0b3J5IGluIGNhc2UgdXJsIGRvZXMgbm90IGV4Y2VlZCBtYXhVcmxTaXplIGNoYXJhY3RlcnMgKi9cbiAgICBpZiAoaGlzdG9yeUVudHJ5LnVybCAmJiBoaXN0b3J5RW50cnkudXJsLmxlbmd0aCA8IHRoaXMubWF4VXJsU2l6ZSkge1xuICAgICAgLyogYWRkIGl0IGFzIGxhc3QgZWxlbWVudCAqL1xuICAgICAgaGlzdG9yeS5wdXNoKGhpc3RvcnlFbnRyeSk7XG4gICAgICAvKiBzdXBwb3J0IGEgbWF4aW11bSBvZiA0IHBhZ2VzIGluIGhpc3RvcnkgKi9cbiAgICAgIGhpc3RvcnkgPSBoaXN0b3J5LnNsaWNlKC00KTtcbiAgICAgIHRoaXMuc2V0SGlzdG9yeShoaXN0b3J5LCBkb21haW4pO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGdldEhpc3RvcnlEaXNwbGF5KHVzZXJuYW1lOiBzdHJpbmcsIGNvbnRleHQ6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pOiBDbHJIaXN0b3J5TW9kZWxbXSB7XG4gICAgY29uc3QgaGlzdG9yeSA9IHRoaXMuZ2V0SGlzdG9yeSh1c2VybmFtZSwgY29udGV4dCk7XG4gICAgaWYgKGhpc3RvcnkubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgY3VycmVudFBhZ2VUaXRsZSA9IGhpc3RvcnlbaGlzdG9yeS5sZW5ndGggLSAxXS50aXRsZTtcbiAgICAgIGNvbnN0IHRvRGlzcGxheTogQ2xySGlzdG9yeU1vZGVsW10gPSBbXTtcbiAgICAgIGNvbnN0IGFscmVhZHlEaXNwbGF5OiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICBmb3IgKGxldCBpID0gaGlzdG9yeS5sZW5ndGggLSAxOyBpID49IDAgJiYgYWxyZWFkeURpc3BsYXkubGVuZ3RoIDwgNDsgaS0tKSB7XG4gICAgICAgIGlmICghYWxyZWFkeURpc3BsYXkuaW5jbHVkZXMoaGlzdG9yeVtpXS50aXRsZSkgJiYgaGlzdG9yeVtpXS50aXRsZSAhPT0gY3VycmVudFBhZ2VUaXRsZSkge1xuICAgICAgICAgIGFscmVhZHlEaXNwbGF5LnB1c2goaGlzdG9yeVtpXS50aXRsZSk7XG4gICAgICAgICAgdG9EaXNwbGF5LnB1c2goaGlzdG9yeVtpXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRvRGlzcGxheS5yZXZlcnNlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBoaXN0b3J5O1xuICAgIH1cbiAgfVxuXG4gIGdldEhpc3RvcnkodXNlcm5hbWU6IHN0cmluZywgY29udGV4dDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk6IENsckhpc3RvcnlNb2RlbFtdIHtcbiAgICBjb25zdCBoaXN0b3J5OiBDbHJIaXN0b3J5TW9kZWxbXSA9IHRoaXMuZ2V0Q29va2llQnlOYW1lKHRoaXMuY29va2llTmFtZSk7XG4gICAgaWYgKCFoaXN0b3J5KSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIHJldHVybiBoaXN0b3J5LmZpbHRlcihlbGVtZW50ID0+IHRoaXMuY2hlY2tFcXVhbENvbnRleHQoZWxlbWVudCwgY29udGV4dCkgJiYgZWxlbWVudC51c2VybmFtZSA9PT0gdXNlcm5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBoaXN0b3J5XG4gICAqIEBwYXJhbSBlbnRyaWVzXG4gICAqIEBwYXJhbSBkb21haW5cbiAgICovXG4gIHByaXZhdGUgc2V0SGlzdG9yeShlbnRyaWVzOiBDbHJIaXN0b3J5TW9kZWxbXSwgZG9tYWluPzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCFlbnRyaWVzIHx8IGVudHJpZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAvLyBjbGVhciBhbGwgZW50cmllc1xuICAgICAgdGhpcy5zZXRDb29raWUodGhpcy5jb29raWVOYW1lLCB0aGlzLmVuY29kZShbXSksIGRvbWFpbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVudHJpZXMgPSB0aGlzLnJlZHVjZVNpemUoZW50cmllcyk7XG4gICAgICAvLyBlbmNvZGUgdGl0bGUgJiBwYWdlbmFtZSB0byBiZSBjb29raWUgc2F2aW5nIHNhdmVcbiAgICAgIGlmIChlbnRyaWVzICYmIGVudHJpZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4ge1xuICAgICAgICAgIGVudHJ5LnRpdGxlID0gZW5jb2RlVVJJKGVudHJ5LnRpdGxlKTtcbiAgICAgICAgICBlbnRyeS5wYWdlTmFtZSA9IGVuY29kZVVSSShlbnRyeS5wYWdlTmFtZSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgdGhpcy5zZXRDb29raWUodGhpcy5jb29raWVOYW1lLCB0aGlzLmVuY29kZShlbnRyaWVzKSwgZG9tYWluKTtcbiAgICB9XG4gIH1cblxuICByZWR1Y2VTaXplKGVudHJpZXM6IENsckhpc3RvcnlNb2RlbFtdKTogQ2xySGlzdG9yeU1vZGVsW10ge1xuICAgIGlmIChKU09OLnN0cmluZ2lmeShlbnRyaWVzKS5sZW5ndGggPiB0aGlzLm1heFNpemUpIHtcbiAgICAgIGNvbnN0IHJlZHVjZWQ6IENsckhpc3RvcnlNb2RlbFtdID0gW107XG4gICAgICBkbyB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZW50cmllcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIHJlZHVjZWQucHVzaChlbnRyaWVzW2ldKTtcbiAgICAgICAgfVxuICAgICAgfSB3aGlsZSAoSlNPTi5zdHJpbmdpZnkocmVkdWNlZCkubGVuZ3RoIDwgdGhpcy5tYXhTaXplKTtcbiAgICAgIHJldHVybiByZWR1Y2VkO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZW50cmllcztcbiAgICB9XG4gIH1cblxuICByZXNldEhpc3RvcnkoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRIaXN0b3J5KG51bGwpO1xuICB9XG5cbiAgcmVtb3ZlRnJvbUhpc3RvcnkoZW50cnk6IENsckhpc3RvcnlNb2RlbCk6IHZvaWQge1xuICAgIGxldCBoaXN0b3J5ID0gdGhpcy5nZXRIaXN0b3J5KGVudHJ5LnVzZXJuYW1lLCBlbnRyeS5jb250ZXh0KTtcbiAgICAvKiByZW1vdmUgY3VycmVudCBlbnRyeSBmcm9tIGFycmF5ICovXG4gICAgaGlzdG9yeSA9IGhpc3RvcnkuZmlsdGVyKFxuICAgICAgZWxlbWVudCA9PlxuICAgICAgICAhKFxuICAgICAgICAgIGVsZW1lbnQudGl0bGUgPT09IGVudHJ5LnRpdGxlICYmXG4gICAgICAgICAgZWxlbWVudC51c2VybmFtZSA9PT0gZW50cnkudXNlcm5hbWUgJiZcbiAgICAgICAgICB0aGlzLmNoZWNrRXF1YWxDb250ZXh0KGVsZW1lbnQsIGVudHJ5LmNvbnRleHQpXG4gICAgICAgIClcbiAgICApO1xuICAgIHRoaXMuc2V0SGlzdG9yeShoaXN0b3J5KTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tFcXVhbENvbnRleHQoZW50cnk6IENsckhpc3RvcnlNb2RlbCwgdG9Db21wYXJlOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KTogYm9vbGVhbiB7XG4gICAgbGV0IGVxdWFsID0gZmFsc2U7XG4gICAgaWYgKGVudHJ5ICYmIGVudHJ5LmNvbnRleHQgJiYgdG9Db21wYXJlKSB7XG4gICAgICBPYmplY3Qua2V5cyh0b0NvbXBhcmUpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgZXF1YWwgPSBrZXkgaW4gZW50cnkuY29udGV4dCAmJiBlbnRyeS5jb250ZXh0W2tleV0gPT09IHRvQ29tcGFyZVtrZXldO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBlcXVhbDtcbiAgfVxuXG4gIGluaXRpYWxpemVDb29raWVTZXR0aW5ncyh1c2VybmFtZTogc3RyaW5nLCBkb21haW4/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsZXQgaGlzdG9yeVNldHRpbmdzOiBDbHJIaXN0b3J5U2V0dGluZ3NNb2RlbFtdID0gdGhpcy5nZXRDb29raWVCeU5hbWUodGhpcy5jb29raWVOYW1lU2V0dGluZ3MpO1xuICAgIGlmICghaGlzdG9yeVNldHRpbmdzIHx8IGhpc3RvcnlTZXR0aW5ncy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuc2V0SGlzdG9yeVBpbm5lZCh1c2VybmFtZSwgZmFsc2UsIGRvbWFpbik7XG4gICAgICBoaXN0b3J5U2V0dGluZ3MgPSBbeyB1c2VybmFtZTogdXNlcm5hbWUsIGhpc3RvcnlQaW5uZWQ6IGZhbHNlIH1dO1xuICAgIH1cbiAgICBpZiAoIWhpc3RvcnlTZXR0aW5ncy5maW5kKGhTZXR0aW5nID0+IGhTZXR0aW5nLnVzZXJuYW1lID09PSB1c2VybmFtZSkpIHtcbiAgICAgIHRoaXMuc2V0SGlzdG9yeVBpbm5lZCh1c2VybmFtZSwgZmFsc2UsIGRvbWFpbik7XG4gICAgICBoaXN0b3J5U2V0dGluZ3MucHVzaCh7IHVzZXJuYW1lOiB1c2VybmFtZSwgaGlzdG9yeVBpbm5lZDogZmFsc2UgfSk7XG4gICAgfVxuICAgIHRoaXMuY29va2llU2V0dGluZ3MkLm5leHQoaGlzdG9yeVNldHRpbmdzKTtcbiAgfVxuXG4gIHNldEhpc3RvcnlQaW5uZWQodXNlcm5hbWU6IHN0cmluZywgcGluOiBib29sZWFuLCBkb21haW4/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBoaXN0b3J5U2V0dGluZ3M6IENsckhpc3RvcnlTZXR0aW5nc01vZGVsW10gPSB0aGlzLmdldENvb2tpZUJ5TmFtZSh0aGlzLmNvb2tpZU5hbWVTZXR0aW5ncyk7XG4gICAgY29uc3QgaGlzdG9yeVNldHRpbmcgPSBoaXN0b3J5U2V0dGluZ3MuZmluZChoU2V0dGluZyA9PiBoU2V0dGluZy51c2VybmFtZSA9PT0gdXNlcm5hbWUpO1xuICAgIGlmIChoaXN0b3J5U2V0dGluZykge1xuICAgICAgaGlzdG9yeVNldHRpbmcuaGlzdG9yeVBpbm5lZCA9IHBpbjtcbiAgICB9IGVsc2Uge1xuICAgICAgaGlzdG9yeVNldHRpbmdzLnB1c2goeyB1c2VybmFtZTogdXNlcm5hbWUsIGhpc3RvcnlQaW5uZWQ6IHBpbiB9KTtcbiAgICB9XG4gICAgdGhpcy5jb29raWVTZXR0aW5ncyQubmV4dChoaXN0b3J5U2V0dGluZ3MpO1xuICAgIC8vIFNldCBpdFxuICAgIHRoaXMuc2V0Q29va2llKHRoaXMuY29va2llTmFtZVNldHRpbmdzLCBKU09OLnN0cmluZ2lmeShoaXN0b3J5U2V0dGluZ3MpLCBkb21haW4pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb29raWVCeU5hbWUobmFtZTogc3RyaW5nKTogYW55W10ge1xuICAgIGNvbnN0IGNvb2tpZUVudHJpZXMgPVxuICAgICAgZG9jdW1lbnQuY29va2llXG4gICAgICAgIC5zcGxpdCgnOycpXG4gICAgICAgIC5tYXAoYyA9PiBjLnRyaW0oKSlcbiAgICAgICAgLmZpbHRlcihjb29raWUgPT4ge1xuICAgICAgICAgIHJldHVybiBjb29raWUuc3Vic3RyaW5nKDAsIG5hbWUubGVuZ3RoICsgMSkgPT09IGAke25hbWV9PWA7XG4gICAgICAgIH0pXG4gICAgICAgIC5tYXAoY29va2llID0+IHtcbiAgICAgICAgICByZXR1cm4gbmFtZSA9PT0gdGhpcy5jb29raWVOYW1lXG4gICAgICAgICAgICA/IHRoaXMuZGVjb2RlKGNvb2tpZS5zdWJzdHJpbmcobmFtZS5sZW5ndGggKyAxKSlcbiAgICAgICAgICAgIDogSlNPTi5wYXJzZShjb29raWUuc3Vic3RyaW5nKG5hbWUubGVuZ3RoICsgMSkpO1xuICAgICAgICB9KVswXSB8fCBbXTtcbiAgICBpZiAoY29va2llRW50cmllcyAmJiBjb29raWVFbnRyaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvb2tpZUVudHJpZXMuZm9yRWFjaCgoZW50cnk6IGFueSkgPT4ge1xuICAgICAgICBpZiAoZW50cnkudGl0bGUpIHtcbiAgICAgICAgICBlbnRyeS50aXRsZSA9IGRlY29kZVVSSShlbnRyeS50aXRsZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVudHJ5LnBhZ2VOYW1lKSB7XG4gICAgICAgICAgZW50cnkucGFnZU5hbWUgPSBkZWNvZGVVUkkoZW50cnkucGFnZU5hbWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGNvb2tpZUVudHJpZXM7XG4gIH1cblxuICBwcml2YXRlIGVuY29kZShjb250ZW50OiBDbHJIaXN0b3J5TW9kZWxbXSk6IHN0cmluZyB7XG4gICAgY29uc3QganNvblN0cmluZyA9IGJ0b2EoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGNvbnRlbnQpKSk7XG4gICAgcmV0dXJuIGpzb25TdHJpbmcucmVwbGFjZSgvXFwrL2csICctJykucmVwbGFjZSgvXFwvL2csICdfJykucmVwbGFjZSgvPS9nLCAnIScpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWNvZGUoY29udGVudDogc3RyaW5nKTogQ2xySGlzdG9yeU1vZGVsW10ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBiYXNlNjQgPSBjb250ZW50LnJlcGxhY2UoLy0vZywgJysnKS5yZXBsYWNlKC9fL2csICcvJykucmVwbGFjZSgvIS9nLCAnPScpO1xuICAgICAgcmV0dXJuIEpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGF0b2IoYmFzZTY0KSkpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRDb29raWUobmFtZTogc3RyaW5nLCBjb250ZW50OiBzdHJpbmcsIGRvbWFpbjogc3RyaW5nKTogdm9pZCB7XG4gICAgZG9jdW1lbnQuY29va2llID1cbiAgICAgIG5hbWUgK1xuICAgICAgJz0nICtcbiAgICAgIGNvbnRlbnQgK1xuICAgICAgJztkb21haW49JyArXG4gICAgICAoZG9tYWluID8gZG9tYWluIDogdGhpcy5nZXREb21haW4oKSkgK1xuICAgICAgJztleHBpcmVzPScgK1xuICAgICAgdGhpcy5leHBpcnlEYXRlLnRvVVRDU3RyaW5nKCkgK1xuICAgICAgJztwYXRoPS8nO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREb21haW4oKTogc3RyaW5nIHtcbiAgICBjb25zdCBkb21haW4gPSB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuc3BsaXQoJy4nKTtcbiAgICAvL2xvY2FsaG9zdCBmYWxsYmFja1xuICAgIGlmIChkb21haW4ubGVuZ3RoID09PSAxKSB7XG4gICAgICByZXR1cm4gZG9tYWluWzBdO1xuICAgIH1cbiAgICBkb21haW4uc2hpZnQoKTtcbiAgICByZXR1cm4gZG9tYWluLmpvaW4oJy4nKTtcbiAgfVxufVxuIl19
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvaGlzdG9yeS9oaXN0b3J5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHdkMsTUFBTSxPQUFPLGlCQUFpQjtJQVc1QjtRQVZPLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQTRCLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLGVBQVUsR0FBRyxhQUFhLENBQUM7UUFDM0IsdUJBQWtCLEdBQUcsc0JBQXNCLENBQUM7UUFHNUMsMEJBQTBCO1FBQ2xCLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDdkIsMENBQTBDO1FBQ2xDLGVBQVUsR0FBRyxHQUFHLENBQUM7UUFHdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBQyxZQUE2QixFQUFFLE1BQWU7UUFDNUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFM0UsMkVBQTJFO1FBQzNFLElBQUksWUFBWSxDQUFDLEdBQUcsSUFBSSxZQUFZLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxF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bWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsckhpc3RvcnlNb2RlbCwgQ2xySGlzdG9yeVNldHRpbmdzTW9kZWwgfSBmcm9tICcuL2hpc3RvcnktbW9kZWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2xySGlzdG9yeVNlcnZpY2Uge1xuICBwdWJsaWMgY29va2llU2V0dGluZ3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDbHJIaXN0b3J5U2V0dGluZ3NNb2RlbFtdPihbXSk7XG4gIGNvb2tpZU5hbWUgPSAnY2xyLmhpc3RvcnknO1xuICBjb29raWVOYW1lU2V0dGluZ3MgPSAnY2xyLmhpc3Rvcnkuc2V0dGluZ3MnO1xuICBwcml2YXRlIGV4cGlyeURhdGU6IERhdGU7XG5cbiAgLy8gbWF4bWltdW0gaGlzdG9yeSBsZW5ndGhcbiAgcHJpdmF0ZSBtYXhTaXplID0gMTAyNDtcbiAgLy8gbWF4aW11bSB1cmwgbGVuZ3RoIGZvciB1c2FnZSBpbiBoaXN0b3J5XG4gIHByaXZhdGUgbWF4VXJsU2l6ZSA9IDI1NjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmV4cGlyeURhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIHRoaXMuZXhwaXJ5RGF0ZS5zZXRUaW1lKHRoaXMuZXhwaXJ5RGF0ZS5nZXRUaW1lKCkgKyAzNjUgKiAyNCAqIDYwICogNjAgKiAxMDAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBuZXcgaGlzdG9yeSBlbnRyeVxuICAgKiBAcGFyYW0gaGlzdG9yeUVudHJ5IFRoZSBlbnRyeSB0byBiZSBhZGRlZFxuICAgKiBAcGFyYW0gZG9tYWluIFRoZSBvcHRpb25hbCBkb21haW4gcGFyYW0gd2hlcmUgdGhlIGNvb2tpZSBpcyBzdG9yZWRcbiAgICogQHJldHVybnMgdHJ1ZSB3aGVuIGVudHJ5IGFkZGVkLCBvdGhlcndpc2UgZmFsc2UgaXMgcmV0dXJuZWRcbiAgICovXG4gIGFkZEhpc3RvcnlFbnRyeShoaXN0b3J5RW50cnk6IENsckhpc3RvcnlNb2RlbCwgZG9tYWluPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgdGhpcy5yZW1vdmVGcm9tSGlzdG9yeShoaXN0b3J5RW50cnkpO1xuICAgIGxldCBoaXN0b3J5ID0gdGhpcy5nZXRIaXN0b3J5KGhpc3RvcnlFbnRyeS51c2VybmFtZSwgaGlzdG9yeUVudHJ5LmNvbnRleHQpO1xuXG4gICAgLyogb25seSBhZGQgdG8gaGlzdG9yeSBpbiBjYXNlIHVybCBkb2VzIG5vdCBleGNlZWQgbWF4VXJsU2l6ZSBjaGFyYWN0ZXJzICovXG4gICAgaWYgKGhpc3RvcnlFbnRyeS51cmwgJiYgaGlzdG9yeUVudHJ5LnVybC5sZW5ndGggPCB0aGlzLm1heFVybFNpemUpIHtcbiAgICAgIC8qIGFkZCBpdCBhcyBsYXN0IGVsZW1lbnQgKi9cbiAgICAgIGhpc3RvcnkucHVzaChoaXN0b3J5RW50cnkpO1xuICAgICAgLyogc3VwcG9ydCBhIG1heGltdW0gb2YgNCBwYWdlcyBpbiBoaXN0b3J5ICovXG4gICAgICBoaXN0b3J5ID0gaGlzdG9yeS5zbGljZSgtNCk7XG4gICAgICB0aGlzLnNldEhpc3RvcnkoaGlzdG9yeSwgZG9tYWluKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBnZXRIaXN0b3J5RGlzcGxheSh1c2VybmFtZTogc3RyaW5nLCBjb250ZXh0OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KTogQ2xySGlzdG9yeU1vZGVsW10ge1xuICAgIGNvbnN0IGhpc3RvcnkgPSB0aGlzLmdldEhpc3RvcnkodXNlcm5hbWUsIGNvbnRleHQpO1xuICAgIGlmIChoaXN0b3J5Lmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRQYWdlVGl0bGUgPSBoaXN0b3J5W2hpc3RvcnkubGVuZ3RoIC0gMV0udGl0bGU7XG4gICAgICBjb25zdCB0b0Rpc3BsYXk6IENsckhpc3RvcnlNb2RlbFtdID0gW107XG4gICAgICBjb25zdCBhbHJlYWR5RGlzcGxheTogc3RyaW5nW10gPSBbXTtcblxuICAgICAgZm9yIChsZXQgaSA9IGhpc3RvcnkubGVuZ3RoIC0gMTsgaSA+PSAwICYmIGFscmVhZHlEaXNwbGF5Lmxlbmd0aCA8IDQ7IGktLSkge1xuICAgICAgICBpZiAoIWFscmVhZHlEaXNwbGF5LmluY2x1ZGVzKGhpc3RvcnlbaV0udGl0bGUpICYmIGhpc3RvcnlbaV0udGl0bGUgIT09IGN1cnJlbnRQYWdlVGl0bGUpIHtcbiAgICAgICAgICBhbHJlYWR5RGlzcGxheS5wdXNoKGhpc3RvcnlbaV0udGl0bGUpO1xuICAgICAgICAgIHRvRGlzcGxheS5wdXNoKGhpc3RvcnlbaV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0b0Rpc3BsYXkucmV2ZXJzZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gaGlzdG9yeTtcbiAgICB9XG4gIH1cblxuICBnZXRIaXN0b3J5KHVzZXJuYW1lOiBzdHJpbmcsIGNvbnRleHQ6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pOiBDbHJIaXN0b3J5TW9kZWxbXSB7XG4gICAgY29uc3QgaGlzdG9yeTogQ2xySGlzdG9yeU1vZGVsW10gPSB0aGlzLmdldENvb2tpZUJ5TmFtZSh0aGlzLmNvb2tpZU5hbWUpO1xuICAgIGlmICghaGlzdG9yeSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gaGlzdG9yeS5maWx0ZXIoZWxlbWVudCA9PiB0aGlzLmNoZWNrRXF1YWxDb250ZXh0KGVsZW1lbnQsIGNvbnRleHQpICYmIGVsZW1lbnQudXNlcm5hbWUgPT09IHVzZXJuYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgaGlzdG9yeVxuICAgKiBAcGFyYW0gZW50cmllc1xuICAgKiBAcGFyYW0gZG9tYWluXG4gICAqL1xuICBwcml2YXRlIHNldEhpc3RvcnkoZW50cmllczogQ2xySGlzdG9yeU1vZGVsW10sIGRvbWFpbj86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghZW50cmllcyB8fCBlbnRyaWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgLy8gY2xlYXIgYWxsIGVudHJpZXNcbiAgICAgIHRoaXMuc2V0Q29va2llKHRoaXMuY29va2llTmFtZSwgdGhpcy5lbmNvZGUoW10pLCBkb21haW4pO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbnRyaWVzID0gdGhpcy5yZWR1Y2VTaXplKGVudHJpZXMpO1xuICAgICAgLy8gZW5jb2RlIHRpdGxlICYgcGFnZW5hbWUgdG8gYmUgY29va2llIHNhdmluZyBzYXZlXG4gICAgICBpZiAoZW50cmllcyAmJiBlbnRyaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZW50cmllcy5mb3JFYWNoKGVudHJ5ID0+IHtcbiAgICAgICAgICBlbnRyeS50aXRsZSA9IGVuY29kZVVSSShlbnRyeS50aXRsZSk7XG4gICAgICAgICAgZW50cnkucGFnZU5hbWUgPSBlbmNvZGVVUkkoZW50cnkucGFnZU5hbWUpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0Q29va2llKHRoaXMuY29va2llTmFtZSwgdGhpcy5lbmNvZGUoZW50cmllcyksIGRvbWFpbik7XG4gICAgfVxuICB9XG5cbiAgcmVkdWNlU2l6ZShlbnRyaWVzOiBDbHJIaXN0b3J5TW9kZWxbXSk6IENsckhpc3RvcnlNb2RlbFtdIHtcbiAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZW50cmllcykubGVuZ3RoID4gdGhpcy5tYXhTaXplKSB7XG4gICAgICBjb25zdCByZWR1Y2VkOiBDbHJIaXN0b3J5TW9kZWxbXSA9IFsuLi5lbnRyaWVzXTtcbiAgICAgIGRvIHtcbiAgICAgICAgcmVkdWNlZC5zaGlmdCgpO1xuICAgICAgfSB3aGlsZSAoSlNPTi5zdHJpbmdpZnkocmVkdWNlZCkubGVuZ3RoID4gdGhpcy5tYXhTaXplKTtcbiAgICAgIHJldHVybiByZWR1Y2VkO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZW50cmllcztcbiAgICB9XG4gIH1cblxuICByZXNldEhpc3RvcnkoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRIaXN0b3J5KG51bGwpO1xuICB9XG5cbiAgcmVtb3ZlRnJvbUhpc3RvcnkoZW50cnk6IENsckhpc3RvcnlNb2RlbCk6IHZvaWQge1xuICAgIGxldCBoaXN0b3J5ID0gdGhpcy5nZXRIaXN0b3J5KGVudHJ5LnVzZXJuYW1lLCBlbnRyeS5jb250ZXh0KTtcbiAgICAvKiByZW1vdmUgY3VycmVudCBlbnRyeSBmcm9tIGFycmF5ICovXG4gICAgaGlzdG9yeSA9IGhpc3RvcnkuZmlsdGVyKFxuICAgICAgZWxlbWVudCA9PlxuICAgICAgICAhKFxuICAgICAgICAgIGVsZW1lbnQudGl0bGUgPT09IGVudHJ5LnRpdGxlICYmXG4gICAgICAgICAgZWxlbWVudC51c2VybmFtZSA9PT0gZW50cnkudXNlcm5hbWUgJiZcbiAgICAgICAgICB0aGlzLmNoZWNrRXF1YWxDb250ZXh0KGVsZW1lbnQsIGVudHJ5LmNvbnRleHQpXG4gICAgICAgIClcbiAgICApO1xuICAgIHRoaXMuc2V0SGlzdG9yeShoaXN0b3J5KTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tFcXVhbENvbnRleHQoZW50cnk6IENsckhpc3RvcnlNb2RlbCwgdG9Db21wYXJlOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KTogYm9vbGVhbiB7XG4gICAgbGV0IGVxdWFsID0gZmFsc2U7XG4gICAgaWYgKGVudHJ5ICYmIGVudHJ5LmNvbnRleHQgJiYgdG9Db21wYXJlKSB7XG4gICAgICBPYmplY3Qua2V5cyh0b0NvbXBhcmUpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgZXF1YWwgPSBrZXkgaW4gZW50cnkuY29udGV4dCAmJiBlbnRyeS5jb250ZXh0W2tleV0gPT09IHRvQ29tcGFyZVtrZXldO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBlcXVhbDtcbiAgfVxuXG4gIGluaXRpYWxpemVDb29raWVTZXR0aW5ncyh1c2VybmFtZTogc3RyaW5nLCBkb21haW4/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsZXQgaGlzdG9yeVNldHRpbmdzOiBDbHJIaXN0b3J5U2V0dGluZ3NNb2RlbFtdID0gdGhpcy5nZXRDb29raWVCeU5hbWUodGhpcy5jb29raWVOYW1lU2V0dGluZ3MpO1xuICAgIGlmICghaGlzdG9yeVNldHRpbmdzIHx8IGhpc3RvcnlTZXR0aW5ncy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuc2V0SGlzdG9yeVBpbm5lZCh1c2VybmFtZSwgZmFsc2UsIGRvbWFpbik7XG4gICAgICBoaXN0b3J5U2V0dGluZ3MgPSBbeyB1c2VybmFtZTogdXNlcm5hbWUsIGhpc3RvcnlQaW5uZWQ6IGZhbHNlIH1dO1xuICAgIH1cbiAgICBpZiAoIWhpc3RvcnlTZXR0aW5ncy5maW5kKGhTZXR0aW5nID0+IGhTZXR0aW5nLnVzZXJuYW1lID09PSB1c2VybmFtZSkpIHtcbiAgICAgIHRoaXMuc2V0SGlzdG9yeVBpbm5lZCh1c2VybmFtZSwgZmFsc2UsIGRvbWFpbik7XG4gICAgICBoaXN0b3J5U2V0dGluZ3MucHVzaCh7IHVzZXJuYW1lOiB1c2VybmFtZSwgaGlzdG9yeVBpbm5lZDogZmFsc2UgfSk7XG4gICAgfVxuICAgIHRoaXMuY29va2llU2V0dGluZ3MkLm5leHQoaGlzdG9yeVNldHRpbmdzKTtcbiAgfVxuXG4gIHNldEhpc3RvcnlQaW5uZWQodXNlcm5hbWU6IHN0cmluZywgcGluOiBib29sZWFuLCBkb21haW4/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBoaXN0b3J5U2V0dGluZ3M6IENsckhpc3RvcnlTZXR0aW5nc01vZGVsW10gPSB0aGlzLmdldENvb2tpZUJ5TmFtZSh0aGlzLmNvb2tpZU5hbWVTZXR0aW5ncyk7XG4gICAgY29uc3QgaGlzdG9yeVNldHRpbmcgPSBoaXN0b3J5U2V0dGluZ3MuZmluZChoU2V0dGluZyA9PiBoU2V0dGluZy51c2VybmFtZSA9PT0gdXNlcm5hbWUpO1xuICAgIGlmIChoaXN0b3J5U2V0dGluZykge1xuICAgICAgaGlzdG9yeVNldHRpbmcuaGlzdG9yeVBpbm5lZCA9IHBpbjtcbiAgICB9IGVsc2Uge1xuICAgICAgaGlzdG9yeVNldHRpbmdzLnB1c2goeyB1c2VybmFtZTogdXNlcm5hbWUsIGhpc3RvcnlQaW5uZWQ6IHBpbiB9KTtcbiAgICB9XG4gICAgdGhpcy5jb29raWVTZXR0aW5ncyQubmV4dChoaXN0b3J5U2V0dGluZ3MpO1xuICAgIC8vIFNldCBpdFxuICAgIHRoaXMuc2V0Q29va2llKHRoaXMuY29va2llTmFtZVNldHRpbmdzLCBKU09OLnN0cmluZ2lmeShoaXN0b3J5U2V0dGluZ3MpLCBkb21haW4pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb29raWVCeU5hbWUobmFtZTogc3RyaW5nKTogYW55W10ge1xuICAgIGNvbnN0IGNvb2tpZUVudHJpZXMgPVxuICAgICAgZG9jdW1lbnQuY29va2llXG4gICAgICAgIC5zcGxpdCgnOycpXG4gICAgICAgIC5tYXAoYyA9PiBjLnRyaW0oKSlcbiAgICAgICAgLmZpbHRlcihjb29raWUgPT4ge1xuICAgICAgICAgIHJldHVybiBjb29raWUuc3Vic3RyaW5nKDAsIG5hbWUubGVuZ3RoICsgMSkgPT09IGAke25hbWV9PWA7XG4gICAgICAgIH0pXG4gICAgICAgIC5tYXAoY29va2llID0+IHtcbiAgICAgICAgICByZXR1cm4gbmFtZSA9PT0gdGhpcy5jb29raWVOYW1lXG4gICAgICAgICAgICA/IHRoaXMuZGVjb2RlKGNvb2tpZS5zdWJzdHJpbmcobmFtZS5sZW5ndGggKyAxKSlcbiAgICAgICAgICAgIDogSlNPTi5wYXJzZShjb29raWUuc3Vic3RyaW5nKG5hbWUubGVuZ3RoICsgMSkpO1xuICAgICAgICB9KVswXSB8fCBbXTtcbiAgICBpZiAoY29va2llRW50cmllcyAmJiBjb29raWVFbnRyaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvb2tpZUVudHJpZXMuZm9yRWFjaCgoZW50cnk6IGFueSkgPT4ge1xuICAgICAgICBpZiAoZW50cnkudGl0bGUpIHtcbiAgICAgICAgICBlbnRyeS50aXRsZSA9IGRlY29kZVVSSShlbnRyeS50aXRsZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVudHJ5LnBhZ2VOYW1lKSB7XG4gICAgICAgICAgZW50cnkucGFnZU5hbWUgPSBkZWNvZGVVUkkoZW50cnkucGFnZU5hbWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGNvb2tpZUVudHJpZXM7XG4gIH1cblxuICBwcml2YXRlIGVuY29kZShjb250ZW50OiBDbHJIaXN0b3J5TW9kZWxbXSk6IHN0cmluZyB7XG4gICAgY29uc3QganNvblN0cmluZyA9IGJ0b2EoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGNvbnRlbnQpKSk7XG4gICAgcmV0dXJuIGpzb25TdHJpbmcucmVwbGFjZSgvXFwrL2csICctJykucmVwbGFjZSgvXFwvL2csICdfJykucmVwbGFjZSgvPS9nLCAnIScpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWNvZGUoY29udGVudDogc3RyaW5nKTogQ2xySGlzdG9yeU1vZGVsW10ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBiYXNlNjQgPSBjb250ZW50LnJlcGxhY2UoLy0vZywgJysnKS5yZXBsYWNlKC9fL2csICcvJykucmVwbGFjZSgvIS9nLCAnPScpO1xuICAgICAgcmV0dXJuIEpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGF0b2IoYmFzZTY0KSkpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRDb29raWUobmFtZTogc3RyaW5nLCBjb250ZW50OiBzdHJpbmcsIGRvbWFpbjogc3RyaW5nKTogdm9pZCB7XG4gICAgZG9jdW1lbnQuY29va2llID1cbiAgICAgIG5hbWUgK1xuICAgICAgJz0nICtcbiAgICAgIGNvbnRlbnQgK1xuICAgICAgJztkb21haW49JyArXG4gICAgICAoZG9tYWluID8gZG9tYWluIDogdGhpcy5nZXREb21haW4oKSkgK1xuICAgICAgJztleHBpcmVzPScgK1xuICAgICAgdGhpcy5leHBpcnlEYXRlLnRvVVRDU3RyaW5nKCkgK1xuICAgICAgJztwYXRoPS8nO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREb21haW4oKTogc3RyaW5nIHtcbiAgICBjb25zdCBkb21haW4gPSB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuc3BsaXQoJy4nKTtcbiAgICAvL2xvY2FsaG9zdCBmYWxsYmFja1xuICAgIGlmIChkb21haW4ubGVuZ3RoID09PSAxKSB7XG4gICAgICByZXR1cm4gZG9tYWluWzBdO1xuICAgIH1cbiAgICBkb21haW4uc2hpZnQoKTtcbiAgICByZXR1cm4gZG9tYWluLmpvaW4oJy4nKTtcbiAgfVxufVxuIl19
@@ -4236,7 +4236,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
4236
4236
  */
4237
4237
 
4238
4238
  /*
4239
- * Copyright (c) 2018-2021 Porsche Informatik. All Rights Reserved.
4239
+ * Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.
4240
4240
  * This software is released under MIT license.
4241
4241
  * The full license information can be found in LICENSE in the root directory of this project.
4242
4242
  */
@@ -4321,12 +4321,10 @@ class ClrHistoryService {
4321
4321
  }
4322
4322
  reduceSize(entries) {
4323
4323
  if (JSON.stringify(entries).length > this.maxSize) {
4324
- const reduced = [];
4324
+ const reduced = [...entries];
4325
4325
  do {
4326
- for (let i = 0; i < entries.length; i++) {
4327
- reduced.push(entries[i]);
4328
- }
4329
- } while (JSON.stringify(reduced).length < this.maxSize);
4326
+ reduced.shift();
4327
+ } while (JSON.stringify(reduced).length > this.maxSize);
4330
4328
  return reduced;
4331
4329
  }
4332
4330
  else {