@c8y/ngx-components 1017.0.261 → 1017.0.263

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.
@@ -52,9 +52,8 @@ export class AddGroupComponent {
52
52
  this.subscription = this.onCancel.subscribe(() => this.resetStepper());
53
53
  this.canCreateGroup =
54
54
  this.subAssetsService.canCreateGroup() ||
55
- (await this.permissionsService.canEdit([], { id: this.currentGroupId }, {
56
- skipOwnerCheck: true,
57
- skipRolesCheck: true
55
+ (await this.permissionsService.canEdit(['ROLE_INVENTORY_ADMIN', 'ROLE_INVENTORY_CREATE'], {
56
+ id: this.currentGroupId
58
57
  }));
59
58
  this.canAssignDevice = await this.subAssetsService.canAssignDevice({
60
59
  id: this.currentGroupId
@@ -128,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
128
127
  type: HostListener,
129
128
  args: ['document:keydown.escape', ['$event']]
130
129
  }] } });
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3N1Yi1hc3NldHMvYWRkLWdyb3VwL2FkZC1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zdWItYXNzZXRzL2FkZC1ncm91cC9hZGQtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFjLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7OztBQU10RCxNQUFNLE9BQU8saUJBQWlCO0lBMkI1QixZQUNVLEVBQWUsRUFDZixlQUFnQyxFQUNoQyxLQUFtQixFQUNuQixnQkFBa0MsRUFDbEMsa0JBQStCO1FBSi9CLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUNuQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBYTtRQTlCaEMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDakMsOEJBQXlCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDN0UsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFPN0Msa0JBQWEsR0FBWSxLQUFL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QyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQTRCYSxjQUFjO3NCQUFqRSxZQUFZO3VCQUFDLHdCQUF3QixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVNHLGVBQWU7c0JBQW5FLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSU1hbmFnZWRPYmplY3QgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UsIEM4eVN0ZXBwZXIsIFBhZ2luYXRpb24sIFBlcm1pc3Npb25zLCBnZXR0ZXh0IH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN1YkFzc2V0c1NlcnZpY2UgfSBmcm9tICcuLi9zdWItYXNzZXRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWRkR3JvdXBTZXJ2aWNlIH0gZnJvbSAnLi9hZGQtZ3JvdXAuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1hZGQtZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLWdyb3VwLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBZGRHcm91cENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGN1cnJlbnRHcm91cElkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJlZnJlc2ggPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9uRGV2aWNlUXVlcnlTdHJpbmdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBvbkNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAVmlld0NoaWxkKEM4eVN0ZXBwZXIsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBzdGVwcGVyOiBDOHlTdGVwcGVyO1xuICBAVmlld0NoaWxkKCduYW1lUmVmJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIG5hbWVJbnB1dFJlZjogRWxlbWVudFJlZjtcbiAgZGV2aWNlUXVlcnlTdHJpbmdPdXRwdXQ6IHN0cmluZztcbiAgZm9ybUdyb3VwU3RlcE9uZTogRm9ybUdyb3VwO1xuICBwZW5kaW5nU3RhdHVzOiBib29sZWFuID0gZmFsc2U7XG4gIHBhZ2luYXRpb246IFBhZ2luYXRpb24gPSB7IHBhZ2VTaXplOiAyMCwgY3VycmVudFBhZ2U6IDEgfTtcbiAgc2VsZWN0ZWQ6IHN0cmluZ1tdID0gW107XG4gIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBjYW5DcmVhdGVHcm91cDogYm9vbGVhbiA9IGZhbHNlO1xuICBjYW5Bc3NpZ25EZXZpY2U6IGJvb2xlYW4gPSBmYWxzZTtcblxuICByZWFkb25seSBJVEVNU19TRUxFQ1RfTElNSVQ6IG51bWJlciA9IDE1O1xuICByZWFkb25seSBidG5MYWJlbHMgPSB7XG4gICAgbmV4dDogZ2V0dGV4dCgnTmV4dCcpLFxuICAgIGNhbmNlbDogZ2V0dGV4dCgnQ2FuY2VsJyksXG4gICAgY3JlYXRlOiBnZXR0ZXh0KCdDcmVhdGUnKVxuICB9O1xuXG4gIHByaXZhdGUgbmFtZUlucHV0OiBIVE1MSW5wdXRFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgYWRkR3JvdXBTZXJ2aWNlOiBBZGRHcm91cFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydDogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3ViQXNzZXRzU2VydmljZTogU3ViQXNzZXRzU2VydmljZSxcbiAgICBwcml2YXRlIHBlcm1pc3Npb25zU2VydmljZTogUGVybWlzc2lvbnNcbiAgKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZW50ZXInLCBbJyRldmVudCddKSBvbkVudGVyS2V5RG93bihfZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAvLyBPcmRlciBtYXR0ZXJzISBOZWVkcyB0byBiZSBwbGFjZWQgYmVmb3JlIHRoaXMuc3RlcHBlci5uZXh0XG4gICAgaWYgKCh0aGlzLmlzR3JvdXBEZXRhaWxzU3RlcCgpICYmICF0aGlzLmNhbkFzc2lnbkRldmljZSkgfHwgdGhpcy5pc0Fzc2lnbkRldmljZVN0ZXAoKSkge1xuICAgICAgdGhpcy5jcmVhdGVHcm91cCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnN0ZXBwZXIubmV4dCgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnLCBbJyRldmVudCddKSBvbkVzY2FwZUtleURvd24oX2V2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgdGhpcy5vbkNhbmNlbC5lbWl0KCk7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZvcm1Hcm91cFN0ZXBPbmUgPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG5hbWU6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBkZXNjcmlwdGlvbjogWycnXVxuICAgIH0pO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5vbkNhbmNlbC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZXNldFN0ZXBwZXIoKSk7XG4gICAgdGhpcy5jYW5DcmVhdGVHcm91cCA9XG4gICAgICB0aGlzLnN1YkFzc2V0c1NlcnZpY2UuY2FuQ3JlYXRlR3JvdXAoKSB8fFxuICAgICAgKGF3YWl0IHRoaXMucGVybWlzc2lvbnNTZXJ2aWNlLmNhbkVkaXQoXG4gICAgICAgIFtdLFxuICAgICAgICB7IGlkOiB0aGlzLmN1cnJlbnRHcm91cElkIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBza2lwT3duZXJDaGVjazogdHJ1ZSxcbiAgICAgICAgICBza2lwUm9sZXNDaGVjazogdHJ1ZVxuICAgICAgICB9XG4gICAgICApKTtcbiAgICB0aGlzLmNhbkFzc2lnbkRldmljZSA9IGF3YWl0IHRoaXMuc3ViQXNzZXRzU2VydmljZS5jYW5Bc3NpZ25EZXZpY2Uoe1xuICAgICAgaWQ6IHRoaXMuY3VycmVudEdyb3VwSWRcbiAgICB9IGFzIElNYW5hZ2VkT2JqZWN0KTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLm5hbWVJbnB1dCA9IHRoaXMubmFtZUlucHV0UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICB0aGlzLnNldEZvY3VzT25OYW1lSW5wdXQoKTtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZUdyb3VwKCkge1xuICAgIGlmICh0aGlzLmNhbkNyZWF0ZUdyb3VwID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucGVuZGluZ1N0YXR1cyA9IHRydWU7XG4gICAgYXdhaXQgdGhpcy5hZGRHcm91cFNlcnZpY2UuY3JlYXRlR3JvdXBBbmRBc3NpZ25EZXZpY2VzKFxuICAgICAgdGhpcy5mb3JtR3JvdXBTdGVwT25lLnZhbHVlLFxuICAgICAgdGhpcy5jdXJyZW50R3JvdXBJZCxcbiAgICAgIHRoaXMuc2VsZWN0ZWRcbiAgICApO1xuXG4gICAgdGhpcy5wZW5kaW5nU3RhdHVzID0gZmFsc2U7XG4gICAgdGhpcy5yZXNldFN0ZXBwZXIoKTtcbiAgICB0aGlzLmFsZXJ0LnN1Y2Nlc3MoZ2V0dGV4dCgnR3JvdXAgY3JlYXRlZC4nKSk7XG5cbiAgICB0aGlzLnJlZnJlc2guZW1pdCgpO1xuICAgIHRoaXMub25DYW5jZWwuZW1pdCgpO1xuICB9XG5cbiAgb25TZWxlY3RlZChzZWxlY3RlZERldmljZXNJRHM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkRGV2aWNlc0lEcztcbiAgfVxuXG4gIHJlc2V0U3RlcHBlcigpIHtcbiAgICB0aGlzLnN0ZXBwZXIucmVzZXQoKTtcbiAgICB0aGlzLnN0ZXBwZXIuc2VsZWN0ZWRJbmRleCA9IDE7XG4gICAgdGhpcy5zZWxlY3RlZCA9IFtdO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNHcm91cERldGFpbHNTdGVwKCkge1xuICAgIHJldHVybiB0aGlzLnN0ZXBwZXIuc2VsZWN0ZWRJbmRleCA9PT0gMDtcbiAgfVxuXG4gIHByaXZhdGUgaXNBc3NpZ25EZXZpY2VTdGVwKCkge1xuICAgIHJldHVybiB0aGlzLnN0ZXBwZXIuc2VsZWN0ZWRJbmRleCA9PT0gMTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Rm9jdXNPbk5hbWVJbnB1dCgpIHtcbiAgICBpZiAodGhpcy5uYW1lSW5wdXQpIHtcbiAgICAgIHRoaXMubmFtZUlucHV0LmZvY3VzKCk7XG4gICAgICB0aGlzLm5hbWVJbnB1dC5zZWxlY3QoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxjOHktdGl0bGUgKm5nSWY9XCIhY3VycmVudEdyb3VwSWRcIj5cbiAge3sgJ0FkZCBncm91cCcgfCB0cmFuc2xhdGUgfX1cbjwvYzh5LXRpdGxlPlxuXG48ZGl2IGNsYXNzPVwiZC1jb250ZW50c1wiICpuZ0lmPVwiIWN1cnJlbnRHcm91cElkOyBlbHNlIHN0ZXBwZXJcIj5cbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJzdGVwcGVyXCI+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNzdGVwcGVyPlxuICA8Yzh5LXN0ZXBwZXJcbiAgICBjbGFzcz1cImQtY29sIGZsZXgtbm93cmFwIG5vLWFsaWduLWl0ZW1zIGZpdC1oIGM4eS1zdGVwcGVyLS1uby1idG5zXCJcbiAgICBbZGlzYWJsZURlZmF1bHRJY29uc109XCJ7IGVkaXQ6IHRydWUsIGRvbmU6IGZhbHNlIH1cIlxuICAgIFtjdXN0b21DbGFzc2VzXT1cIlsnY29sLW1kLTYnLCAnY29sLW1kLW9mZnNldC0zJywgJ20tdC0yNCcsICdtLWItNDAnLCAncC0wJywgJ2ZsZXgtbm8tc2hyaW5rJ11cIlxuICAgIGxpbmVhclxuICA+XG4gICAgPGNkay1zdGVwIFtzdGVwQ29udHJvbF09XCJmb3JtR3JvdXBTdGVwT25lXCIgW2xhYmVsXT1cIidOZXcgZ3JvdXAnIHwgdHJhbnNsYXRlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicC0xNiBwLXQtMCBmbGV4LW5vLXNocmluayBzZXBhcmF0b3ItYm90dG9tIGNvbC14cy0xMlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGNvbC1tZC1vZmZzZXQtMyBjb2wtbGctNCBjb2wtbGctb2Zmc2V0LTRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoNCB0ZXh0LWNlbnRlciB0ZXh0LW1lZGl1bVwiPlxuICAgICAgICAgICAgICB7eyAnTmV3IGdyb3VwJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIGZsZXgtZ3JvdyBuby1ndXR0ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaW5uZXItc2Nyb2xsIGZpdC1oXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYmxvY2sgcC1iLTBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGNvbC1tZC1vZmZzZXQtMyBjb2wtbGctNCBjb2wtbGctb2Zmc2V0LTRcIj5cbiAgICAgICAgICAgICAgICA8Yzh5LWZvcm0tZ3JvdXAgW25vdmFsaWRhdGlvbl09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwU3RlcE9uZVwiPlxuICAgICAgICAgICAgICAgICAgICA8Yzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIHRyYW5zbGF0ZT5OYW1lPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnZS5nLiBGaXJzdCBmbG9vcicgfCB0cmFuc2xhdGUgfX0gXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heGxlbmd0aD1cIjI1NFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAjbmFtZVJlZlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuXG4gICAgICAgICAgICAgICAgICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgdHJhbnNsYXRlPkRlc2NyaXB0aW9uPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2UuZy4gZmlyc3QgZmxvb3IgZGV2aWNlcycgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgICAgICAgIDxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBTdGVwT25lXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mbyBtYXgtd2lkdGgtMTAwXCIgdHJhbnNsYXRlICpuZ0lmPVwiIWNhbkFzc2lnbkRldmljZVwiPlxuICAgICAgICAgICAgICAgICAgWW91IGRvbid0IGhhdmUgcGVybWlzc2lvbiB0byBhc3NpZ24gZGV2aWNlcy5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGM4eS1zdGVwcGVyLWJ1dHRvbnNcbiAgICAgICAgY2xhc3M9XCJkLWJsb2NrIGNhcmQtZm9vdGVyIHAtMjQgc2VwYXJhdG9yXCJcbiAgICAgICAgKG9uQ2FuY2VsKT1cIm9uQ2FuY2VsLmVtaXQoKVwiXG4gICAgICAgIChvbkN1c3RvbSk9XCJjcmVhdGVHcm91cCgpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFjYW5DcmVhdGVHcm91cFwiXG4gICAgICAgIFtsYWJlbHNdPVwiXG4gICAgICAgICAgY2FuQXNzaWduRGV2aWNlXG4gICAgICAgICAgICA/IHsgbmV4dDogYnRuTGFiZWxzLm5leHQsIGNhbmNlbDogYnRuTGFiZWxzLmNhbmNlbCB9XG4gICAgICAgICAgICA6IHsgY3VzdG9tOiBidG5MYWJlbHMuY3JlYXRlLCBjYW5jZWw6IGJ0bkxhYmVscy5jYW5jZWwgfVxuICAgICAgICBcIlxuICAgICAgICBbc2hvd0J1dHRvbnNdPVwiXG4gICAgICAgICAgY2FuQXNzaWduRGV2aWNlID8geyBuZXh0OiB0cnVlLCBjYW5jZWw6IHRydWUgfSA6IHsgY3VzdG9tOiB0cnVlLCBjYW5jZWw6IHRydWUgfVxuICAgICAgICBcIlxuICAgICAgPjwvYzh5LXN0ZXBwZXItYnV0dG9ucz5cbiAgICA8L2Nkay1zdGVwPlxuICAgIDxjZGstc3RlcCBbbGFiZWxdPVwiJ0Fzc2lnbiBkZXZpY2VzJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInAtMTYgcC10LTAgZmxleC1uby1zaHJpbmsgc2VwYXJhdG9yLWJvdHRvbSBjb2wteHMtMTJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBjb2wtbWQtb2Zmc2V0LTMgY29sLWxnLTQgY29sLWxnLW9mZnNldC00XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaDQgdGV4dC1jZW50ZXIgdGV4dC1tZWRpdW1cIj5cbiAgICAgICAgICAgICAge3sgJ0Fzc2lnbiBkZXZpY2VzJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIG5vLWd1dHRlciBmbGV4LWdyb3dcIj5cbiAgICAgICAgPGM4eS1kZXZpY2UtZ3JpZFxuICAgICAgICAgIFt0aXRsZV09XCInU2VsZWN0IHRhcmdldCBkZXZpY2VzJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW2FjdGlvbkNvbnRyb2xzXT1cIltdXCJcbiAgICAgICAgICBbaW5maW5pdGVTY3JvbGxdPVwiJ2F1dG8nXCJcbiAgICAgICAgICBbc2VsZWN0YWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICBbcGFnaW5hdGlvbl09XCJwYWdpbmF0aW9uXCJcbiAgICAgICAgICAoaXRlbXNTZWxlY3QpPVwib25TZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgICAgICBbcmVmcmVzaF09XCJyZWZyZXNoXCJcbiAgICAgICAgICBjOHlQcm9kdWN0RXhwZXJpZW5jZVxuICAgICAgICAgIFthY3Rpb25OYW1lXT1cIidzdWJBc3NldHNBZGRHcm91cCdcIlxuICAgICAgICA+PC9jOHktZGV2aWNlLWdyaWQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxjOHktc3RlcHBlci1idXR0b25zXG4gICAgICAgIGNsYXNzPVwiZC1ibG9jayBjYXJkLWZvb3RlciBwLTI0IHNlcGFyYXRvclwiXG4gICAgICAgIChvbkNhbmNlbCk9XCJvbkNhbmNlbC5lbWl0KClcIlxuICAgICAgICAob25DdXN0b20pPVwiY3JlYXRlR3JvdXAoKVwiXG4gICAgICAgIFtsYWJlbHNdPVwieyBjdXN0b206IGJ0bkxhYmVscy5jcmVhdGUgfVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIhY2FuQXNzaWduRGV2aWNlXCJcbiAgICAgICAgW3BlbmRpbmddPVwicGVuZGluZ1N0YXR1c1wiXG4gICAgICA+PC9jOHktc3RlcHBlci1idXR0b25zPlxuICAgIDwvY2RrLXN0ZXA+XG4gIDwvYzh5LXN0ZXBwZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3N1Yi1hc3NldHMvYWRkLWdyb3VwL2FkZC1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zdWItYXNzZXRzL2FkZC1ncm91cC9hZGQtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFjLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7OztBQU10RCxNQUFNLE9BQU8saUJBQWlCO0lBMkI1QixZQUNVLEVBQWUsRUFDZixlQUFnQyxFQUNoQyxLQUFtQixFQUNuQixnQkFBa0MsRUFDbEMsa0JBQStCO1FBSi9CLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUNuQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBYTtRQTlCaEMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDakMsOEJBQXlCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDN0UsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFPN0Msa0JBQWEsR0FBWSxLQUFL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QUssRUFBRTtnQkE0QmEsY0FBYztzQkFBakUsWUFBWTt1QkFBQyx3QkFBd0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFTRyxlQUFlO3NCQUFuRSxZQUFZO3VCQUFDLHlCQUF5QixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElNYW5hZ2VkT2JqZWN0IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlLCBDOHlTdGVwcGVyLCBQYWdpbmF0aW9uLCBQZXJtaXNzaW9ucywgZ2V0dGV4dCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdWJBc3NldHNTZXJ2aWNlIH0gZnJvbSAnLi4vc3ViLWFzc2V0cy5zZXJ2aWNlJztcbmltcG9ydCB7IEFkZEdyb3VwU2VydmljZSB9IGZyb20gJy4vYWRkLWdyb3VwLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktYWRkLWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1ncm91cC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQWRkR3JvdXBDb21wb25lbnQge1xuICBASW5wdXQoKSBjdXJyZW50R3JvdXBJZDogc3RyaW5nO1xuICBASW5wdXQoKSByZWZyZXNoID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvbkRldmljZVF1ZXJ5U3RyaW5nQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgb25DYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQFZpZXdDaGlsZChDOHlTdGVwcGVyLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgc3RlcHBlcjogQzh5U3RlcHBlcjtcbiAgQFZpZXdDaGlsZCgnbmFtZVJlZicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBuYW1lSW5wdXRSZWY6IEVsZW1lbnRSZWY7XG4gIGRldmljZVF1ZXJ5U3RyaW5nT3V0cHV0OiBzdHJpbmc7XG4gIGZvcm1Hcm91cFN0ZXBPbmU6IEZvcm1Hcm91cDtcbiAgcGVuZGluZ1N0YXR1czogYm9vbGVhbiA9IGZhbHNlO1xuICBwYWdpbmF0aW9uOiBQYWdpbmF0aW9uID0geyBwYWdlU2l6ZTogMjAsIGN1cnJlbnRQYWdlOiAxIH07XG4gIHNlbGVjdGVkOiBzdHJpbmdbXSA9IFtdO1xuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgY2FuQ3JlYXRlR3JvdXA6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY2FuQXNzaWduRGV2aWNlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcmVhZG9ubHkgSVRFTVNfU0VMRUNUX0xJTUlUOiBudW1iZXIgPSAxNTtcbiAgcmVhZG9ubHkgYnRuTGFiZWxzID0ge1xuICAgIG5leHQ6IGdldHRleHQoJ05leHQnKSxcbiAgICBjYW5jZWw6IGdldHRleHQoJ0NhbmNlbCcpLFxuICAgIGNyZWF0ZTogZ2V0dGV4dCgnQ3JlYXRlJylcbiAgfTtcblxuICBwcml2YXRlIG5hbWVJbnB1dDogSFRNTElucHV0RWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGFkZEdyb3VwU2VydmljZTogQWRkR3JvdXBTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnQ6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHN1YkFzc2V0c1NlcnZpY2U6IFN1YkFzc2V0c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBwZXJtaXNzaW9uc1NlcnZpY2U6IFBlcm1pc3Npb25zXG4gICkge31cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVudGVyJywgWyckZXZlbnQnXSkgb25FbnRlcktleURvd24oX2V2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgLy8gT3JkZXIgbWF0dGVycyEgTmVlZHMgdG8gYmUgcGxhY2VkIGJlZm9yZSB0aGlzLnN0ZXBwZXIubmV4dFxuICAgIGlmICgodGhpcy5pc0dyb3VwRGV0YWlsc1N0ZXAoKSAmJiAhdGhpcy5jYW5Bc3NpZ25EZXZpY2UpIHx8IHRoaXMuaXNBc3NpZ25EZXZpY2VTdGVwKCkpIHtcbiAgICAgIHRoaXMuY3JlYXRlR3JvdXAoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zdGVwcGVyLm5leHQoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjYXBlJywgWyckZXZlbnQnXSkgb25Fc2NhcGVLZXlEb3duKF9ldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIHRoaXMub25DYW5jZWwuZW1pdCgpO1xuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5mb3JtR3JvdXBTdGVwT25lID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBuYW1lOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgZGVzY3JpcHRpb246IFsnJ11cbiAgICB9KTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMub25DYW5jZWwuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVzZXRTdGVwcGVyKCkpO1xuICAgIHRoaXMuY2FuQ3JlYXRlR3JvdXAgPVxuICAgICAgdGhpcy5zdWJBc3NldHNTZXJ2aWNlLmNhbkNyZWF0ZUdyb3VwKCkgfHxcbiAgICAgIChhd2FpdCB0aGlzLnBlcm1pc3Npb25zU2VydmljZS5jYW5FZGl0KFsnUk9MRV9JTlZFTlRPUllfQURNSU4nLCAnUk9MRV9JTlZFTlRPUllfQ1JFQVRFJ10sIHtcbiAgICAgICAgaWQ6IHRoaXMuY3VycmVudEdyb3VwSWRcbiAgICAgIH0pKTtcbiAgICB0aGlzLmNhbkFzc2lnbkRldmljZSA9IGF3YWl0IHRoaXMuc3ViQXNzZXRzU2VydmljZS5jYW5Bc3NpZ25EZXZpY2Uoe1xuICAgICAgaWQ6IHRoaXMuY3VycmVudEdyb3VwSWRcbiAgICB9IGFzIElNYW5hZ2VkT2JqZWN0KTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLm5hbWVJbnB1dCA9IHRoaXMubmFtZUlucHV0UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICB0aGlzLnNldEZvY3VzT25OYW1lSW5wdXQoKTtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZUdyb3VwKCkge1xuICAgIGlmICh0aGlzLmNhbkNyZWF0ZUdyb3VwID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucGVuZGluZ1N0YXR1cyA9IHRydWU7XG4gICAgYXdhaXQgdGhpcy5hZGRHcm91cFNlcnZpY2UuY3JlYXRlR3JvdXBBbmRBc3NpZ25EZXZpY2VzKFxuICAgICAgdGhpcy5mb3JtR3JvdXBTdGVwT25lLnZhbHVlLFxuICAgICAgdGhpcy5jdXJyZW50R3JvdXBJZCxcbiAgICAgIHRoaXMuc2VsZWN0ZWRcbiAgICApO1xuXG4gICAgdGhpcy5wZW5kaW5nU3RhdHVzID0gZmFsc2U7XG4gICAgdGhpcy5yZXNldFN0ZXBwZXIoKTtcbiAgICB0aGlzLmFsZXJ0LnN1Y2Nlc3MoZ2V0dGV4dCgnR3JvdXAgY3JlYXRlZC4nKSk7XG5cbiAgICB0aGlzLnJlZnJlc2guZW1pdCgpO1xuICAgIHRoaXMub25DYW5jZWwuZW1pdCgpO1xuICB9XG5cbiAgb25TZWxlY3RlZChzZWxlY3RlZERldmljZXNJRHM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkRGV2aWNlc0lEcztcbiAgfVxuXG4gIHJlc2V0U3RlcHBlcigpIHtcbiAgICB0aGlzLnN0ZXBwZXIucmVzZXQoKTtcbiAgICB0aGlzLnN0ZXBwZXIuc2VsZWN0ZWRJbmRleCA9IDE7XG4gICAgdGhpcy5zZWxlY3RlZCA9IFtdO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNHcm91cERldGFpbHNTdGVwKCkge1xuICAgIHJldHVybiB0aGlzLnN0ZXBwZXIuc2VsZWN0ZWRJbmRleCA9PT0gMDtcbiAgfVxuXG4gIHByaXZhdGUgaXNBc3NpZ25EZXZpY2VTdGVwKCkge1xuICAgIHJldHVybiB0aGlzLnN0ZXBwZXIuc2VsZWN0ZWRJbmRleCA9PT0gMTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Rm9jdXNPbk5hbWVJbnB1dCgpIHtcbiAgICBpZiAodGhpcy5uYW1lSW5wdXQpIHtcbiAgICAgIHRoaXMubmFtZUlucHV0LmZvY3VzKCk7XG4gICAgICB0aGlzLm5hbWVJbnB1dC5zZWxlY3QoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxjOHktdGl0bGUgKm5nSWY9XCIhY3VycmVudEdyb3VwSWRcIj5cbiAge3sgJ0FkZCBncm91cCcgfCB0cmFuc2xhdGUgfX1cbjwvYzh5LXRpdGxlPlxuXG48ZGl2IGNsYXNzPVwiZC1jb250ZW50c1wiICpuZ0lmPVwiIWN1cnJlbnRHcm91cElkOyBlbHNlIHN0ZXBwZXJcIj5cbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJzdGVwcGVyXCI+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNzdGVwcGVyPlxuICA8Yzh5LXN0ZXBwZXJcbiAgICBjbGFzcz1cImQtY29sIGZsZXgtbm93cmFwIG5vLWFsaWduLWl0ZW1zIGZpdC1oIGM4eS1zdGVwcGVyLS1uby1idG5zXCJcbiAgICBbZGlzYWJsZURlZmF1bHRJY29uc109XCJ7IGVkaXQ6IHRydWUsIGRvbmU6IGZhbHNlIH1cIlxuICAgIFtjdXN0b21DbGFzc2VzXT1cIlsnY29sLW1kLTYnLCAnY29sLW1kLW9mZnNldC0zJywgJ20tdC0yNCcsICdtLWItNDAnLCAncC0wJywgJ2ZsZXgtbm8tc2hyaW5rJ11cIlxuICAgIGxpbmVhclxuICA+XG4gICAgPGNkay1zdGVwIFtzdGVwQ29udHJvbF09XCJmb3JtR3JvdXBTdGVwT25lXCIgW2xhYmVsXT1cIidOZXcgZ3JvdXAnIHwgdHJhbnNsYXRlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicC0xNiBwLXQtMCBmbGV4LW5vLXNocmluayBzZXBhcmF0b3ItYm90dG9tIGNvbC14cy0xMlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGNvbC1tZC1vZmZzZXQtMyBjb2wtbGctNCBjb2wtbGctb2Zmc2V0LTRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoNCB0ZXh0LWNlbnRlciB0ZXh0LW1lZGl1bVwiPlxuICAgICAgICAgICAgICB7eyAnTmV3IGdyb3VwJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIGZsZXgtZ3JvdyBuby1ndXR0ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaW5uZXItc2Nyb2xsIGZpdC1oXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYmxvY2sgcC1iLTBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGNvbC1tZC1vZmZzZXQtMyBjb2wtbGctNCBjb2wtbGctb2Zmc2V0LTRcIj5cbiAgICAgICAgICAgICAgICA8Yzh5LWZvcm0tZ3JvdXAgW25vdmFsaWRhdGlvbl09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwU3RlcE9uZVwiPlxuICAgICAgICAgICAgICAgICAgICA8Yzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIHRyYW5zbGF0ZT5OYW1lPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnZS5nLiBGaXJzdCBmbG9vcicgfCB0cmFuc2xhdGUgfX0gXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heGxlbmd0aD1cIjI1NFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAjbmFtZVJlZlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuXG4gICAgICAgICAgICAgICAgICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgdHJhbnNsYXRlPkRlc2NyaXB0aW9uPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2UuZy4gZmlyc3QgZmxvb3IgZGV2aWNlcycgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgICAgICAgIDxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBTdGVwT25lXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mbyBtYXgtd2lkdGgtMTAwXCIgdHJhbnNsYXRlICpuZ0lmPVwiIWNhbkFzc2lnbkRldmljZVwiPlxuICAgICAgICAgICAgICAgICAgWW91IGRvbid0IGhhdmUgcGVybWlzc2lvbiB0byBhc3NpZ24gZGV2aWNlcy5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGM4eS1zdGVwcGVyLWJ1dHRvbnNcbiAgICAgICAgY2xhc3M9XCJkLWJsb2NrIGNhcmQtZm9vdGVyIHAtMjQgc2VwYXJhdG9yXCJcbiAgICAgICAgKG9uQ2FuY2VsKT1cIm9uQ2FuY2VsLmVtaXQoKVwiXG4gICAgICAgIChvbkN1c3RvbSk9XCJjcmVhdGVHcm91cCgpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFjYW5DcmVhdGVHcm91cFwiXG4gICAgICAgIFtsYWJlbHNdPVwiXG4gICAgICAgICAgY2FuQXNzaWduRGV2aWNlXG4gICAgICAgICAgICA/IHsgbmV4dDogYnRuTGFiZWxzLm5leHQsIGNhbmNlbDogYnRuTGFiZWxzLmNhbmNlbCB9XG4gICAgICAgICAgICA6IHsgY3VzdG9tOiBidG5MYWJlbHMuY3JlYXRlLCBjYW5jZWw6IGJ0bkxhYmVscy5jYW5jZWwgfVxuICAgICAgICBcIlxuICAgICAgICBbc2hvd0J1dHRvbnNdPVwiXG4gICAgICAgICAgY2FuQXNzaWduRGV2aWNlID8geyBuZXh0OiB0cnVlLCBjYW5jZWw6IHRydWUgfSA6IHsgY3VzdG9tOiB0cnVlLCBjYW5jZWw6IHRydWUgfVxuICAgICAgICBcIlxuICAgICAgPjwvYzh5LXN0ZXBwZXItYnV0dG9ucz5cbiAgICA8L2Nkay1zdGVwPlxuICAgIDxjZGstc3RlcCBbbGFiZWxdPVwiJ0Fzc2lnbiBkZXZpY2VzJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInAtMTYgcC10LTAgZmxleC1uby1zaHJpbmsgc2VwYXJhdG9yLWJvdHRvbSBjb2wteHMtMTJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBjb2wtbWQtb2Zmc2V0LTMgY29sLWxnLTQgY29sLWxnLW9mZnNldC00XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaDQgdGV4dC1jZW50ZXIgdGV4dC1tZWRpdW1cIj5cbiAgICAgICAgICAgICAge3sgJ0Fzc2lnbiBkZXZpY2VzJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIG5vLWd1dHRlciBmbGV4LWdyb3dcIj5cbiAgICAgICAgPGM4eS1kZXZpY2UtZ3JpZFxuICAgICAgICAgIFt0aXRsZV09XCInU2VsZWN0IHRhcmdldCBkZXZpY2VzJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW2FjdGlvbkNvbnRyb2xzXT1cIltdXCJcbiAgICAgICAgICBbaW5maW5pdGVTY3JvbGxdPVwiJ2F1dG8nXCJcbiAgICAgICAgICBbc2VsZWN0YWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICBbcGFnaW5hdGlvbl09XCJwYWdpbmF0aW9uXCJcbiAgICAgICAgICAoaXRlbXNTZWxlY3QpPVwib25TZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgICAgICBbcmVmcmVzaF09XCJyZWZyZXNoXCJcbiAgICAgICAgICBjOHlQcm9kdWN0RXhwZXJpZW5jZVxuICAgICAgICAgIFthY3Rpb25OYW1lXT1cIidzdWJBc3NldHNBZGRHcm91cCdcIlxuICAgICAgICA+PC9jOHktZGV2aWNlLWdyaWQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxjOHktc3RlcHBlci1idXR0b25zXG4gICAgICAgIGNsYXNzPVwiZC1ibG9jayBjYXJkLWZvb3RlciBwLTI0IHNlcGFyYXRvclwiXG4gICAgICAgIChvbkNhbmNlbCk9XCJvbkNhbmNlbC5lbWl0KClcIlxuICAgICAgICAob25DdXN0b20pPVwiY3JlYXRlR3JvdXAoKVwiXG4gICAgICAgIFtsYWJlbHNdPVwieyBjdXN0b206IGJ0bkxhYmVscy5jcmVhdGUgfVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIhY2FuQXNzaWduRGV2aWNlXCJcbiAgICAgICAgW3BlbmRpbmddPVwicGVuZGluZ1N0YXR1c1wiXG4gICAgICA+PC9jOHktc3RlcHBlci1idXR0b25zPlxuICAgIDwvY2RrLXN0ZXA+XG4gIDwvYzh5LXN0ZXBwZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -45,10 +45,7 @@ export class SubAssetsComponent {
45
45
  this.group = { ...contextData };
46
46
  this.title = this.group.name;
47
47
  this.currentGroupId = this.group.id;
48
- this.shouldDisableAddGroup = !(await this.permissionsService.canEdit([], this.group, {
49
- skipOwnerCheck: true,
50
- skipRolesCheck: true
51
- }));
48
+ this.shouldDisableAddGroup = !(await this.permissionsService.canEdit(['ROLE_INVENTORY_ADMIN', 'ROLE_INVENTORY_CREATE'], this.group));
52
49
  this.shouldDisableAssignDevices = !(await this.subAssetsService.canAssignDevice(this.group));
53
50
  this.customProperties = await this.subAssetsService.getCustomProperties(this.group);
54
51
  this.shouldShowAssetsProperties = this.customProperties.length > 0;
@@ -75,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
75
72
  type: Component,
76
73
  args: [{ selector: 'c8y-sub-assets', template: "<c8y-title>\n {{ title }}\n</c8y-title>\n\n<c8y-action-bar-item [placement]=\"'right'\" *ngIf=\"!isSmartGroup()\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Add group' | translate }}\"\n (click)=\"showAddGroup = !showAddGroup\"\n [disabled]=\"shouldDisableAddGroup\"\n >\n <i c8yIcon=\"plus-circle\" class=\"m-r-4\"></i>\n <span translate>Add group</span>\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\" *ngIf=\"!isSmartGroup()\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Assign devices' | translate }}\"\n (click)=\"showAssignDevices = !showAssignDevices\"\n [disabled]=\"shouldDisableAssignDevices\"\n >\n <i c8yIcon=\"plus-circle\" class=\"m-r-4\"></i>\n <span translate>Assign devices</span>\n </button>\n</c8y-action-bar-item>\n\n<div\n class=\"card content-fullpage\"\n [ngClass]=\"{\n 'card--grid grid__col--8-4--md grid__row--fit-auto': shouldShowAssetsProperties,\n 'd-flex d-col': !shouldShowAssetsProperties\n }\"\n>\n <c8y-group-info\n [group]=\"group\"\n (groupChange)=\"groupChange($event)\"\n class=\"grid__col--fullspan\"\n ></c8y-group-info>\n <c8y-sub-assets-grid\n [refresh]=\"refresh\"\n [parent-group]=\"group\"\n [filterable]=\"filterable\"\n [displayOptions]=\"displayOptions\"\n [columnsConfigKey]=\"'sub-assets-grid'\"\n class=\"d-contents\"\n ></c8y-sub-assets-grid>\n <div class=\"inner-scroll bg-level-1\" *ngIf=\"shouldShowAssetsProperties\">\n <c8y-asset-properties\n [properties]=\"customProperties\"\n [asset]=\"group\"\n (assetChange)=\"groupChange($event)\"\n class=\"d-contents\"\n ></c8y-asset-properties>\n </div>\n</div>\n\n<div [ngClass]=\"{ drawerOpen: showAddGroup }\">\n <div class=\"bottom-drawer\">\n <c8y-add-group\n [currentGroupId]=\"currentGroupId\"\n [refresh]=\"refresh\"\n (onCancel)=\"showAddGroup = false\"\n *ngIf=\"showAddGroup\"\n ></c8y-add-group>\n </div>\n</div>\n\n<div [ngClass]=\"{ drawerOpen: showAssignDevices }\">\n <div class=\"bottom-drawer\">\n <div class=\"d-flex d-col no-align-items fit-h\">\n <c8y-assign-devices\n class=\"d-contents\"\n (onCancel)=\"showAssignDevices = false\"\n [refresh]=\"refresh\"\n [currentGroupId]=\"currentGroupId\"\n (onShowChildDevices)=\"showAssignChildDevices = $event\"\n (selectedDevice)=\"showChildrenForDevice = $event\"\n *ngIf=\"showAssignDevices\"\n ></c8y-assign-devices>\n </div>\n </div>\n</div>\n\n<div [ngClass]=\"{ drawerOpen: showAssignChildDevices }\">\n <div class=\"bottom-drawer m-t-40\">\n <div class=\"d-flex d-col no-align-items fit-h\">\n <c8y-assign-child-devices\n *ngIf=\"showAssignChildDevices\"\n class=\"d-contents\"\n (onCancel)=\"showAssignChildDevices = false\"\n [refresh]=\"refresh\"\n [currentGroupId]=\"currentGroupId\"\n [parentDevice]=\"showChildrenForDevice\"\n ></c8y-assign-child-devices>\n </div>\n </div>\n</div>\n" }]
77
74
  }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.SubAssetsService }, { type: i3.ContextRouteService }, { type: i3.Permissions }]; } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLWFzc2V0cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zdWItYXNzZXRzL3N1Yi1hc3NldHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vc3ViLWFzc2V0cy9zdWItYXNzZXRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFakQsT0FBTyxFQUFFLG1CQUFtQixFQUFrQixXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBTXhELE1BQU0sT0FBTyxrQkFBa0I7SUFtQjdCLFlBQ1UsS0FBcUIsRUFDckIsZ0JBQWtDLEVBQ2xDLG1CQUF3QyxFQUN4QyxrQkFBK0I7UUFIL0IsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBYTtRQWxCekMsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN4QixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFFbkMsMkJBQXNCLEdBQVksS0FBSyxDQUFDO1FBQ3hDLFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoRCxlQUFVLEdBQVksSUFBSSxDQUFDO1FBQzNCLDBCQUFxQixHQUFZLEtBQUssQ0FBQztRQUN2QywrQkFBMEIsR0FBWSxLQUFLLENBQUM7UUFDNUMsK0JBQTBCLEdBQVksS0FBSyxDQUFDO1FBRTVDLHFCQUFnQixHQUFxQixFQUFFLENBQUM7UUFTdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFO1lBQ2xFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVE7UUFDWixJQUFJLENBQUMsY0FBYyxHQUFHO1lBQ3BCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsUUFBUSxFQUFFLEtBQUs7WUFDZixVQUFVLEVBQUUsSUFBSTtZQUNoQixNQUFNLEVBQUUsSUFBSTtTQUNiLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNuRixjQUFjLEVBQUUsSUFBSTtZQUNwQixjQUFjLEVBQUUsSUFBSTtTQUNyQixDQUFDLENBQUMsQ0FBQztRQUNKLElBQUksQ0FBQywwQkFBMEIsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzdGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBcUI7UUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7OytHQXBFVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixzRENYL0Isb2dHQW1HQTsyRkR4RmEsa0JBQWtCO2tCQUo5QixTQUFTOytCQUNFLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSU1hbmFnZWRPYmplY3QgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBDb250ZXh0Um91dGVTZXJ2aWNlLCBEaXNwbGF5T3B0aW9ucywgUGVybWlzc2lvbnMgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3ViQXNzZXRzU2VydmljZSB9IGZyb20gJy4vc3ViLWFzc2V0cy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LXN1Yi1hc3NldHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3ViLWFzc2V0cy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU3ViQXNzZXRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBncm91cDogSU1hbmFnZWRPYmplY3Q7XG4gIGN1cnJlbnRHcm91cElkOiBzdHJpbmc7XG4gIHNob3dDaGlsZHJlbkZvckRldmljZTogSU1hbmFnZWRPYmplY3Q7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHRvZ2dsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBzaG93QWRkR3JvdXA6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2hvd0Fzc2lnbkRldmljZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVxdWVzdEluUHJvZ3Jlc3M6IGJvb2xlYW47XG4gIHNob3dBc3NpZ25DaGlsZERldmljZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVmcmVzaDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIGZpbHRlcmFibGU6IGJvb2xlYW4gPSB0cnVlO1xuICBzaG91bGREaXNhYmxlQWRkR3JvdXA6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2hvdWxkRGlzYWJsZUFzc2lnbkRldmljZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2hvdWxkU2hvd0Fzc2V0c1Byb3BlcnRpZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZGlzcGxheU9wdGlvbnM6IERpc3BsYXlPcHRpb25zO1xuICBjdXN0b21Qcm9wZXJ0aWVzOiBJTWFuYWdlZE9iamVjdFtdID0gW107XG4gIHByaXZhdGUgZGF0YVN1YjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgc3ViQXNzZXRzU2VydmljZTogU3ViQXNzZXRzU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRSb3V0ZVNlcnZpY2U6IENvbnRleHRSb3V0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwZXJtaXNzaW9uc1NlcnZpY2U6IFBlcm1pc3Npb25zXG4gICkge1xuICAgIHRoaXMuZGF0YVN1YiA9IHRoaXMucm91dGUucGFyZW50LmRhdGEuc3Vic2NyaWJlKCh7IGNvbnRleHREYXRhIH0pID0+IHtcbiAgICAgIHRoaXMuaW5pdChjb250ZXh0RGF0YSk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRpc3BsYXlPcHRpb25zID0ge1xuICAgICAgc3RyaXBlZDogdHJ1ZSxcbiAgICAgIGJvcmRlcmVkOiBmYWxzZSxcbiAgICAgIGdyaWRIZWFkZXI6IHRydWUsXG4gICAgICBmaWx0ZXI6IHRydWVcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgaW5pdChjb250ZXh0RGF0YSkge1xuICAgIHRoaXMuZ3JvdXAgPSB7IC4uLmNvbnRleHREYXRhIH07XG4gICAgdGhpcy50aXRsZSA9IHRoaXMuZ3JvdXAubmFtZTtcbiAgICB0aGlzLmN1cnJlbnRHcm91cElkID0gdGhpcy5ncm91cC5pZDtcbiAgICB0aGlzLnNob3VsZERpc2FibGVBZGRHcm91cCA9ICEoYXdhaXQgdGhpcy5wZXJtaXNzaW9uc1NlcnZpY2UuY2FuRWRpdChbXSwgdGhpcy5ncm91cCwge1xuICAgICAgc2tpcE93bmVyQ2hlY2s6IHRydWUsXG4gICAgICBza2lwUm9sZXNDaGVjazogdHJ1ZVxuICAgIH0pKTtcbiAgICB0aGlzLnNob3VsZERpc2FibGVBc3NpZ25EZXZpY2VzID0gIShhd2FpdCB0aGlzLnN1YkFzc2V0c1NlcnZpY2UuY2FuQXNzaWduRGV2aWNlKHRoaXMuZ3JvdXApKTtcbiAgICB0aGlzLmN1c3RvbVByb3BlcnRpZXMgPSBhd2FpdCB0aGlzLnN1YkFzc2V0c1NlcnZpY2UuZ2V0Q3VzdG9tUHJvcGVydGllcyh0aGlzLmdyb3VwKTtcbiAgICB0aGlzLnNob3VsZFNob3dBc3NldHNQcm9wZXJ0aWVzID0gdGhpcy5jdXN0b21Qcm9wZXJ0aWVzLmxlbmd0aCA+IDA7XG4gIH1cblxuICBncm91cENoYW5nZShncm91cDogSU1hbmFnZWRPYmplY3QpOiB2b2lkIHtcbiAgICB0aGlzLmdyb3VwID0gZ3JvdXA7XG4gICAgdGhpcy50aXRsZSA9IGdyb3VwLm5hbWU7XG4gICAgdGhpcy5jb250ZXh0Um91dGVTZXJ2aWNlLnNldENvbnRleHQodGhpcy5yb3V0ZSwgZ3JvdXApO1xuICAgIHRoaXMuY29udGV4dFJvdXRlU2VydmljZS5yZWZyZXNoQ29udGV4dCgpO1xuICAgIHRoaXMucmVmcmVzaC5lbWl0KCk7XG4gIH1cblxuICBpc1NtYXJ0R3JvdXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViQXNzZXRzU2VydmljZS5pc1NtYXJ0R3JvdXAodGhpcy5ncm91cCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kYXRhU3ViKSB7XG4gICAgICB0aGlzLmRhdGFTdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxjOHktdGl0bGU+XG4gIHt7IHRpdGxlIH19XG48L2M4eS10aXRsZT5cblxuPGM4eS1hY3Rpb24tYmFyLWl0ZW0gW3BsYWNlbWVudF09XCIncmlnaHQnXCIgKm5nSWY9XCIhaXNTbWFydEdyb3VwKClcIj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rXCJcbiAgICB0aXRsZT1cInt7ICdBZGQgZ3JvdXAnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAoY2xpY2spPVwic2hvd0FkZEdyb3VwID0gIXNob3dBZGRHcm91cFwiXG4gICAgW2Rpc2FibGVkXT1cInNob3VsZERpc2FibGVBZGRHcm91cFwiXG4gID5cbiAgICA8aSBjOHlJY29uPVwicGx1cy1jaXJjbGVcIiBjbGFzcz1cIm0tci00XCI+PC9pPlxuICAgIDxzcGFuIHRyYW5zbGF0ZT5BZGQgZ3JvdXA8L3NwYW4+XG4gIDwvYnV0dG9uPlxuPC9jOHktYWN0aW9uLWJhci1pdGVtPlxuXG48Yzh5LWFjdGlvbi1iYXItaXRlbSBbcGxhY2VtZW50XT1cIidyaWdodCdcIiAqbmdJZj1cIiFpc1NtYXJ0R3JvdXAoKVwiPlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJidG4gYnRuLWxpbmtcIlxuICAgIHRpdGxlPVwie3sgJ0Fzc2lnbiBkZXZpY2VzJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgKGNsaWNrKT1cInNob3dBc3NpZ25EZXZpY2VzID0gIXNob3dBc3NpZ25EZXZpY2VzXCJcbiAgICBbZGlzYWJsZWRdPVwic2hvdWxkRGlzYWJsZUFzc2lnbkRldmljZXNcIlxuICA+XG4gICAgPGkgYzh5SWNvbj1cInBsdXMtY2lyY2xlXCIgY2xhc3M9XCJtLXItNFwiPjwvaT5cbiAgICA8c3BhbiB0cmFuc2xhdGU+QXNzaWduIGRldmljZXM8L3NwYW4+XG4gIDwvYnV0dG9uPlxuPC9jOHktYWN0aW9uLWJhci1pdGVtPlxuXG48ZGl2XG4gIGNsYXNzPVwiY2FyZCBjb250ZW50LWZ1bGxwYWdlXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdjYXJkLS1ncmlkIGdyaWRfX2NvbC0tOC00LS1tZCBncmlkX19yb3ctLWZpdC1hdXRvJzogc2hvdWxkU2hvd0Fzc2V0c1Byb3BlcnRpZXMsXG4gICAgJ2QtZmxleCBkLWNvbCc6ICFzaG91bGRTaG93QXNzZXRzUHJvcGVydGllc1xuICB9XCJcbj5cbiAgPGM4eS1ncm91cC1pbmZvXG4gICAgW2dyb3VwXT1cImdyb3VwXCJcbiAgICAoZ3JvdXBDaGFuZ2UpPVwiZ3JvdXBDaGFuZ2UoJGV2ZW50KVwiXG4gICAgY2xhc3M9XCJncmlkX19jb2wtLWZ1bGxzcGFuXCJcbiAgPjwvYzh5LWdyb3VwLWluZm8+XG4gIDxjOHktc3ViLWFzc2V0cy1ncmlkXG4gICAgW3JlZnJlc2hdPVwicmVmcmVzaFwiXG4gICAgW3BhcmVudC1ncm91cF09XCJncm91cFwiXG4gICAgW2ZpbHRlcmFibGVdPVwiZmlsdGVyYWJsZVwiXG4gICAgW2Rpc3BsYXlPcHRpb25zXT1cImRpc3BsYXlPcHRpb25zXCJcbiAgICBbY29sdW1uc0NvbmZpZ0tleV09XCInc3ViLWFzc2V0cy1ncmlkJ1wiXG4gICAgY2xhc3M9XCJkLWNvbnRlbnRzXCJcbiAgPjwvYzh5LXN1Yi1hc3NldHMtZ3JpZD5cbiAgPGRpdiBjbGFzcz1cImlubmVyLXNjcm9sbCBiZy1sZXZlbC0xXCIgKm5nSWY9XCJzaG91bGRTaG93QXNzZXRzUHJvcGVydGllc1wiPlxuICAgIDxjOHktYXNzZXQtcHJvcGVydGllc1xuICAgICAgW3Byb3BlcnRpZXNdPVwiY3VzdG9tUHJvcGVydGllc1wiXG4gICAgICBbYXNzZXRdPVwiZ3JvdXBcIlxuICAgICAgKGFzc2V0Q2hhbmdlKT1cImdyb3VwQ2hhbmdlKCRldmVudClcIlxuICAgICAgY2xhc3M9XCJkLWNvbnRlbnRzXCJcbiAgICA+PC9jOHktYXNzZXQtcHJvcGVydGllcz5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBbbmdDbGFzc109XCJ7IGRyYXdlck9wZW46IHNob3dBZGRHcm91cCB9XCI+XG4gIDxkaXYgY2xhc3M9XCJib3R0b20tZHJhd2VyXCI+XG4gICAgPGM4eS1hZGQtZ3JvdXBcbiAgICAgIFtjdXJyZW50R3JvdXBJZF09XCJjdXJyZW50R3JvdXBJZFwiXG4gICAgICBbcmVmcmVzaF09XCJyZWZyZXNoXCJcbiAgICAgIChvbkNhbmNlbCk9XCJzaG93QWRkR3JvdXAgPSBmYWxzZVwiXG4gICAgICAqbmdJZj1cInNob3dBZGRHcm91cFwiXG4gICAgPjwvYzh5LWFkZC1ncm91cD5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBbbmdDbGFzc109XCJ7IGRyYXdlck9wZW46IHNob3dBc3NpZ25EZXZpY2VzIH1cIj5cbiAgPGRpdiBjbGFzcz1cImJvdHRvbS1kcmF3ZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGQtY29sIG5vLWFsaWduLWl0ZW1zIGZpdC1oXCI+XG4gICAgICA8Yzh5LWFzc2lnbi1kZXZpY2VzXG4gICAgICAgIGNsYXNzPVwiZC1jb250ZW50c1wiXG4gICAgICAgIChvbkNhbmNlbCk9XCJzaG93QXNzaWduRGV2aWNlcyA9IGZhbHNlXCJcbiAgICAgICAgW3JlZnJlc2hdPVwicmVmcmVzaFwiXG4gICAgICAgIFtjdXJyZW50R3JvdXBJZF09XCJjdXJyZW50R3JvdXBJZFwiXG4gICAgICAgIChvblNob3dDaGlsZERldmljZXMpPVwic2hvd0Fzc2lnbkNoaWxkRGV2aWNlcyA9ICRldmVudFwiXG4gICAgICAgIChzZWxlY3RlZERldmljZSk9XCJzaG93Q2hpbGRyZW5Gb3JEZXZpY2UgPSAkZXZlbnRcIlxuICAgICAgICAqbmdJZj1cInNob3dBc3NpZ25EZXZpY2VzXCJcbiAgICAgID48L2M4eS1hc3NpZ24tZGV2aWNlcz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBbbmdDbGFzc109XCJ7IGRyYXdlck9wZW46IHNob3dBc3NpZ25DaGlsZERldmljZXMgfVwiPlxuICA8ZGl2IGNsYXNzPVwiYm90dG9tLWRyYXdlciBtLXQtNDBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGQtY29sIG5vLWFsaWduLWl0ZW1zIGZpdC1oXCI+XG4gICAgICA8Yzh5LWFzc2lnbi1jaGlsZC1kZXZpY2VzXG4gICAgICAgICpuZ0lmPVwic2hvd0Fzc2lnbkNoaWxkRGV2aWNlc1wiXG4gICAgICAgIGNsYXNzPVwiZC1jb250ZW50c1wiXG4gICAgICAgIChvbkNhbmNlbCk9XCJzaG93QXNzaWduQ2hpbGREZXZpY2VzID0gZmFsc2VcIlxuICAgICAgICBbcmVmcmVzaF09XCJyZWZyZXNoXCJcbiAgICAgICAgW2N1cnJlbnRHcm91cElkXT1cImN1cnJlbnRHcm91cElkXCJcbiAgICAgICAgW3BhcmVudERldmljZV09XCJzaG93Q2hpbGRyZW5Gb3JEZXZpY2VcIlxuICAgICAgPjwvYzh5LWFzc2lnbi1jaGlsZC1kZXZpY2VzPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLWFzc2V0cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zdWItYXNzZXRzL3N1Yi1hc3NldHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vc3ViLWFzc2V0cy9zdWItYXNzZXRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFakQsT0FBTyxFQUFFLG1CQUFtQixFQUFrQixXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBTXhELE1BQU0sT0FBTyxrQkFBa0I7SUFtQjdCLFlBQ1UsS0FBcUIsRUFDckIsZ0JBQWtDLEVBQ2xDLG1CQUF3QyxFQUN4QyxrQkFBK0I7UUFIL0IsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBYTtRQWxCekMsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN4QixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFFbkMsMkJBQXNCLEdBQVksS0FBSyxDQUFDO1FBQ3hDLFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoRCxlQUFVLEdBQVksSUFBSSxDQUFDO1FBQzNCLDBCQUFxQixHQUFZLEtBQUssQ0FBQztRQUN2QywrQkFBMEIsR0FBWSxLQUFLLENBQUM7UUFDNUMsK0JBQTBCLEdBQVksS0FBSyxDQUFDO1FBRTVDLHFCQUFnQixHQUFxQixFQUFFLENBQUM7UUFTdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFO1lBQ2xFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVE7UUFDWixJQUFJLENBQUMsY0FBYyxHQUFHO1lBQ3BCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsUUFBUSxFQUFFLEtBQUs7WUFDZixVQUFVLEVBQUUsSUFBSTtZQUNoQixNQUFNLEVBQUUsSUFBSTtTQUNiLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FDbEUsQ0FBQyxzQkFBc0IsRUFBRSx1QkFBdUIsQ0FBQyxFQUNqRCxJQUFJLENBQUMsS0FBSyxDQUNYLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQywwQkFBMEIsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzdGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBcUI7UUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7OytHQXBFVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixzRENYL0Isb2dHQW1HQTsyRkR4RmEsa0JBQWtCO2tCQUo5QixTQUFTOytCQUNFLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSU1hbmFnZWRPYmplY3QgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBDb250ZXh0Um91dGVTZXJ2aWNlLCBEaXNwbGF5T3B0aW9ucywgUGVybWlzc2lvbnMgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3ViQXNzZXRzU2VydmljZSB9IGZyb20gJy4vc3ViLWFzc2V0cy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LXN1Yi1hc3NldHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3ViLWFzc2V0cy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU3ViQXNzZXRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBncm91cDogSU1hbmFnZWRPYmplY3Q7XG4gIGN1cnJlbnRHcm91cElkOiBzdHJpbmc7XG4gIHNob3dDaGlsZHJlbkZvckRldmljZTogSU1hbmFnZWRPYmplY3Q7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHRvZ2dsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBzaG93QWRkR3JvdXA6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2hvd0Fzc2lnbkRldmljZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVxdWVzdEluUHJvZ3Jlc3M6IGJvb2xlYW47XG4gIHNob3dBc3NpZ25DaGlsZERldmljZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVmcmVzaDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIGZpbHRlcmFibGU6IGJvb2xlYW4gPSB0cnVlO1xuICBzaG91bGREaXNhYmxlQWRkR3JvdXA6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2hvdWxkRGlzYWJsZUFzc2lnbkRldmljZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2hvdWxkU2hvd0Fzc2V0c1Byb3BlcnRpZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZGlzcGxheU9wdGlvbnM6IERpc3BsYXlPcHRpb25zO1xuICBjdXN0b21Qcm9wZXJ0aWVzOiBJTWFuYWdlZE9iamVjdFtdID0gW107XG4gIHByaXZhdGUgZGF0YVN1YjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgc3ViQXNzZXRzU2VydmljZTogU3ViQXNzZXRzU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRSb3V0ZVNlcnZpY2U6IENvbnRleHRSb3V0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwZXJtaXNzaW9uc1NlcnZpY2U6IFBlcm1pc3Npb25zXG4gICkge1xuICAgIHRoaXMuZGF0YVN1YiA9IHRoaXMucm91dGUucGFyZW50LmRhdGEuc3Vic2NyaWJlKCh7IGNvbnRleHREYXRhIH0pID0+IHtcbiAgICAgIHRoaXMuaW5pdChjb250ZXh0RGF0YSk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRpc3BsYXlPcHRpb25zID0ge1xuICAgICAgc3RyaXBlZDogdHJ1ZSxcbiAgICAgIGJvcmRlcmVkOiBmYWxzZSxcbiAgICAgIGdyaWRIZWFkZXI6IHRydWUsXG4gICAgICBmaWx0ZXI6IHRydWVcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgaW5pdChjb250ZXh0RGF0YSkge1xuICAgIHRoaXMuZ3JvdXAgPSB7IC4uLmNvbnRleHREYXRhIH07XG4gICAgdGhpcy50aXRsZSA9IHRoaXMuZ3JvdXAubmFtZTtcbiAgICB0aGlzLmN1cnJlbnRHcm91cElkID0gdGhpcy5ncm91cC5pZDtcbiAgICB0aGlzLnNob3VsZERpc2FibGVBZGRHcm91cCA9ICEoYXdhaXQgdGhpcy5wZXJtaXNzaW9uc1NlcnZpY2UuY2FuRWRpdChcbiAgICAgIFsnUk9MRV9JTlZFTlRPUllfQURNSU4nLCAnUk9MRV9JTlZFTlRPUllfQ1JFQVRFJ10sXG4gICAgICB0aGlzLmdyb3VwXG4gICAgKSk7XG4gICAgdGhpcy5zaG91bGREaXNhYmxlQXNzaWduRGV2aWNlcyA9ICEoYXdhaXQgdGhpcy5zdWJBc3NldHNTZXJ2aWNlLmNhbkFzc2lnbkRldmljZSh0aGlzLmdyb3VwKSk7XG4gICAgdGhpcy5jdXN0b21Qcm9wZXJ0aWVzID0gYXdhaXQgdGhpcy5zdWJBc3NldHNTZXJ2aWNlLmdldEN1c3RvbVByb3BlcnRpZXModGhpcy5ncm91cCk7XG4gICAgdGhpcy5zaG91bGRTaG93QXNzZXRzUHJvcGVydGllcyA9IHRoaXMuY3VzdG9tUHJvcGVydGllcy5sZW5ndGggPiAwO1xuICB9XG5cbiAgZ3JvdXBDaGFuZ2UoZ3JvdXA6IElNYW5hZ2VkT2JqZWN0KTogdm9pZCB7XG4gICAgdGhpcy5ncm91cCA9IGdyb3VwO1xuICAgIHRoaXMudGl0bGUgPSBncm91cC5uYW1lO1xuICAgIHRoaXMuY29udGV4dFJvdXRlU2VydmljZS5zZXRDb250ZXh0KHRoaXMucm91dGUsIGdyb3VwKTtcbiAgICB0aGlzLmNvbnRleHRSb3V0ZVNlcnZpY2UucmVmcmVzaENvbnRleHQoKTtcbiAgICB0aGlzLnJlZnJlc2guZW1pdCgpO1xuICB9XG5cbiAgaXNTbWFydEdyb3VwKCkge1xuICAgIHJldHVybiB0aGlzLnN1YkFzc2V0c1NlcnZpY2UuaXNTbWFydEdyb3VwKHRoaXMuZ3JvdXApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGF0YVN1Yikge1xuICAgICAgdGhpcy5kYXRhU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8Yzh5LXRpdGxlPlxuICB7eyB0aXRsZSB9fVxuPC9jOHktdGl0bGU+XG5cbjxjOHktYWN0aW9uLWJhci1pdGVtIFtwbGFjZW1lbnRdPVwiJ3JpZ2h0J1wiICpuZ0lmPVwiIWlzU21hcnRHcm91cCgpXCI+XG4gIDxidXR0b25cbiAgICBjbGFzcz1cImJ0biBidG4tbGlua1wiXG4gICAgdGl0bGU9XCJ7eyAnQWRkIGdyb3VwJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgKGNsaWNrKT1cInNob3dBZGRHcm91cCA9ICFzaG93QWRkR3JvdXBcIlxuICAgIFtkaXNhYmxlZF09XCJzaG91bGREaXNhYmxlQWRkR3JvdXBcIlxuICA+XG4gICAgPGkgYzh5SWNvbj1cInBsdXMtY2lyY2xlXCIgY2xhc3M9XCJtLXItNFwiPjwvaT5cbiAgICA8c3BhbiB0cmFuc2xhdGU+QWRkIGdyb3VwPC9zcGFuPlxuICA8L2J1dHRvbj5cbjwvYzh5LWFjdGlvbi1iYXItaXRlbT5cblxuPGM4eS1hY3Rpb24tYmFyLWl0ZW0gW3BsYWNlbWVudF09XCIncmlnaHQnXCIgKm5nSWY9XCIhaXNTbWFydEdyb3VwKClcIj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rXCJcbiAgICB0aXRsZT1cInt7ICdBc3NpZ24gZGV2aWNlcycgfCB0cmFuc2xhdGUgfX1cIlxuICAgIChjbGljayk9XCJzaG93QXNzaWduRGV2aWNlcyA9ICFzaG93QXNzaWduRGV2aWNlc1wiXG4gICAgW2Rpc2FibGVkXT1cInNob3VsZERpc2FibGVBc3NpZ25EZXZpY2VzXCJcbiAgPlxuICAgIDxpIGM4eUljb249XCJwbHVzLWNpcmNsZVwiIGNsYXNzPVwibS1yLTRcIj48L2k+XG4gICAgPHNwYW4gdHJhbnNsYXRlPkFzc2lnbiBkZXZpY2VzPC9zcGFuPlxuICA8L2J1dHRvbj5cbjwvYzh5LWFjdGlvbi1iYXItaXRlbT5cblxuPGRpdlxuICBjbGFzcz1cImNhcmQgY29udGVudC1mdWxscGFnZVwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnY2FyZC0tZ3JpZCBncmlkX19jb2wtLTgtNC0tbWQgZ3JpZF9fcm93LS1maXQtYXV0byc6IHNob3VsZFNob3dBc3NldHNQcm9wZXJ0aWVzLFxuICAgICdkLWZsZXggZC1jb2wnOiAhc2hvdWxkU2hvd0Fzc2V0c1Byb3BlcnRpZXNcbiAgfVwiXG4+XG4gIDxjOHktZ3JvdXAtaW5mb1xuICAgIFtncm91cF09XCJncm91cFwiXG4gICAgKGdyb3VwQ2hhbmdlKT1cImdyb3VwQ2hhbmdlKCRldmVudClcIlxuICAgIGNsYXNzPVwiZ3JpZF9fY29sLS1mdWxsc3BhblwiXG4gID48L2M4eS1ncm91cC1pbmZvPlxuICA8Yzh5LXN1Yi1hc3NldHMtZ3JpZFxuICAgIFtyZWZyZXNoXT1cInJlZnJlc2hcIlxuICAgIFtwYXJlbnQtZ3JvdXBdPVwiZ3JvdXBcIlxuICAgIFtmaWx0ZXJhYmxlXT1cImZpbHRlcmFibGVcIlxuICAgIFtkaXNwbGF5T3B0aW9uc109XCJkaXNwbGF5T3B0aW9uc1wiXG4gICAgW2NvbHVtbnNDb25maWdLZXldPVwiJ3N1Yi1hc3NldHMtZ3JpZCdcIlxuICAgIGNsYXNzPVwiZC1jb250ZW50c1wiXG4gID48L2M4eS1zdWItYXNzZXRzLWdyaWQ+XG4gIDxkaXYgY2xhc3M9XCJpbm5lci1zY3JvbGwgYmctbGV2ZWwtMVwiICpuZ0lmPVwic2hvdWxkU2hvd0Fzc2V0c1Byb3BlcnRpZXNcIj5cbiAgICA8Yzh5LWFzc2V0LXByb3BlcnRpZXNcbiAgICAgIFtwcm9wZXJ0aWVzXT1cImN1c3RvbVByb3BlcnRpZXNcIlxuICAgICAgW2Fzc2V0XT1cImdyb3VwXCJcbiAgICAgIChhc3NldENoYW5nZSk9XCJncm91cENoYW5nZSgkZXZlbnQpXCJcbiAgICAgIGNsYXNzPVwiZC1jb250ZW50c1wiXG4gICAgPjwvYzh5LWFzc2V0LXByb3BlcnRpZXM+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgW25nQ2xhc3NdPVwieyBkcmF3ZXJPcGVuOiBzaG93QWRkR3JvdXAgfVwiPlxuICA8ZGl2IGNsYXNzPVwiYm90dG9tLWRyYXdlclwiPlxuICAgIDxjOHktYWRkLWdyb3VwXG4gICAgICBbY3VycmVudEdyb3VwSWRdPVwiY3VycmVudEdyb3VwSWRcIlxuICAgICAgW3JlZnJlc2hdPVwicmVmcmVzaFwiXG4gICAgICAob25DYW5jZWwpPVwic2hvd0FkZEdyb3VwID0gZmFsc2VcIlxuICAgICAgKm5nSWY9XCJzaG93QWRkR3JvdXBcIlxuICAgID48L2M4eS1hZGQtZ3JvdXA+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgW25nQ2xhc3NdPVwieyBkcmF3ZXJPcGVuOiBzaG93QXNzaWduRGV2aWNlcyB9XCI+XG4gIDxkaXYgY2xhc3M9XCJib3R0b20tZHJhd2VyXCI+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBkLWNvbCBuby1hbGlnbi1pdGVtcyBmaXQtaFwiPlxuICAgICAgPGM4eS1hc3NpZ24tZGV2aWNlc1xuICAgICAgICBjbGFzcz1cImQtY29udGVudHNcIlxuICAgICAgICAob25DYW5jZWwpPVwic2hvd0Fzc2lnbkRldmljZXMgPSBmYWxzZVwiXG4gICAgICAgIFtyZWZyZXNoXT1cInJlZnJlc2hcIlxuICAgICAgICBbY3VycmVudEdyb3VwSWRdPVwiY3VycmVudEdyb3VwSWRcIlxuICAgICAgICAob25TaG93Q2hpbGREZXZpY2VzKT1cInNob3dBc3NpZ25DaGlsZERldmljZXMgPSAkZXZlbnRcIlxuICAgICAgICAoc2VsZWN0ZWREZXZpY2UpPVwic2hvd0NoaWxkcmVuRm9yRGV2aWNlID0gJGV2ZW50XCJcbiAgICAgICAgKm5nSWY9XCJzaG93QXNzaWduRGV2aWNlc1wiXG4gICAgICA+PC9jOHktYXNzaWduLWRldmljZXM+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgW25nQ2xhc3NdPVwieyBkcmF3ZXJPcGVuOiBzaG93QXNzaWduQ2hpbGREZXZpY2VzIH1cIj5cbiAgPGRpdiBjbGFzcz1cImJvdHRvbS1kcmF3ZXIgbS10LTQwXCI+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBkLWNvbCBuby1hbGlnbi1pdGVtcyBmaXQtaFwiPlxuICAgICAgPGM4eS1hc3NpZ24tY2hpbGQtZGV2aWNlc1xuICAgICAgICAqbmdJZj1cInNob3dBc3NpZ25DaGlsZERldmljZXNcIlxuICAgICAgICBjbGFzcz1cImQtY29udGVudHNcIlxuICAgICAgICAob25DYW5jZWwpPVwic2hvd0Fzc2lnbkNoaWxkRGV2aWNlcyA9IGZhbHNlXCJcbiAgICAgICAgW3JlZnJlc2hdPVwicmVmcmVzaFwiXG4gICAgICAgIFtjdXJyZW50R3JvdXBJZF09XCJjdXJyZW50R3JvdXBJZFwiXG4gICAgICAgIFtwYXJlbnREZXZpY2VdPVwic2hvd0NoaWxkcmVuRm9yRGV2aWNlXCJcbiAgICAgID48L2M4eS1hc3NpZ24tY2hpbGQtZGV2aWNlcz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -11,8 +11,8 @@ import * as i3 from '@c8y/client';
