@sumaris-net/ngx-components 1.20.5 → 1.20.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/doc/changelog.md CHANGED
@@ -364,3 +364,6 @@
364
364
 
365
365
  # 1.20.5
366
366
  [enh] formatProperty pipe: when type is 'boolean', display a translated Yes/No
367
+
368
+ # 1.20.7
369
+ [enh] add function FileUtils.writeTextToFile()
@@ -26,4 +26,4 @@ AppIconComponent.propDecorators = {
26
26
  color: [{ type: Input }],
27
27
  ref: [{ type: Input }]
28
28
  };
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvaWNvbi9pY29uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQVEvQyxNQUFNLE9BQU8sZ0JBQWdCO0lBSjdCO1FBTVcsU0FBSSxHQUFXLElBQUksQ0FBQztRQUNwQixZQUFPLEdBQVcsSUFBSSxDQUFDO1FBQ3ZCLGVBQVUsR0FBVyxJQUFJLENBQUM7UUFDMUIsVUFBSyxHQUFjLElBQUksQ0FBQztJQU9uQyxDQUFDO0lBTEMsSUFBYSxHQUFHLENBQUMsS0FBYztRQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUNyQyxDQUFDO0lBQUEsQ0FBQzs7O1lBZkgsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxVQUFVO2dCQUNwQixnVUFBb0M7YUFDckM7OzttQkFHRSxLQUFLO3NCQUNMLEtBQUs7eUJBQ0wsS0FBSztvQkFDTCxLQUFLO2tCQUVMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBcHBDb2xvcnN9IGZyb20gJy4uLy4uL3NoYXJlZC9jb2xvcnMudXRpbHMnO1xuaW1wb3J0IHtJY29uUmVmfSBmcm9tICcuLi8uLi9zaGFyZWQvdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtaWNvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pY29uLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBcHBJY29uQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBpY29uOiBzdHJpbmcgPSBudWxsO1xuICBASW5wdXQoKSBtYXRJY29uOiBzdHJpbmcgPSBudWxsO1xuICBASW5wdXQoKSBtYXRTdmdJY29uOiBzdHJpbmcgPSBudWxsO1xuICBASW5wdXQoKSBjb2xvcjogQXBwQ29sb3JzID0gbnVsbDtcblxuICBASW5wdXQoKSBzZXQgcmVmKHZhbHVlOiBJY29uUmVmKSB7XG4gICAgdGhpcy5pY29uID0gdmFsdWUuaWNvbjtcbiAgICB0aGlzLm1hdEljb24gPSB2YWx1ZS5tYXRJY29uO1xuICAgIHRoaXMubWF0U3ZnSWNvbiA9IHZhbHVlLm1hdFN2Z0ljb247XG4gIH07XG59XG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvaWNvbi9pY29uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQVMvQyxNQUFNLE9BQU8sZ0JBQWdCO0lBSjdCO1FBTVcsU0FBSSxHQUFXLElBQUksQ0FBQztRQUNwQixZQUFPLEdBQVcsSUFBSSxDQUFDO1FBQ3ZCLGVBQVUsR0FBVyxJQUFJLENBQUM7UUFDMUIsVUFBSyxHQUFvQyxJQUFJLENBQUM7SUFPekQsQ0FBQztJQUxDLElBQWEsR0FBRyxDQUFDLEtBQWM7UUFDN0IsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7SUFDckMsQ0FBQztJQUFBLENBQUM7OztZQWZILFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsVUFBVTtnQkFDcEIsZ1VBQW9DO2FBQ3JDOzs7bUJBR0UsS0FBSztzQkFDTCxLQUFLO3lCQUNMLEtBQUs7b0JBQ0wsS0FBSztrQkFFTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SWNvblJlZn0gZnJvbSAnLi4vLi4vc2hhcmVkL3R5cGVzJztcbmltcG9ydCB7UHJlZGVmaW5lZENvbG9yc30gZnJvbSAnQGlvbmljL2NvcmUnO1xuaW1wb3J0IHtUaGVtZVBhbGV0dGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtaWNvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pY29uLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBcHBJY29uQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBpY29uOiBzdHJpbmcgPSBudWxsO1xuICBASW5wdXQoKSBtYXRJY29uOiBzdHJpbmcgPSBudWxsO1xuICBASW5wdXQoKSBtYXRTdmdJY29uOiBzdHJpbmcgPSBudWxsO1xuICBASW5wdXQoKSBjb2xvcjogUHJlZGVmaW5lZENvbG9ycyB8IFRoZW1lUGFsZXR0ZSA9IG51bGw7XG5cbiAgQElucHV0KCkgc2V0IHJlZih2YWx1ZTogSWNvblJlZikge1xuICAgIHRoaXMuaWNvbiA9IHZhbHVlLmljb247XG4gICAgdGhpcy5tYXRJY29uID0gdmFsdWUubWF0SWNvbjtcbiAgICB0aGlzLm1hdFN2Z0ljb24gPSB2YWx1ZS5tYXRTdmdJY29uO1xuICB9O1xufVxuIl19
@@ -134,6 +134,7 @@ let ReferentialRef = ReferentialRef_1 = class ReferentialRef extends Entity {
134
134
  this.entityName = source.entityName || this.entityName;
135
135
  this.label = source.label;
136
136
  this.name = source.name;
137
+ this.description = source.description;
137
138
  this.statusId = source.statusId;
138
139
  this.levelId = source.levelId;
139
140
  }
@@ -143,4 +144,4 @@ ReferentialRef = ReferentialRef_1 = __decorate([
143
144
  ], ReferentialRef);
144
145
  export { ReferentialRef };