11
11
  import { ApplicationAvailability, ApplicationType } from '@c8y/client';
12
12
  import { saveAs } from 'file-saver';
13
13
  import { groupBy, uniqBy, get, pick, kebabCase, cloneDeep } from 'lodash-es';
14
- import { BehaviorSubject, merge, combineLatest } from 'rxjs';
15
- import { debounceTime, take, distinctUntilKeyChanged, map, tap, filter, switchMap, shareReplay } from 'rxjs/operators';
14
+ import { BehaviorSubject, defer, merge, combineLatest } from 'rxjs';
15
+ import { map, shareReplay, debounceTime, take, distinctUntilKeyChanged, tap, filter, switchMap } from 'rxjs/operators';
16
16
  import { gt, coerce } from 'semver';
17
17
  import * as i2$1 from '@ngx-translate/core';
18
18
  import * as i3$1 from '@angular/common';
@@ -186,6 +186,7 @@ class EcosystemService {
186
186
  this.inventoryService = inventoryService;
187
187
  this.appDeleted = new EventEmitter();
188
188
  this.progress = new BehaviorSubject(null);
189
+ this.appsGroupedByContextPath$ = defer(() => this.getWebApplications()).pipe(map(webApps => groupBy(webApps, 'contextPath')), shareReplay({ bufferSize: 1, refCount: true }));
189
190
  }
190
191
  getUniqueAppConfig(srcApp, existingApps) {
191
192
  let app = {
@@ -261,7 +262,6 @@ class EcosystemService {
261
262
  return __awaiter(this, void 0, void 0, function* () {
262
263
  const apps = (yield this.getApplications(customFilter)).data;
263
264
  const webApps = apps.filter(app => this.isApplication(app));
264
- this.appsGroupedByContextPath = groupBy(webApps, 'contextPath');
265
265
  return webApps.sort((a, b) => a.name.localeCompare(b.name));
266
266
  });
267
267
  }
@@ -311,7 +311,7 @@ class EcosystemService {
311
311
  }
312
312
  canDeleteApp(app) {
313
313
  return __awaiter(this, void 0, void 0, function* () {
314
- return (this.isOwner(app) && ((yield this.hasSubscribedAppParent(app)) || !this.isCurrentApp(app)));
314
+ return (this.isOwner(app) && (!this.isCurrentApp(app) || (yield this.hasSubscribedAppParent(app))));
315
315
  });
316
316
  }
317
317
  isOwner(app) {
@@ -677,10 +677,8 @@ class EcosystemService {
677
677
  hasSubscribedAppParent(app) {
678
678
  var _a;
679
679
  return __awaiter(this, void 0, void 0, function* () {
680
- if (!this.appsGroupedByContextPath) {
681
- yield this.getWebApplications();
682
- }
683
- return app.contextPath && ((_a = this.appsGroupedByContextPath[app.contextPath]) === null || _a === void 0 ? void 0 : _a.length) === 2;
680
+ const appsGroupedByContextPath = yield this.appsGroupedByContextPath$.pipe(take(1)).toPromise();
681
+ return app.contextPath && ((_a = appsGroupedByContextPath[app.contextPath]) === null || _a === void 0 ? void 0 : _a.length) === 2;
684
682
  });
685
683
  }
686
684
  /**