145
146
  export { ɵ0, ɵ1, ɵ2 };
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbnRpYWwubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvbW9kZWwvcmVmZXJlbnRpYWwubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFZLE1BQU0sMkJBQTJCLENBQUM7QUFDcEYsT0FBTyxFQUFDLE1BQU0sRUFBeUIsV0FBVyxFQUFVLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsZUFBZSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDekUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRWhELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxHQUFzQixFQUFFLFVBQXFCO0lBQy9FLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxFQUFFLElBQUksa0JBQWtCLENBQUMsR0FBRyxFQUFFLFVBQVUsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQztBQUNoRyxDQUFDO0FBQ0QsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE1BQXFCLEVBQUUsVUFBcUIsRUFBRSxTQUFrQjtJQUNuRyxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLENBQUM7QUFDN0YsQ0FBQztXQVVPLFNBQVMsQ0FBQyxNQUFNLE9BS2hCLFNBQVMsQ0FBQyxPQUFPLE9BS2pCLFNBQVMsQ0FBQyxTQUFTO0FBWjNCLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBd0IsTUFB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QUUsZUFBZSxFQUFDLENBQUM7R0FDNUIsY0FBYyxDQTJDMUI7U0EzQ1ksY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TW9tZW50fSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgam9pblByb3BlcnRpZXNQYXRoLCBzcGxpdEJ5SWQsIHRvTnVtYmVyIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XG5pbXBvcnQge0VudGl0eSwgRW50aXR5QXNPYmplY3RPcHRpb25zLCBFbnRpdHlVdGlscywgSUVudGl0eX0gZnJvbSAnLi9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHtTdGF0dXNJZHN9IGZyb20gJy4vbW9kZWwuZW51bSc7XG5pbXBvcnQge2Zyb21EYXRlSVNPU3RyaW5nLCB0b0RhdGVJU09TdHJpbmd9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kYXRlcyc7XG5pbXBvcnQge0VudGl0eUNsYXNzfSBmcm9tICcuL2VudGl0eS5kZWNvcmF0b3JzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlZmVyZW50aWFsVG9TdHJpbmcob2JqOiBSZWZlcmVudGlhbCB8IGFueSwgcHJvcGVydGllcz86IHN0cmluZ1tdKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIG9iaiAmJiBvYmouaWQgJiYgam9pblByb3BlcnRpZXNQYXRoKG9iaiwgcHJvcGVydGllcyB8fCBbJ2xhYmVsJywgJ25hbWUnXSkgfHwgdW5kZWZpbmVkO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJlZmVyZW50aWFsc1RvU3RyaW5nKHZhbHVlczogUmVmZXJlbnRpYWxbXSwgcHJvcGVydGllcz86IHN0cmluZ1tdLCBzZXBhcmF0b3I/OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gKHZhbHVlcyB8fCBbXSkubWFwKHYgPT4gcmVmZXJlbnRpYWxUb1N0cmluZyh2LCBwcm9wZXJ0aWVzKSkuam9pbihzZXBhcmF0b3IgfHwgJywgJyk7XG59XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJU3RhdHVzIHtcbiAgaWQ6IG51bWJlcjtcbiAgaWNvbj86IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IFN0YXR1c0xpc3Q6IFJlYWRvbmx5PElTdGF0dXNbXT4gPSBPYmplY3QuZnJlZXplKFtcbiAge1xuICAgIGlkOiBTdGF0dXNJZHMuRU5BQkxFLFxuICAgIGljb246ICdjaGVja21hcmsnLFxuICAgIGxhYmVsOiAnUkVGRVJFTlRJQUwuU1RBVFVTX0VOVU0uRU5BQkxFJ1xuICB9LFxuICB7XG4gICAgaWQ6IFN0YXR1c0lkcy5ESVNBQkxFLFxuICAgIGljb246ICdjbG9zZScsXG4gICAgbGFiZWw6ICdSRUZFUkVOVElBTC5TVEFUVVNfRU5VTS5ESVNBQkxFJ1xuICB9LFxuICB7XG4gICAgaWQ6IFN0YXR1c0lkcy5URU1QT1JBUlksXG4gICAgaWNvbjogJ2hlbHAnLFxuICAgIGxhYmVsOiAnUkVGRVJFTlRJQUwuU1RBVFVTX0VOVU0uVEVNUE9SQVJZJ1xuICB9XG5dKTtcblxuZXhwb3J0IGNvbnN0IFN0YXR1c0J5SWQgPSBPYmplY3QuZnJlZXplKHNwbGl0QnlJZChTdGF0dXNMaXN0KSk7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJUmVmZXJlbnRpYWxSZWY8XG4gIFQgZXh0ZW5kcyBJRW50aXR5PFQsIElEPiA9IElFbnRpdHk8YW55LCBhbnk+LFxuICBJRCA9IG51bWJlclxuICA+XG4gIGV4dGVuZHMgSUVudGl0eTxULCBJRD4ge1xuICBsYWJlbDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGxldmVsSWQ/OiBudW1iZXI7XG4gIHN0YXR1c0lkOiBudW1iZXI7XG4gIGVudGl0eU5hbWU6IHN0cmluZztcbn1cblxuLy9AZHluYW1pY1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VSZWZlcmVudGlhbDxcbiAgVCBleHRlbmRzIEJhc2VSZWZlcmVudGlhbDxULCBJRCwgQU8+LFxuICBJRCA9IG51bWJlcixcbiAgQU8gZXh0ZW5kcyBSZWZlcmVudGlhbEFzT2JqZWN0T3B0aW9ucyA9IFJlZmVyZW50aWFsQXNPYmplY3RPcHRpb25zLFxuICBGTyA9IGFueVxuICA+XG4gIGV4dGVuZHMgRW50aXR5PFQsIElELCBBTywgRk8+XG4gIGltcGxlbWVudHMgSVJlZmVyZW50aWFsUmVmPFQsIElEPiB7XG5cbiAgbGFiZWw6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBjb21tZW50czogc3RyaW5nO1xuICBjcmVhdGlvbkRhdGU6IERhdGUgfCBNb21lbnQ7XG4gIHN0YXR1c0lkOiBudW1iZXI7XG4gIHZhbGlkaXR5U3RhdHVzSWQ6IG51bWJlcjtcbiAgbGV2ZWxJZDogbnVtYmVyO1xuICBwYXJlbnRJZDogbnVtYmVyO1xuICBlbnRpdHlOYW1lOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoX190eXBlbmFtZT86IHN0cmluZykge1xuICAgIHN1cGVyKF9fdHlwZW5hbWUpO1xuICB9XG5cbiAgYXNPYmplY3Qob3B0cz86IEFPKTogYW55IHtcbiAgICBpZiAob3B0cyAmJiBvcHRzLm1pbmlmeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICAgIGVudGl0eU5hbWU6IG9wdHMua2VlcEVudGl0eU5hbWUgJiYgdGhpcy5lbnRpdHlOYW1lIHx8IHVuZGVmaW5lZCwgLy8gRG9uJ3Qga2VlcCBieSBkZWZhdWx0XG4gICAgICAgIF9fdHlwZW5hbWU6IG9wdHMua2VlcFR5cGVuYW1lICYmIHRoaXMuX190eXBlbmFtZSB8fCB1bmRlZmluZWRcbiAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IHRhcmdldDogYW55ID0gc3VwZXIuYXNPYmplY3Qob3B0cyk7XG4gICAgdGFyZ2V0LmNyZWF0aW9uRGF0ZSA9IHRvRGF0ZUlTT1N0cmluZyh0aGlzLmNyZWF0aW9uRGF0ZSk7XG4gICAgaWYgKG9wdHMgJiYgb3B0cy5rZWVwVHlwZW5hbWUgPT09IGZhbHNlKSBkZWxldGUgdGFyZ2V0LmVudGl0eU5hbWU7XG4gICAgcmV0dXJuIHRhcmdldDtcbiAgfVxuXG4gIGZyb21PYmplY3Qoc291cmNlOiBhbnksIG9wdHM/OiBGTykge1xuICAgIHN1cGVyLmZyb21PYmplY3Qoc291cmNlLCBvcHRzKTtcbiAgICB0aGlzLmxhYmVsID0gc291cmNlLmxhYmVsO1xuICAgIHRoaXMubmFtZSA9IHNvdXJjZS5uYW1lO1xuICAgIHRoaXMuZGVzY3JpcHRpb24gPSBzb3VyY2UuZGVzY3JpcHRpb247XG4gICAgdGhpcy5jb21tZW50cyA9IHNvdXJjZS5jb21tZW50cztcbiAgICB0aGlzLnN0YXR1c0lkID0gc291cmNlLnN0YXR1c0lkO1xuICAgIHRoaXMudmFsaWRpdHlTdGF0dXNJZCAgPSBzb3VyY2UudmFsaWRpdHlTdGF0dXNJZDtcbiAgICB0aGlzLmxldmVsSWQgPSBzb3VyY2UubGV2ZWxJZCAmJiBzb3VyY2UubGV2ZWxJZCAhPT0gMCA/IHNvdXJjZS5sZXZlbElkIDogdW5kZWZpbmVkOyAvLyBEbyBub3Qgc2V0IGFzIG51bGwgKG5lZWQgZm9yIGFjY291bnQuZGVwYXJ0bWVudCwgd2hlbiByZWdpc3RlcilcbiAgICB0aGlzLnBhcmVudElkID0gc291cmNlLnBhcmVudElkO1xuICAgIHRoaXMuY3JlYXRpb25EYXRlID0gZnJvbURhdGVJU09TdHJpbmcoc291cmNlLmNyZWF0aW9uRGF0ZSk7XG4gICAgdGhpcy5lbnRpdHlOYW1lID0gc291cmNlLmVudGl0eU5hbWU7XG4gIH1cblxuICBlcXVhbHMob3RoZXI6IFQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3VwZXIuZXF1YWxzKG90aGVyKSAmJiB0aGlzLmVudGl0eU5hbWUgPT09IG90aGVyLmVudGl0eU5hbWU7XG4gIH1cbn1cblxuLy8gQGR5bmFtaWNcbkBFbnRpdHlDbGFzcyh7dHlwZW5hbWU6ICdSZWZlcmVudGlhbFZPJ30pXG5leHBvcnQgY2xhc3MgUmVmZXJlbnRpYWw8XG4gIFQgZXh0ZW5kcyBSZWZlcmVudGlhbDxULCBhbnk+ID0gUmVmZXJlbnRpYWw8YW55PixcbiAgSUQgPSBudW1iZXJcbiAgPlxuICBleHRlbmRzIEJhc2VSZWZlcmVudGlhbDxULCBJRD4ge1xuXG4gIHN0YXRpYyBmcm9tT2JqZWN0OiAoc291cmNlOiBhbnksIG9wdHM/OiBhbnkpID0+IFJlZmVyZW50aWFsO1xufVxuXG5leHBvcnQgY2xhc3MgUmVmZXJlbnRpYWxVdGlscyB7XG4gIC8vIEZJWE1FOiByZW1vdmUgdGhpc1xuICBzdGF0aWMgZnJvbU9iamVjdChzb3VyY2U6IGFueSk6IFJlZmVyZW50aWFsIHtcbiAgICBpZiAoIXNvdXJjZSB8fCBzb3VyY2UgaW5zdGFuY2VvZiBSZWZlcmVudGlhbCkgcmV0dXJuIHNvdXJjZTtcbiAgICBjb25zdCByZXMgPSBuZXcgUmVmZXJlbnRpYWwoKTtcbiAgICByZXMuZnJvbU9iamVjdChzb3VyY2UpO1xuICAgIHJldHVybiByZXMgYXMgUmVmZXJlbnRpYWw7XG4gIH1cblxuICBzdGF0aWMgaXNOb3RFbXB0eTxUIGV4dGVuZHMgSVJlZmVyZW50aWFsUmVmPFQ+PihvYmo6IFR8YW55KTogYm9vbGVhbiB7XG4gICAgLy8gQSByZWZlcmVudGlhbCBlbnRpdHkgc2hvdWxkIGFsd2F5cyBoYXZlIGEgJ2lkJyBmaWxsZWQgKGNhbiBiZSBuZWdhdGl2ZSBpcyBsb2NhbCBhbmQgdGVtcG9yYXJ5KVxuICAgIHJldHVybiBFbnRpdHlVdGlscy5pc05vdEVtcHR5KG9iaiwgJ2lkJyk7XG4gIH1cblxuICBzdGF0aWMgaXNFbXB0eTxUIGV4dGVuZHMgSVJlZmVyZW50aWFsUmVmPFQ+PihvYmo6IFR8YW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEVudGl0eVV0aWxzLmlzRW1wdHkob2JqLCAnaWQnKTtcbiAgfVxuXG4gIHN0YXRpYyBlcXVhbHM8VCBleHRlbmRzIElSZWZlcmVudGlhbFJlZjxUPj4obzE6IFR8YW55LCBvMjogVHxhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gRW50aXR5VXRpbHMuZXF1YWxzKG8xLCBvMiwgJ2lkJyk7XG4gIH1cbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZmVyZW50aWFsQXNPYmplY3RPcHRpb25zIGV4dGVuZHMgRW50aXR5QXNPYmplY3RPcHRpb25zIHtcbiAga2VlcEVudGl0eU5hbWU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFVzZWQgdG8gc3RvcmUgYW4gZW50aXR5IGxvY2FsbHlcbiAqL1xuZXhwb3J0IGNvbnN0IE1JTklGWV9FTlRJVFlfRk9SX0xPQ0FMX1NUT1JBR0U6IFJlZmVyZW50aWFsQXNPYmplY3RPcHRpb25zID0gT2JqZWN0LmZyZWV6ZSh7XG4gIG1pbmlmeTogdHJ1ZSxcbiAga2VlcFR5cGVuYW1lOiB0cnVlLFxuICBrZWVwRW50aXR5TmFtZTogdHJ1ZSxcbiAga2VlcExvY2FsSWQ6IHRydWVcbn0pO1xuXG4vKipcbiAqIFVzZWQgdG8gc2VuZCBhbiBlbnRpdHkgdG8gYSBwb2RcbiAqL1xuZXhwb3J0IGNvbnN0IE1JTklGWV9FTlRJVFlfRk9SX1BPRDogUmVmZXJlbnRpYWxBc09iamVjdE9wdGlvbnMgPSBPYmplY3QuZnJlZXplKHtcbiAgbWluaWZ5OiB0cnVlLFxuICBrZWVwVHlwZW5hbWU6IGZhbHNlLFxuICBrZWVwRW50aXR5TmFtZTogZmFsc2UsXG4gIGtlZXBMb2NhbElkOiBmYWxzZVxufSk7XG5cbi8vIEBkeW5hbWljXG5ARW50aXR5Q2xhc3Moe3R5cGVuYW1lOiAnUmVmZXJlbnRpYWxWTyd9KVxuZXhwb3J0IGNsYXNzIFJlZmVyZW50aWFsUmVmPFxuICBUIGV4dGVuZHMgUmVmZXJlbnRpYWxSZWY8YW55LCBJRD4gPSBSZWZlcmVudGlhbFJlZjxhbnksIGFueT4sXG4gIElEID0gbnVtYmVyLFxuICBPIGV4dGVuZHMgUmVmZXJlbnRpYWxBc09iamVjdE9wdGlvbnMgPSBSZWZlcmVudGlhbEFzT2JqZWN0T3B0aW9ucyxcbiAgRk8gPSBhbnlcbiAgPlxuICBleHRlbmRzIEVudGl0eTxULCBJRCwgTywgRk8+XG4gIGltcGxlbWVudHMgSVJlZmVyZW50aWFsUmVmPFQsIElEPiB7XG5cbiAgc3RhdGljIGZyb21PYmplY3Q6IChzb3VyY2U6IGFueSwgb3B0cz86IGFueSkgPT4gUmVmZXJlbnRpYWxSZWY7XG5cbiAgbGFiZWw6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBzdGF0dXNJZDogbnVtYmVyO1xuICBsZXZlbElkOiBudW1iZXI7XG4gIGVudGl0eU5hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihSZWZlcmVudGlhbFJlZi5UWVBFTkFNRSk7XG4gIH1cblxuICBhc09iamVjdChvcHRzPzogTyk6IGFueSB7XG4gICAgaWYgKG9wdHMgJiYgb3B0cy5taW5pZnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgICBlbnRpdHlOYW1lOiBvcHRzLmtlZXBFbnRpdHlOYW1lICYmIHRoaXMuZW50aXR5TmFtZSB8fCB1bmRlZmluZWQsIC8vIERvbid0IGtlZXAgYnkgZGVmYXVsdFxuICAgICAgICBfX3R5cGVuYW1lOiBvcHRzLmtlZXBUeXBlbmFtZSAmJiB0aGlzLl9fdHlwZW5hbWUgfHwgdW5kZWZpbmVkXG4gICAgICB9O1xuICAgIH1cbiAgICBjb25zdCB0YXJnZXQ6IGFueSA9IHN1cGVyLmFzT2JqZWN0KG9wdHMpO1xuICAgIGlmIChvcHRzICYmIG9wdHMua2VlcEVudGl0eU5hbWUgPT09IGZhbHNlKSBkZWxldGUgdGFyZ2V0LmVudGl0eU5hbWU7XG5cbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9XG5cbiAgZnJvbU9iamVjdChzb3VyY2U6IGFueSwgb3B0cz86IEZPKSB7XG4gICAgc3VwZXIuZnJvbU9iamVjdChzb3VyY2UpO1xuICAgIHRoaXMuZW50aXR5TmFtZSA9IHNvdXJjZS5lbnRpdHlOYW1lIHx8IHRoaXMuZW50aXR5TmFtZTtcbiAgICB0aGlzLmxhYmVsID0gc291cmNlLmxhYmVsO1xuICAgIHRoaXMubmFtZSA9IHNvdXJjZS5uYW1lO1xuICAgIHRoaXMuc3RhdHVzSWQgPSBzb3VyY2Uuc3RhdHVzSWQ7XG4gICAgdGhpcy5sZXZlbElkID0gc291cmNlLmxldmVsSWQ7XG4gIH1cbn1cbiJdfQ==
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbnRpYWwubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvbW9kZWwvcmVmZXJlbnRpYWwubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFZLE1BQU0sMkJBQTJCLENBQUM7QUFDcEYsT0FBTyxFQUFDLE1BQU0sRUFBeUIsV0FBVyxFQUFVLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsZUFBZSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDekUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRWhELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxHQUFzQixFQUFFLFVBQXFCO0lBQy9FLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxFQUFFLElBQUksa0JBQWtCLENBQUMsR0FBRyxFQUFFLFVBQVUsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQztBQUNoRyxDQUFDO0FBQ0QsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE1BQXFCLEVBQUUsVUFBcUIsRUFBRSxTQUFrQjtJQUNuRyxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLENBQUM7QUFDN0YsQ0FBQztXQVVPLFNBQVMsQ0FBQyxNQUFNLE9BS2hCLFNBQVMsQ0FBQyxPQUFPLE9BS2pCLFNBQVMsQ0FBQyxTQUFTO0FBWjNCLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBd0IsTUFB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RixDQUFBO0FBN0NZLGNBQWM7SUFEMUIsV0FBVyxDQUFDLEVBQUMsUUFBUSxFQUFFLGVBQWUsRUFBQyxDQUFDO0dBQzVCLGNBQWMsQ0E2QzFCO1NBN0NZLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01vbWVudH0gZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IGpvaW5Qcm9wZXJ0aWVzUGF0aCwgc3BsaXRCeUlkLCB0b051bWJlciB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9mdW5jdGlvbnMnO1xuaW1wb3J0IHtFbnRpdHksIEVudGl0eUFzT2JqZWN0T3B0aW9ucywgRW50aXR5VXRpbHMsIElFbnRpdHl9IGZyb20gJy4vZW50aXR5Lm1vZGVsJztcbmltcG9ydCB7U3RhdHVzSWRzfSBmcm9tICcuL21vZGVsLmVudW0nO1xuaW1wb3J0IHtmcm9tRGF0ZUlTT1N0cmluZywgdG9EYXRlSVNPU3RyaW5nfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZGF0ZXMnO1xuaW1wb3J0IHtFbnRpdHlDbGFzc30gZnJvbSAnLi9lbnRpdHkuZGVjb3JhdG9ycyc7XG5cbmV4cG9ydCBmdW5jdGlvbiByZWZlcmVudGlhbFRvU3RyaW5nKG9iajogUmVmZXJlbnRpYWwgfCBhbnksIHByb3BlcnRpZXM/OiBzdHJpbmdbXSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBvYmogJiYgb2JqLmlkICYmIGpvaW5Qcm9wZXJ0aWVzUGF0aChvYmosIHByb3BlcnRpZXMgfHwgWydsYWJlbCcsICduYW1lJ10pIHx8IHVuZGVmaW5lZDtcbn1cbmV4cG9ydCBmdW5jdGlvbiByZWZlcmVudGlhbHNUb1N0cmluZyh2YWx1ZXM6IFJlZmVyZW50aWFsW10sIHByb3BlcnRpZXM/OiBzdHJpbmdbXSwgc2VwYXJhdG9yPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuICh2YWx1ZXMgfHwgW10pLm1hcCh2ID0+IHJlZmVyZW50aWFsVG9TdHJpbmcodiwgcHJvcGVydGllcykpLmpvaW4oc2VwYXJhdG9yIHx8ICcsICcpO1xufVxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSVN0YXR1cyB7XG4gIGlkOiBudW1iZXI7XG4gIGljb24/OiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBTdGF0dXNMaXN0OiBSZWFkb25seTxJU3RhdHVzW10+ID0gT2JqZWN0LmZyZWV6ZShbXG4gIHtcbiAgICBpZDogU3RhdHVzSWRzLkVOQUJMRSxcbiAgICBpY29uOiAnY2hlY2ttYXJrJyxcbiAgICBsYWJlbDogJ1JFRkVSRU5USUFMLlNUQVRVU19FTlVNLkVOQUJMRSdcbiAgfSxcbiAge1xuICAgIGlkOiBTdGF0dXNJZHMuRElTQUJMRSxcbiAgICBpY29uOiAnY2xvc2UnLFxuICAgIGxhYmVsOiAnUkVGRVJFTlRJQUwuU1RBVFVTX0VOVU0uRElTQUJMRSdcbiAgfSxcbiAge1xuICAgIGlkOiBTdGF0dXNJZHMuVEVNUE9SQVJZLFxuICAgIGljb246ICdoZWxwJyxcbiAgICBsYWJlbDogJ1JFRkVSRU5USUFMLlNUQVRVU19FTlVNLlRFTVBPUkFSWSdcbiAgfVxuXSk7XG5cbmV4cG9ydCBjb25zdCBTdGF0dXNCeUlkID0gT2JqZWN0LmZyZWV6ZShzcGxpdEJ5SWQoU3RhdHVzTGlzdCkpO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSVJlZmVyZW50aWFsUmVmPFxuICBUIGV4dGVuZHMgSUVudGl0eTxULCBJRD4gPSBJRW50aXR5PGFueSwgYW55PixcbiAgSUQgPSBudW1iZXJcbiAgPlxuICBleHRlbmRzIElFbnRpdHk8VCwgSUQ+IHtcbiAgbGFiZWw6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBsZXZlbElkPzogbnVtYmVyO1xuICBzdGF0dXNJZDogbnVtYmVyO1xuICBlbnRpdHlOYW1lOiBzdHJpbmc7XG59XG5cbi8vQGR5bmFtaWNcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlUmVmZXJlbnRpYWw8XG4gIFQgZXh0ZW5kcyBCYXNlUmVmZXJlbnRpYWw8VCwgSUQsIEFPPixcbiAgSUQgPSBudW1iZXIsXG4gIEFPIGV4dGVuZHMgUmVmZXJlbnRpYWxBc09iamVjdE9wdGlvbnMgPSBSZWZlcmVudGlhbEFzT2JqZWN0T3B0aW9ucyxcbiAgRk8gPSBhbnlcbiAgPlxuICBleHRlbmRzIEVudGl0eTxULCBJRCwgQU8sIEZPPlxuICBpbXBsZW1lbnRzIElSZWZlcmVudGlhbFJlZjxULCBJRD4ge1xuXG4gIGxhYmVsOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgY29tbWVudHM6IHN0cmluZztcbiAgY3JlYXRpb25EYXRlOiBEYXRlIHwgTW9tZW50O1xuICBzdGF0dXNJZDogbnVtYmVyO1xuICB2YWxpZGl0eVN0YXR1c0lkOiBudW1iZXI7XG4gIGxldmVsSWQ6IG51bWJlcjtcbiAgcGFyZW50SWQ6IG51bWJlcjtcbiAgZW50aXR5TmFtZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9fdHlwZW5hbWU/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihfX3R5cGVuYW1lKTtcbiAgfVxuXG4gIGFzT2JqZWN0KG9wdHM/OiBBTyk6IGFueSB7XG4gICAgaWYgKG9wdHMgJiYgb3B0cy5taW5pZnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgICBlbnRpdHlOYW1lOiBvcHRzLmtlZXBFbnRpdHlOYW1lICYmIHRoaXMuZW50aXR5TmFtZSB8fCB1bmRlZmluZWQsIC8vIERvbid0IGtlZXAgYnkgZGVmYXVsdFxuICAgICAgICBfX3R5cGVuYW1lOiBvcHRzLmtlZXBUeXBlbmFtZSAmJiB0aGlzLl9fdHlwZW5hbWUgfHwgdW5kZWZpbmVkXG4gICAgICB9O1xuICAgIH1cbiAgICBjb25zdCB0YXJnZXQ6IGFueSA9IHN1cGVyLmFzT2JqZWN0KG9wdHMpO1xuICAgIHRhcmdldC5jcmVhdGlvbkRhdGUgPSB0b0RhdGVJU09TdHJpbmcodGhpcy5jcmVhdGlvbkRhdGUpO1xuICAgIGlmIChvcHRzICYmIG9wdHMua2VlcFR5cGVuYW1lID09PSBmYWxzZSkgZGVsZXRlIHRhcmdldC5lbnRpdHlOYW1lO1xuICAgIHJldHVybiB0YXJnZXQ7XG4gIH1cblxuICBmcm9tT2JqZWN0KHNvdXJjZTogYW55LCBvcHRzPzogRk8pIHtcbiAgICBzdXBlci5mcm9tT2JqZWN0KHNvdXJjZSwgb3B0cyk7XG4gICAgdGhpcy5sYWJlbCA9IHNvdXJjZS5sYWJlbDtcbiAgICB0aGlzLm5hbWUgPSBzb3VyY2UubmFtZTtcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gc291cmNlLmRlc2NyaXB0aW9uO1xuICAgIHRoaXMuY29tbWVudHMgPSBzb3VyY2UuY29tbWVudHM7XG4gICAgdGhpcy5zdGF0dXNJZCA9IHNvdXJjZS5zdGF0dXNJZDtcbiAgICB0aGlzLnZhbGlkaXR5U3RhdHVzSWQgID0gc291cmNlLnZhbGlkaXR5U3RhdHVzSWQ7XG4gICAgdGhpcy5sZXZlbElkID0gc291cmNlLmxldmVsSWQgJiYgc291cmNlLmxldmVsSWQgIT09IDAgPyBzb3VyY2UubGV2ZWxJZCA6IHVuZGVmaW5lZDsgLy8gRG8gbm90IHNldCBhcyBudWxsIChuZWVkIGZvciBhY2NvdW50LmRlcGFydG1lbnQsIHdoZW4gcmVnaXN0ZXIpXG4gICAgdGhpcy5wYXJlbnRJZCA9IHNvdXJjZS5wYXJlbnRJZDtcbiAgICB0aGlzLmNyZWF0aW9uRGF0ZSA9IGZyb21EYXRlSVNPU3RyaW5nKHNvdXJjZS5jcmVhdGlvbkRhdGUpO1xuICAgIHRoaXMuZW50aXR5TmFtZSA9IHNvdXJjZS5lbnRpdHlOYW1lO1xuICB9XG5cbiAgZXF1YWxzKG90aGVyOiBUKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN1cGVyLmVxdWFscyhvdGhlcikgJiYgdGhpcy5lbnRpdHlOYW1lID09PSBvdGhlci5lbnRpdHlOYW1lO1xuICB9XG59XG5cbi8vIEBkeW5hbWljXG5ARW50aXR5Q2xhc3Moe3R5cGVuYW1lOiAnUmVmZXJlbnRpYWxWTyd9KVxuZXhwb3J0IGNsYXNzIFJlZmVyZW50aWFsPFxuICBUIGV4dGVuZHMgUmVmZXJlbnRpYWw8VCwgYW55PiA9IFJlZmVyZW50aWFsPGFueT4sXG4gIElEID0gbnVtYmVyXG4gID5cbiAgZXh0ZW5kcyBCYXNlUmVmZXJlbnRpYWw8VCwgSUQ+IHtcblxuICBzdGF0aWMgZnJvbU9iamVjdDogKHNvdXJjZTogYW55LCBvcHRzPzogYW55KSA9PiBSZWZlcmVudGlhbDtcbn1cblxuZXhwb3J0IGNsYXNzIFJlZmVyZW50aWFsVXRpbHMge1xuICAvLyBGSVhNRTogcmVtb3ZlIHRoaXNcbiAgc3RhdGljIGZyb21PYmplY3Qoc291cmNlOiBhbnkpOiBSZWZlcmVudGlhbCB7XG4gICAgaWYgKCFzb3VyY2UgfHwgc291cmNlIGluc3RhbmNlb2YgUmVmZXJlbnRpYWwpIHJldHVybiBzb3VyY2U7XG4gICAgY29uc3QgcmVzID0gbmV3IFJlZmVyZW50aWFsKCk7XG4gICAgcmVzLmZyb21PYmplY3Qoc291cmNlKTtcbiAgICByZXR1cm4gcmVzIGFzIFJlZmVyZW50aWFsO1xuICB9XG5cbiAgc3RhdGljIGlzTm90RW1wdHk8VCBleHRlbmRzIElSZWZlcmVudGlhbFJlZjxUPj4ob2JqOiBUfGFueSk6IGJvb2xlYW4ge1xuICAgIC8vIEEgcmVmZXJlbnRpYWwgZW50aXR5IHNob3VsZCBhbHdheXMgaGF2ZSBhICdpZCcgZmlsbGVkIChjYW4gYmUgbmVnYXRpdmUgaXMgbG9jYWwgYW5kIHRlbXBvcmFyeSlcbiAgICByZXR1cm4gRW50aXR5VXRpbHMuaXNOb3RFbXB0eShvYmosICdpZCcpO1xuICB9XG5cbiAgc3RhdGljIGlzRW1wdHk8VCBleHRlbmRzIElSZWZlcmVudGlhbFJlZjxUPj4ob2JqOiBUfGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBFbnRpdHlVdGlscy5pc0VtcHR5KG9iaiwgJ2lkJyk7XG4gIH1cblxuICBzdGF0aWMgZXF1YWxzPFQgZXh0ZW5kcyBJUmVmZXJlbnRpYWxSZWY8VD4+KG8xOiBUfGFueSwgbzI6IFR8YW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEVudGl0eVV0aWxzLmVxdWFscyhvMSwgbzIsICdpZCcpO1xuICB9XG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBSZWZlcmVudGlhbEFzT2JqZWN0T3B0aW9ucyBleHRlbmRzIEVudGl0eUFzT2JqZWN0T3B0aW9ucyB7XG4gIGtlZXBFbnRpdHlOYW1lPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBVc2VkIHRvIHN0b3JlIGFuIGVudGl0eSBsb2NhbGx5XG4gKi9cbmV4cG9ydCBjb25zdCBNSU5JRllfRU5USVRZX0ZPUl9MT0NBTF9TVE9SQUdFOiBSZWZlcmVudGlhbEFzT2JqZWN0T3B0aW9ucyA9IE9iamVjdC5mcmVlemUoe1xuICBtaW5pZnk6IHRydWUsXG4gIGtlZXBUeXBlbmFtZTogdHJ1ZSxcbiAga2VlcEVudGl0eU5hbWU6IHRydWUsXG4gIGtlZXBMb2NhbElkOiB0cnVlXG59KTtcblxuLyoqXG4gKiBVc2VkIHRvIHNlbmQgYW4gZW50aXR5IHRvIGEgcG9kXG4gKi9cbmV4cG9ydCBjb25zdCBNSU5JRllfRU5USVRZX0ZPUl9QT0Q6IFJlZmVyZW50aWFsQXNPYmplY3RPcHRpb25zID0gT2JqZWN0LmZyZWV6ZSh7XG4gIG1pbmlmeTogdHJ1ZSxcbiAga2VlcFR5cGVuYW1lOiBmYWxzZSxcbiAga2VlcEVudGl0eU5hbWU6IGZhbHNlLFxuICBrZWVwTG9jYWxJZDogZmFsc2Vcbn0pO1xuXG4vLyBAZHluYW1pY1xuQEVudGl0eUNsYXNzKHt0eXBlbmFtZTogJ1JlZmVyZW50aWFsVk8nfSlcbmV4cG9ydCBjbGFzcyBSZWZlcmVudGlhbFJlZjxcbiAgVCBleHRlbmRzIFJlZmVyZW50aWFsUmVmPGFueSwgSUQ+ID0gUmVmZXJlbnRpYWxSZWY8YW55LCBhbnk+LFxuICBJRCA9IG51bWJlcixcbiAgTyBleHRlbmRzIFJlZmVyZW50aWFsQXNPYmplY3RPcHRpb25zID0gUmVmZXJlbnRpYWxBc09iamVjdE9wdGlvbnMsXG4gIEZPID0gYW55XG4gID5cbiAgZXh0ZW5kcyBFbnRpdHk8VCwgSUQsIE8sIEZPPlxuICBpbXBsZW1lbnRzIElSZWZlcmVudGlhbFJlZjxULCBJRD4ge1xuXG4gIHN0YXRpYyBmcm9tT2JqZWN0OiAoc291cmNlOiBhbnksIG9wdHM/OiBhbnkpID0+IFJlZmVyZW50aWFsUmVmO1xuXG4gIGxhYmVsOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgc3RhdHVzSWQ6IG51bWJlcjtcbiAgbGV2ZWxJZDogbnVtYmVyO1xuICBlbnRpdHlOYW1lOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoUmVmZXJlbnRpYWxSZWYuVFlQRU5BTUUpO1xuICB9XG5cbiAgYXNPYmplY3Qob3B0cz86IE8pOiBhbnkge1xuICAgIGlmIChvcHRzICYmIG9wdHMubWluaWZ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZDogdGhpcy5pZCxcbiAgICAgICAgZW50aXR5TmFtZTogb3B0cy5rZWVwRW50aXR5TmFtZSAmJiB0aGlzLmVudGl0eU5hbWUgfHwgdW5kZWZpbmVkLCAvLyBEb24ndCBrZWVwIGJ5IGRlZmF1bHRcbiAgICAgICAgX190eXBlbmFtZTogb3B0cy5rZWVwVHlwZW5hbWUgJiYgdGhpcy5fX3R5cGVuYW1lIHx8IHVuZGVmaW5lZFxuICAgICAgfTtcbiAgICB9XG4gICAgY29uc3QgdGFyZ2V0OiBhbnkgPSBzdXBlci5hc09iamVjdChvcHRzKTtcbiAgICBpZiAob3B0cyAmJiBvcHRzLmtlZXBFbnRpdHlOYW1lID09PSBmYWxzZSkgZGVsZXRlIHRhcmdldC5lbnRpdHlOYW1lO1xuXG4gICAgcmV0dXJuIHRhcmdldDtcbiAgfVxuXG4gIGZyb21PYmplY3Qoc291cmNlOiBhbnksIG9wdHM/OiBGTykge1xuICAgIHN1cGVyLmZyb21PYmplY3Qoc291cmNlKTtcbiAgICB0aGlzLmVudGl0eU5hbWUgPSBzb3VyY2UuZW50aXR5TmFtZSB8fCB0aGlzLmVudGl0eU5hbWU7XG4gICAgdGhpcy5sYWJlbCA9IHNvdXJjZS5sYWJlbDtcbiAgICB0aGlzLm5hbWUgPSBzb3VyY2UubmFtZTtcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gc291cmNlLmRlc2NyaXB0aW9uO1xuICAgIHRoaXMuc3RhdHVzSWQgPSBzb3VyY2Uuc3RhdHVzSWQ7XG4gICAgdGhpcy5sZXZlbElkID0gc291cmNlLmxldmVsSWQ7XG4gIH1cbn1cbiJdfQ==
@@ -8,13 +8,12 @@ export class CsvUtils {
8
8
  static exportToFile(rows, opts) {
9
9
  if (!rows || !rows.length)
10
10
  return; // Skip if empty
11
- const filename = (opts === null || opts === void 0 ? void 0 : opts.filename) || 'export.csv';
12
- const charset = ((opts === null || opts === void 0 ? void 0 : opts.encoding) || 'utf-8').toLowerCase();
11
+ // Create text content
13
12
  const separator = (opts === null || opts === void 0 ? void 0 : opts.separator) || ',';
14
13
  const protectCellRegexp = new RegExp("/(\"|" + separator + "|\n)/g");
15
14
  const keys = Object.keys(rows[0]);
16
15
  const headers = (opts === null || opts === void 0 ? void 0 : opts.headers) || keys;
17
- const csvContent =
16
+ const textContent =
18
17
  // Header row
19
18
  headers.join(separator) + '\n' +
20
19
  // Data rows
@@ -30,27 +29,8 @@ export class CsvUtils {
30
29
  return cellStr;
31
30
  }).join(separator);
32
31
  }).join('\n');
33
- const blob = new Blob((charset === 'utf-8')
34
- // Add UTF-8 BOM character
35
- ? [FilesUtils.UTF8_BOM_CHAR, csvContent]
36
- // Non UTF-8 charset
37
- : [csvContent], { type: `text/csv;charset=${charset};` });
38
- if (navigator.msSaveBlob) { // IE 10+
39
- navigator.msSaveBlob(blob, filename);
40
- }
41
- else {
42
- const link = document.createElement('a');
43
- if (link.download !== undefined) {
44
- // Browsers that support HTML5 download attribute
45
- const url = URL.createObjectURL(blob);
46
- link.setAttribute('href', url);
47
- link.setAttribute('download', filename);
48
- link.style.visibility = 'hidden';
49
- document.body.appendChild(link);
50
- link.click();
51
- document.body.removeChild(link);
52
- }
53
- }
32
+ // Write to file
33
+ FilesUtils.writeTextToFile(textContent, Object.assign({ type: 'text/csv', filename: 'export.csv' }, opts));
54
34
  }
55
35
  static parseFile(file, opts) {
56
36
  return FilesUtils.readAsText(file, opts === null || opts === void 0 ? void 0 : opts.encoding)
@@ -87,4 +67,4 @@ export class CsvUtils {
87
67
  });
88
68
  }
89
69
  }
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3N2LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvZmlsZS9jc3YudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFZLFlBQVksRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUV0QyxVQUFVO0FBQ1YsTUFBTSxPQUFPLFFBQVE7SUFFbkIsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFjLEVBQ2QsSUFLQztRQUNuQixJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLENBQUMsZ0JBQWdCO1FBRW5ELE1BQU0sUUFBUSxHQUFHLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFFBQVEsS0FBSSxZQUFZLENBQUM7UUFDaEQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxRQUFRLEtBQUksT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDMUQsTUFBTSxTQUFTLEdBQUcsQ0FBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsU0FBUyxLQUFJLEdBQUcsQ0FBQztRQUN6QyxNQUFNLGlCQUFpQixHQUFHLElBQUksTUFBTSxDQUFDLE9BQU8sR0FBRSxTQUFTLEdBQUUsUUFBUSxDQUFDLENBQUM7UUFDbkUsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztR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QjthQUN2QyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLGtCQUFrQjthQUMzRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDVixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsbUJBQW1CO2lCQUNwRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLHdCQUF3QjtpQkFDdkUsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQywwQkFBMEI7aUJBQ3BFLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsdUJBQXVCO2FBQ2pFO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0h0dHBFdmVudFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7RmlsZUV2ZW50LCBGaWxlUmVzcG9uc2V9IGZyb20gJy4uL3VwbG9hZC1maWxlL3VwbG9hZC1maWxlLm1vZGVsJztcbmltcG9ydCB7RmlsZXNVdGlsc30gZnJvbSAnLi9maWxlLnV0aWxzJztcbmltcG9ydCB7aXNOb3ROaWx9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5cbi8vQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBDc3ZVdGlscyB7XG5cbiAgc3RhdGljIGV4cG9ydFRvRmlsZShyb3dzOiBvYmplY3RbXSxcbiAgICAgICAgICAgICAgICAgICAgICBvcHRzPzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWU/OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzPzogc3RyaW5nW107XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXBhcmF0b3I/OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGluZz86IHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgICB9KSB7XG4gICAgaWYgKCFyb3dzIHx8ICFyb3dzLmxlbmd0aCkgcmV0dXJuOyAvLyBTa2lwIGlmIGVtcHR5XG5cbiAgICBjb25zdCBmaWxlbmFtZSA9IG9wdHM/LmZpbGVuYW1lIHx8ICdleHBvcnQuY3N2JztcbiAgICBjb25zdCBjaGFyc2V0ID0gKG9wdHM/LmVuY29kaW5nIHx8ICd1dGYtOCcpLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3Qgc2VwYXJhdG9yID0gb3B0cz8uc2VwYXJhdG9yIHx8ICcsJztcbiAgICBjb25zdCBwcm90ZWN0Q2VsbFJlZ2V4cCA9IG5ldyBSZWdFeHAoXCIvKFxcXCJ8XCIrIHNlcGFyYXRvciArXCJ8XFxuKS9nXCIpO1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhyb3dzWzBdKTtcbiAgICBjb25zdCBoZWFkZXJzID0gb3B0cz8uaGVhZGVycyB8fCBrZXlzO1xuICAgIGNvbnN0IGNzdkNvbnRlbnQgPVxuICAgICAgLy8gSGVhZGVyIHJvd1xuICAgICAgaGVhZGVycy5qb2luKHNlcGFyYXRvcikgKyAnXFxuJyArXG4gICAgICAvLyBEYXRhIHJvd3NcbiAgICAgIHJvd3MubWFwKHJvdyA9PiB7XG4gICAgICAgIHJldHVybiBrZXlzLm1hcChrID0+IHtcbiAgICAgICAgICBjb25zdCBjZWxsID0gcm93W2tdID09PSBudWxsIHx8IHJvd1trXSA9PT0gdW5kZWZpbmVkID8gJycgOiByb3dba107XG4gICAgICAgICAgbGV0IGNlbGxTdHI6IHN0cmluZyA9IGNlbGwgaW5zdGFuY2VvZiBEYXRlXG4gICAgICAgICAgICA/IGNlbGwudG9Mb2NhbGVTdHJpbmcoKVxuICAgICAgICAgICAgOiBjZWxsLnRvU3RyaW5nKCkucmVwbGFjZSgvXCIvZywgJ1wiXCInKTtcbiAgICAgICAgICBpZiAocHJvdGVjdENlbGxSZWdleHAudGVzdChjZWxsU3RyKSkge1xuICAgICAgICAgICAgY2VsbFN0ciA9IGBcIiR7Y2VsbFN0cn1cImA7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBjZWxsU3RyO1xuICAgICAgICB9KS5qb2luKHNlcGFyYXRvcik7XG4gICAgICB9KS5qb2luKCdcXG4nKTtcblxuXG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKChjaGFyc2V0ID09PSAndXRmLTgnKVxuICAgICAgLy8gQWRkIFVURi04IEJPTSBjaGFyYWN0ZXJcbiAgICAgID8gW0ZpbGVzVXRpbHMuVVRGOF9CT01fQ0hBUiwgY3N2Q29udGVudF1cbiAgICAgIC8vIE5vbiBVVEYtOCBjaGFyc2V0XG4gICAgICA6IFtjc3ZDb250ZW50XSxcbiAgICAgIHsgdHlwZTogYHRleHQvY3N2O2NoYXJzZXQ9JHtjaGFyc2V0fTtgIH0pO1xuICAgIGlmIChuYXZpZ2F0b3IubXNTYXZlQmxvYikgeyAvLyBJRSAxMCtcbiAgICAgIG5hdmlnYXRvci5tc1NhdmVCbG9iKGJsb2IsIGZpbGVuYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICAgIGlmIChsaW5rLmRvd25sb2FkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgLy8gQnJvd3NlcnMgdGhhdCBzdXBwb3J0IEhUTUw1IGRvd25sb2FkIGF0dHJpYnV0ZVxuICAgICAgICBjb25zdCB1cmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnaHJlZicsIHVybCk7XG4gICAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsIGZpbGVuYW1lKTtcbiAgICAgICAgbGluay5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XG4gICAgICAgIGxpbmsuY2xpY2soKTtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzdGF0aWMgcGFyc2VGaWxlKGZpbGU6IEZpbGUsIG9wdHM/OiB7c2VwYXJhdG9yPzogc3RyaW5nOyBlbmNvZGluZz86IHN0cmluZzt9KTogT2JzZXJ2YWJsZTxGaWxlRXZlbnQ8c3RyaW5nW11bXT4+IHtcbiAgICByZXR1cm4gRmlsZXNVdGlscy5yZWFkQXNUZXh0KGZpbGUsIG9wdHM/LmVuY29kaW5nKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChlID0+IHtcbiAgICAgICAgICBpZiAoZS50eXBlID09PSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzKSB7XG4gICAgICAgICAgICBjb25zdCBsb2FkZWQgPSBNYXRoLnJvdW5kKGUubG9hZGVkICogMC44KTtcbiAgICAgICAgICAgIHJldHVybiB7Li4uZSwgbG9hZGVkfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZSBpZiAoZSBpbnN0YW5jZW9mIEZpbGVSZXNwb25zZSl7XG4gICAgICAgICAgICBjb25zdCBib2R5ID0gZS5ib2R5O1xuICAgICAgICAgICAgY29uc3QgZGF0YSA9IENzdlV0aWxzLnBhcnNlQ1NWKGJvZHksIG9wdHMpO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGaWxlUmVzcG9uc2U8c3RyaW5nW11bXT4oe2JvZHk6IGRhdGF9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBmaWx0ZXIoaXNOb3ROaWwpXG4gICAgICApO1xuICB9XG5cbiAgc3RhdGljIHBhcnNlQ1NWKGJvZHk6IHN0cmluZywgb3B0cz86IHtzZXBhcmF0b3I/OiBzdHJpbmc7IHNraXBFbXB0eUxpbmU/OiBib29sZWFufSk6IHN0cmluZ1tdW10ge1xuICAgIGNvbnN0IHNlcGFyYXRvciA9IG9wdHM/LnNlcGFyYXRvciB8fCAnLCc7XG4gICAgY29uc3Qgc2tpcEVtcHR5TGluZSA9ICFvcHRzIHx8IG9wdHMuc2tpcEVtcHR5TGluZSAhPT0gZmFsc2U7XG5cbiAgICAvLyBQcm90ZWN0IHNwZWNpYWwgY2hhcmFjdGVycyAocXVvdGUgYW5kIC9uKVxuICAgIGJvZHkgPSBib2R5LnJlcGxhY2UoJ1wiXCInLCAnPHF1b3RlPicpIC8vIFByb3RlY3QgZG91YmxlIHF1b3RlXG4gICAgICAucmVwbGFjZSgvKFwiW15cXG5cIl0rKVxcblxccj8vZ20sICdcIiQxPGJyPicpIC8vIFByb3RlY3QgXFxuIGluc2lkZSBhIHF1b3RlZCBleHByZXNzaW9uXG4gICAgICAucmVwbGFjZSgvXFxuXFxyL2dtLCAnXFxuJykgLy8gV2luZG93cyBDUlxuXG4gICAgY29uc3QgaGVhZGVyQW5kUm93cyA9IGJvZHkuc3BsaXQoJ1xcbicsIDIpO1xuICAgIGNvbnN0IGhlYWRlcnMgPSBoZWFkZXJBbmRSb3dzWzBdLnNwbGl0KHNlcGFyYXRvcik7XG5cbiAgICByZXR1cm4gYm9keS5zcGxpdCgnXFxuJykgLy8gc3BsaXQgaW50byByb3dzXG4gICAgICAuZmlsdGVyKGxpbmUgPT4gIXNraXBFbXB0eUxpbmUgfHwgbGluZS50cmltKCkubGVuZ3RoID4gMCkgLy8gU2tpcCBlbXB0eSBsaW5lXG4gICAgICAubWFwKGxpbmUgPT4ge1xuICAgICAgICBjb25zdCBjZWxscyA9IGxpbmUuc3BsaXQoc2VwYXJhdG9yLCBoZWFkZXJzLmxlbmd0aCkgLy8gc3BsaXQgaW50byBjZWxsc1xuICAgICAgICAgIC5tYXAoY2VsbCA9PiBjZWxsLnJlcGxhY2UoL15cIihbXlwiXSopXCIkLywgJyQxJykpIC8vIENsZWFuIHRyYWlsaW5nIHF1b3Rlc1xuICAgICAgICAgIC5tYXAoY2VsbCA9PiBjZWxsLnJlcGxhY2UoJzxxdW90ZT4nLCAnXCInKSkgLy8gcmVzdG9yZSBwcm90ZWN0ZWQgcXVvdGVcbiAgICAgICAgICAubWFwKGNlbGwgPT4gY2VsbC5yZXBsYWNlKCc8YnI+JywgJ1xcbicpKSAvLyByZXN0b3JlIHByb3RlY3RlZCBiclxuICAgICAgICA7XG4gICAgICAgIHJldHVybiBjZWxscztcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3N2LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvZmlsZS9jc3YudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFZLFlBQVksRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUV0QyxVQUFVO0FBQ1YsTUFBTSxPQUFPLFFBQVE7SUFFbkIsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFjLEVBQ2QsSUFNQztRQUNuQixJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLENBQUMsZ0JBQWdCO1FBRW5ELHNCQUFzQjtRQUN0QixNQUFNLFNBQVMsR0FBRyxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxTQUFTLEtBQUksR0FBRyxDQUFDO1FBQ3pDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxNQUFNLENBQUMsT0FBTyxHQUFFLFNBQVMsR0FBRSxRQUFRLENBQUMsQ0FBQztRQUNuRSxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sT0FBTyxHQUFHLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLE9BQU8sS0FBSSxJQUFJLENBQUM7UUFDdEMsTUFBTSxXQUFXO1FBQ2YsYUFBYTtRQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSTtZQUM5QixZQUFZO1lBQ1osSUFB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QUM7UUFFbEQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLGtCQUFrQjthQUN2QyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLGtCQUFrQjthQUMzRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDVixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsbUJBQW1CO2lCQUNwRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLHdCQUF3QjtpQkFDdkUsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQywwQkFBMEI7aUJBQ3BFLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsdUJBQXVCO2FBQ2pFO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0h0dHBFdmVudFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7RmlsZUV2ZW50LCBGaWxlUmVzcG9uc2V9IGZyb20gJy4uL3VwbG9hZC1maWxlL3VwbG9hZC1maWxlLm1vZGVsJztcbmltcG9ydCB7RmlsZXNVdGlsc30gZnJvbSAnLi9maWxlLnV0aWxzJztcbmltcG9ydCB7aXNOb3ROaWx9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5cbi8vQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBDc3ZVdGlscyB7XG5cbiAgc3RhdGljIGV4cG9ydFRvRmlsZShyb3dzOiBvYmplY3RbXSxcbiAgICAgICAgICAgICAgICAgICAgICBvcHRzPzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWU/OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzPzogc3RyaW5nW107XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXBhcmF0b3I/OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGluZz86IHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU/OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgfSkge1xuICAgIGlmICghcm93cyB8fCAhcm93cy5sZW5ndGgpIHJldHVybjsgLy8gU2tpcCBpZiBlbXB0eVxuXG4gICAgLy8gQ3JlYXRlIHRleHQgY29udGVudFxuICAgIGNvbnN0IHNlcGFyYXRvciA9IG9wdHM/LnNlcGFyYXRvciB8fCAnLCc7XG4gICAgY29uc3QgcHJvdGVjdENlbGxSZWdleHAgPSBuZXcgUmVnRXhwKFwiLyhcXFwifFwiKyBzZXBhcmF0b3IgK1wifFxcbikvZ1wiKTtcbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMocm93c1swXSk7XG4gICAgY29uc3QgaGVhZGVycyA9IG9wdHM/LmhlYWRlcnMgfHwga2V5cztcbiAgICBjb25zdCB0ZXh0Q29udGVudCA9XG4gICAgICAvLyBIZWFkZXIgcm93XG4gICAgICBoZWFkZXJzLmpvaW4oc2VwYXJhdG9yKSArICdcXG4nICtcbiAgICAgIC8vIERhdGEgcm93c1xuICAgICAgcm93cy5tYXAocm93ID0+IHtcbiAgICAgICAgcmV0dXJuIGtleXMubWFwKGsgPT4ge1xuICAgICAgICAgIGNvbnN0IGNlbGwgPSByb3dba10gPT09IG51bGwgfHwgcm93W2tdID09PSB1bmRlZmluZWQgPyAnJyA6IHJvd1trXTtcbiAgICAgICAgICBsZXQgY2VsbFN0cjogc3RyaW5nID0gY2VsbCBpbnN0YW5jZW9mIERhdGVcbiAgICAgICAgICAgID8gY2VsbC50b0xvY2FsZVN0cmluZygpXG4gICAgICAgICAgICA6IGNlbGwudG9TdHJpbmcoKS5yZXBsYWNlKC9cIi9nLCAnXCJcIicpO1xuICAgICAgICAgIGlmIChwcm90ZWN0Q2VsbFJlZ2V4cC50ZXN0KGNlbGxTdHIpKSB7XG4gICAgICAgICAgICBjZWxsU3RyID0gYFwiJHtjZWxsU3RyfVwiYDtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGNlbGxTdHI7XG4gICAgICAgIH0pLmpvaW4oc2VwYXJhdG9yKTtcbiAgICAgIH0pLmpvaW4oJ1xcbicpO1xuXG4gICAgLy8gV3JpdGUgdG8gZmlsZVxuICAgIEZpbGVzVXRpbHMud3JpdGVUZXh0VG9GaWxlKFxuICAgICAgdGV4dENvbnRlbnQsIHtcbiAgICAgICAgdHlwZTogJ3RleHQvY3N2JyxcbiAgICAgICAgZmlsZW5hbWU6ICdleHBvcnQuY3N2JyxcbiAgICAgICAgLi4ub3B0cyxcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgc3RhdGljIHBhcnNlRmlsZShmaWxlOiBGaWxlLCBvcHRzPzoge3NlcGFyYXRvcj86IHN0cmluZzsgZW5jb2Rpbmc/OiBzdHJpbmc7fSk6IE9ic2VydmFibGU8RmlsZUV2ZW50PHN0cmluZ1tdW10+PiB7XG4gICAgcmV0dXJuIEZpbGVzVXRpbHMucmVhZEFzVGV4dChmaWxlLCBvcHRzPy5lbmNvZGluZylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoZSA9PiB7XG4gICAgICAgICAgaWYgKGUudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzcykge1xuICAgICAgICAgICAgY29uc3QgbG9hZGVkID0gTWF0aC5yb3VuZChlLmxvYWRlZCAqIDAuOCk7XG4gICAgICAgICAgICByZXR1cm4gey4uLmUsIGxvYWRlZH07XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2UgaWYgKGUgaW5zdGFuY2VvZiBGaWxlUmVzcG9uc2Upe1xuICAgICAgICAgICAgY29uc3QgYm9keSA9IGUuYm9keTtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBDc3ZVdGlscy5wYXJzZUNTVihib2R5LCBvcHRzKTtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRmlsZVJlc3BvbnNlPHN0cmluZ1tdW10+KHtib2R5OiBkYXRhfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgZmlsdGVyKGlzTm90TmlsKVxuICAgICAgKTtcbiAgfVxuXG4gIHN0YXRpYyBwYXJzZUNTVihib2R5OiBzdHJpbmcsIG9wdHM/OiB7c2VwYXJhdG9yPzogc3RyaW5nOyBza2lwRW1wdHlMaW5lPzogYm9vbGVhbn0pOiBzdHJpbmdbXVtdIHtcbiAgICBjb25zdCBzZXBhcmF0b3IgPSBvcHRzPy5zZXBhcmF0b3IgfHwgJywnO1xuICAgIGNvbnN0IHNraXBFbXB0eUxpbmUgPSAhb3B0cyB8fCBvcHRzLnNraXBFbXB0eUxpbmUgIT09IGZhbHNlO1xuXG4gICAgLy8gUHJvdGVjdCBzcGVjaWFsIGNoYXJhY3RlcnMgKHF1b3RlIGFuZCAvbilcbiAgICBib2R5ID0gYm9keS5yZXBsYWNlKCdcIlwiJywgJzxxdW90ZT4nKSAvLyBQcm90ZWN0IGRvdWJsZSBxdW90ZVxuICAgICAgLnJlcGxhY2UoLyhcIlteXFxuXCJdKylcXG5cXHI/L2dtLCAnXCIkMTxicj4nKSAvLyBQcm90ZWN0IFxcbiBpbnNpZGUgYSBxdW90ZWQgZXhwcmVzc2lvblxuICAgICAgLnJlcGxhY2UoL1xcblxcci9nbSwgJ1xcbicpIC8vIFdpbmRvd3MgQ1JcblxuICAgIGNvbnN0IGhlYWRlckFuZFJvd3MgPSBib2R5LnNwbGl0KCdcXG4nLCAyKTtcbiAgICBjb25zdCBoZWFkZXJzID0gaGVhZGVyQW5kUm93c1swXS5zcGxpdChzZXBhcmF0b3IpO1xuXG4gICAgcmV0dXJuIGJvZHkuc3BsaXQoJ1xcbicpIC8vIHNwbGl0IGludG8gcm93c1xuICAgICAgLmZpbHRlcihsaW5lID0+ICFza2lwRW1wdHlMaW5lIHx8IGxpbmUudHJpbSgpLmxlbmd0aCA+IDApIC8vIFNraXAgZW1wdHkgbGluZVxuICAgICAgLm1hcChsaW5lID0+IHtcbiAgICAgICAgY29uc3QgY2VsbHMgPSBsaW5lLnNwbGl0KHNlcGFyYXRvciwgaGVhZGVycy5sZW5ndGgpIC8vIHNwbGl0IGludG8gY2VsbHNcbiAgICAgICAgICAubWFwKGNlbGwgPT4gY2VsbC5yZXBsYWNlKC9eXCIoW15cIl0qKVwiJC8sICckMScpKSAvLyBDbGVhbiB0cmFpbGluZyBxdW90ZXNcbiAgICAgICAgICAubWFwKGNlbGwgPT4gY2VsbC5yZXBsYWNlKCc8cXVvdGU+JywgJ1wiJykpIC8vIHJlc3RvcmUgcHJvdGVjdGVkIHF1b3RlXG4gICAgICAgICAgLm1hcChjZWxsID0+IGNlbGwucmVwbGFjZSgnPGJyPicsICdcXG4nKSkgLy8gcmVzdG9yZSBwcm90ZWN0ZWQgYnJcbiAgICAgICAgO1xuICAgICAgICByZXR1cm4gY2VsbHM7XG4gICAgICB9KTtcbiAgfVxufVxuIl19
@@ -3,6 +3,7 @@ import { FileResponse } from '../upload-file/upload-file.model';
3
3
  import { UploadFilePopover } from '../upload-file/upload-file-popover.component';
4
4
  import { Subject } from 'rxjs';
5
5
  import { HttpEventType } from '@angular/common/http';
6
+ import { isNilOrBlank } from '../functions';
6
7
  export const MimeTypes = Object.freeze({
7
8
  ANDROID_APK: 'application/vnd.android.package-archive'
8
9
  });
@@ -58,6 +59,34 @@ export class FilesUtils {
58
59
  reader.readAsText(file, encoding);
59
60
  return $progress.asObservable();
60
61
  }
62
+ static writeTextToFile(content, opts) {
63
+ if (isNilOrBlank(content))
64
+ return; // Skip if empty
65
+ const filename = (opts === null || opts === void 0 ? void 0 : opts.filename) || 'export.txt';
66
+ const charset = ((opts === null || opts === void 0 ? void 0 : opts.encoding) || 'utf-8').toLowerCase();
67
+ let type = (opts === null || opts === void 0 ? void 0 : opts.type) || 'text/plain';
68
+ const blob = new Blob((charset === 'utf-8')
69
+ // Add UTF-8 BOM character
70
+ ? [FilesUtils.UTF8_BOM_CHAR, content]
71
+ // Non UTF-8 charset
72
+ : [content], { type: `${type};charset=${charset};` });
73
+ if (navigator.msSaveBlob) { // IE 10+
74
+ navigator.msSaveBlob(blob, filename);
75
+ }
76
+ else {
77
+ const link = document.createElement('a');
78
+ if (link.download !== undefined) {
79
+ // Browsers that support HTML5 download attribute
80
+ const url = URL.createObjectURL(blob);
81
+ link.setAttribute('href', url);
82
+ link.setAttribute('download', filename);
83
+ link.style.visibility = 'hidden';
84
+ document.body.appendChild(link);
85
+ link.click();
86
+ document.body.removeChild(link);
87
+ }
88
+ }
89
+ }
61
90
  }
62
91
  FilesUtils.UTF8_BOM_CHAR = new Uint8Array([0xEF, 0xBB, 0xBF]); // UTF-8 BOM
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL2ZpbGUvZmlsZS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFZLFlBQVksRUFBYSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxpQkFBaUIsRUFBMkIsTUFBTSw4Q0FBOEMsQ0FBQztBQUd6RyxPQUFPLEVBQWEsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUduRCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNyQyxXQUFXLEVBQUUseUNBQXlDO0NBQ3ZELENBQUMsQ0FBQztBQUdILE1BQU0sT0FBTyxVQUFVO0lBSXJCLE1BQU0sQ0FBTyxpQkFBaUIsQ0FBSSxpQkFBb0MsRUFDdkMsS0FBYyxFQUNkLElBQWlDOztZQUM5RCxNQUFNLEtBQUssR0FBRyxNQUFNLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztnQkFDM0MsU0FBUyxFQUFFLGlCQUFpQjtnQkFDNUIsY0FBYyxFQUFFLElBQUk7Z0JBQ3BCLGVBQWUsRUFBRSxLQUFLO2dCQUN0QixhQUFhLEVBQUUsS0FBSztnQkFDcEIsS0FBSztnQkFDTCxXQUFXLEVBQUUsSUFBSTtnQkFDakIsUUFBUSxFQUFFLGVBQWU7YUFDMUIsQ0FBQyxDQUFDO1lBRUgsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdEIsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsRCxPQUFPO2dCQUNMLElBQUk7Z0JBQ0osSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBdUIsQ0FBQyxDQUFDLENBQUMsU0FBUzthQUNqRCxDQUFDO1FBQ0osQ0FBQztLQUFBO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFVLEVBQUUsUUFBaUI7UUFFN0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQXFCLENBQUM7UUFDbkQsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNoQyxRQUFRLEdBQUcsQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFL0Msa0JBQWtCO1FBQ2xCLE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFnQixFQUFFLEVBQUU7WUFDdkMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7WUFDM0IsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7WUFDNUIsSUFBSSxNQUFNLEdBQUcsS0FBSztnQkFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxjQUFjLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7UUFDMUYsQ0FBQyxDQUFBO1FBRUQsYUFBYTtRQUNiLE1BQU0sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFnQixFQUFFLEVBQUU7WUFDdEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUMzQixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtnQkFDNUIsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLFlBQVksQ0FBQyxFQUFDLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQztnQkFDekMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ3RCO2lCQUNJO2dCQUNILE9BQU8sQ0FBQyxLQUFLLENBQUMscUJBQXFCLElBQUksQ0FBQyxJQUFJLFdBQVcsQ0FBQyxDQUFDO2dCQUN6RCxTQUFTLENBQUMsS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7YUFDN0M7UUFDSCxDQUFDLENBQUE7UUFFRCxlQUFlO1FBQ2YsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtZQUN4QyxPQUFPLENBQUMsS0FBSyxDQUFDLG1DQUFtQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzFELFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFBO1FBRUQseUJBQXlCO1FBQ3pCLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRWxDLE9BQU8sU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2xDLENBQUM7O0FBM0RNLHdCQUFhLEdBQUcsSUFBSSxVQUFVLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtGaWxlRXZlbnQsIEZpbGVSZXNwb25zZSwgVXBsb2FkRmlsZX0gZnJvbSAnLi4vdXBsb2FkLWZpbGUvdXBsb2FkLWZpbGUubW9kZWwnO1xuaW1wb3J0IHtVcGxvYWRGaWxlUG9wb3ZlciwgVXBsb2FkRmlsZVBvcG92ZXJPcHRpb25zfSBmcm9tICcuLi91cGxvYWQtZmlsZS91cGxvYWQtZmlsZS1wb3BvdmVyLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7UG9wb3ZlckNvbnRyb2xsZXJ9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0h0dHBFdmVudFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7T3ZlcmxheUV2ZW50RGV0YWlsfSBmcm9tICdAaW9uaWMvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBNaW1lVHlwZXMgPSBPYmplY3QuZnJlZXplKHtcbiAgQU5EUk9JRF9BUEs6ICdhcHBsaWNhdGlvbi92bmQuYW5kcm9pZC5wYWNrYWdlLWFyY2hpdmUnXG59KTtcblxuXG5leHBvcnQgY2xhc3MgRmlsZXNVdGlscyB7XG5cbiAgc3RhdGljIFVURjhfQk9NX0NIQVIgPSBuZXcgVWludDhBcnJheShbMHhFRiwgMHhCQiwgMHhCRl0pOyAvLyBVVEYtOCBCT01cblxuICBzdGF0aWMgYXN5bmMgc2hvd1VwbG9hZFBvcG92ZXI8VD4ocG9wb3ZlckNvbnRyb2xsZXI6IFBvcG92ZXJDb250cm9sbGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQ6IFVJRXZlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRzOiBVcGxvYWRGaWxlUG9wb3Zlck9wdGlvbnM8VD4pOiBQcm9taXNlPE92ZXJsYXlFdmVudERldGFpbDxVcGxvYWRGaWxlPFQ+W10+PiB7XG4gICAgY29uc3QgbW9kYWwgPSBhd2FpdCBwb3BvdmVyQ29udHJvbGxlci5jcmVhdGUoe1xuICAgICAgY29tcG9uZW50OiBVcGxvYWRGaWxlUG9wb3ZlcixcbiAgICAgIGNvbXBvbmVudFByb3BzOiBvcHRzLFxuICAgICAgYmFja2Ryb3BEaXNtaXNzOiBmYWxzZSxcbiAgICAgIGtleWJvYXJkQ2xvc2U6IGZhbHNlLFxuICAgICAgZXZlbnQsXG4gICAgICB0cmFuc2x1Y2VudDogdHJ1ZSxcbiAgICAgIGNzc0NsYXNzOiAncG9wb3Zlci1sYXJnZScsXG4gICAgfSk7XG5cbiAgICBhd2FpdCBtb2RhbC5wcmVzZW50KCk7XG4gICAgY29uc3QgeyBkYXRhLCByb2xlIH0gPSBhd2FpdCBtb2RhbC5vbkRpZERpc21pc3MoKTtcbiAgICByZXR1cm4ge1xuICAgICAgcm9sZSxcbiAgICAgIGRhdGE6IGRhdGEgPyBkYXRhIGFzIFVwbG9hZEZpbGU8VD5bXSA6IHVuZGVmaW5lZFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgcmVhZEFzVGV4dChmaWxlOiBGaWxlLCBlbmNvZGluZz86IHN0cmluZyk6IE9ic2VydmFibGU8RmlsZUV2ZW50PHN0cmluZz4+IHtcblxuICAgIGNvbnN0ICRwcm9ncmVzcyA9IG5ldyBTdWJqZWN0PEZpbGVFdmVudDxzdHJpbmc+PigpO1xuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgZW5jb2RpbmcgPSAoZW5jb2RpbmcgfHwgJ1VURi04JykudG9Mb3dlckNhc2UoKTtcblxuICAgIC8vIExpc3RlbiBwcm9ncmVzc1xuICAgIHJlYWRlci5vbnByb2dyZXNzID0gKGU6IFByb2dyZXNzRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHRvdGFsID0gZS50b3RhbCB8fCAxO1xuICAgICAgY29uc3QgbG9hZGVkID0gZS50b3RhbCB8fCAwO1xuICAgICAgaWYgKGxvYWRlZCA8IHRvdGFsKSAkcHJvZ3Jlc3MubmV4dCh7dHlwZTogSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzcywgbG9hZGVkLCB0b3RhbH0pO1xuICAgIH1cblxuICAgIC8vIExpc3RlbiBlbmRcbiAgICByZWFkZXIub25sb2FkZW5kID0gKGU6IFByb2dyZXNzRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IGJvZHkgPSByZWFkZXIucmVzdWx0O1xuICAgICAgaWYgKHR5cGVvZiBib2R5ID09PSAnc3RyaW5nJykge1xuICAgICAgICAkcHJvZ3Jlc3MubmV4dChuZXcgRmlsZVJlc3BvbnNlKHtib2R5fSkpO1xuICAgICAgICAkcHJvZ3Jlc3MuY29tcGxldGUoKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBDYW5ub3QgcmVhZCBmaWxlICcke2ZpbGUubmFtZX0nIGFzIHRleHRgKTtcbiAgICAgICAgJHByb2dyZXNzLmVycm9yKGBDYW5ub3QgcmVhZCBmaWxlIGFzIHRleHRgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBMaXN0ZW4gZXJyb3JcbiAgICByZWFkZXIub25lcnJvciA9IChldmVudDogUHJvZ3Jlc3NFdmVudCkgPT4ge1xuICAgICAgY29uc29sZS5lcnJvcignW2ZpbGVzXSBFcnJvciB3aGlsZSByZWFkaW5nIGZpbGU6JywgZXZlbnQpO1xuICAgICAgJHByb2dyZXNzLmVycm9yKGV2ZW50KTtcbiAgICB9XG5cbiAgICAvLyBTdGFydCByZWFkaW5nIHRoZSBmaWxlXG4gICAgcmVhZGVyLnJlYWRBc1RleHQoZmlsZSwgZW5jb2RpbmcpO1xuXG4gICAgcmV0dXJuICRwcm9ncmVzcy5hc09ic2VydmFibGUoKTtcbiAgfVxufVxuXG4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL2ZpbGUvZmlsZS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFZLFlBQVksRUFBYSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxpQkFBaUIsRUFBMkIsTUFBTSw4Q0FBOEMsQ0FBQztBQUd6RyxPQUFPLEVBQWEsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUduRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRTFDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3JDLFdBQVcsRUFBRSx5Q0FBeUM7Q0FDdkQsQ0FBQyxDQUFDO0FBR0gsTUFBTSxPQUFPLFVBQVU7SUFJckIsTUFBTSxDQUFPLGlCQUFpQixDQUFJLGlCQUFvQyxFQUN2QyxLQUFjLEVBQ2QsSUFBaUM7O1lBQzlELE1BQU0sS0FBSyxHQUFHLE1BQU0saUJBQWlCLENBQUMsTUFBTSxDQUFDO2dCQUMzQyxTQUFTLEVBQUUsaUJBQWlCO2dCQUM1QixjQUFjLEVBQUUsSUFBSTtnQkFDcEIsZUFBZSxFQUFFLEtBQUs7Z0JBQ3RCLGFBQWEsRUFBRSxLQUFLO2dCQUNwQixLQUFLO2dCQUNMLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixRQUFRLEVBQUUsZUFBZTthQUMxQixDQUFDLENBQUM7WUFFSCxNQUFNLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0QixNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2xELE9BQU87Z0JBQ0wsSUFBSTtnQkFDSixJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUF1QixDQUFDLENBQUMsQ0FBQyxTQUFTO2FBQ2pELENBQUM7UUFDSixDQUFDO0tBQUE7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLElBQVUsRUFBRSxRQUFpQjtRQUU3QyxNQUFNLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBcUIsQ0FBQztRQUNuRCxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2hDLFFBQVEsR0FBRyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUUvQyxrQkFBa0I7UUFDbEIsTUFBTSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQWdCLEVBQUUsRUFBRTtZQUN2QyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztZQUMzQixNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztZQUM1QixJQUFJLE1BQU0sR0FBRyxLQUFLO2dCQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztRQUMxRixDQUFDLENBQUE7UUFFRCxhQUFhO1FBQ2IsTUFBTSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQWdCLEVBQUUsRUFBRTtZQUN0QyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQzNCLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO2dCQUM1QixTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksWUFBWSxDQUFDLEVBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN6QyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDdEI7aUJBQ0k7Z0JBQ0gsT0FBTyxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLENBQUM7Z0JBQ3pELFNBQVMsQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQzthQUM3QztRQUNILENBQUMsQ0FBQTtRQUVELGVBQWU7UUFDZixNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsS0FBb0IsRUFBRSxFQUFFO1lBQ3hDLE9BQU8sQ0FBQyxLQUFLLENBQUMsbUNBQW1DLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDMUQsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUE7UUFFRCx5QkFBeUI7UUFDekIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFbEMsT0FBTyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBZSxFQUNmLElBSUM7UUFDdEIsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDO1lBQUUsT0FBTyxDQUFDLGdCQUFnQjtRQUVuRCxNQUFNLFFBQVEsR0FBRyxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxRQUFRLEtBQUksWUFBWSxDQUFDO1FBQ2hELE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsUUFBUSxLQUFJLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzFELElBQUksSUFBSSxHQUFHLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLElBQUksS0FBSSxZQUFZLENBQUM7UUFDdEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDO1lBQ3ZDLDBCQUEwQjtZQUMxQixDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQztZQUNyQyxvQkFBb0I7WUFDcEIsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQ2IsRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLFlBQVksT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLElBQUksU0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFLFNBQVM7WUFDbkMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDdEM7YUFBTTtZQUNMLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekMsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLFNBQVMsRUFBRTtnQkFDL0IsaURBQWlEO2dCQUNqRCxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN0QyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztnQkFDakMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDYixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNqQztTQUNGO0lBQ0gsQ0FBQzs7QUE3Rk0sd0JBQWEsR0FBRyxJQUFJLFVBQVUsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0ZpbGVFdmVudCwgRmlsZVJlc3BvbnNlLCBVcGxvYWRGaWxlfSBmcm9tICcuLi91cGxvYWQtZmlsZS91cGxvYWQtZmlsZS5tb2RlbCc7XG5pbXBvcnQge1VwbG9hZEZpbGVQb3BvdmVyLCBVcGxvYWRGaWxlUG9wb3Zlck9wdGlvbnN9IGZyb20gJy4uL3VwbG9hZC1maWxlL3VwbG9hZC1maWxlLXBvcG92ZXIuY29tcG9uZW50JztcblxuaW1wb3J0IHtQb3BvdmVyQ29udHJvbGxlcn0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7SHR0cEV2ZW50VHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtPdmVybGF5RXZlbnREZXRhaWx9IGZyb20gJ0Bpb25pYy9jb3JlJztcbmltcG9ydCB7aXNFbXB0eX0gZnJvbSAncnhqcy9pbnRlcm5hbC9vcGVyYXRvcnMnO1xuaW1wb3J0IHtpc05pbE9yQmxhbmt9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBNaW1lVHlwZXMgPSBPYmplY3QuZnJlZXplKHtcbiAgQU5EUk9JRF9BUEs6ICdhcHBsaWNhdGlvbi92bmQuYW5kcm9pZC5wYWNrYWdlLWFyY2hpdmUnXG59KTtcblxuXG5leHBvcnQgY2xhc3MgRmlsZXNVdGlscyB7XG5cbiAgc3RhdGljIFVURjhfQk9NX0NIQVIgPSBuZXcgVWludDhBcnJheShbMHhFRiwgMHhCQiwgMHhCRl0pOyAvLyBVVEYtOCBCT01cblxuICBzdGF0aWMgYXN5bmMgc2hvd1VwbG9hZFBvcG92ZXI8VD4ocG9wb3ZlckNvbnRyb2xsZXI6IFBvcG92ZXJDb250cm9sbGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQ6IFVJRXZlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRzOiBVcGxvYWRGaWxlUG9wb3Zlck9wdGlvbnM8VD4pOiBQcm9taXNlPE92ZXJsYXlFdmVudERldGFpbDxVcGxvYWRGaWxlPFQ+W10+PiB7XG4gICAgY29uc3QgbW9kYWwgPSBhd2FpdCBwb3BvdmVyQ29udHJvbGxlci5jcmVhdGUoe1xuICAgICAgY29tcG9uZW50OiBVcGxvYWRGaWxlUG9wb3ZlcixcbiAgICAgIGNvbXBvbmVudFByb3BzOiBvcHRzLFxuICAgICAgYmFja2Ryb3BEaXNtaXNzOiBmYWxzZSxcbiAgICAgIGtleWJvYXJkQ2xvc2U6IGZhbHNlLFxuICAgICAgZXZlbnQsXG4gICAgICB0cmFuc2x1Y2VudDogdHJ1ZSxcbiAgICAgIGNzc0NsYXNzOiAncG9wb3Zlci1sYXJnZScsXG4gICAgfSk7XG5cbiAgICBhd2FpdCBtb2RhbC5wcmVzZW50KCk7XG4gICAgY29uc3QgeyBkYXRhLCByb2xlIH0gPSBhd2FpdCBtb2RhbC5vbkRpZERpc21pc3MoKTtcbiAgICByZXR1cm4ge1xuICAgICAgcm9sZSxcbiAgICAgIGRhdGE6IGRhdGEgPyBkYXRhIGFzIFVwbG9hZEZpbGU8VD5bXSA6IHVuZGVmaW5lZFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgcmVhZEFzVGV4dChmaWxlOiBGaWxlLCBlbmNvZGluZz86IHN0cmluZyk6IE9ic2VydmFibGU8RmlsZUV2ZW50PHN0cmluZz4+IHtcblxuICAgIGNvbnN0ICRwcm9ncmVzcyA9IG5ldyBTdWJqZWN0PEZpbGVFdmVudDxzdHJpbmc+PigpO1xuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgZW5jb2RpbmcgPSAoZW5jb2RpbmcgfHwgJ1VURi04JykudG9Mb3dlckNhc2UoKTtcblxuICAgIC8vIExpc3RlbiBwcm9ncmVzc1xuICAgIHJlYWRlci5vbnByb2dyZXNzID0gKGU6IFByb2dyZXNzRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHRvdGFsID0gZS50b3RhbCB8fCAxO1xuICAgICAgY29uc3QgbG9hZGVkID0gZS50b3RhbCB8fCAwO1xuICAgICAgaWYgKGxvYWRlZCA8IHRvdGFsKSAkcHJvZ3Jlc3MubmV4dCh7dHlwZTogSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzcywgbG9hZGVkLCB0b3RhbH0pO1xuICAgIH1cblxuICAgIC8vIExpc3RlbiBlbmRcbiAgICByZWFkZXIub25sb2FkZW5kID0gKGU6IFByb2dyZXNzRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IGJvZHkgPSByZWFkZXIucmVzdWx0O1xuICAgICAgaWYgKHR5cGVvZiBib2R5ID09PSAnc3RyaW5nJykge1xuICAgICAgICAkcHJvZ3Jlc3MubmV4dChuZXcgRmlsZVJlc3BvbnNlKHtib2R5fSkpO1xuICAgICAgICAkcHJvZ3Jlc3MuY29tcGxldGUoKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBDYW5ub3QgcmVhZCBmaWxlICcke2ZpbGUubmFtZX0nIGFzIHRleHRgKTtcbiAgICAgICAgJHByb2dyZXNzLmVycm9yKGBDYW5ub3QgcmVhZCBmaWxlIGFzIHRleHRgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBMaXN0ZW4gZXJyb3JcbiAgICByZWFkZXIub25lcnJvciA9IChldmVudDogUHJvZ3Jlc3NFdmVudCkgPT4ge1xuICAgICAgY29uc29sZS5lcnJvcignW2ZpbGVzXSBFcnJvciB3aGlsZSByZWFkaW5nIGZpbGU6JywgZXZlbnQpO1xuICAgICAgJHByb2dyZXNzLmVycm9yKGV2ZW50KTtcbiAgICB9XG5cbiAgICAvLyBTdGFydCByZWFkaW5nIHRoZSBmaWxlXG4gICAgcmVhZGVyLnJlYWRBc1RleHQoZmlsZSwgZW5jb2RpbmcpO1xuXG4gICAgcmV0dXJuICRwcm9ncmVzcy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHN0YXRpYyB3cml0ZVRleHRUb0ZpbGUoY29udGVudDogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgIG9wdHM/OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZT86IHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuY29kaW5nPzogc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT86IHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgICAgICB9KSB7XG4gICAgaWYgKGlzTmlsT3JCbGFuayhjb250ZW50KSkgcmV0dXJuOyAvLyBTa2lwIGlmIGVtcHR5XG5cbiAgICBjb25zdCBmaWxlbmFtZSA9IG9wdHM/LmZpbGVuYW1lIHx8ICdleHBvcnQudHh0JztcbiAgICBjb25zdCBjaGFyc2V0ID0gKG9wdHM/LmVuY29kaW5nIHx8ICd1dGYtOCcpLnRvTG93ZXJDYXNlKCk7XG4gICAgbGV0IHR5cGUgPSBvcHRzPy50eXBlIHx8ICd0ZXh0L3BsYWluJztcbiAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoKGNoYXJzZXQgPT09ICd1dGYtOCcpXG4gICAgICAgIC8vIEFkZCBVVEYtOCBCT00gY2hhcmFjdGVyXG4gICAgICAgID8gW0ZpbGVzVXRpbHMuVVRGOF9CT01fQ0hBUiwgY29udGVudF1cbiAgICAgICAgLy8gTm9uIFVURi04IGNoYXJzZXRcbiAgICAgICAgOiBbY29udGVudF0sXG4gICAgICB7IHR5cGU6IGAke3R5cGV9O2NoYXJzZXQ9JHtjaGFyc2V0fTtgIH0pO1xuICAgIGlmIChuYXZpZ2F0b3IubXNTYXZlQmxvYikgeyAvLyBJRSAxMCtcbiAgICAgIG5hdmlnYXRvci5tc1NhdmVCbG9iKGJsb2IsIGZpbGVuYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICAgIGlmIChsaW5rLmRvd25sb2FkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgLy8gQnJvd3NlcnMgdGhhdCBzdXBwb3J0IEhUTUw1IGRvd25sb2FkIGF0dHJpYnV0ZVxuICAgICAgICBjb25zdCB1cmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnaHJlZicsIHVybCk7XG4gICAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsIGZpbGVuYW1lKTtcbiAgICAgICAgbGluay5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XG4gICAgICAgIGxpbmsuY2xpY2soKTtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIl19
@@ -61,4 +61,4 @@ export function getColorContrast(color, bw) {
61
61
  }
62
62
  return rgbArrayToHex(rgb.map(v => 255 - v));
63
63
  }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JzLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvZ3JhcGgvY29sb3JzLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxRQUFRLENBQUMsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTO0lBQ3RELE9BQU8sR0FBRyxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pFLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEdBQWE7SUFDekMsT0FBTyxHQUFHLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEYsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsR0FBVztJQUN2QyxNQUFNLE1BQU0sR0FBRywyQ0FBMkMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckUsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ2QsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDdkIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDdkIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7S0FDeEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ1gsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQUMsR0FBVztJQUNsQyxNQUFNLE1BQU0sR0FBRywyQ0FBMkMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckUsT0FBTyxNQUFN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b3ROaWx9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5cbmV4cG9ydCBmdW5jdGlvbiByZ2JUb0hleChyOiBudW1iZXIsIGc6IG51bWJlciwgYjogbnVtYmVyKTogc3RyaW5nIHtcbiAgcmV0dXJuICcjJyArIGNvbXBvbmVudFRvSGV4KHIpICsgY29tcG9uZW50VG9IZXgoZykgKyBjb21wb25lbnRUb0hleChiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJnYkFycmF5VG9IZXgocmdiOiBudW1iZXJbXSk6IHN0cmluZyB7XG4gIHJldHVybiAnIycgKyBjb21wb25lbnRUb0hleChyZ2JbMF0pICsgY29tcG9uZW50VG9IZXgocmdiWzFdKSArIGNvbXBvbmVudFRvSGV4KHJnYlsyXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoZXhUb1JnYkFycmF5KGhleDogc3RyaW5nKTogbnVtYmVyW10ge1xuICBjb25zdCByZXN1bHQgPSAvXiM/KFthLWZcXGRdezJ9KShbYS1mXFxkXXsyfSkoW2EtZlxcZF17Mn0pJC9pLmV4ZWMoaGV4KTtcbiAgcmV0dXJuIHJlc3VsdCA/IFtcbiAgICBwYXJzZUludChyZXN1bHRbMV0sIDE2KSxcbiAgICBwYXJzZUludChyZXN1bHRbMl0sIDE2KSxcbiAgICBwYXJzZUludChyZXN1bHRbM10sIDE2KVxuICBdIDogbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhleFRvUmdiKGhleDogc3RyaW5nKToge3I6IG51bWJlcjsgZzogbnVtYmVyOyBiOiBudW1iZXJ9IHtcbiAgY29uc3QgcmVzdWx0ID0gL14jPyhbYS1mXFxkXXsyfSkoW2EtZlxcZF17Mn0pKFthLWZcXGRdezJ9KSQvaS5leGVjKGhleCk7XG4gIHJldHVybiByZXN1bHQgPyB7XG4gICAgcjogcGFyc2VJbnQocmVzdWx0WzFdLCAxNiksXG4gICAgZzogcGFyc2VJbnQocmVzdWx0WzJdLCAxNiksXG4gICAgYjogcGFyc2VJbnQocmVzdWx0WzNdLCAxNilcbiAgfSA6IG51bGw7XG59XG5cbmZ1bmN0aW9uIGNvbXBvbmVudFRvSGV4KGM6IG51bWJlcik6IHN0cmluZyB7XG4gIGNvbnN0IGhleCA9IGMudG9TdHJpbmcoMTYpO1xuICByZXR1cm4gaGV4Lmxlbmd0aCA9PT0gMSA/ICgnMCcgKyBoZXgpIDogaGV4O1xufVxuXG4vLyBTZWUgbWl4IGluIGZpbGUgaW9uaWMuZnVuY3Rpb25zLmNvbG9yLnNjc3NcbmV4cG9ydCBmdW5jdGlvbiBtaXhIZXgoY29sb3IxOiBzdHJpbmcsIGNvbG9yMjogc3RyaW5nLCB3ZWlnaHQ/OiBudW1iZXIpIHtcblxuICB3ZWlnaHQgPSB3ZWlnaHQgPyAod2VpZ2h0IC8gMTAwKSA6IDAuNTtcblxuICBjb25zdCByZ2IxID0gaGV4VG9SZ2JBcnJheShjb2xvcjEpO1xuICBpZiAoIXJnYjEpIHRocm93IEVycm9yKCdJbnZhbGlkIGhleCBjb2xvcjonICsgY29sb3IxKTtcblxuICBjb25zdCByZ2IyID0gaGV4VG9SZ2JBcnJheShjb2xvcjIpO1xuICBpZiAoIXJnYjIpIHRocm93IEVycm9yKCdJbnZhbGlkIGhleCBjb2xvcjonICsgY29sb3IyKTtcblxuICBjb25zdCByZ2JBdmVyYWdlID0gcmdiMS5tYXAoKHYsIGluZGV4KSA9PiBNYXRoLnJvdW5kKCh2ICogd2VpZ2h0ICsgcmdiMltpbmRleF0gKiAoMSAtIHdlaWdodCkpKSApO1xuICByZXR1cm4gcmdiQXJyYXlUb0hleChyZ2JBdmVyYWdlKTtcbn1cblxuLy8gMTIlIGRhcmtlciB2ZXJzaW9uIG9mIHRoZSBiYXNlIGNvbG9yIChtaXggd2l0aCBibGFjaylcbmV4cG9ydCBmdW5jdGlvbiBnZXRDb2xvclNoYWRlKGNvbG9yOiBzdHJpbmcpIHtcbiAgcmV0dXJuIG1peEhleCgnIzAwMDAwMCcsIGNvbG9yLCAxMik7XG59XG5cbi8vIDEwJSBsaWdodGVyIHZlcnNpb24gb2YgdGhlIGJhc2UgY29sb3IgKG1peCB3aXRoIHdoaXRlKVxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbG9yVGludChjb2xvcjogc3RyaW5nKSB7XG4gIHJldHVybiBtaXhIZXgoJyNmZmZmZmYnLCBjb2xvciwgMTApO1xufVxuXG4vKipcbiAqXG4gKiBAcGFyYW0gY29sb3JcbiAqIEBwYXJhbSBidyBpZiB0cnVlLCB3aWxsIHVzZSBibGFjayBvciB3aGl0ZSBjb2xvciwgaW5zdGVhZCBvZiB0aGUgZXhhY3QgaW52ZXJzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29sb3JDb250cmFzdChjb2xvcjogc3RyaW5nLCBidz86IGJvb2xlYW4pIHtcbiAgY29uc3QgcmdiID0gaGV4VG9SZ2JBcnJheShjb2xvcik7XG4gIGlmICghcmdiKSB0aHJvdyBFcnJvcignSW52YWxpZCBoZXggY29sb3I6JyArIGNvbG9yKTtcblxuICBpZiAoYncgPT09IHRydWUpIHtcbiAgICAvLyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8zOTQzMDIzLzExMjczMVxuICAgIHJldHVybiAocmdiWzBdICogMC4yOTkgKyByZ2JbMV0gKiAwLjU4NyArIHJnYlsyXSAqIDAuMTE0KSA+IDE4NlxuICAgICAgPyAnIzAwMDAwMCdcbiAgICAgIDogJyNGRkZGRkYnO1xuICB9XG5cbiAgcmV0dXJuIHJnYkFycmF5VG9IZXgocmdiLm1hcCh2ID0+IDI1NSAtIHYpKTtcbn1cbiJdfQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JzLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvZ3JhcGgvY29sb3JzLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxRQUFRLENBQUMsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTO0lBQ3RELE9BQU8sR0FBRyxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pFLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEdBQWE7SUFDekMsT0FBTyxHQUFHLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEYsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsR0FBVztJQUN2QyxNQUFNLE1BQU0sR0FBRywyQ0FBMkMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckUsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ2QsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDdkIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDdkIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7S0FDeEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ1gsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQUMsR0FBVztJQUNsQyxNQUFNLE1BQU0sR0FBRywyQ0FBMkMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckUsT0FBTyxNQUFN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YlRvSGV4KHI6IG51bWJlciwgZzogbnVtYmVyLCBiOiBudW1iZXIpOiBzdHJpbmcge1xuICByZXR1cm4gJyMnICsgY29tcG9uZW50VG9IZXgocikgKyBjb21wb25lbnRUb0hleChnKSArIGNvbXBvbmVudFRvSGV4KGIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmdiQXJyYXlUb0hleChyZ2I6IG51bWJlcltdKTogc3RyaW5nIHtcbiAgcmV0dXJuICcjJyArIGNvbXBvbmVudFRvSGV4KHJnYlswXSkgKyBjb21wb25lbnRUb0hleChyZ2JbMV0pICsgY29tcG9uZW50VG9IZXgocmdiWzJdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhleFRvUmdiQXJyYXkoaGV4OiBzdHJpbmcpOiBudW1iZXJbXSB7XG4gIGNvbnN0IHJlc3VsdCA9IC9eIz8oW2EtZlxcZF17Mn0pKFthLWZcXGRdezJ9KShbYS1mXFxkXXsyfSkkL2kuZXhlYyhoZXgpO1xuICByZXR1cm4gcmVzdWx0ID8gW1xuICAgIHBhcnNlSW50KHJlc3VsdFsxXSwgMTYpLFxuICAgIHBhcnNlSW50KHJlc3VsdFsyXSwgMTYpLFxuICAgIHBhcnNlSW50KHJlc3VsdFszXSwgMTYpXG4gIF0gOiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGV4VG9SZ2IoaGV4OiBzdHJpbmcpOiB7cjogbnVtYmVyOyBnOiBudW1iZXI7IGI6IG51bWJlcn0ge1xuICBjb25zdCByZXN1bHQgPSAvXiM/KFthLWZcXGRdezJ9KShbYS1mXFxkXXsyfSkoW2EtZlxcZF17Mn0pJC9pLmV4ZWMoaGV4KTtcbiAgcmV0dXJuIHJlc3VsdCA/IHtcbiAgICByOiBwYXJzZUludChyZXN1bHRbMV0sIDE2KSxcbiAgICBnOiBwYXJzZUludChyZXN1bHRbMl0sIDE2KSxcbiAgICBiOiBwYXJzZUludChyZXN1bHRbM10sIDE2KVxuICB9IDogbnVsbDtcbn1cblxuZnVuY3Rpb24gY29tcG9uZW50VG9IZXgoYzogbnVtYmVyKTogc3RyaW5nIHtcbiAgY29uc3QgaGV4ID0gYy50b1N0cmluZygxNik7XG4gIHJldHVybiBoZXgubGVuZ3RoID09PSAxID8gKCcwJyArIGhleCkgOiBoZXg7XG59XG5cbi8vIFNlZSBtaXggaW4gZmlsZSBpb25pYy5mdW5jdGlvbnMuY29sb3Iuc2Nzc1xuZXhwb3J0IGZ1bmN0aW9uIG1peEhleChjb2xvcjE6IHN0cmluZywgY29sb3IyOiBzdHJpbmcsIHdlaWdodD86IG51bWJlcikge1xuXG4gIHdlaWdodCA9IHdlaWdodCA/ICh3ZWlnaHQgLyAxMDApIDogMC41O1xuXG4gIGNvbnN0IHJnYjEgPSBoZXhUb1JnYkFycmF5KGNvbG9yMSk7XG4gIGlmICghcmdiMSkgdGhyb3cgRXJyb3IoJ0ludmFsaWQgaGV4IGNvbG9yOicgKyBjb2xvcjEpO1xuXG4gIGNvbnN0IHJnYjIgPSBoZXhUb1JnYkFycmF5KGNvbG9yMik7XG4gIGlmICghcmdiMikgdGhyb3cgRXJyb3IoJ0ludmFsaWQgaGV4IGNvbG9yOicgKyBjb2xvcjIpO1xuXG4gIGNvbnN0IHJnYkF2ZXJhZ2UgPSByZ2IxLm1hcCgodiwgaW5kZXgpID0+IE1hdGgucm91bmQoKHYgKiB3ZWlnaHQgKyByZ2IyW2luZGV4XSAqICgxIC0gd2VpZ2h0KSkpICk7XG4gIHJldHVybiByZ2JBcnJheVRvSGV4KHJnYkF2ZXJhZ2UpO1xufVxuXG4vLyAxMiUgZGFya2VyIHZlcnNpb24gb2YgdGhlIGJhc2UgY29sb3IgKG1peCB3aXRoIGJsYWNrKVxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbG9yU2hhZGUoY29sb3I6IHN0cmluZykge1xuICByZXR1cm4gbWl4SGV4KCcjMDAwMDAwJywgY29sb3IsIDEyKTtcbn1cblxuLy8gMTAlIGxpZ2h0ZXIgdmVyc2lvbiBvZiB0aGUgYmFzZSBjb2xvciAobWl4IHdpdGggd2hpdGUpXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29sb3JUaW50KGNvbG9yOiBzdHJpbmcpIHtcbiAgcmV0dXJuIG1peEhleCgnI2ZmZmZmZicsIGNvbG9yLCAxMCk7XG59XG5cbi8qKlxuICpcbiAqIEBwYXJhbSBjb2xvclxuICogQHBhcmFtIGJ3IGlmIHRydWUsIHdpbGwgdXNlIGJsYWNrIG9yIHdoaXRlIGNvbG9yLCBpbnN0ZWFkIG9mIHRoZSBleGFjdCBpbnZlcnNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb2xvckNvbnRyYXN0KGNvbG9yOiBzdHJpbmcsIGJ3PzogYm9vbGVhbikge1xuICBjb25zdCByZ2IgPSBoZXhUb1JnYkFycmF5KGNvbG9yKTtcbiAgaWYgKCFyZ2IpIHRocm93IEVycm9yKCdJbnZhbGlkIGhleCBjb2xvcjonICsgY29sb3IpO1xuXG4gIGlmIChidyA9PT0gdHJ1ZSkge1xuICAgIC8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzM5NDMwMjMvMTEyNzMxXG4gICAgcmV0dXJuIChyZ2JbMF0gKiAwLjI5OSArIHJnYlsxXSAqIDAuNTg3ICsgcmdiWzJdICogMC4xMTQpID4gMTg2XG4gICAgICA/ICcjMDAwMDAwJ1xuICAgICAgOiAnI0ZGRkZGRic7XG4gIH1cblxuICByZXR1cm4gcmdiQXJyYXlUb0hleChyZ2IubWFwKHYgPT4gMjU1IC0gdikpO1xufVxuIl19
@@ -60,7 +60,7 @@ export class PropertyFormatPipe {
60
60
  if ((_a = definition.autocomplete) === null || _a === void 0 ? void 0 : _a.displayWith) {
61
61
  return definition.autocomplete.displayWith(value);
62
62
  }
63
- return joinPropertiesPath(obj, ((_b = definition.autocomplete) === null || _b === void 0 ? void 0 : _b.attributes) || ['label', 'name']) || undefined;
63
+ return joinPropertiesPath(value, ((_b = definition.autocomplete) === null || _b === void 0 ? void 0 : _b.attributes) || ['label', 'name']) || undefined;
64
64
  }
65
65
  case 'boolean':
66
66
  return (obj === 1 || obj === true || obj === 'true') ? this.i18nYes : this.i18nNo;
@@ -95,4 +95,4 @@ PropertyFormatPipe.ctorParameters = () => [
95
95
  { type: DateFormatPipe },
96
96
  { type: TranslateService }
97
97
  ];
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkucGlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9waXBlcy9wcm9wZXJ0eS5waXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFhLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFDLGlCQUFpQixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDcEYsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRWxELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDOzs7O0FBTXJELE1BQU0sT0FBTyxlQUFlO0lBRXhCLFNBQVMsQ0FBQyxHQUFRLEVBQUUsSUFBaUQ7UUFDbkUsT0FBTyxpQkFBaUIsQ0FBQyxHQUFHO1FBQzFCLE9BQU87UUFDUCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNwRCxnQkFBZ0I7UUFDaEIsSUFBSSxJQUFLLElBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxDQUFDOzs7WUFYSixJQUFJLFNBQUM7Z0JBQ0YsSUFBSSxFQUFFLGFBQWE7YUFDdEI7O0FBaUJELE1BQU0sT0FBTyxrQkFBa0I7SUFNN0IsWUFBb0IsVUFBMEIsRUFBVSxTQUEyQjtRQUEvRCxlQUFVLEdBQVYsVUFBVSxDQUFnQjtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBRW5GLENBQUM7SUFFRCxXQUFXOztRQUNULE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsV0FBVyxHQUFHO0lBQ3BDLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBUSxFQUFFLGVBQTJDOztRQUM3RCxJQUFJLENBQUMsR0FBRztZQUFF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OztZQXZFRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLGdCQUFnQjthQUN2QjtZQUNBLFVBQVUsU0FBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUM7OztZQXZCeEIsY0FBYztZQUVkLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgT25EZXN0cm95LCBQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Z2V0UHJvcGVydHlCeVBhdGgsIGlzTmlsLCBpc05vdE5pbCwgam9pblByb3BlcnRpZXNQYXRofSBmcm9tICcuLi9mdW5jdGlvbnMnO1xuaW1wb3J0IHtEYXRlRm9ybWF0UGlwZX0gZnJvbSAnLi9kYXRlLWZvcm1hdC5waXBlJztcbmltcG9ydCB7Rm9ybUZpZWxkRGVmaW5pdGlvbn0gZnJvbSAnLi4vZm9ybS9maWVsZC5tb2RlbCc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ3Byb3BlcnR5R2V0J1xufSlcbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eUdldFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIHRyYW5zZm9ybShvYmo6IGFueSwgYXJnczogc3RyaW5nIHwge2tleTogc3RyaW5nOyBkZWZhdWx0VmFsdWU/OiBhbnkgfSApOiBhbnkge1xuICAgICAgcmV0dXJuIGdldFByb3BlcnR5QnlQYXRoKG9iaixcbiAgICAgICAgLy8gUGF0aFxuICAgICAgICBhcmdzICYmICh0eXBlb2YgYXJncyA9PT0gJ3N0cmluZycgPyBhcmdzIDogYXJncy5rZXkpLFxuICAgICAgICAvLyBEZWZhdWx0IHZhbHVlXG4gICAgICAgIGFyZ3MgJiYgKGFyZ3MgYXMgYW55KS5kZWZhdWx0VmFsdWUpO1xuICAgIH1cbn1cblxuXG5AUGlwZSh7XG4gIG5hbWU6ICdwcm9wZXJ0eUZvcm1hdCdcbn0pXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eUZvcm1hdFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9pMThuWWVzOiBzdHJpbmc7XG4gIHByaXZhdGUgX2kxOG5Obzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0ZUZvcm1hdDogRGF0ZUZvcm1hdFBpcGUsIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG5cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHRyYW5zZm9ybShvYmo6IGFueSwga2V5T3JEZWZpbml0aW9uOiBzdHJpbmd8Rm9ybUZpZWxkRGVmaW5pdGlvbik6IHN0cmluZyB8IFByb21pc2U8c3RyaW5nPiB7XG4gICAgaWYgKCFvYmopIHJldHVybiAnJztcbiAgICBjb25zdCBkZWZpbml0aW9uID0ga2V5T3JEZWZpbml0aW9uICYmICh0eXBlb2Yga2V5T3JEZWZpbml0aW9uID09PSAnb2JqZWN0JykgJiYga2V5T3JEZWZpbml0aW9uO1xuICAgIGNvbnN0IGtleSA9IGRlZmluaXRpb24/LmtleSB8fCBrZXlPckRlZmluaXRpb24gYXMgc3RyaW5nO1xuICAgIGlmICgha2V5KSB7XG4gICAgICAvLyBTaG91bGQgbmV2ZXIgb2NjdXJcbiAgICAgIGNvbnNvbGUud2FybignSW52YWxpZCB1c2Ugb2YgcGlwZSBcXCdmb3JtYXRQcm9wZXJ0eVxcJzogbWlzc2luZyBrZXkgb3IgZGVmaW5pdGlvbicpO1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBjb25zdCB2YWx1ZSA9IG9ialtrZXldO1xuICAgIGlmIChpc05pbCh2YWx1ZSkpIHJldHVybiB2YWx1ZTtcbiAgICBjb25zdCB0eXBlID0gZGVmaW5pdGlvbj8udHlwZSB8fCB0eXBlb2YgdmFsdWU7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdkYXRlJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZUZvcm1hdC50cmFuc2Zvcm0odmFsdWUpIGFzIHN0cmluZztcbiAgICAgIGNhc2UgJ2RhdGVUaW1lJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZUZvcm1hdC50cmFuc2Zvcm0odmFsdWUsIHt0aW1lOiB0cnVlfSkgYXMgc3RyaW5nO1xuICAgICAgY2FzZSAnZW51bSc6XG4gICAgICB7XG4gICAgICAgIC8vIERFQlVHXG4gICAgICAgIC8vIGNvbnNvbGUuZGVidWcoJ2Zvcm1hdFByb3BlcnR5IGJ5IGRlZmluaXRpb24gKHR5cGU9J2VudW0nLCBrZXk9JyArZGVmaW5pdGlvbi5rZXkrICcpOicsIHZhbHVlICk7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSAoZGVmaW5pdGlvbi52YWx1ZXMgYXMgYW55W10gfHwgW3ZhbHVlXSkuZmluZChpdGVtID0+IChpc05vdE5pbChpdGVtLmtleSkgPyBpdGVtLmtleSA6IGl0ZW0pID09PSB2YWx1ZSk7XG4gICAgICAgIHJldHVybiBpdGVtLnZhbHVlIHx8IGl0ZW07XG4gICAgICB9XG4gICAgICBjYXNlICdlbnRpdHknOlxuICAgICAge1xuICAgICAgICBpZiAoZGVmaW5pdGlvbi5hdXRvY29tcGxldGU/LmRpc3BsYXlXaXRoKSB7XG4gICAgICAgICAgcmV0dXJuIGRlZmluaXRpb24uYXV0b2NvbXBsZXRlLmRpc3BsYXlXaXRoKHZhbHVlKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBqb2luUHJvcGVydGllc1BhdGgob2JqLCBkZWZpbml0aW9uLmF1dG9jb21wbGV0ZT8uYXR0cmlidXRlcyB8fCBbJ2xhYmVsJywgJ25hbWUnXSkgfHwgdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICAgIHJldHVybiAob2JqID09PSAxIHx8IG9iaiA9PT0gdHJ1ZSB8fCBvYmogPT09ICd0cnVlJykgPyB0aGlzLmkxOG5ZZXMgOiB0aGlzLmkxOG5ObztcbiAgICAgIGNhc2UgJ2ludGVnZXInOlxuICAgICAgY2FzZSAnZG91YmxlJzpcbiAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGkxOG5ZZXMoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuX2kxOG5ZZXMpIHtcbiAgICAgIHRoaXMuX2kxOG5ZZXMgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdDT01NT04uWUVTJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9pMThuWWVzO1xuICB9XG5cbiAgZ2V0IGkxOG5ObygpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5faTE4bk5vKSB7XG4gICAgICB0aGlzLl9pMThuTm8gPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdDT01NT04uTk8nKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2kxOG5ObztcbiAgfVxufVxuIl19
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkucGlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9waXBlcy9wcm9wZXJ0eS5waXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFhLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFDLGlCQUFpQixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDcEYsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRWxELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDOzs7O0FBTXJELE1BQU0sT0FBTyxlQUFlO0lBRXhCLFNBQVMsQ0FBQyxHQUFRLEVBQUUsSUFBaUQ7UUFDbkUsT0FBTyxpQkFBaUIsQ0FBQyxHQUFHO1FBQzFCLE9BQU87UUFDUCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNwRCxnQkFBZ0I7UUFDaEIsSUFBSSxJQUFLLElBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxDQUFDOzs7WUFYSixJQUFJLFNBQUM7Z0JBQ0YsSUFBSSxFQUFFLGFBQWE7YUFDdEI7O0FBaUJELE1BQU0sT0FBTyxrQkFBa0I7SUFNN0IsWUFBb0IsVUFBMEIsRUFBVSxTQUEyQjtRQUEvRCxlQUFVLEdBQVYsVUFBVSxDQUFnQjtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBRW5GLENBQUM7SUFFRCxXQUFXOztRQUNULE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsV0FBVyxHQUFHO0lBQ3BDLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBUSxFQUFFLGVBQTJDOztRQUM3RCxJQUFJLENBQUMsR0FBRztZQUFF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OztZQXZFRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLGdCQUFnQjthQUN2QjtZQUNBLFVBQVUsU0FBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUM7OztZQXZCeEIsY0FBYztZQUVkLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgT25EZXN0cm95LCBQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Z2V0UHJvcGVydHlCeVBhdGgsIGlzTmlsLCBpc05vdE5pbCwgam9pblByb3BlcnRpZXNQYXRofSBmcm9tICcuLi9mdW5jdGlvbnMnO1xuaW1wb3J0IHtEYXRlRm9ybWF0UGlwZX0gZnJvbSAnLi9kYXRlLWZvcm1hdC5waXBlJztcbmltcG9ydCB7Rm9ybUZpZWxkRGVmaW5pdGlvbn0gZnJvbSAnLi4vZm9ybS9maWVsZC5tb2RlbCc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ3Byb3BlcnR5R2V0J1xufSlcbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eUdldFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIHRyYW5zZm9ybShvYmo6IGFueSwgYXJnczogc3RyaW5nIHwge2tleTogc3RyaW5nOyBkZWZhdWx0VmFsdWU/OiBhbnkgfSApOiBhbnkge1xuICAgICAgcmV0dXJuIGdldFByb3BlcnR5QnlQYXRoKG9iaixcbiAgICAgICAgLy8gUGF0aFxuICAgICAgICBhcmdzICYmICh0eXBlb2YgYXJncyA9PT0gJ3N0cmluZycgPyBhcmdzIDogYXJncy5rZXkpLFxuICAgICAgICAvLyBEZWZhdWx0IHZhbHVlXG4gICAgICAgIGFyZ3MgJiYgKGFyZ3MgYXMgYW55KS5kZWZhdWx0VmFsdWUpO1xuICAgIH1cbn1cblxuXG5AUGlwZSh7XG4gIG5hbWU6ICdwcm9wZXJ0eUZvcm1hdCdcbn0pXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eUZvcm1hdFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9pMThuWWVzOiBzdHJpbmc7XG4gIHByaXZhdGUgX2kxOG5Obzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0ZUZvcm1hdDogRGF0ZUZvcm1hdFBpcGUsIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG5cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHRyYW5zZm9ybShvYmo6IGFueSwga2V5T3JEZWZpbml0aW9uOiBzdHJpbmd8Rm9ybUZpZWxkRGVmaW5pdGlvbik6IHN0cmluZyB8IFByb21pc2U8c3RyaW5nPiB7XG4gICAgaWYgKCFvYmopIHJldHVybiAnJztcbiAgICBjb25zdCBkZWZpbml0aW9uID0ga2V5T3JEZWZpbml0aW9uICYmICh0eXBlb2Yga2V5T3JEZWZpbml0aW9uID09PSAnb2JqZWN0JykgJiYga2V5T3JEZWZpbml0aW9uO1xuICAgIGNvbnN0IGtleSA9IGRlZmluaXRpb24/LmtleSB8fCBrZXlPckRlZmluaXRpb24gYXMgc3RyaW5nO1xuICAgIGlmICgha2V5KSB7XG4gICAgICAvLyBTaG91bGQgbmV2ZXIgb2NjdXJcbiAgICAgIGNvbnNvbGUud2FybignSW52YWxpZCB1c2Ugb2YgcGlwZSBcXCdmb3JtYXRQcm9wZXJ0eVxcJzogbWlzc2luZyBrZXkgb3IgZGVmaW5pdGlvbicpO1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBjb25zdCB2YWx1ZSA9IG9ialtrZXldO1xuICAgIGlmIChpc05pbCh2YWx1ZSkpIHJldHVybiB2YWx1ZTtcbiAgICBjb25zdCB0eXBlID0gZGVmaW5pdGlvbj8udHlwZSB8fCB0eXBlb2YgdmFsdWU7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdkYXRlJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZUZvcm1hdC50cmFuc2Zvcm0odmFsdWUpIGFzIHN0cmluZztcbiAgICAgIGNhc2UgJ2RhdGVUaW1lJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZUZvcm1hdC50cmFuc2Zvcm0odmFsdWUsIHt0aW1lOiB0cnVlfSkgYXMgc3RyaW5nO1xuICAgICAgY2FzZSAnZW51bSc6XG4gICAgICB7XG4gICAgICAgIC8vIERFQlVHXG4gICAgICAgIC8vIGNvbnNvbGUuZGVidWcoJ2Zvcm1hdFByb3BlcnR5IGJ5IGRlZmluaXRpb24gKHR5cGU9J2VudW0nLCBrZXk9JyArZGVmaW5pdGlvbi5rZXkrICcpOicsIHZhbHVlICk7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSAoZGVmaW5pdGlvbi52YWx1ZXMgYXMgYW55W10gfHwgW3ZhbHVlXSkuZmluZChpdGVtID0+IChpc05vdE5pbChpdGVtLmtleSkgPyBpdGVtLmtleSA6IGl0ZW0pID09PSB2YWx1ZSk7XG4gICAgICAgIHJldHVybiBpdGVtLnZhbHVlIHx8IGl0ZW07XG4gICAgICB9XG4gICAgICBjYXNlICdlbnRpdHknOlxuICAgICAge1xuICAgICAgICBpZiAoZGVmaW5pdGlvbi5hdXRvY29tcGxldGU/LmRpc3BsYXlXaXRoKSB7XG4gICAgICAgICAgcmV0dXJuIGRlZmluaXRpb24uYXV0b2NvbXBsZXRlLmRpc3BsYXlXaXRoKHZhbHVlKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBqb2luUHJvcGVydGllc1BhdGgodmFsdWUsIGRlZmluaXRpb24uYXV0b2NvbXBsZXRlPy5hdHRyaWJ1dGVzIHx8IFsnbGFiZWwnLCAnbmFtZSddKSB8fCB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICBjYXNlICdib29sZWFuJzpcbiAgICAgICAgcmV0dXJuIChvYmogPT09IDEgfHwgb2JqID09PSB0cnVlIHx8IG9iaiA9PT0gJ3RydWUnKSA/IHRoaXMuaTE4blllcyA6IHRoaXMuaTE4bk5vO1xuICAgICAgY2FzZSAnaW50ZWdlcic6XG4gICAgICBjYXNlICdkb3VibGUnOlxuICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBnZXQgaTE4blllcygpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5faTE4blllcykge1xuICAgICAgdGhpcy5faTE4blllcyA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0NPTU1PTi5ZRVMnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2kxOG5ZZXM7XG4gIH1cblxuICBnZXQgaTE4bk5vKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLl9pMThuTm8pIHtcbiAgICAgIHRoaXMuX2kxOG5ObyA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0NPTU1PTi5OTycpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5faTE4bk5vO1xuICB9XG59XG4iXX0=
@@ -4349,7 +4349,7 @@ class PropertyFormatPipe {
4349
4349
  if ((_a = definition.autocomplete) === null || _a === void 0 ? void 0 : _a.displayWith) {
4350
4350
  return definition.autocomplete.displayWith(value);
4351
4351
  }
4352
- return joinPropertiesPath(obj, ((_b = definition.autocomplete) === null || _b === void 0 ? void 0 : _b.attributes) || ['label', 'name']) || undefined;
4352
+ return joinPropertiesPath(value, ((_b = definition.autocomplete) === null || _b === void 0 ? void 0 : _b.attributes) || ['label', 'name']) || undefined;
4353
4353
  }
4354
4354
  case 'boolean':
4355
4355
  return (obj === 1 || obj === true || obj === 'true') ? this.i18nYes : this.i18nNo;
@@ -13001,6 +13001,7 @@ let ReferentialRef = ReferentialRef_1 = class ReferentialRef extends Entity {
13001
13001
  this.entityName = source.entityName || this.entityName;
13002
13002
  this.label = source.label;
13003
13003
  this.name = source.name;
13004
+ this.description = source.description;
13004
13005
  this.statusId = source.statusId;
13005
13006
  this.levelId = source.levelId;
13006
13007
  }
@@ -16066,6 +16067,34 @@ class FilesUtils {
16066
16067
  reader.readAsText(file, encoding);
16067
16068
  return $progress.asObservable();
16068
16069
  }
16070
+ static writeTextToFile(content, opts) {
16071
+ if (isNilOrBlank(content))
16072
+ return; // Skip if empty
16073
+ const filename = (opts === null || opts === void 0 ? void 0 : opts.filename) || 'export.txt';
16074
+ const charset = ((opts === null || opts === void 0 ? void 0 : opts.encoding) || 'utf-8').toLowerCase();
16075
+ let type = (opts === null || opts === void 0 ? void 0 : opts.type) || 'text/plain';
16076
+ const blob = new Blob((charset === 'utf-8')
16077
+ // Add UTF-8 BOM character
16078
+ ? [FilesUtils.UTF8_BOM_CHAR, content]
16079
+ // Non UTF-8 charset
16080
+ : [content], { type: `${type};charset=${charset};` });
16081
+ if (navigator.msSaveBlob) { // IE 10+
16082
+ navigator.msSaveBlob(blob, filename);
16083
+ }
16084
+ else {
16085
+ const link = document.createElement('a');
16086
+ if (link.download !== undefined) {
16087
+ // Browsers that support HTML5 download attribute
16088
+ const url = URL.createObjectURL(blob);
16089
+ link.setAttribute('href', url);
16090
+ link.setAttribute('download', filename);
16091
+ link.style.visibility = 'hidden';
16092
+ document.body.appendChild(link);
16093
+ link.click();
16094
+ document.body.removeChild(link);
16095
+ }
16096
+ }
16097
+ }
16069
16098
  }
16070
16099
  FilesUtils.UTF8_BOM_CHAR = new Uint8Array([0xEF, 0xBB, 0xBF]); // UTF-8 BOM
16071
16100
 
@@ -18192,13 +18221,12 @@ class CsvUtils {
18192
18221
  static exportToFile(rows, opts) {
18193
18222
  if (!rows || !rows.length)
18194
18223
  return; // Skip if empty
18195
- const filename = (opts === null || opts === void 0 ? void 0 : opts.filename) || 'export.csv';
18196
- const charset = ((opts === null || opts === void 0 ? void 0 : opts.encoding) || 'utf-8').toLowerCase();
18224
+ // Create text content
18197
18225
  const separator = (opts === null || opts === void 0 ? void 0 : opts.separator) || ',';
18198
18226
  const protectCellRegexp = new RegExp("/(\"|" + separator + "|\n)/g");
18199
18227
  const keys = Object.keys(rows[0]);
18200
18228
  const headers = (opts === null || opts === void 0 ? void 0 : opts.headers) || keys;
18201
- const csvContent =
18229
+ const textContent =
18202
18230
  // Header row
18203
18231
  headers.join(separator) + '\n' +
18204
18232
  // Data rows
@@ -18214,27 +18242,8 @@ class CsvUtils {
18214
18242
  return cellStr;
18215
18243
  }).join(separator);
18216
18244
  }).join('\n');
18217
- const blob = new Blob((charset === 'utf-8')
18218
- // Add UTF-8 BOM character
18219
- ? [FilesUtils.UTF8_BOM_CHAR, csvContent]
18220
- // Non UTF-8 charset
18221
- : [csvContent], { type: `text/csv;charset=${charset};` });
18222
- if (navigator.msSaveBlob) { // IE 10+
18223
- navigator.msSaveBlob(blob, filename);
18224
- }
18225
- else {
18226
- const link = document.createElement('a');
18227
- if (link.download !== undefined) {
18228
- // Browsers that support HTML5 download attribute
18229
- const url = URL.createObjectURL(blob);
18230
- link.setAttribute('href', url);
18231
- link.setAttribute('download', filename);
18232
- link.style.visibility = 'hidden';
18233
- document.body.appendChild(link);
18234
- link.click();
18235
- document.body.removeChild(link);
18236
- }
18237
- }
18245
+ // Write to file
18246
+ FilesUtils.writeTextToFile(textContent, Object.assign({ type: 'text/csv', filename: 'export.csv' }, opts));
18238
18247
  }
18239
18248
  static parseFile(file, opts) {
18240
18249
  return FilesUtils.readAsText(file, opts === null || opts === void 0 ? void 0 : opts.encoding)